修复锁用户列表不能搜索问题
This commit is contained in:
parent
7c58c482e4
commit
cb53450d10
@ -10,14 +10,15 @@ class LockUserLogic extends BaseGetXController {
|
||||
final LockUserState state = LockUserState();
|
||||
|
||||
// 锁用户列表
|
||||
void getLockKeysList() async {
|
||||
LockUserEntity entity = await ApiRepository.to.getLockKeysList(
|
||||
Future<void> 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;
|
||||
}
|
||||
|
||||
@ -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<LockUserPage> {
|
||||
final logic = Get.put(LockUserLogic());
|
||||
final state = Get.find<LockUserLogic>().state;
|
||||
final LockUserLogic logic = Get.put(LockUserLogic());
|
||||
final LockUserState state = Get.find<LockUserLogic>().state;
|
||||
|
||||
@override
|
||||
initState() {
|
||||
@ -36,7 +37,7 @@ class _LockUserPageState extends State<LockUserPage> {
|
||||
backgroundColor: AppColors.mainColor,
|
||||
),
|
||||
body: Column(
|
||||
children: [
|
||||
children: <Widget>[
|
||||
KeySearchWidget(
|
||||
editingController: state.searchController,
|
||||
onSubmittedAction: () {
|
||||
@ -51,9 +52,7 @@ class _LockUserPageState extends State<LockUserPage> {
|
||||
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<LockUserPage> {
|
||||
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<LockUserPage> {
|
||||
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<LockUserPage> {
|
||||
width: 1.sw,
|
||||
height: 90.h,
|
||||
child: Row(
|
||||
children: [
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
width: 30.w,
|
||||
),
|
||||
@ -114,9 +113,9 @@ class _LockUserPageState extends State<LockUserPage> {
|
||||
Expanded(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
children: <Widget>[
|
||||
Row(
|
||||
children: [
|
||||
children: <Widget>[
|
||||
Text(
|
||||
lockUserKeys.currentKeyName ?? '',
|
||||
style: TextStyle(
|
||||
@ -132,7 +131,7 @@ class _LockUserPageState extends State<LockUserPage> {
|
||||
SizedBox(height: 10.h),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
children: <Widget>[
|
||||
Text(
|
||||
logic.getKeyUseDateStr(lockUserKeys),
|
||||
style: TextStyle(
|
||||
|
||||
@ -1944,8 +1944,9 @@ class ApiProvider extends BaseProvider {
|
||||
}));
|
||||
|
||||
// 锁用户列表
|
||||
Future<Response> getLockKeysList(int lockId) =>
|
||||
post(lockKeysListURL.toUrl, jsonEncode({'lockId': lockId}));
|
||||
Future<Response> getLockKeysList(int lockId, String searchStr) => post(
|
||||
lockKeysListURL.toUrl,
|
||||
jsonEncode({'lockId': lockId, 'searchStr': searchStr}));
|
||||
|
||||
// 添加开门通知
|
||||
Future<Response> addLockNoticeSetting(
|
||||
|
||||
@ -1972,8 +1972,9 @@ class ApiRepository {
|
||||
}
|
||||
|
||||
// 锁用户列表
|
||||
Future<LockUserEntity> getLockKeysList({required int lockId}) async {
|
||||
final res = await apiProvider.getLockKeysList(lockId);
|
||||
Future<LockUserEntity> getLockKeysList(
|
||||
{required int lockId, required String searchStr}) async {
|
||||
final res = await apiProvider.getLockKeysList(lockId, searchStr);
|
||||
return LockUserEntity.fromJson(res.body);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user