fix:修复电子钥匙里的授权管理员详情多了取消授权

This commit is contained in:
anfe 2024-05-18 16:38:50 +08:00
parent 0df385cba2
commit af04296143
2 changed files with 126 additions and 111 deletions

View File

@ -25,17 +25,17 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// //
Future<void> modifyKeyNameRequest() async { Future<void> modifyKeyNameRequest() async {
if (state.changeNameController.text.isEmpty) { if (state.changeNameController.text.isEmpty) {
showToast("请输入钥匙名称".tr); showToast('请输入钥匙名称'.tr);
return; return;
} }
KeyOperationRecordEntity entity = await ApiRepository.to final KeyOperationRecordEntity entity = await ApiRepository.to
.modifyKeyNameForAdmin(state.itemData.value.keyId.toString(), .modifyKeyNameForAdmin(state.itemData.value.keyId.toString(),
state.changeNameController.text, ''); state.changeNameController.text, '');
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
state.itemData.value.keyName = state.changeNameController.text; state.itemData.value.keyName = state.changeNameController.text;
state.keyName.value = state.itemData.value.keyName!; state.keyName.value = state.itemData.value.keyName!;
Get.back(); Get.back();
showToast("修改成功".tr, something: () { showToast('修改成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
}); });
@ -44,7 +44,8 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// updateType 1: 2: // updateType 1: 2:
Future<void> updateKeyDateRequest(int updateType) async { Future<void> updateKeyDateRequest(int updateType) async {
KeyOperationRecordEntity entity = await ApiRepository.to.updateKeyDate( final KeyOperationRecordEntity entity = await ApiRepository.to
.updateKeyDate(
keyId: state.itemData.value.keyId.toString(), keyId: state.itemData.value.keyId.toString(),
lockId: state.itemData.value.lockId.toString(), lockId: state.itemData.value.lockId.toString(),
endDate: state.endDate.value.toString(), endDate: state.endDate.value.toString(),
@ -53,10 +54,11 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
keyType: state.itemData.value.keyType!, keyType: state.itemData.value.keyType!,
startTime: int.parse(state.starTime.value), startTime: int.parse(state.starTime.value),
endTime: int.parse(state.endTime.value), endTime: int.parse(state.endTime.value),
isOnlyManageSelf: state.onlyManageYouCreatesUser.value == true ? 1 : 0, isOnlyManageSelf:
state.onlyManageYouCreatesUser.value == true ? 1 : 0,
remoteEnable: state.isRemoteUnlock.value == true ? 1 : 2); remoteEnable: state.isRemoteUnlock.value == true ? 1 : 2);
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
showToast("修改成功".tr, something: () { showToast('修改成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
}); });
@ -65,11 +67,12 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// //
Future<void> deleteKeyRequest(int includeUnderlings) async { Future<void> deleteKeyRequest(int includeUnderlings) async {
ElectronicKeyListEntity entity = await ApiRepository.to.deleteElectronicKey( final ElectronicKeyListEntity entity = await ApiRepository.to
.deleteElectronicKey(
keyId: state.itemData.value.keyId.toString(), keyId: state.itemData.value.keyId.toString(),
includeUnderlings: includeUnderlings); includeUnderlings: includeUnderlings);
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
showToast("删除成功".tr, something: () { showToast('删除成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
Get.back(); Get.back();
@ -79,11 +82,12 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// //
Future<void> setAdministrator() async { Future<void> setAdministrator() async {
ElectronicKeyListEntity entity = await ApiRepository.to.setAdministrator( final ElectronicKeyListEntity entity =
await ApiRepository.to.setAdministrator(
keyId: state.itemData.value.keyId.toString(), keyId: state.itemData.value.keyId.toString(),
); );
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
showToast("设置成功".tr, something: () { showToast('设置成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
Get.back(); Get.back();
@ -93,11 +97,12 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// //
Future<void> cancelAdministrator() async { Future<void> cancelAdministrator() async {
ElectronicKeyListEntity entity = await ApiRepository.to.cancelAdministrator( final ElectronicKeyListEntity entity =
await ApiRepository.to.cancelAdministrator(
keyId: state.itemData.value.keyId.toString(), keyId: state.itemData.value.keyId.toString(),
); );
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
showToast("设置成功".tr, something: () { showToast('设置成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
Get.back(); Get.back();
@ -107,11 +112,11 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// //
Future<void> freezeKey(int includeUnderlings) async { Future<void> freezeKey(int includeUnderlings) async {
ElectronicKeyListEntity entity = await ApiRepository.to.freezeKey( final ElectronicKeyListEntity entity = await ApiRepository.to.freezeKey(
keyId: state.itemData.value.keyId.toString(), keyId: state.itemData.value.keyId.toString(),
includeUnderlings: includeUnderlings); includeUnderlings: includeUnderlings);
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
showToast("设置成功".tr, something: () { showToast('设置成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
Get.back(); Get.back();
@ -121,11 +126,11 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// //
Future<void> cancelFreeze(int includeUnderlings) async { Future<void> cancelFreeze(int includeUnderlings) async {
ElectronicKeyListEntity entity = await ApiRepository.to.cancelFreeze( final ElectronicKeyListEntity entity = await ApiRepository.to.cancelFreeze(
keyId: state.itemData.value.keyId.toString(), keyId: state.itemData.value.keyId.toString(),
includeUnderlings: includeUnderlings); includeUnderlings: includeUnderlings);
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
showToast("设置成功".tr, something: () { showToast('设置成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
Get.back(); Get.back();
@ -137,14 +142,15 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
Future<void> checkRealNameStatus(int realNameAuthStatus) async { Future<void> checkRealNameStatus(int realNameAuthStatus) async {
// //
if (realNameAuthStatus == 1) { if (realNameAuthStatus == 1) {
AdvancedFunctionRecordEntity entity = await ApiRepository.to.keyCheckFace( final AdvancedFunctionRecordEntity entity =
await ApiRepository.to.keyCheckFace(
lockId: CommonDataManage().currentKeyInfo.lockId ?? 0, lockId: CommonDataManage().currentKeyInfo.lockId ?? 0,
); );
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
if (state.getRealName.value.isEmpty || if (state.getRealName.value.isEmpty ||
state.getIDCardNumber.value.isEmpty) { state.getIDCardNumber.value.isEmpty) {
ShowCupertinoAlertView() ShowCupertinoAlertView().showOpenAuthWithIDCardInfoAlert(
.showOpenAuthWithIDCardInfoAlert((idCard, realName) { (String? idCard, String? realName) {
state.getIDCardNumber.value = idCard ?? ''; state.getIDCardNumber.value = idCard ?? '';
state.getRealName.value = realName ?? ''; state.getRealName.value = realName ?? '';
updateRealNameInfoWithAuthStatus(realNameAuthStatus); updateRealNameInfoWithAuthStatus(realNameAuthStatus);
@ -158,7 +164,7 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
titleStr: '实名认证为付费功能,请购买后再使用'.tr, titleStr: '实名认证为付费功能,请购买后再使用'.tr,
sureClick: () { sureClick: () {
Get.toNamed(Routers.advancedFeaturesWebPage, Get.toNamed(Routers.advancedFeaturesWebPage,
arguments: {'isShop': false}); arguments: <String, bool>{'isShop': false});
}); });
} else if (entity.errorCode == 433) { } else if (entity.errorCode == 433) {
// //
@ -171,7 +177,8 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
//-- //--
Future<void> updateRealNameInfoWithAuthStatus(int realNameAuthStatus) async { Future<void> updateRealNameInfoWithAuthStatus(int realNameAuthStatus) async {
KeyOperationRecordEntity entity = await ApiRepository.to.updateRealNameInfo( final KeyOperationRecordEntity entity = await ApiRepository.to
.updateRealNameInfo(
lockId: state.itemData.value.lockId ?? 0, lockId: state.itemData.value.lockId ?? 0,
keyId: state.itemData.value.keyId ?? 0, keyId: state.itemData.value.keyId ?? 0,
uid: state.itemData.value.uid ?? 0, uid: state.itemData.value.uid ?? 0,
@ -180,7 +187,7 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
idCardNumber: state.getIDCardNumber.value); idCardNumber: state.getIDCardNumber.value);
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
state.isRealNameAuth.value = !state.isRealNameAuth.value; state.isRealNameAuth.value = !state.isRealNameAuth.value;
showToast("修改成功".tr, something: () { showToast('修改成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
}); });
@ -192,19 +199,20 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
switch (alertEnum) { switch (alertEnum) {
case ShowAlertEnum.realName: case ShowAlertEnum.realName:
if (state.changeRealNameController.text.isEmpty) { if (state.changeRealNameController.text.isEmpty) {
showToast("请输入真实姓名".tr); showToast('请输入真实姓名'.tr);
return; return;
} }
break; break;
case ShowAlertEnum.idCardNumber: case ShowAlertEnum.idCardNumber:
if (state.changeIDCardController.text.isEmpty) { if (state.changeIDCardController.text.isEmpty) {
showToast("请输入身份证号".tr); showToast('请输入身份证号'.tr);
return; return;
} }
break; break;
default: default:
} }
KeyOperationRecordEntity entity = await ApiRepository.to.updateRealNameInfo( final KeyOperationRecordEntity entity = await ApiRepository.to
.updateRealNameInfo(
lockId: state.itemData.value.lockId ?? 0, lockId: state.itemData.value.lockId ?? 0,
keyId: state.itemData.value.keyId ?? 0, keyId: state.itemData.value.keyId ?? 0,
uid: state.itemData.value.uid ?? 0, uid: state.itemData.value.uid ?? 0,
@ -222,7 +230,7 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
state.getIDCardNumber.value = state.getIDCardNumber.value =
state.itemData.value.userIdCard!.idCardNumber!; state.itemData.value.userIdCard!.idCardNumber!;
} }
showToast("修改成功".tr, something: () { showToast('修改成功'.tr, something: () {
eventBus.fire(ElectronicKeyListRefreshUI()); eventBus.fire(ElectronicKeyListRefreshUI());
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
}); });
@ -232,44 +240,54 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
String getKeyTypeShowDateTime() { String getKeyTypeShowDateTime() {
String useDateStr = ''; String useDateStr = '';
if (state.keyType.value == 1) { if (state.keyType.value == 1) {
useDateStr = "永久".tr; useDateStr = '永久'.tr;
} else if (state.keyType.value == 2) { } else if (state.keyType.value == 2) {
useDateStr = useDateStr =
"${DateTool().dateToYMDHNString(state.starDate.value)}\n${DateTool().dateToYMDHNString(state.endDate.value)}"; '${DateTool().dateToYMDHNString(state.starDate.value)}\n${DateTool().dateToYMDHNString(state.endDate.value)}';
} else if (state.keyType.value == 3) { } else if (state.keyType.value == 3) {
useDateStr = "单次".tr; useDateStr = '单次'.tr;
} else if (state.keyType.value == 4) { } else if (state.keyType.value == 4) {
useDateStr = useDateStr =
"${DateTool().dateToYMDString(state.starDate.value)}\n${DateTool().dateToYMDString(state.endDate.value)}"; '${DateTool().dateToYMDString(state.starDate.value)}\n${DateTool().dateToYMDString(state.endDate.value)}';
} }
return useDateStr; return useDateStr;
} }
Future openModalBottomSheet(BuildContext context) async { Future<void> openModalBottomSheet(BuildContext context) async {
var textList = <String>[]; List<String> textList = <String>[];
if (state.itemData.value.keyRight == 1) { if (state.itemData.value.keyRight == 1) {
// //
textList = [ textList = <String>[
state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen ? '取消冻结'.tr : "冻结".tr, if (state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen)
"取消授权".tr '取消冻结'.tr
else
'冻结'.tr,
// '取消授权'.tr
]; ];
} else if (CommonDataManage().currentKeyInfo.isLockOwner == 1) { } else if (CommonDataManage().currentKeyInfo.isLockOwner == 1) {
// //
if (state.keyType.value == 1 || state.keyType.value == 2) { if (state.keyType.value == 1 || state.keyType.value == 2) {
textList = [ textList = <String>[
state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen ? '取消冻结'.tr : "冻结".tr, if (state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen)
state.itemData.value.keyRight == 1 ? '取消授权'.tr : '授权'.tr '取消冻结'.tr
else
'冻结'.tr,
if (state.itemData.value.keyRight == 1) '取消授权'.tr else '授权'.tr
]; ];
} else if (state.keyType.value == 4) { } else if (state.keyType.value == 4) {
textList = [ textList = <String>[
state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen if (state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen)
? '取消冻结'.tr '取消冻结'.tr
: "冻结".tr else
'冻结'.tr
]; ];
} }
}else{ } else {
textList = [ textList = <String>[
state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen ? '取消冻结'.tr : "冻结".tr, if (state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen)
'取消冻结'.tr
else
'冻结'.tr,
]; ];
} }
showModalBottomSheet( showModalBottomSheet(
@ -280,20 +298,21 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
return AlertBottomWidget( return AlertBottomWidget(
topTitle: '', topTitle: '',
items: textList, items: textList,
chooseCallback: (value) { chooseCallback: (int value) {
int index = value; final int index = value;
if (index == 0) { if (index == 0) {
if (state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen) { if (state.itemData.value.keyStatus ==
XSConstantMacro.keyStatusFrozen) {
// //
if (state.itemData.value.keyRight == 1) { if (state.itemData.value.keyRight == 1) {
// //
ShowTipView().showDeleteAdministratorIsHaveAllDataDialog( ShowTipView().showDeleteAdministratorIsHaveAllDataDialog(
'同时解冻其发送的钥匙'.tr, (isAllData) { '同时解冻其发送的钥匙'.tr, (bool isAllData) {
cancelFreeze(isAllData ? 1 : 0); cancelFreeze(isAllData ? 1 : 0);
}); });
} else { } else {
ShowTipView() ShowTipView()
.showIosTipWithContentDialog("取消冻结会在用户APP连网后生效".tr, () { .showIosTipWithContentDialog('取消冻结会在用户APP连网后生效'.tr, () {
cancelFreeze(0); cancelFreeze(0);
}); });
} }
@ -301,12 +320,12 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
if (state.itemData.value.keyRight == 1) { if (state.itemData.value.keyRight == 1) {
// //
ShowTipView().showDeleteAdministratorIsHaveAllDataDialog( ShowTipView().showDeleteAdministratorIsHaveAllDataDialog(
'同时冻结其发送的钥匙'.tr, (isAllData) { '同时冻结其发送的钥匙'.tr, (bool isAllData) {
freezeKey(isAllData ? 1 : 0); freezeKey(isAllData ? 1 : 0);
}); });
} else { } else {
ShowTipView() ShowTipView()
.showIosTipWithContentDialog("冻结会在用户APP连网后生效".tr, () { .showIosTipWithContentDialog('冻结会在用户APP连网后生效'.tr, () {
freezeKey(0); freezeKey(0);
}); });
} }
@ -315,15 +334,11 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
// / // /
if (state.itemData.value.keyRight == 1) { if (state.itemData.value.keyRight == 1) {
// //
ShowTipView() ShowTipView().showIosTipWithContentDialog(
.showIosTipWithContentDialog("取消授权会在用户APP连网后生效".tr, () { '取消授权会在用户APP连网后生效'.tr, cancelAdministrator);
cancelAdministrator();
});
} else { } else {
ShowTipView().showIosTipWithContentDialog( ShowTipView().showIosTipWithContentDialog(
"授权用户拥有管理员的大部分权限,比如发送钥匙、发送密码".tr, () { '授权用户拥有管理员的大部分权限,比如发送钥匙、发送密码'.tr, setAdministrator);
setAdministrator();
});
} }
} }
}, },
@ -331,16 +346,16 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
}); });
} }
deletKeyLogic() { void deletKeyLogic() {
if (state.itemData.value.keyRight == 1) { if (state.itemData.value.keyRight == 1) {
// //
ShowTipView().showDeleteAdministratorIsHaveAllDataDialog( ShowTipView().showDeleteAdministratorIsHaveAllDataDialog(
'同时删除其发送的所有钥匙,钥匙删除后不能恢复'.tr, (isAllData) { '同时删除其发送的所有钥匙,钥匙删除后不能恢复'.tr, (bool isAllData) {
deleteKeyRequest(isAllData ? 1 : 0); deleteKeyRequest(isAllData ? 1 : 0);
}); });
} else { } else {
// //
ShowTipView().showIosTipWithContentDialog("删除钥匙会在用户APP连网后生效".tr, () { ShowTipView().showIosTipWithContentDialog('删除钥匙会在用户APP连网后生效'.tr, () {
deleteKeyRequest(0); deleteKeyRequest(0);
}); });
} }
@ -363,16 +378,17 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
return currentController; return currentController;
} }
noModificationAllowedDuringFreeze() { void noModificationAllowedDuringFreeze() {
if (state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen) { if (state.itemData.value.keyStatus == XSConstantMacro.keyStatusFrozen) {
showToast("冻结状态下不允许修改钥匙权限".tr); showToast('冻结状态下不允许修改钥匙权限'.tr);
return; return;
} }
} }
// //
Future<void> keyCheckFace() async { Future<void> keyCheckFace() async {
AdvancedFunctionRecordEntity entity = await ApiRepository.to.keyCheckFace( final AdvancedFunctionRecordEntity entity =
await ApiRepository.to.keyCheckFace(
lockId: CommonDataManage().currentKeyInfo.lockId ?? 0, lockId: CommonDataManage().currentKeyInfo.lockId ?? 0,
); );
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
@ -385,7 +401,7 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
titleStr: '实名认证为付费功能,请购买后再使用'.tr, titleStr: '实名认证为付费功能,请购买后再使用'.tr,
sureClick: () { sureClick: () {
Get.toNamed(Routers.advancedFeaturesWebPage, Get.toNamed(Routers.advancedFeaturesWebPage,
arguments: {'isShop': false}); arguments: <String, bool>{'isShop': false});
}); });
} else if (entity.errorCode == 433) { } else if (entity.errorCode == 433) {
// //

View File

@ -5,6 +5,7 @@ import 'package:flutter_slidable/flutter_slidable.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_logic.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_logic.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_state.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
import 'package:star_lock/tools/noData.dart'; import 'package:star_lock/tools/noData.dart';
import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/storage.dart';
@ -26,8 +27,8 @@ class ElectronicKeyListPage extends StatefulWidget {
} }
class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> { class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
final logic = Get.put(ElectronicKeyListLogic()); final ElectronicKeyListLogic logic = Get.put(ElectronicKeyListLogic());
final state = Get.find<ElectronicKeyListLogic>().state; final ElectronicKeyListState state = Get.find<ElectronicKeyListLogic>().state;
@override @override
void initState() { void initState() {
@ -38,7 +39,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
Future<void> mockRequest() async { Future<void> mockRequest() async {
// //
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) { if (isDemoMode == false) {
logic.mockNetworkDataRequest().then((ElectronicKeyListEntity value) { logic.mockNetworkDataRequest().then((ElectronicKeyListEntity value) {
setState(() {}); setState(() {});
@ -54,7 +55,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
barTitle: TranslationLoader.lanKeys!.electronicKey!.tr, barTitle: TranslationLoader.lanKeys!.electronicKey!.tr,
haveBack: true, haveBack: true,
backgroundColor: AppColors.mainColor, backgroundColor: AppColors.mainColor,
actionsList: [ actionsList: <Widget>[
TextButton( TextButton(
child: Text( child: Text(
TranslationLoader.lanKeys!.reset!.tr, TranslationLoader.lanKeys!.reset!.tr,
@ -62,13 +63,11 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
), ),
onPressed: () async { onPressed: () async {
// //
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) { if (isDemoMode == false) {
ShowTipView().showIosTipWithContentDialog("该锁的电子钥匙都将被删除".tr, (){ ShowTipView().showIosTipWithContentDialog('该锁的电子钥匙都将被删除'.tr, logic.resetElectronicKeyListRequest);
logic.resetElectronicKeyListRequest();
});
} else { } else {
logic.showToast("演示模式".tr); logic.showToast('演示模式'.tr);
} }
}, },
), ),
@ -83,7 +82,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
mockRequest(); mockRequest();
}, },
child: Column( child: Column(
children: [ children: <Widget>[
// _searchWidget(), // _searchWidget(),
KeySearchWidget( KeySearchWidget(
editingController: state.searchController, editingController: state.searchController,
@ -102,7 +101,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
AddBottomWhiteBtn( AddBottomWhiteBtn(
btnName: TranslationLoader.lanKeys!.sendKey!.tr, btnName: TranslationLoader.lanKeys!.sendKey!.tr,
onClick: () { onClick: () {
Navigator.pushNamed(context, Routers.sendElectronicKeyPage).then((val) { Navigator.pushNamed(context, Routers.sendElectronicKeyPage).then((Object? val) {
if (val != null) { if (val != null) {
logic.pageNo = 1; logic.pageNo = 1;
mockRequest(); mockRequest();
@ -130,7 +129,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
child: ListView.separated( child: ListView.separated(
shrinkWrap: true, shrinkWrap: true,
itemCount: state.itemDataList.value.length, itemCount: state.itemDataList.value.length,
itemBuilder: (c, index) { itemBuilder: (BuildContext c, int index) {
ElectronicKeyListItem indexEntity = state.itemDataList.value[index]; ElectronicKeyListItem indexEntity = state.itemDataList.value[index];
String useDateStr = ''; //使 String useDateStr = ''; //使
String keyStatus = ''; // String keyStatus = ''; //
@ -154,7 +153,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
endActionPane: ActionPane( endActionPane: ActionPane(
extentRatio: 0.2, extentRatio: 0.2,
motion: const ScrollMotion(), motion: const ScrollMotion(),
children: [ children: <Widget>[
SlidableAction( SlidableAction(
onPressed: (BuildContext context) { onPressed: (BuildContext context) {
logic.deletKeyLogic(indexEntity); logic.deletKeyLogic(indexEntity);
@ -175,9 +174,9 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
indexEntity.remoteEnable == 1 ? true : false, () { indexEntity.remoteEnable == 1 ? true : false, () {
Navigator.pushNamed( Navigator.pushNamed(
context, Routers.electronicKeyDetailPage, context, Routers.electronicKeyDetailPage,
arguments: { arguments: <String, ElectronicKeyListItem>{
"itemData": indexEntity, 'itemData': indexEntity,
}).then((val) { }).then((Object? val) {
if (val != null) { if (val != null) {
logic.mockNetworkDataRequest(); logic.mockNetworkDataRequest();
setState(() {}); setState(() {});
@ -214,7 +213,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
useDateStr = '${sendDateStr.toLocal().toString().substring(0, 16)} ${"永久".tr}'; useDateStr = '${sendDateStr.toLocal().toString().substring(0, 16)} ${"永久".tr}';
} else if (indexEntity.keyType == XSConstantMacro.keyTypeOnce) { } else if (indexEntity.keyType == XSConstantMacro.keyTypeOnce) {
// //
useDateStr = "单次".tr; useDateStr = '单次'.tr;
useDateStr = '${sendDateStr.toLocal().toString().substring(0, 16)} ${"单次".tr}'; useDateStr = '${sendDateStr.toLocal().toString().substring(0, 16)} ${"单次".tr}';
} else if (indexEntity.keyType == XSConstantMacro.keyTypeLoop) { } else if (indexEntity.keyType == XSConstantMacro.keyTypeLoop) {
// //
@ -232,7 +231,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
color: Colors.white, color: Colors.white,
height: 90.h, height: 90.h,
child: Row( child: Row(
children: [ children: <Widget>[
SizedBox(width: 30.w), SizedBox(width: 30.w),
Image.asset( Image.asset(
avatarURL, avatarURL,
@ -243,14 +242,14 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
Expanded( Expanded(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: <Widget>[
Row( Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween, // mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: <Widget>[
SizedBox( SizedBox(
width: 1.sw - 110.w - 34.w - 60.w, width: 1.sw - 110.w - 34.w - 60.w,
child: Row( child: Row(
children: [ children: <Widget>[
Flexible( Flexible(
child: Text(receiveUser, child: Text(receiveUser,
maxLines: 1, maxLines: 1,
@ -290,7 +289,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
SizedBox(height: 10.h), SizedBox(height: 10.h),
Row( Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: <Widget>[
Text( Text(
useDate, useDate,
style: TextStyle( style: TextStyle(