소스 검색

设置列表

周睿 1 년 전
부모
커밋
4e9ac2a097
2개의 변경된 파일21개의 추가작업 그리고 15개의 파일을 삭제
  1. 1 0
      app_business/lib/service/api.dart
  2. 20 15
      app_business/lib/view/home/event_manage/dialog_settings.dart

+ 1 - 0
app_business/lib/service/api.dart

@@ -301,6 +301,7 @@ class Rule {
   var id = 0;
   var idx = 0;
   var name = '';
+  var isLock = false;
   RuleValue value = RuleValueBool();
 }
 

+ 20 - 15
app_business/lib/view/home/event_manage/dialog_settings.dart

@@ -19,6 +19,7 @@ class SettingsController extends GetxController {
             ..id = e.arrId
             ..idx = i
             ..name = e.arName
+            ..isLock = !e.isLock
             ..value = e.arType == 1
                 ? (RuleValueBool()..value = e.arValue == 'true')
                 : (RuleValueArrStr()
@@ -93,12 +94,14 @@ class _RuleElem extends GetView<SettingsController> {
       option = Switch(
           value: value.value,
           activeColor: Colors.blue,
-          onChanged: (b) {
-            value.value = b;
-            controller.rules.update((val) {
-              val![data.id] = data;
-            });
-          });
+          onChanged: data.isLock
+              ? null
+              : (b) {
+                  value.value = b;
+                  controller.rules.update((val) {
+                    val![data.id] = data;
+                  });
+                });
     }
 
     if (value is RuleValueArrStr) {
@@ -109,14 +112,16 @@ class _RuleElem extends GetView<SettingsController> {
                 value: e.value,
                 show: e.show,
                 groupValue: value.value,
-                onChanged: (v) {
-                  if (v != null) {
-                    value.value = v;
-                    controller.rules.update((val) {
-                      val![data.id] = data;
-                    });
-                  }
-                }))
+                onChanged: data.isLock
+                    ? null
+                    : (v) {
+                        if (v != null) {
+                          value.value = v;
+                          controller.rules.update((val) {
+                            val![data.id] = data;
+                          });
+                        }
+                      }))
             .toList(),
       );
     }
@@ -141,7 +146,7 @@ class _Radio extends StatelessWidget {
   final String value;
   final String show;
   final String groupValue;
-  final void Function(String?) onChanged;
+  final void Function(String?)? onChanged;
 
   @override
   Widget build(BuildContext context) {