diff --git a/lib/pages/app/checking_information_one_page.dart b/lib/pages/app/checking_information_one_page.dart index f272a57..d61f12e 100644 --- a/lib/pages/app/checking_information_one_page.dart +++ b/lib/pages/app/checking_information_one_page.dart @@ -578,7 +578,7 @@ class _CheckingInformationOnePageState extends State } void _removeOtherHidden(int index) { - if (index == 0) return; // 防止删除第一行 + // if (index == 0) return; // 防止删除第一行 setState(() { otherHidden.removeAt(index); }); diff --git a/lib/pages/home/work/custom_driver_drawer.dart b/lib/pages/home/work/custom_driver_drawer.dart index 6a76c32..4d72544 100644 --- a/lib/pages/home/work/custom_driver_drawer.dart +++ b/lib/pages/home/work/custom_driver_drawer.dart @@ -25,9 +25,10 @@ class CustomDriverDrawer extends StatefulWidget { class _CustomDriverDrawerState extends State { // 管控部门 id - String? riskId; - // 风险点(单元)id String? dept; + // 风险点(单元)id + String? riskId; + //风险等级 int _levelOption = -1; @@ -178,6 +179,10 @@ class _CustomDriverDrawerState extends State { "风险点(单元)", display: itemNameTwo ?? '请选择', onTap: () { + if(dept==null){ + ToastUtil.showNormal(context, "请选择管控部门"); + return; + } showCategoryPickerTwo("2"); } ), diff --git a/lib/pages/mine/mine_duty_detail.dart b/lib/pages/mine/mine_duty_detail.dart index 2581011..f60824b 100644 --- a/lib/pages/mine/mine_duty_detail.dart +++ b/lib/pages/mine/mine_duty_detail.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.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'; ///岗位详情 class MineDutyDetailPage extends StatefulWidget { const MineDutyDetailPage(this.item, {super.key}); + final item; @override @@ -13,63 +15,47 @@ class MineDutyDetailPage extends StatefulWidget { } class _MineDutyDetailPage extends State { - final TextEditingController _reasonController = TextEditingController(); - - - @override Widget build(BuildContext context) { return Scaffold( backgroundColor: const Color(0xFFF5F7FA), - appBar:MyAppbar(title: "离岗详情"), + appBar: MyAppbar(title: "离岗详情"), body: SingleChildScrollView( padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - - // 申请人信息 - _buildInfoRow("申请人", widget.item["USER_NAME"]), - const SizedBox(height: 24), + _buildInfoRow("申请人:", widget.item["USER_NAME"]), + const SizedBox(height: 10), // 离岗开始时间 _buildDateField( - label: "离岗开始时间", + label: "离岗开始时间:", date: widget.item["STARTTIME"], - onTap: () { - - } - // () => _selectDate(context, true), + onTap: () {}, + // () => _selectDate(context, true), ), - const SizedBox(height: 16), + const SizedBox(height: 10), // 离岗结束时间 _buildDateField( - label: "离岗结束时间", + label: "离岗结束时间:", date: widget.item["ENDTIME"], - onTap: () { - - }, - // () => _selectDate(context, false), + onTap: () {}, + // () => _selectDate(context, false), ), - const SizedBox(height: 24), + const SizedBox(height: 10), - // 离岗原因标题 - const Text( - "离岗原因", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.w500), - ), - const SizedBox(height: 8), - - // 原因输入框 Container( - width: double.infinity, - padding: const EdgeInsets.all(16), + padding: const EdgeInsets.symmetric( + horizontal: 5, + vertical: 12, + ), decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(12), @@ -82,26 +68,107 @@ class _MineDutyDetailPage extends State { ), ], ), - child: Text( - widget.item["DESCR"], - style: TextStyle(color: Colors.black), - // controller: _reasonController, - // maxLines: 5, - // decoration: const InputDecoration( - // hintText: "请输入离岗原因", - // hintStyle: TextStyle(color: Color(0xFF9E9E9E)), - // border: InputBorder.none, - // ), + child: ItemListWidget.singleLineTitleText( + label: "离岗原因:", + isEditable: false, + text:widget.item["DESCR"] + ), ), + // 离岗原因标题 + // const Text( + // "离岗原因", + // style: TextStyle(fontSize: 16, fontWeight: FontWeight.w500), + // ), + // const SizedBox(height: 8), + // + // // 原因输入框 + // Container( + // width: double.infinity, + // padding: const EdgeInsets.all(16), + // decoration: BoxDecoration( + // color: Colors.white, + // borderRadius: BorderRadius.circular(12), + // boxShadow: [ + // BoxShadow( + // color: Colors.grey.withOpacity(0.1), + // spreadRadius: 1, + // blurRadius: 6, + // offset: const Offset(0, 2), + // ), + // ], + // ), + // child: Text( + // widget.item["DESCR"], + // style: TextStyle(color: Colors.black), + // // controller: _reasonController, + // // maxLines: 5, + // // decoration: const InputDecoration( + // // hintText: "请输入离岗原因", + // // hintStyle: TextStyle(color: Color(0xFF9E9E9E)), + // // border: InputBorder.none, + // // ), + // ), + // ), + const SizedBox(height: 10), - const SizedBox(height: 24), - - + _buildInfoRow("审批状态:", _getTypeReturn(widget.item)), + const SizedBox(height: 10), // 申请人信息 - _buildInfoRow("审批状态", _getTypeReturn(widget.item)), + if (widget.item["REVIEW_STATUS"] != '2') + Container( + padding: const EdgeInsets.symmetric( + horizontal: 5, + vertical: 12, + ), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.1), + spreadRadius: 1, + blurRadius: 6, + offset: const Offset(0, 2), + ), + ], + ), + child: ItemListWidget.singleLineTitleText( + label: '审批人:', + isEditable: false, + text: + "${FormUtils.hasValue(widget.item, "REVIEW_USER_NAME") ? widget.item["REVIEW_USER_NAME"] : "unfind"}[${FormUtils.hasValue(widget.item, "REVIEW_USER_DEPARTMENTNAME") ? widget.item["REVIEW_USER_DEPARTMENTNAME"] : "unfind"}]", + ), + ), + const SizedBox(height: 10), + // 审批意见' : '取消原因 + if (widget.item["REVIEW_STATUS"] == '1' ||widget.item["REVIEW_STATUS"] == '-1' ) + Container( + padding: const EdgeInsets.symmetric( + horizontal: 5, + vertical: 12, + ), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.1), + spreadRadius: 1, + blurRadius: 6, + offset: const Offset(0, 2), + ), + ], + ), + child: ItemListWidget.singleLineTitleText( + label: widget.item["ISDELETE"] == '0' ? '审批意见:' : '取消原因:', + isEditable: false, + text:widget.item["REVIEW_DESC"] + + ), + ), const SizedBox(height: 40), @@ -119,11 +186,10 @@ class _MineDutyDetailPage extends State { borderRadius: BorderRadius.circular(12), ), ), - child: Text( + child: Text( "返回", style: TextStyle(fontSize: 16, color: Colors.white), ), - ), ), ], @@ -156,17 +222,11 @@ class _MineDutyDetailPage extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text( - label, - style: const TextStyle(fontSize: 16), - ), + Text(label, style: const TextStyle(fontSize: 16)), Text( // date != null ? DateFormat('yyyy-MM-dd').format(date) : "请选择日期", - date! , - style: TextStyle( - fontSize: 16, - color: Colors.black , - ), + date!, + style: TextStyle(fontSize: 16, color: Colors.black), ), ], ), @@ -192,10 +252,7 @@ class _MineDutyDetailPage extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text( - title, - style: const TextStyle(fontSize: 16), - ), + Text(title, style: const TextStyle(fontSize: 16)), Text( value, style: const TextStyle(fontSize: 16, fontWeight: FontWeight.w500), @@ -206,27 +263,26 @@ class _MineDutyDetailPage extends State { } String _getTypeReturn(final item) { - String type=item['REVIEW_STATUS']; - if("0"==type){ + String type = item['REVIEW_STATUS']; + if ("0" == type) { return "待审批"; - }else if("1"==type){ + } else if ("1" == type) { return "审批通过"; - }else if("2"==type){ + } else if ("2" == type) { return "无需审批"; - }else if("-1"==type){ - String type2=item['ISDELETE']; - if("1"==type2){ - if(item['CREATOR']==item['OPERATOR']){ + } else if ("-1" == type) { + String type2 = item['ISDELETE']; + if ("1" == type2) { + if (item['CREATOR'] == item['OPERATOR']) { return "申请人取消"; - }else{ + } else { return "审批人取消"; } - }else{ + } else { return "审批打回"; } - }else{ + } else { return "审批错误"; } } - -} \ No newline at end of file +} diff --git a/lib/pages/notif/notif_detail_page.dart b/lib/pages/notif/notif_detail_page.dart index 5dda722..b066a61 100644 --- a/lib/pages/notif/notif_detail_page.dart +++ b/lib/pages/notif/notif_detail_page.dart @@ -81,33 +81,42 @@ class _NotifDetailPageState extends State { appBar: MyAppbar(title: "通知详情"), body: SafeArea( child: Container( - width: double.infinity, // 铺满父容器 - color: Colors.white, - padding: const EdgeInsets.all(15), - child: SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, // 左对齐 - children: [ - Padding( - padding: EdgeInsets.only(left: 10,right: 10), - child: Text(title,style: TextStyle(color: Colors.black,fontSize: 16,fontWeight: FontWeight.bold),), + // color: Colors.white, + child: Padding( + padding: EdgeInsets.all(10), + child: Card( + child: Container( + width: double.infinity, // 铺满父容器 + color: Colors.white, + padding: const EdgeInsets.all(15), + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, // 左对齐 + children: [ + Padding( + padding: EdgeInsets.only(left: 10,right: 10), + child: Text(title,style: TextStyle(color: Colors.black,fontSize: 16,fontWeight: FontWeight.bold),), + ), + + SizedBox(height: 8), + Padding( + padding: EdgeInsets.only(left: 10,right: 10), + child: Text(time,), + ), + SizedBox(height: 8), + Html( + data: text, + ), + // Text(item['CONTENT'],), + ], + ), ), - SizedBox(height: 8), - Padding( - padding: EdgeInsets.only(left: 10,right: 10), - child: Text(time,), - ), - SizedBox(height: 8), - Html( - data: text, - ), - // Text(item['CONTENT'],), - ], + ), ), - ), + ), ), ), );