From d0a5f150a5e5673e9423ef0c5a7a1d26c3db0a2e Mon Sep 17 00:00:00 2001 From: zhang <494089941@qq.com> Date: Mon, 22 Feb 2021 20:28:15 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=EF=BC=9A=20=E6=8A=A5?= =?UTF-8?q?=E4=BA=8B=E6=8A=A5=E4=BF=AE=EF=BC=9A=E6=A0=B9=E6=8D=AE=E6=8A=A5?= =?UTF-8?q?=E4=BA=8B=E6=8A=A5=E4=BF=AEid=E6=9F=A5=E8=AF=A2=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E8=AF=A6=E6=83=85=20=E5=AF=B9=E6=8E=A5=EF=BC=9A?= =?UTF-8?q?=E6=8A=A5=E4=BA=8B=E6=8A=A5=E4=BF=AE=EF=BC=9A=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E5=8D=95=E8=AF=A6=E6=83=85=E8=A1=A8-?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/const/api.dart | 6 + lib/mock_models/fix/fix_model.dart | 4 +- .../bussiness_and_fix_model.dart | 0 .../dispatch_detail_model.dart | 21 ++ .../bussiness_and_fix/fixed_detail_model.dart | 239 ++++++++++++++++ lib/tools/aku_map.dart | 17 ++ lib/ui/home/business/business_page.dart | 2 +- lib/ui/home/home_page.dart | 2 +- .../business_and_fix_detail_page.dart | 260 ++++++++++-------- .../business_and_fix/business_fix_card.dart | 2 +- .../bussiness_and_fix_view.dart | 2 +- lib/utils/network/manage_func.dart | 19 ++ 12 files changed, 452 insertions(+), 122 deletions(-) rename lib/models/manager/{ => bussiness_and_fix}/bussiness_and_fix_model.dart (100%) create mode 100644 lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart create mode 100644 lib/models/manager/bussiness_and_fix/fixed_detail_model.dart create mode 100644 lib/utils/network/manage_func.dart diff --git a/lib/const/api.dart b/lib/const/api.dart index 8138a75..75a6303 100644 --- a/lib/const/api.dart +++ b/lib/const/api.dart @@ -60,4 +60,10 @@ class _Manage { ///报事报修:查询所有的报事报修信息(包含条件搜索) String get repairList => '/user/repair/list'; + + ///报事报修:根据报事报修id查询报修详情 + String get repairDetail => '/user/repair/findById'; + + ///报事报修:查询派工单详情表-派工类型 + String get dispatchListDetailType => 'system/dataDictionary/findSysDispatchListDetailType'; } diff --git a/lib/mock_models/fix/fix_model.dart b/lib/mock_models/fix/fix_model.dart index 0b21788..1b4134a 100644 --- a/lib/mock_models/fix/fix_model.dart +++ b/lib/mock_models/fix/fix_model.dart @@ -17,7 +17,7 @@ enum FIX_ENUM { ///已处理 DONE, } - +@deprecated class FixModel { static Map managerRoleMap = { FIX_ENUM.HAND_OUT: '待派单', @@ -206,7 +206,7 @@ Map fixDateLimitStringMap = { '12小时内处理': FIX_DATE_LIMIT.HOUR_12, '8小时内处理': FIX_DATE_LIMIT.HOUR_8, }; - +@deprecated class FixDetailModel { ///报修人 String userName; diff --git a/lib/models/manager/bussiness_and_fix_model.dart b/lib/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart similarity index 100% rename from lib/models/manager/bussiness_and_fix_model.dart rename to lib/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart diff --git a/lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart b/lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart new file mode 100644 index 0000000..6ba1219 --- /dev/null +++ b/lib/models/manager/bussiness_and_fix/dispatch_detail_model.dart @@ -0,0 +1,21 @@ +class DispatchDetialModel { + String showName; + int showValue; + String remarks; + + DispatchDetialModel({this.showName, this.showValue, this.remarks}); + + DispatchDetialModel.fromJson(Map json) { + showName = json['showName']; + showValue = json['showValue']; + remarks = json['remarks']; + } + + Map toJson() { + final Map data = new Map(); + data['showName'] = this.showName; + data['showValue'] = this.showValue; + data['remarks'] = this.remarks; + return data; + } +} \ No newline at end of file diff --git a/lib/models/manager/bussiness_and_fix/fixed_detail_model.dart b/lib/models/manager/bussiness_and_fix/fixed_detail_model.dart new file mode 100644 index 0000000..53c56a9 --- /dev/null +++ b/lib/models/manager/bussiness_and_fix/fixed_detail_model.dart @@ -0,0 +1,239 @@ +class FixedDetailModel { + HandlingSituation handlingSituation; + DispatchType dispatchType; + CostDetail costDetail; + RepairDetail repairDetail; + String evaluateInfo; + int type; + List processRecord; + + FixedDetailModel( + {this.handlingSituation, + this.dispatchType, + this.costDetail, + this.repairDetail, + this.evaluateInfo, + this.type, + this.processRecord}); + + FixedDetailModel.fromJson(Map json) { + handlingSituation = json['handlingSituation'] != null + ? new HandlingSituation.fromJson(json['handlingSituation']) + : null; + dispatchType = json['dispatchType'] != null + ? new DispatchType.fromJson(json['dispatchType']) + : null; + costDetail = json['costDetail'] != null + ? new CostDetail.fromJson(json['costDetail']) + : null; + repairDetail = json['repairDetail'] != null + ? new RepairDetail.fromJson(json['repairDetail']) + : null; + evaluateInfo = json['evaluateInfo']; + type = json['type']; + if (json['processRecord'] != null) { + processRecord = new List(); + json['processRecord'].forEach((v) { + processRecord.add(new ProcessRecord.fromJson(v)); + }); + } + } + + Map toJson() { + final Map data = new Map(); + if (this.handlingSituation != null) { + data['handlingSituation'] = this.handlingSituation.toJson(); + } + if (this.dispatchType != null) { + data['dispatchType'] = this.dispatchType.toJson(); + } + if (this.costDetail != null) { + data['costDetail'] = this.costDetail.toJson(); + } + if (this.repairDetail != null) { + 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(); + } + return data; + } +} + +class HandlingSituation { + int id; + String detail; + String materialList; + List imgUrls; + + HandlingSituation({this.id, this.detail, this.materialList, this.imgUrls}); + + HandlingSituation.fromJson(Map json) { + id = json['id']; + detail = json['detail']; + materialList = json['materialList']; + if (json['imgUrls'] != null) { + imgUrls = new List(); + json['imgUrls'].forEach((v) { + imgUrls.add(new ImgUrls.fromJson(v)); + }); + } + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['detail'] = this.detail; + data['materialList'] = this.materialList; + if (this.imgUrls != null) { + data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + } + return data; + } +} + +class ImgUrls { + String url; + String size; + int longs; + int paragraph; + int sort; + + ImgUrls({this.url, this.size, this.longs, this.paragraph, this.sort}); + + ImgUrls.fromJson(Map json) { + url = json['url']; + size = json['size']; + longs = json['longs']; + paragraph = json['paragraph']; + sort = json['sort']; + } + + Map toJson() { + final Map data = new Map(); + data['url'] = this.url; + data['size'] = this.size; + data['longs'] = this.longs; + data['paragraph'] = this.paragraph; + data['sort'] = this.sort; + return data; + } +} + +class DispatchType { + int dispatchType; + String workOrderLimitName; + String workOrderSubclassName; + + DispatchType( + {this.dispatchType, this.workOrderLimitName, this.workOrderSubclassName}); + + DispatchType.fromJson(Map json) { + dispatchType = json['dispatchType']; + workOrderLimitName = json['workOrderLimitName']; + workOrderSubclassName = json['workOrderSubclassName']; + } + + Map toJson() { + final Map data = new Map(); + data['dispatchType'] = this.dispatchType; + data['workOrderLimitName'] = this.workOrderLimitName; + data['workOrderSubclassName'] = this.workOrderSubclassName; + return data; + } +} + +class CostDetail { + int laborCost; + int materialCost; + int totalCost; + + CostDetail({this.laborCost, this.materialCost, this.totalCost}); + + CostDetail.fromJson(Map json) { + laborCost = json['laborCost']; + materialCost = json['materialCost']; + totalCost = json['totalCost']; + } + + Map toJson() { + final Map data = new Map(); + data['laborCost'] = this.laborCost; + data['materialCost'] = this.materialCost; + data['totalCost'] = this.totalCost; + return data; + } +} + +class RepairDetail { + int id; + int dispatchId; + String name; + String tel; + int type; + int status; + List imgUrls; + + RepairDetail( + {this.id, + this.dispatchId, + this.name, + this.tel, + this.type, + this.status, + this.imgUrls}); + + RepairDetail.fromJson(Map json) { + id = json['id']; + dispatchId = json['dispatchId']; + name = json['name']; + tel = json['tel']; + type = json['type']; + status = json['status']; + if (json['imgUrls'] != null) { + imgUrls = new List(); + json['imgUrls'].forEach((v) { + imgUrls.add(new ImgUrls.fromJson(v)); + }); + } + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['dispatchId'] = this.dispatchId; + data['name'] = this.name; + data['tel'] = this.tel; + data['type'] = this.type; + data['status'] = this.status; + if (this.imgUrls != null) { + data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList(); + } + return data; + } +} + +class ProcessRecord { + int id; + int operationType; + String operationDate; + + ProcessRecord({this.id, this.operationType, this.operationDate}); + + ProcessRecord.fromJson(Map json) { + id = json['id']; + operationType = json['operationType']; + operationDate = json['operationDate']; + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['operationType'] = this.operationType; + data['operationDate'] = this.operationDate; + return data; + } +} diff --git a/lib/tools/aku_map.dart b/lib/tools/aku_map.dart index 398d937..60c9fff 100644 --- a/lib/tools/aku_map.dart +++ b/lib/tools/aku_map.dart @@ -1,4 +1,5 @@ class AkuMap { + ///根据权限返回不同的派单状态 static String fixStatus(bool canOpention, bool canPickup, int status) { if (canOpention) { switch (status) { @@ -57,4 +58,20 @@ class AkuMap { } } } + + ///报事报修服务类型 + static Map fixAreaType = {1: '公区维修', 2: '家庭维修'}; + + ///报事报修处理进程-操作类型 + static Map operationType = { + 1: '提交报修', + 2: '派单', + 3: '开始处理', + 4: '处理完成', + 5: '确认', + 6: '回访', + 7: '回退', + 8: '作废', + 9: '取消' + }; } diff --git a/lib/ui/home/business/business_page.dart b/lib/ui/home/business/business_page.dart index 7ee4f1f..cbf56f3 100644 --- a/lib/ui/home/business/business_page.dart +++ b/lib/ui/home/business/business_page.dart @@ -1,5 +1,5 @@ // Flutter imports: -import 'package:aku_community_manager/models/manager/bussiness_and_fix_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:flutter/material.dart'; // Project imports: diff --git a/lib/ui/home/home_page.dart b/lib/ui/home/home_page.dart index 7ecb887..bfd833d 100644 --- a/lib/ui/home/home_page.dart +++ b/lib/ui/home/home_page.dart @@ -1,5 +1,5 @@ // Flutter imports: -import 'package:aku_community_manager/models/manager/bussiness_and_fix_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; 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 d40c976..f6f35a5 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 @@ -1,29 +1,33 @@ // Flutter imports: +import 'package:aku_community_manager/mock_models/fix/fix_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/dispatch_detail_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_detail_model.dart'; +import 'package:aku_community_manager/tools/aku_map.dart'; +import 'package:aku_community_manager/utils/network/manage_func.dart'; import 'package:flutter/material.dart'; // Package imports: import 'package:aku_ui/common_widgets/aku_material_button.dart'; import 'package:common_utils/common_utils.dart'; +import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:get/get.dart'; import 'package:provider/provider.dart'; // Project imports: import 'package:aku_community_manager/const/resource.dart'; -import 'package:aku_community_manager/mock_models/fix/fix_model.dart'; import 'package:aku_community_manager/mock_models/users/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/screen_tool.dart'; import 'package:aku_community_manager/tools/widget_tool.dart'; -import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fix_more_time_page.dart'; -import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fix_work_finish_page.dart'; import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fixer_department_page.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_title_box.dart'; import 'package:aku_community_manager/ui/widgets/inner/show_bottom_sheet.dart'; class BusinessAndFixDetailPage extends StatefulWidget { - final FixModel model; + final BussinessAndFixModel model; BusinessAndFixDetailPage({Key key, this.model}) : super(key: key); @override @@ -37,89 +41,116 @@ class _BusinessAndFixDetailPageState extends State { return userProvider.userInfoModel.role; } - bool get isHandOut => widget.model.type == FIX_ENUM.HAND_OUT; - FixDetailModel get detailModel => widget.model.detail; + bool get isHandOut => widget.model.status == 1; + FixedDetailModel _detailModel; + bool _onload = true; + EasyRefreshController _easyRefreshController; - String get fixType { - switch (detailModel.type) { - case FIX_PAYMENT_TYPE.FREE: - return '无偿服务'; - break; - case FIX_PAYMENT_TYPE.PAY: - return '有偿服务'; - break; - default: - return ''; - break; - } + List _dispatchModels; + + @override + void initState() { + super.initState(); + _easyRefreshController = EasyRefreshController(); } - String get dateLimit { - switch (detailModel.limit) { - case FIX_DATE_LIMIT.HOUR_24: - return '24小时内处理'; - break; - case FIX_DATE_LIMIT.HOUR_12: - return '12小时内处理'; - break; - case FIX_DATE_LIMIT.HOUR_8: - return '8小时内处理'; - break; - default: - return ''; - break; - } + @override + void dispose() { + _easyRefreshController?.dispose(); + super.dispose(); } - String get subType { - switch (detailModel.subType) { - case FIX_SUB_TYPE.NORMAL: - return '一般单'; - break; - case FIX_SUB_TYPE.HURRY: - return '加急单'; - break; - default: - return ''; - break; - } + // String get fixType { + // switch (detailModel.type) { + // case FIX_PAYMENT_TYPE.FREE: + // return '无偿服务'; + // break; + // case FIX_PAYMENT_TYPE.PAY: + // return '有偿服务'; + // break; + // default: + // return ''; + // break; + // } + // } + + // String get dateLimit { + // switch (detailModel.limit) { + // case FIX_DATE_LIMIT.HOUR_24: + // return '24小时内处理'; + // break; + // case FIX_DATE_LIMIT.HOUR_12: + // return '12小时内处理'; + // break; + // case FIX_DATE_LIMIT.HOUR_8: + // return '8小时内处理'; + // break; + // default: + // return ''; + // break; + // } + // } + + // String get subType { + // switch (detailModel.subType) { + // case FIX_SUB_TYPE.NORMAL: + // return '一般单'; + // break; + // case FIX_SUB_TYPE.HURRY: + // return '加急单'; + // break; + // default: + // return ''; + // break; + // } + // } + + Widget fixTypeWidget() { + UserProvider userProvider = + Provider.of(context, listen: false); + return Text( + AkuMap.fixStatus(userProvider.infoModel.canOperation, + userProvider.infoModel.canPickUpTicket, widget.model.status), + style: TextStyle( + color: widget.model.status < 4 + ? Color(0XFFFF4501) + : AppStyle.minorTextColor, + ), + ); } - Widget get fixTypeWidget { - if (userRole == USER_ROLE.MANAGER) { - return Text( - FixModel.managerRoleMap[widget.model.type], - style: TextStyle( - color: widget.model.type != FIX_ENUM.DONE - ? Color(0XFFFF4501) - : AppStyle.minorTextColor, - ), - ); - } else { - return Text( - FixModel.otherRoleMap[widget.model.type], - style: TextStyle( - color: widget.model.type != FIX_ENUM.DONE - ? Color(0XFFFF4501) - : AppStyle.minorTextColor, - ), - ); - } + Widget _empty() { + return Container(); } @override Widget build(BuildContext context) { return AkuScaffold( title: '报修详情', - body: ListView( - padding: EdgeInsets.symmetric(vertical: 16.w), - children: [ - _buildInfo(), - _buildType(widget.model.type == FIX_ENUM.HAND_OUT), - _buildProcess(), - detailModel.result == null ? SizedBox() : _buildResult(), - detailModel.review == null ? SizedBox() : _buildRating(), - ], + body: EasyRefresh( + firstRefresh: true, + controller: _easyRefreshController, + header: MaterialHeader(), + onRefresh: () async { + _detailModel = await ManageFunc.repairDetail(widget.model.id); + _onload = false; + }, + child: _onload + ? _empty() + : ListView( + padding: EdgeInsets.symmetric(vertical: 16.w), + children: [ + _buildInfo(), + _buildType(widget.model.type == FIX_ENUM.HAND_OUT), + _buildProcess(), + _detailModel.handlingSituation == null + ? SizedBox() + : _buildResult(), + _detailModel.evaluateInfo == null + ? SizedBox() + : _buildRating(), + ], + ), ), bottom: Builder( builder: (context) { @@ -149,10 +180,10 @@ class _BusinessAndFixDetailPageState extends State { color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, onPressed: () { - Get.to(FixerDepartmentPage( - model: widget.model, - changeType: true, - )); + // Get.to(FixerDepartmentPage( + // model: widget.model, + // changeType: true, + // )); }, child: Text( '改派', @@ -166,14 +197,14 @@ class _BusinessAndFixDetailPageState extends State { color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, onPressed: () { - final userProvider = - Provider.of(context, listen: false); - detailModel.fixStatuses.add(FixStatus( - title: '${userProvider.userInfoModel.nickName}已接单', - date: DateTime.now(), - )); - widget.model.type = FIX_ENUM.PROCESSING; - Get.back(); + // final userProvider = + // Provider.of(context, listen: false); + // detailModel.fixStatuses.add(FixStatus( + // title: '${userProvider.userInfoModel.nickName}已接单', + // date: DateTime.now(), + // )); + // widget.model.type = FIX_ENUM.PROCESSING; + // Get.back(); }, child: Text( '立即接单', @@ -212,7 +243,7 @@ class _BusinessAndFixDetailPageState extends State { ), ), onPressed: () { - Get.to(FixMoreTimePage(model: widget.model)); + // Get.to(FixMoreTimePage(model: widget.model)); }, child: Text( '申请延时', @@ -228,7 +259,7 @@ class _BusinessAndFixDetailPageState extends State { radius: 4.w, color: AppStyle.primaryColor, onPressed: () { - Get.to(FixWorkFinishPage(model: widget.model)); + // Get.to(FixWorkFinishPage(model: widget.model)); }, child: Text( '处理完成', @@ -251,27 +282,27 @@ class _BusinessAndFixDetailPageState extends State { _buildInfo() { return AkuTitleBox( title: '报修信息', - suffix: fixTypeWidget, + suffix: fixTypeWidget(), children: [ AkuBox.h(16), _buildTile( R.ASSETS_MESSAGE_IC_PEOPLE_PNG, '报修人', - widget.model.detail.userName, + _detailModel.repairDetail.name, ), _buildTile( R.ASSETS_MESSAGE_IC_PHONE_PNG, '联系电话', - widget.model.detail.userPhoneNumber, + _detailModel.repairDetail.tel, ), _buildTile( R.ASSETS_MESSAGE_IC_AREA_PNG, '报修区域', - widget.model.detail.fixArea, + AkuMap.fixAreaType[_detailModel.repairDetail.type], ), AkuBox.h(8), Text( - widget.model.title, + widget.model.reportDetail, style: TextStyle( color: AppStyle.primaryTextColor, fontWeight: FontWeight.bold, @@ -285,10 +316,11 @@ class _BusinessAndFixDetailPageState extends State { crossAxisSpacing: 16.w, mainAxisSpacing: 16.w, ), - children: widget.model.imgs.map((e) { + children: _detailModel.repairDetail.imgUrls.map((e) { return ClipRRect( borderRadius: BorderRadius.circular(4.w), - child: (e is String) ? Image.asset(e) : Image.file(e), + child: FadeInImage.assetNetwork( + placeholder: R.ASSETS_PLACEHOLDER_WEBP, image: e.url), ); }).toList(), shrinkWrap: true, @@ -307,10 +339,13 @@ class _BusinessAndFixDetailPageState extends State { fixType, canTap, helpContent: '请选择服务类型', - onTap: () { + onTap: () async { + List models = await ManageFunc.dispatchListDetailType(); + _dispatchModels = + models.map((e) => DispatchDetialModel.fromJson(e)).toList(); showItemSheet( title: '派单类型', - items: ['无偿服务', '有偿服务'], + items: _dispatchModels.map((e) => e.showName).toList(), selectItem: fixPaymentMap[detailModel.type], onTap: (result) { detailModel.type = fixPaymentStringMap[result]; @@ -363,10 +398,11 @@ class _BusinessAndFixDetailPageState extends State { _buildProcess() { return AkuTitleBox( title: '报修进程', - children: detailModel.fixStatuses.map((e) { + children: _detailModel.processRecord.map((e) { return _buildProcessTile( - e.title, - DateUtil.formatDate(e.date, format: 'yyyy-MM-dd HH:mm:ss'), + AkuMap.operationType[e.operationType], + DateUtil.formatDateStr(e.operationDate, + format: 'yyyy-MM-dd HH:mm:ss'), ); }).toList(), ); @@ -386,7 +422,7 @@ class _BusinessAndFixDetailPageState extends State { ), AkuBox.h(8), Text( - detailModel.result.detail, + _detailModel.handlingSituation.detail, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -403,7 +439,7 @@ class _BusinessAndFixDetailPageState extends State { ), AkuBox.h(8), Text( - detailModel.result.material, + _detailModel.handlingSituation.materialList, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -425,19 +461,11 @@ class _BusinessAndFixDetailPageState extends State { gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 4, ), - children: detailModel.result.imgs.map((e) { + children: _detailModel.handlingSituation.imgUrls.map((e) { return ClipRRect( - borderRadius: BorderRadius.circular(4.w), - child: (e is String) - ? Image.asset( - e, - fit: BoxFit.cover, - ) - : Image.file( - e, - fit: BoxFit.cover, - ), - ); + borderRadius: BorderRadius.circular(4.w), + child: FadeInImage.assetNetwork( + placeholder: R.ASSETS_PLACEHOLDER_WEBP, image: e.url)); }).toList(), ), ], @@ -459,7 +487,7 @@ class _BusinessAndFixDetailPageState extends State { ), ), Spacer(), - _buildStar(detailModel.review.rate), + _buildStar(5), ], ), AkuBox.h(24), @@ -472,7 +500,7 @@ class _BusinessAndFixDetailPageState extends State { ), AkuBox.h(8), Text( - detailModel.review.content, + _detailModel.evaluateInfo, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, 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 924239f..292e7a6 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,5 +1,5 @@ // Flutter imports: -import 'package:aku_community_manager/models/manager/bussiness_and_fix_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:aku_community_manager/tools/aku_map.dart'; import 'package:flutter/material.dart'; 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 43a8f4c..8ced96a 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 @@ -1,5 +1,5 @@ import 'package:aku_community_manager/const/api.dart'; -import 'package:aku_community_manager/models/manager/bussiness_and_fix_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:aku_community_manager/ui/sub_pages/business_and_fix/business_fix_card.dart'; import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; import 'package:flutter/material.dart'; diff --git a/lib/utils/network/manage_func.dart b/lib/utils/network/manage_func.dart new file mode 100644 index 0000000..4556344 --- /dev/null +++ b/lib/utils/network/manage_func.dart @@ -0,0 +1,19 @@ +import 'package:aku_community_manager/const/api.dart'; +import 'package:aku_community_manager/utils/network/net_util.dart'; +import 'package:dio/dio.dart'; + +class ManageFunc { + static Future repairDetail(int id) async { + Response response = + await NetUtil().dio.get(API.manage.repairDetail, queryParameters: { + 'repairId': id, + }); + return response.data; + } + + static Future dispatchListDetailType() async { + Response response = + await NetUtil().dio.get(API.manage.dispatchListDetailType); + return response.data as List; + } +} From bec70947a3d739b9fef62d9209218d291de5897b Mon Sep 17 00:00:00 2001 From: zhang <494089941@qq.com> Date: Tue, 23 Feb 2021 14:43:15 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=EF=BC=9A=E6=8A=A5?= =?UTF-8?q?=E4=BA=8B=E6=8A=A5=E4=BF=AE=EF=BC=9A=E6=9F=A5=E8=AF=A2=E6=89=80?= =?UTF-8?q?=E6=9C=89=E7=9A=84=E5=B7=A5=E5=8D=95=E6=97=B6=E9=99=90=E4=BF=A1?= =?UTF-8?q?=E6=81=AF(id=20and=20name)=20=E5=AF=B9=E6=8E=A5=EF=BC=9A?= =?UTF-8?q?=E6=8A=A5=E4=BA=8B=E6=8A=A5=E4=BF=AE=EF=BC=9A=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=89=80=E6=9C=89=E7=9A=84=E5=B7=A5=E5=8D=95=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E4=BF=A1=E6=81=AF=EF=BC=88=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=AD=90=E7=B1=BB=E4=BF=A1=E6=81=AF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/const/api.dart | 9 ++- .../dispatch_report_model.dart | 27 +++++++ .../work_order_type_model.dart | 18 +++++ .../work_time_limit_model.dart | 18 +++++ .../business_and_fix_detail_page.dart | 70 ++++++++++++------- .../business_and_fix/business_fix_card.dart | 4 +- lib/ui/widgets/inner/show_bottom_sheet.dart | 8 +-- lib/utils/network/manage_func.dart | 22 +++++- lib/utils/network/net_util.dart | 11 ++- 9 files changed, 150 insertions(+), 37 deletions(-) create mode 100644 lib/models/manager/bussiness_and_fix/dispatch_report_model.dart create mode 100644 lib/models/manager/bussiness_and_fix/work_order_type_model.dart create mode 100644 lib/models/manager/bussiness_and_fix/work_time_limit_model.dart diff --git a/lib/const/api.dart b/lib/const/api.dart index 75a6303..198d8d7 100644 --- a/lib/const/api.dart +++ b/lib/const/api.dart @@ -65,5 +65,12 @@ class _Manage { String get repairDetail => '/user/repair/findById'; ///报事报修:查询派工单详情表-派工类型 - String get dispatchListDetailType => 'system/dataDictionary/findSysDispatchListDetailType'; + String get dispatchListDetailType => '/manage/dataDictionary/findSysDispatchListDetailType'; + + ///报事报修:查询所有的工单时限信息(id and name) + String get workOrderTimeLimit => '/user/repair/findWorkOrderTimeLimit'; + + ///报事报修:查询所有的工单类型明细信息(工单子类信息) + String get workOrderTypeDetail => '/user/repair/findWorkOrderTypeDetail'; + } diff --git a/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart b/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart new file mode 100644 index 0000000..09b54d5 --- /dev/null +++ b/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart @@ -0,0 +1,27 @@ +class DispatchReportModel { + int dispatchListId; + int workOrderTyoe; + int workOrderTypeDetail; + int workOrderTimeLimit; + int type; + int operato; + String remark; + + DispatchReportModel.zero() { + dispatchListId = 0; + workOrderTyoe = 0; + workOrderTyoe = 0; + workOrderTimeLimit = 0; + type = 0; + operato = 0; + remark = ''; + } + DispatchReportModel( + {this.dispatchListId, + this.operato, + this.remark, + this.type, + this.workOrderTimeLimit, + this.workOrderTyoe, + this.workOrderTypeDetail}); +} 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 new file mode 100644 index 0000000..e174288 --- /dev/null +++ b/lib/models/manager/bussiness_and_fix/work_order_type_model.dart @@ -0,0 +1,18 @@ +class WorkOrderTypeModel { + int id; + String name; + + WorkOrderTypeModel({this.id, this.name}); + + WorkOrderTypeModel.fromJson(Map json) { + id = json['id']; + name = json['name']; + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['name'] = this.name; + return data; + } +} \ No newline at end of file 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 new file mode 100644 index 0000000..c060915 --- /dev/null +++ b/lib/models/manager/bussiness_and_fix/work_time_limit_model.dart @@ -0,0 +1,18 @@ +class WorkTimeLimitModel { + int id; + String name; + + WorkTimeLimitModel({this.id, this.name}); + + WorkTimeLimitModel.fromJson(Map json) { + id = json['id']; + name = json['name']; + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['name'] = this.name; + return data; + } +} \ No newline at end of file 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 f6f35a5..ee99aad 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 @@ -1,8 +1,10 @@ // Flutter imports: -import 'package:aku_community_manager/mock_models/fix/fix_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/dispatch_detail_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/dispatch_report_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_detail_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/work_order_type_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/work_time_limit_model.dart'; import 'package:aku_community_manager/tools/aku_map.dart'; import 'package:aku_community_manager/utils/network/manage_func.dart'; import 'package:flutter/material.dart'; @@ -11,7 +13,6 @@ import 'package:flutter/material.dart'; import 'package:aku_ui/common_widgets/aku_material_button.dart'; import 'package:common_utils/common_utils.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; -import 'package:get/get.dart'; import 'package:provider/provider.dart'; // Project imports: @@ -21,7 +22,6 @@ import 'package:aku_community_manager/provider/user_provider.dart'; import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/tools/screen_tool.dart'; import 'package:aku_community_manager/tools/widget_tool.dart'; -import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fixer_department_page.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_title_box.dart'; import 'package:aku_community_manager/ui/widgets/inner/show_bottom_sheet.dart'; @@ -47,6 +47,9 @@ class _BusinessAndFixDetailPageState extends State { EasyRefreshController _easyRefreshController; List _dispatchModels; + List _timeLimitModels; + List _workTypeModels; + DispatchReportModel _reportModel = DispatchReportModel.zero(); @override void initState() { @@ -134,6 +137,9 @@ class _BusinessAndFixDetailPageState extends State { onRefresh: () async { _detailModel = await ManageFunc.repairDetail(widget.model.id); _onload = false; + setState(() { + + }); }, child: _onload ? _empty() @@ -141,7 +147,7 @@ class _BusinessAndFixDetailPageState extends State { padding: EdgeInsets.symmetric(vertical: 16.w), children: [ _buildInfo(), - _buildType(widget.model.type == FIX_ENUM.HAND_OUT), + _buildType(widget.model.status == 1), _buildProcess(), _detailModel.handlingSituation == null ? SizedBox() @@ -156,15 +162,15 @@ class _BusinessAndFixDetailPageState extends State { builder: (context) { final userProvider = Provider.of(context, listen: false); - if (widget.model.type == FIX_ENUM.HAND_OUT) { + if (userProvider.infoModel.canOperation) { return AkuMaterialButton( color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, - onPressed: detailModel.type != null && - detailModel.subType != null && - detailModel.limit != null + onPressed: _reportModel.type != null && + _reportModel.workOrderTyoe != null && + _reportModel.workOrderTimeLimit != null ? () { - Get.to(FixerDepartmentPage(model: widget.model)); + // Get.to(FixerDepartmentPage(model: widget.model)); } : null, child: Text( @@ -174,8 +180,8 @@ class _BusinessAndFixDetailPageState extends State { ), ), ); - } else if (widget.model.type == FIX_ENUM.WAIT_PICKUP) { - if (userProvider.userInfoModel.role == USER_ROLE.MANAGER) { + } else if (widget.model.status == 3) { + if (userProvider.infoModel.canOperation) { return AkuMaterialButton( color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, @@ -214,8 +220,8 @@ class _BusinessAndFixDetailPageState extends State { ), ); } - } else if (widget.model.type == FIX_ENUM.PROCESSING && - userProvider.userInfoModel.role == USER_ROLE.FIXER) + } else if ((widget.model.status >= 4 && widget.model.status <= 4) && + userProvider.infoModel.canPickUpTicket) return Container( height: 96.w, alignment: Alignment.center, @@ -336,7 +342,9 @@ class _BusinessAndFixDetailPageState extends State { children: [ _buildTypeTile( '派单类型', - fixType, + _dispatchModels==null + ? null + : _dispatchModels[_reportModel.type]?.showName, canTap, helpContent: '请选择服务类型', onTap: () async { @@ -346,9 +354,9 @@ class _BusinessAndFixDetailPageState extends State { showItemSheet( title: '派单类型', items: _dispatchModels.map((e) => e.showName).toList(), - selectItem: fixPaymentMap[detailModel.type], + selectItem: _reportModel.type, onTap: (result) { - detailModel.type = fixPaymentStringMap[result]; + _reportModel.type = result; }, ).then((_) { setState(() {}); @@ -357,16 +365,21 @@ class _BusinessAndFixDetailPageState extends State { ), _buildTypeTile( '工单时限', - dateLimit, + _timeLimitModels==null + ? null + : _timeLimitModels[_reportModel.workOrderTimeLimit]?.name, canTap, helpContent: '请选择工单时限', - onTap: () { + onTap: () async { + List models = await ManageFunc.workOrderTimeType(); + _timeLimitModels = + models.map((e) => WorkTimeLimitModel.fromJson(e)).toList(); showItemSheet( title: '工单时限', - items: ['24小时内处理', '12小时内处理', '8小时内处理'], - selectItem: fixDateLimitMap[detailModel.limit], + items: _timeLimitModels.map((e) => e.name).toList(), + selectItem: _reportModel.workOrderTimeLimit, onTap: (result) { - detailModel.limit = fixDateLimitStringMap[result]; + _reportModel.workOrderTimeLimit = result; }, ).then((_) { setState(() {}); @@ -375,16 +388,21 @@ class _BusinessAndFixDetailPageState extends State { ), _buildTypeTile( '工单子类', - subType, + _workTypeModels==null + ? null + : _workTypeModels[_reportModel.workOrderTyoe].name, canTap, helpContent: '请选择工单子类', - onTap: () { + onTap: () async { + List models = await ManageFunc.workOrderTypeDetail(widget.model.id); + _workTypeModels = + models.map((e) => WorkOrderTypeModel.fromJson(e)).toList(); showItemSheet( title: '工单子类', - items: ['一般单', '加急单'], - selectItem: fixSubTypeMap[detailModel.subType], + items: _workTypeModels.map((e) => e.name).toList(), + selectItem: _reportModel.workOrderTyoe, onTap: (result) { - detailModel.subType = fixSubTypeStringMap[result]; + _reportModel.workOrderTyoe = result; }, ).then((_) { setState(() {}); 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 292e7a6..d9985b1 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,11 +1,13 @@ // Flutter imports: import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:aku_community_manager/tools/aku_map.dart'; +import 'package:aku_community_manager/ui/sub_pages/business_and_fix/business_and_fix_detail_page.dart'; import 'package:flutter/material.dart'; // Package imports: import 'package:aku_ui/common_widgets/aku_material_button.dart'; import 'package:common_utils/common_utils.dart'; +import 'package:get/get.dart'; import 'package:provider/provider.dart'; // Project imports: @@ -62,7 +64,7 @@ class _BusinessFixCardState extends State { final userProvider = Provider.of(context, listen: false); return GestureDetector( onTap: () { - // Get.to(BusinessAndFixDetailPage(model: widget.model)); + Get.to(BusinessAndFixDetailPage(model: widget.model)); }, child: Container( padding: EdgeInsets.all(24.w), diff --git a/lib/ui/widgets/inner/show_bottom_sheet.dart b/lib/ui/widgets/inner/show_bottom_sheet.dart index 90de61d..fee2962 100644 --- a/lib/ui/widgets/inner/show_bottom_sheet.dart +++ b/lib/ui/widgets/inner/show_bottom_sheet.dart @@ -58,8 +58,8 @@ Future showNormalSheet(String title, List children) async { Future showItemSheet({ String title, List items, - String selectItem, - Function(String result) onTap, + int selectItem, + Function(int result) onTap, }) async { await showNormalSheet( title, @@ -69,14 +69,14 @@ Future showItemSheet({ minWidth: double.infinity, onPressed: () { Get.back(); - onTap(e); + onTap(items.indexOf(e)); }, child: Text( e, style: TextStyle( fontWeight: FontWeight.bold, fontSize: 32.sp, - color: e == selectItem + color: e == items[selectItem] ? AppStyle.secondaryColor : AppStyle.primaryTextColor, ), diff --git a/lib/utils/network/manage_func.dart b/lib/utils/network/manage_func.dart index 4556344..4a6cd8a 100644 --- a/lib/utils/network/manage_func.dart +++ b/lib/utils/network/manage_func.dart @@ -1,4 +1,6 @@ import 'package:aku_community_manager/const/api.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_detail_model.dart'; +import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; import 'package:dio/dio.dart'; @@ -8,12 +10,26 @@ class ManageFunc { await NetUtil().dio.get(API.manage.repairDetail, queryParameters: { 'repairId': id, }); - return response.data; + return FixedDetailModel.fromJson(response.data); } static Future dispatchListDetailType() async { - Response response = - await NetUtil().dio.get(API.manage.dispatchListDetailType); + Response response = await NetUtil().dio.get( + 'http://test.akuhotel.com:8804/IntelligentCommunity' + + API.manage.dispatchListDetailType); return response.data as List; } + + static Future workOrderTimeType() async { + BaseModel baseModel = await NetUtil().get(API.manage.workOrderTimeLimit); + return baseModel.data as List; + } + + static Future workOrderTypeDetail(int id) async { + BaseModel baseModel = + await NetUtil().get(API.manage.workOrderTypeDetail, params: { + 'workOrderTypeId': id, + }); + return baseModel.data as List; + } } diff --git a/lib/utils/network/net_util.dart b/lib/utils/network/net_util.dart index b4b96d6..c718263 100644 --- a/lib/utils/network/net_util.dart +++ b/lib/utils/network/net_util.dart @@ -104,8 +104,15 @@ class NetUtil { }) async { try { Response res = await _dio.get(path, queryParameters: params); - BaseListModel baseListModel = BaseListModel.fromJson(res.data); - return baseListModel; + if ((res.data as Map).containsKey('status') && + (res.data as Map).containsKey('data') && + (res.data as Map).containsKey('message')) { + BaseModel baseModel = BaseModel.fromJson(res.data); + _parseRequestError(baseModel); + } else { + BaseListModel baseListModel = BaseListModel.fromJson(res.data); + return baseListModel; + } } on DioError catch (e) { _parseErr(e); } From 7a2bc773f95cce1a7bd51d0ed44c3a001b82e6f4 Mon Sep 17 00:00:00 2001 From: zhang <494089941@qq.com> Date: Tue, 23 Feb 2021 16:57:17 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=EF=BC=9A=E6=B4=BE?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/const/api.dart | 3 + .../dispatch_report_model.dart | 12 +-- .../business_and_fix_detail_page.dart | 89 +++++++----------- .../fixer_department_page.dart | 94 ++++++++++++------- lib/ui/widgets/inner/show_bottom_sheet.dart | 5 +- lib/utils/network/manage_func.dart | 14 +++ 6 files changed, 116 insertions(+), 101 deletions(-) diff --git a/lib/const/api.dart b/lib/const/api.dart index 198d8d7..f570120 100644 --- a/lib/const/api.dart +++ b/lib/const/api.dart @@ -72,5 +72,8 @@ class _Manage { ///报事报修:查询所有的工单类型明细信息(工单子类信息) String get workOrderTypeDetail => '/user/repair/findWorkOrderTypeDetail'; + + ///报事报修:报事报修:派单 + String get repairDispatch => '/user/repair/dispatch'; } 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 09b54d5..b240198 100644 --- a/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart +++ b/lib/models/manager/bussiness_and_fix/dispatch_report_model.dart @@ -8,12 +8,12 @@ class DispatchReportModel { String remark; DispatchReportModel.zero() { - dispatchListId = 0; - workOrderTyoe = 0; - workOrderTyoe = 0; - workOrderTimeLimit = 0; - type = 0; - operato = 0; + dispatchListId = -1; + workOrderTyoe = -1; + workOrderTypeDetail = -1; + workOrderTimeLimit = -1; + type = -1; + operato = -1; remark = ''; } DispatchReportModel( 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 ee99aad..39c5011 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 @@ -6,6 +6,7 @@ import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_det import 'package:aku_community_manager/models/manager/bussiness_and_fix/work_order_type_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/work_time_limit_model.dart'; import 'package:aku_community_manager/tools/aku_map.dart'; +import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fixer_department_page.dart'; import 'package:aku_community_manager/utils/network/manage_func.dart'; import 'package:flutter/material.dart'; @@ -13,6 +14,7 @@ import 'package:flutter/material.dart'; import 'package:aku_ui/common_widgets/aku_material_button.dart'; import 'package:common_utils/common_utils.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; +import 'package:get/get.dart'; import 'package:provider/provider.dart'; // Project imports: @@ -63,51 +65,6 @@ class _BusinessAndFixDetailPageState extends State { super.dispose(); } - // String get fixType { - // switch (detailModel.type) { - // case FIX_PAYMENT_TYPE.FREE: - // return '无偿服务'; - // break; - // case FIX_PAYMENT_TYPE.PAY: - // return '有偿服务'; - // break; - // default: - // return ''; - // break; - // } - // } - - // String get dateLimit { - // switch (detailModel.limit) { - // case FIX_DATE_LIMIT.HOUR_24: - // return '24小时内处理'; - // break; - // case FIX_DATE_LIMIT.HOUR_12: - // return '12小时内处理'; - // break; - // case FIX_DATE_LIMIT.HOUR_8: - // return '8小时内处理'; - // break; - // default: - // return ''; - // break; - // } - // } - - // String get subType { - // switch (detailModel.subType) { - // case FIX_SUB_TYPE.NORMAL: - // return '一般单'; - // break; - // case FIX_SUB_TYPE.HURRY: - // return '加急单'; - // break; - // default: - // return ''; - // break; - // } - // } - Widget fixTypeWidget() { UserProvider userProvider = Provider.of(context, listen: false); @@ -136,10 +93,10 @@ class _BusinessAndFixDetailPageState extends State { header: MaterialHeader(), onRefresh: () async { _detailModel = await ManageFunc.repairDetail(widget.model.id); + _reportModel.dispatchListId = widget.model.id; + _reportModel.workOrderTyoe = 1; _onload = false; - setState(() { - - }); + setState(() {}); }, child: _onload ? _empty() @@ -170,7 +127,7 @@ class _BusinessAndFixDetailPageState extends State { _reportModel.workOrderTyoe != null && _reportModel.workOrderTimeLimit != null ? () { - // Get.to(FixerDepartmentPage(model: widget.model)); + Get.to(FixerDepartmentPage(model: _reportModel)); } : null, child: Text( @@ -342,9 +299,11 @@ class _BusinessAndFixDetailPageState extends State { children: [ _buildTypeTile( '派单类型', - _dispatchModels==null + _dispatchModels == null ? null - : _dispatchModels[_reportModel.type]?.showName, + : _dispatchModels[_dispatchModels.indexWhere( + (element) => element.showValue == _reportModel.type)] + .showName, canTap, helpContent: '请选择服务类型', onTap: () async { @@ -354,20 +313,26 @@ class _BusinessAndFixDetailPageState extends State { showItemSheet( title: '派单类型', items: _dispatchModels.map((e) => e.showName).toList(), + ids: _dispatchModels.map((e) => e.showValue).toList(), selectItem: _reportModel.type, onTap: (result) { _reportModel.type = result; }, ).then((_) { + if (_reportModel.type == -1) { + _dispatchModels = null; + } setState(() {}); }); }, ), _buildTypeTile( '工单时限', - _timeLimitModels==null + _timeLimitModels == null ? null - : _timeLimitModels[_reportModel.workOrderTimeLimit]?.name, + : _timeLimitModels[_timeLimitModels.indexWhere((element) => + element.id == _reportModel.workOrderTimeLimit)] + ?.name, canTap, helpContent: '请选择工单时限', onTap: () async { @@ -377,20 +342,26 @@ class _BusinessAndFixDetailPageState extends State { showItemSheet( title: '工单时限', items: _timeLimitModels.map((e) => e.name).toList(), + ids: _timeLimitModels.map((e) => e.id).toList(), selectItem: _reportModel.workOrderTimeLimit, onTap: (result) { _reportModel.workOrderTimeLimit = result; }, ).then((_) { + if (_reportModel.workOrderTimeLimit == -1) { + _timeLimitModels = null; + } setState(() {}); }); }, ), _buildTypeTile( '工单子类', - _workTypeModels==null + _workTypeModels == null ? null - : _workTypeModels[_reportModel.workOrderTyoe].name, + : _workTypeModels[_workTypeModels.indexWhere((element) => + element.id == _reportModel.workOrderTypeDetail)] + .name, canTap, helpContent: '请选择工单子类', onTap: () async { @@ -400,11 +371,15 @@ class _BusinessAndFixDetailPageState extends State { showItemSheet( title: '工单子类', items: _workTypeModels.map((e) => e.name).toList(), - selectItem: _reportModel.workOrderTyoe, + ids: _workTypeModels.map((e) => e.id).toList(), + selectItem: _reportModel.workOrderTypeDetail, onTap: (result) { - _reportModel.workOrderTyoe = result; + _reportModel.workOrderTypeDetail = result; }, ).then((_) { + if (_reportModel.workOrderTypeDetail == -1) { + _workTypeModels = null; + } setState(() {}); }); }, 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 6ddab40..0e74024 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,8 +1,11 @@ // Flutter imports: import 'package:aku_community_manager/const/api.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/dispatch_report_model.dart'; import 'package:aku_community_manager/models/manager/fixer_item_model.dart'; import 'package:aku_community_manager/utils/network/base_model.dart'; +import 'package:aku_community_manager/utils/network/manage_func.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; +import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; // Package imports: @@ -13,14 +16,13 @@ import 'package:get/get.dart'; // Project imports: import 'package:aku_community_manager/const/resource.dart'; -import 'package:aku_community_manager/mock_models/fix/fix_model.dart'; import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/tools/screen_tool.dart'; import 'package:aku_community_manager/tools/widget_tool.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; class FixerDepartmentPage extends StatefulWidget { - final FixModel model; + final DispatchReportModel model; final bool changeType; FixerDepartmentPage({Key key, @required this.model, this.changeType = false}) : super(key: key); @@ -30,6 +32,7 @@ class FixerDepartmentPage extends StatefulWidget { } class _FixerDepartmentPageState extends State { + DispatchReportModel _reportModel; List _pickedFixers = []; List _fixerItems = []; @@ -45,6 +48,7 @@ class _FixerDepartmentPageState extends State { _fixerItems = (model.data as List) .map((e) => FixerItemModel.fromJson(e)) .toList(); + _reportModel = widget.model; setState(() {}); }, child: ListView.builder( @@ -57,29 +61,41 @@ class _FixerDepartmentPageState extends State { ), bottom: AkuMaterialButton( height: 96.w, - onPressed: _pickedFixers.isEmpty - ? null - : () { - if (widget.changeType) { - Get.back(); - _pickedFixers.forEach((element) { - widget.model.detail.fixStatuses.add( - FixStatus( - title: '改派给${element.name}', date: DateTime.now()), - ); - }); - } else { - Get.back(); - Get.back(); - widget.model.type = FIX_ENUM.WAIT_PICKUP; - _pickedFixers.forEach((element) { - widget.model.detail.fixStatuses.add( - FixStatus( - title: '分配给${element.name}', date: DateTime.now()), - ); - }); - } - }, + onPressed: () async { + if (widget.changeType) { + } else { + BaseModel baseModel = await ManageFunc.repairDispatch(_reportModel); + if (baseModel.status) { + Get.back(); + Get.back(); + } else { + BotToast.showText(text: baseModel.message); + } + } + }, + // onPressed: _pickedFixers.isEmpty + // ? null + // : () { + // if (widget.changeType) { + // Get.back(); + // _pickedFixers.forEach((element) { + // widget.model.detail.fixStatuses.add( + // FixStatus( + // title: '改派给${element.name}', date: DateTime.now()), + // ); + // }); + // } else { + // Get.back(); + // Get.back(); + // widget.model.type = FIX_ENUM.WAIT_PICKUP; + // _pickedFixers.forEach((element) { + // widget.model.detail.fixStatuses.add( + // FixStatus( + // title: '分配给${element.name}', date: DateTime.now()), + // ); + // }); + // } + // }, color: AppStyle.primaryColor, nullColor: AppStyle.primaryColor.withOpacity(0.5), child: Text( @@ -139,13 +155,14 @@ class _FixerDepartmentPageState extends State { AkuMaterialButton( height: 96.w, onPressed: () { - if (_pickedFixers - .indexWhere((element) => element.id == e.id) == - -1) { - _pickedFixers.add(e); - } else { - _pickedFixers.remove(e); - } + // if (_pickedFixers + // .indexWhere((element) => element.id == e.id) == + // -1) { + // _pickedFixers.add(e); + // } else { + // _pickedFixers.remove(e); + // } + _reportModel.operato = e.id; setState(() {}); }, child: Row( @@ -154,12 +171,17 @@ class _FixerDepartmentPageState extends State { Checkbox( checkColor: AppStyle.primaryTextColor, activeColor: AppStyle.primaryColor, - value: _pickedFixers.indexOf(e) != -1, + value: _reportModel.operato == e.id, onChanged: (state) { - if (_pickedFixers.indexOf(e) == -1) { - _pickedFixers.add(e); + // if (_pickedFixers.indexOf(e) == -1) { + // _pickedFixers.add(e); + // } else { + // _pickedFixers.remove(e); + // } + if (_reportModel.operato == e.id) { + _reportModel.operato = -1; } else { - _pickedFixers.remove(e); + _reportModel.operato = e.id; } setState(() {}); }, diff --git a/lib/ui/widgets/inner/show_bottom_sheet.dart b/lib/ui/widgets/inner/show_bottom_sheet.dart index fee2962..0f6f029 100644 --- a/lib/ui/widgets/inner/show_bottom_sheet.dart +++ b/lib/ui/widgets/inner/show_bottom_sheet.dart @@ -58,6 +58,7 @@ Future showNormalSheet(String title, List children) async { Future showItemSheet({ String title, List items, + List ids, int selectItem, Function(int result) onTap, }) async { @@ -69,14 +70,14 @@ Future showItemSheet({ minWidth: double.infinity, onPressed: () { Get.back(); - onTap(items.indexOf(e)); + onTap(ids[items.indexOf(e)]); }, child: Text( e, style: TextStyle( fontWeight: FontWeight.bold, fontSize: 32.sp, - color: e == items[selectItem] + color: items.indexOf(e)==ids.indexOf(selectItem) ? AppStyle.secondaryColor : AppStyle.primaryTextColor, ), diff --git a/lib/utils/network/manage_func.dart b/lib/utils/network/manage_func.dart index 4a6cd8a..e278c65 100644 --- a/lib/utils/network/manage_func.dart +++ b/lib/utils/network/manage_func.dart @@ -1,4 +1,5 @@ import 'package:aku_community_manager/const/api.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/dispatch_report_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_detail_model.dart'; import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/net_util.dart'; @@ -32,4 +33,17 @@ class ManageFunc { }); return baseModel.data as List; } + + static Future repairDispatch(DispatchReportModel model) async { + BaseModel baseModel = await NetUtil().get(API.manage.repairDispatch, params:{ + 'dispatchListId':model.dispatchListId, + 'workOrderType':model.workOrderTyoe, + 'workOrderTypeDetail':model.workOrderTypeDetail, + 'workOrderTimeLimit':model.workOrderTimeLimit, + 'type':model.type, + 'operator':model.operato, + 'remake':model.remark, + }); + return baseModel; + } } From c356c705762c43017a1d4410f92fa011d927530d Mon Sep 17 00:00:00 2001 From: zhang <494089941@qq.com> Date: Tue, 23 Feb 2021 18:19:48 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=EF=BC=9A=E6=94=B9?= =?UTF-8?q?=E6=B4=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/const/api.dart | 4 ++- .../business_and_fix_detail_page.dart | 8 +++--- .../fixer_department_page.dart | 7 ++++++ lib/utils/network/manage_func.dart | 25 ++++++++++++------- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/lib/const/api.dart b/lib/const/api.dart index f570120..11b7675 100644 --- a/lib/const/api.dart +++ b/lib/const/api.dart @@ -75,5 +75,7 @@ class _Manage { ///报事报修:报事报修:派单 String get repairDispatch => '/user/repair/dispatch'; - + + ///报事报修:改派 + String get repairReassignment => '/user/repair/reassignment'; } 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 39c5011..e1f8209 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 @@ -143,10 +143,10 @@ class _BusinessAndFixDetailPageState extends State { color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, onPressed: () { - // Get.to(FixerDepartmentPage( - // model: widget.model, - // changeType: true, - // )); + Get.to(FixerDepartmentPage( + model:_reportModel , + changeType: true, + )); }, child: Text( '改派', 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 0e74024..53c2000 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 @@ -63,6 +63,13 @@ class _FixerDepartmentPageState extends State { height: 96.w, onPressed: () async { if (widget.changeType) { + BaseModel baseModel = await ManageFunc.repairReassignment( + _reportModel.dispatchListId, _reportModel.operato); + if (baseModel.status) { + Get.back(); + } else { + BotToast.showText(text: baseModel.message); + } } else { BaseModel baseModel = await ManageFunc.repairDispatch(_reportModel); if (baseModel.status) { diff --git a/lib/utils/network/manage_func.dart b/lib/utils/network/manage_func.dart index e278c65..1a76975 100644 --- a/lib/utils/network/manage_func.dart +++ b/lib/utils/network/manage_func.dart @@ -35,15 +35,22 @@ class ManageFunc { } static Future repairDispatch(DispatchReportModel model) async { - BaseModel baseModel = await NetUtil().get(API.manage.repairDispatch, params:{ - 'dispatchListId':model.dispatchListId, - 'workOrderType':model.workOrderTyoe, - 'workOrderTypeDetail':model.workOrderTypeDetail, - 'workOrderTimeLimit':model.workOrderTimeLimit, - 'type':model.type, - 'operator':model.operato, - 'remake':model.remark, + BaseModel baseModel = + await NetUtil().get(API.manage.repairDispatch, params: { + 'dispatchListId': model.dispatchListId, + 'workOrderType': model.workOrderTyoe, + 'workOrderTypeDetail': model.workOrderTypeDetail, + 'workOrderTimeLimit': model.workOrderTimeLimit, + 'type': model.type, + 'operator': model.operato, + 'remake': model.remark, }); - return baseModel; + return baseModel; + } + + static Future repairReassignment(int id, int operato) async { + BaseModel baseModel = await NetUtil().get(API.manage.repairReassignment, + params: {'dispatchListId': id, 'operator': operato}); + return baseModel; } } From 31233e030d8c7e58a0323fef0c2ba3e82ce252d4 Mon Sep 17 00:00:00 2001 From: zhang <494089941@qq.com> Date: Wed, 24 Feb 2021 10:37:26 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=EF=BC=9A=E6=8E=A5?= =?UTF-8?q?=E5=8D=95=20=E5=AF=B9=E6=8E=A5=EF=BC=9A=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=BB=B6=E6=97=B6=20=E5=AF=B9=E6=8E=A5=EF=BC=9A=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/const/api.dart | 9 + .../business_and_fix_detail_page.dart | 32 ++- .../business_and_fix/fix_more_time_page.dart | 59 +++-- .../fix_work_finish_page.dart | 228 ++++++++++-------- lib/utils/network/manage_func.dart | 48 ++++ 5 files changed, 249 insertions(+), 127 deletions(-) diff --git a/lib/const/api.dart b/lib/const/api.dart index 11b7675..b539df0 100644 --- a/lib/const/api.dart +++ b/lib/const/api.dart @@ -78,4 +78,13 @@ class _Manage { ///报事报修:改派 String get repairReassignment => '/user/repair/reassignment'; + + ///报事报修:报事报修:接单 + String get recevingOrders => '/user/repair/receivingOrders'; + + ///报事报修:申请延时 + String get applyDelayed => '/user/repair/applyDelayed'; + +///报事报修:处理完成 +String get handleResult => '/user/repair/handleResult'; } 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 e1f8209..352382b 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 @@ -6,8 +6,12 @@ import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_det import 'package:aku_community_manager/models/manager/bussiness_and_fix/work_order_type_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/work_time_limit_model.dart'; import 'package:aku_community_manager/tools/aku_map.dart'; +import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fix_more_time_page.dart'; +import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fix_work_finish_page.dart'; import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fixer_department_page.dart'; +import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/manage_func.dart'; +import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; // Package imports: @@ -144,7 +148,7 @@ class _BusinessAndFixDetailPageState extends State { nullColor: AppStyle.minorColor, onPressed: () { Get.to(FixerDepartmentPage( - model:_reportModel , + model: _reportModel, changeType: true, )); }, @@ -159,15 +163,14 @@ class _BusinessAndFixDetailPageState extends State { return AkuMaterialButton( color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, - onPressed: () { - // final userProvider = - // Provider.of(context, listen: false); - // detailModel.fixStatuses.add(FixStatus( - // title: '${userProvider.userInfoModel.nickName}已接单', - // date: DateTime.now(), - // )); - // widget.model.type = FIX_ENUM.PROCESSING; - // Get.back(); + onPressed: () async { + BaseModel baseModel = + await ManageFunc.recevingOrders(widget.model.dispatchId); + if (baseModel.status) { + Get.back(); + } else { + BotToast.showText(text: baseModel.message); + } }, child: Text( '立即接单', @@ -206,7 +209,8 @@ class _BusinessAndFixDetailPageState extends State { ), ), onPressed: () { - // Get.to(FixMoreTimePage(model: widget.model)); + Get.to( + FixMoreTimePage(dispatchId: widget.model.dispatchId)); }, child: Text( '申请延时', @@ -222,7 +226,11 @@ class _BusinessAndFixDetailPageState extends State { radius: 4.w, color: AppStyle.primaryColor, onPressed: () { - // Get.to(FixWorkFinishPage(model: widget.model)); + Get.to(FixWorkFinishPage( + reportDetail: widget.model.reportDetail, + model: _detailModel, + dispatchType: + _detailModel.dispatchType.dispatchType == 1)); }, child: Text( '处理完成', 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 b3807f5..81e8f5d 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 @@ -1,23 +1,23 @@ // Flutter imports: +import 'package:aku_community_manager/utils/network/base_model.dart'; +import 'package:aku_community_manager/utils/network/manage_func.dart'; +import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; // Package imports: import 'package:aku_ui/common_widgets/aku_material_button.dart'; -import 'package:get/get.dart'; -import 'package:provider/provider.dart'; // Project imports: import 'package:aku_community_manager/const/resource.dart'; -import 'package:aku_community_manager/mock_models/fix/fix_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/screen_tool.dart'; import 'package:aku_community_manager/tools/widget_tool.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; +import 'package:get/get.dart'; class FixMoreTimePage extends StatefulWidget { - final FixModel model; - FixMoreTimePage({Key key, @required this.model}) : super(key: key); + final int dispatchId; + FixMoreTimePage({Key key, @required this.dispatchId}) : super(key: key); @override _FixMoreTimePageState createState() => _FixMoreTimePageState(); @@ -25,6 +25,20 @@ class FixMoreTimePage extends StatefulWidget { class _FixMoreTimePageState extends State { String _nowSelect = '24h'; + List _delayList = ['24h', '48h', '72h', '未知']; + TextEditingController _textEditingController; + @override + void initState() { + super.initState(); + _textEditingController = TextEditingController(); + } + + @override + void dispose() { + _textEditingController?.dispose(); + super.dispose(); + } + @override Widget build(BuildContext context) { return AkuScaffold( @@ -56,7 +70,7 @@ class _FixMoreTimePageState extends State { AkuBox.h(24), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: ['24h', '48h', '72h', '未知'].map((e) { + children: _delayList.map((e) { return GestureDetector( onTap: () { setState(() { @@ -131,6 +145,10 @@ class _FixMoreTimePageState extends State { child: TextField( minLines: 7, maxLines: 7, + controller: _textEditingController, + onChanged: (_) { + setState(() {}); + }, decoration: InputDecoration( contentPadding: EdgeInsets.zero, border: InputBorder.none, @@ -141,15 +159,24 @@ class _FixMoreTimePageState extends State { Padding( padding: EdgeInsets.symmetric(horizontal: 32.w), child: AkuMaterialButton( - onPressed: () { - final userProvider = - Provider.of(context, listen: false); - widget.model.detail.fixStatuses.add( - FixStatus( - title: '${userProvider.userInfoModel.nickName}申请延时', - date: DateTime.now()), - ); - Get.back(); + onPressed: () async { + // final userProvider = + // Provider.of(context, listen: false); + // widget.model.detail.fixStatuses.add( + // FixStatus( + // title: '${userProvider.userInfoModel.nickName}申请延时', + // date: DateTime.now()), + // ); + // Get.back(); + BaseModel baseModel = await ManageFunc.applyDelayed( + widget.dispatchId, + _delayList.indexOf(_nowSelect) + 1, + _textEditingController.text ?? ''); + if (baseModel.status) { + Get.back(); + } else { + BotToast.showText(text: baseModel.message); + } }, radius: 8.w, child: Text( 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 b06188e..7f4385d 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 @@ -2,26 +2,37 @@ import 'dart:io'; // Flutter imports: +import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; +import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_detail_model.dart'; +import 'package:aku_community_manager/utils/network/base_model.dart'; +import 'package:aku_community_manager/utils/network/manage_func.dart'; +import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; // Package imports: import 'package:aku_ui/common_widgets/aku_material_button.dart'; import 'package:common_utils/common_utils.dart'; -import 'package:get/get.dart'; // Project imports: -import 'package:aku_community_manager/mock_models/fix/fix_model.dart'; import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/tools/screen_tool.dart'; import 'package:aku_community_manager/tools/widget_tool.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_title_box.dart'; import 'package:aku_community_manager/ui/widgets/inner/pick_image.dart'; +import 'package:get/get.dart'; class FixWorkFinishPage extends StatefulWidget { - final FixModel model; - FixWorkFinishPage({Key key, @required this.model}) : super(key: key); + final FixedDetailModel model; + final String reportDetail; + final bool dispatchType; + FixWorkFinishPage( + {Key key, + @required this.model, + @required this.dispatchType, + @required this.reportDetail}) + : super(key: key); @override _FixWorkFinishPageState createState() => _FixWorkFinishPageState(); @@ -34,6 +45,9 @@ class _FixWorkFinishPageState extends State { TextEditingController _humanController = TextEditingController(); TextEditingController _materialPriceController = TextEditingController(); + + double humanPrice; + double materialPrice; @override void dispose() { _descriptionController?.dispose(); @@ -57,7 +71,7 @@ class _FixWorkFinishPageState extends State { spacing: 24, children: [ Text( - widget.model.title, + widget.reportDetail, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -73,13 +87,15 @@ class _FixWorkFinishPageState extends State { mainAxisSpacing: 16.w, ), itemBuilder: (context, index) { - final img = widget.model.imgs[index]; + // final img = widget.model.imgs[index]; return ClipRRect( - borderRadius: BorderRadius.circular(4.w), - child: (img is String) ? Image.asset(img) : Image.file(img), - ); + borderRadius: BorderRadius.circular(4.w), + child: FadeInImage.assetNetwork( + placeholder: R.ASSETS_PLACEHOLDER_WEBP, + image: widget.model.repairDetail.imgUrls[index].url, + )); }, - itemCount: widget.model.imgs.length, + itemCount: widget.model.repairDetail.imgUrls.length, ), ], ), @@ -262,87 +278,87 @@ class _FixWorkFinishPageState extends State { ) ], ), - // widget.model.detail.type == FIX_PAYMENT_TYPE.FREE - // ? SizedBox() - // : - AkuTitleBox( - title: '费用明细', - spacing: 16, - children: [ - Row( - children: [ - AkuBox.h(96), - Text('人工费'), - Expanded( - child: TextField( - controller: _humanController, - onChanged: (_) => setState(() {}), - keyboardType: TextInputType.number, - textAlign: TextAlign.end, - decoration: InputDecoration( - border: InputBorder.none, - hintText: '请输入', - hintStyle: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 28.sp, - color: AppStyle.minorTextColor, + widget.dispatchType + ? SizedBox() + : AkuTitleBox( + title: '费用明细', + spacing: 16, + children: [ + Row( + children: [ + AkuBox.h(96), + Text('人工费'), + Expanded( + child: TextField( + controller: _humanController, + onChanged: (_) => setState(() {}), + keyboardType: TextInputType.number, + textAlign: TextAlign.end, + decoration: InputDecoration( + border: InputBorder.none, + hintText: '请输入', + hintStyle: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 28.sp, + color: AppStyle.minorTextColor, + ), + ), + ), ), - ), + ], ), - ), - ], - ), - Divider(height: 1.w), - Row( - children: [ - AkuBox.h(96), - Text('材料费'), - Expanded( - child: TextField( - onChanged: (_) => setState(() {}), - controller: _materialPriceController, - textAlign: TextAlign.end, - keyboardType: TextInputType.number, - decoration: InputDecoration( - border: InputBorder.none, - hintText: '请输入', - hintStyle: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 28.sp, - color: AppStyle.minorTextColor, + Divider(height: 1.w), + Row( + children: [ + AkuBox.h(96), + Text('材料费'), + Expanded( + child: TextField( + onChanged: (_) => setState(() {}), + controller: _materialPriceController, + textAlign: TextAlign.end, + keyboardType: TextInputType.number, + decoration: InputDecoration( + border: InputBorder.none, + hintText: '请输入', + hintStyle: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 28.sp, + color: AppStyle.minorTextColor, + ), + ), + ), ), - ), + ], ), - ), - ], - ), - Divider(height: 1.w), - Row( - children: [ - AkuBox.h(96), - Text('总计费用'), - Spacer(), - Builder( - builder: (context) { - double humanPrice = - double.tryParse(_humanController.text); - double materialPrice = - double.tryParse(_materialPriceController.text); + Divider(height: 1.w), + Row( + children: [ + AkuBox.h(96), + Text('总计费用'), + Spacer(), + Builder( + builder: (context) { + humanPrice = double.tryParse(_humanController.text); + materialPrice = + double.tryParse(_materialPriceController.text); - if (TextUtil.isEmpty(_humanController.text) || - TextUtil.isEmpty(_materialPriceController.text)) { - return Text('人工费或材料费不能为空'); - } else if (humanPrice == null || materialPrice == null) - return Text('输入有误'); - else - return Text( - '¥${(humanPrice + materialPrice).toStringAsFixed(2)}'); - }, - ), - ], - ), - ], - ), + if (TextUtil.isEmpty(_humanController.text) || + TextUtil.isEmpty( + _materialPriceController.text)) { + return Text('人工费或材料费不能为空'); + } else if (humanPrice == null || + materialPrice == null) + return Text('输入有误'); + else + return Text( + '¥${(humanPrice + materialPrice).toStringAsFixed(2)}'); + }, + ), + ], + ), + ], + ), ], ), bottom: AkuMaterialButton( @@ -356,19 +372,33 @@ class _FixWorkFinishPageState extends State { ), height: 96.w, color: AppStyle.primaryColor, - onPressed: () { - widget.model.detail.result = FixResult( - detail: _descriptionController.text, - material: _materialController.text, - imgs: _imgs, - ); - widget.model.type = FIX_ENUM.DONE; - if (widget.model.detail.type == FIX_PAYMENT_TYPE.PAY) - widget.model.detail.priceDetail = FixPriceDetail( - humanPrice: double.parse(_humanController.text), - materialPrice: double.parse(_materialController.text), - ); - Get.back(); + onPressed: () async { + // widget.model.detail.result = FixResult( + // detail: _descriptionController.text, + // material: _materialController.text, + // imgs: _imgs, + // ); + // widget.model.type = FIX_ENUM.DONE; + // if (widget.model.detail.type == FIX_PAYMENT_TYPE.PAY) + // widget.model.detail.priceDetail = FixPriceDetail( + // humanPrice: double.parse(_humanController.text), + // materialPrice: double.parse(_materialController.text), + // ); + // Get.back(); + + BaseModel baseModel = await ManageFunc.handleResult( + widget.model.repairDetail.dispatchId, + _descriptionController.text, + _materialController.text, + humanPrice, + materialPrice, + humanPrice + materialPrice, + 1, []); + if (baseModel.status) { + Get.back(); //TODO 处理完成 + } else { + BotToast.showText(text: baseModel.message); + } }, ), ); diff --git a/lib/utils/network/manage_func.dart b/lib/utils/network/manage_func.dart index 1a76975..7f1de03 100644 --- a/lib/utils/network/manage_func.dart +++ b/lib/utils/network/manage_func.dart @@ -6,6 +6,7 @@ import 'package:aku_community_manager/utils/network/net_util.dart'; import 'package:dio/dio.dart'; class ManageFunc { + ///报事报修详情 static Future repairDetail(int id) async { Response response = await NetUtil().dio.get(API.manage.repairDetail, queryParameters: { @@ -14,6 +15,7 @@ class ManageFunc { return FixedDetailModel.fromJson(response.data); } + ///派单类型 static Future dispatchListDetailType() async { Response response = await NetUtil().dio.get( 'http://test.akuhotel.com:8804/IntelligentCommunity' + @@ -21,11 +23,13 @@ class ManageFunc { return response.data as List; } + ///工单时限 static Future workOrderTimeType() async { BaseModel baseModel = await NetUtil().get(API.manage.workOrderTimeLimit); return baseModel.data as List; } + ///工单子类列表 static Future workOrderTypeDetail(int id) async { BaseModel baseModel = await NetUtil().get(API.manage.workOrderTypeDetail, params: { @@ -34,6 +38,7 @@ class ManageFunc { return baseModel.data as List; } + ///派单 static Future repairDispatch(DispatchReportModel model) async { BaseModel baseModel = await NetUtil().get(API.manage.repairDispatch, params: { @@ -48,9 +53,52 @@ class ManageFunc { return baseModel; } + ///改派 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 { + BaseModel basemodel = await NetUtil() + .get(API.manage.recevingOrders, params: {'dispatchListId': id}); + return basemodel; + } + + ///申请延时 + static Future applyDelayed(int id, int delayed, String remark) async { + BaseModel baseModel = + await NetUtil().post(API.manage.applyDelayed, params: { + 'dispatchListId': id, + 'delayedTime': delayed, + 'remake': remark, + }); + return baseModel; + } + + ///报事报修:处理完成 + static Future handleResult( + int dispatchListId, + String detail, + String materialList, + double laborCost, + double materialCost, + double totalCost, + int repairResult, + List fileUrls) async { + BaseModel baseModel = + await NetUtil().post(API.manage.handleResult, params: { + 'dispatchListId': dispatchListId, + 'detail': detail, + 'materialList': materialList, + 'laborCost': laborCost, + 'materialCost': materialCost, + 'totalCost': totalCost, + 'repairResult': repairResult, + 'fileUrls': fileUrls, + }); + return baseModel; + } } From 930302352430de61142c2f54996a8f3a3d2de905 Mon Sep 17 00:00:00 2001 From: zhang <494089941@qq.com> Date: Wed, 24 Feb 2021 11:48:13 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/manage/submit_success.png | Bin 0 -> 191199 bytes .../business_and_fix_detail_page.dart | 2 +- .../fix_submit_finish_page.dart | 29 ++++++++++++++++++ .../fix_work_finish_page.dart | 12 +++++--- 4 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 assets/manage/submit_success.png create mode 100644 lib/ui/sub_pages/business_and_fix/fix_submit_finish_page.dart diff --git a/assets/manage/submit_success.png b/assets/manage/submit_success.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5283132b5909d7da8766bef4ec6232129ce9b5 GIT binary patch literal 191199 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 { color: AppStyle.primaryColor, onPressed: () { Get.to(FixWorkFinishPage( - reportDetail: widget.model.reportDetail, + fixModel :widget.model, model: _detailModel, dispatchType: _detailModel.dispatchType.dispatchType == 1)); 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 new file mode 100644 index 0000000..e5239e0 --- /dev/null +++ b/lib/ui/sub_pages/business_and_fix/fix_submit_finish_page.dart @@ -0,0 +1,29 @@ +import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; +import 'package:aku_community_manager/ui/sub_pages/business_and_fix/business_fix_card.dart'; +import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; +import 'package:flutter/material.dart'; +import 'package:aku_community_manager/const/resource.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:velocity_x/velocity_x.dart'; +class FixSubmitFinishPage extends StatelessWidget { + final BussinessAndFixModel model; + const FixSubmitFinishPage({Key key, this.model}) : super(key: key); + + @override + Widget build(BuildContext context) { + return AkuScaffold( + title: '处理完成', + body:Container( + width:double.infinity, + child: Column( + children: [ + Image.asset(R.ASSETS_MANAGE_SUBMIT_SUCCESS_PNG,width:587.w,height:350.w), + '您已处理完成该报修'.text.black.size(40.sp).bold.make(), + 120.w.heightBox, + BusinessFixCard(model: this.model), + ], + ), + ), + ); + } +} \ No newline at end of file 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 7f4385d..218b13d 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 @@ -4,6 +4,7 @@ import 'dart:io'; // Flutter imports: import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/fixed_detail_model.dart'; +import 'package:aku_community_manager/ui/sub_pages/business_and_fix/fix_submit_finish_page.dart'; import 'package:aku_community_manager/utils/network/base_model.dart'; import 'package:aku_community_manager/utils/network/manage_func.dart'; import 'package:bot_toast/bot_toast.dart'; @@ -22,16 +23,17 @@ import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_community_manager/ui/widgets/inner/aku_title_box.dart'; import 'package:aku_community_manager/ui/widgets/inner/pick_image.dart'; import 'package:get/get.dart'; +import 'package:aku_community_manager/tools/extensions/router_extension_tool.dart'; class FixWorkFinishPage extends StatefulWidget { final FixedDetailModel model; - final String reportDetail; + final BussinessAndFixModel fixModel; final bool dispatchType; FixWorkFinishPage( {Key key, @required this.model, @required this.dispatchType, - @required this.reportDetail}) + @required this.fixModel}) : super(key: key); @override @@ -71,7 +73,7 @@ class _FixWorkFinishPageState extends State { spacing: 24, children: [ Text( - widget.reportDetail, + widget.fixModel.reportDetail, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.w, @@ -395,7 +397,9 @@ class _FixWorkFinishPageState extends State { humanPrice + materialPrice, 1, []); if (baseModel.status) { - Get.back(); //TODO 处理完成 + FixSubmitFinishPage( + model:widget.fixModel, + ).to(); } else { BotToast.showText(text: baseModel.message); } From 255a7af3061e170978e3d23dcc88671489fb6e30 Mon Sep 17 00:00:00 2001 From: zhang <494089941@qq.com> Date: Wed, 24 Feb 2021 13:52:20 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tools/aku_map.dart | 2 + .../business_and_fix_detail_page.dart | 44 +++++++------- .../fixer_department_page.dart | 57 ++++++++++++------- 3 files changed, 65 insertions(+), 38 deletions(-) diff --git a/lib/tools/aku_map.dart b/lib/tools/aku_map.dart index 60c9fff..ecabf6f 100644 --- a/lib/tools/aku_map.dart +++ b/lib/tools/aku_map.dart @@ -74,4 +74,6 @@ class AkuMap { 8: '作废', 9: '取消' }; + + static Map dispatchType = {1: '无偿服务', 2: '有偿服务'}; } 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 f3df6cf..7df0c94 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 @@ -123,7 +123,7 @@ class _BusinessAndFixDetailPageState extends State { builder: (context) { final userProvider = Provider.of(context, listen: false); - if (userProvider.infoModel.canOperation) { + if (userProvider.infoModel.canOperation&&widget.model.status<2) { return AkuMaterialButton( color: AppStyle.primaryColor, nullColor: AppStyle.minorColor, @@ -141,7 +141,7 @@ class _BusinessAndFixDetailPageState extends State { ), ), ); - } else if (widget.model.status == 3) { + } else if (widget.model.status == 2) { if (userProvider.infoModel.canOperation) { return AkuMaterialButton( color: AppStyle.primaryColor, @@ -180,7 +180,7 @@ class _BusinessAndFixDetailPageState extends State { ), ); } - } else if ((widget.model.status >= 4 && widget.model.status <= 4) && + } else if ((widget.model.status==3) && userProvider.infoModel.canPickUpTicket) return Container( height: 96.w, @@ -227,7 +227,7 @@ class _BusinessAndFixDetailPageState extends State { color: AppStyle.primaryColor, onPressed: () { Get.to(FixWorkFinishPage( - fixModel :widget.model, + fixModel: widget.model, model: _detailModel, dispatchType: _detailModel.dispatchType.dispatchType == 1)); @@ -307,11 +307,13 @@ class _BusinessAndFixDetailPageState extends State { children: [ _buildTypeTile( '派单类型', - _dispatchModels == null - ? null - : _dispatchModels[_dispatchModels.indexWhere( - (element) => element.showValue == _reportModel.type)] - .showName, + canTap + ? _dispatchModels == null + ? null + : _dispatchModels[_dispatchModels.indexWhere( + (element) => element.showValue == _reportModel.type)] + .showName + : AkuMap.dispatchType[_detailModel.dispatchType.dispatchType], canTap, helpContent: '请选择服务类型', onTap: () async { @@ -336,11 +338,13 @@ class _BusinessAndFixDetailPageState extends State { ), _buildTypeTile( '工单时限', - _timeLimitModels == null - ? null - : _timeLimitModels[_timeLimitModels.indexWhere((element) => - element.id == _reportModel.workOrderTimeLimit)] - ?.name, + canTap + ? _timeLimitModels == null + ? null + : _timeLimitModels[_timeLimitModels.indexWhere((element) => + element.id == _reportModel.workOrderTimeLimit)] + ?.name + : _detailModel.dispatchType.workOrderLimitName, canTap, helpContent: '请选择工单时限', onTap: () async { @@ -365,11 +369,13 @@ class _BusinessAndFixDetailPageState extends State { ), _buildTypeTile( '工单子类', - _workTypeModels == null - ? null - : _workTypeModels[_workTypeModels.indexWhere((element) => - element.id == _reportModel.workOrderTypeDetail)] - .name, + canTap + ? _workTypeModels == null + ? null + : _workTypeModels[_workTypeModels.indexWhere((element) => + element.id == _reportModel.workOrderTypeDetail)] + .name + : _detailModel.dispatchType.workOrderSubclassName, canTap, helpContent: '请选择工单子类', onTap: () async { 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 53c2000..051a9dd 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 @@ -36,6 +36,22 @@ class _FixerDepartmentPageState extends State { List _pickedFixers = []; List _fixerItems = []; + + bool get canDispatch { + if (_reportModel?.operato==null) { + return false; + } else if (_reportModel.type == -1) { + return false; + } else if (_reportModel.workOrderTimeLimit == -1) { + return false; + } else if (_reportModel.workOrderTyoe == -1) { + return false; + } else if (_reportModel.workOrderTypeDetail == -1) { + return false; + } + return true; + } + @override Widget build(BuildContext context) { return AkuScaffold( @@ -61,25 +77,28 @@ class _FixerDepartmentPageState extends State { ), bottom: AkuMaterialButton( height: 96.w, - onPressed: () async { - if (widget.changeType) { - BaseModel baseModel = await ManageFunc.repairReassignment( - _reportModel.dispatchListId, _reportModel.operato); - if (baseModel.status) { - Get.back(); - } else { - BotToast.showText(text: baseModel.message); - } - } else { - BaseModel baseModel = await ManageFunc.repairDispatch(_reportModel); - if (baseModel.status) { - Get.back(); - Get.back(); - } else { - BotToast.showText(text: baseModel.message); - } - } - }, + onPressed: canDispatch + ? () async { + if (widget.changeType) { + BaseModel baseModel = await ManageFunc.repairReassignment( + _reportModel.dispatchListId, _reportModel.operato); + if (baseModel.status) { + Get.back(); + } else { + BotToast.showText(text: baseModel.message); + } + } else { + BaseModel baseModel = + await ManageFunc.repairDispatch(_reportModel); + if (baseModel.status) { + Get.back(); + Get.back(); + } else { + BotToast.showText(text: baseModel.message); + } + } + } + : null, // onPressed: _pickedFixers.isEmpty // ? null // : () {