Browse Source

1、优化测量配置项配置的功能

guanxinyi 1 year ago
parent
commit
47542b4e03

+ 0 - 1
lib/view/measure/measure_config/measure_configuation_page.dart

@@ -366,7 +366,6 @@ class _HasSelectedModulePage extends StatelessWidget implements FWidget {
   ///
   /// [itemMeta] 测量的对象
   void openHasSelectedSettingDialog(ItemMetaDTO itemMeta) {
-    measureData.itemMetaListConfig = [];
     Get.dialog(HasSelectedSettingDialog(itemMeta: itemMeta));
   }
 

+ 3 - 4
lib/view/measure/measure_config/widgets/has_selected_setting_dialog.dart

@@ -19,8 +19,6 @@ class HasSelectedSettingDialog extends FStatelessWidget
   }) : super(key: key);
   final ItemMetaDTO itemMeta;
 
-  final measureData = Get.find<MeasureDataController>();
-
   @override
   final String pageName = 'HasSelectedSettingDialog';
   @override
@@ -134,8 +132,9 @@ class _DialogPageState extends State<_DialogPage> {
 
   @override
   void dispose() {
-    measureData.itemMetaListConfig.add(widget.itemMeta);
-
+    if (!measureData.itemMetaListConfig.contains(widget.itemMeta)) {
+      measureData.itemMetaListConfig.add(widget.itemMeta);
+    }
     super.dispose();
   }
 

+ 5 - 1
lib/view/measure/measure_panel_head.dart

@@ -1,5 +1,6 @@
 import 'package:fis_i18n/i18n.dart';
 import 'package:fis_measure/interfaces/enums/operate.dart';
+import 'package:fis_measure/process/workspace/measure_data_controller.dart';
 import 'package:fis_measure/process/workspace/measure_handler.dart';
 import 'package:fis_measure/view/measure/measure_config/measure_configuation_page.dart';
 import 'package:fis_theme/theme.dart';
@@ -84,8 +85,10 @@ class _LeftSiderHoldState extends State<LeftSiderHold> {
 
 /// 测量样式 和 测量项配置 入口
 class SettingButton extends StatelessWidget implements FInteractiveContainer {
-  const SettingButton({Key? key, this.ifHideConfig = false}) : super(key: key);
+  SettingButton({Key? key, this.ifHideConfig = false}) : super(key: key);
   final bool ifHideConfig; // 是否隐藏测量项配置入口
+  final measureData = Get.find<MeasureDataController>();
+
   @override
   final String pageName = 'SettingButton';
   @override
@@ -94,6 +97,7 @@ class SettingButton extends StatelessWidget implements FInteractiveContainer {
       businessParent: this,
       name: "toMeasureConfigurationPage",
       onPressed: () {
+        measureData.itemMetaListConfig = [];
         Get.dialog(
           MeasureConfigurationPage(ifHideConfig: ifHideConfig),
         );