-
-
- {{ $t('commons.button.create') }}
-
- {{ $t('commons.button.delete') }}
-
-
-
-
-
-
-
-
+
+
+
+
+
+ {{ $t('commons.button.create') }}
+
+ {{ $t('commons.button.delete') }}
+
+
+
+
+
+
+
+
@@ -36,9 +38,10 @@
diff --git a/frontend/src/views/host/terminal/host/index.vue b/frontend/src/views/host/terminal/host/index.vue
index 8d142610c..4b9d2e8d5 100644
--- a/frontend/src/views/host/terminal/host/index.vue
+++ b/frontend/src/views/host/terminal/host/index.vue
@@ -1,119 +1,143 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ node.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('terminal.passwordMode') }}
- {{ $t('terminal.keyMode') }}
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
- {{ $t('commons.button.reset') }}
-
-
- {{ $t('terminal.testConn') }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ node.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('terminal.passwordMode') }}
+ {{ $t('terminal.keyMode') }}
+
+
+
- {{ $t('commons.button.create') }}
-
-
- {{ $t('commons.button.confirm') }}
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ $t('commons.button.reset') }}
+
+
+ {{ $t('terminal.testConn') }}
+
+
+ {{ $t('commons.button.create') }}
+
+
+ {{ $t('commons.button.confirm') }}
+
+
+
+
+
+
+
-
diff --git a/frontend/src/views/host/terminal/terminal/terminal.vue b/frontend/src/views/host/terminal/terminal/terminal.vue
new file mode 100644
index 000000000..8c1b8b989
--- /dev/null
+++ b/frontend/src/views/host/terminal/terminal/terminal.vue
@@ -0,0 +1,176 @@
+
+
+
+
+
+
diff --git a/frontend/src/views/setting/tabs/panel.vue b/frontend/src/views/setting/tabs/panel.vue
index 576c6d78f..1b8692566 100644
--- a/frontend/src/views/setting/tabs/panel.vue
+++ b/frontend/src/views/setting/tabs/panel.vue
@@ -182,7 +182,7 @@ const passRules = reactive({
Rules.requiredInput,
{ min: 6, message: i18n.global.t('commons.rule.commonPassword'), trigger: 'blur' },
],
- newPasswordComplexity: [Rules.password],
+ newPasswordComplexity: [Rules.requiredInput, Rules.password],
retryPassword: [Rules.requiredInput, { validator: checkPassword, trigger: 'blur' }],
});
const passwordVisiable = ref
(false);
diff --git a/frontend/src/views/setting/tabs/safe.vue b/frontend/src/views/setting/tabs/safe.vue
index b5b3a1e48..e65964752 100644
--- a/frontend/src/views/setting/tabs/safe.vue
+++ b/frontend/src/views/setting/tabs/safe.vue
@@ -10,58 +10,6 @@
-
-
-
+
{{ $t('setting.timeoutHelper', [loadTimeOut()]) }}
+
+ {{ $t('setting.noneSetting') }}
+
{
let time = new Date(new Date().getTime() + 3600 * 1000 * 24 * timeoutForm.days);
await updateSetting({ key: 'ExpirationDays', value: timeoutForm.days + '' });
emit('search');
+ loadTimeOut();
form.settingInfo.expirationTime = dateFromat(0, 0, time);
timeoutVisiable.value = false;
});
@@ -248,9 +203,14 @@ const submitTimeout = async (formEl: FormInstance | undefined) => {
function loadTimeOut() {
if (form.settingInfo.expirationDays === 0) {
- return '-';
+ form.settingInfo.expirationTime = i18n.global.t('setting.unSetting');
+ return i18n.global.t('setting.unSetting');
}
let staytimeGap = new Date(form.settingInfo.expirationTime).getTime() - new Date().getTime();
- return staytimeGap < 0 ? '-' : Math.floor(staytimeGap / (3600 * 1000 * 24));
+ if (staytimeGap < 0) {
+ form.settingInfo.expirationTime = i18n.global.t('setting.unSetting');
+ return i18n.global.t('setting.unSetting');
+ }
+ return Math.floor(staytimeGap / (3600 * 1000 * 24));
}