diff --git a/lib/customWidget/promise/promise_page.dart b/lib/customWidget/promise/promise_page.dart index e6d681a..8ed555a 100644 --- a/lib/customWidget/promise/promise_page.dart +++ b/lib/customWidget/promise/promise_page.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; import 'package:qhd_prevention/customWidget/custom_button.dart'; import 'package:qhd_prevention/customWidget/single_image_viewer.dart'; import 'package:qhd_prevention/pages/main_tab.dart'; @@ -54,8 +55,8 @@ class _PromisePageState extends State { resolved['TEXT'] = payload['TEXT']?.toString() ?? ''; } resolved['DETAIL'] = DETAIL; - resolved['SIGNTIME'] = - DateTime.now().millisecondsSinceEpoch.toString(); + resolved['SIGNTIME'] = DateFormat('yyyy-MM-dd').format(DateTime.now()); + resolved['COVERPEOPLE'] = (payload['COVERPEOPLE'] is List && payload['COVERPEOPLE'].isNotEmpty) ? payload['COVERPEOPLE'][0]['USERNAME']?.toString() ?? '' diff --git a/lib/http/ApiService.dart b/lib/http/ApiService.dart index b82e428..8862380 100644 --- a/lib/http/ApiService.dart +++ b/lib/http/ApiService.dart @@ -28,8 +28,6 @@ class ApiService { static const String basePath = "http://192.168.20.240:8500/integrated_whb"; // static const String basePath = "http://192.168.0.45:28199";//长久服务器 - // static const String basePath = "http://192.168.0.37:8099/api"; - /// 图片文件服务 static const String baseImgPath = "https://file.zcloudchina.com/YTHFile"; diff --git a/lib/pages/KeyProjects/Punishment/punishment_manager_detail_page.dart b/lib/pages/KeyProjects/Punishment/punishment_manager_detail_page.dart index 77c0c89..b33a183 100644 --- a/lib/pages/KeyProjects/Punishment/punishment_manager_detail_page.dart +++ b/lib/pages/KeyProjects/Punishment/punishment_manager_detail_page.dart @@ -37,10 +37,12 @@ class _PunishmentManagerDetailPageState extends State _getData() async { + LoadingDialogHelper.show(); final result = await ApiService.getKeyprojectDangerFindHidden( widget.info['HIDDEN_ID'] ?? '', widget.info['OUTSOURCED_ID'] ?? '', ); + LoadingDialogHelper.hide(); try { setState(() { hiddenForm = result['pd'] ?? {}; @@ -116,12 +118,12 @@ class _PunishmentManagerDetailPageState extends State Future _keyprojectPunishAdd(Map form) async { try { - if (form['ISPUNISH'] == 1) { + LoadingDialogHelper.show(); + if (form['ISPUNISH'] == "1") { final result = await ApiService.keyprojectpunishAdd(form); + LoadingDialogHelper.hide(); if (result['result'] == 'success') { await ApiService.keyprojectPunishEdit(form, '1'); _getDataWithIndex(_selectedTab); } }else{ await ApiService.keyprojectPunishEdit(form, '2'); + LoadingDialogHelper.hide(); _getDataWithIndex(_selectedTab); } diff --git a/lib/pages/home/SafeCheck/DangeCheck/safeCheck_acceptance_page.dart b/lib/pages/home/SafeCheck/DangeCheck/safeCheck_acceptance_page.dart new file mode 100644 index 0000000..da375f2 --- /dev/null +++ b/lib/pages/home/SafeCheck/DangeCheck/safeCheck_acceptance_page.dart @@ -0,0 +1,514 @@ +import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; +import 'package:qhd_prevention/customWidget/ItemWidgetFactory.dart'; +import 'package:qhd_prevention/customWidget/big_video_viewer.dart'; +import 'package:qhd_prevention/customWidget/full_screen_video_page.dart'; +import 'package:qhd_prevention/customWidget/single_image_viewer.dart'; +import 'package:qhd_prevention/http/ApiService.dart'; +import 'package:qhd_prevention/pages/app/danger_wait_list_page.dart'; +import 'package:qhd_prevention/pages/home/tap/item_list_widget.dart'; +import 'package:qhd_prevention/pages/my_appbar.dart'; +import 'package:qhd_prevention/tools/tools.dart'; +import 'dart:convert'; +import 'package:video_player/video_player.dart'; + + + +class SafecheckAcceptancePage extends StatefulWidget { + const SafecheckAcceptancePage(this.dangerType, this.item, {Key? key}) : super(key: key); + + + final DangerType dangerType; + final item; + + @override + _SafecheckAcceptancePageState createState() => _SafecheckAcceptancePageState(); +} + +class _SafecheckAcceptancePageState extends State { + late Map pd = {}; + late Map hs = {}; + List files = []; + List files2 = []; + List files4 = []; + List files5 = []; + List files6 = []; + List videoList = []; + List checkList = []; + List files7 = []; + + + bool modalShow = false; + String videoSrc = ""; + VideoPlayerController? _videoController; + + @override + void initState() { + super.initState(); + if("2"==widget.item['HIDDEN_RISKSTANDARD']){ + getDataTwo(); + }else { + getData(); + } + } + + @override + void dispose() { + _videoController?.dispose(); + super.dispose(); + } + + Future getData() async { + try { + final data = await ApiService.getDangerDetail(widget.item['HIDDEN_ID']); + if (data['result'] == 'success') { + + setState(() { + pd = data['pd']; + hs = data['hs'] ?? {}; + + // 处理图片和视频 + for (var img in data['hImgs']) { + if (img['FILEPATH'].toString().endsWith('.mp4')) { + videoList.add(img); + } else { + files.add(img["FILEPATH"]); + } + } + + // List filesZheng = data['rImgs'] ?? []; + for (var img in data['rImgs']) { + files2.add(img["FILEPATH"]); + } + // files2=data['rImgs'] ?? []; + // files4 = data['sImgs'] ?? []; + for (var img in data['sImgs']) { + files4.add(img["FILEPATH"]); + } + // files5 = data['pImgs'] ?? []; + for (var img in data['pImgs']) { + files5.add(img["FILEPATH"]); + } + files6 = data['yImgs'] ?? []; + checkList = data['checkList'] ?? []; + if(checkList.isNotEmpty) { + for (var img in checkList[0]['cImgs']) { + files7.add(img["FILEPATH"]); + } + } + }); + }else{ + getDataTwo(); + } + + } catch (e) { + print('Error fetching data: $e'); + } + } + + Future getDataTwo() async { + try { + final data = await ApiService.getDangerDetailTwo(widget.item['HIDDEN_ID']); + if (data['result'] == 'success') { + + setState(() { + pd = data['pd']; + hs = data['hs'] ?? {}; + + // 处理图片和视频 + for (var img in data['hImgs']) { + if (img['FILEPATH'].toString().endsWith('.mp4')) { + videoList.add(img); + } else { + files.add(img["FILEPATH"]); + } + } + + // List filesZheng = data['rImgs'] ?? []; + for (var img in data['rImgs']) { + files2.add(img["FILEPATH"]); + } + // files2=data['rImgs'] ?? []; + // files4 = data['sImgs'] ?? []; + for (var img in data['sImgs']) { + files4.add(img["FILEPATH"]); + } + // files5 = data['pImgs'] ?? []; + for (var img in data['pImgs']) { + files5.add(img["FILEPATH"]); + } + files6 = data['yImgs'] ?? []; + + checkList = data['checkList'] ?? []; + if(checkList.isNotEmpty) { + for (var img in checkList[0]['cImgs']) { + files7.add(img["FILEPATH"]); + } + } + }); + } + + } catch (e) { + print('Error fetching data: $e'); + } + } + + + + Widget _buildInfoItem(String title, String value) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 8,horizontal: 10), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 120, + child: Text( + title, + style: const TextStyle(fontWeight: FontWeight.bold), + ), + ), + Expanded(child: Text(value,textAlign: TextAlign.right,)), + ], + ), + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: MyAppbar(title: widget.dangerType.detailTitle), + body: pd.isEmpty + ? const Center(child: CircularProgressIndicator()) + : LayoutBuilder( + builder: (context, constraints) { + return SingleChildScrollView( + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: constraints.maxHeight, + ), + child: Padding( + padding: const EdgeInsets.all(10), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + + Card( + color: Colors.white, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildInfoItem('隐患描述', pd['HIDDENDESCR'] ?? ''), + Divider(height: 1), + // 隐患来源 + _buildInfoItem('隐患来源', _getSourceText(pd['SOURCE'])), + Divider(height: 1), + // 条件渲染部分 + if (pd['SOURCE'] == '2') ...[ + _buildInfoItem('风险点(单元)', pd['RISK_UNIT'] ?? ''), + Divider(height: 1), + _buildInfoItem('辨识部位', pd['IDENTIFICATION'] ?? ''), + Divider(height: 1), + _buildInfoItem('存在风险', pd['RISK_DESCR'] ?? ''), + Divider(height: 1), + _buildInfoItem('风险分级', pd['LEVEL'] ?? ''), + Divider(height: 1), + _buildInfoItem('检查内容', pd['CHECK_CONTENT'] ?? ''), + Divider(height: 1), + ], + + _buildInfoItem('隐患部位', pd['HIDDENPART'] ?? ''), + Divider(height: 1), + _buildInfoItem('发现人', pd['CREATORNAME'] ?? ''), + Divider(height: 1), + _buildInfoItem('发现时间', pd['CREATTIME'] ?? ''), + Divider(height: 1), + + if (pd['HIDDEN_CATEGORY']?.isNotEmpty == true) + _buildInfoItem('隐患类别', pd['HIDDEN_CATEGORY_NAME'] ?? ''), + + _buildInfoItem('隐患类型', pd['HIDDENTYPE_NAME'] ?? ''), + Divider(height: 1), + _buildInfoItem('整改类型', _getRectificationType(pd['RECTIFICATIONTYPE'])), + + if (pd['RECTIFICATIONTYPE'] == '2') + _buildInfoItem('整改期限', pd['RECTIFICATIONDEADLINE'] ?? ''), + Divider(height: 1), + // 隐患照片 + // const Text('隐患照片', style: TextStyle(fontWeight: FontWeight.bold)), + // _buildImageGrid(files, onTap: (index) => _showImageGallery(files, index)), + ListItemFactory.createTextImageItem( + text: "隐患照片", + imageUrls: files, + horizontalPadding:10, + onImageTapped: (index) { + presentOpaque( + SingleImageViewer(imageUrl:ApiService.baseImgPath + files[index]), + context, + ); + }, + ), + + // 隐患视频 + if (videoList.isNotEmpty) ...[ + SizedBox(height: 10), + Padding( + padding: EdgeInsets.only(left: 10,right: 10), + child: Text('隐患视频', style: TextStyle(fontWeight: FontWeight.bold)), + + ), + + GestureDetector( + onTap: () { + showDialog( + context: context, + barrierColor: Colors.black54, + builder: (_) => VideoPlayerPopup(videoUrl: ApiService.baseImgPath + videoList[0]['FILEPATH']), + ); + + // present( + // BigVideoViewer(videoUrl:ApiService.baseImgPath + videoList[0]['FILEPATH']), + // context, + // ); + }, + // => _playVideo(ApiService.baseImgPath + videoList[0]['FILEPATH']), + child: Image.asset( + 'assets/image/videostart.png', // 替换为你的视频占位图 + color: Colors.blue, + width: 120, + height: 120, + ), + ), + ], + + + ], + ), + ), + + + + + + // 整改信息部分 + if (pd['STATE'] != null && int.parse(pd['STATE']) >= 2 && int.parse(pd['STATE']) <= 4) ...[ + SizedBox(height: 10,), + // const Divider(height: 10,color: Colors.grey,), + Card( + color: Colors.white, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: EdgeInsets.only(top: 10,left: 10,right: 10), + child: Row( + children: [ + Container(width: 3, height: 15, color: Colors.blue), + const SizedBox(width: 8), + Text( + "整改信息", + style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + ), + + + + // const Text('整改信息', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)), + Divider(height: 1), + _buildInfoItem('整改描述', pd['RECTIFYDESCR'] ?? ''), + Divider(height: 1), + _buildInfoItem('整改部门', pd['RECTIFICATIONDEPTNAME'] ?? ''), + Divider(height: 1), + _buildInfoItem('整改人', pd['RECTIFICATIONORNAME'] ?? ''), + Divider(height: 1), + _buildInfoItem('整改时间', pd['RECTIFICATIONTIME'] ?? ''), + Divider(height: 1), + // const Text('整改后图片', style: TextStyle(fontWeight: FontWeight.bold)), + // _buildImageGrid(files2, onTap: (index) => _showImageGallery(files2, index)), + ListItemFactory.createTextImageItem( + text: "整改后图片", + imageUrls: files2, + horizontalPadding: 10, + onImageTapped: (index) { + presentOpaque( + SingleImageViewer(imageUrl: ApiService.baseImgPath +files2[index]), + context, + ); + }, + ), + + + Divider(height: 1), + _buildInfoItem('整改方案', pd['HAVESCHEME']=="1" ? '有':'无'), + Divider(height: 1), + if(pd['HAVESCHEME']=="1") + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildInfoItem('排查日期', hs['SCREENINGDATE'] ?? ''), + Divider(height: 1), + _buildInfoItem('隐患清单', hs['LISTNAME'] ?? ''), + Divider(height: 1), + _buildInfoItem('治理标准要求', hs['GOVERNSTANDARDS'] ?? ''), + Divider(height: 1), + _buildInfoItem('治理方法', hs['GOVERNMETHOD'] ?? ''), + Divider(height: 1), + _buildInfoItem('经费和物资的落实', hs['EXPENDITURE'] ?? ''), + Divider(height: 1), + _buildInfoItem('负责治理人员', hs['PRINCIPAL'] ?? ''), + Divider(height: 1), + _buildInfoItem('工时安排', hs['PROGRAMMING'] ?? ''), + Divider(height: 1), + _buildInfoItem('时限要求', hs['TIMELIMITFOR'] ?? ''), + Divider(height: 1), + _buildInfoItem('工作要求', hs['JOBREQUIREMENT'] ?? ''), + Divider(height: 1), + _buildInfoItem('其他事项', hs['OTHERBUSINESS'] ?? ''), + Divider(height: 1), + ListItemFactory.createTextImageItem( + text: "方案图片", + imageUrls: files4, + horizontalPadding: 10, + onImageTapped: (index) { + presentOpaque( + SingleImageViewer(imageUrl: ApiService.baseImgPath +files2[index]), + context, + ); + }, + ), + + + ], + ), + + Divider(height: 1), + _buildInfoItem('整改计划', pd['HAVEPLAN']=="1" ? '有':'无'), + Divider(height: 1), + if(pd['HAVEPLAN']=="1") + ListItemFactory.createTextImageItem( + text: "计划图片", + imageUrls: files2, + horizontalPadding: 10, + onImageTapped: (index) { + presentOpaque( + SingleImageViewer(imageUrl: ApiService.baseImgPath +files2[index]), + context, + ); + }, + ), + ], + ), + ), + // ... 其他整改信息字段 + ], + + + + // 验收信息部分 + if ((6==widget.dangerType.index||1==widget.dangerType.index||0==widget.dangerType.index)&&checkList.isNotEmpty) ...[ + // const Divider(height: 10,color: Colors.grey,), + SizedBox(height: 10,), + Card( + color: Colors.white, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + + Padding( + padding: EdgeInsets.only(top: 10,left: 10,right: 10), + child: + Row( + children: [ + Container(width: 3, height: 15, color: Colors.blue), + const SizedBox(width: 8), + Text( + "验收信息", + style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + ), + + + // const Text('整改信息', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)), + Divider(height: 1), + _buildInfoItem('验收描述', checkList[0]['CHECKDESCR'] ?? ''), + Divider(height: 1), + _buildInfoItem('是否合格',_getText (checkList[0]['STATUS'] )), + Divider(height: 1), + _buildInfoItem('验收部门', checkList[0]['CHECKDEPTNAME'] ?? ''), + Divider(height: 1), + _buildInfoItem('验收部门负责人', checkList[0]['CHECKORNAME'] ?? ''), + Divider(height: 1), + _buildInfoItem('验收时间', checkList[0]['CHECK_TIME'] ?? ''), + Divider(height: 1), + // const Text('整改后图片', style: TextStyle(fontWeight: FontWeight.bold)), + // _buildImageGrid(files2, onTap: (index) => _showImageGallery(files2, index)), + ListItemFactory.createTextImageItem( + text: "验收图片", + imageUrls: files7, + horizontalPadding: 10, + onImageTapped: (index) { + presentOpaque( + SingleImageViewer(imageUrl: ApiService.baseImgPath +files5[index]), + context, + ); + }, + ), + ], + ), + ), + ], + + + // 添加底部安全区域间距 + SizedBox(height: MediaQuery.of(context).padding.bottom + 20), + ], + ), + ), + ), + ); + }, + ), + ); + } + + String _getText(String source) { + if(source.isNotEmpty){ + if(source=="1"){ + return "是"; + }else{ + return "否"; + } + }else{ + return ""; + } + + } + + + String _getSourceText(String? source) { + + switch (source) { + case '1': return '隐患快报'; + case '2': return '隐患排查清单检查'; + case '3': return '标准排查清单检查'; + case '4': return '专项检查'; + case '5': return '安全检查'; + case '6': return 'NFC设备巡检'; + + default: return ''; + } + } + + String _getRectificationType(String? type) { + switch (type) { + case '1': return '立即整改'; + case '2': return '限期整改'; + default: return ''; + } + } +} + diff --git a/lib/pages/home/SafeCheck/DangeCheck/safeCheck_assignment_list.dart b/lib/pages/home/SafeCheck/DangeCheck/safeCheck_assignment_list.dart index 553a20f..b8e9e1d 100644 --- a/lib/pages/home/SafeCheck/DangeCheck/safeCheck_assignment_list.dart +++ b/lib/pages/home/SafeCheck/DangeCheck/safeCheck_assignment_list.dart @@ -1,5 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:qhd_prevention/pages/app/danger_wait_list_page.dart'; +import 'package:qhd_prevention/pages/home/SafeCheck/DangeCheck/safeCheck_acceptance_page.dart'; import 'package:qhd_prevention/pages/home/SafeCheck/DangeCheck/safeCheck_assignment_detail_page.dart'; import 'package:qhd_prevention/pages/my_appbar.dart'; import 'package:qhd_prevention/tools/tools.dart'; @@ -124,7 +126,7 @@ class _SafecheckAssignmentListState extends State { // 验收 void _goAccept(Map item) async { - // await pushPage(SafecheckSignDetail(INSPECTION_ID: item['INSPECTION_ID'] ?? '', INSPECTION_INSPECTOR_ID: item['INSPECTION_INSPECTOR_ID'] ?? '',isEdit: false), context); + await pushPage(SafecheckAcceptancePage(DangerType.waitAcceptance, item), context); _fetchData(); @@ -242,8 +244,7 @@ class _SafecheckAssignmentListState extends State { ), if (item['CREATOR'] == SessionService.instance.loginUserId && (item['HIDDEN_STATUS'] == '4' || item['HIDDEN_STATUS'] == '8') && - (item['HIDDEN_STATUS'] == '4' || item['HIDDEN_STATUS'] == '8') && - FormUtils.hasValue(item, 'FINAL_CHECK')) + (!FormUtils.hasValue(item, 'FINAL_CHECK') || item['FINAL_CHECK'] == '2')) CustomButton( text: '验收', height: 32, diff --git a/lib/pages/home/SafeCheck/DangeCheck/safeCheck_danger_list_page.dart b/lib/pages/home/SafeCheck/DangeCheck/safeCheck_danger_list_page.dart index 1f385ac..54e5130 100644 --- a/lib/pages/home/SafeCheck/DangeCheck/safeCheck_danger_list_page.dart +++ b/lib/pages/home/SafeCheck/DangeCheck/safeCheck_danger_list_page.dart @@ -80,7 +80,7 @@ class _SafecheckDangerListPageState extends State { try { final data = { - 'INSPECTION_STATUS': sindex > 0 ? stepList[sindex]['id'] : '', + 'INSPECTION_STATUS': sindex > 0 ? stepList[sindex]['id'] : '3-7', 'ARCHIVE_USER_ID': SessionService.instance.loginUserId, 'KEYWORDS': searchKeywords, }; @@ -129,10 +129,8 @@ class _SafecheckDangerListPageState extends State { /// 验收 void _goAccept(Map item) async { - // await pushPage(SafecheckSignDetail(INSPECTION_ID: item['INSPECTION_ID'] ?? '', INSPECTION_INSPECTOR_ID: item['INSPECTION_INSPECTOR_ID'] ?? '',isEdit: false), context); + await pushPage(SafecheckAssignmentList(INSPECTION_ID: item['INSPECTION_ID'] ?? ''), context); _fetchData(); - - } Widget _buildFlowStepItem({ diff --git a/lib/pages/home/SafeCheck/Start/safeCheck_start_detail.dart b/lib/pages/home/SafeCheck/Start/safeCheck_start_detail.dart index e4db3f6..b9e12bb 100644 --- a/lib/pages/home/SafeCheck/Start/safeCheck_start_detail.dart +++ b/lib/pages/home/SafeCheck/Start/safeCheck_start_detail.dart @@ -372,7 +372,7 @@ class _SafecheckStartDetailState extends State { } seenIds.add(id); } else { - // 如果某个检查人没选 ID,也视为错误(对应 uniapp 的校验) + // 如果某个检查人没选 ID,也视为错误 LoadingDialogHelper.hide(); ToastUtil.showNormal(context, '有检查人未选择数据,请选择'); return; diff --git a/lib/pages/home/home_page.dart b/lib/pages/home/home_page.dart index 364e79d..0595744 100644 --- a/lib/pages/home/home_page.dart +++ b/lib/pages/home/home_page.dart @@ -6,9 +6,7 @@ import 'package:qhd_prevention/customWidget/custom_alert_dialog.dart'; import 'package:qhd_prevention/customWidget/promise/promise_page.dart'; import 'package:qhd_prevention/customWidget/toast_util.dart'; import 'package:qhd_prevention/pages/home/scan_page.dart'; -import 'package:qhd_prevention/pages/my_appbar.dart'; import 'package:qhd_prevention/services/auth_service.dart'; -import 'package:qhd_prevention/services/location_service.dart'; import 'package:qhd_prevention/tools/coord_convert.dart'; import 'package:qhd_prevention/tools/update/update_dialogs.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -548,19 +546,19 @@ class HomePageState extends State { case 6: //安全承诺 pushPage(SafetyCommitmentPage(), context); break; - case 7: + case 7: // 学习园地 pushPage(StudyGardenPage(), context); break; - case 9: - pushPage(EquipmentInspectionListPage(), context); - break; case 8: // 安全检查 await pushPage(SafecheckTabList(), context); break; - case 10: + case 9: // 设备巡检 + pushPage(EquipmentInspectionListPage(), context); + break; + case 10: // 安全例会 pushPage(SafetyMeetingListPage(), context); break; - case 11: + case 11: // NFC巡检 pushPage(HomeNfcListPage(), context); break; } @@ -740,13 +738,13 @@ class HomePageState extends State { Text( title, style: const TextStyle( - fontSize: 14, + fontSize: 13, fontWeight: FontWeight.bold, ), maxLines: 1, overflow: TextOverflow.ellipsis, ), - const SizedBox(height: 4), + const SizedBox(height: 2), Text( subtitle, style: const TextStyle(fontSize: 13, color: Colors.black), diff --git a/lib/pages/home/tap/tabList/special_wrok/dangerous_options_page.dart b/lib/pages/home/tap/tabList/special_wrok/dangerous_options_page.dart index 6478639..3974392 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dangerous_options_page.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dangerous_options_page.dart @@ -127,27 +127,17 @@ class _DangerousOptionsPageState extends State { for (Map img in signList) { String imgName = 'file${data.key}'; if (data.filePath!.contains('uploadFiles')) { - // final idata = { - // 'filePath': data.filePath, - // 'SIGNER_TIME': data.SIGNER_TIME, - // 'key': data.key, - // }; final idata = { - 'SIGN_PATH': data.filePath, - 'SIGN_TIME': data.SIGNER_TIME, + 'filePath': data.filePath, + 'SIGNER_TIME': data.SIGNER_TIME, 'key': data.key, }; sineImageList.add(idata); } if (imgName == img['key']) { - // final idata = { - // 'filePath': img['filePath'] ?? '', - // 'SIGNER_TIME': data.SIGNER_TIME, - // 'key': data.key, - // }; final idata = { - 'SIGN_PATH': img['filePath'] ?? '', - 'SIGN_TIME': data.SIGNER_TIME, + 'filePath': img['filePath'] ?? '', + 'SIGNER_TIME': data.SIGNER_TIME, 'key': data.key, }; sineImageList.add(idata); diff --git a/lib/pages/home/tap/tabList/special_wrok/dh_work/HotWorkDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/dh_work/HotWorkDetailFormWidget.dart index 638c83e..c45e870 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dh_work/HotWorkDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dh_work/HotWorkDetailFormWidget.dart @@ -208,7 +208,7 @@ class _HotWorkDetailFormWidgetState extends State { ), const Divider(), ItemListWidget.selectableLineTitleTextRightButton( - label: '视频监控:', + label: '作业视频监控:', isClean: widget.isEditable && (pd['WORK_LEVEL'] == '一级' || pd['WORK_LEVEL'] == '二级'), cleanText: '清除监控', isRequired: pd['WORK_LEVEL'] == '特级', diff --git a/lib/pages/home/tap/tabList/special_wrok/dl_work/CutroadDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/dl_work/CutroadDetailFormWidget.dart index 399da6a..29bd47e 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dl_work/CutroadDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dl_work/CutroadDetailFormWidget.dart @@ -266,11 +266,17 @@ class _CutroadDetailFormWidgetState extends State { const Divider(), ], ItemListWidget.singleLineTitleText( - label: '申请部门:', + label: '作业申请单位:', isEditable: false, text: pd['APPLY_DEPARTMENT_NAME'] ?? '', ), const Divider(), + ItemListWidget.singleLineTitleText( + label: '申请人:', + isEditable: false, + text: pd['APPLY_USER_NAME'] ?? '', + ), + const Divider(), ItemListWidget.singleLineTitleText( label: '涉及相关单位(部门):', @@ -288,26 +294,6 @@ class _CutroadDetailFormWidgetState extends State { text: pd['WORK_REASON'] ?? '', ), const Divider(), - - if (!widget.isEditable && FormUtils.hasValue(pd, 'WORK_CONTENT')) ...[ - ItemListWidget.singleLineTitleText( - label: '断路地段示意图相关说明:', - isEditable: false, - text: pd['WORK_CONTENT'] ?? '', - ), - const Divider(), - ], - if (!widget.isEditable && FormUtils.hasValue(pd, 'CONTENT_IMG_PATH')) ...[ - ItemListWidget.twoRowTitleAndImages( - onTapCallBack: (val) { - presentOpaque(SingleImageViewer(imageUrl: val), context); - }, - title: '断路地段示意图:', - imageUrls: pd['CONTENT_IMG_PATH'], - ), - const Divider(), - ], - ItemListWidget.twoRowButtonTitleText( label: '关联其他特殊作业及安全作业票编号', isRequired: false, @@ -333,6 +319,25 @@ class _CutroadDetailFormWidgetState extends State { text: pd['SPECIAL_WORK'] ?? '', ), const Divider(), + + if (!widget.isEditable && FormUtils.hasValue(pd, 'WORK_CONTENT')) ...[ + ItemListWidget.singleLineTitleText( + label: '断路地段示意图(可另附图)及相关说明:', + isEditable: false, + text: pd['WORK_CONTENT'] ?? '', + ), + const Divider(), + ], + if (!widget.isEditable && FormUtils.hasValue(pd, 'CONTENT_IMG_PATH')) ...[ + ItemListWidget.twoRowTitleAndImages( + onTapCallBack: (val) { + presentOpaque(SingleImageViewer(imageUrl: val), context); + }, + title: '断路地段示意图:', + imageUrls: pd['CONTENT_IMG_PATH'], + ), + const Divider(), + ], ItemListWidget.twoRowButtonTitleText( label: '风险辨识结果', isEditable: widget.isEditable, @@ -357,23 +362,6 @@ class _CutroadDetailFormWidgetState extends State { text: pd['RISK_IDENTIFICATION'] ?? '', ), const Divider(), - - ItemListWidget.selectableLineTitleTextRightButton( - label: '视频监控:', - isClean: widget.isEditable, - cleanText: '清除监控', - onTapClean: () { - setState(() { - pd['VIDEONAME'] = ''; - pd['VIDEOMANAGER_ID'] = ''; - }); - }, - isRequired: false, - isEditable: widget.isEditable, - onTap: widget.onChooseVideoManager ?? () {}, - text: pd['VIDEONAME'] ?? '', - ), - const Divider(), ItemListWidget.selectableLineTitleTextRightButton( label: '预计作业开始时间:', isEditable: widget.isEditable, @@ -468,12 +456,29 @@ class _CutroadDetailFormWidgetState extends State { hintText: '', text: pd['LATITUDE_LONGITUDE'] ?? (widget.isEditable ? '' : '无'), ), + const Divider(), + + ItemListWidget.selectableLineTitleTextRightButton( + label: '作业视频监控:', + isClean: widget.isEditable, + cleanText: '清除监控', + onTapClean: () { + setState(() { + pd['VIDEONAME'] = ''; + pd['VIDEOMANAGER_ID'] = ''; + }); + }, + isRequired: false, + isEditable: widget.isEditable, + onTap: widget.onChooseVideoManager ?? () {}, + text: pd['VIDEONAME'] ?? '', + ), if (widget.signs != null && FormUtils.hasValue(widget.signs, 'PROJECT_MANAGER')) Column( children: [ Divider(), - signItemWidget('PROJECT_MANAGER', 'PROJECT_MANAGER_USER_NAME', '作业项目负责人', context), + signItemWidget('PROJECT_MANAGER', 'PROJECT_MANAGER_USER_NAME', '断路示意图负责人签字', context), ], ) ], diff --git a/lib/pages/home/tap/tabList/special_wrok/dl_work/cutroad_list_page.dart b/lib/pages/home/tap/tabList/special_wrok/dl_work/cutroad_list_page.dart index 99ae1e6..d8cd3c6 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dl_work/cutroad_list_page.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dl_work/cutroad_list_page.dart @@ -58,7 +58,6 @@ class _CutroadListPageState extends State { void initState() { super.initState(); _fetchSteps(); - _fetchData(); _scrollController.addListener(_onScroll); } @@ -80,25 +79,31 @@ class _CutroadListPageState extends State { } Future _fetchSteps() async { + try { - final response = await ApiService.searchGetTaskSetps(1); + LoadingDialogHelper.show(); + final response = await ApiService.searchGetTaskSetps(12); setState(() { stepList = [ {'STEP_NAME': '全部', 'STEP_ID': ''}, ...response['list'] ?? [], - {"STEP_NAME": "验收归档", - "STEP_ID": "99"} ]; + _fetchData(); + }); } catch (e) { print('Error fetching steps: $e'); + LoadingDialogHelper.hide(); } } Future _fetchData() async { - if (isLoading) return; - setState(() => isLoading = true); - + int code = 0; + for (Map item in stepList) { + if (item['STEP_NAME'] == widget.flow) { + code = item['STEP_ID'] ?? 0; + } + } try { final data = { 'CREATOR': @@ -107,12 +112,14 @@ class _CutroadListPageState extends State { widget.flow == '气体检测' ? SessionService.instance.loginUserId : '', 'STEP_NAME': (widget.flow == '提交申请' || widget.flow == '气体检测') ? '' : widget.flow, + 'STEP_CODE': code, 'STEP_ID': sindex > 0 ? stepList[sindex]['STEP_ID'] : '', 'KEYWORDS': searchKeywords, 'WORK_STATE': '0', }; final url = '/app/cutroad/list?showCount=-1¤tPage=$currentPage'; final response = await ApiService.specialCheckListWorkCount(data, url); + LoadingDialogHelper.hide(); setState(() { if (currentPage == 1) { @@ -178,7 +185,7 @@ class _CutroadListPageState extends State { case '提交申请': await pushPage(CutroadApplyDetail(CUTROAD_ID: item['CUTROAD_ID'], flow: widget.flow), context); break; - case '作业项目负责人': + case '断路示意图负责人': await pushPage(CutroadZyrDetail(CUTROAD_ID: item['CUTROAD_ID'], flow: widget.flow), context); break; case '设置安全措施确认人': @@ -225,7 +232,6 @@ class _CutroadListPageState extends State { } setState(() { _fetchSteps(); - _fetchData(); }); // Navigator.pushNamed( // context, @@ -329,7 +335,7 @@ class _CutroadListPageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text("申请人: ${item['APPLY_USER_NAME'] ?? ''}"), - Expanded(child: Text("作业项目负责人: ${item['PROJECT_MANAGER_USER_NAME'] ?? ''}",softWrap: true, + Expanded(child: Text("断路示意图负责人: ${item['PROJECT_MANAGER_USER_NAME'] ?? ''}",softWrap: true, textAlign: TextAlign.right, maxLines: null, // 不限制行数 overflow: TextOverflow.visible,) diff --git a/lib/pages/home/tap/tabList/special_wrok/dl_work/dl_work_detai/cutroad_apply_detail.dart b/lib/pages/home/tap/tabList/special_wrok/dl_work/dl_work_detai/cutroad_apply_detail.dart index 29ca4e7..3170cca 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dl_work/dl_work_detai/cutroad_apply_detail.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dl_work/dl_work_detai/cutroad_apply_detail.dart @@ -21,13 +21,13 @@ import 'package:qhd_prevention/pages/home/tap/workArea_picker.dart'; enum EditUserType { - PROJECT_MANAGER('作业人项目负责单位', '作业人项目负责人', true), + PROJECT_MANAGER('断路示意图负责单位', '断路示意图负责人', true), GUARDIAN('监护人单位', '监护人', true), CONFESS('安全交底人单位', '安全交底人', true), ACCEPT_CONFESS('接受交底人单位', '接受交底人', true), CONFIRM('作业负责人单位', '作业负责人', true), LEADER('所在单位', '所在单位负责人', true), - AUDIT('安全管理部门', '安全管理部门负责人', true), + AUDIT('消防、安全管理部门', '安全管理部门负责人', true), APPROVE('审批部门', '审批部门负责人', true), WORK_START('作业开始负责人单位', '作业开始负责人', true), WORK_END('作业结束负责人单位', '作业结束负责人', true), @@ -364,6 +364,7 @@ class _CutroadApplyDetailState extends State { pd['APPLY_USER_ID'] = SessionService.instance.loginUserId; pd['APPLY_USER_NAME'] = SessionService.instance.username; pd['USER_ID'] = SessionService.instance.loginUserId; + pd['SPECIAL_WORK'] = FormUtils.hasValue(pd, 'SPECIAL_WORK') ? pd['SPECIAL_WORK'] : '无'; } LoadingDialogHelper.show(); @@ -390,7 +391,6 @@ class _CutroadApplyDetailState extends State { } } - /// ---------------------------- 新增 -------------------------------- /// 视频监控摄像头 Future _chooseVideoManager() async { diff --git a/lib/pages/home/tap/tabList/special_wrok/dl_work/zyr_work_detail/cutroad_zyr_detail.dart b/lib/pages/home/tap/tabList/special_wrok/dl_work/zyr_work_detail/cutroad_zyr_detail.dart index d8f901b..cfa2a76 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dl_work/zyr_work_detail/cutroad_zyr_detail.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dl_work/zyr_work_detail/cutroad_zyr_detail.dart @@ -22,7 +22,7 @@ class ImageData { ImageData({required this.localPath, required this.serverPath}); } -/// 作业项目负责人意见 +/// 断路示意图负责人意见 class CutroadZyrDetail extends StatefulWidget { const CutroadZyrDetail({ super.key, @@ -294,7 +294,7 @@ setState(() { @override Widget build(BuildContext context) { return Scaffold( - appBar: MyAppbar(title: '作业项目负责人意见'), + appBar: MyAppbar(title: '断路示意图负责人意见'), body: SafeArea( child: SingleChildScrollView( padding: EdgeInsets.all(12), @@ -340,7 +340,7 @@ setState(() { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - ListItemFactory.headerTitle('作业项目负责人'), + ListItemFactory.headerTitle('断路示意图负责人签字',isRequired: true), CustomButton( text: '新增手写签字', height: 36, diff --git a/lib/pages/home/tap/tabList/special_wrok/dt_work/BreakgroundDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/dt_work/BreakgroundDetailFormWidget.dart index bc6b221..34f90d2 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dt_work/BreakgroundDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dt_work/BreakgroundDetailFormWidget.dart @@ -406,7 +406,7 @@ class _BreakgroundDetailFormWidgetState const Divider(), ItemListWidget.selectableLineTitleTextRightButton( - label: '视频监控:', + label: '作业视频监控:', isClean: widget.isEditable, cleanText: '清除监控', onTapClean: () { diff --git a/lib/pages/home/tap/tabList/special_wrok/dt_work/breakground_list_page.dart b/lib/pages/home/tap/tabList/special_wrok/dt_work/breakground_list_page.dart index f85f429..00867c4 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dt_work/breakground_list_page.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dt_work/breakground_list_page.dart @@ -82,12 +82,11 @@ class _BreakgroundListPageState extends State { Future _fetchSteps() async { try { - final response = await ApiService.searchGetTaskSetps(1); + final response = await ApiService.searchGetTaskSetps(9); setState(() { stepList = [ {'STEP_NAME': '全部', 'STEP_ID': ''}, ...response['list'] ?? [], - {"STEP_NAME": "验收归档", "STEP_ID": "99"}, ]; }); } catch (e) { diff --git a/lib/pages/home/tap/tabList/special_wrok/dz_work/HoistworkDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/dz_work/HoistworkDetailFormWidget.dart index 0bd2c3e..0fb3c36 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dz_work/HoistworkDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dz_work/HoistworkDetailFormWidget.dart @@ -387,7 +387,7 @@ class _HoistworkDetailFormWidgetState extends State { ), const Divider(), ItemListWidget.selectableLineTitleTextRightButton( - label: '视频监控:', + label: '作业视频监控:', isClean: widget.isEditable, cleanText: '清除监控', onTapClean: () { diff --git a/lib/pages/home/tap/tabList/special_wrok/dz_work/hoistwork_list_page.dart b/lib/pages/home/tap/tabList/special_wrok/dz_work/hoistwork_list_page.dart index 23e9dc5..85b4e17 100644 --- a/lib/pages/home/tap/tabList/special_wrok/dz_work/hoistwork_list_page.dart +++ b/lib/pages/home/tap/tabList/special_wrok/dz_work/hoistwork_list_page.dart @@ -84,13 +84,12 @@ class _HoistworkListPageState extends State { Future _fetchSteps() async { try { - final response = await ApiService.searchGetTaskSetps(1); + final response = await ApiService.searchGetTaskSetps(10); setState(() { stepList = [ {'STEP_NAME': '全部', 'STEP_ID': ''}, ...response['list'] ?? [], - {"STEP_NAME": "验收归档", - "STEP_ID": "99"} + ]; }); } catch (e) { diff --git a/lib/pages/home/tap/tabList/special_wrok/gc_work/HighWorkDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/gc_work/HighWorkDetailFormWidget.dart index 154578e..51e9f20 100644 --- a/lib/pages/home/tap/tabList/special_wrok/gc_work/HighWorkDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/gc_work/HighWorkDetailFormWidget.dart @@ -176,7 +176,7 @@ class _HighWorkDetailFormWidgetState extends State { ), const Divider(), ItemListWidget.selectableLineTitleTextRightButton( - label: '视频监控:', + label: '作业视频监控:', isClean: widget.isEditable, cleanText: '清除监控', onTapClean: () { diff --git a/lib/pages/home/tap/tabList/special_wrok/gc_work/highwork_list_page.dart b/lib/pages/home/tap/tabList/special_wrok/gc_work/highwork_list_page.dart index 803c500..8df6539 100644 --- a/lib/pages/home/tap/tabList/special_wrok/gc_work/highwork_list_page.dart +++ b/lib/pages/home/tap/tabList/special_wrok/gc_work/highwork_list_page.dart @@ -82,7 +82,7 @@ class _HighworkListPageState extends State { Future _fetchSteps() async { try { - final response = await ApiService.searchGetTaskSetps(1); + final response = await ApiService.searchGetTaskSetps(5); setState(() { stepList = [ {'STEP_NAME': '全部', 'STEP_ID': ''}, diff --git a/lib/pages/home/tap/tabList/special_wrok/lsyd_work/ElectricityDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/lsyd_work/ElectricityDetailFormWidget.dart index e8fe049..f74db75 100644 --- a/lib/pages/home/tap/tabList/special_wrok/lsyd_work/ElectricityDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/lsyd_work/ElectricityDetailFormWidget.dart @@ -244,7 +244,7 @@ class _ElectricityDetailFormWidgetState extends State { Future _fetchSteps() async { try { - final response = await ApiService.searchGetTaskSetps(1); + final response = await ApiService.searchGetTaskSetps(8); setState(() { stepList = [ {'STEP_NAME': '全部', 'STEP_ID': ''}, diff --git a/lib/pages/home/tap/tabList/special_wrok/mbcd_work/BlindboardDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/mbcd_work/BlindboardDetailFormWidget.dart index a4c6584..8115ee7 100644 --- a/lib/pages/home/tap/tabList/special_wrok/mbcd_work/BlindboardDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/mbcd_work/BlindboardDetailFormWidget.dart @@ -354,7 +354,7 @@ class _BlindboardDetailFormWidgetState ), const Divider(), ItemListWidget.selectableLineTitleTextRightButton( - label: '视频监控:', + label: '作业视频监控:', isClean: widget.isEditable, cleanText: '清除监控', onTapClean: () { diff --git a/lib/pages/home/tap/tabList/special_wrok/mbcd_work/blindboard_list_page.dart b/lib/pages/home/tap/tabList/special_wrok/mbcd_work/blindboard_list_page.dart index 8dc7f90..4033a41 100644 --- a/lib/pages/home/tap/tabList/special_wrok/mbcd_work/blindboard_list_page.dart +++ b/lib/pages/home/tap/tabList/special_wrok/mbcd_work/blindboard_list_page.dart @@ -82,13 +82,11 @@ class _BlindboardListPageState extends State { Future _fetchSteps() async { try { - final response = await ApiService.searchGetTaskSetps(1); + final response = await ApiService.searchGetTaskSetps(13); setState(() { stepList = [ {'STEP_NAME': '全部', 'STEP_ID': ''}, ...response['list'] ?? [], - {"STEP_NAME": "验收归档", - "STEP_ID": "99"} ]; }); } catch (e) { diff --git a/lib/pages/home/tap/tabList/special_wrok/sxkj_work/SpaceWorkDetailFormWidget.dart b/lib/pages/home/tap/tabList/special_wrok/sxkj_work/SpaceWorkDetailFormWidget.dart index 2797560..27d1108 100644 --- a/lib/pages/home/tap/tabList/special_wrok/sxkj_work/SpaceWorkDetailFormWidget.dart +++ b/lib/pages/home/tap/tabList/special_wrok/sxkj_work/SpaceWorkDetailFormWidget.dart @@ -231,7 +231,7 @@ class _SpaceWorkDetailFormWidgetState extends State { ), const Divider(), ItemListWidget.selectableLineTitleTextRightButton( - label: '视频监控:', + label: '作业视频监控:', isClean: widget.isEditable, cleanText: '清除监控', onTapClean: () { diff --git a/lib/pages/home/tap/tabList/special_wrok/sxkj_work/tzgl_zytz_work_detail/sxkj_tzgl_list_page.dart b/lib/pages/home/tap/tabList/special_wrok/sxkj_work/tzgl_zytz_work_detail/sxkj_tzgl_list_page.dart index b0d1dd3..5e7edcc 100644 --- a/lib/pages/home/tap/tabList/special_wrok/sxkj_work/tzgl_zytz_work_detail/sxkj_tzgl_list_page.dart +++ b/lib/pages/home/tap/tabList/special_wrok/sxkj_work/tzgl_zytz_work_detail/sxkj_tzgl_list_page.dart @@ -26,7 +26,6 @@ class _SxkjTzglListPageState extends State { bool isLoading = false; final TextEditingController _searchController = TextEditingController(); - List> stepList = []; int sindex = 0; String searchKeywords = ''; @@ -38,7 +37,6 @@ class _SxkjTzglListPageState extends State { @override void initState() { super.initState(); - _fetchSteps(); _fetchData(); _scrollController.addListener(_onScroll); } @@ -60,20 +58,6 @@ class _SxkjTzglListPageState extends State { } } - Future _fetchSteps() async { - try { - final response = await ApiService.searchGetTaskSetps(1); - setState(() { - stepList = [ - {'STEP_NAME': '全部', 'STEP_ID': ''}, - ...response['list'] ?? [], - ]; - }); - } catch (e) { - print('Error fetching steps: $e'); - } - } - Future _fetchData() async { if (isLoading) return; setState(() => isLoading = true); @@ -159,44 +143,6 @@ class _SxkjTzglListPageState extends State { ); } - // 显示底部选择器 - Future _showStepPicker() async { - if (stepList.isEmpty) { - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text('正在加载步骤数据,请稍后...'))); - await _fetchSteps(); - if (stepList.isEmpty) { - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text('无法加载步骤数据'))); - return; - } - } - - // 创建选项列表 - final options = stepList.map((e) => e['STEP_NAME'] as String).toList(); - - // 显示底部选择器 - final choice = await BottomPicker.show( - context, - items: options, - itemBuilder: (item) => Text(item, textAlign: TextAlign.center), - initialIndex: sindex, - ); - - if (choice != null) { - // 找到选择的索引 - final newIndex = options.indexOf(choice); - if (newIndex != -1) { - setState(() { - sindex = newIndex; - }); - _search(); - } - } - } - Widget _buildListContent() { if (isLoading && list.isEmpty) { // 初始加载时显示居中的加载指示器 diff --git a/lib/pages/home/tap/tabList/work_tab_dh_list.dart b/lib/pages/home/tap/tabList/work_tab_dh_list.dart index 968ba02..119948e 100644 --- a/lib/pages/home/tap/tabList/work_tab_dh_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_dh_list.dart @@ -23,7 +23,9 @@ class _WorkTabDhListState extends State { _getData(); } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('hotwork'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; buttonInfos = [ diff --git a/lib/pages/home/tap/tabList/work_tab_dl_list.dart b/lib/pages/home/tap/tabList/work_tab_dl_list.dart index e5497c1..4a03a75 100644 --- a/lib/pages/home/tap/tabList/work_tab_dl_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_dl_list.dart @@ -24,7 +24,9 @@ class _WorkTabDlListState extends State { _getData(); } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('cutroad'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; buttonInfos = [ @@ -35,7 +37,7 @@ class _WorkTabDlListState extends State { }, { "icon": "assets/icon-apps/icon-yxkj-2.png", - "title": "作业项目负责人\n意见", + "title": "断路示意图\n负责人意见", "unreadCount": eight_work_count['PROJECT_MANAGER'] ?? '0', }, { @@ -109,7 +111,7 @@ class _WorkTabDlListState extends State { String title = ''; switch (index) { case 0: title = '提交申请'; break; - case 1: title = '作业项目负责人'; break; + case 1: title = '断路示意图负责人'; break; case 2: title = '设置安全措施确认人'; break; case 3: title = '安全措施确认'; break; case 4: title = '监护人签字'; break; diff --git a/lib/pages/home/tap/tabList/work_tab_dt_list.dart b/lib/pages/home/tap/tabList/work_tab_dt_list.dart index 67285d8..0f55711 100644 --- a/lib/pages/home/tap/tabList/work_tab_dt_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_dt_list.dart @@ -24,7 +24,9 @@ class _WorkTabDtListState extends State { _getData(); } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('breakground'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; buttonInfos = [ diff --git a/lib/pages/home/tap/tabList/work_tab_dz_list.dart b/lib/pages/home/tap/tabList/work_tab_dz_list.dart index 594eaa6..3db4432 100644 --- a/lib/pages/home/tap/tabList/work_tab_dz_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_dz_list.dart @@ -24,7 +24,9 @@ class _WorkTabDzListState extends State { _getData(); } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('hoisting'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; buttonInfos = [ diff --git a/lib/pages/home/tap/tabList/work_tab_gc_list.dart b/lib/pages/home/tap/tabList/work_tab_gc_list.dart index a7152ff..3f24c96 100644 --- a/lib/pages/home/tap/tabList/work_tab_gc_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_gc_list.dart @@ -24,7 +24,9 @@ class _WorkTabGcListState extends State { _getData(); } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('highwork'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; buttonInfos = [ diff --git a/lib/pages/home/tap/tabList/work_tab_lsyd_list.dart b/lib/pages/home/tap/tabList/work_tab_lsyd_list.dart index 9eba006..a47370a 100644 --- a/lib/pages/home/tap/tabList/work_tab_lsyd_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_lsyd_list.dart @@ -24,7 +24,9 @@ class _WorkTabLsydListState extends State { _getData(); } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('electricity'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; buttonInfos = [ diff --git a/lib/pages/home/tap/tabList/work_tab_mbcd_list.dart b/lib/pages/home/tap/tabList/work_tab_mbcd_list.dart index 5e7cc5c..cfd5b76 100644 --- a/lib/pages/home/tap/tabList/work_tab_mbcd_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_mbcd_list.dart @@ -24,7 +24,9 @@ class _WorkTabMbcdListState extends State { _getData(); } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('blindboard'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; buttonInfos = [ diff --git a/lib/pages/home/tap/tabList/work_tab_sxkj_list.dart b/lib/pages/home/tap/tabList/work_tab_sxkj_list.dart index 7cd00a5..28bf69d 100644 --- a/lib/pages/home/tap/tabList/work_tab_sxkj_list.dart +++ b/lib/pages/home/tap/tabList/work_tab_sxkj_list.dart @@ -27,7 +27,9 @@ class _WorkTabSxkjListState extends State { } Future _getData() async { + LoadingDialogHelper.show(); final data = await ApiService.specialcheckWorkCount('confinedspace'); + LoadingDialogHelper.hide(); setState(() { final eight_work_count = data['count'] ?? {}; topButtonInfos = [ diff --git a/pubspec.yaml b/pubspec.yaml index dff7784..c4738e0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 2.1.2+5 +version: 2.1.2+6 environment: sdk: ^3.7.0