2025.8.27 解决bug后上传
|  | @ -36,27 +36,27 @@ android { | ||||||
|         versionName = flutter.versionName |         versionName = flutter.versionName | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // ✅ 添加 release 签名配置 | //    // ✅ 添加 release 签名配置 | ||||||
|     signingConfigs { | //    signingConfigs { | ||||||
|         create("release") { | //        create("release") { | ||||||
|             storeFile = file(keystoreProperties["storeFile"] as String) | //            storeFile = file(keystoreProperties["storeFile"] as String) | ||||||
|             storePassword = keystoreProperties["storePassword"] as String | //            storePassword = keystoreProperties["storePassword"] as String | ||||||
|             keyAlias = keystoreProperties["keyAlias"] as String | //            keyAlias = keystoreProperties["keyAlias"] as String | ||||||
|             keyPassword = keystoreProperties["keyPassword"] as String | //            keyPassword = keystoreProperties["keyPassword"] as String | ||||||
|         } | //        } | ||||||
|     } | //    } | ||||||
| 
 | // | ||||||
|     buildTypes { | //    buildTypes { | ||||||
|         release { | //        release { | ||||||
|             // ✅ 替换成 release 签名 | //            // ✅ 替换成 release 签名 | ||||||
|             signingConfig = signingConfigs.getByName("release") | //            signingConfig = signingConfigs.getByName("release") | ||||||
|             isMinifyEnabled = false | //            isMinifyEnabled = false | ||||||
|             isShrinkResources = false | //            isShrinkResources = false | ||||||
|         } | //        } | ||||||
|         debug { | //        debug { | ||||||
|             signingConfig = signingConfigs.getByName("debug") | //            signingConfig = signingConfigs.getByName("debug") | ||||||
|         } | //        } | ||||||
|     } | //    } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| flutter { | flutter { | ||||||
|  |  | ||||||
| After Width: | Height: | Size: 345 KiB | 
|  | @ -0,0 +1,19 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <resources> | ||||||
|  |     <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on --> | ||||||
|  |     <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> | ||||||
|  |         <item name="android:forceDarkAllowed">false</item> | ||||||
|  |         <item name="android:windowFullscreen">false</item> | ||||||
|  |         <item name="android:windowDrawsSystemBarBackgrounds">false</item> | ||||||
|  |         <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> | ||||||
|  |     </style> | ||||||
|  |     <!-- Theme applied to the Android Window as soon as the process has started. | ||||||
|  |          This theme determines the color of the Android Window while your | ||||||
|  |          Flutter UI initializes, as well as behind your Flutter UI while its | ||||||
|  |          running. | ||||||
|  |           | ||||||
|  |          This Theme is only used starting with V2 of Flutter's Android embedding. --> | ||||||
|  |     <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar"> | ||||||
|  |         <item name="android:windowBackground">?android:colorBackground</item> | ||||||
|  |     </style> | ||||||
|  | </resources> | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <resources> | ||||||
|  |     <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off --> | ||||||
|  |     <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar"> | ||||||
|  |         <item name="android:forceDarkAllowed">false</item> | ||||||
|  |         <item name="android:windowFullscreen">false</item> | ||||||
|  |         <item name="android:windowDrawsSystemBarBackgrounds">false</item> | ||||||
|  |         <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> | ||||||
|  |     </style> | ||||||
|  |     <!-- Theme applied to the Android Window as soon as the process has started. | ||||||
|  |          This theme determines the color of the Android Window while your | ||||||
|  |          Flutter UI initializes, as well as behind your Flutter UI while its | ||||||
|  |          running. | ||||||
|  |           | ||||||
|  |          This Theme is only used starting with V2 of Flutter's Android embedding. --> | ||||||
|  |     <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar"> | ||||||
|  |         <item name="android:windowBackground">?android:colorBackground</item> | ||||||
|  |     </style> | ||||||
|  | </resources> | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <resources> | ||||||
|  |   <string name="appName">智守安全</string> | ||||||
|  | </resources> | ||||||
| After Width: | Height: | Size: 2.4 KiB | 
| After Width: | Height: | Size: 5.7 KiB | 
| After Width: | Height: | Size: 2.8 KiB | 
| After Width: | Height: | Size: 6.6 KiB | 
| After Width: | Height: | Size: 3.7 KiB | 
| After Width: | Height: | Size: 8.9 KiB | 
|  | @ -0,0 +1,21 @@ | ||||||
|  | { | ||||||
|  |   "images" : [ | ||||||
|  |     { | ||||||
|  |       "filename" : "background.png", | ||||||
|  |       "idiom" : "universal", | ||||||
|  |       "scale" : "1x" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "idiom" : "universal", | ||||||
|  |       "scale" : "2x" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "idiom" : "universal", | ||||||
|  |       "scale" : "3x" | ||||||
|  |     } | ||||||
|  |   ], | ||||||
|  |   "info" : { | ||||||
|  |     "author" : "xcode", | ||||||
|  |     "version" : 1 | ||||||
|  |   } | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 345 KiB | 
|  | @ -0,0 +1 @@ | ||||||
|  | "CFBundleDisplayName" = "智守安全"; | ||||||
|  | @ -29,6 +29,7 @@ class BottomPickerTwo { | ||||||
|     int initialIndex = 0, |     int initialIndex = 0, | ||||||
|     double itemExtent = 40.0, |     double itemExtent = 40.0, | ||||||
|     double height = 250, |     double height = 250, | ||||||
|  |     double desiredSpacing = 16.0, | ||||||
|   }) { |   }) { | ||||||
|     // 当前选中项 |     // 当前选中项 | ||||||
|     dynamic selected = items[initialIndex]; |     dynamic selected = items[initialIndex]; | ||||||
|  | @ -46,7 +47,10 @@ class BottomPickerTwo { | ||||||
|             children: [ |             children: [ | ||||||
|               // 按钮行 |               // 按钮行 | ||||||
|               Padding( |               Padding( | ||||||
|                 padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), |                 padding: const EdgeInsets.symmetric( | ||||||
|  |                   horizontal: 16, | ||||||
|  |                   vertical: 8, | ||||||
|  |                 ), | ||||||
|                 child: Row( |                 child: Row( | ||||||
|                   mainAxisAlignment: MainAxisAlignment.spaceBetween, |                   mainAxisAlignment: MainAxisAlignment.spaceBetween, | ||||||
|                   children: [ |                   children: [ | ||||||
|  | @ -65,13 +69,39 @@ class BottomPickerTwo { | ||||||
|               // 滚动选择器 |               // 滚动选择器 | ||||||
|               Expanded( |               Expanded( | ||||||
|                 child: CupertinoPicker( |                 child: CupertinoPicker( | ||||||
|                   scrollController: |                   scrollController: FixedExtentScrollController( | ||||||
|                   FixedExtentScrollController(initialItem: initialIndex), |                     initialItem: initialIndex, | ||||||
|                   itemExtent: 30, |                   ), | ||||||
|  |                   itemExtent: 35, | ||||||
|                   onSelectedItemChanged: (index) { |                   onSelectedItemChanged: (index) { | ||||||
|                     selected = items[index]; |                     selected = items[index]; | ||||||
|                   }, |                   }, | ||||||
|                   children: items.map(itemBuilder).toList(), |                   // children: items.map(itemBuilder).toList(), | ||||||
|  |                   children: List<Widget>.generate(items.length, (int index) { | ||||||
|  |                     return Padding( | ||||||
|  |                       // 通过Padding调整项间距 | ||||||
|  |                       padding: EdgeInsets.symmetric( | ||||||
|  |                         vertical: desiredSpacing / 2, | ||||||
|  |                       ), | ||||||
|  |                       child: Center( | ||||||
|  |                         child: Text( | ||||||
|  |                           // '选项 $index', | ||||||
|  |                           items[index]["NAME"], | ||||||
|  |                           style: TextStyle( | ||||||
|  |                             fontSize: 18, | ||||||
|  |                             color: | ||||||
|  |                                 index == selected | ||||||
|  |                                     ? CupertinoColors.activeBlue | ||||||
|  |                                     : CupertinoColors.inactiveGray, | ||||||
|  |                             fontWeight: | ||||||
|  |                                 index == selected | ||||||
|  |                                     ? FontWeight.bold | ||||||
|  |                                     : FontWeight.normal, | ||||||
|  |                           ), | ||||||
|  |                         ), | ||||||
|  |                       ), | ||||||
|  |                     ); | ||||||
|  |                   }), | ||||||
|                 ), |                 ), | ||||||
|               ), |               ), | ||||||
|             ], |             ], | ||||||
|  |  | ||||||
|  | @ -152,7 +152,7 @@ class _CheckInformationOneItemState extends State<CheckInformationOneItem> { | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) { |   Widget build(BuildContext context) { | ||||||
|     return Scaffold( |     return Scaffold( | ||||||
|       appBar: MyAppbar(title: "隐患登记"), |       appBar: MyAppbar(title: "隐患等级"), | ||||||
|       body: Column( |       body: Column( | ||||||
|         children: [ |         children: [ | ||||||
|           // 详情滚动区域 |           // 详情滚动区域 | ||||||
|  |  | ||||||
|  | @ -151,7 +151,7 @@ class _HazardRegistrationPageState extends State<HazardRegistrationPage> { | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) { |   Widget build(BuildContext context) { | ||||||
|     return Scaffold( |     return Scaffold( | ||||||
|       appBar: MyAppbar(title: "隐患登记"), |       appBar: MyAppbar(title: "隐患等级"), | ||||||
|       body: Column( |       body: Column( | ||||||
|         children: [ |         children: [ | ||||||
|           // 详情滚动区域 |           // 详情滚动区域 | ||||||
|  |  | ||||||
|  | @ -311,7 +311,7 @@ class _CheckingInformationOnePageState extends State<CheckingInformationOnePage> | ||||||
|           // 确认按钮 |           // 确认按钮 | ||||||
|           // const Spacer(), |           // const Spacer(), | ||||||
|           _buildTrueButton(), |           _buildTrueButton(), | ||||||
| 
 |           SizedBox(height: 10,), | ||||||
| 
 | 
 | ||||||
|         ], |         ], | ||||||
|       ), |       ), | ||||||
|  |  | ||||||
|  | @ -152,7 +152,33 @@ class _SafetyCommitmentDhListState extends State<SafetyCommitmentDhList> { | ||||||
|   Future<void> _handleApply() async { |   Future<void> _handleApply() async { | ||||||
|     // 处理申请按钮点击逻辑 |     // 处理申请按钮点击逻辑 | ||||||
| 
 | 
 | ||||||
|     setState(() async { |     // setState(() async { | ||||||
|  |     //   if(widget.type==1) { | ||||||
|  |     //     await pushPage(CompanySafetyCommitmentApply(), context); | ||||||
|  |     //   }else if(widget.type==2){ | ||||||
|  |     //     await pushPage(WorkShopSafetyCommitmentApply(), context); | ||||||
|  |     //   }else { | ||||||
|  |     //     await pushPage(TeamSafetyCommitmentApply(), context); | ||||||
|  |     //   } | ||||||
|  |     // | ||||||
|  |     //   searchKeywords = ""; | ||||||
|  |     //   currentPage = 1; | ||||||
|  |     //   list.clear(); | ||||||
|  |     //   _fetchData(); | ||||||
|  |     // }); | ||||||
|  | 
 | ||||||
|  |     try { | ||||||
|  |       final Map<String, dynamic> response; | ||||||
|  |       if(widget.type==1) { | ||||||
|  |         response = await ApiService.getCompanySafetyCommitmentPermission( id); | ||||||
|  |       }else if(widget.type==2){ | ||||||
|  |         response = await ApiService.getWorkshopSafetyCommitmentPermission(id); | ||||||
|  |       }else { | ||||||
|  |         response = await ApiService.getTeamSafetyCommitmentPermission(id); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       if (response['result'] == 'success') { | ||||||
|  | 
 | ||||||
|             if(widget.type==1) { |             if(widget.type==1) { | ||||||
|               await pushPage(CompanySafetyCommitmentApply(), context); |               await pushPage(CompanySafetyCommitmentApply(), context); | ||||||
|             }else if(widget.type==2){ |             }else if(widget.type==2){ | ||||||
|  | @ -161,44 +187,19 @@ class _SafetyCommitmentDhListState extends State<SafetyCommitmentDhList> { | ||||||
|               await pushPage(TeamSafetyCommitmentApply(), context); |               await pushPage(TeamSafetyCommitmentApply(), context); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  |       setState(()  { | ||||||
|           searchKeywords = ""; |           searchKeywords = ""; | ||||||
|           currentPage = 1; |           currentPage = 1; | ||||||
|           list.clear(); |           list.clear(); | ||||||
|           _fetchData(); |           _fetchData(); | ||||||
|         }); |         }); | ||||||
| 
 |       }else{ | ||||||
|     // try { |         ToastUtil.showNormal(context, response['msg']); | ||||||
|     //   final Map<String, dynamic> response; |       } | ||||||
|     //   if(widget.type==1) { |     } catch (e) { | ||||||
|     //     response = await ApiService.getCompanySafetyCommitmentPermission( id); |       ToastUtil.showNormal(context,'$e'); | ||||||
|     //   }else if(widget.type==2){ |       print('Error fetching data: $e'); | ||||||
|     //     response = await ApiService.getWorkshopSafetyCommitmentPermission(id); |     } | ||||||
|     //   }else { |  | ||||||
|     //     response = await ApiService.getTeamSafetyCommitmentPermission(id); |  | ||||||
|     //   } |  | ||||||
|     // |  | ||||||
|     //   if (response['result'] == 'success') { |  | ||||||
|     //     setState(() async { |  | ||||||
|     //       if(widget.type==1) { |  | ||||||
|     //         await pushPage(CompanySafetyCommitmentApply(), context); |  | ||||||
|     //       }else if(widget.type==2){ |  | ||||||
|     // |  | ||||||
|     //       }else { |  | ||||||
|     // |  | ||||||
|     //       } |  | ||||||
|     // |  | ||||||
|     //       searchKeywords = ""; |  | ||||||
|     //       currentPage = 1; |  | ||||||
|     //       list.clear(); |  | ||||||
|     //       _fetchData(); |  | ||||||
|     //     }); |  | ||||||
|     //   }else{ |  | ||||||
|     //     ToastUtil.showNormal(context, response['msg']); |  | ||||||
|     //   } |  | ||||||
|     // } catch (e) { |  | ||||||
|     //   ToastUtil.showNormal(context,'$e'); |  | ||||||
|     //   print('Error fetching data: $e'); |  | ||||||
|     // } |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ class _SafetyCommitmentTabListState extends State<SafetyCommitmentTabList> { | ||||||
|       buttonInfos = [ |       buttonInfos = [ | ||||||
|         { |         { | ||||||
|           "icon": "assets/icon-apps/icon_101.png", |           "icon": "assets/icon-apps/icon_101.png", | ||||||
|           "title": "动火作业", |           "title": "公司安全承诺", | ||||||
|           "unreadCount": 0, |           "unreadCount": 0, | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|  |  | ||||||
|  | @ -153,6 +153,7 @@ class _RiskDetailPageState extends State<RiskDetailPage> { | ||||||
|                 Spacer(), |                 Spacer(), | ||||||
|                 // 底部按钮固定 |                 // 底部按钮固定 | ||||||
|                 _buildBottomButton(), |                 _buildBottomButton(), | ||||||
|  |                 SizedBox(height: 10,) | ||||||
|               ], |               ], | ||||||
|             ); |             ); | ||||||
|           }, |           }, | ||||||
|  |  | ||||||
|  | @ -13,6 +13,8 @@ class HotWorkDetailFormWidget extends StatefulWidget { | ||||||
|   final VoidCallback onChooseHotworkUser; |   final VoidCallback onChooseHotworkUser; | ||||||
|   final VoidCallback onAnalyzeTap; |   final VoidCallback onAnalyzeTap; | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|   // 新增 |   // 新增 | ||||||
|   final VoidCallback? onChooseVideoManager; |   final VoidCallback? onChooseVideoManager; | ||||||
|   /// 选择摄像头 |   /// 选择摄像头 | ||||||
|  | @ -55,6 +57,7 @@ class HotWorkDetailFormWidget extends StatefulWidget { | ||||||
|     this.hotworkPersonController, |     this.hotworkPersonController, | ||||||
|     this.relatedController, |     this.relatedController, | ||||||
|     this.riskController, |     this.riskController, | ||||||
|  | 
 | ||||||
|   }) : assert( |   }) : assert( | ||||||
|          !isEditable || |          !isEditable || | ||||||
|              (contentController != null && |              (contentController != null && | ||||||
|  |  | ||||||
|  | @ -100,7 +100,7 @@ class _HotworkApplyDetailState extends State<HotworkApplyDetail> { | ||||||
|       _getData(); |       _getData(); | ||||||
|     } else { |     } else { | ||||||
|       isEditable = true; |       isEditable = true; | ||||||
|       pd['ANALYZE_TIME'] = 1; |       // pd['ANALYZE_TIME'] = 1; | ||||||
|       pd['APPLY_DEPARTMENT_ID'] = SessionService.instance.deptId; |       pd['APPLY_DEPARTMENT_ID'] = SessionService.instance.deptId; | ||||||
|       pd['APPLY_DEPARTMENT_NAME'] = |       pd['APPLY_DEPARTMENT_NAME'] = | ||||||
|           SessionService.instance.loginUser!['DEPARTMENT_NAME'] ?? ''; |           SessionService.instance.loginUser!['DEPARTMENT_NAME'] ?? ''; | ||||||
|  | @ -731,6 +731,7 @@ class _HotworkApplyDetailState extends State<HotworkApplyDetail> { | ||||||
|                   onWorkAreaHandle: _getWorkArea, |                   onWorkAreaHandle: _getWorkArea, | ||||||
|                   onWorkAreaLocationHandle: _showLocationHandle, |                   onWorkAreaLocationHandle: _showLocationHandle, | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|                   onAnalyzeTap: () { |                   onAnalyzeTap: () { | ||||||
|                     pushPage( |                     pushPage( | ||||||
|                       HotworkGasList(HOTWORK_ID: widget.HOTWORK_ID), |                       HotworkGasList(HOTWORK_ID: widget.HOTWORK_ID), | ||||||
|  |  | ||||||
|  | @ -53,13 +53,13 @@ class _UserinfoPageState extends State<UserinfoPage> { | ||||||
|             Divider(height: 1), |             Divider(height: 1), | ||||||
|             _userItemCell("部门", user["DEPARTMENT_NAME"]??"", false), |             _userItemCell("部门", user["DEPARTMENT_NAME"]??"", false), | ||||||
|             Divider(height: 1), |             Divider(height: 1), | ||||||
|             _userItemCell("岗位", user["DUTIES_NAME"]??"", true), |             _userItemCell("岗位(工种)", user["POST_NAME"]??"", true), | ||||||
|             Divider(height: 1), |             Divider(height: 1), | ||||||
|             _userItemCell("人员类型", user["PERSONNEL_TYPE_NAME"]??"", false), |             _userItemCell("人员类型", user["PERSONNEL_TYPE_NAME"]??"", false), | ||||||
|             Divider(height: 1), |             Divider(height: 1), | ||||||
|             _userItemCell("入职时间", user["ENTRY_DATE"]??"", false), |             _userItemCell("入职时间", user["ENTRY_DATE"]??"", false), | ||||||
|             Divider(height: 1), |             Divider(height: 1), | ||||||
|             _userItemCell("工种", user["TYPE_OF_WORK_NAME"]??"", false), |             // _userItemCell("工种", user["TYPE_OF_WORK_NAME"]??"", false), | ||||||
|           ], |           ], | ||||||
|         ), |         ), | ||||||
|       ), |       ), | ||||||
|  |  | ||||||
|  | @ -263,7 +263,7 @@ class _DangerProjectPageState extends State<DangerProjectPage> { | ||||||
|           Card( |           Card( | ||||||
|             color: Colors.white, |             color: Colors.white, | ||||||
|             child: Container( |             child: Container( | ||||||
|               padding: const EdgeInsets.all(16), |               padding: const EdgeInsets.all(10), | ||||||
|               child: Column( |               child: Column( | ||||||
|                 crossAxisAlignment: CrossAxisAlignment.start, |                 crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|                 children: [ |                 children: [ | ||||||
|  | @ -375,7 +375,7 @@ class _DangerProjectPageState extends State<DangerProjectPage> { | ||||||
|     VoidCallback? onImageTap, |     VoidCallback? onImageTap, | ||||||
|   }) { |   }) { | ||||||
|     final isSelected = item["REFERENCE_BASIS"] == value; |     final isSelected = item["REFERENCE_BASIS"] == value; | ||||||
|     final buttonWidth = (screenWidth - 60) / 3 - 10; // 计算按钮宽度 |     final buttonWidth = (screenWidth - 30) / 3 - 10; // 计算按钮宽度 | ||||||
| 
 | 
 | ||||||
|     return GestureDetector( |     return GestureDetector( | ||||||
|       onTap: () { |       onTap: () { | ||||||
|  | @ -395,15 +395,15 @@ class _DangerProjectPageState extends State<DangerProjectPage> { | ||||||
|         // 不要在这里放 Expanded(非 Flex 父组件) |         // 不要在这里放 Expanded(非 Flex 父组件) | ||||||
|         child: Row( |         child: Row( | ||||||
|           mainAxisSize: MainAxisSize.min, |           mainAxisSize: MainAxisSize.min, | ||||||
|           mainAxisAlignment: MainAxisAlignment.start, |           mainAxisAlignment: MainAxisAlignment.center, | ||||||
|           children: [ |           children: [ | ||||||
|             SizedBox( |             SizedBox( | ||||||
|               height: 30, |               height: 30, | ||||||
|               width: 90, |               width: 100, | ||||||
|               child: Row( |               child: Row( | ||||||
|                 children: [ |                 children: [ | ||||||
|                   Icon(icon, color: isSelected ? color : Colors.grey, size: 30), |                   Icon(icon, color: isSelected ? color : Colors.grey, size: 30), | ||||||
|                   const SizedBox(width: 8), |                   const SizedBox(width: 3), | ||||||
|                   Flexible( |                   Flexible( | ||||||
|                     child: Text( |                     child: Text( | ||||||
|                       label, |                       label, | ||||||
|  | @ -415,10 +415,8 @@ class _DangerProjectPageState extends State<DangerProjectPage> { | ||||||
|                       ), |                       ), | ||||||
|                     ), |                     ), | ||||||
|                   ), |                   ), | ||||||
|                 ], | 
 | ||||||
|               ), |                   const SizedBox(width: 3), | ||||||
|             ), |  | ||||||
|             const SizedBox(width: 6), |  | ||||||
|                   if ((value == "option1" && item["REFERENCE_BASIS"] == "option1") || |                   if ((value == "option1" && item["REFERENCE_BASIS"] == "option1") || | ||||||
|                       (value == "option2" && |                       (value == "option2" && | ||||||
|                           item["REFERENCE_BASIS"] == "option2" && |                           item["REFERENCE_BASIS"] == "option2" && | ||||||
|  | @ -440,6 +438,11 @@ class _DangerProjectPageState extends State<DangerProjectPage> { | ||||||
|                         ), |                         ), | ||||||
|                       ), |                       ), | ||||||
|                     ), |                     ), | ||||||
|  | 
 | ||||||
|  |                 ], | ||||||
|  |               ), | ||||||
|  |             ), | ||||||
|  | 
 | ||||||
|           ], |           ], | ||||||
|         ), |         ), | ||||||
|       ), |       ), | ||||||
|  |  | ||||||
|  | @ -206,8 +206,9 @@ class _riskListPageState extends State<RiskListPage> { | ||||||
|                 height: 50, |                 height: 50, | ||||||
|                 child: TextButton( |                 child: TextButton( | ||||||
|                     onPressed: () => _nextHandle(), child: Text("下一步", style: TextStyle(color: Colors.white),)), |                     onPressed: () => _nextHandle(), child: Text("下一步", style: TextStyle(color: Colors.white),)), | ||||||
|               ) |               ), | ||||||
| 
 | 
 | ||||||
|  |               SizedBox(height: 20,), | ||||||
|             ], |             ], | ||||||
|           )), |           )), | ||||||
|     ); |     ); | ||||||
|  |  | ||||||