diff --git a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart index 715764e9..840c39c1 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart @@ -276,9 +276,8 @@ class _SendElectronicKeyPageState extends State { state.keyNameController.text.isNotEmpty) { if (int.parse(widget.type) == 0) { //失效时间大于生效时间 - if (state.failureDateTime.value - .compareTo(state.effectiveDateTime.value) == - 1) { + if (state.effectiveDateTime.value + .isBefore(state.failureDateTime.value)) { logic.sendElectronicKeyRequest(context); } else { Toast.show(msg: '失效时间需大于生效时间'); diff --git a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart index be6b10fb..2a51f040 100644 --- a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart +++ b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart @@ -288,6 +288,28 @@ class _PasswordKeyPerpetualPageState extends State { ]; showPickerView(context, pickerDataList); }), + CommonItem( + leftTitel: '结束日期', + rightTitle: state.selectFailureDate.value, + isHaveLine: true, + isHaveDirection: true, + action: () { + Pickers.showDatePicker(context, mode: DateMode.YMDH, + onConfirm: (p) { + state.failureDateTime.value = DateTime.parse( + '${p.year}-${intToStr(p.month!)}-${intToStr(p.day!)} ${intToStr(p.hour!)}'); + state.selectFailureDate.value = + "${formatDate(state.failureDateTime.value, [ + yyyy, + '-', + mm, + '-', + dd, + ' ', + HH + ])}:00"; + }); + }), CommonItem( leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle: state.loopEffectiveDate.value, @@ -387,11 +409,10 @@ class _PasswordKeyPerpetualPageState extends State { return; } - //限时||循环 + //限时 if (getWidgetNumber == 1) { - if (state.failureDateTime.value - .compareTo(state.effectiveDateTime.value) != - 1) { + if (!state.effectiveDateTime.value + .isBefore(state.failureDateTime.value)) { Toast.show(msg: '失效时间需大于生效时间'); return; } @@ -406,9 +427,8 @@ class _PasswordKeyPerpetualPageState extends State { } //非永久 须有时限 if (state.isPermanent.value == false) { - if (state.failureDateTime.value - .compareTo(state.effectiveDateTime.value) != - 1) { + if (!state.effectiveDateTime.value + .isBefore(state.failureDateTime.value)) { Toast.show(msg: '失效时间需大于生效时间'); return; } @@ -417,6 +437,19 @@ class _PasswordKeyPerpetualPageState extends State { logic.addKeyboardPwdRequest(); } + //循环密码 + if (getWidgetNumber == 4) { + if (!state.effectiveDateTime.value + .isBefore(state.failureDateTime.value)) { + Toast.show(msg: '结束时间需大于当前时间'); + return; + } + if (state.loopEndHours.value <= state.loopStartHours.value) { + Toast.show(msg: '失效时间需大于生效时间'); + return; + } + } + logic.getKeyboardPwdRequest(); } else { Toast.show(msg: '演示模式');