设备预约过期或不能预约时间显示

pull/1/head
戴余标 3 years ago
parent 2bde71349b
commit a8e1050645

@ -1,5 +1,6 @@
import 'dart:ui'; import 'dart:ui';
import 'package:aku_new_community/ui/community/facility/facility_preorder_date_picker.dart';
import 'package:common_utils/common_utils.dart'; import 'package:common_utils/common_utils.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -34,14 +35,15 @@ class _FacilityTypeDetailCardState extends State<FacilityTypeDetailCard> {
void initState() { void initState() {
Future.delayed( Future.delayed(
Duration.zero, Duration.zero,
() => setState(() { () => setState(() {
_load(); _load();
})); }));
super.initState(); super.initState();
} }
_load() async { _load() async {
BaseModel model = BaseModel model =
await NetUtil().get(SAASAPI.facilities.allAppointmentPeriod, params: { await NetUtil().get(SAASAPI.facilities.allAppointmentPeriod, params: {
'facilitiesManageId': widget.model.id, 'facilitiesManageId': widget.model.id,
'todayDate': DateTime.now(), 'todayDate': DateTime.now(),
}); });
@ -49,10 +51,9 @@ class _FacilityTypeDetailCardState extends State<FacilityTypeDetailCard> {
datesNum = (model.data as List); datesNum = (model.data as List);
print(datesNum); print(datesNum);
} }
setState(() { setState(() {});
});
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialButton( return MaterialButton(
@ -136,7 +137,7 @@ class _FacilityTypeDetailCardState extends State<FacilityTypeDetailCard> {
), ),
), ),
child: CustomPaint( child: CustomPaint(
foregroundPainter: MyPainter(datesNum), foregroundPainter: MyPainter(datesNum, widget.model),
), ),
), ),
], ],
@ -156,23 +157,39 @@ class _FacilityTypeDetailCardState extends State<FacilityTypeDetailCard> {
class MyPainter extends CustomPainter { class MyPainter extends CustomPainter {
Path path = new Path(); Path path = new Path();
List? dates; List? dates;
FacilityTypeDetailModel? model;
DateTime? start;
DateTime? end;
MyPainter(List dates) { MyPainter(List dates, FacilityTypeDetailModel model) {
this.dates = dates; this.dates = dates;
this.model = model;
start = model.openStartDT!;
end = model.openEndDT!;
} }
@override @override
void paint(Canvas canvas, Size size) { void paint(Canvas canvas, Size size) {
for (int i = 0; i < 48; i++) { for (int i = 0; i < 48; i++) {
Paint _paint = Paint() Paint _paint = Paint()
..color = dates!.contains(i) ? kPrimaryColor : ktextThirdColor ..color = dates!.contains(i)
? kPrimaryColor
: i < getNum(start!) ||
i > getNum(end!) ||
i < getNum(DateTime.now())
? ktextThirdColor
: Colors.transparent
..strokeWidth = 40.h; ..strokeWidth = 40.h;
if (dates!.contains(i)) { if (dates!.contains(i) ||
i <= getNum(start!) ||
i >= getNum(end!) ||
i <= getNum(DateTime.now())) {
canvas.translate(0, 0); canvas.translate(0, 0);
canvas.drawLine( canvas.drawLine(
Offset(12.7.w * i - 1, 0), Offset(12.7.w * (i + 1), 0), _paint); Offset(12.7.w * i - 1, 0), Offset(12.7.w * (i + 1), 0), _paint);
} }
} }
print(getNum(start!));
} }
@override @override

Loading…
Cancel
Save