Procházet zdrojové kódy

离线状态下输入框的提示语中屏蔽手机号;

finlay před 1 rokem
rodič
revize
1638847d52

+ 7 - 0
lib/pages/controllers/paged_state_mixin.dart

@@ -2,6 +2,7 @@ import 'dart:collection';
 
 import 'package:get/get.dart';
 import 'package:vitalapp/architecture/defines.dart';
+import 'package:vitalapp/global.dart';
 
 /// 分页状态Mixin
 mixin PagedStateMixin<T> {
@@ -11,6 +12,12 @@ mixin PagedStateMixin<T> {
   final RxInt _totalCount = RxInt(0);
   final RxList<T> _dataList = RxList<T>();
 
+  final RxBool _isOnline = RxBool(kIsOnline);
+
+  /// 当前在线状态
+  bool get isOnline => _isOnline.value;
+  set isOnline(bool val) => _isOnline.updateValue(val);
+
   /// 模糊搜索字符串
   String get searchString => _searchString.value;
   set searchString(String val) => _searchString.updateValue(val);

+ 16 - 0
lib/pages/patient/list/controller.dart

@@ -2,6 +2,7 @@ import 'package:fis_jsonrpc/rpc.dart';
 import 'package:flutter/material.dart';
 import 'package:get/get.dart';
 import 'package:vitalapp/architecture/defines.dart';
+import 'package:vitalapp/architecture/network_connectivity.dart';
 import 'package:vitalapp/global.dart';
 import 'package:vitalapp/managers/interfaces/patient.dart';
 import 'package:vitalapp/pages/controllers/crowd_labels.dart';
@@ -79,9 +80,19 @@ class PatientListController extends FControllerBase {
   @override
   void onReady() {
     reloadList();
+    netChecker.onlineChangedEvent.addListener(_onlineChanged);
     super.onReady();
   }
 
+  @override
+  void onInit() {
+    super.onInit();
+  }
+
+  void _onlineChanged(_, e) {
+    state.isOnline = e;
+  }
+
   /// 重新加载列表
   Future<void> reloadList({bool isFilter = false}) async {
     busy = true;
@@ -123,4 +134,9 @@ class PatientListController extends FControllerBase {
     }
     busy = false;
   }
+
+  @override
+  void onClose() {
+    netChecker.onlineChangedEvent.removeListener(_onlineChanged);
+  }
 }

+ 11 - 8
lib/pages/patient/list/view.dart

@@ -346,14 +346,17 @@ class _HeaderWidget extends GetView<PatientListController> {
           Expanded(
             child: SizedBox(
               height: 70,
-              child: VSearchInput(
-                placeholder: "身份证号码/姓名${kIsOnline ? '/手机号' : ''}",
-                clearable: true,
-                onClear: () {},
-                onSearch: (value) {
-                  controller.state.searchString = value;
-                  controller.reloadList();
-                },
+              child: Obx(
+                () => VSearchInput(
+                  placeholder:
+                      "身份证号码/姓名${controller.state.isOnline ? '/手机号' : ''}",
+                  clearable: true,
+                  onClear: () {},
+                  onSearch: (value) {
+                    controller.state.searchString = value;
+                    controller.reloadList();
+                  },
+                ),
               ),
             ),
           ),