From cb53450d10e4fdd7782cde0a4ee153faf1ae68cb Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Fri, 24 May 2024 10:24:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=81=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E4=B8=8D=E8=83=BD=E6=90=9C=E7=B4=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messageWarn/lockUser/lockUser_logic.dart | 79 +++++++++---------- .../messageWarn/lockUser/lockUser_page.dart | 29 ++++--- lib/network/api_provider.dart | 5 +- lib/network/api_repository.dart | 5 +- 4 files changed, 59 insertions(+), 59 deletions(-) diff --git a/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart b/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart index 94123019..411bae76 100755 --- a/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart +++ b/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart @@ -10,14 +10,15 @@ class LockUserLogic extends BaseGetXController { final LockUserState state = LockUserState(); // 锁用户列表 - void getLockKeysList() async { - LockUserEntity entity = await ApiRepository.to.getLockKeysList( + Future getLockKeysList() async { + final LockUserEntity entity = await ApiRepository.to.getLockKeysList( lockId: state.getLockId.value, + searchStr: state.searchController.text, ); if (entity.errorCode!.codeIsSuccessful) { //当前钥匙类型 1:电子钥匙 2:密码钥匙 3:指纹钥匙 4:卡钥匙 5:人脸钥匙 - LockUserData data1 = entity.data![0]; - data1.lockUserList?.forEach((element) { + final LockUserData data1 = entity.data![0]; + data1.lockUserList?.forEach((LockUserListKeys element) { element.currentKeyType = 1; element.currentKeyTypeStr = '电子钥匙'.tr; element.currentTypeImg = 'images/controls_user.png'; @@ -26,8 +27,8 @@ class LockUserLogic extends BaseGetXController { element.currentDateType = element.keyType; element.currentOpenDoorID = element.id; }); - LockUserData data2 = entity.data![1]; - data2.lockUserList?.forEach((element) { + final LockUserData data2 = entity.data![1]; + data2.lockUserList?.forEach((LockUserListKeys element) { element.currentKeyType = 2; element.currentKeyTypeStr = '密码'.tr; element.currentTypeImg = 'images/icon_password.png'; @@ -36,8 +37,8 @@ class LockUserLogic extends BaseGetXController { element.currentDateType = element.keyboardPwdType; element.currentOpenDoorID = element.keyboardPwdId; }); - LockUserData data3 = entity.data![2]; - data3.lockUserList?.forEach((element) { + final LockUserData data3 = entity.data![2]; + data3.lockUserList?.forEach((LockUserListKeys element) { element.currentKeyType = 3; element.currentKeyTypeStr = '指纹'.tr; element.currentTypeImg = 'images/icon_fingerprint.png'; @@ -45,8 +46,8 @@ class LockUserLogic extends BaseGetXController { element.isCurrentSelect = false; element.currentDateType = element.fingerprintType; }); - LockUserData data4 = entity.data![3]; - data4.lockUserList?.forEach((element) { + final LockUserData data4 = entity.data![3]; + data4.lockUserList?.forEach((LockUserListKeys element) { element.currentKeyType = 4; element.currentKeyTypeStr = '卡'.tr; element.currentTypeImg = 'images/icon_card.png'; @@ -54,8 +55,8 @@ class LockUserLogic extends BaseGetXController { element.isCurrentSelect = false; element.currentDateType = element.cardType; }); - LockUserData data5 = entity.data![4]; - data5.lockUserList?.forEach((element) { + final LockUserData data5 = entity.data![4]; + data5.lockUserList?.forEach((LockUserListKeys element) { element.currentKeyType = 5; element.currentKeyTypeStr = '人脸'.tr; element.currentTypeImg = 'images/icon_face.png'; @@ -64,18 +65,18 @@ class LockUserLogic extends BaseGetXController { element.currentDateType = element.faceType; }); - state.lockUserList.value.addAll(data1.lockUserList!); - state.lockUserList.value.addAll(data2.lockUserList!); - state.lockUserList.value.addAll(data3.lockUserList!); - state.lockUserList.value.addAll(data4.lockUserList!); - state.lockUserList.value.addAll(data5.lockUserList!); + state.lockUserList.addAll(data1.lockUserList!); + state.lockUserList.addAll(data2.lockUserList!); + state.lockUserList.addAll(data3.lockUserList!); + state.lockUserList.addAll(data4.lockUserList!); + state.lockUserList.addAll(data5.lockUserList!); state.lockUserList.refresh(); } } String getKeyUseDateStr(LockUserListKeys itemData) { - var keyDateTypeStr = ""; + String keyDateTypeStr = ''; switch (itemData.currentKeyType) { case 1: //电子钥匙 keyDateTypeStr = getElectronicKeyUseDateStr(itemData); @@ -91,7 +92,7 @@ class LockUserLogic extends BaseGetXController { keyDateTypeStr = getCardAndFaceDateType(itemData); break; default: - keyDateTypeStr = "".tr; + keyDateTypeStr = ''.tr; break; } @@ -103,18 +104,18 @@ class LockUserLogic extends BaseGetXController { String useDateStr = ''; if (indexEntity.keyType == XSConstantMacro.keyTypeTime) { //限期 - DateTime startDateStr = + final DateTime startDateStr = DateTime.fromMillisecondsSinceEpoch(indexEntity.startDate!); - DateTime endDateStr = + final DateTime endDateStr = DateTime.fromMillisecondsSinceEpoch(indexEntity.endDate!); useDateStr = '${startDateStr.toLocal().toString().substring(0, 16)}-${endDateStr.toLocal().toString().substring(0, 16)}'; } else if (indexEntity.keyType == XSConstantMacro.keyTypeLong) { //永久 - useDateStr = "永久".tr; + useDateStr = '永久'.tr; } else if (indexEntity.keyType == XSConstantMacro.keyTypeOnce) { //单次 - useDateStr = "单次".tr; + useDateStr = '单次'.tr; } else if (indexEntity.keyType == XSConstantMacro.keyTypeLoop) { //循环 useDateStr = '循环'.tr; @@ -125,25 +126,23 @@ class LockUserLogic extends BaseGetXController { //获取密码有效期 String getPasswordUseDateStr(LockUserListKeys itemData) { - int? getPwdType = itemData.keyboardPwdType; + final int? getPwdType = itemData.keyboardPwdType; String useDateStr = ''; - DateTime sendDateStr = - DateTime.fromMillisecondsSinceEpoch(itemData.sendDate!); - DateTime startDateStr = + final DateTime startDateStr = DateTime.fromMillisecondsSinceEpoch(itemData.startDate!); - DateTime endDateStr = + final DateTime endDateStr = DateTime.fromMillisecondsSinceEpoch(itemData.endDate!); - int starHour = startDateStr.hour; - int endHour = endDateStr.hour; + final int starHour = startDateStr.hour; + final int endHour = endDateStr.hour; switch (getPwdType) { case 1: //单次 1 只能在开始时间后6小时内使用一次 - useDateStr = "单次".tr; + useDateStr = '单次'.tr; break; case 2: //永久 2 从开始时间开始永久有效,必需在开始时间24小时内使用一次,否则将失效 - useDateStr = "永久".tr; + useDateStr = '永久'.tr; break; case 3: //限期 3 在开始和结束时间内有效,必需在开始时间24小时内使用一次,否则将失效 @@ -213,30 +212,30 @@ class LockUserLogic extends BaseGetXController { //获取指纹有效期 String getfingerprintUseDateStr(LockUserListKeys fingerprintItemData) { - var keyDateTypeStr = ""; // 永久:1;限时2,单次3,循环:4 + String keyDateTypeStr = ''; // 永久:1;限时2,单次3,循环:4 if (fingerprintItemData.fingerprintType! == 1) { - keyDateTypeStr = "永久".tr; + keyDateTypeStr = '永久'.tr; } else if (fingerprintItemData.fingerprintType! == 2) { keyDateTypeStr = - "${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())} 限时"; + '${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())} 限时'; } else if (fingerprintItemData.fingerprintType! == 4) { keyDateTypeStr = - "${DateTool().dateToYMDString(fingerprintItemData.startDate.toString())}-${DateTool().dateToYMDString(fingerprintItemData.endDate.toString())} 循环"; + '${DateTool().dateToYMDString(fingerprintItemData.startDate.toString())}-${DateTool().dateToYMDString(fingerprintItemData.endDate.toString())} 循环'; } return keyDateTypeStr; } //获取卡片/人脸有效期 String getCardAndFaceDateType(LockUserListKeys fingerprintItemData) { - var keyDateTypeStr = ""; // 永久:1;限时2,单次3,循环:4 + String keyDateTypeStr = ''; // 永久:1;限时2,单次3,循环:4 if (fingerprintItemData.cardType! == 1) { - keyDateTypeStr = "永久".tr; + keyDateTypeStr = '永久'.tr; } else if (fingerprintItemData.cardType! == 2) { keyDateTypeStr = - "${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())} 限时"; + '${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())} 限时'; } else if (fingerprintItemData.cardType! == 4) { keyDateTypeStr = - "${DateTool().dateToYMDString(fingerprintItemData.startDate.toString())}-${DateTool().dateToYMDString(fingerprintItemData.endDate.toString())} 循环"; + '${DateTool().dateToYMDString(fingerprintItemData.startDate.toString())}-${DateTool().dateToYMDString(fingerprintItemData.endDate.toString())} 循环'; } return keyDateTypeStr; } diff --git a/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart b/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart index 68b14f94..33dc6ba4 100755 --- a/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart +++ b/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart @@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_entity.dart'; import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart'; +import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_state.dart'; import 'package:star_lock/tools/keySearchWidget.dart'; import '../../../../app_settings/app_colors.dart'; import '../../../../tools/submitBtn.dart'; @@ -16,8 +17,8 @@ class LockUserPage extends StatefulWidget { } class _LockUserPageState extends State { - final logic = Get.put(LockUserLogic()); - final state = Get.find().state; + final LockUserLogic logic = Get.put(LockUserLogic()); + final LockUserState state = Get.find().state; @override initState() { @@ -36,7 +37,7 @@ class _LockUserPageState extends State { backgroundColor: AppColors.mainColor, ), body: Column( - children: [ + children: [ KeySearchWidget( editingController: state.searchController, onSubmittedAction: () { @@ -51,9 +52,7 @@ class _LockUserPageState extends State { SubmitBtn( btnName: '确定'.tr, onClick: () { - Get.back( - result: - state.lockUserList.value[state.isSelectIndex.value]); + Get.back(result: state.lockUserList[state.isSelectIndex.value]); }, ), SizedBox( @@ -66,9 +65,9 @@ class _LockUserPageState extends State { Widget _buildMainUI() { return Obx(() => ListView.separated( shrinkWrap: true, - itemCount: state.lockUserList.value.length, - itemBuilder: (c, index) { - return _electronicKeyItem(state.lockUserList.value[index], index); + itemCount: state.lockUserList.length, + itemBuilder: (BuildContext c, int index) { + return _electronicKeyItem(state.lockUserList[index], index); }, separatorBuilder: (BuildContext context, int index) { return const Divider( @@ -82,8 +81,8 @@ class _LockUserPageState extends State { Widget _electronicKeyItem(LockUserListKeys lockUserKeys, int selectIndex) { return GestureDetector( onTap: () { - for (int i = 0; i < state.lockUserList.value.length; i++) { - LockUserListKeys item = state.lockUserList.value[i]; + for (int i = 0; i < state.lockUserList.length; i++) { + final LockUserListKeys item = state.lockUserList[i]; if (selectIndex == i) { item.isCurrentSelect = true; } else { @@ -99,7 +98,7 @@ class _LockUserPageState extends State { width: 1.sw, height: 90.h, child: Row( - children: [ + children: [ SizedBox( width: 30.w, ), @@ -114,9 +113,9 @@ class _LockUserPageState extends State { Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, - children: [ + children: [ Row( - children: [ + children: [ Text( lockUserKeys.currentKeyName ?? '', style: TextStyle( @@ -132,7 +131,7 @@ class _LockUserPageState extends State { SizedBox(height: 10.h), Row( mainAxisAlignment: MainAxisAlignment.start, - children: [ + children: [ Text( logic.getKeyUseDateStr(lockUserKeys), style: TextStyle( diff --git a/lib/network/api_provider.dart b/lib/network/api_provider.dart index f0c72cb6..74914665 100755 --- a/lib/network/api_provider.dart +++ b/lib/network/api_provider.dart @@ -1944,8 +1944,9 @@ class ApiProvider extends BaseProvider { })); // 锁用户列表 - Future getLockKeysList(int lockId) => - post(lockKeysListURL.toUrl, jsonEncode({'lockId': lockId})); + Future getLockKeysList(int lockId, String searchStr) => post( + lockKeysListURL.toUrl, + jsonEncode({'lockId': lockId, 'searchStr': searchStr})); // 添加开门通知 Future addLockNoticeSetting( diff --git a/lib/network/api_repository.dart b/lib/network/api_repository.dart index 226548e5..1b839317 100755 --- a/lib/network/api_repository.dart +++ b/lib/network/api_repository.dart @@ -1972,8 +1972,9 @@ class ApiRepository { } // 锁用户列表 - Future getLockKeysList({required int lockId}) async { - final res = await apiProvider.getLockKeysList(lockId); + Future getLockKeysList( + {required int lockId, required String searchStr}) async { + final res = await apiProvider.getLockKeysList(lockId, searchStr); return LockUserEntity.fromJson(res.body); }