fix:修复限时密码的起始时间问题,修复设置页面上传数据后没有刷新

This commit is contained in:
anfe 2024-06-20 18:09:24 +08:00
parent 4cf9c99e5d
commit 60fd4f635d
5 changed files with 266 additions and 205 deletions

View File

@ -4,7 +4,7 @@
class IoModelVendor { class IoModelVendor {
static String vendor_XHJ = 'XHJ'; static String vendor_XHJ = 'XHJ';
static String model_XHJ_SYD = 'SYD-BLE-01'; static String model_XHJ_SYD = 'SYD8811-751';
static String model_XHJ_JL = 'JL-BLE-01'; static String model_XHJ_JL = 'JL-BLE-01';
static String vendor_XL = 'XL'; static String vendor_XL = 'XL';

View File

@ -649,7 +649,10 @@ class LockSetLogic extends BaseGetXController {
recordType: recordType, recordType: recordType,
records: records, records: records,
isUnShowLoading: true); isUnShowLoading: true);
if (entity.errorCode!.codeIsSuccessful) {} if (entity.errorCode!.codeIsSuccessful) {
await getLockSettingInfoData();
update();
}
} }
@override @override

View File

@ -28,7 +28,9 @@ class LockSetPage extends StatefulWidget {
class _LockSetPageState extends State<LockSetPage> with RouteAware { class _LockSetPageState extends State<LockSetPage> with RouteAware {
final LockSetLogic logic = Get.put(LockSetLogic()); final LockSetLogic logic = Get.put(LockSetLogic());
final LockSetState state = Get.find<LockSetLogic>().state; final LockSetState state = Get
.find<LockSetLogic>()
.state;
Future<void> getHttpData() async { Future<void> getHttpData() async {
logic.getLockSettingInfoData().then((LockSetInfoEntity value) { logic.getLockSettingInfoData().then((LockSetInfoEntity value) {
@ -49,6 +51,7 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GetBuilder<LockSetLogic>(builder: (LockSetLogic logic) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar( appBar: TitleAppBar(
@ -62,13 +65,15 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Expanded( Expanded(
child: Obx(() => ListView( child: Obx(() =>
ListView(
children: getListWidget(), children: getListWidget(),
)), )),
), ),
], ],
), ),
)); ));
});
} }
// //
@ -93,16 +98,20 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.basicInformationPage, Get.toNamed(Routers.basicInformationPage,
arguments: <String, LockSetInfoData>{'lockSetInfoData': state.lockSetInfoData.value}); arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value
});
}), }),
SizedBox(height: 10.h), SizedBox(height: 10.h),
// //
Obx(() => Visibility( Obx(() =>
Visibility(
visible: state.lockFeature.value.autoLock == 1, visible: state.lockFeature.value.autoLock == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr, leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr,
rightTitle: (state.lockSettingInfo.value.autoLock ?? 0) > 0 rightTitle: (state.lockSettingInfo.value.autoLock ?? 0) > 0
? '${state.lockSetInfoData.value.lockSettingInfo!.autoLockSecond ?? 0}s' ? '${state.lockSetInfoData.value.lockSettingInfo!
.autoLockSecond ?? 0}s'
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
@ -111,23 +120,27 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
// ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s" // ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s"
// : TranslationLoader.lanKeys!.closed!.tr), // : TranslationLoader.lanKeys!.closed!.tr),
action: () { action: () {
Get.toNamed(Routers.automaticBlockingPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.automaticBlockingPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value, 'lockSetInfoData': state.lockSetInfoData.value,
// 'lockBasicInfo': state.lockBasicInfo.value // 'lockBasicInfo': state.lockBasicInfo.value
}); });
}))), }))),
// //
Obx(() => Visibility( Obx(() =>
Visibility(
visible: state.lockFeature.value.passageMode == 1, visible: state.lockFeature.value.passageMode == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr, leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) == 1 rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) ==
1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.normallyOpenModePage, arguments: <String, Object>{ Get.toNamed(Routers.normallyOpenModePage,
arguments: <String, Object>{
'lockSetInfoData': state.lockSetInfoData.value, 'lockSetInfoData': state.lockSetInfoData.value,
'lockBasicInfo': state.lockBasicInfo.value 'lockBasicInfo': state.lockBasicInfo.value
}); });
@ -140,7 +153,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.lockTimePage, arguments: <String, LockSetInfoData>{ Get.toNamed(
Routers.lockTimePage, arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
})), })),
@ -174,7 +188,9 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.basicInformationPage, Get.toNamed(Routers.basicInformationPage,
arguments: <String, LockSetInfoData>{'lockSetInfoData': state.lockSetInfoData.value}); arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value
});
}), }),
SizedBox(height: 10.h), SizedBox(height: 10.h),
//by DaisyWu //by DaisyWu
@ -226,12 +242,14 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
// })), // })),
// SizedBox(height: 10.h), // SizedBox(height: 10.h),
// //
Obx(() => Visibility( Obx(() =>
Visibility(
visible: state.lockFeature.value.autoLock == 1, visible: state.lockFeature.value.autoLock == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr, leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr,
rightTitle: state.lockSettingInfo.value.autoLock! > 0 rightTitle: state.lockSettingInfo.value.autoLock! > 0
? '${state.lockSetInfoData.value.lockSettingInfo!.autoLockSecond}s' ? '${state.lockSetInfoData.value.lockSettingInfo!
.autoLockSecond}s'
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
@ -240,7 +258,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
// ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s" // ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s"
// : TranslationLoader.lanKeys!.closed!.tr), // : TranslationLoader.lanKeys!.closed!.tr),
action: () { action: () {
Get.toNamed(Routers.automaticBlockingPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.automaticBlockingPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
}))), }))),
@ -276,70 +295,84 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.lockSoundSetPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.lockSoundSetPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
})); }));
}), }),
// //
Obx(() => Visibility( Obx(() =>
Visibility(
visible: state.lockFeature.value.antiPrySwitch == 1, visible: state.lockFeature.value.antiPrySwitch == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr, leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr,
rightTitle: (state.lockSettingInfo.value.antiPrySwitch ?? 0) == 1 rightTitle: (state.lockSettingInfo.value.antiPrySwitch ??
0) == 1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.burglarAlarmPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.burglarAlarmPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
}))), }))),
SizedBox(height: 10.h), SizedBox(height: 10.h),
// //
Obx(() => Visibility( Obx(() =>
Visibility(
visible: state.lockFeature.value.passageMode == 1, visible: state.lockFeature.value.passageMode == 1,
// visible: true, // visible: true,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr, leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) == 1 rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) ==
1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.normallyOpenModePage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.normallyOpenModePage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
}))), }))),
// //
Obx(() => Visibility( Obx(() =>
Visibility(
visible: state.lockFeature.value.remoteUnlock == 1, visible: state.lockFeature.value.remoteUnlock == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr, leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr,
rightTitle: (state.lockSettingInfo.value.remoteUnlock ?? 0) == 1 rightTitle: (state.lockSettingInfo.value.remoteUnlock ?? 0) ==
1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.remoteUnlockingPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.remoteUnlockingPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
}))), }))),
// //
Obx(() => Visibility( Obx(() =>
visible: state.lockBasicInfo.value.isLockOwner == 1 && state.lockFeature.value.resetSwitch == 1, Visibility(
visible: state.lockBasicInfo.value.isLockOwner == 1 &&
state.lockFeature.value.resetSwitch == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.resetButton!.tr, leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
rightTitle: (state.lockSettingInfo.value.resetSwitch ?? 0) == 1 rightTitle: (state.lockSettingInfo.value.resetSwitch ?? 0) ==
1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.resetButtonPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.resetButtonPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
}))), }))),
@ -355,7 +388,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.faceUnlockPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.faceUnlockPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
})), })),
@ -370,10 +404,13 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.msgNotificationPage, Get.toNamed(Routers.msgNotificationPage,
arguments: <String, int?>{'lockId': state.lockSetInfoData.value.lockId}); arguments: <String, int?>{
'lockId': state.lockSetInfoData.value.lockId
});
})), })),
// //
Obx(() => Visibility( Obx(() =>
Visibility(
visible: state.lockFeature.value.isSupportCatEye == 1, visible: state.lockFeature.value.isSupportCatEye == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.catEyeSet!.tr, leftTitel: TranslationLoader.lanKeys!.catEyeSet!.tr,
@ -381,7 +418,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.catEyeSetPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.catEyeSetPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
}))), }))),
@ -420,7 +458,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveDirection: true, isHaveDirection: true,
isHaveLine: true, isHaveLine: true,
action: () { action: () {
Get.toNamed(Routers.openDoorDirectionPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.openDoorDirectionPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
})), })),
@ -472,8 +511,10 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
// }), // }),
// //
Obx( Obx(
() => Visibility( () =>
visible: state.lockBasicInfo.value.isLockOwner == 1 && state.lockFeature.value.attendance == 1, Visibility(
visible: state.lockBasicInfo.value.isLockOwner == 1 &&
state.lockFeature.value.attendance == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.checkingIn!.tr, leftTitel: TranslationLoader.lanKeys!.checkingIn!.tr,
rightTitle: '', rightTitle: '',
@ -483,8 +524,10 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
), ),
// //
Obx( Obx(
() => Visibility( () =>
visible: state.lockBasicInfo.value.isLockOwner == 1 && state.lockFeature.value.unlockReminder == 1, Visibility(
visible: state.lockBasicInfo.value.isLockOwner == 1 &&
state.lockFeature.value.unlockReminder == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr, leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr,
rightTitle: '', rightTitle: '',
@ -494,8 +537,10 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
), ),
// APP开锁时是否需联网 // APP开锁时是否需联网
Obx( Obx(
() => Visibility( () =>
visible: state.lockBasicInfo.value.isLockOwner == 1 && state.lockFeature.value.appUnlockOnline == 1, Visibility(
visible: state.lockBasicInfo.value.isLockOwner == 1 &&
state.lockFeature.value.appUnlockOnline == 1,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader leftTitel: TranslationLoader
.lanKeys!.whetherInternetRequiredWhenUnlocking!.tr, .lanKeys!.whetherInternetRequiredWhenUnlocking!.tr,
@ -508,7 +553,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
SizedBox(height: 10.h), SizedBox(height: 10.h),
// wifi配网 // wifi配网
Obx( Obx(
() => Visibility( () =>
Visibility(
visible: state.lockFeature.value.wifi == 1, visible: state.lockFeature.value.wifi == 1,
child: CommonItem( child: CommonItem(
leftTitel: leftTitel:
@ -517,7 +563,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.wifiListPage, arguments: <String, LockSetInfoData>{ Get.toNamed(Routers.wifiListPage,
arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
// Get.toNamed(Routers.configuringWifiPage, arguments: { // Get.toNamed(Routers.configuringWifiPage, arguments: {
@ -535,7 +582,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.toNamed(Routers.lockTimePage, arguments: <String, LockSetInfoData>{ Get.toNamed(
Routers.lockTimePage, arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value 'lockSetInfoData': state.lockSetInfoData.value
}); });
})), })),
@ -628,13 +676,17 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
thumbColor: CupertinoColors.white, thumbColor: CupertinoColors.white,
value: state.isAttendance.value == 1, value: state.isAttendance.value == 1,
onChanged: (bool value) { onChanged: (bool value) {
logic.openCheckingInData((CheckingInInfoDataEntity checkingInInfoDataEntity) { logic.openCheckingInData((
CheckingInInfoDataEntity checkingInInfoDataEntity) {
if (checkingInInfoDataEntity.data!.companyId == 0) { if (checkingInInfoDataEntity.data!.companyId == 0) {
// logic.showCupertinoAlertDialog(context); // logic.showCupertinoAlertDialog(context);
ShowTipView().showIosTipWithContentDialog('创建公司后,考勤功能才能使用'.tr, () { ShowTipView().showIosTipWithContentDialog(
'创建公司后,考勤功能才能使用'.tr, () {
// //
Get.toNamed(Routers.checkInCreatCompanyPage, Get.toNamed(Routers.checkInCreatCompanyPage,
arguments: <String, LockSetInfoData>{'lockSetInfoData': state.lockSetInfoData.value}); arguments: <String, LockSetInfoData>{
'lockSetInfoData': state.lockSetInfoData.value
});
}); });
} else { } else {
logic.setLockSetGeneralSetting(); logic.setLockSetGeneralSetting();

View File

@ -27,7 +27,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
// //
Future<void> getKeyboardPwdRequest() async { Future<void> getKeyboardPwdRequest() async {
int startDate = DateTool().dateToTimestamp(state.beginTime.value, 1); int startDate = DateTool().dateToTimestamp(state.beginTime.value, 1);
final int endDate = DateTool().dateToTimestamp(state.endTime.value, 1); int endDate = DateTool().dateToTimestamp(state.endTime.value, 1);
final int lockId = state.keyInfo.value.lockId!; final int lockId = state.keyInfo.value.lockId!;
String getKeyType = '0'; String getKeyType = '0';
@ -55,6 +55,10 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
showToast('失效时间要大于当前时间'.tr); showToast('失效时间要大于当前时间'.tr);
return; return;
} }
//endDate 0
final DateTime now = DateTime.now();
startDate =
DateTime(now.year, now.month, now.day).millisecondsSinceEpoch;
} }
// //
@ -221,6 +225,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
// late DateTime getStartDateTime; // late DateTime getStartDateTime;
// //
late StreamSubscription<Reply> _replySubscription; late StreamSubscription<Reply> _replySubscription;
void _initReplySubscription() { void _initReplySubscription() {
_replySubscription = _replySubscription =
EventBusManager().eventBus!.on<Reply>().listen((Reply reply) async { EventBusManager().eventBus!.on<Reply>().listen((Reply reply) async {
@ -436,7 +441,8 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
case 3: case 3:
// //
if (state.isPermanent.value == false) { if (state.isPermanent.value == false) {
useDateStr = '类型:自定义-限时\n有效期:${state.customBeginTime.value} -- ${state.customEndTime.value}'; useDateStr =
'类型:自定义-限时\n有效期:${state.customBeginTime.value} -- ${state.customEndTime.value}';
} else { } else {
useDateStr = '类型:自定义-永久'; useDateStr = '类型:自定义-永久';
} }

View File

@ -225,7 +225,7 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage>
return Column( return Column(
children: <Widget>[ children: <Widget>[
Visibility( Visibility(
visible: CommonDataManage().currentKeyInfo.vendor == 'XHJ', visible: CommonDataManage().currentKeyInfo.vendor != 'XHJ',
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr, leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: state.beginTime.value, rightTitle: state.beginTime.value,