diff --git a/lib/main.dart b/lib/main.dart index 1fa9aa2..b952ef0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -26,19 +26,19 @@ void main() async { DevUtil.setDev(!isProduct); jpush.addEventHandler( // 接收通知回调方法。 - onReceiveNotification: (Map message) async { + onReceiveNotification: (Map? message) async { print("flutter onReceiveNotification: $message"); LoggerData.addData(message); - await JpushMessageParse(message).shot(); - final appProvider = Provider.of(Get.context, listen: false); + await JpushMessageParse(message!).shot(); + final appProvider = Provider.of(Get.context!, listen: false); appProvider.updateMessage(); }, // 点击通知回调方法。 - onOpenNotification: (Map message) async { + onOpenNotification: (Map? message) async { print("flutter onOpenNotification: $message"); }, // 接收自定义消息回调方法。 - onReceiveMessage: (Map message) async { + onReceiveMessage: (Map? message) async { print("flutter onReceiveMessage: $message"); }, ); @@ -48,7 +48,7 @@ void main() async { production: false, debug: true, // 设置是否打印 debug 日志 ); - String id = await JPush().getRegistrationID(); + String? id = await JPush().getRegistrationID(); print(id); LoggerData.addData(id); runApp(MyApp()); @@ -77,7 +77,7 @@ class MyApp extends StatelessWidget { FocusScopeNode currentFocus = FocusScope.of(context); if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) { - FocusManager.instance.primaryFocus.unfocus(); + FocusManager.instance.primaryFocus!.unfocus(); } }, child: ScreenUtilInit( diff --git a/lib/models/announce/announcement_detail_model.dart b/lib/models/announce/announcement_detail_model.dart index f6b86cd..2a96038 100644 --- a/lib/models/announce/announcement_detail_model.dart +++ b/lib/models/announce/announcement_detail_model.dart @@ -1,14 +1,14 @@ class AnnouncementDetailModel { - int id; - String title; - String content; - String fileDocUrl; - String fileDocName; - String releaseTime; - List imgUrls; + int? id; + String? title; + String? content; + String? fileDocUrl; + String? fileDocName; + String? releaseTime; + List? imgUrls; AnnouncementDetailModel( - {this.id, + {required this.id, this.title, this.content, this.fileDocUrl, diff --git a/lib/models/announce/announcement_list_model.dart b/lib/models/announce/announcement_list_model.dart index b503a96..f32f285 100644 --- a/lib/models/announce/announcement_list_model.dart +++ b/lib/models/announce/announcement_list_model.dart @@ -1,10 +1,10 @@ class AnnouncementListModel { - int id; - String title; - String releaseTime; - List imgUrls; + int? id; + String? title; + String? releaseTime; + List? imgUrls; - AnnouncementListModel({this.id, this.title, this.releaseTime, this.imgUrls}); + AnnouncementListModel({required this.id, this.title, this.releaseTime, this.imgUrls}); AnnouncementListModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/common/img_model.dart b/lib/models/common/img_model.dart index 6131ea1..a123dc4 100644 --- a/lib/models/common/img_model.dart +++ b/lib/models/common/img_model.dart @@ -1,13 +1,13 @@ class ImgModel { - String url; - String size; - int longs; - int paragraph; - int sort; + String? url; + String? size; + int? longs; + int? paragraph; + int? sort; ImgModel({this.url, this.size, this.longs, this.paragraph, this.sort}); - static String first(List models) { + static String? first(List? models) { if (models == null) return ''; if (models.isEmpty) return ''; return models.first.url; diff --git a/lib/models/manager/activity_detail_model.dart b/lib/models/manager/activity_detail_model.dart index dd87dd2..07ddbfc 100644 --- a/lib/models/manager/activity_detail_model.dart +++ b/lib/models/manager/activity_detail_model.dart @@ -5,29 +5,29 @@ import 'package:common_utils/common_utils.dart'; import 'package:aku_community_manager/models/common/img_model.dart'; class ActivityDetailModel { - int id; - String title; - String content; - String activityStartTime; - String activityEndTime; - String location; - String registrationEndTime; - List imgUrls; - ImgModel get firstImg { - if (imgUrls.isEmpty) + int? id; + String? title; + String? content; + String? activityStartTime; + String? activityEndTime; + String? location; + String? registrationEndTime; + List? imgUrls; + ImgModel? get firstImg { + if (imgUrls!.isEmpty) return null; else - return imgUrls.first; + return imgUrls!.first; } - DateTime get registrationEnd => DateUtil.getDateTime(registrationEndTime); + DateTime? get registrationEnd => DateUtil.getDateTime(registrationEndTime!); - DateTime get activityStart => DateUtil.getDateTime(activityStartTime); + DateTime? get activityStart => DateUtil.getDateTime(activityStartTime!); - DateTime get activityEnd => DateUtil.getDateTime(activityEndTime); + DateTime? get activityEnd => DateUtil.getDateTime(activityEndTime!); ActivityDetailModel( - {this.id, + {required this.id, this.title, this.content, this.activityStartTime, @@ -45,9 +45,9 @@ class ActivityDetailModel { location = json['location']; registrationEndTime = json['registrationEndTime']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } } @@ -62,7 +62,7 @@ class ActivityDetailModel { data['location'] = this.location; data['registrationEndTime'] = this.registrationEndTime; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } diff --git a/lib/models/manager/activity_item_model.dart b/lib/models/manager/activity_item_model.dart index 4528546..bc0f4f4 100644 --- a/lib/models/manager/activity_item_model.dart +++ b/lib/models/manager/activity_item_model.dart @@ -5,30 +5,30 @@ import 'package:common_utils/common_utils.dart'; import 'package:aku_community_manager/models/common/img_model.dart'; class ActivityItemModel { - int id; - String title; - String sponsorName; - String location; - String registrationStartTime; - String registrationEndTime; - String createDate; - List imgUrls; + int? id; + String? title; + String? sponsorName; + String? location; + String? registrationStartTime; + String? registrationEndTime; + String? createDate; + List? imgUrls; - ImgModel get firstImg { - if (imgUrls.isEmpty) + ImgModel? get firstImg { + if (imgUrls!.isEmpty) return null; else - return imgUrls.first; + return imgUrls!.first; } - DateTime get create => DateUtil.getDateTime(createDate); + DateTime? get create => DateUtil.getDateTime(createDate!); - DateTime get registrationStart => DateUtil.getDateTime(registrationStartTime); + DateTime? get registrationStart => DateUtil.getDateTime(registrationStartTime!); - DateTime get registrationEnd => DateUtil.getDateTime(registrationEndTime); + DateTime? get registrationEnd => DateUtil.getDateTime(registrationEndTime!); ActivityItemModel( - {this.id, + {required this.id, this.title, this.sponsorName, this.location, @@ -46,9 +46,9 @@ class ActivityItemModel { registrationEndTime = json['registrationEndTime']; createDate = json['createDate']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls =[]; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } } @@ -63,7 +63,7 @@ class ActivityItemModel { data['registrationEndTime'] = this.registrationEndTime; data['createDate'] = this.createDate; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } diff --git a/lib/models/manager/borrow/borrow_check_item_model.dart b/lib/models/manager/borrow/borrow_check_item_model.dart index 1b02c8d..5fd83ae 100644 --- a/lib/models/manager/borrow/borrow_check_item_model.dart +++ b/lib/models/manager/borrow/borrow_check_item_model.dart @@ -2,16 +2,16 @@ import 'package:aku_community_manager/models/common/img_model.dart'; class BorrowCheckItemModel { - int id; - int articleDetailId; - String articleName; - String code; - int status; - List imgUrls; - ImgModel get firstImg => imgUrls.isEmpty ? null : imgUrls.first; + int? id; + int? articleDetailId; + String? articleName; + String? code; + int? status; + List? imgUrls; + ImgModel? get firstImg => imgUrls!.isEmpty ? null : imgUrls!.first; BorrowCheckItemModel( - {this.id, + {required this.id, this.articleDetailId, this.articleName, this.code, @@ -25,9 +25,9 @@ class BorrowCheckItemModel { code = json['code']; status = json['status']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } else imgUrls = []; @@ -41,7 +41,7 @@ class BorrowCheckItemModel { data['code'] = this.code; data['status'] = this.status; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } diff --git a/lib/models/manager/borrow/borrow_detail_item_model.dart b/lib/models/manager/borrow/borrow_detail_item_model.dart index 6430764..81ad9fe 100644 --- a/lib/models/manager/borrow/borrow_detail_item_model.dart +++ b/lib/models/manager/borrow/borrow_detail_item_model.dart @@ -2,15 +2,15 @@ import 'package:aku_community_manager/models/common/img_model.dart'; class BorrowDetailItemModel { - int id; - String name; - String code; - int borrowStatus; - List imgUrls; - ImgModel get firstImg => imgUrls.isEmpty ? null : imgUrls.first; + int? id; + String? name; + String? code; + int? borrowStatus; + List? imgUrls; + ImgModel? get firstImg => imgUrls!.isEmpty ? null : imgUrls!.first; bool get borrowed => borrowStatus == 2; BorrowDetailItemModel( - {this.id, this.name, this.code, this.borrowStatus, this.imgUrls}); + {required this.id, this.name, this.code, this.borrowStatus, this.imgUrls}); BorrowDetailItemModel.fromJson(Map json) { id = json['id']; @@ -18,9 +18,9 @@ class BorrowDetailItemModel { code = json['code']; borrowStatus = json['borrowStatus']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } else imgUrls = []; @@ -33,7 +33,7 @@ class BorrowDetailItemModel { data['code'] = this.code; data['borrowStatus'] = this.borrowStatus; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } diff --git a/lib/models/manager/borrow/borrow_item_detail_model.dart b/lib/models/manager/borrow/borrow_item_detail_model.dart index 4472ca5..1923d6e 100644 --- a/lib/models/manager/borrow/borrow_item_detail_model.dart +++ b/lib/models/manager/borrow/borrow_item_detail_model.dart @@ -2,13 +2,13 @@ import 'package:aku_community_manager/models/common/img_model.dart'; class BorrowItemDetailModel { - int id; - String name; - String code; - int borrowStatus; - int status; - List imgUrls; - ImgModel get firstImg => imgUrls.isEmpty ? null : imgUrls.first; + int? id; + String? name; + String? code; + int? borrowStatus; + int? status; + List? imgUrls; + ImgModel? get firstImg => imgUrls!.isEmpty ? null : imgUrls!.first; bool get borrowed => borrowStatus == 2; String get statusValue { switch (status) { @@ -24,7 +24,7 @@ class BorrowItemDetailModel { } BorrowItemDetailModel( - {this.id, + {required this.id, this.name, this.code, this.borrowStatus, @@ -38,9 +38,9 @@ class BorrowItemDetailModel { borrowStatus = json['borrowStatus']; status = json['status']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } else imgUrls = []; @@ -54,7 +54,7 @@ class BorrowItemDetailModel { data['borrowStatus'] = this.borrowStatus; data['status'] = this.status; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } diff --git a/lib/models/manager/borrow/borrow_item_model.dart b/lib/models/manager/borrow/borrow_item_model.dart index 4e158f2..a3cea63 100644 --- a/lib/models/manager/borrow/borrow_item_model.dart +++ b/lib/models/manager/borrow/borrow_item_model.dart @@ -2,17 +2,17 @@ import 'package:aku_community_manager/models/common/img_model.dart'; class BorrowItemModel { - int id; - String name; - int borrowNum; - int remainingNum; - int quantity; - List imgUrls; + int? id; + String? name; + int? borrowNum; + int? remainingNum; + int? quantity; + List? imgUrls; - ImgModel get firstImg => imgUrls.isEmpty ? null : imgUrls.first; + ImgModel? get firstImg => imgUrls!.isEmpty ? null : imgUrls!.first; BorrowItemModel( - {this.id, + {required this.id, this.name, this.borrowNum, this.remainingNum, @@ -26,9 +26,9 @@ class BorrowItemModel { remainingNum = json['remainingNum']; quantity = json['quantity']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } else imgUrls = []; @@ -42,7 +42,7 @@ class BorrowItemModel { data['remainingNum'] = this.remainingNum; data['quantity'] = this.quantity; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } diff --git a/lib/models/manager/borrow/borrow_status_item_model.dart b/lib/models/manager/borrow/borrow_status_item_model.dart index 5a80e81..ef9b019 100644 --- a/lib/models/manager/borrow/borrow_status_item_model.dart +++ b/lib/models/manager/borrow/borrow_status_item_model.dart @@ -9,26 +9,26 @@ import 'package:aku_community_manager/models/common/img_model.dart'; import 'package:aku_community_manager/style/app_style.dart'; class BorrowStatusItemModel { - int id; - int articleDetailId; - String articleName; + int? id; + int? articleDetailId; + String? articleName; ///借取状态(1.出借中,2.已还,3.待检查) - int borrowStatus; + int? borrowStatus; ///物品状态(1.正常,2.损坏,3.丢失) - int status; - int borrowTime; - String beginDate; - String endDate; - String borrowName; - String borrowTel; - String createDate; - List imgUrls; - ImgModel get firstImg => imgUrls.isEmpty ? null : imgUrls.first; - DateTime get create => DateUtil.getDateTime(createDate); - DateTime get begin => DateUtil.getDateTime(beginDate); - DateTime get end => DateUtil.getDateTime(endDate); + int? status; + int? borrowTime; + String? beginDate; + String? endDate; + String? borrowName; + String? borrowTel; + String? createDate; + List? imgUrls; + ImgModel? get firstImg => imgUrls!.isEmpty ? null : imgUrls!.first; + DateTime? get create => DateUtil.getDateTime(createDate!); + DateTime? get begin => DateUtil.getDateTime(beginDate!); + DateTime? get end => DateUtil.getDateTime(endDate!); ///借取状态(1.出借中,2.已还,3.待检查) String get borrowStatusValue { @@ -69,7 +69,7 @@ class BorrowStatusItemModel { } BorrowStatusItemModel( - {this.id, + {required this.id, this.articleDetailId, this.articleName, this.borrowStatus, @@ -95,9 +95,9 @@ class BorrowStatusItemModel { borrowTel = json['borrowTel']; createDate = json['createDate']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } else imgUrls = []; @@ -117,7 +117,7 @@ class BorrowStatusItemModel { data['borrowTel'] = this.borrowTel; data['createDate'] = this.createDate; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } diff --git a/lib/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart b/lib/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart index 5fa6963..1f6bbd7 100644 --- a/lib/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart +++ b/lib/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart @@ -1,14 +1,14 @@ class BussinessAndFixModel { - int id; - int dispatchId; - String reportDetail; - String repairDate; - int status; - List imgUrls; - int type; + int? id; + int? dispatchId; + String? reportDetail; + String? repairDate; + int? status; + List? imgUrls; + int? type; BussinessAndFixModel( - {this.id, + {required this.id, this.dispatchId, this.reportDetail, this.repairDate, @@ -23,9 +23,9 @@ class BussinessAndFixModel { repairDate = json['repairDate']; status = json['status']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgUrls.fromJson(v)); + imgUrls!.add(new ImgUrls.fromJson(v)); }); } type = json['type']; @@ -39,7 +39,7 @@ class BussinessAndFixModel { data['repairDate'] = this.repairDate; data['status'] = this.status; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } data['type'] = this.type; return data; @@ -47,11 +47,11 @@ class BussinessAndFixModel { } class ImgUrls { - String url; - String size; - int longs; - int paragraph; - int sort; + String? url; + String? size; + int? longs; + int? paragraph; + int? sort; ImgUrls({this.url, this.size, this.longs, this.paragraph, this.sort}); diff --git a/lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart b/lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart index dddbced..877088b 100644 --- a/lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart +++ b/lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart @@ -1,7 +1,7 @@ class DispatchDetialModel { - String showName; - int showValue; - String remarks; + String? showName; + int? showValue; + String? remarks; DispatchDetialModel({this.showName, this.showValue, this.remarks}); diff --git a/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart b/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart index b240198..b3f6294 100644 --- a/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart +++ b/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart @@ -1,11 +1,11 @@ class DispatchReportModel { - int dispatchListId; - int workOrderTyoe; - int workOrderTypeDetail; - int workOrderTimeLimit; - int type; - int operato; - String remark; + int? dispatchListId; + int? workOrderTyoe; + int? workOrderTypeDetail; + int? workOrderTimeLimit; + int? type; + int? operato; + String? remark; DispatchReportModel.zero() { dispatchListId = -1; @@ -17,7 +17,7 @@ class DispatchReportModel { remark = ''; } DispatchReportModel( - {this.dispatchListId, + {required this.dispatchListId, this.operato, this.remark, this.type, diff --git a/lib/models/manager/bussiness_and_fix/fixed_detail_model.dart b/lib/models/manager/bussiness_and_fix/fixed_detail_model.dart index 53c56a9..a494ce0 100644 --- a/lib/models/manager/bussiness_and_fix/fixed_detail_model.dart +++ b/lib/models/manager/bussiness_and_fix/fixed_detail_model.dart @@ -1,11 +1,12 @@ + class FixedDetailModel { - HandlingSituation handlingSituation; - DispatchType dispatchType; - CostDetail costDetail; - RepairDetail repairDetail; - String evaluateInfo; - int type; - List processRecord; + HandlingSituation? handlingSituation; + DispatchType? dispatchType; + CostDetail? costDetail; + RepairDetail? repairDetail; + String? evaluateInfo; + int? type; + List? processRecord; FixedDetailModel( {this.handlingSituation, @@ -32,9 +33,9 @@ class FixedDetailModel { evaluateInfo = json['evaluateInfo']; type = json['type']; if (json['processRecord'] != null) { - processRecord = new List(); + processRecord = []; json['processRecord'].forEach((v) { - processRecord.add(new ProcessRecord.fromJson(v)); + processRecord!.add(new ProcessRecord.fromJson(v)); }); } } @@ -42,32 +43,32 @@ class FixedDetailModel { Map toJson() { final Map data = new Map(); if (this.handlingSituation != null) { - data['handlingSituation'] = this.handlingSituation.toJson(); + data['handlingSituation'] = this.handlingSituation!.toJson(); } if (this.dispatchType != null) { - data['dispatchType'] = this.dispatchType.toJson(); + data['dispatchType'] = this.dispatchType!.toJson(); } if (this.costDetail != null) { - data['costDetail'] = this.costDetail.toJson(); + data['costDetail'] = this.costDetail!.toJson(); } if (this.repairDetail != null) { - data['repairDetail'] = this.repairDetail.toJson(); + data['repairDetail'] = this.repairDetail!.toJson(); } data['evaluateInfo'] = this.evaluateInfo; data['type'] = this.type; if (this.processRecord != null) { data['processRecord'] = - this.processRecord.map((v) => v.toJson()).toList(); + this.processRecord!.map((v) => v.toJson()).toList(); } return data; } } class HandlingSituation { - int id; - String detail; - String materialList; - List imgUrls; + int? id; + String? detail; + String? materialList; + List? imgUrls; HandlingSituation({this.id, this.detail, this.materialList, this.imgUrls}); @@ -76,9 +77,9 @@ class HandlingSituation { detail = json['detail']; materialList = json['materialList']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgUrls.fromJson(v)); + imgUrls!.add(new ImgUrls.fromJson(v)); }); } } @@ -89,18 +90,18 @@ class HandlingSituation { data['detail'] = this.detail; data['materialList'] = this.materialList; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } } class ImgUrls { - String url; - String size; - int longs; - int paragraph; - int sort; + String? url; + String? size; + int? longs; + int? paragraph; + int? sort; ImgUrls({this.url, this.size, this.longs, this.paragraph, this.sort}); @@ -124,9 +125,9 @@ class ImgUrls { } class DispatchType { - int dispatchType; - String workOrderLimitName; - String workOrderSubclassName; + int? dispatchType; + String? workOrderLimitName; + String? workOrderSubclassName; DispatchType( {this.dispatchType, this.workOrderLimitName, this.workOrderSubclassName}); @@ -147,9 +148,9 @@ class DispatchType { } class CostDetail { - int laborCost; - int materialCost; - int totalCost; + int? laborCost; + int? materialCost; + int? totalCost; CostDetail({this.laborCost, this.materialCost, this.totalCost}); @@ -169,13 +170,13 @@ class CostDetail { } class RepairDetail { - int id; - int dispatchId; - String name; - String tel; - int type; - int status; - List imgUrls; + int? id; + int? dispatchId; + String? name; + String? tel; + int? type; + int? status; + List? imgUrls; RepairDetail( {this.id, @@ -194,9 +195,9 @@ class RepairDetail { type = json['type']; status = json['status']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgUrls.fromJson(v)); + imgUrls!.add(new ImgUrls.fromJson(v)); }); } } @@ -210,16 +211,16 @@ class RepairDetail { data['type'] = this.type; data['status'] = this.status; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } return data; } } class ProcessRecord { - int id; - int operationType; - String operationDate; + int? id; + int? operationType; + String? operationDate; ProcessRecord({this.id, this.operationType, this.operationDate}); diff --git a/lib/models/manager/bussiness_and_fix/work_order_type_model.dart b/lib/models/manager/bussiness_and_fix/work_order_type_model.dart index 88c3430..fa39032 100644 --- a/lib/models/manager/bussiness_and_fix/work_order_type_model.dart +++ b/lib/models/manager/bussiness_and_fix/work_order_type_model.dart @@ -1,8 +1,8 @@ class WorkOrderTypeModel { - int id; - String name; + int? id; + String? name; - WorkOrderTypeModel({this.id, this.name}); + WorkOrderTypeModel({required this.id, this.name}); WorkOrderTypeModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/manager/bussiness_and_fix/work_time_limit_model.dart b/lib/models/manager/bussiness_and_fix/work_time_limit_model.dart index 4fe41fb..c3702d0 100644 --- a/lib/models/manager/bussiness_and_fix/work_time_limit_model.dart +++ b/lib/models/manager/bussiness_and_fix/work_time_limit_model.dart @@ -1,8 +1,8 @@ class WorkTimeLimitModel { - int id; - String name; + int? id; + String? name; - WorkTimeLimitModel({this.id, this.name}); + WorkTimeLimitModel({required this.id, this.name}); WorkTimeLimitModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/manager/clock_in_out/clock_apply_record_list_model.dart b/lib/models/manager/clock_in_out/clock_apply_record_list_model.dart index 162e501..b83cdac 100644 --- a/lib/models/manager/clock_in_out/clock_apply_record_list_model.dart +++ b/lib/models/manager/clock_in_out/clock_apply_record_list_model.dart @@ -3,20 +3,20 @@ import 'package:common_utils/common_utils.dart'; import 'package:flutter/material.dart'; class ClockApplyRecordListModel { - int id; - String reason; - int status; - int type; - String startDate; - String endDate; - String createName; - String createTel; - String createDate; - String reviewerName; - String reviewerDate; + int? id; + String? reason; + int? status; + int? type; + String? startDate; + String? endDate; + String? createName; + String? createTel; + String? createDate; + String? reviewerName; + String? reviewerDate; ClockApplyRecordListModel( - {this.id, + {required this.id, this.reason, this.status, this.type, @@ -96,9 +96,9 @@ class ClockApplyRecordListModel { } String get startTimeString => - DateUtil.formatDateStr(this.startDate, format: 'yyyy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.startDate!, format: 'yyyy-MM-dd HH:mm'); String get endTimeString => - DateUtil.formatDateStr(this.endDate, format: 'yyyy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.endDate!, format: 'yyyy-MM-dd HH:mm'); String get applyTimeString => - DateUtil.formatDateStr(this.createDate, format: 'yyyy-MM-dd HH:mm:ss'); + DateUtil.formatDateStr(this.createDate!, format: 'yyyy-MM-dd HH:mm:ss'); } diff --git a/lib/models/manager/clock_in_out/clock_record_list_model.dart b/lib/models/manager/clock_in_out/clock_record_list_model.dart index fee1f84..a5cd6e4 100644 --- a/lib/models/manager/clock_in_out/clock_record_list_model.dart +++ b/lib/models/manager/clock_in_out/clock_record_list_model.dart @@ -2,17 +2,17 @@ import 'package:aku_community_manager/utils/weekdays_to_chinese.dart'; import 'package:common_utils/common_utils.dart'; class ClockRecordListModel { - int id; - String startClockDate; - String endClockDate; - String cardReplacementDate; - String operatorName; - String clockName; - String clockTel; - String createDate; + int? id; + String? startClockDate; + String? endClockDate; + String? cardReplacementDate; + String? operatorName; + String? clockName; + String? clockTel; + String? createDate; ClockRecordListModel( - {this.id, + {required this.id, this.startClockDate, this.endClockDate, this.cardReplacementDate, @@ -54,5 +54,5 @@ class ClockRecordListModel { String get clockDateString => DateUtil.formatDateStr(this.createDate??'', format: 'yyyy.MM.dd'); String get weekDay => WeekDaysToChinese.fromInt( - DateUtil.getDateTime(this.createDate??'')?.weekday); + DateUtil.getDateTime(this.createDate??'')?.weekday??0); } diff --git a/lib/models/manager/clock_in_out/today_clock_record_model.dart b/lib/models/manager/clock_in_out/today_clock_record_model.dart index 887cf14..4adba7c 100644 --- a/lib/models/manager/clock_in_out/today_clock_record_model.dart +++ b/lib/models/manager/clock_in_out/today_clock_record_model.dart @@ -1,17 +1,17 @@ import 'package:common_utils/common_utils.dart'; class TodayClockRecordModel { - int id; - String startClockDate; - String endClockDate; - String cardReplacementDate; - String operatorName; - String clockName; - String clockTel; - String createDate; + int? id; + String? startClockDate; + String? endClockDate; + String? cardReplacementDate; + String? operatorName; + String? clockName; + String? clockTel; + String? createDate; TodayClockRecordModel( - {this.id, + {required this.id, this.startClockDate, this.endClockDate, this.cardReplacementDate, @@ -44,6 +44,6 @@ class TodayClockRecordModel { return data; } - DateTime get clockInTime => DateUtil.getDateTime(this.startClockDate); - DateTime get clockOutTime => DateUtil.getDateTime(this.endClockDate); + DateTime? get clockInTime => DateUtil.getDateTime(this.startClockDate!); + DateTime? get clockOutTime => DateUtil.getDateTime(this.endClockDate!); } diff --git a/lib/models/manager/decoration/decoration_detail_model.dart b/lib/models/manager/decoration/decoration_detail_model.dart index be85257..87fd193 100644 --- a/lib/models/manager/decoration/decoration_detail_model.dart +++ b/lib/models/manager/decoration/decoration_detail_model.dart @@ -1,8 +1,8 @@ class DecorationDetailModel { - TrackInspectionFBIVo trackInspectionFBIVo; - DecorationFBIVo decorationFBIVo; - List checksContentVos; - List trackRecordVos; + TrackInspectionFBIVo? trackInspectionFBIVo; + DecorationFBIVo? decorationFBIVo; + List? checksContentVos; + List? trackRecordVos; DecorationDetailModel( {this.trackInspectionFBIVo, @@ -18,15 +18,15 @@ class DecorationDetailModel { ? new DecorationFBIVo.fromJson(json['decorationFBIVo']) : null; if (json['checksContentVos'] != null) { - checksContentVos = new List(); + checksContentVos = []; json['checksContentVos'].forEach((v) { - checksContentVos.add(new ChecksContentVos.fromJson(v)); + checksContentVos!.add(new ChecksContentVos.fromJson(v)); }); } if (json['trackRecordVos'] != null) { - trackRecordVos = new List(); + trackRecordVos = []; json['trackRecordVos'].forEach((v) { - trackRecordVos.add(new TrackRecordVos.fromJson(v)); + trackRecordVos!.add(new TrackRecordVos.fromJson(v)); }); } } @@ -34,29 +34,29 @@ class DecorationDetailModel { Map toJson() { final Map data = new Map(); if (this.trackInspectionFBIVo != null) { - data['trackInspectionFBIVo'] = this.trackInspectionFBIVo.toJson(); + data['trackInspectionFBIVo'] = this.trackInspectionFBIVo!.toJson(); } if (this.decorationFBIVo != null) { - data['decorationFBIVo'] = this.decorationFBIVo.toJson(); + data['decorationFBIVo'] = this.decorationFBIVo!.toJson(); } if (this.checksContentVos != null) { data['checksContentVos'] = - this.checksContentVos.map((v) => v.toJson()).toList(); + this.checksContentVos!.map((v) => v.toJson()).toList(); } if (this.trackRecordVos != null) { data['trackRecordVos'] = - this.trackRecordVos.map((v) => v.toJson()).toList(); + this.trackRecordVos!.map((v) => v.toJson()).toList(); } return data; } } class TrackInspectionFBIVo { - int id; - int trackId; - String trackName; - String startDate; - int inspectionCycle; + int? id; + int? trackId; + String? trackName; + String? startDate; + int? inspectionCycle; TrackInspectionFBIVo( {this.id, @@ -85,16 +85,16 @@ class TrackInspectionFBIVo { } class DecorationFBIVo { - int id; - String roomName; - String residentName; - String residentTel; - String constructionUnit; - String director; - String directorTel; - String actualBegin; - String expectedEnd; - int tracker; + int? id; + String? roomName; + String? residentName; + String? residentTel; + String? constructionUnit; + String? director; + String? directorTel; + String? actualBegin; + String? expectedEnd; + int? tracker; DecorationFBIVo( {this.id, @@ -138,8 +138,8 @@ class DecorationFBIVo { } class ChecksContentVos { - int id; - String name; + int? id; + String? name; ChecksContentVos({this.id, this.name}); @@ -157,12 +157,12 @@ class ChecksContentVos { } class TrackRecordVos { - int id; - String trackDate; - int type; - String description; - int result; - List recordDetailVoList; + int? id; + String? trackDate; + int? type; + String? description; + int? result; + List? recordDetailVoList; TrackRecordVos( {this.id, @@ -202,9 +202,9 @@ class TrackRecordVos { description = json['description']; result = json['result']; if (json['recordDetailVoList'] != null) { - recordDetailVoList = new List(); + recordDetailVoList = []; json['recordDetailVoList'].forEach((v) { - recordDetailVoList.add(new RecordDetailVoList.fromJson(v)); + recordDetailVoList!.add(new RecordDetailVoList.fromJson(v)); }); } } @@ -218,16 +218,16 @@ class TrackRecordVos { data['result'] = this.result; if (this.recordDetailVoList != null) { data['recordDetailVoList'] = - this.recordDetailVoList.map((v) => v.toJson()).toList(); + this.recordDetailVoList!.map((v) => v.toJson()).toList(); } return data; } } class RecordDetailVoList { - int id; - String checksContent; - int isQualified; + int? id; + String? checksContent; + int? isQualified; RecordDetailVoList({this.id, this.checksContent, this.isQualified}); @@ -255,5 +255,4 @@ class RecordDetailVoList { return '未知'; } } - } diff --git a/lib/models/manager/decoration/decoration_list_model.dart b/lib/models/manager/decoration/decoration_list_model.dart index 0ac0118..8e02005 100644 --- a/lib/models/manager/decoration/decoration_list_model.dart +++ b/lib/models/manager/decoration/decoration_list_model.dart @@ -1,14 +1,14 @@ class DecorationListModel { - int id; - String roomName; - String constructionUnit; - int operationStatus; - int status; - int tracker; - String applicationDate; + int? id; + String? roomName; + String? constructionUnit; + int? operationStatus; + int? status; + int? tracker; + String? applicationDate; DecorationListModel( - {this.id, + {required this.id, this.roomName, this.constructionUnit, this.operationStatus, diff --git a/lib/models/manager/facilities/facilities_check_list_model.dart b/lib/models/manager/facilities/facilities_check_list_model.dart index 3de2006..e61f8bd 100644 --- a/lib/models/manager/facilities/facilities_check_list_model.dart +++ b/lib/models/manager/facilities/facilities_check_list_model.dart @@ -1,20 +1,20 @@ import 'package:aku_community_manager/models/common/img_model.dart'; class FacilitiesCheckListModel { - int id; - String code; - String facilitiesName; - String facilitiesAddress; - int status; - String beginDate; - String endDate; - int situation; - String detail; - String checkDate; - List imgList; + int? id; + String? code; + String? facilitiesName; + String? facilitiesAddress; + int? status; + String? beginDate; + String? endDate; + int? situation; + String? detail; + String? checkDate; + List? imgList; FacilitiesCheckListModel( - {this.id, + {required this.id, this.code, this.facilitiesName, this.facilitiesAddress, @@ -49,9 +49,9 @@ class FacilitiesCheckListModel { detail = json['detail']; checkDate = json['checkDate']; if (json['imgList'] != null) { - imgList = new List(); + imgList = []; json['imgList'].forEach((v) { - imgList.add(new ImgModel.fromJson(v)); + imgList!.add(new ImgModel.fromJson(v)); }); } else imgList = []; diff --git a/lib/models/manager/fixer_item_model.dart b/lib/models/manager/fixer_item_model.dart index 3d4eae1..2e47295 100644 --- a/lib/models/manager/fixer_item_model.dart +++ b/lib/models/manager/fixer_item_model.dart @@ -1,17 +1,17 @@ class FixerItemModel { - int id; - String name; - List repairmanVos; + int? id; + String? name; + List? repairmanVos; - FixerItemModel({this.id, this.name, this.repairmanVos}); + FixerItemModel({required this.id, this.name, this.repairmanVos}); FixerItemModel.fromJson(Map json) { id = json['id']; name = json['name']; if (json['repairmanVos'] != null) { - repairmanVos = new List(); + repairmanVos = []; json['repairmanVos'].forEach((v) { - repairmanVos.add(new RepairmanVos.fromJson(v)); + repairmanVos!.add(new RepairmanVos.fromJson(v)); }); } else repairmanVos = []; @@ -22,16 +22,16 @@ class FixerItemModel { data['id'] = this.id; data['name'] = this.name; if (this.repairmanVos != null) { - data['repairmanVos'] = this.repairmanVos.map((v) => v.toJson()).toList(); + data['repairmanVos'] = this.repairmanVos!.map((v) => v.toJson()).toList(); } return data; } } class RepairmanVos { - int id; - String name; - String tel; + int? id; + String? name; + String? tel; RepairmanVos({this.id, this.name, this.tel}); diff --git a/lib/models/manager/goods_out/goods_out_detail_model.dart b/lib/models/manager/goods_out/goods_out_detail_model.dart index 18d5d74..6ab5fa2 100644 --- a/lib/models/manager/goods_out/goods_out_detail_model.dart +++ b/lib/models/manager/goods_out/goods_out_detail_model.dart @@ -22,26 +22,26 @@ import 'package:aku_community_manager/models/common/img_model.dart'; // * export 出口(1.东门,2.南门,3.西门,4.北门)【status=2时显示】 // * remarks 备注(不放行理由,驳回申请时使用)【status=3时显示】 class GoodsOutDetailModel { - int id; + int? id; ///status 状态(1.待出门,2.已出门,3.驳回申请) - int status; - String roomName; - String applicantName; + int? status; + String? roomName; + String? applicantName; ///identity 身份(1业主,2亲属,3租客) - int identity; - String applicantTel; - String expectedTime; - String articleOutName; - int weight; + int? identity; + String? applicantTel; + String? expectedTime; + String? articleOutName; + int? weight; ///approach 搬运方式(1.自己搬运,2.搬家公司) - int approach; - List imgUrls; - String reviewDate; - int export; - String remarks; + int? approach; + List? imgUrls; + String? reviewDate; + int? export; + String? remarks; String get exportValue { switch (export) { @@ -58,8 +58,8 @@ class GoodsOutDetailModel { } } - DateTime get review => DateUtil.getDateTime(reviewDate); - DateTime get expected => DateUtil.getDateTime(expectedTime); + DateTime? get review => DateUtil.getDateTime(reviewDate!); + DateTime? get expected => DateUtil.getDateTime(expectedTime!); ///approach 搬运方式(1.自己搬运,2.搬家公司) String get approachValue { @@ -125,7 +125,7 @@ class GoodsOutDetailModel { } GoodsOutDetailModel( - {this.id, + {required this.id, this.status, this.roomName, this.applicantName, @@ -152,9 +152,9 @@ class GoodsOutDetailModel { weight = json['weight']; approach = json['approach']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } else imgUrls = []; @@ -176,7 +176,7 @@ class GoodsOutDetailModel { data['weight'] = this.weight; data['approach'] = this.approach; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } data['reviewDate'] = this.reviewDate; data['export'] = this.export; diff --git a/lib/models/manager/goods_out/goods_out_item_model.dart b/lib/models/manager/goods_out/goods_out_item_model.dart index 8fdcad2..be46138 100644 --- a/lib/models/manager/goods_out/goods_out_item_model.dart +++ b/lib/models/manager/goods_out/goods_out_item_model.dart @@ -12,19 +12,19 @@ import 'package:common_utils/common_utils.dart'; /// * articleOutName 出户物品 /// * expectedTime 预计出户时间 class GoodsOutItemModel { - int id; + int? id; ///状态(1.待出门,2.已出门,3.驳回申请) - int status; - String roomName; - String applicantName; + int? status; + String? roomName; + String? applicantName; /// 身份(1业主,2亲属,3租客) - int identity; - String articleOutName; - String expectedTime; + int? identity; + String? articleOutName; + String? expectedTime; - DateTime get expected => DateUtil.getDateTime(expectedTime); + DateTime? get expected => DateUtil.getDateTime(expectedTime!); ///状态(1.待出门,2.已出门,3.驳回申请) String get statusValue { @@ -64,7 +64,7 @@ class GoodsOutItemModel { } GoodsOutItemModel( - {this.id, + {required this.id, this.status, this.roomName, this.applicantName, diff --git a/lib/models/manager/green_manage/green_manage_list_model.dart b/lib/models/manager/green_manage/green_manage_list_model.dart index 7efbdb1..a428056 100644 --- a/lib/models/manager/green_manage/green_manage_list_model.dart +++ b/lib/models/manager/green_manage/green_manage_list_model.dart @@ -2,17 +2,17 @@ import 'package:common_utils/common_utils.dart'; import 'package:flutter/material.dart'; class GreenManageListModel { - int id; - String greenAreaName; - String content; - String directorName; - int status; - String completeDate; - String endDate; - String createDate; + int? id; + String? greenAreaName; + String? content; + String? directorName; + int? status; + String? completeDate; + String? endDate; + String? createDate; GreenManageListModel( - {this.id, + {required this.id, this.greenAreaName, this.content, this.directorName, @@ -58,7 +58,7 @@ class GreenManageListModel { } } - Color get statusColor { + Color? get statusColor { switch (this.status) { case 1: return Color(0xFFFF8200); @@ -72,11 +72,11 @@ class GreenManageListModel { } String get createDateString => - DateUtil.formatDateStr(this.createDate, format: 'yy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.createDate!, format: 'yy-MM-dd HH:mm'); String get endDateString => - DateUtil.formatDateStr(this.endDate, format: 'yy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.endDate!, format: 'yy-MM-dd HH:mm'); String get completeDateString => - DateUtil.formatDateStr(this.completeDate, format: 'yy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.completeDate!, format: 'yy-MM-dd HH:mm'); } diff --git a/lib/models/manager/house_keeping/house_keeping_building_model.dart b/lib/models/manager/house_keeping/house_keeping_building_model.dart index 7636779..d61545e 100644 --- a/lib/models/manager/house_keeping/house_keeping_building_model.dart +++ b/lib/models/manager/house_keeping/house_keeping_building_model.dart @@ -1,6 +1,6 @@ class HouseKeepingBuildingModel { - int value; - String label; + int? value; + String? label; HouseKeepingBuildingModel({this.value, this.label}); diff --git a/lib/models/manager/house_keeping/house_keeping_list_model.dart b/lib/models/manager/house_keeping/house_keeping_list_model.dart index a3da86a..d74260d 100644 --- a/lib/models/manager/house_keeping/house_keeping_list_model.dart +++ b/lib/models/manager/house_keeping/house_keeping_list_model.dart @@ -1,15 +1,15 @@ class HouseKeepingListModel { - int id; - String roomName; - int num; - String leaderName; - String leaderTel; - String content; - String createName; - String createDate; + int? id; + String? roomName; + int? num; + String? leaderName; + String? leaderTel; + String? content; + String? createName; + String? createDate; HouseKeepingListModel( - {this.id, + {required this.id, this.roomName, this.num, this.leaderName, diff --git a/lib/models/manager/hygience_manage/heygience_list_model.dart b/lib/models/manager/hygience_manage/heygience_list_model.dart index 9f8c906..fa8ef77 100644 --- a/lib/models/manager/hygience_manage/heygience_list_model.dart +++ b/lib/models/manager/hygience_manage/heygience_list_model.dart @@ -1,17 +1,17 @@ import 'package:common_utils/common_utils.dart'; class HygienceListModel { - int id; - String hygieneAreaName; - String content; - String directorName; - int status; - String completeDate; - String endDate; - String createDate; + int? id; + String? hygieneAreaName; + String? content; + String? directorName; + int? status; + String? completeDate; + String? endDate; + String? createDate; HygienceListModel( - {this.id, + {required this.id, this.hygieneAreaName, this.content, this.directorName, @@ -44,11 +44,11 @@ class HygienceListModel { return data; } String get createDateString => - DateUtil.formatDateStr(this.createDate, format: 'yy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.createDate!, format: 'yy-MM-dd HH:mm'); String get endDateString => - DateUtil.formatDateStr(this.endDate, format: 'yy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.endDate!, format: 'yy-MM-dd HH:mm'); String get completeDateString => - DateUtil.formatDateStr(this.completeDate, format: 'yy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.completeDate!, format: 'yy-MM-dd HH:mm'); } diff --git a/lib/models/manager/inspection/inspection_check_detail_model.dart b/lib/models/manager/inspection/inspection_check_detail_model.dart index 8f9ed31..36b003d 100644 --- a/lib/models/manager/inspection/inspection_check_detail_model.dart +++ b/lib/models/manager/inspection/inspection_check_detail_model.dart @@ -2,18 +2,18 @@ import 'package:aku_community_manager/models/common/img_model.dart'; class InspectionCheckDetialModel { - int id; - int executeId; - String code; - String name; - int type; - String completeDate; - List checkFBIVoList; - List faceImg; - List spaceImg; + int? id; + int? executeId; + String? code; + String? name; + int? type; + String? completeDate; + List? checkFBIVoList; + List? faceImg; + List? spaceImg; InspectionCheckDetialModel( - {this.id, + {required this.id, this.executeId, this.code, this.name, @@ -31,21 +31,21 @@ class InspectionCheckDetialModel { type = json['type']; completeDate = json['completeDate']; if (json['checkFBIVoList'] != null) { - checkFBIVoList = new List(); + checkFBIVoList = []; json['checkFBIVoList'].forEach((v) { - checkFBIVoList.add(new CheckFBIVoList.fromJson(v)); + checkFBIVoList!.add(new CheckFBIVoList.fromJson(v)); }); } if (json['faceImg'] != null) { - faceImg = new List(); + faceImg = []; json['faceImg'].forEach((v) { - faceImg.add(new ImgModel.fromJson(v)); + faceImg!.add(new ImgModel.fromJson(v)); }); } if (json['spaceImg'] != null) { - spaceImg = new List(); + spaceImg = []; json['spaceImg'].forEach((v) { - spaceImg.add(new ImgModel.fromJson(v)); + spaceImg!.add(new ImgModel.fromJson(v)); }); } } @@ -60,22 +60,22 @@ class InspectionCheckDetialModel { data['completeDate'] = this.completeDate; if (this.checkFBIVoList != null) { data['checkFBIVoList'] = - this.checkFBIVoList.map((v) => v.toJson()).toList(); + this.checkFBIVoList!.map((v) => v.toJson()).toList(); } if (this.faceImg != null) { - data['faceImg'] = this.faceImg.map((v) => v.toJson()).toList(); + data['faceImg'] = this.faceImg!.map((v) => v.toJson()).toList(); } if (this.spaceImg != null) { - data['spaceImg'] = this.spaceImg.map((v) => v.toJson()).toList(); + data['spaceImg'] = this.spaceImg!.map((v) => v.toJson()).toList(); } return data; } - String get inspectionPattern { + String get inspectionPattern { switch (this.type) { case 1: return '巡检模式1'; - break; + default: return '未知'; } @@ -83,10 +83,10 @@ class InspectionCheckDetialModel { } class CheckFBIVoList { - int id; - String name; - int status; - String remakes; + int? id; + String? name; + int? status; + String? remakes; CheckFBIVoList({this.id, this.name, this.status, this.remakes}); @@ -108,11 +108,11 @@ class CheckFBIVoList { } class FaceImg { - String url; - int size; - int longs; - int paragraph; - int sort; + String? url; + int? size; + int? longs; + int? paragraph; + int? sort; FaceImg({this.url, this.size, this.longs, this.paragraph, this.sort}); @@ -133,6 +133,4 @@ class FaceImg { data['sort'] = this.sort; return data; } - - } diff --git a/lib/models/manager/inspection/inspection_detail_model.dart b/lib/models/manager/inspection/inspection_detail_model.dart index d9ea66b..e8f86b0 100644 --- a/lib/models/manager/inspection/inspection_detail_model.dart +++ b/lib/models/manager/inspection/inspection_detail_model.dart @@ -1,17 +1,17 @@ class InspectionDetailModel { - int id; - int inspectionPlanId; - String code; - String name; - String beginDate; - String endDate; - String actualBeginDate; - String actualEndDate; - int sort; - int status; + int? id; + int? inspectionPlanId; + String? code; + String? name; + String? beginDate; + String? endDate; + String? actualBeginDate; + String? actualEndDate; + int? sort; + int? status; InspectionDetailModel( - {this.id, + {required this.id, this.inspectionPlanId, this.code, this.name, diff --git a/lib/models/manager/inspection/inspection_list_model.dart b/lib/models/manager/inspection/inspection_list_model.dart index e3e07b3..4e68fee 100644 --- a/lib/models/manager/inspection/inspection_list_model.dart +++ b/lib/models/manager/inspection/inspection_list_model.dart @@ -1,16 +1,16 @@ class InspectionListModel { - int id; - String code; - String name; - String beginDate; - String endDate; - String actualBeginDate; - String actualEndDate; - int status; - String inspectorName; + int? id; + String? code; + String? name; + String? beginDate; + String? endDate; + String? actualBeginDate; + String? actualEndDate; + int? status; + String? inspectorName; InspectionListModel( - {this.id, + {required this.id, this.code, this.name, this.beginDate, diff --git a/lib/models/manager/inspection/inspection_point_model.dart b/lib/models/manager/inspection/inspection_point_model.dart index 50faec9..781743e 100644 --- a/lib/models/manager/inspection/inspection_point_model.dart +++ b/lib/models/manager/inspection/inspection_point_model.dart @@ -1,10 +1,10 @@ class InspectionPointModel { - int id; - String name; - int checkNum; - String completeDate; + int? id; + String? name; + int? checkNum; + String? completeDate; - InspectionPointModel({this.id, this.name, this.checkNum, this.completeDate}); + InspectionPointModel({required this.id, this.name, this.checkNum, this.completeDate}); InspectionPointModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/manager/inspection/inspection_point_submit_model.dart b/lib/models/manager/inspection/inspection_point_submit_model.dart index ee45977..ab480ef 100644 --- a/lib/models/manager/inspection/inspection_point_submit_model.dart +++ b/lib/models/manager/inspection/inspection_point_submit_model.dart @@ -2,17 +2,17 @@ class InspectionPointSubmitModel { int executePointId; - List executeCheckList; - List inspectionFaceImgPath; - List inspectionSpaceImgPath; + List? executeCheckList; + List? inspectionFaceImgPath; + List? inspectionSpaceImgPath; InspectionPointSubmitModel(this.executePointId, this.executeCheckList, {this.inspectionFaceImgPath, this.inspectionSpaceImgPath}); - Map executeCheckListToJson() { + Map? executeCheckListToJson() { final Map data = new Map(); if (this.executeCheckList != null) { data["executeCheckList"] = - this.executeCheckList.map((e) => e.toJson()).toList(); + this.executeCheckList!.map((e) => e.toJson()).toList(); return data; } return null; @@ -20,7 +20,7 @@ class InspectionPointSubmitModel { } class ExecuteCheckList { - int id; + int? id; int status; String remarkes; ExecuteCheckList(this.id, this.status, this.remarkes); diff --git a/lib/models/manager/inspection/inspection_qrcode_model.dart b/lib/models/manager/inspection/inspection_qrcode_model.dart index be707ea..b4cebbf 100644 --- a/lib/models/manager/inspection/inspection_qrcode_model.dart +++ b/lib/models/manager/inspection/inspection_qrcode_model.dart @@ -1,12 +1,12 @@ class InspectionQRCodeModel { - int id; - String code; - String name; - int type; - List checkVoList; + int? id; + String? code; + String? name; + int? type; + List? checkVoList; InspectionQRCodeModel( - {this.id, this.code, this.name, this.type, this.checkVoList}); + {required this.id, this.code, this.name, this.type, this.checkVoList}); InspectionQRCodeModel.fromJson(Map json) { id = json['id']; @@ -14,9 +14,9 @@ class InspectionQRCodeModel { name = json['name']; type = json['type']; if (json['checkVoList'] != null) { - checkVoList = new List(); + checkVoList = []; json['checkVoList'].forEach((v) { - checkVoList.add(new CheckVoList.fromJson(v)); + checkVoList!.add(new CheckVoList.fromJson(v)); }); } } @@ -28,15 +28,16 @@ class InspectionQRCodeModel { data['name'] = this.name; data['type'] = this.type; if (this.checkVoList != null) { - data['checkVoList'] = this.checkVoList.map((v) => v.toJson()).toList(); + data['checkVoList'] = this.checkVoList!.map((v) => v.toJson()).toList(); } return data; } - String get inspectionPattern { + + String get inspectionPattern { switch (this.type) { case 1: return '巡检模式1'; - break; + default: return '未知'; } @@ -44,8 +45,8 @@ class InspectionQRCodeModel { } class CheckVoList { - int id; - String name; + int? id; + String? name; CheckVoList({this.id, this.name}); diff --git a/lib/models/manager/interview/interview_list_model.dart b/lib/models/manager/interview/interview_list_model.dart index 46a16a9..fbc4b8a 100644 --- a/lib/models/manager/interview/interview_list_model.dart +++ b/lib/models/manager/interview/interview_list_model.dart @@ -2,19 +2,19 @@ import 'package:aku_community_manager/style/app_style.dart'; import 'package:flutter/material.dart'; class InterviewListModel { - int id; - String name; - String tel; - String content; - int status; - String interviewDate; - String feedbackContent; - String feedbackDate; - String createName; - String createDate; + int? id; + String? name; + String? tel; + String? content; + int? status; + String? interviewDate; + String? feedbackContent; + String? feedbackDate; + String? createName; + String? createDate; InterviewListModel( - {this.id, + {required this.id, this.name, this.tel, this.content, diff --git a/lib/models/manager/item_num_model.dart b/lib/models/manager/item_num_model.dart index 2f126a0..8b41d09 100644 --- a/lib/models/manager/item_num_model.dart +++ b/lib/models/manager/item_num_model.dart @@ -1,8 +1,8 @@ class ItemNumModel { - int unProcessedNum; - int processedNum; - int processingNum; - int allNum; + int? unProcessedNum; + int? processedNum; + int? processingNum; + int? allNum; ItemNumModel( {this.unProcessedNum, diff --git a/lib/models/manager/key_manage/key_manage_all_key_model.dart b/lib/models/manager/key_manage/key_manage_all_key_model.dart index 14c9e8e..03d5bf7 100644 --- a/lib/models/manager/key_manage/key_manage_all_key_model.dart +++ b/lib/models/manager/key_manage/key_manage_all_key_model.dart @@ -1,16 +1,16 @@ class KeyMangeAllKeyModel { - int id; - String code; - String facilityName; - int totalNum; - int loanableNum; - String correspondingPosition; - String storageLocation; - int status; - String createDate; + int? id; + String? code; + String? facilityName; + int? totalNum; + int? loanableNum; + String? correspondingPosition; + String? storageLocation; + int? status; + String? createDate; KeyMangeAllKeyModel( - {this.id, + {required this.id, this.code, this.facilityName, this.totalNum, diff --git a/lib/models/manager/key_manage/key_manage_record_list_model.dart b/lib/models/manager/key_manage/key_manage_record_list_model.dart index c3bcafd..f4ca7cd 100644 --- a/lib/models/manager/key_manage/key_manage_record_list_model.dart +++ b/lib/models/manager/key_manage/key_manage_record_list_model.dart @@ -1,17 +1,17 @@ import 'package:common_utils/common_utils.dart'; class KeyManageRecordListModel { - int id; - String code; - int status; - String facilityName; - String correspondingPosition; - String storageLocation; - String auditDate; - String reason; + int? id; + String? code; + int? status; + String? facilityName; + String? correspondingPosition; + String? storageLocation; + String? auditDate; + String? reason; KeyManageRecordListModel( - {this.id, + {required this.id, this.code, this.status, this.facilityName, @@ -44,5 +44,5 @@ class KeyManageRecordListModel { return data; } - String get auditDateString => DateUtil.formatDateStr(this.auditDate,format: 'yyyy-MM-dd HH:mm'); + String get auditDateString => DateUtil.formatDateStr(this.auditDate!,format: 'yyyy-MM-dd HH:mm'); } diff --git a/lib/models/manager/new_renovation/new_renovation_list_model.dart b/lib/models/manager/new_renovation/new_renovation_list_model.dart index 7f37c97..612c441 100644 --- a/lib/models/manager/new_renovation/new_renovation_list_model.dart +++ b/lib/models/manager/new_renovation/new_renovation_list_model.dart @@ -3,28 +3,28 @@ import 'package:common_utils/common_utils.dart'; import 'package:flutter/material.dart'; class NewRenovationListModel { - int id; - String roomName; - int status; - String constructionUnit; - String director; - String directorTel; - String expectedBegin; - String expectedEnd; - String actualBegin; - String actualEnd; - String rejectReason; - String reviewerName; - String auditDate; - String trackerName; - String applicationCheckDate; - int isQualified; - String createName; - String createDate; - List checkVoList; + int? id; + String? roomName; + int? status; + String? constructionUnit; + String? director; + String? directorTel; + String? expectedBegin; + String? expectedEnd; + String? actualBegin; + String? actualEnd; + String? rejectReason; + String? reviewerName; + String? auditDate; + String? trackerName; + String? applicationCheckDate; + int? isQualified; + String? createName; + String? createDate; + List? checkVoList; NewRenovationListModel( - {this.id, + {required this.id, this.roomName, this.status, this.constructionUnit, @@ -64,9 +64,9 @@ class NewRenovationListModel { createName = json['createName']; createDate = json['createDate']; if (json['checkVoList'] != null) { - checkVoList = new List(); + checkVoList = []; json['checkVoList'].forEach((v) { - checkVoList.add(new CheckVoList.fromJson(v)); + checkVoList!.add(new CheckVoList.fromJson(v)); }); } } @@ -92,16 +92,16 @@ class NewRenovationListModel { data['createName'] = this.createName; data['createDate'] = this.createDate; if (this.checkVoList != null) { - data['checkVoList'] = this.checkVoList.map((v) => v.toJson()).toList(); + data['checkVoList'] = this.checkVoList!.map((v) => v.toJson()).toList(); } return data; } String get expectBginString => - DateUtil.formatDateStr(this.expectedBegin, format: 'yyyy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.expectedBegin!, format: 'yyyy-MM-dd HH:mm'); String get expectEndString => - DateUtil.formatDateStr(this.expectedEnd, format: 'yyyy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.expectedEnd!, format: 'yyyy-MM-dd HH:mm'); String get actualBginString => DateUtil.formatDateStr(this.actualBegin ?? '', format: 'yyyy-MM-dd HH:mm'); @@ -109,7 +109,7 @@ class NewRenovationListModel { String get actualEndString => DateUtil.formatDateStr(this.actualEnd ?? '', format: 'yyyy-MM-dd HH:mm'); String get expectSlot => - '${expectBginString}-${DateUtil.formatDateStr(this.expectedEnd, format: 'HH:mm')}'; + '${expectBginString}-${DateUtil.formatDateStr(this.expectedEnd!, format: 'HH:mm')}'; String get actualSlot => '${actualBginString}-${DateUtil.formatDateStr(this.actualEnd ?? '', format: 'HH:mm')}'; @@ -173,12 +173,12 @@ class NewRenovationListModel { } class CheckVoList { - int id; - int decorationNewId; - String detail; - int isQualified; - String createName; - String createDate; + int? id; + int? decorationNewId; + String? detail; + int? isQualified; + String? createName; + String? createDate; CheckVoList( {this.id, diff --git a/lib/models/manager/package_manage/package_manage_list_model.dart b/lib/models/manager/package_manage/package_manage_list_model.dart index 85a6170..55d263b 100644 --- a/lib/models/manager/package_manage/package_manage_list_model.dart +++ b/lib/models/manager/package_manage/package_manage_list_model.dart @@ -1,16 +1,16 @@ class PackageManageListModel { - int id; - String code; - String addresseeName; - String addresseeTel; - String address; - String placePosition; - int status; - String receiveDate; - String createDate; + int? id; + String? code; + String? addresseeName; + String? addresseeTel; + String? address; + String? placePosition; + int? status; + String? receiveDate; + String? createDate; PackageManageListModel( - {this.id, + {required this.id, this.code, this.addresseeName, this.addresseeTel, diff --git a/lib/models/manager/rules_manage/rules_manage_list_model.dart b/lib/models/manager/rules_manage/rules_manage_list_model.dart index 3560577..96c16dc 100644 --- a/lib/models/manager/rules_manage/rules_manage_list_model.dart +++ b/lib/models/manager/rules_manage/rules_manage_list_model.dart @@ -1,15 +1,15 @@ import 'package:common_utils/common_utils.dart'; class RulesManageListModel { - int id; - String title; - String content; - String fileDocUrl; - String fileDocName; - String releaseDate; + int? id; + String? title; + String? content; + String? fileDocUrl; + String? fileDocName; + String? releaseDate; RulesManageListModel( - {this.id, + {required this.id, this.title, this.content, this.fileDocUrl, @@ -36,5 +36,5 @@ class RulesManageListModel { return data; } - String get releaseDateString => DateUtil.formatDateStr(this.releaseDate); + String get releaseDateString => DateUtil.formatDateStr(this.releaseDate!); } diff --git a/lib/models/manager/visitor_item_model.dart b/lib/models/manager/visitor_item_model.dart index d0b326a..22d42ae 100644 --- a/lib/models/manager/visitor_item_model.dart +++ b/lib/models/manager/visitor_item_model.dart @@ -2,21 +2,21 @@ import 'package:common_utils/common_utils.dart'; class VisitorItemModel { - int id; - String roomName; - String name; - int isDrive; - String carNum; - String effectiveTime; - String visitDate; - int visitorStatus; + int? id; + String? roomName; + String? name; + int? isDrive; + String? carNum; + String? effectiveTime; + String? visitDate; + int? visitorStatus; - DateTime get effective => DateUtil.getDateTime(effectiveTime); - DateTime get visit => - visitDate == null ? null : DateUtil.getDateTime(visitDate); + DateTime? get effective => DateUtil.getDateTime(effectiveTime!); + DateTime? get visit => + visitDate == null ? null : DateUtil.getDateTime(visitDate!); VisitorItemModel( - {this.id, + {required this.id, this.roomName, this.name, this.isDrive, diff --git a/lib/models/message/comment_message_detail_model.dart b/lib/models/message/comment_message_detail_model.dart index 490a310..88cdc91 100644 --- a/lib/models/message/comment_message_detail_model.dart +++ b/lib/models/message/comment_message_detail_model.dart @@ -1,9 +1,9 @@ class CommentMessageDetailModel { - int id; - String name; - int level; + int? id; + String? name; + int? level; - CommentMessageDetailModel({this.id, this.name, this.level}); + CommentMessageDetailModel({required this.id, this.name, this.level}); CommentMessageDetailModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/message/comment_message_item_model.dart b/lib/models/message/comment_message_item_model.dart index f2dfaa5..6fced39 100644 --- a/lib/models/message/comment_message_item_model.dart +++ b/lib/models/message/comment_message_item_model.dart @@ -1,9 +1,9 @@ class CommentMessageItemModel { - int id; - int type; - int relationId; + int? id; + int? type; + int? relationId; - CommentMessageItemModel({this.id, this.type, this.relationId}); + CommentMessageItemModel({required this.id, this.type, this.relationId}); CommentMessageItemModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/message/system_message_detail_model.dart b/lib/models/message/system_message_detail_model.dart index 3c6a5db..812d21f 100644 --- a/lib/models/message/system_message_detail_model.dart +++ b/lib/models/message/system_message_detail_model.dart @@ -1,10 +1,10 @@ class SystemMessageDetailModel { - int id; - String name; - String tel; - int type; + int? id; + String? name; + String? tel; + int? type; - SystemMessageDetailModel({this.id, this.name, this.tel, this.type}); + SystemMessageDetailModel({required this.id, this.name, this.tel, this.type}); SystemMessageDetailModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/message/system_message_item_model.dart b/lib/models/message/system_message_item_model.dart index d6bccf0..2d89976 100644 --- a/lib/models/message/system_message_item_model.dart +++ b/lib/models/message/system_message_item_model.dart @@ -2,12 +2,12 @@ import 'package:common_utils/common_utils.dart'; class SystemMessageItemModel { - int id; - int type; - int relationId; - String sendDate; + int? id; + int? type; + int? relationId; + String? sendDate; - SystemMessageItemModel({this.id, this.type, this.relationId, this.sendDate}); + SystemMessageItemModel({required this.id, this.type, this.relationId, this.sendDate}); SystemMessageItemModel.fromJson(Map json) { id = json['id']; @@ -26,5 +26,5 @@ class SystemMessageItemModel { } String get sendDateString => - DateUtil.formatDateStr(this.sendDate, format: 'yyyy-MM-dd HH:mm'); + DateUtil.formatDateStr(this.sendDate!, format: 'yyyy-MM-dd HH:mm'); } diff --git a/lib/models/todo_bussiness/todo_model.dart b/lib/models/todo_bussiness/todo_model.dart index 38063b0..050fabc 100644 --- a/lib/models/todo_bussiness/todo_model.dart +++ b/lib/models/todo_bussiness/todo_model.dart @@ -4,7 +4,7 @@ import 'package:aku_community_manager/models/todo_bussiness/todo_outdoor_model.d class ToDoModel { dynamic dynamicModel; - int type; + int? type; ToDoModel({this.dynamicModel, this.type}); diff --git a/lib/models/todo_bussiness/todo_outdoor_model.dart b/lib/models/todo_bussiness/todo_outdoor_model.dart index 1b76870..fd0fd3c 100644 --- a/lib/models/todo_bussiness/todo_outdoor_model.dart +++ b/lib/models/todo_bussiness/todo_outdoor_model.dart @@ -2,17 +2,17 @@ import 'package:flutter/material.dart'; class ToDoOutDoorModel { - int id; - int status; - String roomName; - String applicantName; - int identity; - String articleOutName; - String expectedTime; - String applicantDate; + int? id; + int? status; + String? roomName; + String? applicantName; + int? identity; + String? articleOutName; + String? expectedTime; + String? applicantDate; ToDoOutDoorModel( - {this.id, + {required this.id, this.status, this.roomName, this.applicantName, diff --git a/lib/models/user/user_info_model.dart b/lib/models/user/user_info_model.dart index e347aba..79bd546 100644 --- a/lib/models/user/user_info_model.dart +++ b/lib/models/user/user_info_model.dart @@ -1,31 +1,31 @@ class UserInfoModel { - int id; - String roleId; - String nickName; - List jurisdiction; + int? id; + String? roleId; + String? nickName; + List? jurisdiction; ///派单(派单人) - bool get canSendTicket => jurisdiction.contains(52); + bool get canSendTicket => jurisdiction!.contains(52); ///接单(维修人) - bool get canPickUpTicket => jurisdiction.contains(53); + bool get canPickUpTicket => jurisdiction!.contains(53); ///放行(保安) - bool get canPass => jurisdiction.contains(55); + bool get canPass => jurisdiction!.contains(55); ///操作权限(借还管理) - bool get canOperation => jurisdiction.contains(57); + bool get canOperation => jurisdiction!.contains(57); ///装修派工权限 - bool get canDecorationDispatch => jurisdiction.contains(59); + bool get canDecorationDispatch => jurisdiction!.contains(59); ///装修管理跟踪执行权限 - bool get canDecorationTrack => jurisdiction.contains(60); + bool get canDecorationTrack => jurisdiction!.contains(60); ///管家 bool get manager => canSendTicket && canPickUpTicket; - UserInfoModel({this.id, this.roleId, this.nickName, this.jurisdiction}); + UserInfoModel({required this.id, this.roleId, this.nickName, this.jurisdiction}); UserInfoModel.fromJson(Map json) { id = json['id']; diff --git a/lib/models/user/user_profile_model.dart b/lib/models/user/user_profile_model.dart index 8776ead..d6a841b 100644 --- a/lib/models/user/user_profile_model.dart +++ b/lib/models/user/user_profile_model.dart @@ -2,26 +2,26 @@ import 'package:aku_community_manager/models/common/img_model.dart'; class UserProfileModel { - int id; - List imgUrls; - String nickName; - String tel; + int? id; + List? imgUrls; + String? nickName; + String? tel; - UserProfileModel({this.id, this.imgUrls, this.nickName, this.tel}); + UserProfileModel({required this.id, this.imgUrls, this.nickName, this.tel}); - ImgModel get firstImg { - if (imgUrls.isEmpty) + ImgModel? get firstImg { + if (imgUrls!.isEmpty) return null; else - return imgUrls.first; + return imgUrls!.first; } UserProfileModel.fromJson(Map json) { id = json['id']; if (json['imgUrls'] != null) { - imgUrls = new List(); + imgUrls = []; json['imgUrls'].forEach((v) { - imgUrls.add(new ImgModel.fromJson(v)); + imgUrls!.add(new ImgModel.fromJson(v)); }); } nickName = json['nickName']; @@ -32,7 +32,7 @@ class UserProfileModel { final Map data = new Map(); data['id'] = this.id; if (this.imgUrls != null) { - data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + data['imgUrls'] = this.imgUrls!.map((v) => v.toJson()).toList(); } else imgUrls = []; data['nickName'] = this.nickName; diff --git a/lib/provider/app_provider.dart b/lib/provider/app_provider.dart index ceb654e..78ecf45 100644 --- a/lib/provider/app_provider.dart +++ b/lib/provider/app_provider.dart @@ -46,9 +46,9 @@ class AppProvider extends ChangeNotifier { notifyListeners(); } - Map _location; - Map get location => _location; - AMapFlutterLocation _flutterLocation; + Map? _location; + Map? get location => _location; + late AMapFlutterLocation _flutterLocation; startLocation() { _flutterLocation = AMapFlutterLocation(); @@ -75,24 +75,24 @@ class AppProvider extends ChangeNotifier { int get commentMessage => _commentMessage; updateMessage() async { - Response response = await NetUtil().dio.get(API.message.messageCenter); - if (response == null || response.data == null) return; + Response response = await NetUtil().dio!.get(API.message.messageCenter); + if (response.data == null) return; _sysMessage = response.data['sysCount'] ?? 0; _commentMessage = response.data['commentCount'] ?? 0; notifyListeners(); } WORKCLOCK _clockStatus = WORKCLOCK.NOTIN; - DateTime _clockInTime; - DateTime _clockOutTime; - DateTime _dateRecord; + DateTime? _clockInTime; + DateTime? _clockOutTime; + DateTime? _dateRecord; WORKCLOCK get clockStatus => _clockStatus; - DateTime get clockInTime => _clockInTime; - DateTime get clockOutTime => _clockOutTime; + DateTime? get clockInTime => _clockInTime; + DateTime? get clockOutTime => _clockOutTime; initClock() { if (_dateRecord == null || - (DateUtil.isToday(_dateRecord.millisecondsSinceEpoch.abs()))) { + (DateUtil.isToday(_dateRecord!.millisecondsSinceEpoch.abs()))) { resetClock(); } diff --git a/lib/provider/user_provider.dart b/lib/provider/user_provider.dart index 536c4f1..81727f4 100644 --- a/lib/provider/user_provider.dart +++ b/lib/provider/user_provider.dart @@ -31,8 +31,8 @@ class UserProvider extends ChangeNotifier { Future setLogin(int token) async { _isLogin = true; NetUtil().auth(token); - await HiveStore.appBox.put('token', token); - await HiveStore.appBox.put('login', true); + await HiveStore.appBox!.put('token', token); + await HiveStore.appBox!.put('login', true); _profileModel = await updateProfile(); _infoModel = await updateUserInfo(); // await setCurrentHouse((_userDetailModel?.estateNames?.isEmpty ?? true) @@ -41,26 +41,26 @@ class UserProvider extends ChangeNotifier { notifyListeners(); } - UserProfileModel _profileModel; - UserProfileModel get profileModel => _profileModel; - UserInfoModel _infoModel; - UserInfoModel get infoModel => _infoModel; + UserProfileModel? _profileModel; + UserProfileModel? get profileModel => _profileModel; + UserInfoModel? _infoModel; + UserInfoModel? get infoModel => _infoModel; ///更新用户profile - Future updateProfile() async { - final appProvider = Provider.of(Get.context, listen: false); + Future updateProfile() async { + final appProvider = Provider.of(Get.context!, listen: false); appProvider.updateMessage(); - BaseModel model = await NetUtil().get(API.user.profile); - if (model == null) + BaseModel? model = await NetUtil().get(API.user.profile); + if (model.data == null) return null; else return UserProfileModel.fromJson(model.data); } - Future updateUserInfo() async { - BaseModel model = await NetUtil().get(API.user.info); + Future updateUserInfo() async { + BaseModel? model = await NetUtil().get(API.user.info); - if (model == null) + if (model.data == null) return null; else { var userModel = UserInfoModel.fromJson(model.data); @@ -74,8 +74,8 @@ class UserProvider extends ChangeNotifier { await NetUtil().get(API.auth.logout, showMessage: true); NetUtil().logout(); _isLogin = false; - await HiveStore.appBox.delete('token'); - await HiveStore.appBox.put('login', false); + await HiveStore.appBox!.delete('token'); + await HiveStore.appBox!.put('login', false); notifyListeners(); } @@ -96,7 +96,7 @@ class UserProvider extends ChangeNotifier { ///修改昵称 setNickName(String name) { - _infoModel.nickName = name; + _infoModel!.nickName = name; notifyListeners(); } @@ -120,7 +120,7 @@ class UserProvider extends ChangeNotifier { ///修改手机 setTel(String tel) { - _profileModel.tel = tel; + _profileModel!.tel = tel; notifyListeners(); } } diff --git a/lib/style/apptheme.dart b/lib/style/apptheme.dart index 6a04140..e07b603 100644 --- a/lib/style/apptheme.dart +++ b/lib/style/apptheme.dart @@ -63,7 +63,7 @@ class AppTheme { unselectedLabelStyle: TextStyle(), ), radioTheme: RadioThemeData( - fillColor: MaterialStateProperty.resolveWith((states) { + fillColor: MaterialStateProperty.resolveWith((states) { if (states.contains(MaterialState.selected)) return Color(0xFFFFD000); return null; }), diff --git a/lib/tools/aku_divider.dart b/lib/tools/aku_divider.dart index fe0ad33..b44f9d9 100644 --- a/lib/tools/aku_divider.dart +++ b/lib/tools/aku_divider.dart @@ -5,13 +5,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class AkuDivider extends StatelessWidget { - final double thickness; - final bool isHorizontal; - final double indent; - final double endIndent; - final Color color; + final double? thickness; + final bool? isHorizontal; + final double? indent; + final double? endIndent; + final Color? color; const AkuDivider( - {Key key, + {Key? key, this.isHorizontal, this.indent, this.endIndent, @@ -19,19 +19,19 @@ class AkuDivider extends StatelessWidget { this.color}) : super(key: key); - AkuDivider.horizontal({Key key, this.indent, this.endIndent}) + AkuDivider.horizontal({Key? key, this.indent, this.endIndent}) : isHorizontal = true, thickness = 1.w, color = Color(0xFFE8E8E8), super(key: key); - AkuDivider.vertical({Key key, this.indent, this.endIndent}) + AkuDivider.vertical({Key? key, this.indent, this.endIndent}) : isHorizontal = false, thickness = 1.w, color = Color(0xFFE8E8E8), super(key: key); @override Widget build(BuildContext context) { - return isHorizontal + return isHorizontal! ? Divider( height: 0, thickness: this.thickness ?? 1.w, diff --git a/lib/tools/aku_map.dart b/lib/tools/aku_map.dart index a7e94b6..4003350 100644 --- a/lib/tools/aku_map.dart +++ b/lib/tools/aku_map.dart @@ -5,7 +5,7 @@ class AkuMap { switch (status) { case 1: return '待派单'; - break; + case 2: return '已派单'; case 3: @@ -63,7 +63,7 @@ class AkuMap { static Map fixAreaType = {1: '公区维修', 2: '家庭维修'}; ///报事报修处理进程-操作类型 - static String operationType(int operationType) { + static String operationType(int? operationType) { switch (operationType) { case 1: return '提交保修'; @@ -83,7 +83,7 @@ class AkuMap { return '作废'; case 9: return '取消'; - break; + case 10: return '改派'; case 11: diff --git a/lib/tools/extensions/list_extension_tool.dart b/lib/tools/extensions/list_extension_tool.dart index f845d6d..27fbddf 100644 --- a/lib/tools/extensions/list_extension_tool.dart +++ b/lib/tools/extensions/list_extension_tool.dart @@ -6,7 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:velocity_x/velocity_x.dart'; extension WidgetListExt on List { - List sepWidget({Widget separate}) { + List sepWidget({Widget? separate}) { if (this.isEmpty) return []; return List.generate(this.length * 2 - 1, (index) { if (index.isEven) diff --git a/lib/tools/user_tool.dart b/lib/tools/user_tool.dart index 828e6f9..3724f4f 100644 --- a/lib/tools/user_tool.dart +++ b/lib/tools/user_tool.dart @@ -10,11 +10,11 @@ import 'package:aku_community_manager/provider/user_provider.dart'; class UserTool { ///应用信息 static AppProvider get appProvider => - Provider.of(Get.context, listen: false); + Provider.of(Get.context!, listen: false); ///用户信息 static UserProvider get userProvider => - Provider.of(Get.context, listen: false); + Provider.of(Get.context!, listen: false); UserTool(); } diff --git a/lib/tools/widget_tool.dart b/lib/tools/widget_tool.dart index d442e40..8c37744 100644 --- a/lib/tools/widget_tool.dart +++ b/lib/tools/widget_tool.dart @@ -7,7 +7,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; ///自定义分割线 class GridientDiveder { final bool isReverse; //颜色方向反转 - const GridientDiveder({Key key, this.isReverse = false}); + const GridientDiveder({Key? key, this.isReverse = false}); Widget verticalDivider(double height) { return Container( width: 1.w, diff --git a/lib/ui/agreements/about_page.dart b/lib/ui/agreements/about_page.dart index d85796d..240624a 100644 --- a/lib/ui/agreements/about_page.dart +++ b/lib/ui/agreements/about_page.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class AboutPage extends StatelessWidget { - const AboutPage({Key key}) : super(key: key); + const AboutPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/ui/agreements/agreement_page.dart b/lib/ui/agreements/agreement_page.dart index 66d6710..c5f31a9 100644 --- a/lib/ui/agreements/agreement_page.dart +++ b/lib/ui/agreements/agreement_page.dart @@ -8,7 +8,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class AgreementPage extends StatelessWidget { - const AgreementPage({Key key}) : super(key: key); + const AgreementPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/ui/agreements/privacy_page.dart b/lib/ui/agreements/privacy_page.dart index 1d00520..972471f 100644 --- a/lib/ui/agreements/privacy_page.dart +++ b/lib/ui/agreements/privacy_page.dart @@ -8,7 +8,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class PrivacyPage extends StatelessWidget { - const PrivacyPage({Key key}) : super(key: key); + const PrivacyPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/ui/home/announcement/All_anouncement.dart b/lib/ui/home/announcement/All_anouncement.dart index d6d91bc..afe4d5c 100644 --- a/lib/ui/home/announcement/All_anouncement.dart +++ b/lib/ui/home/announcement/All_anouncement.dart @@ -24,7 +24,7 @@ import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; class AllAnouncement extends StatefulWidget { - AllAnouncement({Key key}) : super(key: key); + AllAnouncement({Key? key}) : super(key: key); @override AllAnouncementState createState() => AllAnouncementState(); @@ -33,7 +33,7 @@ class AllAnouncement extends StatefulWidget { class AllAnouncementState extends State { EasyRefreshController _refreshController = EasyRefreshController(); - static Widget anounceCard(AnnouncementListModel model, {String body}) { + static Widget anounceCard(AnnouncementListModel model, {String? body}) { return Column( children: [ AkuButton( @@ -84,7 +84,7 @@ class AllAnouncementState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - model.title, + model.title!, style: AppStyle().primaryStyle, ), SizedBox(height: 12.w), @@ -95,7 +95,7 @@ class AllAnouncementState extends State { width: 24.w, ), Text( - model.releaseTime, + model.releaseTime!, style: AppStyle().minorStyle, ), Spacer(), @@ -115,28 +115,28 @@ class AllAnouncementState extends State { ); } - Widget _anouncementList( - String date, - List cards, - ) { - return Column( - children: [ - Container( - alignment: Alignment.center, - width: double.infinity, - height: 48.w + 33.w, - child: Text( - date, - style: AppStyle().minorStyle, - )), - ...(cards - .map( - (e) => Container(), - ) - .toList()), - ], - ); - } + // Widget _anouncementList( + // String date, + // List cards, + // ) { + // return Column( + // children: [ + // Container( + // alignment: Alignment.center, + // width: double.infinity, + // height: 48.w + 33.w, + // child: Text( + // date, + // style: AppStyle().minorStyle, + // )), + // ...(cards + // .map( + // (e) => Container(), + // ) + // .toList()), + // ], + // ); + // } @override Widget build(BuildContext context) { @@ -146,7 +146,7 @@ class AllAnouncementState extends State { path: API.message.announcementList, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => AnnouncementListModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/home/announcement/anouncement_details.dart b/lib/ui/home/announcement/anouncement_details.dart index e7bc0de..0d388f3 100644 --- a/lib/ui/home/announcement/anouncement_details.dart +++ b/lib/ui/home/announcement/anouncement_details.dart @@ -12,8 +12,8 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class AnouncementDetails extends StatelessWidget { final AnnouncementDetailModel model; const AnouncementDetails({ - Key key, - @required this.model, + Key? key, + /*required*/ required this.model, }) : super(key: key); @override @@ -30,13 +30,13 @@ class AnouncementDetails extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ Text( - model.title, + model.title!, style: AppStyle().barTitleStyle, ), SizedBox( height: 16.w, ), - Text(model.content, + Text(model.content!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp)), SizedBox( @@ -52,7 +52,7 @@ class AnouncementDetails extends StatelessWidget { SizedBox( height: 4.w, ), - Text(model.releaseTime, style: AppStyle().primaryStyle), + Text(model.releaseTime!, style: AppStyle().primaryStyle), ], ), SizedBox( diff --git a/lib/ui/home/application/applications_page.dart b/lib/ui/home/application/applications_page.dart index 4345b80..25f0d7b 100644 --- a/lib/ui/home/application/applications_page.dart +++ b/lib/ui/home/application/applications_page.dart @@ -44,7 +44,7 @@ class AppApplication { } class ApplicationPage extends StatefulWidget { - ApplicationPage({Key key}) : super(key: key); + ApplicationPage({Key? key}) : super(key: key); @override _ApplicationPageState createState() => _ApplicationPageState(); diff --git a/lib/ui/home/business/business_card.dart b/lib/ui/home/business/business_card.dart index 75e0a97..64b4394 100644 --- a/lib/ui/home/business/business_card.dart +++ b/lib/ui/home/business/business_card.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:aku_community_manager/tools/screen_tool.dart'; class BusinessCard extends StatefulWidget { - BusinessCard({Key key}) : super(key: key); + BusinessCard({Key? key}) : super(key: key); @override _BusinessCardState createState() => _BusinessCardState(); diff --git a/lib/ui/home/business/business_page.dart b/lib/ui/home/business/business_page.dart index 1b8b99c..ae851c9 100644 --- a/lib/ui/home/business/business_page.dart +++ b/lib/ui/home/business/business_page.dart @@ -11,7 +11,7 @@ import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class BusinessPage extends StatefulWidget { ///DEFAULT IS 0 final int initIndex; - BusinessPage({Key key, this.initIndex = 0}) : super(key: key); + BusinessPage({Key? key, this.initIndex = 0}) : super(key: key); @override _BusinessPageState createState() => _BusinessPageState(); @@ -20,7 +20,7 @@ class BusinessPage extends StatefulWidget { class _BusinessPageState extends State with TickerProviderStateMixin { List _tabs = ['待处理', '处理中', '已处理', '全部']; - TabController _tabController; + late TabController _tabController; @override void initState() { @@ -34,7 +34,7 @@ class _BusinessPageState extends State @override void dispose() { - _tabController?.dispose(); + _tabController.dispose(); super.dispose(); } @@ -61,7 +61,7 @@ class _BusinessPageState extends State ); } - Widget _buildTabPage(int status) { + // Widget _buildTabPage(int status) { // return ListView.builder( // padding: EdgeInsets.symmetric(horizontal: 32.w), // itemBuilder: (context, index) { @@ -75,8 +75,8 @@ class _BusinessPageState extends State // }, // itemCount: list.length, // ); - return BussinessView( - backlogStatus: status, - ); - } + // return BussinessView( + // backlogStatus: status, + // ); + // } } diff --git a/lib/ui/home/business/business_view.dart b/lib/ui/home/business/business_view.dart index 3768c3d..7ed5dc9 100644 --- a/lib/ui/home/business/business_view.dart +++ b/lib/ui/home/business/business_view.dart @@ -15,7 +15,7 @@ import 'package:aku_community_manager/ui/sub_pages/business_and_fix/business_fix class BussinessView extends StatefulWidget { final int backlogStatus; - BussinessView({Key key, this.backlogStatus}) : super(key: key); + BussinessView({Key? key, required this.backlogStatus}) : super(key: key); @override _BussinessViewState createState() => _BussinessViewState(); @@ -23,9 +23,9 @@ class BussinessView extends StatefulWidget { class _BussinessViewState extends State with AutomaticKeepAliveClientMixin { - List _modelList; - EasyRefreshController _refreshController; - ScrollController _scrollController; + List _modelList = []; + late EasyRefreshController _refreshController; + late ScrollController _scrollController; @override void initState() { super.initState(); @@ -35,8 +35,8 @@ class _BussinessViewState extends State @override void dispose() { - _refreshController?.dispose(); - _scrollController?.dispose(); + _refreshController.dispose(); + _scrollController.dispose(); super.dispose(); } @@ -54,33 +54,35 @@ class _BussinessViewState extends State _modelList = dataList.map((e) => ToDoModel.fromJson(e)).toList(); setState(() {}); }, - child: _modelList == null + child: _modelList.isEmpty ? _emptyWidget() : ListView( padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 10.w), - children: [ - ..._modelList.map((e) { - if (e.dynamicModel.runtimeType == BussinessAndFixModel) { - return BusinessFixCard( - model: e.dynamicModel, - callRefresh: () { - _refreshController.callRefresh(); - }, - ); - } else if (e.dynamicModel.runtimeType == ToDoOutDoorModel) { - return ToDoOutDoorCard( - model: e.dynamicModel, - callRefresh: () { - _refreshController.callRefresh(); - }, - ); - } - }).toList() - ], + children: _modelList.map((e) => _buildCard(e)).toList(), ), ); } + Widget _buildCard(dynamic e) { + if (e.dynamicModel.runtimeType == BussinessAndFixModel) { + return BusinessFixCard( + model: e.dynamicModel, + callRefresh: () { + _refreshController.callRefresh(); + }, + ); + } else if (e.dynamicModel.runtimeType == ToDoOutDoorModel) { + return ToDoOutDoorCard( + model: e.dynamicModel, + callRefresh: () { + _refreshController.callRefresh(); + }, + ); + } else { + return Container(); + } + } + Widget _emptyWidget() { return SizedBox(); } diff --git a/lib/ui/home/business/bussiness_func.dart b/lib/ui/home/business/bussiness_func.dart index 485873a..9f66c51 100644 --- a/lib/ui/home/business/bussiness_func.dart +++ b/lib/ui/home/business/bussiness_func.dart @@ -8,9 +8,9 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class BussinessFunc { static Future getBussinessModelList(int backlogStatus) async { Response response = - await NetUtil().dio.get(API.manage.backlogList, queryParameters: { + await NetUtil().dio!.get(API.manage.backlogList, queryParameters: { "backlogStatus": backlogStatus, }); - return response.data['data'] as List; + return response.data['data'] as List?; } } diff --git a/lib/ui/home/business/todo_outdoor_card.dart b/lib/ui/home/business/todo_outdoor_card.dart index 035a82b..d36da84 100644 --- a/lib/ui/home/business/todo_outdoor_card.dart +++ b/lib/ui/home/business/todo_outdoor_card.dart @@ -14,10 +14,10 @@ import 'package:aku_community_manager/ui/sub_pages/items_outdoor/items_outdoor_d class ToDoOutDoorCard extends StatefulWidget { final ToDoOutDoorModel model; - final VoidCallback callRefresh; + final VoidCallback? callRefresh; final bool homeDisplay; ToDoOutDoorCard( - {Key key, this.model, this.callRefresh, this.homeDisplay = false}) + {Key? key, required this.model, this.callRefresh, this.homeDisplay = false}) : super(key: key); @override @@ -31,9 +31,9 @@ class _ToDoOutDoorCardState extends State { TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp); return GestureDetector( onTap: () async { - await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id)); + await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id!)); if (widget.callRefresh != null) { - widget.callRefresh(); + widget.callRefresh!(); } }, child: Container( @@ -65,7 +65,7 @@ class _ToDoOutDoorCardState extends State { ), ), 16.w.widthBox, - //TODO 创建时间 + // // Text( // widget.model.create, // style: TextStyle( @@ -120,7 +120,7 @@ class _ToDoOutDoorCardState extends State { Text('详细地址', style: _textStyle), Spacer(), Text( - widget.model.roomName, + widget.model.roomName!, style: AppStyle().primaryStyle, ), ], @@ -140,7 +140,7 @@ class _ToDoOutDoorCardState extends State { ), Spacer(), Text( - widget.model.applicantName, + widget.model.applicantName!, style: AppStyle().primaryStyle, ), ], @@ -183,7 +183,7 @@ class _ToDoOutDoorCardState extends State { ), Spacer(), Text( - widget.model.articleOutName, + widget.model.articleOutName!, style: AppStyle().primaryStyle, ), ], @@ -203,7 +203,7 @@ class _ToDoOutDoorCardState extends State { ), Spacer(), Text( - widget.model.expectedTime, + widget.model.expectedTime!, style: AppStyle().primaryStyle, ), ], @@ -217,9 +217,9 @@ class _ToDoOutDoorCardState extends State { alignment: Alignment.centerRight, child: AkuButton( onPressed: () async { - await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id)); + await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id!)); if (widget.callRefresh != null) { - widget.callRefresh(); + widget.callRefresh!(); } }, child: Container( diff --git a/lib/ui/home/home_page.dart b/lib/ui/home/home_page.dart index a7bd2e4..30e92d5 100644 --- a/lib/ui/home/home_page.dart +++ b/lib/ui/home/home_page.dart @@ -1,4 +1,6 @@ // Flutter imports: +import 'dart:async'; + import 'package:aku_community_manager/ui/widgets/common/aku_button.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_material_button.dart'; import 'package:flutter/material.dart'; @@ -47,7 +49,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class HomePage extends StatefulWidget { HomePage({ - Key key, + Key? key, }) : super(key: key); @override @@ -55,11 +57,11 @@ class HomePage extends StatefulWidget { } class _HomePageState extends State { - ItemNumModel _itemNumModel; - List _todoModelList; - List _anounceMentList; + late ItemNumModel _itemNumModel; + List? _todoModelList; + late List _anounceMentList; bool _onload = true; - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; ///自定义bar的菜单按钮 Widget _menuButton(String assetPath, String text, Widget page) { @@ -103,7 +105,7 @@ class _HomePageState extends State { ///底部信息栏卡片 Widget _card( - int number, + int? number, String text, Color color, int index, @@ -157,7 +159,7 @@ class _HomePageState extends State { int _currentIndicator = 0; Future _getItemNum() async { - Response response = await NetUtil().dio.get(API.manage.findItemNum); + Response response = await NetUtil().dio!.get(API.manage.findItemNum); return ItemNumModel.fromJson(response.data); } @@ -167,7 +169,7 @@ class _HomePageState extends State { "pageNum": 1, "size": 3, })); - List anounceModels = baseListModel.tableList + List anounceModels = baseListModel.tableList! .map((e) => AnnouncementListModel.fromJson(e)) .toList(); return anounceModels; @@ -352,7 +354,7 @@ class _HomePageState extends State { height: 67.w, child: Text( userProvider.isLogin - ? 'HI,${userProvider.infoModel.nickName}' + ? 'HI,${userProvider.infoModel!.nickName}' : '登录/注册', style: TextStyle( color: AppStyle.primaryTextColor, @@ -408,7 +410,7 @@ class _HomePageState extends State { var dataList = await BussinessFunc.getBussinessModelList(1); _todoModelList = dataList.map((e) => ToDoModel.fromJson(e)).toList(); - _anounceMentList = await _getAnouncement(); + _anounceMentList = await _getAnouncement() ; _onload = false; setState(() {}); } @@ -569,29 +571,29 @@ class _HomePageState extends State { width: 526.w, child: Builder( builder: (context) { - if (_todoModelList[index] + if (_todoModelList![index] .dynamicModel .runtimeType == BussinessAndFixModel) { return BusinessFixCard( homeDisplay: true, callRefresh: () { - _refreshController + _refreshController! .callRefresh(); }, - model: _todoModelList[index] + model: _todoModelList![index] .dynamicModel); - } else if (_todoModelList[index] + } else if (_todoModelList![index] .dynamicModel .runtimeType == ToDoOutDoorModel) { return ToDoOutDoorCard( homeDisplay: true, callRefresh: () { - _refreshController + _refreshController! .callRefresh(); }, - model: _todoModelList[index] + model: _todoModelList![index] .dynamicModel, ); } else @@ -600,7 +602,7 @@ class _HomePageState extends State { ), ); }, - itemCount: _todoModelList.length, + itemCount: _todoModelList!.length, ), ), SizedBox(height: 24.w), diff --git a/lib/ui/home/messages/comment_message.dart b/lib/ui/home/messages/comment_message.dart index 53c83b8..067cd9c 100644 --- a/lib/ui/home/messages/comment_message.dart +++ b/lib/ui/home/messages/comment_message.dart @@ -15,7 +15,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class CommentMessage extends StatefulWidget { - CommentMessage({Key key}) : super(key: key); + CommentMessage({Key? key}) : super(key: key); @override _CommentMessageState createState() => _CommentMessageState(); @@ -31,7 +31,7 @@ class _CommentMessageState extends State { body: BeeListView( controller: _refreshController, path: API.message.commentList, - convert: (model) => model.tableList + convert: (model) => model.tableList! .map((e) => CommentMessageItemModel.fromJson(e)) .toList(), builder: (items) { diff --git a/lib/ui/home/messages/comment_message_card.dart b/lib/ui/home/messages/comment_message_card.dart index f010b45..540e8ef 100644 --- a/lib/ui/home/messages/comment_message_card.dart +++ b/lib/ui/home/messages/comment_message_card.dart @@ -17,14 +17,14 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class CommentMessageCard extends StatefulWidget { final CommentMessageItemModel itemModel; - CommentMessageCard({Key key, @required this.itemModel}) : super(key: key); + CommentMessageCard({Key? key, /*required*/ required this.itemModel}) : super(key: key); @override _CommentMessageCardState createState() => _CommentMessageCardState(); } class _CommentMessageCardState extends State { - CommentMessageDetailModel _model; + CommentMessageDetailModel? _model; bool _onload = true; @override @@ -50,7 +50,7 @@ class _CommentMessageCardState extends State { switch (level) { case 1: return '半星'; - break; + case 2: return '一星'; case 3: @@ -200,7 +200,7 @@ class _CommentMessageCardState extends State { ); } - Widget _messageList(CommentMessageDetailModel model) { + Widget _messageList(CommentMessageDetailModel? model) { return _onload ? _loadingWidget() : Column( @@ -265,7 +265,7 @@ class _CommentMessageCardState extends State { ), Spacer(), Text( - '${model.name}', + '${model!.name}', style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp), @@ -288,7 +288,7 @@ class _CommentMessageCardState extends State { color: AppStyle.minorTextColor, fontSize: 28.sp)), Spacer(), - Text(getComment(model.level), + Text(getComment(model.level!), style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp)), diff --git a/lib/ui/home/messages/message.dart b/lib/ui/home/messages/message.dart index d293bd3..9893674 100644 --- a/lib/ui/home/messages/message.dart +++ b/lib/ui/home/messages/message.dart @@ -19,7 +19,7 @@ import 'package:aku_community_manager/ui/home/messages/system_message.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class Message extends StatefulWidget { - Message({Key key}) : super(key: key); + Message({Key? key}) : super(key: key); @override _MessageState createState() => _MessageState(); @@ -28,9 +28,9 @@ class Message extends StatefulWidget { class _MessageState extends State { EasyRefreshController _refreshController = EasyRefreshController(); Widget _messageTypeImage(String type) { - String path; - Color ca; - Color cb; + late String path; + Color? ca; + Color? cb; switch (type) { case '系统消息': path = R.ASSETS_MESSAGE_IC_TONGZHI_PNG; @@ -52,7 +52,7 @@ class _MessageState extends State { gradient: LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [ca, cb], + colors: [ca!, cb!], ), ), child: Image.asset( @@ -65,7 +65,7 @@ class _MessageState extends State { Widget _messageListTile( String date, Widget messageImage, String title, String text, int number, - {VoidCallback onpressed}) { + {required VoidCallback onpressed}) { return AkuButton( color: Color(0xFFFFFFFF), onPressed: onpressed, diff --git a/lib/ui/home/messages/system_message.dart b/lib/ui/home/messages/system_message.dart index 915e2d6..77134db 100644 --- a/lib/ui/home/messages/system_message.dart +++ b/lib/ui/home/messages/system_message.dart @@ -15,7 +15,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class SystemMessage extends StatefulWidget { - SystemMessage({Key key}) : super(key: key); + SystemMessage({Key? key}) : super(key: key); @override _SystemMessageState createState() => _SystemMessageState(); @@ -44,7 +44,7 @@ class _SystemMessageState extends State { itemCount: items.length); }, path: API.message.systemList, - convert: (model) => model.tableList + convert: (model) => model.tableList! .map((e) => SystemMessageItemModel.fromJson(e)) .toList(), ), diff --git a/lib/ui/home/messages/systen_message_card.dart b/lib/ui/home/messages/systen_message_card.dart index 6d16529..073a1e5 100644 --- a/lib/ui/home/messages/systen_message_card.dart +++ b/lib/ui/home/messages/systen_message_card.dart @@ -1,4 +1,6 @@ // Flutter imports: +import 'dart:async'; + import 'package:aku_community_manager/ui/widgets/common/aku_button.dart'; import 'package:flutter/material.dart'; @@ -20,8 +22,8 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class SystemMessageCard extends StatefulWidget { final SystemMessageItemModel model; SystemMessageCard({ - Key key, - this.model, + Key? key, + required this.model, }) : super(key: key); @override @@ -29,13 +31,13 @@ class SystemMessageCard extends StatefulWidget { } class _SystemMessageCardState extends State { - SystemMessageDetailModel _systemModel; + late SystemMessageDetailModel _systemModel; bool _onLoad = true; @override void initState() { super.initState(); Future.delayed(Duration(milliseconds: 300), () async { - _systemModel = await getSystemMessage(widget.model.relationId); + _systemModel = await getSystemMessage(widget.model.relationId!); _onLoad = false; setState(() {}); }); @@ -190,7 +192,7 @@ class _SystemMessageCardState extends State { alignment: Alignment.center, width: double.infinity, child: Text( - widget.model.sendDate, + widget.model.sendDate!, style: TextStyle( color: AppStyle.minorTextColor, fontSize: 24.sp), ), @@ -246,7 +248,7 @@ class _SystemMessageCardState extends State { ), Spacer(), Text( - model.name, + model.name!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp), @@ -269,7 +271,7 @@ class _SystemMessageCardState extends State { color: AppStyle.minorTextColor, fontSize: 28.sp)), Spacer(), - Text(model.tel, + Text(model.tel!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp)), diff --git a/lib/ui/home/personal_draw.dart b/lib/ui/home/personal_draw.dart index b84b5f9..e6d2037 100644 --- a/lib/ui/home/personal_draw.dart +++ b/lib/ui/home/personal_draw.dart @@ -16,14 +16,14 @@ import 'package:aku_community_manager/ui/settings/user_info_page.dart'; import 'package:aku_community_manager/ui/widgets/app_widgets/aku_avatar.dart'; class PersonalDraw extends StatefulWidget { - PersonalDraw({Key key}) : super(key: key); + PersonalDraw({Key? key}) : super(key: key); @override _PersonalDrawState createState() => _PersonalDrawState(); } class _PersonalDrawState extends State { - Widget _myListTile(String path, String text, {VoidCallback onPressed}) { + Widget _myListTile(String path, String text, { VoidCallback? onPressed}) { return AkuButton( onPressed: onPressed, child: Container( @@ -84,7 +84,7 @@ class _PersonalDrawState extends State { //登录按钮 userProvider.isLogin ? Text( - userProvider.infoModel.nickName, + userProvider.infoModel!.nickName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp, diff --git a/lib/ui/home/search_workorder_page.dart b/lib/ui/home/search_workorder_page.dart index 19aab90..f01863f 100644 --- a/lib/ui/home/search_workorder_page.dart +++ b/lib/ui/home/search_workorder_page.dart @@ -34,14 +34,14 @@ import 'package:aku_community_manager/ui/widgets/common/aku_back_button.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class SearchWorkOrderPage extends StatefulWidget { - SearchWorkOrderPage({Key key}) : super(key: key); + SearchWorkOrderPage({Key? key}) : super(key: key); @override _SearchWorkOrderpageState createState() => _SearchWorkOrderpageState(); } class _SearchWorkOrderpageState extends State { - TextEditingController _textController; + TextEditingController? _textController; List _wisdomApplications = [ AppApplication('一键报警', R.ASSETS_HOME_IC_POLICE_PNG, ()=>WarningPage()), AppApplication('访客管理', R.ASSETS_HOME_IC_VISITORS_PNG, ()=>VisitorManagerPage()), diff --git a/lib/ui/login/login_page.dart b/lib/ui/login/login_page.dart index 6a9d277..6837bc7 100644 --- a/lib/ui/login/login_page.dart +++ b/lib/ui/login/login_page.dart @@ -22,7 +22,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_back_button.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class LoginPage extends StatefulWidget { - LoginPage({Key key}) : super(key: key); + LoginPage({Key? key}) : super(key: key); @override _LoginPageState createState() => _LoginPageState(); @@ -41,7 +41,7 @@ class _LoginPageState extends State { @override void dispose() { - _textController?.dispose(); + _textController.dispose(); super.dispose(); } diff --git a/lib/ui/login/login_sms_page.dart b/lib/ui/login/login_sms_page.dart index 5300817..4a701cd 100644 --- a/lib/ui/login/login_sms_page.dart +++ b/lib/ui/login/login_sms_page.dart @@ -24,7 +24,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class LoginSMSPage extends StatefulWidget { final String phone; - LoginSMSPage({Key key, this.phone}) : super(key: key); + LoginSMSPage({Key? key, required this.phone}) : super(key: key); @override _LoginSMSPageState createState() => _LoginSMSPageState(); @@ -33,7 +33,7 @@ class LoginSMSPage extends StatefulWidget { class _LoginSMSPageState extends State { TextEditingController _textEditingController = TextEditingController(); int _count = 60; - Timer _countTimer; + Timer? _countTimer; bool get canResend => _count <= 0; String get countString { if (_count <= 0) @@ -71,7 +71,7 @@ class _LoginSMSPageState extends State { @override void dispose() { - _textEditingController?.dispose(); + _textEditingController.dispose(); _countTimer?.cancel(); super.dispose(); } @@ -119,7 +119,7 @@ class _LoginSMSPageState extends State { onChanged: (text) async { if (text.length == 6) { Function cancel = BotToast.showLoading(); - Response response = await NetUtil().dio.post( + Response response = await NetUtil().dio!.post( API.auth.login, data: {'tel': widget.phone, 'code': text}, ); diff --git a/lib/ui/manage_pages/clock_in_out/clock_func.dart b/lib/ui/manage_pages/clock_in_out/clock_func.dart index 6a8af04..8647d90 100644 --- a/lib/ui/manage_pages/clock_in_out/clock_func.dart +++ b/lib/ui/manage_pages/clock_in_out/clock_func.dart @@ -8,15 +8,15 @@ import 'package:common_utils/common_utils.dart'; class ClockFunc { static Future initClockInfo() async { BaseModel baseModel = await NetUtil().get(API.manage.todayClockRecord); - if (baseModel.status && baseModel.data != null) { + if (baseModel.status! && baseModel.data != null) { return TodayClockRecordModel.fromJson(baseModel.data); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } } static Future clockIn(int id, DateTime dateTime) async { - BaseModel baseModel = await NetUtil().post( + await NetUtil().post( API.manage.clockInOut, params: { "id": id, @@ -28,7 +28,7 @@ class ClockFunc { } static Future clockOut(int id, DateTime dateTime) async { - BaseModel baseModel = await NetUtil().post(API.manage.clockInOut, + await NetUtil().post(API.manage.clockInOut, params: { "id": id, "endClockDate": diff --git a/lib/ui/manage_pages/clock_in_out/clock_in_out_apply_card.dart b/lib/ui/manage_pages/clock_in_out/clock_in_out_apply_card.dart index 09291a7..5343ab8 100644 --- a/lib/ui/manage_pages/clock_in_out/clock_in_out_apply_card.dart +++ b/lib/ui/manage_pages/clock_in_out/clock_in_out_apply_card.dart @@ -8,7 +8,7 @@ import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart' class ClockInOutApplyCard extends StatefulWidget { final ClockApplyRecordListModel model; - ClockInOutApplyCard({Key key, this.model}) : super(key: key); + ClockInOutApplyCard({Key? key, required this.model}) : super(key: key); @override _ClockInOutApplyCardState createState() => _ClockInOutApplyCardState(); @@ -75,7 +75,7 @@ class _ClockInOutApplyCardState extends State { 160.w.widthBox, Row( children: [ - widget.model.reason.text + widget.model.reason!.text .size(24.sp) .maxLines(2) .overflow(TextOverflow.ellipsis) diff --git a/lib/ui/manage_pages/clock_in_out/clock_in_out_main_page.dart b/lib/ui/manage_pages/clock_in_out/clock_in_out_main_page.dart index 31111a4..92be570 100644 --- a/lib/ui/manage_pages/clock_in_out/clock_in_out_main_page.dart +++ b/lib/ui/manage_pages/clock_in_out/clock_in_out_main_page.dart @@ -15,7 +15,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:velocity_x/velocity_x.dart'; class ClockInOutMainPage extends StatefulWidget { - ClockInOutMainPage({Key key}) : super(key: key); + ClockInOutMainPage({Key? key}) : super(key: key); @override _ClockInOutMainPageState createState() => _ClockInOutMainPageState(); @@ -23,13 +23,13 @@ class ClockInOutMainPage extends StatefulWidget { class _ClockInOutMainPageState extends State with AutomaticKeepAliveClientMixin { - EasyRefreshController _refreshController; - Timer _clockSetState; - DateTime _lastPressed; - TodayClockRecordModel _model; + EasyRefreshController? _refreshController; + Timer? _clockSetState; + DateTime? _lastPressed; + TodayClockRecordModel? _model; bool get canTap { if (_lastPressed == null || - DateTime.now().difference(_lastPressed) > Duration(seconds: 15)) { + DateTime.now().difference(_lastPressed!) > Duration(seconds: 15)) { //两次点击间隔超过15秒重新计算 _lastPressed = DateTime.now(); return true; @@ -65,17 +65,17 @@ class _ClockInOutMainPageState extends State controller: _refreshController, onRefresh: () async { UserTool.appProvider.initClock(); - _model = await ClockFunc.initClockInfo(); + _model = await (ClockFunc.initClockInfo() ); if (_model != null) { UserTool.appProvider.resetClock(); //若成功获取今日打卡信息,则先重置打卡状态 - if (_model.startClockDate != null) { + if (_model!.startClockDate != null) { //若有上班打卡信息 则将打卡状态转换为已上班打卡 - UserTool.appProvider.setClockInTime(_model.clockInTime); + UserTool.appProvider.setClockInTime(_model!.clockInTime!); } - if (_model.endClockDate != null) { + if (_model!.endClockDate != null) { //若有下班打卡信息,则将打卡状态转换为已下班打卡 - UserTool.appProvider.setClockOutTime(_model.clockOutTime); + UserTool.appProvider.setClockOutTime(_model!.clockOutTime!); } } @@ -122,12 +122,12 @@ class _ClockInOutMainPageState extends State DateTime _currentTime = DateTime.now(); switch (UserTool.appProvider.clockStatus) { case WORKCLOCK.NOTIN: - ClockFunc.clockIn(_model.id, _currentTime); + ClockFunc.clockIn(_model!.id!, _currentTime); UserTool.appProvider.setClockInTime(_currentTime); BotToast.showText(text: '上班打卡成功'); break; case WORKCLOCK.IN: - ClockFunc.clockOut(_model.id, _currentTime); + ClockFunc.clockOut(_model!.id!, _currentTime); UserTool.appProvider.setClockOutTime(_currentTime); BotToast.showText(text: '下班打卡成功'); break; @@ -172,7 +172,7 @@ class _ClockInOutMainPageState extends State ); } - Widget _buildCard(int type, {DateTime time}) { + Widget _buildCard(int type, {DateTime? time}) { return Container( width: 296.w, height: 131.w, @@ -243,8 +243,8 @@ class _ClockInOutMainPageState extends State if (UserTool.appProvider.clockInTime != null) { int _time = (UserTool.appProvider.clockOutTime == null ? DateTime.now() - : UserTool.appProvider.clockOutTime) - .difference(UserTool.appProvider.clockInTime) + : UserTool.appProvider.clockOutTime)! + .difference(UserTool.appProvider.clockInTime!) .inMinutes; print(_time); _hour = _time ~/ 60; diff --git a/lib/ui/manage_pages/clock_in_out/clock_in_out_page.dart b/lib/ui/manage_pages/clock_in_out/clock_in_out_page.dart index db0fb89..4dec09f 100644 --- a/lib/ui/manage_pages/clock_in_out/clock_in_out_page.dart +++ b/lib/ui/manage_pages/clock_in_out/clock_in_out_page.dart @@ -10,7 +10,7 @@ import 'package:get/get.dart'; import 'package:velocity_x/velocity_x.dart'; class ClockInOutPage extends StatefulWidget { - ClockInOutPage({Key key}) : super(key: key); + ClockInOutPage({Key? key}) : super(key: key); @override _ClockInOutPageState createState() => _ClockInOutPageState(); @@ -18,7 +18,7 @@ class ClockInOutPage extends StatefulWidget { class _ClockInOutPageState extends State with TickerProviderStateMixin { - TabController _tabController; + TabController? _tabController; List _tabs = ['考勤打卡', '打卡记录', '申请情况']; @override void initState() { @@ -28,7 +28,7 @@ class _ClockInOutPageState extends State @override void dispose() { - _tabController.dispose(); + _tabController!.dispose(); super.dispose(); } @@ -48,7 +48,7 @@ class _ClockInOutPageState extends State ], appBarBottom: PreferredSize( - child: AkuTabBar(controller: _tabController, tabs: _tabs), + child: AkuTabBar(controller: _tabController!, tabs: _tabs), preferredSize: Size.fromHeight(88.w), ), body: TabBarView( diff --git a/lib/ui/manage_pages/clock_in_out/clock_in_out_record_card.dart b/lib/ui/manage_pages/clock_in_out/clock_in_out_record_card.dart index f58f710..d509ad2 100644 --- a/lib/ui/manage_pages/clock_in_out/clock_in_out_record_card.dart +++ b/lib/ui/manage_pages/clock_in_out/clock_in_out_record_card.dart @@ -7,7 +7,7 @@ import 'package:velocity_x/velocity_x.dart'; class ClockInOutRecordCard extends StatefulWidget { final ClockRecordListModel model; - ClockInOutRecordCard({Key key, this.model}) : super(key: key); + ClockInOutRecordCard({Key? key, required this.model}) : super(key: key); @override _ClockInOutRecordCardState createState() => _ClockInOutRecordCardState(); diff --git a/lib/ui/manage_pages/clock_in_out/clock_in_out_view.dart b/lib/ui/manage_pages/clock_in_out/clock_in_out_view.dart index ed09ffb..649fb85 100644 --- a/lib/ui/manage_pages/clock_in_out/clock_in_out_view.dart +++ b/lib/ui/manage_pages/clock_in_out/clock_in_out_view.dart @@ -11,14 +11,14 @@ import 'package:velocity_x/velocity_x.dart'; class ClockInOutView extends StatefulWidget { final int index; - ClockInOutView({Key key, this.index}) : super(key: key); + ClockInOutView({Key? key, required this.index}) : super(key: key); @override _ClockInOutViewState createState() => _ClockInOutViewState(); } class _ClockInOutViewState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { super.initState(); @@ -43,7 +43,7 @@ class _ClockInOutViewState extends State { path: API.manage.clockRecord, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => ClockRecordListModel.fromJson(e)) .toList(); }, @@ -65,7 +65,7 @@ class _ClockInOutViewState extends State { path: API.manage.clockApplyRecord, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => ClockApplyRecordListModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/manage_pages/clock_in_out/work_apply_page.dart b/lib/ui/manage_pages/clock_in_out/work_apply_page.dart index f19514d..a5d5a7a 100644 --- a/lib/ui/manage_pages/clock_in_out/work_apply_page.dart +++ b/lib/ui/manage_pages/clock_in_out/work_apply_page.dart @@ -1,3 +1,4 @@ + import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/tools/aku_divider.dart'; import 'package:aku_community_manager/ui/manage_pages/clock_in_out/clock_func.dart'; @@ -14,7 +15,7 @@ import 'package:get/get.dart'; import 'package:velocity_x/velocity_x.dart'; class WorkApplyPage extends StatefulWidget { - WorkApplyPage({Key key}) : super(key: key); + WorkApplyPage({Key? key}) : super(key: key); @override _WorkApplyPageState createState() => _WorkApplyPageState(); @@ -25,9 +26,9 @@ class _WorkApplyPageState extends State { // TextEditingController _nameController; // TextEditingController _positionController; - TextEditingController _reasonController; - DateTime _beginTime; - DateTime _endTime; + TextEditingController? _reasonController; + DateTime? _beginTime; + DateTime? _endTime; @override void initState() { @@ -61,8 +62,8 @@ class _WorkApplyPageState extends State { bottom: AkuBottomButton( title: '确认提交', onTap: () async { - bool _result = await ClockFunc.clockApply( - _reasonController.text, _type, _beginTime, _endTime); + bool _result = await (ClockFunc.clockApply( + _reasonController!.text, _type, _beginTime!, _endTime!) ); if (_result) { Get.back(); } @@ -122,7 +123,7 @@ class _WorkApplyPageState extends State { materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, height: 120.w, onPressed: () async { - DateTime date = await BeeDatePicker.pick( + DateTime? date = await BeeDatePicker.pick( DateTime.now(), mode: CupertinoDatePickerMode.dateAndTime, min: DateTime.now().subtract(Duration(seconds: 1)), @@ -150,14 +151,14 @@ class _WorkApplyPageState extends State { materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, height: 120.w, onPressed: () async { - DateTime date = await BeeDatePicker.pick( - _beginTime == null ? DateTime.now() : _beginTime, + DateTime? date = await BeeDatePicker.pick( + _beginTime == null ? DateTime.now() : _beginTime!, min: _beginTime == null ? DateTime.now().subtract(Duration(seconds: 1)) - : _beginTime, + : _beginTime!, max: _beginTime == null ? DateTime.now().add(Duration(days: 1)) - : (_beginTime).add(Duration(days: 7)), + : _beginTime!.add(Duration(days: 7)), mode: CupertinoDatePickerMode.dateAndTime, ); if (date != null) { @@ -186,8 +187,8 @@ class _WorkApplyPageState extends State { ); } - Widget _inputRowTile(String title, TextEditingController controller, - {String hintText, List formatters}) { + Widget _inputRowTile(String title, TextEditingController? controller, + {String? hintText, List? formatters}) { return Container( width: double.infinity, child: Column( @@ -200,7 +201,7 @@ class _WorkApplyPageState extends State { inputFormatters: formatters, textAlign: TextAlign.start, onChanged: (value) { - controller.text = value; + controller!.text = value; setState(() {}); }, decoration: InputDecoration( diff --git a/lib/ui/manage_pages/facilities/facilities_card.dart b/lib/ui/manage_pages/facilities/facilities_card.dart index 00d9298..fcff50a 100644 --- a/lib/ui/manage_pages/facilities/facilities_card.dart +++ b/lib/ui/manage_pages/facilities/facilities_card.dart @@ -19,9 +19,9 @@ class FacilitiesCard extends StatefulWidget { final int index; final int facilitiesType; final FacilitiesCheckListModel model; - final VoidCallback callRefresh; + final VoidCallback? callRefresh; FacilitiesCard( - {Key key, this.index, this.model, this.facilitiesType, this.callRefresh}) + {Key? key, required this.index, required this.model, required this.facilitiesType, this.callRefresh}) : super(key: key); @override @@ -36,14 +36,14 @@ class _FacilitiesCardState extends State { children: [ Row( children: [ - widget.model.facilitiesName.text + widget.model.facilitiesName!.text .color(kTextPrimaryColor) .size(32.sp) .bold .make(), Spacer(), - FacilitiesMap.inspectStatus[widget.model.status].text - .color(FacilitiesMap.insepectColor[widget.model.status]) + FacilitiesMap.inspectStatus[widget.model.status!]!.text + .color(FacilitiesMap.insepectColor[widget.model.status!]!) .size(28.sp) .bold .make(), @@ -53,7 +53,7 @@ class _FacilitiesCardState extends State { AkuDivider.horizontal(), 24.w.heightBox, _buildTile(R.ASSETS_MANAGE_ADDRESS_PNG, '场地地址', - widget.model.facilitiesAddress), + widget.model.facilitiesAddress!), ..._midTile(), ...widget.index != 0 ? [] @@ -71,9 +71,9 @@ class _FacilitiesCardState extends State { onPressed: () async { await Get.to(() => FacilitiesInspectReportPage( facilitiesType: widget.facilitiesType, - id: widget.model.id, + id: widget.model.id!, )); - widget.callRefresh(); + widget.callRefresh!(); }, child: '填写报告' .text @@ -95,9 +95,9 @@ class _FacilitiesCardState extends State { .onInkTap(() async { await Get.to(() => FacilitiesInspectReportPage( facilitiesType: widget.facilitiesType, - id: widget.model.id, + id: widget.model.id!, )); - widget.callRefresh(); + widget.callRefresh!(); }); } @@ -107,7 +107,7 @@ class _FacilitiesCardState extends State { return [ 15.w.heightBox, _buildTile(R.ASSETS_MANAGE_CLOCK_PNG, '任务时间', - '${DateUtil.formatDateStr(widget.model.beginDate, format: 'yyyy-MM-dd HH:mm')}-${DateUtil.formatDateStr(widget.model.endDate, format: 'HH;mm')}'), + '${DateUtil.formatDateStr(widget.model.beginDate!, format: 'yyyy-MM-dd HH:mm')}-${DateUtil.formatDateStr(widget.model.endDate!, format: 'HH;mm')}'), ]; case 1: @@ -118,22 +118,22 @@ class _FacilitiesCardState extends State { color: Color(0xFF3F8FFE)), 15.w.heightBox, _buildTile(R.ASSETS_MANAGE_CLOCK_PNG, '规定任务时间', - '${DateUtil.formatDateStr(widget.model.beginDate, format: 'yyyy-MM-dd HH:mm')}-${DateUtil.formatDateStr(widget.model.endDate, format: 'HH;mm')}'), + '${DateUtil.formatDateStr(widget.model.beginDate!, format: 'yyyy-MM-dd HH:mm')}-${DateUtil.formatDateStr(widget.model.endDate!, format: 'HH;mm')}'), 15.w.heightBox, _buildTile( R.ASSETS_MANAGE_CLOCK_PNG, '检查提交时间', - DateUtil.formatDateStr(widget.model.checkDate, + DateUtil.formatDateStr(widget.model.checkDate!, format: 'yyyy-MM-dd HH:mm')), ]; case 2: return [ 15.w.heightBox, - _buildTile(R.ASSETS_MANAGE_CLOCK_PNG, '未完成原因', widget.model.detail, + _buildTile(R.ASSETS_MANAGE_CLOCK_PNG, '未完成原因', widget.model.detail!, color: Colors.red), 15.w.heightBox, _buildTile(R.ASSETS_MANAGE_CLOCK_PNG, '规定任务时间', - '${DateUtil.formatDateStr(widget.model.beginDate, format: 'yyyy-MM-dd HH:mm')}-${DateUtil.formatDateStr(widget.model.endDate, format: 'HH;mm')}'), + '${DateUtil.formatDateStr(widget.model.beginDate!, format: 'yyyy-MM-dd HH:mm')}-${DateUtil.formatDateStr(widget.model.endDate!, format: 'HH;mm')}'), ]; default: return []; diff --git a/lib/ui/manage_pages/facilities/facilities_inspect_report_page.dart b/lib/ui/manage_pages/facilities/facilities_inspect_report_page.dart index 0d3b2f1..f9c4a0c 100644 --- a/lib/ui/manage_pages/facilities/facilities_inspect_report_page.dart +++ b/lib/ui/manage_pages/facilities/facilities_inspect_report_page.dart @@ -3,7 +3,6 @@ import 'dart:io'; // Flutter imports: import 'package:aku_community_manager/const/api.dart'; -import 'package:aku_community_manager/ui/manage_pages/facilities/facilities_map.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_button.dart'; import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; @@ -25,9 +24,9 @@ class FacilitiesInspectReportPage extends StatefulWidget { final int facilitiesType; final int id; FacilitiesInspectReportPage({ - Key key, - @required this.facilitiesType, - @required this.id, + Key? key, + /*required*/ required this.facilitiesType, + /*required*/ required this.id, }) : super(key: key); @override @@ -37,9 +36,9 @@ class FacilitiesInspectReportPage extends StatefulWidget { class _FacilitiesInspectReportPageState extends State { - List _selfPhotos; - List _scenePhotos; - String _describtion; + // List? _selfPhotos; + late List _scenePhotos; + String? _describtion; int _scene = 1;//设施设备状况 1为正常 2为异常 @override Widget build(BuildContext context) { @@ -62,7 +61,7 @@ class _FacilitiesInspectReportPageState Widget _bottomSubmitButton() { return AkuButton( onPressed: () async { - List _scenePhotoUrl = await NetUtil().uploadFiles( + List _scenePhotoUrl = await NetUtil().uploadFiles( _scenePhotos, API.upload.uploadFacilitiCheckPhoto, ); @@ -74,10 +73,10 @@ class _FacilitiesInspectReportPageState "detail": _describtion, "imgUrls": _scenePhotoUrl, }); - if (baseModel.status) { + if (baseModel.status!) { Get.back(); } - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); }, width: double.infinity, height: 100.w, @@ -87,54 +86,54 @@ class _FacilitiesInspectReportPageState ).pOnly(bottom: MediaQuery.of(context).padding.bottom); } - Widget _basicMessageCard() { - return Column( - children: [ - Row( - children: [ - '基础信息'.text.size(32.sp).color(kTextPrimaryColor).bold.make(), - Spacer(), - '检查中' - .text - .size(30.sp) - .color(FacilitiesMap.insepectColor[2]) - .bold - .make() - ], - ), - 16.w.heightBox, - _buildTile(R.ASSETS_MESSAGE_IC_PEOPLE_PNG, '检查人', '杨建'), - 12.w.heightBox, - _buildTile(R.ASSETS_MESSAGE_IC_PHONE_PNG, '联系电话', '15013103152'), - 12.w.heightBox, - _buildTile(R.ASSETS_MANAGE_ADDRESS_PNG, '检查场地', '户外3号篮球场'), - 12.w.heightBox, - _buildTile(R.ASSETS_MANAGE_CLOCK_PNG, '规定任务时间', '20200202020202020'), - ], - ) - .box - .width(double.infinity) - .padding(EdgeInsets.symmetric(vertical: 34.w, horizontal: 32.w)) - .color(Colors.white) - .make(); - } + // Widget _basicMessageCard() { + // return Column( + // children: [ + // Row( + // children: [ + // '基础信息'.text.size(32.sp).color(kTextPrimaryColor).bold.make(), + // Spacer(), + // '检查中' + // .text + // .size(30.sp) + // .color(FacilitiesMap.insepectColor[2]!) + // .bold + // .make() + // ], + // ), + // 16.w.heightBox, + // _buildTile(R.ASSETS_MESSAGE_IC_PEOPLE_PNG, '检查人', '杨建'), + // 12.w.heightBox, + // _buildTile(R.ASSETS_MESSAGE_IC_PHONE_PNG, '联系电话', '15013103152'), + // 12.w.heightBox, + // _buildTile(R.ASSETS_MANAGE_ADDRESS_PNG, '检查场地', '户外3号篮球场'), + // 12.w.heightBox, + // _buildTile(R.ASSETS_MANAGE_CLOCK_PNG, '规定任务时间', '20200202020202020'), + // ], + // ) + // .box + // .width(double.infinity) + // .padding(EdgeInsets.symmetric(vertical: 34.w, horizontal: 32.w)) + // .color(Colors.white) + // .make(); + // } - Widget _buildTile(String icon, String title, String text, - {Color color = kTextSubColor}) { - return Row( - children: [ - Image.asset( - icon, - width: 40.w, - height: 40.w, - ), - 20.w.widthBox, - title.text.size(24.sp).color(kTextSubColor).make(), - Spacer(), - text.text.size(24.sp).color(color).make(), - ], - ); - } + // Widget _buildTile(String icon, String title, String text, + // {Color color = kTextSubColor}) { + // return Row( + // children: [ + // Image.asset( + // icon, + // width: 40.w, + // height: 40.w, + // ), + // 20.w.widthBox, + // title.text.size(24.sp).color(kTextSubColor).make(), + // Spacer(), + // text.text.size(24.sp).color(color).make(), + // ], + // ); + // } Widget _descriptionCard( String title, @@ -210,30 +209,30 @@ class _FacilitiesInspectReportPageState .make(); } - Widget _selfPhotoCard() { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - '3.巡更人员自拍人脸'.text.color(kTextPrimaryColor).size(32.sp).bold.make() - ], - ), - 32.w.heightBox, - AkuPickImageWidget( - description: '上传自拍', - onChanged: (files) { - _selfPhotos = files; - setState(() {}); - }, - ), - ], - ) - .box - .color(Colors.white) - .padding(EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w)) - .make(); - } + // Widget _selfPhotoCard() { + // return Column( + // crossAxisAlignment: CrossAxisAlignment.start, + // children: [ + // Row( + // children: [ + // '3.巡更人员自拍人脸'.text.color(kTextPrimaryColor).size(32.sp).bold.make() + // ], + // ), + // 32.w.heightBox, + // AkuPickImageWidget( + // description: '上传自拍', + // onChanged: (files) { + // _selfPhotos = files; + // setState(() {}); + // }, + // ), + // ], + // ) + // .box + // .color(Colors.white) + // .padding(EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w)) + // .make(); + // } Widget _scenePhotoCard() { return Column( diff --git a/lib/ui/manage_pages/facilities/facilities_page.dart b/lib/ui/manage_pages/facilities/facilities_page.dart index cb659fd..79176e9 100644 --- a/lib/ui/manage_pages/facilities/facilities_page.dart +++ b/lib/ui/manage_pages/facilities/facilities_page.dart @@ -11,7 +11,7 @@ import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class FacilitiesPage extends StatefulWidget { final int facilitiesType; - FacilitiesPage({Key key, this.facilitiesType}) : super(key: key); + FacilitiesPage({Key? key, required this.facilitiesType}) : super(key: key); @override _FacilitiesPageState createState() => _FacilitiesPageState(); @@ -23,7 +23,7 @@ class _FacilitiesPageState extends State return ['待检查', '已完成', '未完成']; } - TabController _tabController; + TabController? _tabController; @override void initState() { @@ -42,7 +42,7 @@ class _FacilitiesPageState extends State return AkuScaffold( title: '设施检查', appBarBottom: PreferredSize( - child: AkuTabBar(controller: _tabController, tabs: _tabs), + child: AkuTabBar(controller: _tabController!, tabs: _tabs), preferredSize: Size.fromHeight(88.w), ), body: TabBarView( diff --git a/lib/ui/manage_pages/facilities/facilities_select_page.dart b/lib/ui/manage_pages/facilities/facilities_select_page.dart index 422a290..7c1075d 100644 --- a/lib/ui/manage_pages/facilities/facilities_select_page.dart +++ b/lib/ui/manage_pages/facilities/facilities_select_page.dart @@ -9,7 +9,7 @@ import 'package:velocity_x/velocity_x.dart'; import 'package:aku_community_manager/const/resource.dart'; import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart'; class FacilitiesSelectPage extends StatefulWidget { - FacilitiesSelectPage({Key key}) : super(key: key); + FacilitiesSelectPage({Key? key}) : super(key: key); @override _FacilitiesSelectPageState createState() => _FacilitiesSelectPageState(); diff --git a/lib/ui/manage_pages/facilities/facilities_view.dart b/lib/ui/manage_pages/facilities/facilities_view.dart index 294d02b..bce93c7 100644 --- a/lib/ui/manage_pages/facilities/facilities_view.dart +++ b/lib/ui/manage_pages/facilities/facilities_view.dart @@ -15,14 +15,14 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; class FacilitiesView extends StatefulWidget { final int index; final int facilitiesType; - FacilitiesView({Key key, this.index, this.facilitiesType}) : super(key: key); + FacilitiesView({Key? key, required this.index, required this.facilitiesType}) : super(key: key); @override _FacilitiesViewState createState() => _FacilitiesViewState(); } class _FacilitiesViewState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { super.initState(); @@ -31,7 +31,7 @@ class _FacilitiesViewState extends State { @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -45,7 +45,7 @@ class _FacilitiesViewState extends State { }, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => FacilitiesCheckListModel.fromJson(e)) .toList(); }, @@ -58,7 +58,7 @@ class _FacilitiesViewState extends State { facilitiesType: widget.facilitiesType, model: items[index], callRefresh: () { - _refreshController.callRefresh(); + _refreshController!.callRefresh(); }, ); }, diff --git a/lib/ui/manage_pages/green_manage/green_manage_card.dart b/lib/ui/manage_pages/green_manage/green_manage_card.dart index 3831f10..041cf0f 100644 --- a/lib/ui/manage_pages/green_manage/green_manage_card.dart +++ b/lib/ui/manage_pages/green_manage/green_manage_card.dart @@ -23,8 +23,8 @@ import 'package:aku_community_manager/ui/manage_pages/green_manage/green_manage_ class GreenManageCard extends StatefulWidget { final int index; final GreenManageListModel model; - final VoidCallback callRefresh; - GreenManageCard({Key key, this.index, this.model, this.callRefresh}) + final VoidCallback? callRefresh; + GreenManageCard({Key? key, required this.index, required this.model, this.callRefresh}) : super(key: key); @override @@ -51,17 +51,17 @@ class _GreenManageCardState extends State { child: Row( children: [ Text( - widget.model.greenAreaName, + widget.model.greenAreaName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 32.w, fontWeight: FontWeight.bold), ), Spacer(), - GreenManageMap.statusString(widget.model.status) + GreenManageMap.statusString(widget.model.status!) .text .size(28.sp) - .color(GreenManageMap.statusColor(widget.model.status)) + .color(GreenManageMap.statusColor(widget.model.status!)) .bold .make(), ], @@ -86,7 +86,7 @@ class _GreenManageCardState extends State { )), Spacer(), Text( - widget.model.content, + widget.model.content!, style: AppStyle().primaryStyle, ), ], @@ -106,7 +106,7 @@ class _GreenManageCardState extends State { )), Spacer(), Text( - widget.model.directorName, + widget.model.directorName!, style: AppStyle().primaryStyle, ), ], @@ -163,10 +163,10 @@ class _GreenManageCardState extends State { .post(API.manage.greenManageComplete, params: { "id": widget.model.id, }); - if (baseModel.status) { - widget.callRefresh(); + if (baseModel.status!) { + widget.callRefresh!(); } - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); }, ) ], diff --git a/lib/ui/manage_pages/green_manage/green_manage_details_page.dart b/lib/ui/manage_pages/green_manage/green_manage_details_page.dart index 0251083..bfc18a9 100644 --- a/lib/ui/manage_pages/green_manage/green_manage_details_page.dart +++ b/lib/ui/manage_pages/green_manage/green_manage_details_page.dart @@ -44,7 +44,7 @@ class GreenManageDetailsPage extends StatelessWidget { height: 93.w, alignment: Alignment.centerLeft, child: Text( - cardModel.greenAreaName, + cardModel.greenAreaName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 32.w, @@ -70,7 +70,7 @@ class GreenManageDetailsPage extends StatelessWidget { )), Spacer(), Text( - cardModel.content, + cardModel.content!, style: AppStyle().primaryStyle, ), ], @@ -111,7 +111,7 @@ class GreenManageDetailsPage extends StatelessWidget { )), Spacer(), Text( - cardModel.directorName, + cardModel.directorName!, style: AppStyle().primaryStyle, ), ], @@ -136,7 +136,7 @@ class GreenManageDetailsPage extends StatelessWidget { fontWeight: FontWeight.bold)), AkuBox.h(16), Text( - cardModel.content, + cardModel.content!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w), ), diff --git a/lib/ui/manage_pages/green_manage/green_manage_map.dart b/lib/ui/manage_pages/green_manage/green_manage_map.dart index d45e778..de2a2be 100644 --- a/lib/ui/manage_pages/green_manage/green_manage_map.dart +++ b/lib/ui/manage_pages/green_manage/green_manage_map.dart @@ -7,9 +7,9 @@ class GreenManageMap { case 1: return '待处理'; case 2: - return '未完成'; - case 3: return '已完成'; + case 3: + return '未完成'; default: return '未知'; } @@ -20,9 +20,9 @@ class GreenManageMap { case 1: return Color(0xFFFF8200); case 2: - return Color(0xFFE60E0E); - case 3: return Color(0xFF999999); + case 3: + return Color(0xFFE60E0E); default: return Colors.black; } diff --git a/lib/ui/manage_pages/green_manage/green_manage_page.dart b/lib/ui/manage_pages/green_manage/green_manage_page.dart index 83da589..d63401b 100644 --- a/lib/ui/manage_pages/green_manage/green_manage_page.dart +++ b/lib/ui/manage_pages/green_manage/green_manage_page.dart @@ -11,7 +11,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class GreenManagePage extends StatefulWidget { - GreenManagePage({Key key}) : super(key: key); + GreenManagePage({Key? key}) : super(key: key); @override _GreenManagePageState createState() => _GreenManagePageState(); @@ -19,8 +19,8 @@ class GreenManagePage extends StatefulWidget { class _GreenManagePageState extends State with TickerProviderStateMixin { - List _tabs = ['待处理', '未完成', '已完成']; - TabController _tabController; + List _tabs = ['待处理', '已完成', '未完成']; + TabController? _tabController; @override void initState() { @@ -30,7 +30,7 @@ class _GreenManagePageState extends State @override void dispose() { - _tabController.dispose(); + _tabController!.dispose(); super.dispose(); } @@ -40,7 +40,7 @@ class _GreenManagePageState extends State title: '绿化管理', appBarBottom: PreferredSize( preferredSize: Size.fromHeight(88.w), - child: AkuTabBar(controller: _tabController, tabs: _tabs)), + child: AkuTabBar(controller: _tabController!, tabs: _tabs)), body: TabBarView( controller: _tabController, children: List.generate( diff --git a/lib/ui/manage_pages/green_manage/green_manage_view.dart b/lib/ui/manage_pages/green_manage/green_manage_view.dart index 49fbd12..feb1b3f 100644 --- a/lib/ui/manage_pages/green_manage/green_manage_view.dart +++ b/lib/ui/manage_pages/green_manage/green_manage_view.dart @@ -12,14 +12,14 @@ import 'package:velocity_x/velocity_x.dart'; class GreenManageView extends StatefulWidget { final int index; - GreenManageView({Key key, this.index}) : super(key: key); + GreenManageView({Key? key, required this.index}) : super(key: key); @override _GreenManageViewState createState() => _GreenManageViewState(); } class _GreenManageViewState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { super.initState(); @@ -28,7 +28,7 @@ class _GreenManageViewState extends State { @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -41,7 +41,7 @@ class _GreenManageViewState extends State { }, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => GreenManageListModel.fromJson(e)) .toList(); }, @@ -53,7 +53,7 @@ class _GreenManageViewState extends State { index: widget.index, model: items[index], callRefresh: () { - _refreshController.callRefresh(); + _refreshController!.callRefresh(); }, ); }, diff --git a/lib/ui/manage_pages/house_keeping/house_keeping_add_page.dart b/lib/ui/manage_pages/house_keeping/house_keeping_add_page.dart index 5be7b8b..577615f 100644 --- a/lib/ui/manage_pages/house_keeping/house_keeping_add_page.dart +++ b/lib/ui/manage_pages/house_keeping/house_keeping_add_page.dart @@ -17,7 +17,7 @@ import 'package:velocity_x/velocity_x.dart'; import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart'; class HouseKeepingAddPage extends StatefulWidget { - HouseKeepingAddPage({Key key}) : super(key: key); + HouseKeepingAddPage({Key? key}) : super(key: key); @override _HouseKeepingAddPageState createState() => _HouseKeepingAddPageState(); @@ -27,10 +27,10 @@ class _HouseKeepingAddPageState extends State { HouseKeepingBuildingModel _buidling = HouseKeepingBuildingModel.init(); HouseKeepingBuildingModel _united = HouseKeepingBuildingModel.init(); HouseKeepingBuildingModel _houseProperty = HouseKeepingBuildingModel.init(); - TextEditingController _nameController; - TextEditingController _telController; - TextEditingController _numController; - TextEditingController _contentController; + TextEditingController? _nameController; + TextEditingController? _telController; + TextEditingController? _numController; + TextEditingController? _contentController; @override void initState() { super.initState(); @@ -42,10 +42,10 @@ class _HouseKeepingAddPageState extends State { @override void dispose() { - _nameController.dispose(); - _telController.dispose(); - _numController.dispose(); - _contentController.dispose(); + _nameController!.dispose(); + _telController!.dispose(); + _numController!.dispose(); + _contentController!.dispose(); super.dispose(); } @@ -87,14 +87,14 @@ class _HouseKeepingAddPageState extends State { API.manage.addHouseKeeping, params: { "estateId": _houseProperty.value, - "num": int.parse(_numController.text), - "leaderName": _nameController.text, - "leaderTel": _telController.text, - "content": _contentController.text, + "num": int.parse(_numController!.text), + "leaderName": _nameController!.text, + "leaderTel": _telController!.text, + "content": _contentController!.text, }, showMessage: true, ); - if (baseModel.status) { + if (baseModel.status!) { Get.back(); } } @@ -126,7 +126,7 @@ class _HouseKeepingAddPageState extends State { onTap: () async { List _models = []; - Response response = await NetUtil().dio.get( + Response response = await NetUtil().dio!.get( API.manage.allBuilding, ); if (response.statusCode == 200) { @@ -155,7 +155,7 @@ class _HouseKeepingAddPageState extends State { .color(kTextSubColor) .bold .make() - : _buidling.label.text + : _buidling.label!.text .size(28.sp) .color(kTextPrimaryColor) .make(), @@ -184,7 +184,7 @@ class _HouseKeepingAddPageState extends State { return; } - Response response = await NetUtil().dio.get(API.manage.allUnit, + Response response = await NetUtil().dio!.get(API.manage.allUnit, queryParameters: {"buildingId": _buidling.value}); if (response.statusCode == 200) { _models = (response.data as List) @@ -208,7 +208,7 @@ class _HouseKeepingAddPageState extends State { .color(kTextSubColor) .bold .make() - : _united.label.text + : _united.label!.text .size(28.sp) .color(kTextPrimaryColor) .make(), @@ -237,7 +237,7 @@ class _HouseKeepingAddPageState extends State { return; } - Response response = await NetUtil().dio.get(API.manage.allHous, + Response response = await NetUtil().dio!.get(API.manage.allHous, queryParameters: {"unitId": _united.value}); if (response.statusCode == 200) { _models = (response.data as List) @@ -261,7 +261,7 @@ class _HouseKeepingAddPageState extends State { .color(kTextSubColor) .bold .make() - : _houseProperty.label.text + : _houseProperty.label!.text .size(28.sp) .color(kTextPrimaryColor) .make(), @@ -277,7 +277,7 @@ class _HouseKeepingAddPageState extends State { } Future _showBottomSheet(String title, List models, - {Function(HouseKeepingBuildingModel model) onTap}) async { + {Function(HouseKeepingBuildingModel model)? onTap}) async { await Get.bottomSheet( CupertinoActionSheet( title: title.text @@ -290,11 +290,11 @@ class _HouseKeepingAddPageState extends State { .map( (e) => CupertinoActionSheetAction( onPressed: () { - onTap(e); + onTap!(e); Get.back(); setState(() {}); }, - child: e.label.text + child: e.label!.text .size(28.sp) .color(kTextPrimaryColor) .isIntrinsic @@ -306,8 +306,8 @@ class _HouseKeepingAddPageState extends State { ); } - Widget _inputRowTile(String title, TextEditingController controller, - {String hintText, List formatters}) { + Widget _inputRowTile(String title, TextEditingController? controller, + {String? hintText, List? formatters}) { return Container( width: double.infinity, child: Column( diff --git a/lib/ui/manage_pages/house_keeping/house_keeping_card.dart b/lib/ui/manage_pages/house_keeping/house_keeping_card.dart index 7e67d81..da8043e 100644 --- a/lib/ui/manage_pages/house_keeping/house_keeping_card.dart +++ b/lib/ui/manage_pages/house_keeping/house_keeping_card.dart @@ -10,7 +10,7 @@ import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart' class HouseKeepingCard extends StatefulWidget { final HouseKeepingListModel model; - HouseKeepingCard({Key key, this.model}) : super(key: key); + HouseKeepingCard({Key? key, required this.model}) : super(key: key); @override _HouseKeepingCardState createState() => _HouseKeepingCardState(); @@ -44,7 +44,7 @@ class _HouseKeepingCardState extends State { _rowTile( R.ASSETS_MANAGE_IC_RENWU_PNG, '房产名称', - widget.model.roomName.text + widget.model.roomName!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -60,14 +60,14 @@ class _HouseKeepingCardState extends State { _rowTile( R.ASSETS_MANAGE_IC_RENWU_PNG, '负责人姓名', - widget.model.leaderName.text + widget.model.leaderName!.text .size(24.sp) .color(kTextSubColor) .make()), _rowTile( R.ASSETS_MESSAGE_IC_PHONE_PNG, '负责人手机', - widget.model.leaderTel.text + widget.model.leaderTel!.text .size(24.sp) .color(kTextSubColor) .make()), diff --git a/lib/ui/manage_pages/house_keeping/house_keeping_detail_page.dart b/lib/ui/manage_pages/house_keeping/house_keeping_detail_page.dart index 73035e2..411049e 100644 --- a/lib/ui/manage_pages/house_keeping/house_keeping_detail_page.dart +++ b/lib/ui/manage_pages/house_keeping/house_keeping_detail_page.dart @@ -9,7 +9,7 @@ import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart' class HouseKeepingDetailPage extends StatefulWidget { final HouseKeepingListModel model; - HouseKeepingDetailPage({Key key, this.model}) : super(key: key); + HouseKeepingDetailPage({Key? key, required this.model}) : super(key: key); @override _HouseKeepingDetailPageState createState() => _HouseKeepingDetailPageState(); @@ -53,7 +53,7 @@ class _HouseKeepingDetailPageState extends State { _rowTile( R.ASSETS_MANAGE_IC_RENWU_PNG, '房产名称', - widget.model.roomName.text + widget.model.roomName!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -69,14 +69,14 @@ class _HouseKeepingDetailPageState extends State { _rowTile( R.ASSETS_MANAGE_IC_RENWU_PNG, '负责人姓名', - widget.model.leaderName.text + widget.model.leaderName!.text .size(24.sp) .color(kTextSubColor) .make()), _rowTile( R.ASSETS_MESSAGE_IC_PHONE_PNG, '负责人手机', - widget.model.leaderTel.text + widget.model.leaderTel!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -105,12 +105,12 @@ class _HouseKeepingDetailPageState extends State { 16.w.heightBox, AkuDivider.horizontal(), 20.w.heightBox, - widget.model.content.text.size(28.sp).color(kTextPrimaryColor).make(), + widget.model.content!.text.size(28.sp).color(kTextPrimaryColor).make(), 40.w.heightBox, Row( children: [ Spacer(), - widget.model.createDate.text + widget.model.createDate!.text .size(24.sp) .color(kTextSubColor) .make(), diff --git a/lib/ui/manage_pages/house_keeping/house_keeping_page.dart b/lib/ui/manage_pages/house_keeping/house_keeping_page.dart index f450222..92003b4 100644 --- a/lib/ui/manage_pages/house_keeping/house_keeping_page.dart +++ b/lib/ui/manage_pages/house_keeping/house_keeping_page.dart @@ -7,7 +7,7 @@ import 'package:get/get.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class HouseKeepingPage extends StatefulWidget { - HouseKeepingPage({Key key}) : super(key: key); + HouseKeepingPage({Key? key}) : super(key: key); @override _HouseKeepingPageState createState() => _HouseKeepingPageState(); @@ -16,7 +16,7 @@ class HouseKeepingPage extends StatefulWidget { class _HouseKeepingPageState extends State with TickerProviderStateMixin { List _tabs = ['未处理', '已处理']; - TabController _tabController; + late TabController _tabController; @override void initState() { super.initState(); @@ -25,7 +25,7 @@ class _HouseKeepingPageState extends State @override void dispose() { - _tabController?.dispose(); + _tabController.dispose(); super.dispose(); } @@ -53,7 +53,7 @@ class _HouseKeepingPageState extends State Get.to(() => HouseKeepingAddPage()); }) ], - body: HouseKeepingView(), + body: HouseKeepingView(index: 0,), ); } } diff --git a/lib/ui/manage_pages/house_keeping/house_keeping_view.dart b/lib/ui/manage_pages/house_keeping/house_keeping_view.dart index d371ca9..33ab7a3 100644 --- a/lib/ui/manage_pages/house_keeping/house_keeping_view.dart +++ b/lib/ui/manage_pages/house_keeping/house_keeping_view.dart @@ -9,14 +9,14 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; class HouseKeepingView extends StatefulWidget { final int index; - HouseKeepingView({Key key, this.index}) : super(key: key); + HouseKeepingView({Key? key, required this.index}) : super(key: key); @override _HouseKeepingViewState createState() => _HouseKeepingViewState(); } class _HouseKeepingViewState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { @@ -26,7 +26,7 @@ class _HouseKeepingViewState extends State { @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -36,7 +36,7 @@ class _HouseKeepingViewState extends State { path: API.manage.houseKeepingList, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => HouseKeepingListModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/manage_pages/hygience_manage/hygience_manage_card.dart b/lib/ui/manage_pages/hygience_manage/hygience_manage_card.dart index 272afbf..bb3dafc 100644 --- a/lib/ui/manage_pages/hygience_manage/hygience_manage_card.dart +++ b/lib/ui/manage_pages/hygience_manage/hygience_manage_card.dart @@ -22,8 +22,8 @@ import 'package:aku_community_manager/ui/manage_pages/hygience_manage/hygience_m class HyginecManageCard extends StatefulWidget { final int index; final HygienceListModel model; - final VoidCallback callRefresh; - HyginecManageCard({Key key, this.index, this.model, this.callRefresh}) + final VoidCallback? callRefresh; + HyginecManageCard({Key? key, required this.index, required this.model, this.callRefresh}) : super(key: key); @override @@ -50,7 +50,7 @@ class _HyginecManageCardState extends State { child: Row( children: [ Text( - widget.model.hygieneAreaName, + widget.model.hygieneAreaName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 32.w, @@ -85,7 +85,7 @@ class _HyginecManageCardState extends State { )), Spacer(), Text( - widget.model.content, + widget.model.content!, style: AppStyle().primaryStyle, ), ], @@ -105,7 +105,7 @@ class _HyginecManageCardState extends State { )), Spacer(), Text( - widget.model.directorName, + widget.model.directorName!, style: AppStyle().primaryStyle, ), ], @@ -162,10 +162,10 @@ class _HyginecManageCardState extends State { .post(API.manage.hygienceComplete, params: { "id": widget.model.id, }); - if (baseModel.status) { - widget.callRefresh(); + if (baseModel.status!) { + widget.callRefresh!(); } - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); }, ) ], diff --git a/lib/ui/manage_pages/hygience_manage/hygience_manage_detail_page.dart b/lib/ui/manage_pages/hygience_manage/hygience_manage_detail_page.dart index e1cf38a..8fc5d7e 100644 --- a/lib/ui/manage_pages/hygience_manage/hygience_manage_detail_page.dart +++ b/lib/ui/manage_pages/hygience_manage/hygience_manage_detail_page.dart @@ -8,8 +8,8 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:aku_community_manager/const/resource.dart'; class HygienceManageDetailPage extends StatefulWidget { - final HygienceListModel cardModel; - HygienceManageDetailPage({Key key, this.cardModel}) : super(key: key); + final HygienceListModel? cardModel; + HygienceManageDetailPage({Key? key, this.cardModel}) : super(key: key); @override _HygienceManageDetailPageState createState() => @@ -18,7 +18,7 @@ class HygienceManageDetailPage extends StatefulWidget { class _HygienceManageDetailPageState extends State { - HygienceListModel get cardModel => widget.cardModel; + HygienceListModel? get cardModel => widget.cardModel; @override Widget build(BuildContext context) { return AkuScaffold( @@ -45,7 +45,7 @@ class _HygienceManageDetailPageState extends State { height: 93.w, alignment: Alignment.centerLeft, child: Text( - cardModel.hygieneAreaName, + cardModel!.hygieneAreaName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 32.w, @@ -71,7 +71,7 @@ class _HygienceManageDetailPageState extends State { )), Spacer(), Text( - cardModel.content, + cardModel!.content!, style: AppStyle().primaryStyle, ), ], @@ -91,7 +91,7 @@ class _HygienceManageDetailPageState extends State { fontSize: 28.sp)), Spacer(), Text( - '${cardModel.createDateString}至${cardModel.endDateString}', + '${cardModel!.createDateString}至${cardModel!.endDateString}', style: AppStyle().primaryStyle, ), ], @@ -112,7 +112,7 @@ class _HygienceManageDetailPageState extends State { )), Spacer(), Text( - cardModel.directorName, + cardModel!.directorName!, style: AppStyle().primaryStyle, ), ], @@ -137,7 +137,7 @@ class _HygienceManageDetailPageState extends State { fontWeight: FontWeight.bold)), AkuBox.h(16), Text( - cardModel.content, + cardModel!.content!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w), ), diff --git a/lib/ui/manage_pages/hygience_manage/hygience_manage_page.dart b/lib/ui/manage_pages/hygience_manage/hygience_manage_page.dart index 803de46..be64915 100644 --- a/lib/ui/manage_pages/hygience_manage/hygience_manage_page.dart +++ b/lib/ui/manage_pages/hygience_manage/hygience_manage_page.dart @@ -10,7 +10,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class HygienceManagePage extends StatefulWidget { - HygienceManagePage({Key key}) : super(key: key); + HygienceManagePage({Key? key}) : super(key: key); @override _HygienceManagePageState createState() => _HygienceManagePageState(); @@ -19,7 +19,7 @@ class HygienceManagePage extends StatefulWidget { class _HygienceManagePageState extends State with TickerProviderStateMixin { List _tabs = ['待处理', '未完成', '已完成']; - TabController _tabController; + TabController? _tabController; @override void initState() { @@ -29,7 +29,7 @@ class _HygienceManagePageState extends State @override void dispose() { - _tabController.dispose(); + _tabController!.dispose(); super.dispose(); } @@ -39,7 +39,7 @@ class _HygienceManagePageState extends State title: '卫生管理', appBarBottom: PreferredSize( preferredSize: Size.fromHeight(88.w), - child: AkuTabBar(controller: _tabController, tabs: _tabs)), + child: AkuTabBar(controller: _tabController!, tabs: _tabs)), body: TabBarView( controller: _tabController, children: List.generate( diff --git a/lib/ui/manage_pages/hygience_manage/hygience_manage_view.dart b/lib/ui/manage_pages/hygience_manage/hygience_manage_view.dart index 19948a4..b092739 100644 --- a/lib/ui/manage_pages/hygience_manage/hygience_manage_view.dart +++ b/lib/ui/manage_pages/hygience_manage/hygience_manage_view.dart @@ -12,14 +12,14 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; class HygienceManageView extends StatefulWidget { final int index; - HygienceManageView({Key key, this.index}) : super(key: key); + HygienceManageView({Key? key, required this.index}) : super(key: key); @override _HygienceManageViewState createState() => _HygienceManageViewState(); } class _HygienceManageViewState extends State { - EasyRefreshController _refreshController; + late EasyRefreshController _refreshController; @override void initState() { super.initState(); @@ -41,7 +41,7 @@ class _HygienceManageViewState extends State { "hygieneStatus":widget.index+1, }, convert: (models) { - return models.tableList + return models.tableList! .map((e) => HygienceListModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart index 2e46caf..fb9f612 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart @@ -18,8 +18,8 @@ import 'package:aku_community_manager/utils/extension/aku_date.dart'; class InspectionManageCard extends StatefulWidget { final InspectionListModel cardModel; InspectionManageCard({ - Key key, - this.cardModel, + Key? key, + required this.cardModel, }) : super(key: key); @override @@ -30,11 +30,11 @@ class _InspectionManageCardState extends State { TextStyle _textstyle = TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp); Map _inspectionStatus = {1: '待巡检', 2: '已巡检', 3: '巡检中', 4: '未巡检'}; - Color _inspectionColor(int status) { + Color _inspectionColor(int? status) { switch (status) { case 1: return Color(0xFFFF4501); - break; + case 2: return Color(0xFF999999); case 3: @@ -48,7 +48,7 @@ class _InspectionManageCardState extends State { bool get isManager { UserProvider userProvider = Provider.of(context); - return userProvider.infoModel.canOperation; + return userProvider.infoModel!.canOperation; } @override @@ -57,7 +57,7 @@ class _InspectionManageCardState extends State { onPressed: () { Get.to( InspectionManageDetailsPage( - executeId: widget.cardModel.id, + executeId: widget.cardModel.id!, ), ); }, @@ -82,7 +82,7 @@ class _InspectionManageCardState extends State { fontSize: 32.sp, fontWeight: FontWeight.bold), ).expand(), - _inspectionStatus[widget.cardModel.status] + _inspectionStatus[widget.cardModel.status!]! .text .color(_inspectionColor(widget.cardModel.status)) .bold @@ -113,7 +113,7 @@ class _InspectionManageCardState extends State { ), 36.w.widthBox, Text( - widget.cardModel.code, + widget.cardModel.code!, maxLines: 2, textAlign: TextAlign.right, style: AppStyle().primaryStyle, @@ -137,7 +137,7 @@ class _InspectionManageCardState extends State { ), Spacer(), Text( - widget.cardModel.inspectorName, + widget.cardModel.inspectorName!, style: AppStyle().primaryStyle, ) ], @@ -156,13 +156,13 @@ class _InspectionManageCardState extends State { Text('规定巡检时间', style: _textstyle), Spacer(), Text( - '${widget.cardModel.beginDate.akuDate()}${widget.cardModel?.endDate == null ? '' : '~'}${widget.cardModel?.endDate == null ? '' : DateUtil.formatDateStr(widget.cardModel.endDate, format: "HH:mm")}', + '${widget.cardModel.beginDate!.akuDate()}${widget.cardModel.endDate == null ? '' : '~'}${widget.cardModel.endDate == null ? '' : DateUtil.formatDateStr(widget.cardModel.endDate!, format: "HH:mm")}', style: AppStyle().primaryStyle, ), ], ), 12.w.heightBox, - ...widget?.cardModel?.actualBeginDate == null + ...widget.cardModel.actualBeginDate == null ? [SizedBox()] : [ Row( @@ -179,14 +179,14 @@ class _InspectionManageCardState extends State { ), Spacer(), Text( - '${DateUtil.formatDateStr(widget.cardModel.actualBeginDate, format: "yyyy-MM-dd HH:mm")}', + '${DateUtil.formatDateStr(widget.cardModel.actualBeginDate!, format: "yyyy-MM-dd HH:mm")}', style: AppStyle().primaryStyle, ), ], ), 12.w.heightBox, ], - widget?.cardModel?.actualEndDate == null + widget.cardModel.actualEndDate == null ? SizedBox() : Row( children: [ @@ -202,7 +202,7 @@ class _InspectionManageCardState extends State { ), Spacer(), Text( - '${DateUtil.formatDateStr(widget.cardModel.actualEndDate, format: "yyyy-MM-dd HH:mm")}', + '${DateUtil.formatDateStr(widget.cardModel.actualEndDate!, format: "yyyy-MM-dd HH:mm")}', style: AppStyle().primaryStyle, ), ], diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart index 152973a..0292ee5 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart @@ -37,8 +37,8 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class InspectionManageDetailsPage extends StatefulWidget { final int executeId; InspectionManageDetailsPage({ - Key key, - @required this.executeId, + Key? key, + required this.executeId, }) : super(key: key); @override @@ -51,11 +51,11 @@ class _InspectionManageDetailsPageState TextStyle _textstyle = TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp); Map _inspectionStatus = {1: '待巡检', 2: '已巡检', 3: '巡检中', 4: '未巡检'}; - Color _inspectionColor(int status) { + Color _inspectionColor(int? status) { switch (status) { case 1: return Color(0xFFFF4501); - break; + case 2: return Color(0xFF999999); case 3: @@ -67,14 +67,14 @@ class _InspectionManageDetailsPageState } } - AMapController _aMapController; - Timer _timer; + AMapController? _aMapController; + Timer? _timer; bool _canUploadLocation = false; - InspectionDetailModel _detailModel; - List _pointModels; + InspectionDetailModel? _detailModel; + late List _pointModels; bool _onload = true; - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; bool _exit = false; List _points = []; List _polylines = []; @@ -120,9 +120,9 @@ class _InspectionManageDetailsPageState onRefresh: () async { _detailModel = await ManageFunc.getInspectionDetail(widget.executeId); - _pointModels = await (_detailModel.status == 1 + _pointModels = await (_detailModel!.status == 1 ? ManageFunc.getInspectionPointByPlanId( - planId: _detailModel.inspectionPlanId) + planId: _detailModel!.inspectionPlanId!) : ManageFunc.getInspectionPointByExcuteId( excuteId: widget.executeId)); _onload = false; @@ -159,30 +159,30 @@ class _InspectionManageDetailsPageState ), ), bottom: (!_onload) && - (_detailModel.status != 2) && - (_detailModel.status != 4) + (_detailModel!.status != 2) && + (_detailModel!.status != 4) ? AkuButton( - onPressed: _detailModel.status == 1 + onPressed: _detailModel!.status == 1 ? () async { BaseModel _baseModel = await NetUtil().get( API.manage.inspectionStart, params: {"executeId": widget.executeId}); - if (_baseModel.status) { - BotToast.showText(text: _baseModel.message); - _refreshController.callRefresh(); + if (_baseModel.status!) { + BotToast.showText(text: _baseModel.message!); + _refreshController!.callRefresh(); _startTimer(5000); } else { - BotToast.showText(text: _baseModel.message); + BotToast.showText(text: _baseModel.message!); } } : () async { - Barcode result = await Get.to(() => QrScannerPage()); + Barcode result = await (Get.to(() => QrScannerPage()) ); BaseModel baseModel = await ManageFunc.getInspectionFindCheckDetailByQr( - _detailModel.id, result.code); - if (baseModel.status) { + _detailModel!.id!, result.code); + if (baseModel.status!) { Get.to(() => InspectionPointInputPage( - inspectionName: _detailModel.name, + inspectionName: _detailModel!.name, qrModel: InspectionQRCodeModel.fromJson( baseModel.data), )); @@ -196,7 +196,7 @@ class _InspectionManageDetailsPageState }, padding: EdgeInsets.symmetric(vertical: 26.w), color: kPrimaryColor, - child: (_detailModel.status == 1 ? '开始巡检' : '立即扫码') + child: (_detailModel!.status == 1 ? '开始巡检' : '立即扫码') .text .black .bold @@ -303,9 +303,9 @@ class _InspectionManageDetailsPageState fontWeight: FontWeight.bold), ), Spacer(), - _inspectionStatus[_detailModel.status] + _inspectionStatus[_detailModel!.status!]! .text - .color(_inspectionColor(_detailModel.status)) + .color(_inspectionColor(_detailModel!.status)) .bold .size(28.sp) .make() @@ -332,7 +332,7 @@ class _InspectionManageDetailsPageState ), 36.w.widthBox, Text( - _detailModel.name, + _detailModel!.name!, maxLines: 2, textAlign: TextAlign.right, style: AppStyle().primaryStyle, @@ -354,7 +354,7 @@ class _InspectionManageDetailsPageState ), Spacer(), Text( - _detailModel.code, + _detailModel!.code!, style: AppStyle().primaryStyle, ) ], @@ -371,7 +371,7 @@ class _InspectionManageDetailsPageState Text('巡检时间', style: _textstyle), Spacer(), Text( - '${DateUtil.formatDateStr(_detailModel.beginDate, format: "yyyy-MM-dd HH:mm")}${_detailModel?.endDate == null ? '' : '~'}${_detailModel?.endDate == null ? '' : DateUtil.formatDateStr(_detailModel.endDate, format: "HH:mm")}', + '${DateUtil.formatDateStr(_detailModel!.beginDate!, format: "yyyy-MM-dd HH:mm")}${_detailModel?.endDate == null ? '' : '~'}${_detailModel?.endDate == null ? '' : DateUtil.formatDateStr(_detailModel!.endDate!, format: "HH:mm")}', style: AppStyle().primaryStyle, ), ], @@ -394,7 +394,7 @@ class _InspectionManageDetailsPageState ), Spacer(), Text( - '${DateUtil.formatDateStr(_detailModel.actualBeginDate, format: "yyyy-MM-dd HH:mm")}', + '${DateUtil.formatDateStr(_detailModel!.actualBeginDate!, format: "yyyy-MM-dd HH:mm")}', style: AppStyle().primaryStyle, ), ], @@ -417,7 +417,7 @@ class _InspectionManageDetailsPageState ), Spacer(), Text( - '${DateUtil.formatDateStr(_detailModel.actualEndDate, format: "yyyy-MM-dd HH:mm")}', + '${DateUtil.formatDateStr(_detailModel!.actualEndDate!, format: "yyyy-MM-dd HH:mm")}', style: AppStyle().primaryStyle, ), ], @@ -447,7 +447,7 @@ class _InspectionManageDetailsPageState Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - model.name.text + model.name!.text .color(model.completeDate == null ? kTextPrimaryColor : kTextSubColor) @@ -482,9 +482,9 @@ class _InspectionManageDetailsPageState .onInkTap(() { Get.to(() => InspectionPointDetailPage( hasScan: model.completeDate == null ? false : true, - executePointId: model.id, - executeName: _detailModel.name, - status: _detailModel.status, + executePointId: model.id!, + executeName: _detailModel!.name, + status: _detailModel!.status!, )); }); } @@ -507,9 +507,9 @@ class _InspectionManageDetailsPageState zoomGesturesEnabled: false, onMapCreated: (controller) { _aMapController = controller; - LatLng _target = LatLng(appProvider.location['latitude'], - appProvider.location['longitude']); - _aMapController.moveCamera(CameraUpdate.newCameraPosition( + LatLng _target = LatLng(appProvider.location!['latitude'] as double, + appProvider.location!['longitude'] as double); + _aMapController!.moveCamera(CameraUpdate.newCameraPosition( CameraPosition(target: _target, zoom: 19))); }, myLocationStyleOptions: MyLocationStyleOptions(true, @@ -517,13 +517,13 @@ class _InspectionManageDetailsPageState circleStrokeColor: Colors.transparent, icon: BitmapDescriptor.defaultMarkerWithHue(210)), onLocationChanged: (argument) async { - _aMapController.moveCamera(CameraUpdate.newCameraPosition( + _aMapController!.moveCamera(CameraUpdate.newCameraPosition( CameraPosition(target: argument.latLng, zoom: 19))); if (_canUploadLocation) { - BaseModel baseModel = await _uploadLocation(widget.executeId, - argument.latLng.longitude, argument.latLng.latitude); - if (!baseModel.status) { - BotToast.showText(text: baseModel.message); + BaseModel baseModel = await (_uploadLocation(widget.executeId, + argument.latLng.longitude, argument.latLng.latitude) ); + if (!baseModel.status!) { + BotToast.showText(text: baseModel.message!); } else { _canUploadLocation = false; //绘制折线 @@ -561,16 +561,16 @@ class _InspectionManageDetailsPageState .make(); } - void _creatPolyline() { - final Polyline _polyline = Polyline( - points: _points, - color: Colors.red, - width: 5.w, - ); - setState(() { - _polylines.add(_polyline); - }); - } + // void _creatPolyline() { + // final Polyline _polyline = Polyline( + // points: _points, + // color: Colors.red, + // width: 5.w, + // ); + // setState(() { + // _polylines.add(_polyline); + // }); + // } Future _uploadLocation( int executeId, double longitude, double latitude) async { diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart index 10de19d..072ee1e 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart @@ -14,7 +14,7 @@ import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; // Package imports: class InspectionManagePage extends StatefulWidget { - InspectionManagePage({Key key}) : super(key: key); + InspectionManagePage({Key? key}) : super(key: key); @override _InspectionManagePageState createState() => _InspectionManagePageState(); @@ -25,14 +25,14 @@ class _InspectionManagePageState extends State List get _tabs { UserProvider _userProvider = Provider.of(context, listen: false); - if (_userProvider.infoModel.canOperation) { + if (_userProvider.infoModel!.canOperation) { return ['待巡检', '已巡检', '巡检中', '未巡检', '全部']; } else { return ['待巡检', '已巡检', '巡检中', '未巡检', '全部']; } } - TabController _tabController; + TabController? _tabController; @override void initState() { _tabController = TabController(length: _tabs.length, vsync: this); @@ -50,7 +50,7 @@ class _InspectionManagePageState extends State return AkuScaffold( title: '巡检管理', appBarBottom: PreferredSize( - child: AkuTabBar(controller: _tabController, tabs: _tabs), + child: AkuTabBar(controller: _tabController!, tabs: _tabs), preferredSize: Size.fromHeight(96.w), ), body: TabBarView( diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_view.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_view.dart index 6509d74..303e9e4 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_manage_view.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_view.dart @@ -13,15 +13,15 @@ import 'package:aku_community_manager/ui/manage_pages/inspection_manage/inspecti import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class InspectionMangeView extends StatefulWidget { - final int inspectionStatus; - InspectionMangeView({Key key, this.inspectionStatus}) : super(key: key); + final int/*!*/ inspectionStatus; + InspectionMangeView({Key? key, required this.inspectionStatus}) : super(key: key); @override _InspectionMangeViewState createState() => _InspectionMangeViewState(); } class _InspectionMangeViewState extends State { - EasyRefreshController _easyRefreshController; + EasyRefreshController? _easyRefreshController; @override void initState() { _easyRefreshController = EasyRefreshController(); @@ -41,7 +41,7 @@ class _InspectionMangeViewState extends State { controller: _easyRefreshController, extraParams: {"inspectionStatus": widget.inspectionStatus}, convert: (models) { - return models.tableList + return models.tableList! .map((e) => InspectionListModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/manage_pages/inspection_manage/inspection_point_detail_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_point_detail_page.dart index 6ee3bb5..6115041 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_point_detail_page.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_point_detail_page.dart @@ -1,4 +1,6 @@ // Flutter imports: +import 'dart:async'; + import 'package:flutter/material.dart'; // Package imports: @@ -20,15 +22,15 @@ import 'package:aku_community_manager/utils/network/base_model.dart'; class InspectionPointDetailPage extends StatefulWidget { final int executePointId; - final String executeName; + final String? executeName; final bool hasScan; final int status; InspectionPointDetailPage({ - Key key, - this.executePointId, + Key? key, + required this.executePointId, this.executeName, - @required this.hasScan, - this.status, + /*required*/ required this.hasScan, + required this.status, }) : super(key: key); @override @@ -38,8 +40,8 @@ class InspectionPointDetailPage extends StatefulWidget { class _InspectionPointDetailPageState extends State { bool _onload = true; - EasyRefreshController _easyRefreshController; - InspectionCheckDetialModel _detialModel; + EasyRefreshController? _easyRefreshController; + late InspectionCheckDetialModel _detialModel; @override void initState() { super.initState(); @@ -64,11 +66,11 @@ class _InspectionPointDetailPageState extends State { MaterialHeader(valueColor: AlwaysStoppedAnimation(kPrimaryColor)), firstRefresh: true, onRefresh: () async { - BaseModel baseModel = await _getModels; + BaseModel baseModel = await (_getModels ); if (baseModel.data != null) { _detialModel = InspectionCheckDetialModel.fromJson(baseModel.data); _onload = false; - _easyRefreshController.finishLoad(success: false, noMore: true); + _easyRefreshController!.finishLoad(success: false, noMore: true); } setState(() {}); }, @@ -80,7 +82,7 @@ class _InspectionPointDetailPageState extends State { 16.w.heightBox, _inspectionHeadCard(_detialModel), 16.w.heightBox, - ..._detialModel.checkFBIVoList + ..._detialModel.checkFBIVoList! .map((e) => _bodyCard(e)) .toList(), _selfPhotoCard(), @@ -124,7 +126,7 @@ class _InspectionPointDetailPageState extends State { child: FadeInImage.assetNetwork( fit: BoxFit.fill, placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(ImgModel.first(_detialModel.faceImg))), + image: API.image(ImgModel.first(_detialModel.faceImg)!)), ) : DottedBorder( borderType: BorderType.RRect, @@ -176,7 +178,7 @@ class _InspectionPointDetailPageState extends State { child: FadeInImage.assetNetwork( fit: BoxFit.fill, placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(ImgModel.first(_detialModel.spaceImg))), + image: API.image(ImgModel.first(_detialModel.spaceImg)!)), ) : DottedBorder( borderType: BorderType.RRect, @@ -301,7 +303,7 @@ class _InspectionPointDetailPageState extends State { ), padding: EdgeInsets.symmetric(vertical: 16.w, horizontal: 24.w), - child: (model?.remakes ?? '') + child: (model.remakes ?? '') .text .color(kTextPrimaryColor) .size(28.sp) @@ -347,7 +349,7 @@ class _InspectionPointDetailPageState extends State { fontWeight: FontWeight.bold), ), Spacer(), - InspectionUtils.status[widget.status].text + InspectionUtils.status[widget.status]!.text .color(InspectionUtils.color(widget.status)) .bold .size(28.sp) @@ -375,7 +377,7 @@ class _InspectionPointDetailPageState extends State { ), 36.w.widthBox, Text( - widget.executeName, + widget.executeName!, maxLines: 2, textAlign: TextAlign.right, style: AppStyle().primaryStyle, @@ -397,7 +399,7 @@ class _InspectionPointDetailPageState extends State { ), Spacer(), Text( - model.code, + model.code!, style: AppStyle().primaryStyle, ) ], @@ -460,7 +462,7 @@ class _InspectionPointDetailPageState extends State { ), Spacer(), Text( - '${DateUtil.formatDateStr(model.completeDate, format: "yyyy-MM-dd HH:mm")}', + '${DateUtil.formatDateStr(model.completeDate!, format: "yyyy-MM-dd HH:mm")}', style: AppStyle().primaryStyle, ), ], diff --git a/lib/ui/manage_pages/inspection_manage/inspection_point_input_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_point_input_page.dart index 25a966b..149373e 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_point_input_page.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_point_input_page.dart @@ -26,9 +26,9 @@ import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; class InspectionPointInputPage extends StatefulWidget { - final InspectionQRCodeModel qrModel; - final String inspectionName; - InspectionPointInputPage({Key key, this.qrModel, this.inspectionName}) + final InspectionQRCodeModel? qrModel; + final String? inspectionName; + InspectionPointInputPage({Key? key, this.qrModel, this.inspectionName}) : super(key: key); @override @@ -37,15 +37,15 @@ class InspectionPointInputPage extends StatefulWidget { } class _InspectionPointInputPageState extends State { - InspectionPointSubmitModel _submitModel; - InspectionQRCodeModel _model; - List _selfPhotos; - List _scenePhots; + late InspectionPointSubmitModel _submitModel; + InspectionQRCodeModel? _model; + List? _selfPhotos; + List? _scenePhots; bool get canSubmit { if (_selfPhotos == null && _scenePhots == null) { return false; } else { - if (_submitModel.executeCheckList.isNotEmpty) { + if (_submitModel.executeCheckList!.isNotEmpty) { return true; } else { return false; @@ -58,12 +58,12 @@ class _InspectionPointInputPageState extends State { super.initState(); _model = widget.qrModel; _submitModel = InspectionPointSubmitModel( - widget.qrModel.id, + widget.qrModel!.id!, [], ); _submitModel.executeCheckList = List.generate( - widget.qrModel.checkVoList.length, - (index) => ExecuteCheckList(widget.qrModel.checkVoList[index].id, -1, ''), + widget.qrModel!.checkVoList!.length, + (index) => ExecuteCheckList(widget.qrModel!.checkVoList![index].id, -1, ''), ); } @@ -81,8 +81,8 @@ class _InspectionPointInputPageState extends State { 16.w.heightBox, _inspectionHeadCard(), 16.w.heightBox, - ..._model.checkVoList - .map((e) => _meterCard(e.name, _model.checkVoList.indexOf(e))) + ..._model!.checkVoList! + .map((e) => _meterCard(e.name, _model!.checkVoList!.indexOf(e))) .toList(), _selfPhotoCard(), _scenePhotoCard(), @@ -92,17 +92,17 @@ class _InspectionPointInputPageState extends State { onPressed: canSubmit ? () async { _submitModel.inspectionFaceImgPath = await NetUtil() - .uploadFiles(_selfPhotos, API.upload.uploadInspectionFace); + .uploadFiles(_selfPhotos!, API.upload.uploadInspectionFace); _submitModel.inspectionSpaceImgPath = await NetUtil() - .uploadFiles(_scenePhots, API.upload.uploadInspectionSpace); + .uploadFiles(_scenePhots!, API.upload.uploadInspectionSpace); BaseModel baseModel = - await ManageFunc.getSubmitPoint(_submitModel); - if (baseModel.status) { - BotToast.showText(text: baseModel.message); + await (ManageFunc.getSubmitPoint(_submitModel) ); + if (baseModel.status!) { + BotToast.showText(text: baseModel.message!); Get.to(() => InspectionPointSubmitPage()); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } } : () {}, @@ -169,7 +169,7 @@ class _InspectionPointInputPageState extends State { } Widget _meterCard( - String title, + String? title, int index, ) { return Column( @@ -185,9 +185,9 @@ class _InspectionPointInputPageState extends State { AkuSingleCheckButton( text: '正常', value: 0, - gropValue: _submitModel.executeCheckList[index].status, + gropValue: _submitModel.executeCheckList![index].status, onPressed: () { - _submitModel.executeCheckList[index].status = 0; + _submitModel.executeCheckList![index].status = 0; setState(() {}); }, ), @@ -195,9 +195,9 @@ class _InspectionPointInputPageState extends State { AkuSingleCheckButton( text: '异常', value: 1, - gropValue: _submitModel.executeCheckList[index].status, + gropValue: _submitModel.executeCheckList![index].status, onPressed: () { - _submitModel.executeCheckList[index].status = 1; + _submitModel.executeCheckList![index].status = 1; setState(() {}); }, ), @@ -244,7 +244,7 @@ class _InspectionPointInputPageState extends State { maxLines: 10, autofocus: false, onChanged: (value) { - _submitModel.executeCheckList[index].remarkes = value; + _submitModel.executeCheckList![index].remarkes = value; }, decoration: InputDecoration( hintText: '请输入备注信息', @@ -322,7 +322,7 @@ class _InspectionPointInputPageState extends State { ), 36.w.widthBox, Text( - widget.inspectionName, + widget.inspectionName!, maxLines: 2, textAlign: TextAlign.right, style: AppStyle().primaryStyle, @@ -344,7 +344,7 @@ class _InspectionPointInputPageState extends State { ), Spacer(), Text( - widget.qrModel.code, + widget.qrModel!.code!, style: AppStyle().primaryStyle, ) ], @@ -364,7 +364,7 @@ class _InspectionPointInputPageState extends State { ), Spacer(), Text( - '${widget.qrModel.name}', + '${widget.qrModel!.name}', style: AppStyle().primaryStyle, ), ], @@ -384,7 +384,7 @@ class _InspectionPointInputPageState extends State { ), Spacer(), Text( - '${widget.qrModel.inspectionPattern}', + '${widget.qrModel!.inspectionPattern}', style: AppStyle().primaryStyle, ), ], diff --git a/lib/ui/manage_pages/inspection_manage/inspection_point_submit_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_point_submit_page.dart index ee09a84..f33f4b1 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_point_submit_page.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_point_submit_page.dart @@ -12,7 +12,7 @@ import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class InspectionPointSubmitPage extends StatefulWidget { - InspectionPointSubmitPage({Key key}) : super(key: key); + InspectionPointSubmitPage({Key? key}) : super(key: key); @override _InspectionPointSubmitPageState createState() => diff --git a/lib/ui/manage_pages/inspection_manage/inspection_utils.dart b/lib/ui/manage_pages/inspection_manage/inspection_utils.dart index e67c128..42c4a88 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_utils.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_utils.dart @@ -15,7 +15,7 @@ class InspectionUtils { switch (status) { case 1: return Color(0xFFFF4501); - break; + case 2: return Color(0xFF999999); case 3: diff --git a/lib/ui/manage_pages/inspection_manage/qr_scanner_page.dart b/lib/ui/manage_pages/inspection_manage/qr_scanner_page.dart index 66b019f..0aa2a1e 100644 --- a/lib/ui/manage_pages/inspection_manage/qr_scanner_page.dart +++ b/lib/ui/manage_pages/inspection_manage/qr_scanner_page.dart @@ -10,7 +10,7 @@ import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class QrScannerPage extends StatefulWidget { - QrScannerPage({Key key}) : super(key: key); + QrScannerPage({Key? key}) : super(key: key); @override _QrScannerPageState createState() => _QrScannerPageState(); @@ -18,8 +18,8 @@ class QrScannerPage extends StatefulWidget { class _QrScannerPageState extends State { GlobalKey _qrKey = GlobalKey(debugLabel: 'QR'); - QRViewController _qrViewController; - Barcode result; + QRViewController? _qrViewController; + Barcode? result; @override void initState() { super.initState(); diff --git a/lib/ui/manage_pages/interview/interview_card.dart b/lib/ui/manage_pages/interview/interview_card.dart index b66c8ef..454c3a0 100644 --- a/lib/ui/manage_pages/interview/interview_card.dart +++ b/lib/ui/manage_pages/interview/interview_card.dart @@ -14,7 +14,7 @@ import 'package:aku_community_manager/ui/manage_pages/interview/interview_feedba class InterviewCard extends StatefulWidget { final InterviewListModel model; - InterviewCard({Key key, this.model}) : super(key: key); + InterviewCard({Key? key, required this.model}) : super(key: key); @override _InterviewCardState createState() => _InterviewCardState(); @@ -63,14 +63,14 @@ class _InterviewCardState extends State { _rowTile( R.ASSETS_MANAGE_IC_RENWU_PNG, '客户电话', - widget.model.tel.text + widget.model.tel!.text .size(24.sp) .color(kTextSubColor) .make()), _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '创建时间', - widget.model.createDate.text + widget.model.createDate!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -80,7 +80,7 @@ class _InterviewCardState extends State { _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '访谈时间', - widget.model.interviewDate.text + widget.model.interviewDate!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -91,28 +91,28 @@ class _InterviewCardState extends State { _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '回复时间', - widget.model.feedbackDate.text + widget.model.feedbackDate!.text .size(24.sp) .color(kTextSubColor) .make()), ], ].sepWidget(separate: 12.w.heightBox), - _getBottomButtons(widget.model.status), + _getBottomButtons(widget.model.status!)!, ], ), ), ); } - Widget _getBottomButtons(int status) { - MaterialButton button; + Widget? _getBottomButtons(int status) { + MaterialButton? button; switch (status) { case 1: button = _bottomButton('访谈回复', () async { await Get.to(() => InterviewFeedBackPage( model: widget.model, )); - }, Color(0xFFFFC40C), Colors.black); + }, Color(0xFFFFC40C), Colors.black) as MaterialButton?; break; case 2: button = null; @@ -144,7 +144,7 @@ class _InterviewCardState extends State { side: !hasBorder ? BorderSide.none : BorderSide(color: Colors.black), ), color: color, - onPressed: onPressed, + onPressed: onPressed as void Function()?, elevation: 0, focusElevation: 0, hoverElevation: 0, diff --git a/lib/ui/manage_pages/interview/interview_detail_page.dart b/lib/ui/manage_pages/interview/interview_detail_page.dart index 823e780..465a118 100644 --- a/lib/ui/manage_pages/interview/interview_detail_page.dart +++ b/lib/ui/manage_pages/interview/interview_detail_page.dart @@ -8,8 +8,8 @@ import 'package:velocity_x/velocity_x.dart'; import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart'; class InterviewDetailPage extends StatefulWidget { - final InterviewListModel model; - InterviewDetailPage({Key key, this.model}) : super(key: key); + final InterviewListModel/*!*/ model; + InterviewDetailPage({Key? key, required this.model}) : super(key: key); @override _InterviewDetailPageState createState() => _InterviewDetailPageState(); @@ -64,11 +64,11 @@ class _InterviewDetailPageState extends State { .color(kTextSubColor) .make()), _rowTile(R.ASSETS_MANAGE_IC_RENWU_PNG, '客户电话', - widget.model.tel.text.size(24.sp).color(kTextSubColor).make()), + widget.model.tel!.text.size(24.sp).color(kTextSubColor).make()), _rowTile( R.ASSETS_OUTDOOR_IC_ADDRESS_PNG, '创建时间', - widget.model.createDate.text + widget.model.createDate!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -78,7 +78,7 @@ class _InterviewDetailPageState extends State { _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '访谈时间', - widget.model.interviewDate.text + widget.model.interviewDate!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -89,7 +89,7 @@ class _InterviewDetailPageState extends State { _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '回复时间', - widget.model.feedbackDate.text + widget.model.feedbackDate!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -119,12 +119,12 @@ class _InterviewDetailPageState extends State { 16.w.heightBox, AkuDivider.horizontal(), 20.w.heightBox, - widget.model.content.text.size(28.sp).color(kTextPrimaryColor).make(), + widget.model.content!.text.size(28.sp).color(kTextPrimaryColor).make(), 40.w.heightBox, Row( children: [ Spacer(), - widget.model.interviewDate.text + widget.model.interviewDate!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -148,7 +148,7 @@ class _InterviewDetailPageState extends State { ], ), 12.w.heightBox, - widget.model.feedbackContent.text + widget.model.feedbackContent!.text .size(28.sp) .color(kTextPrimaryColor) .make(), @@ -156,7 +156,7 @@ class _InterviewDetailPageState extends State { Row( children: [ Spacer(), - widget.model.feedbackDate.text + widget.model.feedbackDate!.text .size(24.sp) .color(kTextSubColor) .make(), diff --git a/lib/ui/manage_pages/interview/interview_feedback_page.dart b/lib/ui/manage_pages/interview/interview_feedback_page.dart index 26ae9f3..569a38b 100644 --- a/lib/ui/manage_pages/interview/interview_feedback_page.dart +++ b/lib/ui/manage_pages/interview/interview_feedback_page.dart @@ -14,14 +14,14 @@ import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart' class InterviewFeedBackPage extends StatefulWidget { final InterviewListModel model; - InterviewFeedBackPage({Key key, this.model}) : super(key: key); + InterviewFeedBackPage({Key? key, required this.model}) : super(key: key); @override _InterviewFeedBackPageState createState() => _InterviewFeedBackPageState(); } class _InterviewFeedBackPageState extends State { - TextEditingController _textEditingController; + TextEditingController? _textEditingController; @override void initState() { super.initState(); @@ -30,7 +30,7 @@ class _InterviewFeedBackPageState extends State { @override void dispose() { - _textEditingController.dispose(); + _textEditingController!.dispose(); super.dispose(); } @@ -53,11 +53,11 @@ class _InterviewFeedBackPageState extends State { API.manage.interviewFeedBack, params: { "id": widget.model.id, - "feedbackContent": _textEditingController.text, + "feedbackContent": _textEditingController!.text, }, showMessage: true, ); - if (baseModel.status) { + if (baseModel.status!) { Get.back(); } }, @@ -90,8 +90,8 @@ class _InterviewFeedBackPageState extends State { } Widget _inputWidget( - TextEditingController controller, - {String hintText,} + TextEditingController? controller, + {String? hintText,} ) { return Container( width: double.infinity, @@ -108,7 +108,9 @@ class _InterviewFeedBackPageState extends State { autofocus: false, controller: controller, onChanged: (value) { - controller.text = value; + setState(() { + + }); }, decoration: InputDecoration( hintText: hintText??'', @@ -158,11 +160,11 @@ class _InterviewFeedBackPageState extends State { .color(kTextSubColor) .make()), _rowTile(R.ASSETS_MANAGE_IC_RENWU_PNG, '客户电话', - widget.model.tel.text.size(24.sp).color(kTextSubColor).make()), + widget.model.tel!.text.size(24.sp).color(kTextSubColor).make()), _rowTile( R.ASSETS_OUTDOOR_IC_ADDRESS_PNG, '创建时间', - widget.model.createDate.text + widget.model.createDate!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -172,7 +174,7 @@ class _InterviewFeedBackPageState extends State { _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '访谈时间', - widget.model.interviewDate.text + widget.model.interviewDate!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -183,7 +185,7 @@ class _InterviewFeedBackPageState extends State { _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '回复时间', - widget.model.feedbackDate.text + widget.model.feedbackDate!.text .size(24.sp) .color(kTextSubColor) .make()), diff --git a/lib/ui/manage_pages/interview/interview_page.dart b/lib/ui/manage_pages/interview/interview_page.dart index 52fadd2..83e3d23 100644 --- a/lib/ui/manage_pages/interview/interview_page.dart +++ b/lib/ui/manage_pages/interview/interview_page.dart @@ -5,14 +5,14 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class InterviewPage extends StatefulWidget { - InterviewPage({Key key}) : super(key: key); + InterviewPage({Key? key}) : super(key: key); @override _InterviewPageState createState() => _InterviewPageState(); } class _InterviewPageState extends State with TickerProviderStateMixin { - TabController _tabController; + TabController? _tabController; @override void initState() { super.initState(); @@ -23,7 +23,7 @@ class _InterviewPageState extends State with TickerProviderStateM Widget build(BuildContext context) { return AkuScaffold( title: '访谈管理', - appBarBottom: PreferredSize(preferredSize: Size.fromHeight(88.w),child: AkuTabBar(controller: _tabController, tabs: _tabs),), + appBarBottom: PreferredSize(preferredSize: Size.fromHeight(88.w),child: AkuTabBar(controller: _tabController!, tabs: _tabs),), body:TabBarView( controller: _tabController, children: List.generate(_tabs.length, (index) => InterviewView(index:index))), diff --git a/lib/ui/manage_pages/interview/interview_view.dart b/lib/ui/manage_pages/interview/interview_view.dart index 05ed13a..d6f58c5 100644 --- a/lib/ui/manage_pages/interview/interview_view.dart +++ b/lib/ui/manage_pages/interview/interview_view.dart @@ -9,14 +9,14 @@ import 'package:velocity_x/velocity_x.dart'; class InterviewView extends StatefulWidget { final int index; - InterviewView({Key key, this.index}) : super(key: key); + InterviewView({Key? key, required this.index}) : super(key: key); @override _InterviewViewState createState() => _InterviewViewState(); } class _InterviewViewState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { super.initState(); @@ -25,7 +25,7 @@ class _InterviewViewState extends State { @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -38,7 +38,7 @@ class _InterviewViewState extends State { "interviewStatus": widget.index + 1, }, convert: (models) { - return models.tableList + return models.tableList! .map((e) => InterviewListModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/manage_pages/key_manage/key_aplly_input_page.dart b/lib/ui/manage_pages/key_manage/key_aplly_input_page.dart index 4d1e2ec..c176fa1 100644 --- a/lib/ui/manage_pages/key_manage/key_aplly_input_page.dart +++ b/lib/ui/manage_pages/key_manage/key_aplly_input_page.dart @@ -15,34 +15,34 @@ import 'package:aku_community_manager/ui/widgets/inner/aku_bottom_button.dart'; import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart'; class KeyApplyInputPage extends StatefulWidget { - KeyApplyInputPage({Key key}) : super(key: key); + KeyApplyInputPage({Key? key}) : super(key: key); @override _KeyApplyInputPageState createState() => _KeyApplyInputPageState(); } class _KeyApplyInputPageState extends State { - TextEditingController _nameController; - TextEditingController _phoneController; - TextEditingController _roleController; - TextEditingController _placeController; + TextEditingController? _nameController; + TextEditingController? _phoneController; + TextEditingController? _roleController; + TextEditingController? _placeController; bool get canSubmit { - if (TextUtil.isEmpty(_nameController.text)) { + if (TextUtil.isEmpty(_nameController!.text)) { BotToast.showText(text: '申请人姓名不能为空!'); return false; } - if (TextUtil.isEmpty(_phoneController.text)) { + if (TextUtil.isEmpty(_phoneController!.text)) { BotToast.showText(text: '申请人联系方式不能为空!'); return false; - } else if (!_phoneFormat(_phoneController.text)) { + } else if (!_phoneFormat(_phoneController!.text)) { BotToast.showText(text: '收件人联系方式格式错误!'); return false; } - if (TextUtil.isEmpty(_roleController.text)) { + if (TextUtil.isEmpty(_roleController!.text)) { BotToast.showText(text: '身份不能为空!'); return false; } - if (TextUtil.isEmpty(_placeController.text)) { + if (TextUtil.isEmpty(_placeController!.text)) { BotToast.showText(text: '对应设备不能为空!'); return false; } @@ -100,8 +100,8 @@ class _KeyApplyInputPageState extends State { ); } - Widget _inputRowTile(String title, TextEditingController controller, - {String hintText, List formatters}) { + Widget _inputRowTile(String title, TextEditingController? controller, + {String? hintText, List? formatters}) { return Container( width: double.infinity, child: Column( diff --git a/lib/ui/manage_pages/key_manage/key_apply_record_card.dart b/lib/ui/manage_pages/key_manage/key_apply_record_card.dart index d4be1f9..cbda4a8 100644 --- a/lib/ui/manage_pages/key_manage/key_apply_record_card.dart +++ b/lib/ui/manage_pages/key_manage/key_apply_record_card.dart @@ -19,8 +19,8 @@ import 'package:aku_community_manager/ui/manage_pages/key_manage/key_manage_map. class KeyApplyRecordCard extends StatefulWidget { final int index; final KeyManageRecordListModel model; - final VoidCallback callRefresh; - KeyApplyRecordCard({Key key, this.index, this.model, this.callRefresh}) : super(key: key); + final VoidCallback? callRefresh; + KeyApplyRecordCard({Key? key, required this.index, required this.model, this.callRefresh}) : super(key: key); @override _KeyApplyRecordCardState createState() => _KeyApplyRecordCardState(); @@ -39,16 +39,16 @@ class _KeyApplyRecordCardState extends State { children: [ Row( children: [ - widget.model.facilityName.text + widget.model.facilityName!.text .size(32.sp) .color(kTextPrimaryColor) .bold .make(), Spacer(), - KeyManageMap.keyRecordStatus[widget.model.status].text + KeyManageMap.keyRecordStatus[widget.model.status!]!.text .size(28.sp) .bold - .color(KeyManageMap.keyRecordStatusColor[widget.model.status]) + .color(KeyManageMap.keyRecordStatusColor[widget.model.status!]!) .make() ], ), @@ -59,14 +59,14 @@ class _KeyApplyRecordCardState extends State { _rowTile( R.ASSETS_MANAGE_LOCK_PNG, '对应设备位置', - widget.model.correspondingPosition.text + widget.model.correspondingPosition!.text .size(24.sp) .color(kTextSubColor) .make()), _rowTile( R.ASSETS_OUTDOOR_IC_ADDRESS_PNG, '存放地址', - widget.model.storageLocation.text + widget.model.storageLocation!.text .size(24.sp) .color(kTextSubColor) .make()), @@ -85,7 +85,7 @@ class _KeyApplyRecordCardState extends State { } Widget _getBottomButtons(int status) { - MaterialButton button; + MaterialButton? button; switch (status) { case 1: // button = _bottomButton('申请钥匙', () {}, Color(0xFFFFC40C), Colors.black); @@ -96,9 +96,9 @@ class _KeyApplyRecordCardState extends State { button = _bottomButton('重新申请', () async { BaseModel baseModel = await NetUtil() .post(API.manage.applyKey, params: {"keyId": widget.model.id}); - BotToast.showText(text: baseModel.message); - widget.callRefresh(); - }, Colors.white, Colors.black); + BotToast.showText(text: baseModel.message!); + widget.callRefresh!(); + }, Colors.white, Colors.black) as MaterialButton?; break; case 4: break; @@ -125,7 +125,7 @@ class _KeyApplyRecordCardState extends State { padding: EdgeInsets.symmetric(vertical: 8.w, horizontal: 24.w), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(74.w)), color: color, - onPressed: onPressed, + onPressed: onPressed as void Function()?, elevation: 0, focusElevation: 0, hoverElevation: 0, diff --git a/lib/ui/manage_pages/key_manage/key_apply_record_page.dart b/lib/ui/manage_pages/key_manage/key_apply_record_page.dart index b00d382..e4e0c35 100644 --- a/lib/ui/manage_pages/key_manage/key_apply_record_page.dart +++ b/lib/ui/manage_pages/key_manage/key_apply_record_page.dart @@ -10,7 +10,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class KeyApplyRecordPage extends StatefulWidget { - KeyApplyRecordPage({Key key}) : super(key: key); + KeyApplyRecordPage({Key? key}) : super(key: key); @override _KeyApplyRecordPageState createState() => _KeyApplyRecordPageState(); @@ -19,7 +19,7 @@ class KeyApplyRecordPage extends StatefulWidget { class _KeyApplyRecordPageState extends State with TickerProviderStateMixin { List _tabs = ['全部', '审核中', '已通过', '已驳回','已归还']; - TabController _tabController; + TabController? _tabController; @override void initState() { super.initState(); @@ -37,7 +37,7 @@ class _KeyApplyRecordPageState extends State return AkuScaffold( title: '申请记录', appBarBottom: PreferredSize( - child: AkuTabBar(controller: _tabController, tabs: _tabs), + child: AkuTabBar(controller: _tabController!, tabs: _tabs), preferredSize: Size.fromHeight(88.w), ), body: TabBarView( diff --git a/lib/ui/manage_pages/key_manage/key_apply_record_view.dart b/lib/ui/manage_pages/key_manage/key_apply_record_view.dart index fc380cb..853a0f0 100644 --- a/lib/ui/manage_pages/key_manage/key_apply_record_view.dart +++ b/lib/ui/manage_pages/key_manage/key_apply_record_view.dart @@ -14,7 +14,7 @@ import 'package:velocity_x/velocity_x.dart'; class KeyApplyRecordView extends StatefulWidget { final int index; - KeyApplyRecordView({Key key, this.index}) : super(key: key); + KeyApplyRecordView({Key? key, required this.index}) : super(key: key); @override _KeyApplyRecordViewState createState() => _KeyApplyRecordViewState(); @@ -22,7 +22,7 @@ class KeyApplyRecordView extends StatefulWidget { class _KeyApplyRecordViewState extends State with TickerProviderStateMixin { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { super.initState(); @@ -31,7 +31,7 @@ class _KeyApplyRecordViewState extends State @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -44,7 +44,7 @@ class _KeyApplyRecordViewState extends State }, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => KeyManageRecordListModel.fromJson(e)) .toList(); }, @@ -56,7 +56,7 @@ class _KeyApplyRecordViewState extends State index: widget.index, model: items[index], callRefresh: () { - _refreshController.callRefresh(); + _refreshController!.callRefresh(); }, ); }, diff --git a/lib/ui/manage_pages/key_manage/key_manage_card.dart b/lib/ui/manage_pages/key_manage/key_manage_card.dart index 634e535..2cd0c09 100644 --- a/lib/ui/manage_pages/key_manage/key_manage_card.dart +++ b/lib/ui/manage_pages/key_manage/key_manage_card.dart @@ -18,10 +18,10 @@ import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart' import 'package:aku_community_manager/ui/manage_pages/key_manage/key_manage_map.dart'; class KeyManageCard extends StatefulWidget { - final int index; + final int/*!*/ index; final KeyMangeAllKeyModel model; - final VoidCallback callRefresh; - KeyManageCard({Key key, this.index, this.model, this.callRefresh}) + final VoidCallback? callRefresh; + KeyManageCard({Key? key, required this.index, required this.model, this.callRefresh}) : super(key: key); @override @@ -41,16 +41,16 @@ class _KeyManageCardState extends State { children: [ Row( children: [ - widget.model.facilityName.text + widget.model.facilityName!.text .size(32.sp) .color(kTextPrimaryColor) .bold .make(), Spacer(), - KeyManageMap.keyStatus[widget.model.status].text + KeyManageMap.keyStatus[widget.model.status!]!.text .size(28.sp) .bold - .color(KeyManageMap.keyStatusColor[widget.model.status]) + .color(KeyManageMap.keyStatusColor[widget.model.status!]!) .make() ], ), @@ -69,14 +69,14 @@ class _KeyManageCardState extends State { _rowTile( R.ASSETS_MANAGE_LOCK_PNG, '对应设备位置', - widget.model.correspondingPosition.text + widget.model.correspondingPosition!.text .size(24.sp) .color(kTextSubColor) .make()), _rowTile( R.ASSETS_OUTDOOR_IC_ADDRESS_PNG, '存放地址', - widget.model.storageLocation.text + widget.model.storageLocation!.text .size(24.sp) .color(kTextSubColor) .make()) @@ -87,29 +87,29 @@ class _KeyManageCardState extends State { ); } - Widget _getBottomButtons(int status) { - MaterialButton button; + Widget _getBottomButtons(int? status) { + MaterialButton? button; switch (status) { case 1: button = _bottomButton('申请钥匙', () async { BaseModel baseModel = await NetUtil() .post(API.manage.applyKey, params: {"keyId": widget.model.id}); - BotToast.showText(text: baseModel.message); - widget.callRefresh(); - }, Color(0xFFFFC40C), Colors.black); + BotToast.showText(text: baseModel.message!); + widget.callRefresh!(); + }, Color(0xFFFFC40C), Colors.black) as MaterialButton?; break; case 2: button = _bottomButton('归还钥匙', () async { BaseModel baseModel = await NetUtil() .get(API.manage.returnKey, params: {"keyId": widget.model.id}); - BotToast.showText(text: baseModel.message); - widget.callRefresh(); - }, Color(0xFFFFC40C), Colors.black); + BotToast.showText(text: baseModel.message!); + widget.callRefresh!(); + }, Color(0xFFFFC40C), Colors.black) as MaterialButton?; break; case 3: button = _bottomButton('联系物业', () async { await launch('tel:057-87760023'); - }, Colors.white, Colors.black, hasBorder: true); + }, Colors.white, Colors.black, hasBorder: true) as MaterialButton?; break; // case 4: // button = _bottomButton('归还钥匙', () {}, Colors.black, Colors.white); @@ -146,7 +146,7 @@ class _KeyManageCardState extends State { side: !hasBorder ? BorderSide.none : BorderSide(color: Colors.black), ), color: color, - onPressed: onPressed, + onPressed: onPressed as void Function()?, elevation: 0, focusElevation: 0, hoverElevation: 0, diff --git a/lib/ui/manage_pages/key_manage/key_manage_page.dart b/lib/ui/manage_pages/key_manage/key_manage_page.dart index 4b36efd..702eaa2 100644 --- a/lib/ui/manage_pages/key_manage/key_manage_page.dart +++ b/lib/ui/manage_pages/key_manage/key_manage_page.dart @@ -14,7 +14,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class KeyManagePage extends StatefulWidget { - KeyManagePage({Key key}) : super(key: key); + KeyManagePage({Key? key}) : super(key: key); @override _KeyManagePageState createState() => _KeyManagePageState(); @@ -23,7 +23,7 @@ class KeyManagePage extends StatefulWidget { class _KeyManagePageState extends State with TickerProviderStateMixin { List _tabs = ['钥匙列表', '未归还钥匙']; - TabController _tabController; + TabController? _tabController; @override void initState() { super.initState(); @@ -52,7 +52,7 @@ class _KeyManagePageState extends State ), ], appBarBottom: PreferredSize( - child: AkuTabBar(controller: _tabController, tabs: _tabs), + child: AkuTabBar(controller: _tabController!, tabs: _tabs), preferredSize: Size.fromHeight(88.w), ), body: TabBarView( diff --git a/lib/ui/manage_pages/key_manage/key_manage_view.dart b/lib/ui/manage_pages/key_manage/key_manage_view.dart index cc24b9f..6bfa83c 100644 --- a/lib/ui/manage_pages/key_manage/key_manage_view.dart +++ b/lib/ui/manage_pages/key_manage/key_manage_view.dart @@ -14,14 +14,14 @@ import 'package:velocity_x/velocity_x.dart'; class KeyManageView extends StatefulWidget { final int index; - KeyManageView({Key key, this.index}) : super(key: key); + KeyManageView({Key? key, required this.index}) : super(key: key); @override _KeyManageViewState createState() => _KeyManageViewState(); } class _KeyManageViewState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { @@ -31,7 +31,7 @@ class _KeyManageViewState extends State { @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -43,7 +43,7 @@ class _KeyManageViewState extends State { : API.manage.getNOReturnList, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => KeyMangeAllKeyModel.fromJson(e)) .toList(); }, @@ -55,7 +55,7 @@ class _KeyManageViewState extends State { index: widget.index, model: items[index], callRefresh: () { - _refreshController.callRefresh(); + _refreshController!.callRefresh(); }, ); }, diff --git a/lib/ui/manage_pages/key_manage/select_place_page.dart b/lib/ui/manage_pages/key_manage/select_place_page.dart index 619cb30..c8d1199 100644 --- a/lib/ui/manage_pages/key_manage/select_place_page.dart +++ b/lib/ui/manage_pages/key_manage/select_place_page.dart @@ -15,7 +15,7 @@ import 'package:aku_community_manager/ui/manage_pages/key_manage/key_aplly_input import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class SelectPlacePage extends StatefulWidget { - SelectPlacePage({Key key}) : super(key: key); + SelectPlacePage({Key? key}) : super(key: key); @override _SelectPlacePageState createState() => _SelectPlacePageState(); diff --git a/lib/ui/manage_pages/packages_manage/add_package_page.dart b/lib/ui/manage_pages/packages_manage/add_package_page.dart index 34e4108..b4124cc 100644 --- a/lib/ui/manage_pages/packages_manage/add_package_page.dart +++ b/lib/ui/manage_pages/packages_manage/add_package_page.dart @@ -19,39 +19,39 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart'; class AddPackagePage extends StatefulWidget { - AddPackagePage({Key key}) : super(key: key); + AddPackagePage({Key? key}) : super(key: key); @override _AddPackagePageState createState() => _AddPackagePageState(); } class _AddPackagePageState extends State { - TextEditingController _nameController; - TextEditingController _phoneController; - TextEditingController _addressController; - TextEditingController _codeController; - TextEditingController _placeController; + TextEditingController? _nameController; + TextEditingController? _phoneController; + TextEditingController? _addressController; + TextEditingController? _codeController; + TextEditingController? _placeController; bool get canSubmit { - if (TextUtil.isEmpty(_nameController.text)) { + if (TextUtil.isEmpty(_nameController!.text)) { BotToast.showText(text: '收件人姓名不能为空!'); return false; } - if (TextUtil.isEmpty(_phoneController.text)) { + if (TextUtil.isEmpty(_phoneController!.text)) { BotToast.showText(text: '收件人联系方式不能为空!'); return false; - } else if (!_phoneFormat(_phoneController.text)) { + } else if (!_phoneFormat(_phoneController!.text)) { BotToast.showText(text: '收件人联系方式格式错误!'); return false; } - if (TextUtil.isEmpty(_addressController.text)) { + if (TextUtil.isEmpty(_addressController!.text)) { BotToast.showText(text: '楼层地址不能为空!'); return false; } - if (TextUtil.isEmpty(_codeController.text)) { + if (TextUtil.isEmpty(_codeController!.text)) { BotToast.showText(text: '包裹单号不能为空!'); return false; } - if (TextUtil.isEmpty(_placeController.text)) { + if (TextUtil.isEmpty(_placeController!.text)) { BotToast.showText(text: '放置位置不能为空!'); return false; } @@ -111,11 +111,11 @@ class _AddPackagePageState extends State { onTap: () async { canSubmit ? await addPackage( - code: _codeController.text, - addresseeName: _nameController.text, - addresseeTel: _phoneController.text, - address: _addressController.text, - placePosition: _placeController.text) + code: _codeController!.text, + addresseeName: _nameController!.text, + addresseeTel: _phoneController!.text, + address: _addressController!.text, + placePosition: _placeController!.text) : null; }, ), @@ -123,11 +123,11 @@ class _AddPackagePageState extends State { } Future addPackage( - {@required String code, - @required String addresseeName, - @required String addresseeTel, - @required String address, - @required String placePosition}) async { + {required String code, + required String addresseeName, + required String addresseeTel, + required String address, + required String placePosition}) async { BaseModel baseModel = await NetUtil().post( API.manage.addPackage, params: { @@ -139,16 +139,16 @@ class _AddPackagePageState extends State { }, ); - if (!baseModel.status) { - BotToast.showText(text: baseModel.message); + if (!baseModel.status!) { + BotToast.showText(text: baseModel.message!); return; } - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); Get.back(); } - Widget _inputRowTile(String title, TextEditingController controller, - {String hintText, List formatters}) { + Widget _inputRowTile(String title, TextEditingController? controller, + {String? hintText, List? formatters}) { return Container( width: double.infinity, child: Column( diff --git a/lib/ui/manage_pages/packages_manage/packages_manage_card.dart b/lib/ui/manage_pages/packages_manage/packages_manage_card.dart index bb9a751..6d57940 100644 --- a/lib/ui/manage_pages/packages_manage/packages_manage_card.dart +++ b/lib/ui/manage_pages/packages_manage/packages_manage_card.dart @@ -22,8 +22,8 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class PackageManageCard extends StatefulWidget { final int index; final PackageManageListModel model; - final VoidCallback callRefresh; - PackageManageCard({Key key, this.index, this.model, this.callRefresh}) + final VoidCallback? callRefresh; + PackageManageCard({Key? key, required this.index, required this.model, this.callRefresh}) : super(key: key); @override @@ -45,7 +45,7 @@ class _PackageManageCardState extends State { children: [ Row( children: [ - widget.model.placePosition.text + widget.model.placePosition!.text .size(32.sp) .color(kTextPrimaryColor) .bold @@ -65,12 +65,12 @@ class _PackageManageCardState extends State { _rowTile( R.ASSETS_MANAGE_IC_RENWU_PNG, '包裹代收', - widget.model.code.text.size(24.sp).color(kTextSubColor).make(), + widget.model.code!.text.size(24.sp).color(kTextSubColor).make(), ), _rowTile( R.ASSETS_MANAGE_IC_RENWU_PNG, '收件人', - widget.model.addresseeName.text + widget.model.addresseeName!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -78,7 +78,7 @@ class _PackageManageCardState extends State { _rowTile( R.ASSETS_MESSAGE_IC_PHONE_PNG, '联系方式', - widget.model.addresseeTel.text + widget.model.addresseeTel!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -86,7 +86,7 @@ class _PackageManageCardState extends State { _rowTile( R.ASSETS_MANAGE_IC_TIME_PNG, '送达时间', - DateUtil.formatDateStr(widget.model.createDate, + DateUtil.formatDateStr(widget.model.createDate!, format: 'yyyy-MM-dd HH:mm') .text .size(24.sp) @@ -113,8 +113,8 @@ class _PackageManageCardState extends State { borderRadius: BorderRadius.circular(74.w)), color: Colors.black, onPressed: () async { - await _remindPackage(widget.model.id); - widget.callRefresh(); + await _remindPackage(widget.model.id!); + widget.callRefresh!(); }, elevation: 0, focusElevation: 0, @@ -130,8 +130,8 @@ class _PackageManageCardState extends State { Future _remindPackage(int packageCollectionId) async { BaseModel baseModel = await NetUtil().get(API.manage.packageManageRemind, params: {"packageCollectionId": packageCollectionId}); - if (!baseModel.status) { - BotToast.showText(text: baseModel.message); + if (!baseModel.status!) { + BotToast.showText(text: baseModel.message!); } else { BotToast.showText(text: '已成功提醒领取'); } diff --git a/lib/ui/manage_pages/packages_manage/packages_manage_page.dart b/lib/ui/manage_pages/packages_manage/packages_manage_page.dart index 2aae8ed..94d30a8 100644 --- a/lib/ui/manage_pages/packages_manage/packages_manage_page.dart +++ b/lib/ui/manage_pages/packages_manage/packages_manage_page.dart @@ -13,7 +13,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class PackagesManagePage extends StatefulWidget { - PackagesManagePage({Key key}) : super(key: key); + PackagesManagePage({Key? key}) : super(key: key); @override _PackagesManagePageState createState() => _PackagesManagePageState(); @@ -22,7 +22,7 @@ class PackagesManagePage extends StatefulWidget { class _PackagesManagePageState extends State with TickerProviderStateMixin { List _tabs = ['未领取', '已领取']; - TabController _tabController; + TabController? _tabController; @override void initState() { super.initState(); @@ -51,7 +51,7 @@ class _PackagesManagePageState extends State }) ], appBarBottom: PreferredSize( - child: AkuTabBar(controller: _tabController, tabs: _tabs), + child: AkuTabBar(controller: _tabController!, tabs: _tabs), preferredSize: Size.fromHeight(88.w), ), body: TabBarView( diff --git a/lib/ui/manage_pages/packages_manage/packages_manage_view.dart b/lib/ui/manage_pages/packages_manage/packages_manage_view.dart index 0aef756..3453b2f 100644 --- a/lib/ui/manage_pages/packages_manage/packages_manage_view.dart +++ b/lib/ui/manage_pages/packages_manage/packages_manage_view.dart @@ -14,16 +14,16 @@ import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class PackagesManageView extends StatefulWidget { final int index; - PackagesManageView({Key key, this.index}) : super(key: key); + PackagesManageView({Key? key, required this.index}) : super(key: key); @override _PackagesManageViewState createState() => _PackagesManageViewState(); } class _PackagesManageViewState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; void callRefresh() { - _refreshController.callRefresh(); + _refreshController!.callRefresh(); } @override @@ -45,7 +45,7 @@ class _PackagesManageViewState extends State { controller: _refreshController, extraParams: {"collectionStatus": widget.index + 1}, convert: (models) { - List modelList = models.tableList + List modelList = models.tableList! .map((e) => PackageManageListModel.fromJson(e)) .toList(); print(modelList); @@ -59,7 +59,7 @@ class _PackagesManageViewState extends State { index: widget.index, model: items[index], callRefresh: () { - _refreshController.callRefresh(); + _refreshController!.callRefresh(); }, ); }, diff --git a/lib/ui/manage_pages/rules_manage/rules_manage_detail_page.dart b/lib/ui/manage_pages/rules_manage/rules_manage_detail_page.dart index f97723d..dc242bc 100644 --- a/lib/ui/manage_pages/rules_manage/rules_manage_detail_page.dart +++ b/lib/ui/manage_pages/rules_manage/rules_manage_detail_page.dart @@ -13,7 +13,7 @@ import 'package:aku_community_manager/const/resource.dart'; class RulesManageDetailPage extends StatefulWidget { final RulesManageListModel model; - RulesManageDetailPage({Key key, this.model}) : super(key: key); + RulesManageDetailPage({Key? key, required this.model}) : super(key: key); @override _RulesManageDetailPageState createState() => _RulesManageDetailPageState(); @@ -30,7 +30,7 @@ class _RulesManageDetailPageState extends State { children:[ ListView( padding: EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w), children: [ - _detailModel.title.text + _detailModel.title!.text .size(32.sp) .color(kTextPrimaryColor) .bold @@ -39,7 +39,7 @@ class _RulesManageDetailPageState extends State { 24.w.heightBox, SizedBox( width: double.infinity, - child: _detailModel.content.text + child: _detailModel.content!.text .size(28.sp) .color(kTextPrimaryColor) .make(), @@ -70,7 +70,7 @@ class _RulesManageDetailPageState extends State { Row( children: [ Spacer(), - '发布于 ${DateUtil.formatDateStr(_detailModel.releaseDate, format: 'MM-dd HH:mm')}' + '发布于 ${DateUtil.formatDateStr(_detailModel.releaseDate!, format: 'MM-dd HH:mm')}' .text .size(24.sp) .color(kTextSubColor) @@ -86,7 +86,7 @@ class _RulesManageDetailPageState extends State { left: 32.w, right: 32.w, child: docView( - widget.model?.fileDocName ?? '', widget.model?.fileDocUrl ?? '') ), + widget.model.fileDocName ?? '', widget.model.fileDocUrl ?? '') ), ] ), @@ -117,7 +117,7 @@ class _RulesManageDetailPageState extends State { BotToast.showText(text: '文件为空!'); } : () async { - String result = await Get.dialog(BeeDownloadView(file: path)); + String? result = await Get.dialog(BeeDownloadView(file: path)); if (result != null) OpenFile.open(result); }, shape: RoundedRectangleBorder( diff --git a/lib/ui/manage_pages/rules_manage/rules_manage_page.dart b/lib/ui/manage_pages/rules_manage/rules_manage_page.dart index e9bb620..23ed452 100644 --- a/lib/ui/manage_pages/rules_manage/rules_manage_page.dart +++ b/lib/ui/manage_pages/rules_manage/rules_manage_page.dart @@ -17,14 +17,14 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class RulesManagePage extends StatefulWidget { - RulesManagePage({Key key}) : super(key: key); + RulesManagePage({Key? key}) : super(key: key); @override _RulesManagePageState createState() => _RulesManagePageState(); } class _RulesManagePageState extends State { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { super.initState(); @@ -33,7 +33,7 @@ class _RulesManagePageState extends State { @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -45,7 +45,7 @@ class _RulesManagePageState extends State { path: API.manage.rulesManageList, controller: _refreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => RulesManageListModel.fromJson(e)) .toList(); }, @@ -75,7 +75,7 @@ class _RulesManagePageState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - model.title.text + model.title!.text .size(32.sp) .color(kTextPrimaryColor) .maxLines(1) @@ -83,7 +83,7 @@ class _RulesManagePageState extends State { .bold .make(), 32.w.heightBox, - model.content.text + model.content!.text .size(24.sp) .color(kTextSubColor) .maxLines(3) @@ -94,7 +94,7 @@ class _RulesManagePageState extends State { children: [ '南宁人才公寓'.text.size(20.sp).color(kTextSubColor).make(), Spacer(), - '发布于 ${DateUtil.formatDateStr(model.releaseDate, format: 'MM-dd HH:mm')}' + '发布于 ${DateUtil.formatDateStr(model.releaseDate!, format: 'MM-dd HH:mm')}' .text .size(20.sp) .color(kTextSubColor) diff --git a/lib/ui/settings/nick_name_change_page.dart b/lib/ui/settings/nick_name_change_page.dart index 07cd3d9..b312c94 100644 --- a/lib/ui/settings/nick_name_change_page.dart +++ b/lib/ui/settings/nick_name_change_page.dart @@ -16,14 +16,14 @@ import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; class NickNameChangePage extends StatefulWidget { - NickNameChangePage({Key key}) : super(key: key); + NickNameChangePage({Key? key}) : super(key: key); @override _NickNameChangePageState createState() => _NickNameChangePageState(); } class _NickNameChangePageState extends State { - TextEditingController _textEditingController; + TextEditingController? _textEditingController; @override void initState() { super.initState(); @@ -54,7 +54,7 @@ class _NickNameChangePageState extends State { controller: _textEditingController, decoration: InputDecoration( contentPadding: EdgeInsets.zero, - hintText: '${userProvider.infoModel.nickName}', + hintText: '${userProvider.infoModel!.nickName}', hintStyle: TextStyle(color: Color(0xFF999999), fontSize: 34.sp), border: UnderlineInputBorder( @@ -69,13 +69,13 @@ class _NickNameChangePageState extends State { onPressed: () async { BaseModel baseModel = await NetUtil().post( API.user.updateNickName, - params: {'nickName': _textEditingController.text}); + params: {'nickName': _textEditingController!.text}); if (baseModel.status == true) { - userProvider.setNickName(_textEditingController.text); + userProvider.setNickName(_textEditingController!.text); Get.back(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } }, child: '保存'.text.black.size(32.sp).make(), diff --git a/lib/ui/settings/setting_feedback_page.dart b/lib/ui/settings/setting_feedback_page.dart index adc711b..946f838 100644 --- a/lib/ui/settings/setting_feedback_page.dart +++ b/lib/ui/settings/setting_feedback_page.dart @@ -19,16 +19,16 @@ import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; class SettingFeedBackPage extends StatefulWidget { - SettingFeedBackPage({Key key}) : super(key: key); + SettingFeedBackPage({Key? key}) : super(key: key); @override _SettingFeedBackPageState createState() => _SettingFeedBackPageState(); } class _SettingFeedBackPageState extends State { - List _files; - List _imgeUrls; - String _content; + late List _files; + List? _imgeUrls; + String? _content; @override Widget build(BuildContext context) { return AkuScaffold( @@ -90,11 +90,11 @@ class _SettingFeedBackPageState extends State { "content": _content, "fileUrls": _imgeUrls, }); - if (baseModel.status) { - BotToast.showText(text: baseModel.message); + if (baseModel.status!) { + BotToast.showText(text: baseModel.message!); Get.back(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } }, child: Text('提交'), diff --git a/lib/ui/settings/settings_page.dart b/lib/ui/settings/settings_page.dart index 82867e1..277d989 100644 --- a/lib/ui/settings/settings_page.dart +++ b/lib/ui/settings/settings_page.dart @@ -22,7 +22,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_tile.dart'; class SettingsPage extends StatefulWidget { - SettingsPage({Key key}) : super(key: key); + SettingsPage({Key? key}) : super(key: key); @override _SettingsPageState createState() => _SettingsPageState(); diff --git a/lib/ui/settings/tel_change_page.dart b/lib/ui/settings/tel_change_page.dart index 8b03176..aef5e9f 100644 --- a/lib/ui/settings/tel_change_page.dart +++ b/lib/ui/settings/tel_change_page.dart @@ -20,18 +20,18 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/utils/network/base_model.dart'; class TelChangePage extends StatefulWidget { - TelChangePage({Key key}) : super(key: key); + TelChangePage({Key? key}) : super(key: key); @override _TelChangePageState createState() => _TelChangePageState(); } class _TelChangePageState extends State { - TextEditingController _oldTelController; - TextEditingController _newTelController; - TextEditingController _codeController; - Timer _timer; - bool get validPhone => RegexUtil.isMobileSimple(_newTelController.text); + TextEditingController? _oldTelController; + TextEditingController? _newTelController; + TextEditingController? _codeController; + Timer? _timer; + bool get validPhone => RegexUtil.isMobileSimple(_newTelController!.text); bool get _canGetCode { bool timeActive = _timer?.isActive ?? false; return (!timeActive) && validPhone; @@ -41,7 +41,7 @@ class _TelChangePageState extends State { _timer = Timer.periodic(Duration(seconds: 1), (_timer) { if (_timer.tick >= 60) { _timer.cancel(); - _timer = null; + // _timer = null; } setState(() {}); }); @@ -111,14 +111,14 @@ class _TelChangePageState extends State { ? () async { BaseModel baseModel = await UpdateUserInfoFunc.sendTelUpdateCode( - _newTelController.text); - if (baseModel.status) { + _newTelController!.text); + if (baseModel.status!) { startTick(); } else {} } : () {}, child: _timer?.isActive ?? false - ? '${60 - _timer.tick}' + ? '${60 - _timer!.tick}' .text .color(Color(0xFFFFC40C)) .size(28.sp) @@ -176,22 +176,22 @@ class _TelChangePageState extends State { 64.w.heightBox, MaterialButton( onPressed: () async { - if (TextUtil.isEmpty(_oldTelController.text)) { + if (TextUtil.isEmpty(_oldTelController!.text)) { BotToast.showText(text: '旧手机号不能为空'); - } else if (TextUtil.isEmpty(_newTelController.text)) { + } else if (TextUtil.isEmpty(_newTelController!.text)) { BotToast.showText(text: '新手机号不能为空'); - } else if (TextUtil.isEmpty(_codeController.text)) { + } else if (TextUtil.isEmpty(_codeController!.text)) { BotToast.showText(text: '验证码不能为空'); } else { BaseModel baseModel = await UpdateUserInfoFunc.updateTel( - _oldTelController.text, - _newTelController.text, - _codeController.text); - if (baseModel.status) { - userProvider.setTel(_newTelController.text); + _oldTelController!.text, + _newTelController!.text, + _codeController!.text); + if (baseModel.status!) { + userProvider.setTel(_newTelController!.text); Get.back(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } } }, diff --git a/lib/ui/settings/user_info_page.dart b/lib/ui/settings/user_info_page.dart index 385725b..8fad2d4 100644 --- a/lib/ui/settings/user_info_page.dart +++ b/lib/ui/settings/user_info_page.dart @@ -22,7 +22,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_tile.dart'; import 'package:aku_community_manager/ui/widgets/inner/pick_image.dart'; class UserInfoPage extends StatefulWidget { - UserInfoPage({Key key}) : super(key: key); + UserInfoPage({Key? key}) : super(key: key); @override _UserInfoPageState createState() => _UserInfoPageState(); @@ -39,7 +39,7 @@ class _UserInfoPageState extends State { children: [ AkuTile( onTap: () async { - File file = await akuPickImage(); + File? file = await akuPickImage(); if (file != null) await userProvider.setAvatar(file); }, title: Text('头像'), @@ -52,7 +52,7 @@ class _UserInfoPageState extends State { setState(() {}); }, title: Text('昵称'), - suffix: Text(userProvider.infoModel.nickName), + suffix: Text(userProvider.infoModel!.nickName!), ), AkuTile( onTap: () async { @@ -60,7 +60,7 @@ class _UserInfoPageState extends State { setState(() {}); }, title: Text('手机'), - suffix: Text(TextUtil.hideNumber(userProvider.profileModel.tel)), + suffix: Text(TextUtil.hideNumber(userProvider.profileModel!.tel!)), ), ].sepWidget(separate: AkuDivider.horizontal()), ), diff --git a/lib/ui/splash/splash_page.dart b/lib/ui/splash/splash_page.dart index dc4612b..e2165ba 100644 --- a/lib/ui/splash/splash_page.dart +++ b/lib/ui/splash/splash_page.dart @@ -20,7 +20,7 @@ import 'package:aku_community_manager/utils/dev_util.dart'; import 'package:aku_community_manager/utils/hive_store.dart'; class SplashPage extends StatefulWidget { - SplashPage({Key key}) : super(key: key); + SplashPage({Key? key}) : super(key: key); @override _SplashPageState createState() => _SplashPageState(); @@ -32,8 +32,8 @@ class _SplashPageState extends State { //初始化HiveStore await Hive.initFlutter(); await HiveStore.init(); - if (HiveStore.appBox.containsKey('token')) { - await userProvider.setLogin(HiveStore.appBox.get('token')); + if (HiveStore.appBox!.containsKey('token')) { + await userProvider.setLogin(HiveStore.appBox!.get('token')); } //初始化AMap diff --git a/lib/ui/sub_pages/activity_manager/activity_detail_page.dart b/lib/ui/sub_pages/activity_manager/activity_detail_page.dart index 2f57719..45c25b7 100644 --- a/lib/ui/sub_pages/activity_manager/activity_detail_page.dart +++ b/lib/ui/sub_pages/activity_manager/activity_detail_page.dart @@ -17,7 +17,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class ActivityDetailPage extends StatefulWidget { final int id; - ActivityDetailPage({Key key, @required this.id}) : super(key: key); + ActivityDetailPage({Key? key, /*required*/ required this.id}) : super(key: key); @override _ActivityDetailPageState createState() => _ActivityDetailPageState(); @@ -25,13 +25,13 @@ class ActivityDetailPage extends StatefulWidget { class _ActivityDetailPageState extends State { static const String format = 'yyyy年MM月dd日HH:mm'; - ActivityDetailModel _detailModel; + ActivityDetailModel? _detailModel; String get startDate => - DateUtil.formatDate(_detailModel.activityStart, format: format); + DateUtil.formatDate(_detailModel!.activityStart, format: format); String get endDate => - DateUtil.formatDate(_detailModel.activityEnd, format: format); + DateUtil.formatDate(_detailModel!.activityEnd, format: format); String get checkInDate => - DateUtil.formatDate(_detailModel.registrationEnd, format: format); + DateUtil.formatDate(_detailModel!.registrationEnd, format: format); @override Widget build(BuildContext context) { @@ -54,7 +54,7 @@ class _ActivityDetailPageState extends State { children: [ FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(_detailModel.firstImg?.url ?? ''), + image: API.image(_detailModel!.firstImg?.url ?? ''), fit: BoxFit.cover, ), Padding( @@ -66,7 +66,7 @@ class _ActivityDetailPageState extends State { mainAxisSize: MainAxisSize.min, children: [ Text( - _detailModel.title, + _detailModel!.title!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 36.sp, @@ -75,7 +75,7 @@ class _ActivityDetailPageState extends State { ), AkuBox.h(16), Text( - _detailModel.content, + _detailModel!.content!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp, @@ -84,7 +84,7 @@ class _ActivityDetailPageState extends State { AkuBox.h(40), _buildTile('开始时间', startDate), _buildTile('结束时间', endDate), - _buildTile('地点', _detailModel.location), + _buildTile('地点', _detailModel!.location!), _buildTile('参与人数', '不限'), _buildTile('报名截止', checkInDate), ], diff --git a/lib/ui/sub_pages/activity_manager/activity_manager_card.dart b/lib/ui/sub_pages/activity_manager/activity_manager_card.dart index 8203b01..c2b0cf7 100644 --- a/lib/ui/sub_pages/activity_manager/activity_manager_card.dart +++ b/lib/ui/sub_pages/activity_manager/activity_manager_card.dart @@ -15,7 +15,7 @@ import 'package:aku_community_manager/ui/sub_pages/activity_manager/activity_det class ActivityManagerCard extends StatelessWidget { final ActivityItemModel model; - const ActivityManagerCard({Key key, @required this.model}) : super(key: key); + const ActivityManagerCard({Key? key, /*required*/ required this.model}) : super(key: key); String get startDate => DateUtil.formatDate(model.registrationStart, format: 'yyyy-MM-dd'); String get endDate => @@ -26,7 +26,7 @@ class ActivityManagerCard extends StatelessWidget { margin: EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w), child: GestureDetector( onTap: () { - Get.to(ActivityDetailPage(id: model.id)); + Get.to(ActivityDetailPage(id: model.id!)); }, child: Column( mainAxisSize: MainAxisSize.min, @@ -38,7 +38,7 @@ class ActivityManagerCard extends StatelessWidget { height: 228.w, width: double.infinity, child: Hero( - tag: model.title, + tag: model.title!, child: FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, image: API.image(model.firstImg?.url ?? ''), @@ -54,7 +54,7 @@ class ActivityManagerCard extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - model.title, + model.title!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp, @@ -62,8 +62,8 @@ class ActivityManagerCard extends StatelessWidget { ), ), AkuBox.h(12), - _buildTile('主办方:', model.sponsorName), - _buildTile('地点:', model.location), + _buildTile('主办方:', model.sponsorName!), + _buildTile('地点:', model.location!), _buildTile('报名时间:', '$startDate\至$endDate'), ], ), diff --git a/lib/ui/sub_pages/activity_manager/activity_manager_page.dart b/lib/ui/sub_pages/activity_manager/activity_manager_page.dart index 1ad4f39..e322f41 100644 --- a/lib/ui/sub_pages/activity_manager/activity_manager_page.dart +++ b/lib/ui/sub_pages/activity_manager/activity_manager_page.dart @@ -13,7 +13,7 @@ import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; import 'package:aku_community_manager/utils/network/base_list_model.dart'; class ActivityManagerPage extends StatefulWidget { - ActivityManagerPage({Key key}) : super(key: key); + ActivityManagerPage({Key? key}) : super(key: key); @override _ActivityManagerPageState createState() => _ActivityManagerPageState(); @@ -36,7 +36,7 @@ class _ActivityManagerPageState extends State { }, controller: _refreshController, convert: (BaseListModel model) { - return model.tableList + return model.tableList! .map((e) => ActivityItemModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/sub_pages/borrow_manager/add_borrow_item_page.dart b/lib/ui/sub_pages/borrow_manager/add_borrow_item_page.dart index 0070ab6..4e8bc04 100644 --- a/lib/ui/sub_pages/borrow_manager/add_borrow_item_page.dart +++ b/lib/ui/sub_pages/borrow_manager/add_borrow_item_page.dart @@ -21,10 +21,10 @@ import 'package:aku_community_manager/utils/network/base_file_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; class AddBorrowItemPage extends StatefulWidget { - final int articleId; + final int/*!*/ articleId; AddBorrowItemPage({ - Key key, - this.articleId, + Key? key, + required this.articleId, }) : super(key: key); @override @@ -32,9 +32,9 @@ class AddBorrowItemPage extends StatefulWidget { } class _AddBorrowItemPageState extends State { - TextEditingController _textEditingController; - TextEditingController _codeEditingCOntroller; - File file; + TextEditingController? _textEditingController; + TextEditingController? _codeEditingCOntroller; + File? file; @override void initState() { super.initState(); @@ -58,14 +58,14 @@ class _AddBorrowItemPageState extends State { minWidth: 120.w, onPressed: () async { BaseFileModel baseFileModel = - await NetUtil().upload(API.upload.uploadArticleDetail, file); - if (baseFileModel.status) { + await NetUtil().upload(API.upload.uploadArticleDetail, file!); + if (baseFileModel.status!) { await NetUtil().post( API.manage.borrowinsertArticleDetail, params: { "articleId": widget.articleId, - "name": _textEditingController.text, - "code": _codeEditingCOntroller.text, + "name": _textEditingController!.text, + "code": _codeEditingCOntroller!.text, "fileUrls": [baseFileModel.url] }, showMessage: true, @@ -73,7 +73,7 @@ class _AddBorrowItemPageState extends State { Get.back(); } else { - BotToast.showText(text: baseFileModel.message); + BotToast.showText(text: baseFileModel.message!); } }, child: Text( @@ -167,7 +167,7 @@ class _AddBorrowItemPageState extends State { ), ) : Image.file( - file, + file!, height: 184.w, width: 184.w, fit: BoxFit.cover, diff --git a/lib/ui/sub_pages/borrow_manager/add_borrow_object_page.dart b/lib/ui/sub_pages/borrow_manager/add_borrow_object_page.dart index 3614b06..d2c0300 100644 --- a/lib/ui/sub_pages/borrow_manager/add_borrow_object_page.dart +++ b/lib/ui/sub_pages/borrow_manager/add_borrow_object_page.dart @@ -20,7 +20,7 @@ import 'package:aku_community_manager/utils/network/base_file_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; class AddBorrowObjectPage extends StatefulWidget { - AddBorrowObjectPage({Key key}) : super(key: key); + AddBorrowObjectPage({Key? key}) : super(key: key); @override _AddBorrowObjectPageState createState() => _AddBorrowObjectPageState(); @@ -28,7 +28,7 @@ class AddBorrowObjectPage extends StatefulWidget { class _AddBorrowObjectPageState extends State { TextEditingController _textEditingController = TextEditingController(); - File file; + File? file; @override Widget build(BuildContext context) { @@ -120,7 +120,7 @@ class _AddBorrowObjectPageState extends State { ), ) : Image.file( - file, + file!, height: 184.w, width: 184.w, fit: BoxFit.cover, @@ -143,8 +143,8 @@ class _AddBorrowObjectPageState extends State { ? null : () async { BaseFileModel baseFileModel = await NetUtil() - .upload(API.upload.uploadArtical, file); - if (baseFileModel.status) { + .upload(API.upload.uploadArtical, file!); + if (baseFileModel.status!) { await NetUtil().post( API.manage.insertArticle, params: { @@ -154,7 +154,7 @@ class _AddBorrowObjectPageState extends State { showMessage: true, ); } else { - BotToast.showText(text: baseFileModel.message); + BotToast.showText(text: baseFileModel.message!); } Get.back(); }, diff --git a/lib/ui/sub_pages/borrow_manager/all_borrow_goods.dart b/lib/ui/sub_pages/borrow_manager/all_borrow_goods.dart index 6c65fac..0eb351c 100644 --- a/lib/ui/sub_pages/borrow_manager/all_borrow_goods.dart +++ b/lib/ui/sub_pages/borrow_manager/all_borrow_goods.dart @@ -20,7 +20,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class AllBorrowGoods extends StatefulWidget { - AllBorrowGoods({Key key}) : super(key: key); + AllBorrowGoods({Key? key}) : super(key: key); @override _AllBorrowGoodsState createState() => _AllBorrowGoodsState(); @@ -34,7 +34,7 @@ class _AllBorrowGoodsState extends State { return AkuScaffold( title: '全部物品', actions: [ - userProvider.infoModel.canOperation + userProvider.infoModel!.canOperation ? AkuMaterialButton( minWidth: 120.w, onPressed: () { @@ -54,7 +54,7 @@ class _AllBorrowGoodsState extends State { path: API.manage.borrowList, controller: _refreshController, convert: (model) => - model.tableList.map((e) => BorrowItemModel.fromJson(e)).toList(), + model.tableList!.map((e) => BorrowItemModel.fromJson(e)).toList(), builder: (items) { return ListView.builder( padding: EdgeInsets.symmetric( @@ -72,7 +72,7 @@ class _AllBorrowGoodsState extends State { _buildCard(BorrowItemModel object) { return GestureDetector( - onTap: () => Get.to(BorrowItemPage(id: object.id)), + onTap: () => Get.to(BorrowItemPage(id: object.id!)), child: Container( padding: EdgeInsets.all(24.w), margin: EdgeInsets.only(top: 16.w), @@ -91,7 +91,7 @@ class _AllBorrowGoodsState extends State { Expanded( child: Column( children: [ - _buildRow(R.ASSETS_MANAGE_ARTICLE_PNG, '物品名称', object.name), + _buildRow(R.ASSETS_MANAGE_ARTICLE_PNG, '物品名称', object.name!), AkuBox.h(12), _buildRow(R.ASSETS_MANAGE_BORROW_PNG, '借出数量', object.borrowNum.toString()), diff --git a/lib/ui/sub_pages/borrow_manager/borrow_item_detail_page.dart b/lib/ui/sub_pages/borrow_manager/borrow_item_detail_page.dart index 4f508ce..8948db0 100644 --- a/lib/ui/sub_pages/borrow_manager/borrow_item_detail_page.dart +++ b/lib/ui/sub_pages/borrow_manager/borrow_item_detail_page.dart @@ -19,7 +19,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class BorrowItemDetailPage extends StatefulWidget { final int id; - BorrowItemDetailPage({Key key, this.id}) : super(key: key); + BorrowItemDetailPage({Key? key, required this.id}) : super(key: key); @override _BorrowItemDetailPageState createState() => _BorrowItemDetailPageState(); @@ -27,8 +27,8 @@ class BorrowItemDetailPage extends StatefulWidget { class _BorrowItemDetailPageState extends State { bool _isEditing = false; - TextEditingController _textEditingController; - BorrowItemDetailModel _detailModel; + TextEditingController? _textEditingController; + BorrowItemDetailModel? _detailModel; @override void initState() { super.initState(); @@ -47,7 +47,7 @@ class _BorrowItemDetailPageState extends State { return AkuScaffold( title: '物品详情', actions: [ - userProvider.infoModel.canOperation + userProvider.infoModel!.canOperation ? AkuMaterialButton( minWidth: 120.w, onPressed: () async { @@ -56,10 +56,10 @@ class _BorrowItemDetailPageState extends State { await NetUtil().post( API.manage.borrowEdit, params: { - 'id': _detailModel.id, - 'name': _textEditingController.text, - 'status': _detailModel.status, - 'fileUrls': [_detailModel.imgUrls.first.url], + 'id': _detailModel!.id, + 'name': _textEditingController!.text, + 'status': _detailModel!.status, + 'fileUrls': [_detailModel!.imgUrls!.first.url], }, showMessage: true, ); @@ -89,7 +89,7 @@ class _BorrowItemDetailPageState extends State { params: {'articleDetailId': widget.id}, ); _detailModel = BorrowItemDetailModel.fromJson(model.data); - _textEditingController.text = _detailModel.name; + _textEditingController!.text = _detailModel!.name!; setState(() {}); }, child: _detailModel == null @@ -113,7 +113,6 @@ class _BorrowItemDetailPageState extends State { controller: _textEditingController, enabled: _isEditing, onChanged: (text) { - //TODO edit // widget.item.name = text; }, decoration: InputDecoration( @@ -124,7 +123,7 @@ class _BorrowItemDetailPageState extends State { _buildRow( '物品单号', Text( - _detailModel.code, + _detailModel!.code!, style: TextStyle( color: _isEditing ? AppStyle.minorTextColor @@ -136,7 +135,7 @@ class _BorrowItemDetailPageState extends State { _buildRow( '出借状态', Text( - _detailModel.borrowed ? '已出借' : '未出借', + _detailModel!.borrowed ? '已出借' : '未出借', style: TextStyle( color: _isEditing ? AppStyle.minorTextColor @@ -149,7 +148,7 @@ class _BorrowItemDetailPageState extends State { '物品图片', FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(_detailModel.firstImg?.url ?? ''), + image: API.image(_detailModel!.firstImg?.url ?? ''), height: 184.w, width: 184.w, ), diff --git a/lib/ui/sub_pages/borrow_manager/borrow_items_page.dart b/lib/ui/sub_pages/borrow_manager/borrow_items_page.dart index db40b97..89385a5 100644 --- a/lib/ui/sub_pages/borrow_manager/borrow_items_page.dart +++ b/lib/ui/sub_pages/borrow_manager/borrow_items_page.dart @@ -21,7 +21,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class BorrowItemPage extends StatefulWidget { final int id; - BorrowItemPage({Key key, @required this.id}) : super(key: key); + BorrowItemPage({Key? key, /*required*/ required this.id}) : super(key: key); @override _BorrowItemPageState createState() => _BorrowItemPageState(); @@ -35,7 +35,7 @@ class _BorrowItemPageState extends State { return AkuScaffold( title: '物品查看', actions: [ - userProvider.infoModel.canOperation + userProvider.infoModel!.canOperation ? AkuMaterialButton( minWidth: 120.w, onPressed: () { @@ -59,7 +59,7 @@ class _BorrowItemPageState extends State { path: API.manage.borrowDetailList, controller: _refreshController, extraParams: {'articleId': widget.id}, - convert: (model) => model.tableList + convert: (model) => model.tableList! .map((e) => BorrowDetailItemModel.fromJson(e)) .toList(), builder: (items) { @@ -79,7 +79,7 @@ class _BorrowItemPageState extends State { final userProvider = Provider.of(context); return GestureDetector( onTap: () { - Get.to(BorrowItemDetailPage(id: item.id)); + Get.to(BorrowItemDetailPage(id: item.id!)); }, child: Container( margin: EdgeInsets.only(top: 16.w), @@ -90,7 +90,7 @@ class _BorrowItemPageState extends State { AkuBox.h(93), AkuBox.w(24), Text( - item.name, + item.name!, style: TextStyle( color: AppStyle.primaryTextColor, fontWeight: FontWeight.bold, @@ -98,7 +98,7 @@ class _BorrowItemPageState extends State { ), ), Spacer(), - userProvider.infoModel.canOperation + userProvider.infoModel!.canOperation ? AkuMaterialButton( padding: EdgeInsets.symmetric(horizontal: 24.w), onPressed: () { @@ -176,7 +176,7 @@ class _BorrowItemPageState extends State { child: Column( children: [ _buildRow( - R.ASSETS_MANAGE_IC_RENWU_PNG, '物品单号', item.code), + R.ASSETS_MANAGE_IC_RENWU_PNG, '物品单号', item.code!), _buildRow( R.ASSETS_MANAGE_BORROW_PNG, '出借状态', diff --git a/lib/ui/sub_pages/borrow_manager/borrow_manager_card.dart b/lib/ui/sub_pages/borrow_manager/borrow_manager_card.dart index 09bc081..7b50fa9 100644 --- a/lib/ui/sub_pages/borrow_manager/borrow_manager_card.dart +++ b/lib/ui/sub_pages/borrow_manager/borrow_manager_card.dart @@ -21,7 +21,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class BorrowManagerCard extends StatefulWidget { final BorrowStatusItemModel model; - BorrowManagerCard({Key key, this.model}) : super(key: key); + BorrowManagerCard({Key? key, required this.model}) : super(key: key); @override _BorrowManagerCardState createState() => _BorrowManagerCardState(); @@ -61,7 +61,7 @@ class _BorrowManagerCardState extends State { ), AkuBox.h(24), Text( - widget.model.articleName, + widget.model.articleName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 32.sp, @@ -83,11 +83,11 @@ class _BorrowManagerCardState extends State { child: Column( children: [ _buildRow(R.ASSETS_MESSAGE_IC_PEOPLE_PNG, '借用人员', - widget.model.borrowName), + widget.model.borrowName!), _buildRow(R.ASSETS_MESSAGE_IC_PHONE_PNG, '联系电话', - widget.model.borrowTel), + widget.model.borrowTel!), _buildRow(R.ASSETS_MANAGE_IC_TIME_PNG, '借用时常', - '${(widget.model.borrowTime / 24).toStringAsFixed(0)}天'), + '${(widget.model.borrowTime! / 24).toStringAsFixed(0)}天'), _buildRow( R.ASSETS_MANAGE_INFO_PNG, '物品状态', @@ -107,7 +107,7 @@ class _BorrowManagerCardState extends State { List _buildCard() { final userProvider = Provider.of(context); - if (!userProvider.infoModel.canOperation) + if (!userProvider.infoModel!.canOperation) return []; else if (widget.model.borrowStatus == 2) { return []; @@ -175,7 +175,7 @@ class _BorrowManagerCardState extends State { color: AppStyle.primaryColor, radius: 4.w, onPressed: () async { - await Get.to(BorrowManagerCheckPage(id: widget.model.id)); + await Get.to(BorrowManagerCheckPage(id: widget.model.id!)); }, child: Text( '检查信息', diff --git a/lib/ui/sub_pages/borrow_manager/borrow_manager_check_page.dart b/lib/ui/sub_pages/borrow_manager/borrow_manager_check_page.dart index 85b72b1..2c78607 100644 --- a/lib/ui/sub_pages/borrow_manager/borrow_manager_check_page.dart +++ b/lib/ui/sub_pages/borrow_manager/borrow_manager_check_page.dart @@ -18,7 +18,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class BorrowManagerCheckPage extends StatefulWidget { final int id; - BorrowManagerCheckPage({Key key, @required this.id}) : super(key: key); + BorrowManagerCheckPage({Key? key, required this.id}) : super(key: key); @override _BorrowManagerCheckPageState createState() => _BorrowManagerCheckPageState(); @@ -26,7 +26,7 @@ class BorrowManagerCheckPage extends StatefulWidget { class _BorrowManagerCheckPageState extends State { int borrowStatus = 1; - BorrowCheckItemModel _model; + BorrowCheckItemModel? _model; @override Widget build(BuildContext context) { return AkuScaffold( @@ -76,7 +76,7 @@ class _BorrowManagerCheckPageState extends State { _buildRow( '物品名称', Text( - _model.articleName, + _model!.articleName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp, @@ -88,7 +88,7 @@ class _BorrowManagerCheckPageState extends State { _buildRow( '物品单号', Text( - _model.code, + _model!.code!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp, @@ -126,7 +126,7 @@ class _BorrowManagerCheckPageState extends State { '物品图片', FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(_model.firstImg?.url ?? ''), + image: API.image(_model!.firstImg?.url ?? ''), height: 184.w, width: 184.w, ), @@ -177,7 +177,7 @@ class _BorrowManagerCheckPageState extends State { 1: '完好', 2: '损坏', 3: '丢失', - }[status], + }[status]!, style: TextStyle( color: borrowStatus == status ? AppStyle.secondaryColor diff --git a/lib/ui/sub_pages/borrow_manager/borrow_manager_page.dart b/lib/ui/sub_pages/borrow_manager/borrow_manager_page.dart index 271fd2d..e244c20 100644 --- a/lib/ui/sub_pages/borrow_manager/borrow_manager_page.dart +++ b/lib/ui/sub_pages/borrow_manager/borrow_manager_page.dart @@ -14,7 +14,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class BorrowManagerPage extends StatefulWidget { - BorrowManagerPage({Key key}) : super(key: key); + BorrowManagerPage({Key? key}) : super(key: key); @override _BorrowManagerPageState createState() => _BorrowManagerPageState(); @@ -23,13 +23,13 @@ class BorrowManagerPage extends StatefulWidget { class _BorrowManagerPageState extends State with TickerProviderStateMixin { - TabController _tabController; + TabController? _tabController; List get _tabs { final userProvider = Provider.of(context, listen: false); return [ '全部', '出借中', - ...userProvider.infoModel.canOperation ? ['待检查'] : [], + ...userProvider.infoModel!.canOperation ? ['待检查'] : [], '已归还' ]; } @@ -46,7 +46,7 @@ class _BorrowManagerPageState extends State title: '物品清单', appBarBottom: PreferredSize( child: AkuTabBar( - controller: _tabController, + controller: _tabController!, tabs: _tabs, ), preferredSize: Size.fromHeight(96.w)), @@ -77,7 +77,7 @@ class _BorrowManagerPageState extends State return [ BorrowManagerView(), BorrowManagerView(status: 1), - ...userProvider.infoModel.canOperation + ...userProvider.infoModel!.canOperation ? [BorrowManagerView(status: 3)] : [], BorrowManagerView(status: 2), diff --git a/lib/ui/sub_pages/borrow_manager/borrow_manager_view.dart b/lib/ui/sub_pages/borrow_manager/borrow_manager_view.dart index 0afe066..48ff072 100644 --- a/lib/ui/sub_pages/borrow_manager/borrow_manager_view.dart +++ b/lib/ui/sub_pages/borrow_manager/borrow_manager_view.dart @@ -11,8 +11,8 @@ import 'package:aku_community_manager/ui/sub_pages/borrow_manager/borrow_manager import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class BorrowManagerView extends StatefulWidget { - final int status; - BorrowManagerView({Key key, this.status}) : super(key: key); + final int? status; + BorrowManagerView({Key? key, this.status}) : super(key: key); @override _BorrowManagerViewState createState() => _BorrowManagerViewState(); @@ -28,7 +28,7 @@ class _BorrowManagerViewState extends State path: API.manage.borrowStatusList, extraParams: {'borrowStatus': widget.status}, controller: _refreshController, - convert: (model) => model.tableList + convert: (model) => model.tableList! .map((e) => BorrowStatusItemModel.fromJson(e)) .toList(), builder: (items) { diff --git a/lib/ui/sub_pages/business_and_fix/business_and_fix_detail_page.dart b/lib/ui/sub_pages/business_and_fix/business_and_fix_detail_page.dart index 31bab55..02b2cb3 100644 --- a/lib/ui/sub_pages/business_and_fix/business_and_fix_detail_page.dart +++ b/lib/ui/sub_pages/business_and_fix/business_and_fix_detail_page.dart @@ -34,7 +34,7 @@ import 'package:aku_community_manager/utils/network/manage_func.dart'; class BusinessAndFixDetailPage extends StatefulWidget { final BussinessAndFixModel model; - BusinessAndFixDetailPage({Key key, this.model}) : super(key: key); + BusinessAndFixDetailPage({Key? key, required this.model}) : super(key: key); @override _BusinessAndFixDetailPageState createState() => @@ -43,13 +43,13 @@ class BusinessAndFixDetailPage extends StatefulWidget { class _BusinessAndFixDetailPageState extends State { bool get isHandOut => widget.model.status == 1; - FixedDetailModel _detailModel; + late FixedDetailModel _detailModel; bool _onload = true; - EasyRefreshController _easyRefreshController; + EasyRefreshController? _easyRefreshController; - List _dispatchModels; - List _timeLimitModels; - List _workTypeModels; + List? _dispatchModels; + List? _timeLimitModels; + List? _workTypeModels; DispatchReportModel _reportModel = DispatchReportModel.zero(); @override @@ -68,10 +68,10 @@ class _BusinessAndFixDetailPageState extends State { UserProvider userProvider = Provider.of(context, listen: false); return Text( - AkuMap.fixStatus(userProvider.infoModel.canOperation, - userProvider.infoModel.canPickUpTicket, widget.model.status), + AkuMap.fixStatus(userProvider.infoModel!.canOperation, + userProvider.infoModel!.canPickUpTicket, widget.model.status!), style: TextStyle( - color: widget.model.status < 4 + color: widget.model.status! < 4 ? Color(0XFFFF4501) : AppStyle.minorTextColor, ), @@ -91,8 +91,8 @@ class _BusinessAndFixDetailPageState extends State { controller: _easyRefreshController, header: MaterialHeader(), onRefresh: () async { - _detailModel = await ManageFunc.repairDetail(widget.model.id); - _reportModel.dispatchListId = widget.model.dispatchId; + _detailModel = await (ManageFunc.repairDetail(widget.model.id!) ); + _reportModel.dispatchListId = widget.model.dispatchId!; _reportModel.workOrderTyoe = 1; _onload = false; setState(() {}); @@ -118,7 +118,8 @@ class _BusinessAndFixDetailPageState extends State { builder: (context) { final userProvider = Provider.of(context, listen: false); - if (userProvider.infoModel.canSendTicket && widget.model.status < 2) { + //派单权限 + 待派单状态=立即派单 + if (userProvider.infoModel!.canSendTicket && widget.model.status! < 2) { return AkuMaterialButton( color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, @@ -136,13 +137,14 @@ class _BusinessAndFixDetailPageState extends State { ), ), ); + //派单权限+已派单状态=改派 } else if (widget.model.status == 2) { - if (userProvider.infoModel.canSendTicket) { + if (userProvider.infoModel!.canSendTicket) { return AkuMaterialButton( color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, onPressed: () { - Get.to(FixerDepartmentPage( + Get.to(()=>FixerDepartmentPage( model: _reportModel, changeType: true, )); @@ -154,17 +156,18 @@ class _BusinessAndFixDetailPageState extends State { ), ), ); + //接单权限+已派单状态=接单 } else { return AkuMaterialButton( color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, onPressed: () async { BaseModel baseModel = - await ManageFunc.recevingOrders(widget.model.dispatchId); - if (baseModel.status) { + await (ManageFunc.recevingOrders(widget.model.dispatchId) ); + if (baseModel.status!) { Get.back(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } }, child: Text( @@ -175,8 +178,9 @@ class _BusinessAndFixDetailPageState extends State { ), ); } + //已接单状态+接单权限=申请延时 } else if ((widget.model.status == 3) && - userProvider.infoModel.canPickUpTicket) + userProvider.infoModel!.canPickUpTicket) return Container( height: 96.w, alignment: Alignment.center, @@ -205,8 +209,8 @@ class _BusinessAndFixDetailPageState extends State { ), onPressed: () async { await Get.to( - FixMoreTimePage(dispatchId: widget.model.dispatchId)); - _easyRefreshController.callRefresh(); + ()=> FixMoreTimePage(dispatchId: widget.model.dispatchId!)); + _easyRefreshController!.callRefresh(); }, child: Text( '申请延时', @@ -222,11 +226,11 @@ class _BusinessAndFixDetailPageState extends State { radius: 4.w, color: AppStyle.primaryColor, onPressed: () { - Get.to(FixWorkFinishPage( + Get.to(()=>FixWorkFinishPage( fixModel: widget.model, model: _detailModel, dispatchType: - _detailModel.dispatchType.dispatchType == 1)); + _detailModel.dispatchType!.dispatchType == 1)); }, child: Text( '处理完成', @@ -255,21 +259,21 @@ class _BusinessAndFixDetailPageState extends State { _buildTile( R.ASSETS_MESSAGE_IC_PEOPLE_PNG, '报修人', - _detailModel.repairDetail.name, + _detailModel.repairDetail!.name!, ), _buildTile( R.ASSETS_MESSAGE_IC_PHONE_PNG, '联系电话', - _detailModel.repairDetail.tel, + _detailModel.repairDetail!.tel!, ), _buildTile( R.ASSETS_MESSAGE_IC_AREA_PNG, '报修区域', - AkuMap.fixAreaType[_detailModel.repairDetail.type], + AkuMap.fixAreaType[_detailModel.repairDetail!.type!]!, ), AkuBox.h(8), Text( - widget.model.reportDetail, + widget.model.reportDetail!, style: TextStyle( color: AppStyle.primaryTextColor, fontWeight: FontWeight.bold, @@ -283,12 +287,12 @@ class _BusinessAndFixDetailPageState extends State { crossAxisSpacing: 16.w, mainAxisSpacing: 16.w, ), - children: _detailModel.repairDetail.imgUrls.map((e) { + children: _detailModel.repairDetail!.imgUrls!.map((e) { return ClipRRect( borderRadius: BorderRadius.circular(4.w), child: FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(e.url)), + image: API.image(e.url!)), ); }).toList(), shrinkWrap: true, @@ -307,20 +311,20 @@ class _BusinessAndFixDetailPageState extends State { canTap ? _dispatchModels == null ? null - : _dispatchModels[_dispatchModels.indexWhere( + : _dispatchModels![_dispatchModels!.indexWhere( (element) => element.showValue == _reportModel.type)] .showName - : AkuMap.dispatchType[_detailModel.dispatchType.dispatchType], + : AkuMap.dispatchType[_detailModel.dispatchType!.dispatchType!], canTap, helpContent: '请选择服务类型', onTap: () async { - List models = await ManageFunc.dispatchListDetailType(); + List models = await (ManageFunc.dispatchListDetailType()); _dispatchModels = models.map((e) => DispatchDetialModel.fromJson(e)).toList(); showItemSheet( title: '派单类型', - items: _dispatchModels.map((e) => e.showName).toList(), - ids: _dispatchModels.map((e) => e.showValue).toList(), + items: _dispatchModels!.map((e) => e.showName).toList(), + ids: _dispatchModels!.map((e) => e.showValue).toList(), selectItem: _reportModel.type, onTap: (result) { _reportModel.type = result; @@ -338,20 +342,20 @@ class _BusinessAndFixDetailPageState extends State { canTap ? _timeLimitModels == null ? null - : _timeLimitModels[_timeLimitModels.indexWhere((element) => + : _timeLimitModels![_timeLimitModels!.indexWhere((element) => element.id == _reportModel.workOrderTimeLimit)] - ?.name - : _detailModel.dispatchType.workOrderLimitName, + .name + : _detailModel.dispatchType!.workOrderLimitName, canTap, helpContent: '请选择工单时限', onTap: () async { - List models = await ManageFunc.workOrderTimeType(); + List models = await (ManageFunc.workOrderTimeType()); _timeLimitModels = models.map((e) => WorkTimeLimitModel.fromJson(e)).toList(); showItemSheet( title: '工单时限', - items: _timeLimitModels.map((e) => e.name).toList(), - ids: _timeLimitModels.map((e) => e.id).toList(), + items: _timeLimitModels!.map((e) => e.name).toList(), + ids: _timeLimitModels!.map((e) => e.id).toList(), selectItem: _reportModel.workOrderTimeLimit, onTap: (result) { _reportModel.workOrderTimeLimit = result; @@ -369,20 +373,20 @@ class _BusinessAndFixDetailPageState extends State { canTap ? _workTypeModels == null ? null - : _workTypeModels[_workTypeModels.indexWhere((element) => + : _workTypeModels![_workTypeModels!.indexWhere((element) => element.id == _reportModel.workOrderTypeDetail)] .name - : _detailModel.dispatchType.workOrderSubclassName, + : _detailModel.dispatchType!.workOrderSubclassName, canTap, helpContent: '请选择工单子类', onTap: () async { - List models = await ManageFunc.workOrderTypeDetail(1); + List models = await (ManageFunc.workOrderTypeDetail(1) ); _workTypeModels = models.map((e) => WorkOrderTypeModel.fromJson(e)).toList(); showItemSheet( title: '工单子类', - items: _workTypeModels.map((e) => e.name).toList(), - ids: _workTypeModels.map((e) => e.id).toList(), + items: _workTypeModels!.map((e) => e.name).toList(), + ids: _workTypeModels!.map((e) => e.id).toList(), selectItem: _reportModel.workOrderTypeDetail, onTap: (result) { _reportModel.workOrderTypeDetail = result; @@ -402,10 +406,10 @@ class _BusinessAndFixDetailPageState extends State { _buildProcess() { return AkuTitleBox( title: '报修进程', - children: _detailModel.processRecord.map((e) { + children: _detailModel.processRecord!.map((e) { return _buildProcessTile( AkuMap.operationType(e.operationType), - DateUtil.formatDateStr(e.operationDate, + DateUtil.formatDateStr(e.operationDate!, format: 'yyyy-MM-dd HH:mm:ss'), ); }).toList(), @@ -426,7 +430,7 @@ class _BusinessAndFixDetailPageState extends State { ), AkuBox.h(8), Text( - _detailModel.handlingSituation.detail, + _detailModel.handlingSituation!.detail!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -443,7 +447,7 @@ class _BusinessAndFixDetailPageState extends State { ), AkuBox.h(8), Text( - _detailModel.handlingSituation.materialList, + _detailModel.handlingSituation!.materialList!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -465,12 +469,12 @@ class _BusinessAndFixDetailPageState extends State { gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 4, ), - children: _detailModel.handlingSituation.imgUrls.map((e) { + children: _detailModel.handlingSituation!.imgUrls!.map((e) { return ClipRRect( borderRadius: BorderRadius.circular(4.w), child: FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(e.url))); + image: API.image(e.url!))); }).toList(), ), ], @@ -505,7 +509,7 @@ class _BusinessAndFixDetailPageState extends State { ), AkuBox.h(8), Text( - _detailModel.evaluateInfo, + _detailModel.evaluateInfo!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -545,8 +549,8 @@ class _BusinessAndFixDetailPageState extends State { ); } - Widget _buildTypeTile(String title, String content, bool canTap, - {VoidCallback onTap, String helpContent}) { + Widget _buildTypeTile(String title, String? content, bool canTap, + {VoidCallback? onTap, String? helpContent}) { return Material( color: Colors.transparent, child: InkWell( @@ -563,7 +567,7 @@ class _BusinessAndFixDetailPageState extends State { ), Spacer(), Text( - TextUtil.isEmpty(content) ? helpContent : content, + TextUtil.isEmpty(content) ? helpContent! : content!, style: TextStyle( fontSize: 28.sp, fontWeight: FontWeight.bold, diff --git a/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart b/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart index 7d85e3b..819eefa 100644 --- a/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart +++ b/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart @@ -12,7 +12,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class BusinessAndFixPage extends StatefulWidget { - BusinessAndFixPage({Key key}) : super(key: key); + BusinessAndFixPage({Key? key}) : super(key: key); @override _BusinessAndFixPageState createState() => _BusinessAndFixPageState(); @@ -20,7 +20,7 @@ class BusinessAndFixPage extends StatefulWidget { class _BusinessAndFixPageState extends State with TickerProviderStateMixin { - TabController _tabController; + TabController? _tabController; List get _tabs { final userProvider = Provider.of(context, listen: false); @@ -35,11 +35,11 @@ class _BusinessAndFixPageState extends State // return ['待接单', '处理中', '已处理', '全部']; // break; // } - if ((userProvider.infoModel.canPickUpTicket) && - (!userProvider.infoModel.canSendTicket)) { + if ((userProvider.infoModel!.canPickUpTicket) && + (!userProvider.infoModel!.canSendTicket)) { return ['待接单', '处理中', '已处理', '全部']; - } else if ((!userProvider.infoModel.canPickUpTicket) && - (userProvider.infoModel.canSendTicket)) { + } else if ((!userProvider.infoModel!.canPickUpTicket) && + (userProvider.infoModel!.canSendTicket)) { return ['待派单', '已派单', '处理中', '已处理', '全部']; } else { return ['未处理', '处理中', '已处理', '全部']; @@ -65,7 +65,7 @@ class _BusinessAndFixPageState extends State appBarBottom: PreferredSize( preferredSize: Size.fromHeight(88.w), child: AkuTabBar( - controller: _tabController, + controller: _tabController!, tabs: _tabs, ), ), diff --git a/lib/ui/sub_pages/business_and_fix/business_fix_card.dart b/lib/ui/sub_pages/business_and_fix/business_fix_card.dart index b09cf2c..a47ffd7 100644 --- a/lib/ui/sub_pages/business_and_fix/business_fix_card.dart +++ b/lib/ui/sub_pages/business_and_fix/business_fix_card.dart @@ -1,4 +1,5 @@ // Flutter imports: +import 'package:aku_community_manager/tools/user_tool.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_material_button.dart'; import 'package:flutter/material.dart'; @@ -13,7 +14,6 @@ import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness import 'package:aku_community_manager/models/user/user_info_model.dart'; import 'package:aku_community_manager/provider/user_provider.dart'; import 'package:aku_community_manager/style/app_style.dart'; -import 'package:aku_community_manager/tools/aku_divider.dart'; import 'package:aku_community_manager/tools/aku_map.dart'; import 'package:aku_community_manager/tools/screen_tool.dart'; import 'package:aku_community_manager/tools/widget_tool.dart'; @@ -25,12 +25,12 @@ class BusinessFixCard extends StatefulWidget { final BussinessAndFixModel model; final bool homeDisplay; final bool canSeeBottomButton; - final VoidCallback callRefresh; + final VoidCallback? callRefresh; //是否是报事保修处理完成页面调用 final bool hasFinished; BusinessFixCard( - {Key key, - @required this.model, + {Key? key, + required this.model, this.homeDisplay = false, this.canSeeBottomButton = true, this.callRefresh, @@ -42,12 +42,12 @@ class BusinessFixCard extends StatefulWidget { } class _BusinessFixCardState extends State { - UserInfoModel get userInfoModel { + UserInfoModel? get userInfoModel { final userProvider = Provider.of(context, listen: false); return userProvider.infoModel; } - String get dateStart => DateUtil.formatDateStr(widget.model.repairDate, + String get dateStart => DateUtil.formatDateStr(widget.model.repairDate!, format: 'yyyy-MM-dd HH:mm:ss'); // Widget get fixTypeWidget { @@ -78,7 +78,7 @@ class _BusinessFixCardState extends State { onTap: () async { await Get.to(() => BusinessAndFixDetailPage(model: widget.model)); if (widget.callRefresh != null) { - widget.callRefresh(); + widget.callRefresh!(); } }, child: Container( @@ -103,12 +103,12 @@ class _BusinessFixCardState extends State { Text( widget.hasFinished ? '已处理' - : AkuMap.fixStatus(userInfoModel.canSendTicket, - userInfoModel.canPickUpTicket, widget.model.status), + : AkuMap.fixStatus(userInfoModel!.canSendTicket, + userInfoModel!.canPickUpTicket, widget.model.status!), style: widget.hasFinished ? TextStyle(color: AppStyle.minorTextColor) : TextStyle( - color: widget.model.status < 4 + color: widget.model.status! < 4 ? Color(0XFFFF4501) : AppStyle.minorTextColor, ), @@ -117,7 +117,7 @@ class _BusinessFixCardState extends State { ), AkuBox.h(24), Text( - widget.model.reportDetail, + widget.model.reportDetail!, maxLines: widget.homeDisplay ? 1 : null, overflow: !widget.homeDisplay ? TextOverflow.visible @@ -130,7 +130,7 @@ class _BusinessFixCardState extends State { ), AkuBox.h(16), _buildImgs(), - !widget.canSeeBottomButton ? SizedBox() : _buildBottomCard(), + !widget.canSeeBottomButton ? SizedBox() : _getBottomCard(), ], ), margin: @@ -149,7 +149,7 @@ class _BusinessFixCardState extends State { child: ListView.builder( scrollDirection: Axis.horizontal, itemBuilder: (context, index) { - var imgObj = widget.model.imgUrls[index].url; + var imgObj = widget.model.imgUrls![index].url; return Container( margin: EdgeInsets.symmetric(horizontal: 8.w), height: 168.w, @@ -163,149 +163,157 @@ class _BusinessFixCardState extends State { image: API.image(imgObj ?? '')), ); }, - itemCount: widget.model.imgUrls.length, + itemCount: widget.model.imgUrls!.length, ), ); } - _buildBottomCard() { - if (widget.model.status > 4) { - return Column( - children: [ - Divider(height: 48.w), - Align( + _getBottomCard() { + return Column( + children: [ + Divider(height: 48.w), + Align( alignment: Alignment.centerRight, - child: AkuMaterialButton( - height: 64.w, - onPressed: () async { - Get.to(() => BusinessAndFixDetailPage(model: widget.model)); - if (widget.callRefresh != null) { - widget.callRefresh(); - } - }, - radius: 4, - color: AppStyle.primaryColor, - padding: EdgeInsets.symmetric(horizontal: 24.w), - child: Text( - '查看详情', - style: TextStyle( - color: AppStyle.primaryTextColor, - fontWeight: FontWeight.bold, - fontSize: 28.sp, - height: 40 / 28, - ), + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: _getButtons())), + ], + ); + } + + _getButtons() { + switch (widget.model.status) { + case 1: + return [ + AkuMaterialButton( + height: 64.w, + onPressed: () async { + Get.to(() => BusinessAndFixDetailPage(model: widget.model)); + if (widget.callRefresh != null) { + widget.callRefresh!(); + } + }, + radius: 4, + color: AppStyle.primaryColor, + padding: EdgeInsets.symmetric(horizontal: 24.w), + child: Text( + (UserTool.userProvider.infoModel!.canSendTicket + ? '立即派单' + : '查看详情'), + style: TextStyle( + color: AppStyle.primaryTextColor, + fontWeight: FontWeight.bold, + fontSize: 28.sp, + height: 40 / 28, ), ), ), - ], - ); - } else { - return Column( - children: [ - AkuBox.h(24), - AkuDivider.horizontal(), - AkuBox.h(24), - Row( - children: [ - Spacer(), - (widget.model.status == 3) && (userInfoModel.canPickUpTicket) - ? MaterialButton( - padding: EdgeInsets.zero, - height: 64.w, - minWidth: 160.w, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(4.w), - side: BorderSide( - width: 2.w, - color: AppStyle.primaryColor, - ), - ), - child: Text( - '申请延时', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 28.sp, - ), - ), - onPressed: () { - Get.to(FixMoreTimePage( - dispatchId: widget.model.dispatchId)); - }, - ) - : SizedBox(), - ...widget.model.status == 3 && (userInfoModel.canPickUpTicket) - ? [ - AkuBox.w(24), - AkuMaterialButton( - onPressed: () async { - await Get.to(() => BusinessAndFixDetailPage( - model: widget.model, - )); - }, - radius: 4.w, - color: AppStyle.primaryColor, - minWidth: 160.w, - height: 64.w, - child: Text( - '处理完成', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 28.sp, - ), - ), - ) - ] - : [SizedBox()], - (widget.model.status == 2) && (userInfoModel.canPickUpTicket) - ? AkuMaterialButton( - onPressed: () async { - await Get.to(() => BusinessAndFixDetailPage( - model: widget.model, - )); - if (widget.callRefresh != null) { - widget.callRefresh(); - } - }, - radius: 4.w, - color: AppStyle.primaryColor, - minWidth: 160.w, - height: 64.w, - child: Text( - '立即接单', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 28.sp, - ), - ), - ) - : SizedBox(), - (widget.model.status == 1) - ? AkuMaterialButton( - onPressed: () async { - await Get.to(() => BusinessAndFixDetailPage( - model: widget.model, - )); - if (widget.callRefresh != null) { - widget.callRefresh(); - } - }, - radius: 4.w, - color: AppStyle.primaryColor, - minWidth: 160.w, - height: 64.w, - child: Text( - '${(userInfoModel.canSendTicket) ? '立即派单' : '查看详情'}', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 28.sp, - ), - ), - ) - : SizedBox(), - ], + ]; + case 2: + return [ + AkuMaterialButton( + height: 64.w, + onPressed: () async { + Get.to(() => BusinessAndFixDetailPage(model: widget.model)); + if (widget.callRefresh != null) { + widget.callRefresh!(); + } + }, + radius: 4, + color: AppStyle.primaryColor, + padding: EdgeInsets.symmetric(horizontal: 24.w), + child: Text( + (UserTool.userProvider.infoModel!.canSendTicket + ? '改派' + : UserTool.userProvider.infoModel!.canPickUpTicket + ? '立即接单' + : '查看详情'), + style: TextStyle( + color: AppStyle.primaryTextColor, + fontWeight: FontWeight.bold, + fontSize: 28.sp, + height: 40 / 28, + ), + ), ), - ], - ); + ]; + case 3: + return [ + UserTool.userProvider.infoModel!.canPickUpTicket + ? AkuMaterialButton( + height: 64.w, + onPressed: () async { + Get.to(() => Get.to( + ()=> FixMoreTimePage(dispatchId: widget.model.dispatchId!))); + if (widget.callRefresh != null) { + widget.callRefresh!(); + } + }, + radius: 4, + color: AppStyle.primaryColor, + padding: EdgeInsets.symmetric(horizontal: 24.w), + child: Text( + ('申请延时'), + style: TextStyle( + color: AppStyle.primaryTextColor, + fontWeight: FontWeight.bold, + fontSize: 28.sp, + height: 40 / 28, + ), + ), + ) + : SizedBox(), + AkuMaterialButton( + height: 64.w, + onPressed: () async { + Get.to(() => BusinessAndFixDetailPage(model: widget.model)); + if (widget.callRefresh != null) { + widget.callRefresh!(); + } + }, + radius: 4, + color: AppStyle.primaryColor, + padding: EdgeInsets.symmetric(horizontal: 24.w), + child: Text( + (UserTool.userProvider.infoModel!.canPickUpTicket + ? '处理完成' + : '查看详情'), + style: TextStyle( + color: AppStyle.primaryTextColor, + fontWeight: FontWeight.bold, + fontSize: 28.sp, + height: 40 / 28, + ), + ), + ), + ]; + case 4: + return [ + AkuMaterialButton( + height: 64.w, + onPressed: () async { + Get.to(() => BusinessAndFixDetailPage(model: widget.model)); + if (widget.callRefresh != null) { + widget.callRefresh!(); + } + }, + radius: 4, + color: AppStyle.primaryColor, + padding: EdgeInsets.symmetric(horizontal: 24.w), + child: Text( + ('查看详情'), + style: TextStyle( + color: AppStyle.primaryTextColor, + fontWeight: FontWeight.bold, + fontSize: 28.sp, + height: 40 / 28, + ), + ), + ), + ]; + default: + return []; } } + } diff --git a/lib/ui/sub_pages/business_and_fix/bussiness_and_fix_view.dart b/lib/ui/sub_pages/business_and_fix/bussiness_and_fix_view.dart index 74d393e..d2663df 100644 --- a/lib/ui/sub_pages/business_and_fix/bussiness_and_fix_view.dart +++ b/lib/ui/sub_pages/business_and_fix/bussiness_and_fix_view.dart @@ -13,8 +13,8 @@ import 'package:aku_community_manager/ui/sub_pages/business_and_fix/business_fix import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class BussinessAndFixView extends StatefulWidget { - final int status; - BussinessAndFixView({Key key, this.status}) : super(key: key); + final int? status; + BussinessAndFixView({Key? key, this.status}) : super(key: key); @override _BussinessAndFixViewState createState() => _BussinessAndFixViewState(); @@ -22,7 +22,7 @@ class BussinessAndFixView extends StatefulWidget { class _BussinessAndFixViewState extends State with AutomaticKeepAliveClientMixin { - EasyRefreshController _easyRefreshController; + EasyRefreshController? _easyRefreshController; @override void initState() { super.initState(); @@ -45,7 +45,7 @@ class _BussinessAndFixViewState extends State }, controller: _easyRefreshController, convert: (models) { - return models.tableList + return models.tableList! .map((e) => BussinessAndFixModel.fromJson(e)) .toList(); }, @@ -55,7 +55,7 @@ class _BussinessAndFixViewState extends State return BusinessFixCard( model: items[index], callRefresh: () { - _easyRefreshController.callRefresh(); + _easyRefreshController!.callRefresh(); }); }, separatorBuilder: (_, __) { diff --git a/lib/ui/sub_pages/business_and_fix/fix_more_time_page.dart b/lib/ui/sub_pages/business_and_fix/fix_more_time_page.dart index 5a1cb79..64e45fc 100644 --- a/lib/ui/sub_pages/business_and_fix/fix_more_time_page.dart +++ b/lib/ui/sub_pages/business_and_fix/fix_more_time_page.dart @@ -17,7 +17,7 @@ import 'package:aku_community_manager/utils/network/manage_func.dart'; class FixMoreTimePage extends StatefulWidget { final int dispatchId; - FixMoreTimePage({Key key, @required this.dispatchId}) : super(key: key); + FixMoreTimePage({Key? key, /*required*/ required this.dispatchId}) : super(key: key); @override _FixMoreTimePageState createState() => _FixMoreTimePageState(); @@ -26,7 +26,7 @@ class FixMoreTimePage extends StatefulWidget { class _FixMoreTimePageState extends State { String _nowSelect = '24h'; List _delayList = ['24h', '48h', '72h', '未知']; - TextEditingController _textEditingController; + TextEditingController? _textEditingController; @override void initState() { super.initState(); @@ -168,14 +168,14 @@ class _FixMoreTimePageState extends State { // date: DateTime.now()), // ); // Get.back(); - BaseModel baseModel = await ManageFunc.applyDelayed( + BaseModel baseModel = await (ManageFunc.applyDelayed( widget.dispatchId, _delayList.indexOf(_nowSelect) + 1, - _textEditingController.text ?? ''); - if (baseModel.status) { + _textEditingController?.text??'' )); + if (baseModel.status!) { Get.back(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } }, radius: 8.w, diff --git a/lib/ui/sub_pages/business_and_fix/fix_submit_finish_page.dart b/lib/ui/sub_pages/business_and_fix/fix_submit_finish_page.dart index b21895a..9816650 100644 --- a/lib/ui/sub_pages/business_and_fix/fix_submit_finish_page.dart +++ b/lib/ui/sub_pages/business_and_fix/fix_submit_finish_page.dart @@ -13,7 +13,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class FixSubmitFinishPage extends StatelessWidget { final BussinessAndFixModel model; - const FixSubmitFinishPage({Key key, this.model}) : super(key: key); + const FixSubmitFinishPage({Key? key, required this.model}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/ui/sub_pages/business_and_fix/fix_work_finish_page.dart b/lib/ui/sub_pages/business_and_fix/fix_work_finish_page.dart index 28264e3..2fc5589 100644 --- a/lib/ui/sub_pages/business_and_fix/fix_work_finish_page.dart +++ b/lib/ui/sub_pages/business_and_fix/fix_work_finish_page.dart @@ -31,10 +31,10 @@ class FixWorkFinishPage extends StatefulWidget { final BussinessAndFixModel fixModel; final bool dispatchType; FixWorkFinishPage( - {Key key, - @required this.model, - @required this.dispatchType, - @required this.fixModel}) + {Key? key, + /*required*/ required this.model, + /*required*/ required this.dispatchType, + /*required*/ required this.fixModel}) : super(key: key); @override @@ -49,14 +49,14 @@ class _FixWorkFinishPageState extends State { TextEditingController _humanController = TextEditingController(); TextEditingController _materialPriceController = TextEditingController(); - double humanPrice = 0; - double materialPrice = 0; + double? humanPrice = 0; + double? materialPrice = 0; @override void dispose() { - _descriptionController?.dispose(); - _materialController?.dispose(); - _materialPriceController?.dispose(); - _humanController?.dispose(); + _descriptionController.dispose(); + _materialController.dispose(); + _materialPriceController.dispose(); + _humanController.dispose(); super.dispose(); } @@ -74,7 +74,7 @@ class _FixWorkFinishPageState extends State { spacing: 24, children: [ Text( - widget.fixModel.reportDetail, + widget.fixModel.reportDetail!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -96,10 +96,10 @@ class _FixWorkFinishPageState extends State { child: FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, image: API.image( - widget.model.repairDetail.imgUrls[index].url, + widget.model.repairDetail!.imgUrls![index].url!, ))); }, - itemCount: widget.model.repairDetail.imgUrls.length, + itemCount: widget.model.repairDetail!.imgUrls!.length, ), ], ), @@ -371,7 +371,7 @@ class _FixWorkFinishPageState extends State { _materialPriceController.text); } return Text( - '¥${(humanPrice + materialPrice).toStringAsFixed(2)}', + '¥${(humanPrice! + materialPrice!).toStringAsFixed(2)}', style: TextStyle( color: Colors.black, fontSize: 28.sp), ); @@ -415,23 +415,23 @@ class _FixWorkFinishPageState extends State { return; } } - List urls = + List urls = await NetUtil().uploadFiles(_imgs, API.upload.uploadArtical); - BaseModel baseModel = await ManageFunc.handleResult( - widget.model.repairDetail.dispatchId, + BaseModel baseModel = await (ManageFunc.handleResult( + widget.model.repairDetail!.dispatchId, _descriptionController.text, _materialController.text, humanPrice, materialPrice, - humanPrice + materialPrice, + humanPrice! + materialPrice!, 1, - urls); - if (baseModel.status) { + urls) ); + if (baseModel.status!) { FixSubmitFinishPage( model: widget.fixModel, ).to(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } }, ), diff --git a/lib/ui/sub_pages/business_and_fix/fixer_department_page.dart b/lib/ui/sub_pages/business_and_fix/fixer_department_page.dart index a274fda..1204d1e 100644 --- a/lib/ui/sub_pages/business_and_fix/fixer_department_page.dart +++ b/lib/ui/sub_pages/business_and_fix/fixer_department_page.dart @@ -1,4 +1,5 @@ // Flutter imports: + import 'package:aku_community_manager/ui/widgets/common/aku_material_button.dart'; import 'package:flutter/material.dart'; @@ -25,8 +26,8 @@ class FixerDepartmentPage extends StatefulWidget { final DispatchReportModel model; final bool changeType; FixerDepartmentPage({ - Key key, - @required this.model, + Key? key, + required this.model, this.changeType = false, }) : super(key: key); @@ -35,23 +36,26 @@ class FixerDepartmentPage extends StatefulWidget { } class _FixerDepartmentPageState extends State { - DispatchReportModel _reportModel; - List _pickedFixers = []; + DispatchReportModel? _reportModel; + // List _pickedFixers = []; List _fixerItems = []; bool get canDispatch { + if (widget.changeType && _reportModel?.operato != null) { + return true; + } if (_reportModel?.operato == null) { return false; - } else if (_reportModel.type == -1) { + } else if (_reportModel!.type == -1) { return false; - } else if (_reportModel.workOrderTimeLimit == -1) { + } else if (_reportModel!.workOrderTimeLimit == -1) { return false; - } else if (_reportModel.workOrderTyoe == -1) { + } else if (_reportModel!.workOrderTyoe == -1) { return false; - } else if (_reportModel.workOrderTypeDetail == -1) { + } else if (_reportModel!.workOrderTypeDetail == -1) { return false; - } else if (_reportModel.remark == null) { + } else if (_reportModel!.remark == null) { return false; } return true; @@ -85,21 +89,22 @@ class _FixerDepartmentPageState extends State { onPressed: canDispatch ? () async { if (widget.changeType) { - BaseModel baseModel = await ManageFunc.repairReassignment( - _reportModel.dispatchListId, _reportModel.operato); - if (baseModel.status) { + BaseModel baseModel = await (ManageFunc.repairReassignment( + _reportModel!.dispatchListId!, _reportModel!.operato)); + if (baseModel.status!) { + BotToast.showText(text: '改派成功'); Get.back(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } } else { BaseModel baseModel = - await ManageFunc.repairDispatch(_reportModel); - if (baseModel.status) { + await (ManageFunc.repairDispatch(_reportModel!)); + if (baseModel.status!) { Get.back(); Get.back(); } else { - BotToast.showText(text: baseModel.message); + BotToast.showText(text: baseModel.message!); } } } @@ -162,7 +167,7 @@ class _FixerDepartmentPageState extends State { alignment: Alignment.centerLeft, padding: EdgeInsets.symmetric(horizontal: 32.w), child: Text( - model.name, + model.name!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 32.sp, @@ -179,7 +184,7 @@ class _FixerDepartmentPageState extends State { height: 1.w, thickness: 1.w, ), - ...model.repairmanVos.map((e) { + ...model.repairmanVos!.map((e) { return Column( mainAxisSize: MainAxisSize.min, children: [ @@ -193,7 +198,7 @@ class _FixerDepartmentPageState extends State { // } else { // _pickedFixers.remove(e); // } - _reportModel.operato = e.id; + _reportModel!.operato = e.id; setState(() {}); }, child: Row( @@ -202,17 +207,17 @@ class _FixerDepartmentPageState extends State { Checkbox( checkColor: AppStyle.primaryTextColor, activeColor: AppStyle.primaryColor, - value: _reportModel.operato == e.id, + value: _reportModel!.operato == e.id, onChanged: (state) { // if (_pickedFixers.indexOf(e) == -1) { // _pickedFixers.add(e); // } else { // _pickedFixers.remove(e); // } - if (_reportModel.operato == e.id) { - _reportModel.operato = -1; + if (_reportModel!.operato == e.id) { + _reportModel!.operato = -1; } else { - _reportModel.operato = e.id; + _reportModel!.operato = e.id; } setState(() {}); }, @@ -225,7 +230,7 @@ class _FixerDepartmentPageState extends State { width: 40.w, ), Text( - e.name, + e.name!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -239,7 +244,7 @@ class _FixerDepartmentPageState extends State { width: 40.w, ), Text( - e.tel, + e.tel!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -250,7 +255,7 @@ class _FixerDepartmentPageState extends State { ], ), ), - model.repairmanVos.last == e + model.repairmanVos!.last == e ? SizedBox() : Divider( indent: 32.w, diff --git a/lib/ui/sub_pages/decoration_manager/decoration_checkbox.dart b/lib/ui/sub_pages/decoration_manager/decoration_checkbox.dart index 96c15aa..bb61593 100644 --- a/lib/ui/sub_pages/decoration_manager/decoration_checkbox.dart +++ b/lib/ui/sub_pages/decoration_manager/decoration_checkbox.dart @@ -7,8 +7,8 @@ import 'package:aku_community_manager/tools/widget_tool.dart'; class DecorationCheckBox extends StatefulWidget { final bool initValue; - final Function(bool state) onChange; - DecorationCheckBox({Key key, this.initValue = true, this.onChange}) + final Function(bool state)? onChange; + DecorationCheckBox({Key? key, this.initValue = true, this.onChange}) : super(key: key); @override @@ -16,7 +16,7 @@ class DecorationCheckBox extends StatefulWidget { } class _DecorationCheckBoxState extends State { - bool _nowValue; + bool? _nowValue; @override void initState() { super.initState(); @@ -48,11 +48,11 @@ class _DecorationCheckBoxState extends State { } _buildBox( - {bool rawChecked, - Color color, - Color subColor, - String title, - IconData icon}) { + {bool? rawChecked, + Color? color, + Color? subColor, + required String title, + IconData? icon}) { final checked = _nowValue == rawChecked; return GestureDetector( onTap: widget.onChange == null @@ -61,7 +61,7 @@ class _DecorationCheckBoxState extends State { setState(() { _nowValue = rawChecked; }); - widget.onChange(_nowValue); + widget.onChange!(_nowValue!); }, child: Material( color: Colors.transparent, @@ -77,9 +77,9 @@ class _DecorationCheckBoxState extends State { decoration: BoxDecoration( borderRadius: BorderRadius.circular(20.w), border: Border.all( - color: checked ? color : Color(0xFFE8E8E8), + color: checked ? color! : Color(0xFFE8E8E8), ), - color: checked ? subColor : subColor.withOpacity(0), + color: checked ? subColor : subColor!.withOpacity(0), ), ), AkuBox.w(16), @@ -91,7 +91,7 @@ class _DecorationCheckBoxState extends State { ); } - _buildText(String title, Color color, bool checked) { + _buildText(String title, Color? color, bool checked) { return Text( title, style: TextStyle( @@ -102,7 +102,7 @@ class _DecorationCheckBoxState extends State { ); } - _buildIcon(IconData icon, Color color, bool checked) { + _buildIcon(IconData? icon, Color? color, bool checked) { return Icon( icon, color: checked ? color : Color(0xFFE8E8E8), diff --git a/lib/ui/sub_pages/decoration_manager/decoration_success_page.dart b/lib/ui/sub_pages/decoration_manager/decoration_success_page.dart index 88e6aae..f968e55 100644 --- a/lib/ui/sub_pages/decoration_manager/decoration_success_page.dart +++ b/lib/ui/sub_pages/decoration_manager/decoration_success_page.dart @@ -10,7 +10,7 @@ import 'package:aku_community_manager/tools/widget_tool.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class DecorationSuccessPage extends StatefulWidget { - DecorationSuccessPage({Key key}) : super(key: key); + DecorationSuccessPage({Key? key}) : super(key: key); @override _DecorationSuccessPageState createState() => _DecorationSuccessPageState(); diff --git a/lib/ui/sub_pages/decoration_manager/decoration_util.dart b/lib/ui/sub_pages/decoration_manager/decoration_util.dart index 003e61f..d77a828 100644 --- a/lib/ui/sub_pages/decoration_manager/decoration_util.dart +++ b/lib/ui/sub_pages/decoration_manager/decoration_util.dart @@ -13,7 +13,7 @@ class DecorationUIUtil { Provider.of(context, listen: false); DecorationUIUtil(this.context); - String getTagName(int operationStatus, int status, {int tracker}) { + String getTagName(int operationStatus, int status, {int? tracker}) { // Map managerMap = { // DecorationType.WAIT_HAND_OUT: '待指派', // DecorationType.HAND_OUT: '已指派', @@ -48,11 +48,10 @@ class DecorationUIUtil { } else { return '未知'; } - break; case 2: if (status < 5) { - if (userProvider?.infoModel?.canOperation != null && - userProvider.infoModel.canOperation) { + if (userProvider.infoModel?.canOperation != null && + userProvider.infoModel!.canOperation) { return '已指派'; } else { return '待执行'; @@ -60,14 +59,12 @@ class DecorationUIUtil { } else { return '未知'; } - break; case 3: if (status >= 5) { return '已完成'; } else { return '未知'; } - break; default: return '未知'; } @@ -111,7 +108,7 @@ class DecorationUIUtil { 7: '装修结束', 8: '已作废', }; - String getDecorationStatus(int status) { + String? getDecorationStatus(int status) { return stautsToString[status]; } } diff --git a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_card.dart b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_card.dart index 39f66f8..1fd0741 100644 --- a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_card.dart +++ b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_card.dart @@ -13,10 +13,10 @@ import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart' class NewRenovationCard extends StatefulWidget { final NewRenovationListModel model; - final VoidCallback callRefresh; + final VoidCallback? callRefresh; NewRenovationCard({ - Key key, - this.model, + Key? key, + required this.model, this.callRefresh, }) : super(key: key); @@ -44,7 +44,7 @@ class _NewRenovationCardState extends State { Row( children: [ Text( - widget.model.roomName, + widget.model.roomName!, style: TextStyle( fontSize: 32.sp, fontWeight: FontWeight.bold, @@ -66,7 +66,7 @@ class _NewRenovationCardState extends State { AkuRowTile( assetPath: R.ASSETS_MANAGE_IC_RENWU_PNG, title: '装修公司', - content: widget.model.constructionUnit.text + content: widget.model.constructionUnit!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -74,7 +74,7 @@ class _NewRenovationCardState extends State { AkuRowTile( assetPath: R.ASSETS_MANAGE_IC_RENWU_PNG, title: '负责人姓名', - content: widget.model.director.text + content: widget.model.director!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -82,7 +82,7 @@ class _NewRenovationCardState extends State { AkuRowTile( assetPath: R.ASSETS_MANAGE_IC_RENWU_PNG, title: '负责人电话', - content: widget.model.directorTel.text + content: widget.model.directorTel!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -139,9 +139,9 @@ class _NewRenovationCardState extends State { text: '提交报告', onPressed: () async { Get.to(() => NewRenovationFinishSubmitPage( - id: widget.model.id, + id: widget.model.id!, callRefresh: () { - widget.callRefresh(); + widget.callRefresh!(); }, )); }) diff --git a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_detail_page.dart b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_detail_page.dart index c7fd342..d16f9ac 100644 --- a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_detail_page.dart +++ b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_detail_page.dart @@ -10,7 +10,7 @@ import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart' class NewRenovationDetailPage extends StatefulWidget { final NewRenovationListModel model; - NewRenovationDetailPage({Key key, this.model}) : super(key: key); + NewRenovationDetailPage({Key? key, required this.model}) : super(key: key); @override _NewRenovationDetailPageState createState() => @@ -64,21 +64,21 @@ class _NewRenovationDetailPageState extends State { Row( children: [ Spacer(), - widget.model.auditDate.text + widget.model.auditDate!.text .size(24.sp) .color(kTextSubColor) .make(), ], ), ], - ...widget.model.checkVoList.isEmpty ? [] : [..._checkWidge()] + ...widget.model.checkVoList!.isEmpty ? [] : [..._checkWidge()] ], ), ); } List _checkWidge() { - return widget.model.checkVoList + return widget.model.checkVoList! .map((e) => Container( width: double.infinity, decoration: BoxDecoration( @@ -92,7 +92,7 @@ class _NewRenovationDetailPageState extends State { 20.w.heightBox, Row( children: [ - '完工检查${widget.model.checkVoList.indexOf(e)}' + '完工检查${widget.model.checkVoList!.indexOf(e)}' .text .size(32.sp) .color(kTextPrimaryColor) @@ -110,7 +110,7 @@ class _NewRenovationDetailPageState extends State { Row( children: [ Spacer(), - (e.createDate) + e.createDate! .text .size(24.sp) .color(kTextSubColor) @@ -135,7 +135,7 @@ class _NewRenovationDetailPageState extends State { Row( children: [ Text( - widget.model.roomName, + widget.model.roomName!, style: TextStyle( fontSize: 32.sp, fontWeight: FontWeight.bold, @@ -157,7 +157,7 @@ class _NewRenovationDetailPageState extends State { AkuRowTile( assetPath: R.ASSETS_MANAGE_IC_RENWU_PNG, title: '装修公司', - content: widget.model.constructionUnit.text + content: widget.model.constructionUnit!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -165,7 +165,7 @@ class _NewRenovationDetailPageState extends State { AkuRowTile( assetPath: R.ASSETS_MANAGE_IC_RENWU_PNG, title: '负责人姓名', - content: widget.model.director.text + content: widget.model.director!.text .size(24.sp) .color(kTextSubColor) .make(), @@ -173,7 +173,7 @@ class _NewRenovationDetailPageState extends State { AkuRowTile( assetPath: R.ASSETS_MANAGE_IC_RENWU_PNG, title: '负责人电话', - content: widget.model.directorTel.text + content: widget.model.directorTel!.text .size(24.sp) .color(kTextSubColor) .make(), diff --git a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_finsih_submit_page.dart b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_finsih_submit_page.dart index 6482a81..ecb4867 100644 --- a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_finsih_submit_page.dart +++ b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_finsih_submit_page.dart @@ -13,8 +13,8 @@ import 'package:velocity_x/velocity_x.dart'; class NewRenovationFinishSubmitPage extends StatefulWidget { final int id; - final VoidCallback callRefresh; - NewRenovationFinishSubmitPage({Key key, @required this.id, this.callRefresh}) : super(key: key); + final VoidCallback? callRefresh; + NewRenovationFinishSubmitPage({Key? key, /*required*/ required this.id, this.callRefresh}) : super(key: key); @override _NewRenovationFinishSubmitPageState createState() => @@ -24,7 +24,7 @@ class NewRenovationFinishSubmitPage extends StatefulWidget { class _NewRenovationFinishSubmitPageState extends State { int _isQualified = 1; - TextEditingController _detailController; + late TextEditingController _detailController; @override void initState() { super.initState(); diff --git a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_page.dart b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_page.dart index 3af8abb..ccb3e04 100644 --- a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_page.dart +++ b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_page.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class NewRenovationPage extends StatefulWidget { - NewRenovationPage({Key key}) : super(key: key); + NewRenovationPage({Key? key}) : super(key: key); @override _NewRenovationState createState() => _NewRenovationState(); @@ -13,7 +13,7 @@ class NewRenovationPage extends StatefulWidget { class _NewRenovationState extends State with TickerProviderStateMixin { - TabController _tabController; + TabController? _tabController; List _tabs = ['检查中', '检查通过','检查不通过']; @override void initState() { @@ -23,7 +23,7 @@ class _NewRenovationState extends State @override void dispose() { - _tabController.dispose(); + _tabController!.dispose(); super.dispose(); } @@ -31,7 +31,7 @@ class _NewRenovationState extends State Widget build(BuildContext context) { return AkuScaffold( title: '装修管理', - appBarBottom: PreferredSize(preferredSize: Size.fromHeight(88.w),child: AkuTabBar(controller: _tabController, tabs: _tabs),), + appBarBottom: PreferredSize(preferredSize: Size.fromHeight(88.w),child: AkuTabBar(controller: _tabController!, tabs: _tabs),), body: TabBarView( controller: _tabController, children: List.generate(_tabs.length, (index) => NewRenovationView(index:index+6))), diff --git a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_view.dart b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_view.dart index cd8840a..ac79aa1 100644 --- a/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_view.dart +++ b/lib/ui/sub_pages/decoration_manager/new_renovation/new_renovation_view.dart @@ -9,7 +9,7 @@ import 'package:velocity_x/velocity_x.dart'; class NewRenovationView extends StatefulWidget { final int index; - NewRenovationView({Key key, this.index}) : super(key: key); + NewRenovationView({Key? key, required this.index}) : super(key: key); @override _NewRenovationState createState() => _NewRenovationState(); @@ -17,7 +17,7 @@ class NewRenovationView extends StatefulWidget { class _NewRenovationState extends State with AutomaticKeepAliveClientMixin { - EasyRefreshController _refreshController; + EasyRefreshController? _refreshController; @override void initState() { super.initState(); @@ -26,7 +26,7 @@ class _NewRenovationState extends State @override void dispose() { - _refreshController.dispose(); + _refreshController!.dispose(); super.dispose(); } @@ -38,7 +38,7 @@ class _NewRenovationState extends State controller: _refreshController, extraParams: {"userDecorationNewStatus": widget.index}, convert: (models) { - return models.tableList + return models.tableList! .map((e) => NewRenovationListModel.fromJson(e)) .toList(); }, @@ -49,7 +49,7 @@ class _NewRenovationState extends State return NewRenovationCard( model: items[index], callRefresh: () { - _refreshController.callRefresh(); + _refreshController!.callRefresh(); }, ); }, diff --git a/lib/ui/sub_pages/items_outdoor/items_outdoor_card.dart b/lib/ui/sub_pages/items_outdoor/items_outdoor_card.dart index a502505..8e84677 100644 --- a/lib/ui/sub_pages/items_outdoor/items_outdoor_card.dart +++ b/lib/ui/sub_pages/items_outdoor/items_outdoor_card.dart @@ -15,8 +15,8 @@ import 'package:aku_community_manager/ui/sub_pages/items_outdoor/items_outdoor_d class ItemsOutdoorCard extends StatefulWidget { final GoodsOutItemModel model; - final VoidCallback callRefresh; - ItemsOutdoorCard({Key key, @required this.model, this.callRefresh}) + final VoidCallback? callRefresh; + ItemsOutdoorCard({Key? key, /*required*/ /*required*/ required this.model, this.callRefresh}) : super(key: key); @override @@ -30,9 +30,9 @@ class _ItemsOutdoorCardState extends State { TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp); return GestureDetector( onTap: () async { - await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id)); + await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id!)); if (widget.callRefresh != null) { - widget.callRefresh(); + widget.callRefresh!(); } }, child: Container( @@ -63,7 +63,7 @@ class _ItemsOutdoorCardState extends State { ), ), AkuBox.w(16), - //TODO 创建时间 + // // Text( // widget.model.create, // style: TextStyle( @@ -114,7 +114,7 @@ class _ItemsOutdoorCardState extends State { Text('详细地址', style: _textStyle), Spacer(), Text( - widget.model.roomName, + widget.model.roomName!, style: AppStyle().primaryStyle, ), ], @@ -134,7 +134,7 @@ class _ItemsOutdoorCardState extends State { ), Spacer(), Text( - widget.model.applicantName, + widget.model.applicantName!, style: AppStyle().primaryStyle, ), ], @@ -173,7 +173,7 @@ class _ItemsOutdoorCardState extends State { ), Spacer(), Text( - widget.model.articleOutName, + widget.model.articleOutName!, style: AppStyle().primaryStyle, ), ], @@ -193,7 +193,7 @@ class _ItemsOutdoorCardState extends State { ), Spacer(), Text( - widget.model.expectedTime, + widget.model.expectedTime!, style: AppStyle().primaryStyle, ), ], @@ -207,9 +207,9 @@ class _ItemsOutdoorCardState extends State { alignment: Alignment.centerRight, child: AkuButton( onPressed: () async { - await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id)); + await Get.to(ItemsOutdoorDetailsPage(id: widget.model.id!)); if (widget.callRefresh != null) { - widget.callRefresh(); + widget.callRefresh!(); } }, child: Container( diff --git a/lib/ui/sub_pages/items_outdoor/items_outdoor_details_page.dart b/lib/ui/sub_pages/items_outdoor/items_outdoor_details_page.dart index d19b8ca..40d3e5a 100644 --- a/lib/ui/sub_pages/items_outdoor/items_outdoor_details_page.dart +++ b/lib/ui/sub_pages/items_outdoor/items_outdoor_details_page.dart @@ -27,7 +27,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class ItemsOutdoorDetailsPage extends StatefulWidget { final int id; - ItemsOutdoorDetailsPage({Key key, @required this.id}) : super(key: key); + ItemsOutdoorDetailsPage({Key? key, /*required*/ required this.id}) : super(key: key); @override _ItemsOutdoorDetailsPageState createState() => @@ -35,9 +35,9 @@ class ItemsOutdoorDetailsPage extends StatefulWidget { } class _ItemsOutdoorDetailsPageState extends State { - GoodsOutDetailModel _model; + GoodsOutDetailModel? _model; - _buildTile(String path, String title, String subTitle) { + _buildTile(String path, String title, String? subTitle) { return Row( children: [ Image.asset( @@ -47,7 +47,7 @@ class _ItemsOutdoorDetailsPageState extends State { ), AkuBox.w(4), Text( - title ?? '', + title, style: TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp), ), Spacer(), @@ -94,9 +94,9 @@ class _ItemsOutdoorDetailsPageState extends State { ), Spacer(), Text( - _model.statusValue, + _model!.statusValue, style: TextStyle( - color: _model.statusColor, + color: _model!.statusColor, fontSize: 24.sp, fontWeight: FontWeight.bold, ), @@ -110,19 +110,19 @@ class _ItemsOutdoorDetailsPageState extends State { _buildTile( R.ASSETS_OUTDOOR_IC_ADDRESS_PNG, '详细地址', - _model.roomName, + _model!.roomName, ), _buildTile(R.ASSETS_OUTDOOR_IC_HOME_PNG, '出户人', - _model.applicantName), + _model!.applicantName), _buildTile(R.ASSETS_OUTDOOR_IC_HOME_PNG, '身份', - _model.identityValue), + _model!.identityValue), _buildTile(R.ASSETS_OUTDOOR_IC_HOME_PNG, '联系方式', - _model.applicantTel), + _model!.applicantTel), _buildTile( R.ASSETS_OUTDOOR_IC_HOME_PNG, '出户时间', DateUtil.formatDate( - _model.expected, + _model!.expected, format: 'yyyy-MM-dd HH:mm', ), ), @@ -133,7 +133,7 @@ class _ItemsOutdoorDetailsPageState extends State { Divider(height: 1.w), MaterialButton( onPressed: () async { - launch('tel:${_model.applicantTel}'); + launch('tel:${_model!.applicantTel}'); }, elevation: 0, child: Row( @@ -185,7 +185,7 @@ class _ItemsOutdoorDetailsPageState extends State { ), Spacer(), Text( - _model.articleOutName ?? '', + _model!.articleOutName ?? '', style: AppStyle().primaryStyle, ), ], @@ -205,7 +205,7 @@ class _ItemsOutdoorDetailsPageState extends State { ), Spacer(), Text( - _model.weightValue, + _model!.weightValue, style: AppStyle().primaryStyle, ), ], @@ -225,7 +225,7 @@ class _ItemsOutdoorDetailsPageState extends State { ), Spacer(), Text( - _model.approachValue, + _model!.approachValue, style: AppStyle().primaryStyle, ) ], @@ -249,13 +249,13 @@ class _ItemsOutdoorDetailsPageState extends State { AkuBox.h(16), Wrap( spacing: 16.w, - children: _model.imgUrls + children: _model!.imgUrls! .map( (e) => ClipRRect( borderRadius: BorderRadius.circular(4.w), child: FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(e?.url ?? ''), + image: API.image(e.url ?? ''), width: 218.w, height: 218.w, )), @@ -274,9 +274,9 @@ class _ItemsOutdoorDetailsPageState extends State { Widget _bottomCard() { final userProvider = Provider.of(context); - switch (_model.status) { + switch (_model!.status) { case 1: - return userProvider.infoModel.canPass + return userProvider.infoModel!.canPass ? Container( height: 98.w, decoration: BoxDecoration( @@ -296,7 +296,7 @@ class _ItemsOutdoorDetailsPageState extends State { children: [ AkuButton( onPressed: () { - Get.to(OutdoorNotpassPage(id: _model.id)); + Get.to(OutdoorNotpassPage(id: _model!.id!)); }, child: Container( width: 304.w, @@ -316,7 +316,7 @@ class _ItemsOutdoorDetailsPageState extends State { Spacer(), AkuMaterialButton( onPressed: () { - Get.to(OutdoorPassPage(id: _model.id)); + Get.to(OutdoorPassPage(id: _model!.id!)); }, radius: 4.w, color: Color(0xFFFFC40C), @@ -331,7 +331,7 @@ class _ItemsOutdoorDetailsPageState extends State { ), ) : SizedBox(); - break; + case 2: return Container( height: 226.w, @@ -359,7 +359,7 @@ class _ItemsOutdoorDetailsPageState extends State { Spacer(), Text( DateUtil.formatDate( - _model.expected, + _model!.expected, format: 'yyyy-MM-dd HH:mm', ), style: AppStyle().primaryStyle, @@ -381,7 +381,7 @@ class _ItemsOutdoorDetailsPageState extends State { ), Spacer(), Text( - _model.exportValue, + _model!.exportValue, style: AppStyle().primaryStyle, ), ], @@ -389,7 +389,7 @@ class _ItemsOutdoorDetailsPageState extends State { ], ), ); - break; + case 3: return Container( height: 226.w, @@ -417,7 +417,7 @@ class _ItemsOutdoorDetailsPageState extends State { Spacer(), Text( DateUtil.formatDate( - _model.expected, + _model!.expected, format: 'yyyy-MM-dd HH:mm', ), style: AppStyle().primaryStyle, @@ -439,7 +439,7 @@ class _ItemsOutdoorDetailsPageState extends State { ), Spacer(), Text( - _model.remarks, + _model!.remarks!, style: TextStyle( color: Color(0xFFFF4501), fontSize: 28.sp, @@ -450,7 +450,7 @@ class _ItemsOutdoorDetailsPageState extends State { ], ), ); - break; + default: return SizedBox(); } diff --git a/lib/ui/sub_pages/items_outdoor/items_outdoor_page.dart b/lib/ui/sub_pages/items_outdoor/items_outdoor_page.dart index f9a0ea2..ebf0521 100644 --- a/lib/ui/sub_pages/items_outdoor/items_outdoor_page.dart +++ b/lib/ui/sub_pages/items_outdoor/items_outdoor_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; // Package imports: -import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; // Project imports: @@ -11,7 +10,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart'; class ItemsOutdoorPage extends StatefulWidget { - ItemsOutdoorPage({Key key}) : super(key: key); + ItemsOutdoorPage({Key? key}) : super(key: key); @override _ItemsOutdoorPageState createState() => _ItemsOutdoorPageState(); @@ -20,8 +19,7 @@ class ItemsOutdoorPage extends StatefulWidget { class _ItemsOutdoorPageState extends State with TickerProviderStateMixin { List _tabs = ['待出户', '已出户', '已驳回', '全部']; - TabController _tabController; - EasyRefreshController _refreshController = EasyRefreshController(); + TabController? _tabController; @override void initState() { super.initState(); @@ -40,7 +38,7 @@ class _ItemsOutdoorPageState extends State title: '物品出户', appBarBottom: PreferredSize( preferredSize: Size.fromHeight(88.w), - child: AkuTabBar(controller: _tabController, tabs: _tabs), + child: AkuTabBar(controller: _tabController!, tabs: _tabs), ), body: TabBarView( controller: _tabController, diff --git a/lib/ui/sub_pages/items_outdoor/items_outdoor_view.dart b/lib/ui/sub_pages/items_outdoor/items_outdoor_view.dart index 273f77c..e7b18a8 100644 --- a/lib/ui/sub_pages/items_outdoor/items_outdoor_view.dart +++ b/lib/ui/sub_pages/items_outdoor/items_outdoor_view.dart @@ -12,8 +12,8 @@ import 'package:aku_community_manager/ui/sub_pages/items_outdoor/items_outdoor_c import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class ItemsOutdoorView extends StatefulWidget { - final int status; - ItemsOutdoorView({Key key, this.status}) : super(key: key); + final int? status; + ItemsOutdoorView({Key? key, required this.status}) : super(key: key); @override _ItemsOutdoorViewState createState() => _ItemsOutdoorViewState(); @@ -30,7 +30,7 @@ class _ItemsOutdoorViewState extends State extraParams: {'articleOutStatus': widget.status}, controller: _refreshController, convert: (model) => - model.tableList.map((e) => GoodsOutItemModel.fromJson(e)).toList(), + model.tableList!.map((e) => GoodsOutItemModel.fromJson(e)).toList(), builder: (items) { return ListView.builder( itemBuilder: (context, index) { diff --git a/lib/ui/sub_pages/items_outdoor/outdoor_notpass_page.dart b/lib/ui/sub_pages/items_outdoor/outdoor_notpass_page.dart index b4a4d80..ed71867 100644 --- a/lib/ui/sub_pages/items_outdoor/outdoor_notpass_page.dart +++ b/lib/ui/sub_pages/items_outdoor/outdoor_notpass_page.dart @@ -17,7 +17,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class OutdoorNotpassPage extends StatefulWidget { final int id; - OutdoorNotpassPage({Key key, @required this.id}) : super(key: key); + OutdoorNotpassPage({Key? key, /*required*/ required this.id}) : super(key: key); @override _OutdoorNotpassPageState createState() => _OutdoorNotpassPageState(); @@ -27,7 +27,7 @@ class _OutdoorNotpassPageState extends State { String _currentTime = DateUtil.formatDate(DateTime.now()); List _rejectReason = ['业主不同意', '申报物品与实际不符', '该房子处于法院查封状态', '其他']; int _select = 0; - TextEditingController _textEditingController; + TextEditingController? _textEditingController; @override void initState() { super.initState(); @@ -193,7 +193,7 @@ class _OutdoorNotpassPageState extends State { if (_select <= 2) { remark = _rejectReason[_select]; } else { - remark = _textEditingController.text; + remark = _textEditingController!.text; } await NetUtil().post( API.manage.goodsOutNotRelease, diff --git a/lib/ui/sub_pages/items_outdoor/outdoor_pass_page.dart b/lib/ui/sub_pages/items_outdoor/outdoor_pass_page.dart index 5636ccb..d571bc7 100644 --- a/lib/ui/sub_pages/items_outdoor/outdoor_pass_page.dart +++ b/lib/ui/sub_pages/items_outdoor/outdoor_pass_page.dart @@ -17,14 +17,14 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class OutdoorPassPage extends StatefulWidget { final int id; - OutdoorPassPage({Key key, this.id}) : super(key: key); + OutdoorPassPage({Key? key, required this.id}) : super(key: key); @override _OutdoorPassPageState createState() => _OutdoorPassPageState(); } class _OutdoorPassPageState extends State { - int _doorValue; + int? _doorValue; @override Widget build(BuildContext context) { String _currentTime = @@ -85,7 +85,7 @@ class _OutdoorPassPageState extends State { PopupMenuItem(child: Text('北门'), value: 4), ]; }, - onSelected: (value) { + onSelected: (dynamic value) { _doorValue = value; setState(() {}); }, @@ -99,7 +99,7 @@ class _OutdoorPassPageState extends State { 2: '南门', 3: '西门', 4: '北门', - }[_doorValue], + }[_doorValue!]!, style: _doorValue == null ? AppStyle().secondaryTextStyle : AppStyle().primaryStyle, diff --git a/lib/ui/sub_pages/manage_func.dart b/lib/ui/sub_pages/manage_func.dart index 17a10dd..e3c18c8 100644 --- a/lib/ui/sub_pages/manage_func.dart +++ b/lib/ui/sub_pages/manage_func.dart @@ -1,7 +1,6 @@ // Dart imports: // Flutter imports: -import 'package:flutter/material.dart'; // Package imports: import 'package:dio/dio.dart'; @@ -18,7 +17,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; class ManageFunc { static Future getDetcorationDetail(int id) async { Response response = await NetUtil() - .dio + .dio! .get(API.manage.decorationFindByld, queryParameters: { 'decorationId': id, }); @@ -36,7 +35,7 @@ class ManageFunc { } static Future getInspectionDetail( - int executeId) async { + int/*!*/ executeId) async { BaseModel baseModel = await NetUtil().get(API.manage.inspectionFindDetailByld, params: { "executeId": executeId, @@ -45,7 +44,7 @@ class ManageFunc { } static Future> getInspectionPointByPlanId( - {@required int planId}) async { + {required int planId}) async { BaseModel baseModel = await NetUtil().get(API.manage.inspectionPointByPlanId, params: { "planId": planId, @@ -56,7 +55,7 @@ class ManageFunc { } static Future> getInspectionPointByExcuteId( - {@required int excuteId}) async { + {required int/*!*/ excuteId}) async { BaseModel baseModel = await NetUtil() .get(API.manage.inspecntionFindPointByExecuteId, params: { "executeId": excuteId, @@ -78,7 +77,7 @@ class ManageFunc { BaseModel baseModel = await NetUtil().post(API.manage.submitPointDetail, params: { "executePointId": model.executePointId, - "executeCheckList": model.executeCheckList + "executeCheckList": model.executeCheckList! .map((e) => ExecuteCheckList(e.id, e.status, e.remarkes).toJson()) .toList(), "inspectionFaceImg": model.inspectionFaceImgPath, diff --git a/lib/ui/sub_pages/visitor_manager/visitor_manager_card.dart b/lib/ui/sub_pages/visitor_manager/visitor_manager_card.dart index cba1b37..4bc458a 100644 --- a/lib/ui/sub_pages/visitor_manager/visitor_manager_card.dart +++ b/lib/ui/sub_pages/visitor_manager/visitor_manager_card.dart @@ -17,7 +17,7 @@ import 'package:aku_community_manager/ui/sub_pages/visitor_manager/visitor_manag class VisitorManagerCard extends StatefulWidget { final VisitorItemModel model; - VisitorManagerCard({Key key, @required this.model}) : super(key: key); + VisitorManagerCard({Key? key, /*required*/ required this.model}) : super(key: key); @override _VisitorManagerCardState createState() => _VisitorManagerCardState(); @@ -56,10 +56,10 @@ class _VisitorManagerCardState extends State { // } // } - VisitorStatus get _visitorStatusEnum { + VisitorStatus? get _visitorStatusEnum { switch (widget.model.visitorStatus) { case 1: - if (widget.model.effective.difference(DateTime.now()).isNegative) + if (widget.model.effective!.difference(DateTime.now()).isNegative) return VisitorStatus.OUTDATE; return VisitorStatus.NOT_VISIT; case 2: @@ -87,7 +87,7 @@ class _VisitorManagerCardState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - widget.model.roomName, + widget.model.roomName!, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 32.sp, @@ -103,7 +103,7 @@ class _VisitorManagerCardState extends State { ), AkuBox.w(8), Text( - widget.model.name, + widget.model.name!, style: _textStyle, ), AkuBox.w(137), @@ -154,7 +154,7 @@ class _VisitorManagerCardState extends State { ); } - String _statusImage(VisitorStatus status) { + String _statusImage(VisitorStatus? status) { switch (status) { case VisitorStatus.NOT_VISIT: return R.ASSETS_MANAGE_IC_WEIDAO_PNG; diff --git a/lib/ui/sub_pages/visitor_manager/visitor_manager_page.dart b/lib/ui/sub_pages/visitor_manager/visitor_manager_page.dart index ecdc6b1..e8109d6 100644 --- a/lib/ui/sub_pages/visitor_manager/visitor_manager_page.dart +++ b/lib/ui/sub_pages/visitor_manager/visitor_manager_page.dart @@ -17,18 +17,18 @@ enum VisitorStatus { } class VisitorCardsModel { - String adress; - String name; - String plate; - String time; - VisitorStatus status; + String? adress; + String? name; + String? plate; + String? time; + VisitorStatus? status; VisitorCardsModel( {this.adress, this.name, this.status, this.plate, this.time}); } class VisitorManagerPage extends StatefulWidget { final initIndex; - VisitorManagerPage({Key key, this.initIndex = 0}) : super(key: key); + VisitorManagerPage({Key? key, this.initIndex = 0}) : super(key: key); @override _VisitorManagerPageState createState() => _VisitorManagerPageState(); @@ -38,7 +38,7 @@ class _VisitorManagerPageState extends State with TickerProviderStateMixin { List _tabs = ['全部', '未到访', '已到访', '已过期']; - TabController _tabController; + TabController? _tabController; @override void initState() { @@ -60,7 +60,7 @@ class _VisitorManagerPageState extends State appBarBottom: PreferredSize( child: AkuTabBar( tabs: _tabs, - controller: _tabController, + controller: _tabController!, ), preferredSize: Size.fromHeight(88.w)), body: TabBarView( diff --git a/lib/ui/sub_pages/visitor_manager/visitor_manager_view.dart b/lib/ui/sub_pages/visitor_manager/visitor_manager_view.dart index 827fc6d..d66fecd 100644 --- a/lib/ui/sub_pages/visitor_manager/visitor_manager_view.dart +++ b/lib/ui/sub_pages/visitor_manager/visitor_manager_view.dart @@ -12,8 +12,8 @@ import 'package:aku_community_manager/ui/sub_pages/visitor_manager/visitor_manag import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; class VisitorManagerView extends StatefulWidget { - final int status; - VisitorManagerView({Key key, @required this.status}) : super(key: key); + final int? status; + VisitorManagerView({Key? key, this.status}) : super(key: key); @override _VisitorManagerViewState createState() => _VisitorManagerViewState(); @@ -29,7 +29,7 @@ class _VisitorManagerViewState extends State path: API.manage.visitorList, controller: _refreshController, convert: (model) { - return model.tableList + return model.tableList! .map((e) => VisitorItemModel.fromJson(e)) .toList(); }, diff --git a/lib/ui/tool_pages/scan_page.dart b/lib/ui/tool_pages/scan_page.dart index 0e995a9..22e5d01 100644 --- a/lib/ui/tool_pages/scan_page.dart +++ b/lib/ui/tool_pages/scan_page.dart @@ -15,7 +15,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_back_button.dart'; // import 'package:qr_code_scanner/qr_code_scanner.dart'; class ScanPage extends StatefulWidget { - ScanPage({Key key}) : super(key: key); + ScanPage({Key? key}) : super(key: key); @override _ScanPageState createState() => _ScanPageState(); @@ -23,8 +23,8 @@ class ScanPage extends StatefulWidget { class _ScanPageState extends State { GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); - String tempText; - Timer _timer; + String? tempText; + Timer? _timer; bool _barMove = false; @override diff --git a/lib/ui/tool_pages/warning/warning_detail_page.dart b/lib/ui/tool_pages/warning/warning_detail_page.dart index 89f6f1f..5b0e90a 100644 --- a/lib/ui/tool_pages/warning/warning_detail_page.dart +++ b/lib/ui/tool_pages/warning/warning_detail_page.dart @@ -7,7 +7,7 @@ import 'package:aku_community_manager/tools/widget_tool.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class WarningDetailPage extends StatefulWidget { - WarningDetailPage({Key key}) : super(key: key); + WarningDetailPage({Key? key}) : super(key: key); @override _WarningDetailPageState createState() => _WarningDetailPageState(); diff --git a/lib/ui/tool_pages/warning/warning_page.dart b/lib/ui/tool_pages/warning/warning_page.dart index 9839d84..65742f0 100644 --- a/lib/ui/tool_pages/warning/warning_page.dart +++ b/lib/ui/tool_pages/warning/warning_page.dart @@ -30,14 +30,14 @@ class PermissonUtil { } class WarningPage extends StatefulWidget { - WarningPage({Key key}) : super(key: key); + WarningPage({Key? key}) : super(key: key); @override _WarningPageState createState() => _WarningPageState(); } class _WarningPageState extends State { - AMapController _mapController; + AMapController? _mapController; @override void initState() { super.initState(); @@ -75,12 +75,12 @@ class _WarningPageState extends State { AMapWidget( onMapCreated: (controller) { LatLng _target = LatLng( - appProvider.location['latitude'], - appProvider.location['longitude'], + appProvider.location!['latitude'] as double, + appProvider.location!['longitude'] as double, ); _mapController = controller; - _mapController.moveCamera( + _mapController!.moveCamera( CameraUpdate.newCameraPosition( CameraPosition(target: _target, zoom: 18), ), @@ -131,7 +131,7 @@ class _WarningPageState extends State { child: Text( (appProvider.location == null) ? '加载中……' - : appProvider.location['address'], + : appProvider.location!['address'] as String, style: TextStyle( color: AppStyle.minorTextColor, fontSize: 28.sp, @@ -246,10 +246,10 @@ class _WarningPageState extends State { minWidth: 0, onPressed: () { LatLng _target = LatLng( - appProvider.location['latitude'], - appProvider.location['longitude'], + appProvider.location!['latitude'] as double, + appProvider.location!['longitude'] as double, ); - _mapController.moveCamera( + _mapController!.moveCamera( CameraUpdate.newCameraPosition( CameraPosition(target: _target, zoom: 18), ), diff --git a/lib/ui/tool_pages/warning/warning_sub_page.dart b/lib/ui/tool_pages/warning/warning_sub_page.dart index 41e5dae..79d55a0 100644 --- a/lib/ui/tool_pages/warning/warning_sub_page.dart +++ b/lib/ui/tool_pages/warning/warning_sub_page.dart @@ -17,15 +17,15 @@ import 'package:aku_community_manager/ui/tool_pages/warning/warning_success.dart import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class WarningSubPage extends StatefulWidget { - WarningSubPage({Key key}) : super(key: key); + WarningSubPage({Key? key}) : super(key: key); @override _WarningSubPageState createState() => _WarningSubPageState(); } class _WarningSubPageState extends State { - Timer _timer; - Timer _countTimer; + Timer? _timer; + Timer? _countTimer; int _count = 3; @override void dispose() { diff --git a/lib/ui/tool_pages/warning/warning_success.dart b/lib/ui/tool_pages/warning/warning_success.dart index 7fe3a80..d6362f4 100644 --- a/lib/ui/tool_pages/warning/warning_success.dart +++ b/lib/ui/tool_pages/warning/warning_success.dart @@ -15,14 +15,14 @@ import 'package:aku_community_manager/ui/tool_pages/warning/warning_detail_page. import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class WarningSuccess extends StatefulWidget { - WarningSuccess({Key key}) : super(key: key); + WarningSuccess({Key? key}) : super(key: key); @override _WarningSuccessState createState() => _WarningSuccessState(); } class _WarningSuccessState extends State { - Timer _timer; + Timer? _timer; @override void dispose() { _timer?.cancel(); diff --git a/lib/ui/widgets/app_widgets/aku_avatar.dart b/lib/ui/widgets/app_widgets/aku_avatar.dart index 6a9ba94..ffd4c87 100644 --- a/lib/ui/widgets/app_widgets/aku_avatar.dart +++ b/lib/ui/widgets/app_widgets/aku_avatar.dart @@ -11,8 +11,8 @@ import 'package:aku_community_manager/const/resource.dart'; import 'package:aku_community_manager/provider/user_provider.dart'; class AkuAvatar extends StatelessWidget { - final double size; - AkuAvatar({Key key, this.size}) : super(key: key); + final double? size; + AkuAvatar({Key? key, this.size}) : super(key: key); @override Widget build(BuildContext context) { @@ -24,7 +24,7 @@ class AkuAvatar extends StatelessWidget { clipBehavior: Clip.antiAlias, child: FadeInImage.assetNetwork( placeholder: R.ASSETS_PLACEHOLDER_WEBP, - image: API.image(userProvider.profileModel.firstImg?.url ?? ''), + image: API.image(userProvider.profileModel!.firstImg?.url ?? ''), height: size ?? 72.w, width: size ?? 72.w, fit: BoxFit.cover, diff --git a/lib/ui/widgets/app_widgets/aku_pick_image_widget.dart b/lib/ui/widgets/app_widgets/aku_pick_image_widget.dart index e0b37e6..f615f1e 100644 --- a/lib/ui/widgets/app_widgets/aku_pick_image_widget.dart +++ b/lib/ui/widgets/app_widgets/aku_pick_image_widget.dart @@ -17,11 +17,11 @@ import 'package:aku_community_manager/ui/widgets/inner/pick_image.dart'; import 'package:aku_community_manager/utils/extension/list_extension.dart'; class AkuPickImageWidget extends StatefulWidget { - final double size; + final double? size; final Function(List files) onChanged; final String description; AkuPickImageWidget( - {Key key, this.size, this.onChanged, this.description = '上传照片'}) + {Key? key, this.size, required this.onChanged, this.description = '上传照片'}) : super(key: key); @override @@ -34,12 +34,12 @@ class _AkuPickImageWidgetState extends State { Widget build(BuildContext context) { return Row( children: [ - ..._files?.map((e) => showImage(e))?.toList(), + ..._files.map((e) => showImage(e)).toList(), GestureDetector( onTap: () async { await akuPickImage().then( (value) => _files.add( - File(value.path), + File(value!.path), ), ); widget.onChanged(_files); diff --git a/lib/ui/widgets/app_widgets/aku_single_check_button.dart b/lib/ui/widgets/app_widgets/aku_single_check_button.dart index 4f174cc..631e4e7 100644 --- a/lib/ui/widgets/app_widgets/aku_single_check_button.dart +++ b/lib/ui/widgets/app_widgets/aku_single_check_button.dart @@ -11,7 +11,7 @@ class AkuSingleCheckButton extends StatefulWidget { final T gropValue; final VoidCallback onPressed; AkuSingleCheckButton( - {Key key, this.text, this.value, this.gropValue, this.onPressed}) + {Key? key, required this.text, required this.value, required this.gropValue, required this.onPressed}) : super(key: key); @override diff --git a/lib/ui/widgets/common/aku_back_button.dart b/lib/ui/widgets/common/aku_back_button.dart index 5207b32..ef6b133 100644 --- a/lib/ui/widgets/common/aku_back_button.dart +++ b/lib/ui/widgets/common/aku_back_button.dart @@ -10,25 +10,25 @@ import 'package:aku_community_manager/tools/screen_tool.dart'; class AkuBackButton extends StatefulWidget { final Brightness brightness; - final IconData icon; + final IconData? icon; final bool text; AkuBackButton({ - Key key, + Key? key, this.brightness = Brightness.light, this.icon = Icons.arrow_back_ios, this.text = false, }) : super(key: key); AkuBackButton.close({ - Key key, + Key? key, this.brightness = Brightness.light, this.icon = Icons.clear, this.text = false, }) : super(key: key); AkuBackButton.text({ - Key key, + Key? key, this.brightness = Brightness.light, this.icon, this.text = true, diff --git a/lib/ui/widgets/common/aku_button.dart b/lib/ui/widgets/common/aku_button.dart index ed5ebc8..c9ede70 100644 --- a/lib/ui/widgets/common/aku_button.dart +++ b/lib/ui/widgets/common/aku_button.dart @@ -11,15 +11,15 @@ class AkuButton extends StatefulWidget { final double radius; final EdgeInsets padding; @required - final VoidCallback onPressed; + final VoidCallback? onPressed; final Color color; final double width; AkuButton({ - Key key, - this.child, + Key? key, + required this.child, this.height = 0, this.radius = 0, - this.onPressed, + this.onPressed, this.padding = EdgeInsets.zero, this.color = Colors.transparent, this.width = 0, @@ -35,7 +35,7 @@ class _AkuButtonState extends State { Widget build(BuildContext context) { return isIOS ? AkuCupertinoButton( - onPressed: widget.onPressed, + onPressed: widget.onPressed!, child: widget.child, radius: widget.radius, minHeight: widget.height, diff --git a/lib/ui/widgets/common/aku_cupertino_button.dart b/lib/ui/widgets/common/aku_cupertino_button.dart index b0ebc94..a8bb839 100644 --- a/lib/ui/widgets/common/aku_cupertino_button.dart +++ b/lib/ui/widgets/common/aku_cupertino_button.dart @@ -8,19 +8,19 @@ class AkuCupertinoButton extends CupertinoButton { final EdgeInsetsGeometry padding; final double radius; final double minHeight; - final Color nullColor; + final Color? nullColor; final double minWidth; AkuCupertinoButton({ - Key key, - @required this.onPressed, - @required this.child, + Key? key, + /*required*/ required this.onPressed, + /*required*/ required this.child, this.color = Colors.transparent, this.padding = EdgeInsets.zero, this.radius = 0, this.minHeight = 0, this.nullColor, - this.minWidth, + required this.minWidth, }) : super( key: key, child: Container( diff --git a/lib/ui/widgets/common/aku_input_row.dart b/lib/ui/widgets/common/aku_input_row.dart index 7c64b61..e4a8ffe 100644 --- a/lib/ui/widgets/common/aku_input_row.dart +++ b/lib/ui/widgets/common/aku_input_row.dart @@ -6,10 +6,10 @@ import 'package:velocity_x/velocity_x.dart'; class AkuInputRow extends StatefulWidget { final String title; - final List formatters; - final TextEditingController controller; - final String hintText; - AkuInputRow({Key key, this.title, this.formatters, this.controller, this.hintText}) : super(key: key); + final List? formatters; + final TextEditingController? controller; + final String? hintText; + AkuInputRow({Key? key, required this.title, this.formatters, this.controller, this.hintText}) : super(key: key); @override _AkuInputRowState createState() => _AkuInputRowState(); diff --git a/lib/ui/widgets/common/aku_material_button.dart b/lib/ui/widgets/common/aku_material_button.dart index fffe77d..3d11ef1 100644 --- a/lib/ui/widgets/common/aku_material_button.dart +++ b/lib/ui/widgets/common/aku_material_button.dart @@ -1,23 +1,23 @@ import 'package:flutter/material.dart'; class AkuMaterialButton extends MaterialButton { - final VoidCallback onPressed; - final double elevation; - final double disabledElevation; - final double focusElevation; - final double highlightElevation; - final double hoverElevation; - final double height; - final double minWidth; - final double radius; - final EdgeInsets padding; - final Color color; - final Color nullColor; + final VoidCallback? onPressed; + final double? elevation; + final double? disabledElevation; + final double? focusElevation; + final double? highlightElevation; + final double? hoverElevation; + final double? height; + final double? minWidth; + final double? radius; + final EdgeInsets? padding; + final Color? color; + final Color? nullColor; final Widget child; AkuMaterialButton({ - Key key, - @required this.onPressed, + Key? key, + /*required*/ required this.onPressed, this.elevation = 0, this.disabledElevation = 0, this.focusElevation = 0, @@ -25,9 +25,9 @@ class AkuMaterialButton extends MaterialButton { this.hoverElevation = 0, this.height = 48, this.minWidth = 0, - this.radius = 0, + double this.radius = 0, this.padding = EdgeInsets.zero, - @required this.child, + /*required*/ /*required*/ required this.child, this.color = Colors.transparent, this.nullColor = Colors.transparent, }) : super( diff --git a/lib/ui/widgets/common/aku_radio.dart b/lib/ui/widgets/common/aku_radio.dart index 4f59514..e56b138 100644 --- a/lib/ui/widgets/common/aku_radio.dart +++ b/lib/ui/widgets/common/aku_radio.dart @@ -5,11 +5,11 @@ import 'package:flutter/material.dart'; import 'package:aku_community_manager/style/app_style.dart'; class AkuRadio extends StatefulWidget { - final double size; + final double? size; final int grouvalue; final int value; - final AkuValueChange onchanged; - AkuRadio({Key key, this.size, this.grouvalue, this.value, this.onchanged}) + final AkuValueChange? onchanged; + AkuRadio({Key? key, this.size, required this.grouvalue, required this.value, this.onchanged}) : super(key: key); @override @@ -21,7 +21,7 @@ class _AkuRadioState extends State { Widget build(BuildContext context) { return GestureDetector( onTap: () { - widget.onchanged(widget.value); + widget.onchanged!(widget.value); }, child: Container( alignment: Alignment.center, @@ -29,7 +29,7 @@ class _AkuRadioState extends State { height: widget.size, decoration: BoxDecoration( border: Border.all(color: Color(0xFFE8E8E8), width: 2.w), - borderRadius: BorderRadius.circular(widget.size / 2), + borderRadius: BorderRadius.circular(widget.size! / 2), gradient: LinearGradient( begin: Alignment.topLeft, end: Alignment.bottomRight, @@ -39,7 +39,7 @@ class _AkuRadioState extends State { child: widget.grouvalue == widget.value ? Icon( Icons.check, - size: widget.size * 0.8, + size: widget.size! * 0.8, ) : SizedBox(), ), diff --git a/lib/ui/widgets/common/aku_row_tile.dart b/lib/ui/widgets/common/aku_row_tile.dart index af2791f..004dc24 100644 --- a/lib/ui/widgets/common/aku_row_tile.dart +++ b/lib/ui/widgets/common/aku_row_tile.dart @@ -7,7 +7,7 @@ class AkuRowTile extends StatelessWidget { final String assetPath; final String title; final Widget content; - const AkuRowTile({Key key, this.assetPath, this.title, this.content}) + const AkuRowTile({Key? key, required this.assetPath, required this.title, required this.content}) : super(key: key); @override diff --git a/lib/ui/widgets/common/aku_scaffold.dart b/lib/ui/widgets/common/aku_scaffold.dart index 794b1e1..54326d7 100644 --- a/lib/ui/widgets/common/aku_scaffold.dart +++ b/lib/ui/widgets/common/aku_scaffold.dart @@ -10,10 +10,10 @@ import 'package:aku_community_manager/ui/widgets/common/aku_back_button.dart'; class AkuScaffold extends StatefulWidget { ///AppBar 使用该值 `title`,`titleStyle`,`leading`, ///`brightness`,`appBarColor`,`actions`将失效 - final PreferredSizeWidget appBar; + final PreferredSizeWidget? appBar; ///title - final String title; + final String? title; ///title style /// @@ -26,20 +26,20 @@ class AkuScaffold extends StatefulWidget { /// fontSize: 36.sp, ///) ///``` - final TextStyle titleStyle; + final TextStyle? titleStyle; ///leading /// ///默认使用 `AkuBackButton` - final Widget leading; + final Widget? leading; ///brightness final Brightness brightness; ///body - final Widget body; + final Widget? body; - final Widget bottom; + final Widget? bottom; ///背景色 /// @@ -50,9 +50,9 @@ class AkuScaffold extends StatefulWidget { final List actions; - final PreferredSizeWidget appBarBottom; + final PreferredSizeWidget? appBarBottom; AkuScaffold({ - Key key, + Key? key, this.appBar, this.title, this.titleStyle, diff --git a/lib/ui/widgets/common/aku_tile.dart b/lib/ui/widgets/common/aku_tile.dart index 69d25c5..647ef97 100644 --- a/lib/ui/widgets/common/aku_tile.dart +++ b/lib/ui/widgets/common/aku_tile.dart @@ -5,19 +5,19 @@ import 'package:flutter/material.dart'; import 'package:aku_community_manager/tools/screen_tool.dart'; class AkuTile extends StatefulWidget { - final Widget prefix; - final Widget suffix; + final Widget? prefix; + final Widget? suffix; final Widget title; final bool arrow; final Color color; - final double height; + final double? height; - final VoidCallback onTap; + final VoidCallback? onTap; AkuTile({ - Key key, + Key? key, this.prefix, this.suffix, - this.title, + required this.title, this.arrow = true, this.onTap, this.color = Colors.white, diff --git a/lib/ui/widgets/common/bee_custom_picker.dart b/lib/ui/widgets/common/bee_custom_picker.dart index ef22dbb..3455a82 100644 --- a/lib/ui/widgets/common/bee_custom_picker.dart +++ b/lib/ui/widgets/common/bee_custom_picker.dart @@ -4,9 +4,9 @@ import 'package:get/get.dart'; import 'package:velocity_x/velocity_x.dart'; class BeeCustomPicker extends StatefulWidget { - final Widget body; + final Widget? body; final VoidCallback onPressed; - BeeCustomPicker({Key key, this.body,@required this.onPressed}) : super(key: key); + BeeCustomPicker({Key? key, this.body,/*required*/ required this.onPressed}) : super(key: key); @override _BeeCustomPickerState createState() => _BeeCustomPickerState(); diff --git a/lib/ui/widgets/common/bee_date_picker.dart b/lib/ui/widgets/common/bee_date_picker.dart index 6f74884..57fb6c5 100644 --- a/lib/ui/widgets/common/bee_date_picker.dart +++ b/lib/ui/widgets/common/bee_date_picker.dart @@ -6,11 +6,11 @@ import 'package:get/get.dart'; import 'package:velocity_x/velocity_x.dart'; class BeeDatePicker { - static Future pick( + static Future pick( DateTime initDate, { CupertinoDatePickerMode mode = CupertinoDatePickerMode.date, - DateTime min, - DateTime max, + DateTime? min, + DateTime? max, }) async { return await Get.bottomSheet(_BeeDatePicker( date: initDate, @@ -20,7 +20,7 @@ class BeeDatePicker { )); } - static Future timePicker(DateTime initDate) async { + static Future timePicker(DateTime initDate) async { return await Get.bottomSheet(_BeeDatePicker( date: initDate, min: initDate, @@ -35,13 +35,13 @@ class _BeeDatePicker extends StatefulWidget { final bool use24H; final DateTime max; final DateTime min; - final CupertinoDatePickerMode mode; + final CupertinoDatePickerMode? mode; _BeeDatePicker({ - Key key, - @required this.date, + Key? key, + /*required*/ required this.date, this.use24H = false, - this.max, - this.min, + required this.max, + required this.min, this.mode, }) : super(key: key); diff --git a/lib/ui/widgets/common/bee_download_view.dart b/lib/ui/widgets/common/bee_download_view.dart index ecb41a2..180bd1f 100644 --- a/lib/ui/widgets/common/bee_download_view.dart +++ b/lib/ui/widgets/common/bee_download_view.dart @@ -9,8 +9,8 @@ import 'package:path_provider/path_provider.dart'; class BeeDownloadView extends StatefulWidget { - final String file; - BeeDownloadView({Key key, this.file}) : super(key: key); + final String? file; + BeeDownloadView({Key? key, this.file}) : super(key: key); @override _BeeDownloadViewState createState() => _BeeDownloadViewState(); @@ -18,7 +18,7 @@ class BeeDownloadView extends StatefulWidget { class _BeeDownloadViewState extends State { Dio dio = Dio(); - double progress; + double? progress; Future download() async { Directory dir = await getApplicationDocumentsDirectory(); Directory docPath = Directory('${dir.path}/docs'); @@ -27,8 +27,8 @@ class _BeeDownloadViewState extends State { } await Future.delayed(Duration(milliseconds: 500)); await dio.download( - API.file(widget.file), - '${docPath.path}/${widget.file.split('/').last}', + API.file(widget.file!), + '${docPath.path}/${widget.file!.split('/').last}', onReceiveProgress: (start, all) { setState(() { progress = start / all; @@ -36,7 +36,7 @@ class _BeeDownloadViewState extends State { print('$start,$all'); }, ); - Get.back(result: '${docPath.path}/${widget.file.split('/').last}'); + Get.back(result: '${docPath.path}/${widget.file!.split('/').last}'); } @override diff --git a/lib/ui/widgets/common/bee_list_view.dart b/lib/ui/widgets/common/bee_list_view.dart index fa599ed..f2a30fd 100644 --- a/lib/ui/widgets/common/bee_list_view.dart +++ b/lib/ui/widgets/common/bee_list_view.dart @@ -34,7 +34,7 @@ class BeeListView extends StatefulWidget { final String path; ///same as EasyRefreshController - final EasyRefreshController controller; + final EasyRefreshController? controller; ///转换器 /// @@ -54,19 +54,19 @@ class BeeListView extends StatefulWidget { final List Function(BaseListModel model) convert; ///子组件构造器 - final Widget Function(List items) builder; + final Widget Function(List items) builder; ///每页记录数 final int size; ///额外的参数 - final Map extraParams; + final Map? extraParams; BeeListView({ - Key key, - @required this.path, - @required this.controller, - @required this.convert, - @required this.builder, + Key? key, + /*required*/ required this.path, + /*required*/ required this.controller, + /*required*/ required this.convert, + /*required*/ required this.builder, this.size = 10, this.extraParams, }) : super(key: key); @@ -78,7 +78,7 @@ class BeeListView extends StatefulWidget { class _BeeListViewState extends State { int _pageNum = 1; BaseListModel _model = BaseListModel.zero(); - List _models = []; + List _models = []; Map get _params { Map tempMap = { 'pageNum': _pageNum, @@ -103,7 +103,7 @@ class _BeeListViewState extends State { widget.path, params: _params, ); - _models = widget.convert(_model); + _models = widget.convert(_model) as List; widget.controller?.resetLoadState(); setState(() {}); }, @@ -114,11 +114,11 @@ class _BeeListViewState extends State { widget.path, params: _params, ); - if (_pageNum <= _model.pageCount) { - _models.addAll(widget.convert(_model) as List); + if (_pageNum <= _model.pageCount!) { + _models.addAll(widget.convert(_model) as List); } - if (_pageNum >= _model.pageCount) { - widget.controller.finishLoad( + if (_pageNum >= _model.pageCount!) { + widget.controller!.finishLoad( success: true, noMore: true, ); diff --git a/lib/ui/widgets/common/bee_text_field.dart b/lib/ui/widgets/common/bee_text_field.dart index 949aa78..713a240 100644 --- a/lib/ui/widgets/common/bee_text_field.dart +++ b/lib/ui/widgets/common/bee_text_field.dart @@ -7,15 +7,15 @@ class BeeTextField extends StatefulWidget { final TextEditingController controller; final VoidCallback onChange; final String hintText; - final int minLines; - final int maxLines; + final int? minLines; + final int? maxLines; BeeTextField( - {Key key, - @required this.controller, - this.onChange, - @required this.hintText, - this.minLines, - this.maxLines}) + {Key? key, + required this.controller, + required this.onChange, + required this.hintText, + this.minLines, + this.maxLines}) : super(key: key); @override @@ -39,9 +39,8 @@ class _BeeTextFieldState extends State { maxLines: widget.maxLines ?? 10, autofocus: false, onChanged: (value) { - if (widget.onChange != null) { widget.onChange(); - } + }, decoration: InputDecoration( hintText: widget.hintText, diff --git a/lib/ui/widgets/common/car_bottom_button.dart b/lib/ui/widgets/common/car_bottom_button.dart index f772b55..c6b3383 100644 --- a/lib/ui/widgets/common/car_bottom_button.dart +++ b/lib/ui/widgets/common/car_bottom_button.dart @@ -6,30 +6,30 @@ import 'package:velocity_x/velocity_x.dart'; class CardBottomButton extends StatelessWidget { final String text; - final Color textColor; - final Color bgColor; + final Color? textColor; + final Color? bgColor; final bool hasBorder; final VoidCallback onPressed; const CardBottomButton( - {Key key, - this.text, + {Key? key, + required this.text, this.textColor, this.bgColor, this.hasBorder = false, - this.onPressed}) + required this.onPressed}) : super(key: key); CardBottomButton.white({ - Key key, - this.text, - this.onPressed, + Key? key, + required this.text, + required this.onPressed, }) : this.bgColor = Colors.white, this.textColor = kTextPrimaryColor, this.hasBorder = true, super(key: key); CardBottomButton.yellow({ - Key key, - this.text, - this.onPressed, + Key? key, + required this.text, + required this.onPressed, }) : this.bgColor = Color(0xFFFFC40C), this.textColor = kTextPrimaryColor, this.hasBorder = false, @@ -44,7 +44,7 @@ class CardBottomButton extends StatelessWidget { side: this.hasBorder ? BorderSide(color: Color(0xFF999999), width: 2.w) : BorderSide.none), - child: text.text.size(26.sp).color(this.textColor).bold.make(), + child: text.text.size(26.sp).color(this.textColor!).bold.make(), color: this.bgColor, padding: EdgeInsets.symmetric(vertical: 8.w, horizontal: 24.w), height: 52.w, diff --git a/lib/ui/widgets/inner/aku_bottom_button.dart b/lib/ui/widgets/inner/aku_bottom_button.dart index b94a673..789ba09 100644 --- a/lib/ui/widgets/inner/aku_bottom_button.dart +++ b/lib/ui/widgets/inner/aku_bottom_button.dart @@ -8,9 +8,9 @@ import 'package:flutter/material.dart'; import 'package:aku_community_manager/style/app_style.dart'; class AkuBottomButton extends StatefulWidget { - final VoidCallback onTap; + final VoidCallback? onTap; final String title; - AkuBottomButton({Key key, this.onTap, @required this.title}) + AkuBottomButton({Key? key, this.onTap, required this.title}) : super(key: key); @override diff --git a/lib/ui/widgets/inner/aku_chip_box.dart b/lib/ui/widgets/inner/aku_chip_box.dart index 7b4d843..744ba71 100644 --- a/lib/ui/widgets/inner/aku_chip_box.dart +++ b/lib/ui/widgets/inner/aku_chip_box.dart @@ -6,7 +6,7 @@ import 'package:aku_community_manager/style/app_style.dart'; class AkuChipBox extends StatelessWidget { final String title; - const AkuChipBox({Key key, @required this.title}) : super(key: key); + const AkuChipBox({Key? key, /*required*/ required this.title}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/ui/widgets/inner/aku_tab_bar.dart b/lib/ui/widgets/inner/aku_tab_bar.dart index 84a0e22..931dc21 100644 --- a/lib/ui/widgets/inner/aku_tab_bar.dart +++ b/lib/ui/widgets/inner/aku_tab_bar.dart @@ -8,7 +8,7 @@ import 'package:aku_community_manager/tools/screen_tool.dart'; class AkuTabBar extends StatefulWidget { final TabController controller; final List tabs; - AkuTabBar({Key key, @required this.controller, @required this.tabs}) + AkuTabBar({Key? key, /*required*/ required this.controller, /*required*/ required this.tabs}) : super(key: key); @override diff --git a/lib/ui/widgets/inner/aku_title_box.dart b/lib/ui/widgets/inner/aku_title_box.dart index 25cdb0d..9d15347 100644 --- a/lib/ui/widgets/inner/aku_title_box.dart +++ b/lib/ui/widgets/inner/aku_title_box.dart @@ -8,12 +8,12 @@ import 'package:aku_community_manager/tools/widget_tool.dart'; class AkuTitleBox extends StatelessWidget { final String title; - final Widget suffix; + final Widget? suffix; final double spacing; - final List children; + final List? children; const AkuTitleBox({ - Key key, - @required this.title, + Key? key, + /*required*/ required this.title, this.suffix, this.spacing = 0, this.children, @@ -44,7 +44,7 @@ class AkuTitleBox extends StatelessWidget { ], ), AkuBox.h(spacing), - ...children, + ...children!, ], ), ); diff --git a/lib/ui/widgets/inner/pick_image.dart b/lib/ui/widgets/inner/pick_image.dart index 081fe2c..ab36955 100644 --- a/lib/ui/widgets/inner/pick_image.dart +++ b/lib/ui/widgets/inner/pick_image.dart @@ -9,9 +9,9 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:image_picker/image_picker.dart'; -Future akuPickImage() async { +Future akuPickImage() async { return await showCupertinoModalPopup( - context: Get.context, + context: Get.context!, builder: (context) { return CupertinoActionSheet( title: Text('选择图片'), @@ -25,7 +25,7 @@ Future akuPickImage() async { maxWidth: 600, ) .then((file) { - Get.back(result: File(file.path)); + Get.back(result: File(file!.path)); }); }, child: Text('拍照'), @@ -39,7 +39,7 @@ Future akuPickImage() async { maxWidth: 600, ) .then((file) { - Get.back(result: File(file.path)); + Get.back(result: File(file!.path)); }); }, child: Text('相册'), diff --git a/lib/ui/widgets/inner/show_bottom_sheet.dart b/lib/ui/widgets/inner/show_bottom_sheet.dart index 7078707..6b8b61e 100644 --- a/lib/ui/widgets/inner/show_bottom_sheet.dart +++ b/lib/ui/widgets/inner/show_bottom_sheet.dart @@ -12,7 +12,7 @@ import 'package:aku_community_manager/ui/widgets/common/aku_back_button.dart'; ///show bottom sheet Future showAkuSheet({ - Widget child, + required Widget child, }) async { await Get.bottomSheet( Material( @@ -56,11 +56,11 @@ Future showNormalSheet(String title, List children) async { } Future showItemSheet({ - String title, - List items, - List ids, - int selectItem, - Function(int result) onTap, + required String title, + required List items, + List? ids, + int? selectItem, + Function(int? result)? onTap, }) async { await showNormalSheet( title, @@ -70,14 +70,14 @@ Future showItemSheet({ minWidth: double.infinity, onPressed: () { Get.back(); - onTap(ids[items.indexOf(e)]); + onTap!(ids![items.indexOf(e)]); }, child: Text( - e, + e!, style: TextStyle( fontWeight: FontWeight.bold, fontSize: 32.sp, - color: items.indexOf(e) == ids.indexOf(selectItem) + color: items.indexOf(e) == ids!.indexOf(selectItem) ? AppStyle.secondaryColor : AppStyle.primaryTextColor, ), diff --git a/lib/utils/extension/aku_date.dart b/lib/utils/extension/aku_date.dart index 47338dc..2628fed 100644 --- a/lib/utils/extension/aku_date.dart +++ b/lib/utils/extension/aku_date.dart @@ -2,7 +2,7 @@ import 'package:common_utils/common_utils.dart'; extension DateExt on String { - String akuDate({String format}) { + String akuDate({String? format}) { return DateUtil.formatDateStr(this, format: format ?? "yyyy-MM-dd HH:mm"); } } diff --git a/lib/utils/extension/list_extension.dart b/lib/utils/extension/list_extension.dart index 20d4cb0..0ff8c9f 100644 --- a/lib/utils/extension/list_extension.dart +++ b/lib/utils/extension/list_extension.dart @@ -6,8 +6,8 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:velocity_x/velocity_x.dart'; extension SeparateExt on List { - List sepWidget({Widget separate}) { - if (this == null) return null; + List sepWidget({Widget? separate}) { + // if (this == null) return null; if (this.isEmpty) return []; return List.generate(this.length * 2 - 1, (index) { if (index.isEven) diff --git a/lib/utils/hive_store.dart b/lib/utils/hive_store.dart index 11b013a..b6f715a 100644 --- a/lib/utils/hive_store.dart +++ b/lib/utils/hive_store.dart @@ -2,8 +2,8 @@ import 'package:hive/hive.dart'; class HiveStore { - static Box _appBox; - static Box get appBox => _appBox; + static Box? _appBox; + static Box? get appBox => _appBox; static init() async { _appBox = await Hive.openBox('app'); } diff --git a/lib/utils/jpush_message_parse.dart b/lib/utils/jpush_message_parse.dart index 69d7e4a..0f4301c 100644 --- a/lib/utils/jpush_message_parse.dart +++ b/lib/utils/jpush_message_parse.dart @@ -12,7 +12,7 @@ import 'package:velocity_x/velocity_x.dart'; class JpushMessageParse { final Map message; - String subTitle; + String? subTitle; String type = '0'; JpushMessageParse(Map rawMessage) : message = Map.from(rawMessage); @@ -20,7 +20,7 @@ class JpushMessageParse { Future shot() async { subTitle = message['alert']; Map rawExtras = message['extras']; - String androidExtra = rawExtras['cn.jpush.android.EXTRA']; + String? androidExtra = rawExtras['cn.jpush.android.EXTRA']; if (androidExtra == null) { return; } else { @@ -28,7 +28,7 @@ class JpushMessageParse { type = _innerMap['type'] ?? '0'; switch (type) { case '1': - await fireAlert(subTitle); + await fireAlert(subTitle!); break; default: } diff --git a/lib/utils/network/base_file_model.dart b/lib/utils/network/base_file_model.dart index a42550b..d7d74aa 100644 --- a/lib/utils/network/base_file_model.dart +++ b/lib/utils/network/base_file_model.dart @@ -1,7 +1,7 @@ class BaseFileModel { - String message; - String url; - bool status; + String? message; + String? url; + bool? status; BaseFileModel({ this.message, this.url, diff --git a/lib/utils/network/base_list_model.dart b/lib/utils/network/base_list_model.dart index e576232..5864b13 100644 --- a/lib/utils/network/base_list_model.dart +++ b/lib/utils/network/base_list_model.dart @@ -1,7 +1,7 @@ class BaseListModel { - int pageCount; - int rowCount; - List tableList; + int? pageCount; + int? rowCount; + List? tableList; BaseListModel({ this.pageCount, this.rowCount, diff --git a/lib/utils/network/base_model.dart b/lib/utils/network/base_model.dart index c5f0d95..1b22c35 100644 --- a/lib/utils/network/base_model.dart +++ b/lib/utils/network/base_model.dart @@ -1,7 +1,7 @@ class BaseModel { - int code; - String message; - bool status; + int? code; + String? message; + bool? status; dynamic data; BaseModel({ this.code, diff --git a/lib/utils/network/login_model.dart b/lib/utils/network/login_model.dart index d0d7fc9..b22b255 100644 --- a/lib/utils/network/login_model.dart +++ b/lib/utils/network/login_model.dart @@ -1,7 +1,7 @@ class LoginModel { - String message; - String token; - bool status; + String? message; + String? token; + bool? status; LoginModel({this.message, this.token, this.status}); diff --git a/lib/utils/network/manage_func.dart b/lib/utils/network/manage_func.dart index 1d20b29..d874bad 100644 --- a/lib/utils/network/manage_func.dart +++ b/lib/utils/network/manage_func.dart @@ -14,7 +14,7 @@ class ManageFunc { ///报事报修详情 static Future repairDetail(int id) async { Response response = - await NetUtil().dio.get(API.manage.repairDetail, queryParameters: { + await NetUtil().dio!.get(API.manage.repairDetail, queryParameters: { 'repairId': id, }); return FixedDetailModel.fromJson(response.data); @@ -22,15 +22,15 @@ class ManageFunc { ///派单类型 static Future dispatchListDetailType() async { - Response response = await NetUtil().dio.get( + Response response = await NetUtil().dio!.get( '${API.host}/IntelligentCommunity' + API.manage.dispatchListDetailType); - return response.data as List; + return response.data as List?; } ///工单时限 static Future workOrderTimeType() async { BaseModel baseModel = await NetUtil().get(API.manage.workOrderTimeLimit); - return baseModel.data as List; + return baseModel.data as List?; } ///工单子类列表 @@ -39,7 +39,7 @@ class ManageFunc { await NetUtil().get(API.manage.workOrderTypeDetail, params: { 'workOrderTypeId': id, }); - return baseModel.data as List; + return baseModel.data as List?; } ///派单 @@ -60,14 +60,14 @@ class ManageFunc { } ///改派 - static Future repairReassignment(int id, int operato) async { + static Future repairReassignment(int id, int? operato) async { BaseModel baseModel = await NetUtil().get(API.manage.repairReassignment, params: {'dispatchListId': id, 'operator': operato}); return baseModel; } ///接单 - static Future recevingOrders(int id) async { + static Future recevingOrders(int? id) async { BaseModel basemodel = await NetUtil() .get(API.manage.recevingOrders, params: {'dispatchListId': id}); return basemodel; @@ -86,14 +86,14 @@ class ManageFunc { ///报事报修:处理完成 static Future handleResult( - int dispatchListId, + int? dispatchListId, String detail, String materialList, - double laborCost, - double materialCost, + double? laborCost, + double? materialCost, double totalCost, int repairResult, - List fileUrls) async { + List fileUrls) async { BaseModel baseModel = await NetUtil().post(API.manage.handleResult, params: { 'dispatchListId': dispatchListId, diff --git a/lib/utils/network/net_util.dart b/lib/utils/network/net_util.dart index 76332ba..fa1a92a 100644 --- a/lib/utils/network/net_util.dart +++ b/lib/utils/network/net_util.dart @@ -17,12 +17,12 @@ import 'package:aku_community_manager/utils/network/base_list_model.dart'; import 'package:aku_community_manager/utils/network/base_model.dart'; class NetUtil { - Dio _dio; + Dio? _dio; static final NetUtil _netUtil = NetUtil._internal(); factory NetUtil() => _netUtil; - Dio get dio => _dio; + Dio? get dio => _dio; NetUtil._internal() { BaseOptions options = BaseOptions( @@ -33,7 +33,7 @@ class NetUtil { headers: {}, ); if (_dio == null) _dio = Dio(options); - dio.interceptors.add(InterceptorsWrapper( + dio!.interceptors.add(InterceptorsWrapper( onRequest: (RequestOptions options, RequestInterceptorHandler handler) async => handler.next(options), @@ -51,11 +51,11 @@ class NetUtil { ///call auth after login auth(int token) { - _dio.options.headers.putIfAbsent('butlerApp-admin-token', () => token); + _dio!.options.headers.putIfAbsent('butlerApp-admin-token', () => token); } logout() { - _dio.options.headers.remove('butlerApp-admin-token'); + _dio!.options.headers.remove('butlerApp-admin-token'); } /// ## alias of Dio().get @@ -63,11 +63,11 @@ class NetUtil { /// GET method Future get( String path, { - Map params, + Map? params, bool showMessage = false, }) async { try { - Response res = await _dio.get(path, queryParameters: params); + Response res = await _dio!.get(path, queryParameters: params); BaseModel baseModel = BaseModel.fromJson(res.data); _parseRequestError(baseModel, showMessage: showMessage); return baseModel; @@ -84,11 +84,11 @@ class NetUtil { /// only work with JSON. Future post( String path, { - Map params, + Map? params, bool showMessage = false, }) async { try { - Response res = await _dio.post(path, data: params); + Response res = await _dio!.post(path, data: params); BaseModel baseModel = BaseModel.fromJson(res.data); _parseRequestError(baseModel, showMessage: showMessage); @@ -102,10 +102,10 @@ class NetUtil { Future getList( String path, { - Map params, + Map? params, }) async { try { - Response res = await _dio.get(path, queryParameters: params); + Response res = await _dio!.get(path, queryParameters: params); if ((res.data as Map).containsKey('status') && (res.data as Map).containsKey('data') && (res.data as Map).containsKey('message')) { @@ -123,7 +123,7 @@ class NetUtil { Future upload(String path, File file) async { try { - Response res = await _dio.post(path, + Response res = await _dio!.post(path, data: FormData.fromMap({ 'file': await MultipartFile.fromFile(file.path), })); @@ -135,8 +135,8 @@ class NetUtil { return BaseFileModel.err(); } - Future> uploadFiles(List files, String api) async { - List urls = []; + Future> uploadFiles(List files, String api) async { + List urls = []; if (files.isEmpty) { return []; } else { @@ -152,7 +152,7 @@ class NetUtil { _parseErr(DioError err) { LoggerData.addData(err); _makeToast(String message) { - BotToast.showText(text: '$message\_${err?.response?.statusCode ?? ''}'); + BotToast.showText(text: '$message\_${err.response?.statusCode ?? ''}'); } switch (err.type) { @@ -173,13 +173,13 @@ class NetUtil { } _parseRequestError(BaseModel model, {bool showMessage = false}) { - final userProvider = Provider.of(Get.context, listen: false); - if (!model.status && model.message == '登录失效,请登录' && userProvider.isLogin) { + final userProvider = Provider.of(Get.context!, listen: false); + if (!model.status! && model.message == '登录失效,请登录' && userProvider.isLogin) { userProvider.logout(); Get.offAll(LoginPage()); } - if (!model.status || showMessage) { - BotToast.showText(text: model.message); + if (!model.status! || showMessage) { + BotToast.showText(text: model.message!); } } } diff --git a/pubspec.yaml b/pubspec.yaml index a06b7c0..a290b5d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: "none" version: 1.5.1+11 environment: - sdk: ">=2.7.0 <3.0.0" + sdk: '>=2.12.0 <3.0.0' dependencies: flutter: