diff --git a/frontend/src/components/business/ms-batch-form/index.vue b/frontend/src/components/business/ms-batch-form/index.vue
index cbc918c226..54b2c238fb 100644
--- a/frontend/src/components/business/ms-batch-form/index.vue
+++ b/frontend/src/components/business/ms-batch-form/index.vue
@@ -57,6 +57,7 @@
:placeholder="t(model.placeholder || '')"
:max-length="model.maxLength || 255"
allow-clear
+ @change="emit('change')"
/>
@@ -123,6 +129,7 @@
:style="{ 'margin-top': index === 0 && !props.isShowDrag ? '36px' : '' }"
size="small"
type="line"
+ @change="emit('change')"
/>
[],
diff --git a/frontend/src/components/business/ms-case-associate/index.vue b/frontend/src/components/business/ms-case-associate/index.vue
index 4fcfab435d..8989563156 100644
--- a/frontend/src/components/business/ms-case-associate/index.vue
+++ b/frontend/src/components/business/ms-case-associate/index.vue
@@ -348,8 +348,9 @@
},
{
title: 'ms.case.associate.version',
- slotName: 'version',
- width: 200,
+ dataIndex: 'versionName',
+ width: 100,
+ showTooltip: true,
},
{
title: 'ms.case.associate.tags',
diff --git a/frontend/src/components/pure/ms-password-input/index.vue b/frontend/src/components/pure/ms-password-input/index.vue
index 82428b50d7..4bbe83b316 100644
--- a/frontend/src/components/pure/ms-password-input/index.vue
+++ b/frontend/src/components/pure/ms-password-input/index.vue
@@ -20,10 +20,12 @@
- {{ t('ms.passwordInput.passwordWordRule') }}
+
+ {{ t('ms.passwordInput.passwordWordRule', { symbol: '!@#$%^&*()_+.' }) }}
- {{ t('ms.passwordInput.passwordWordRule') }}
+
+ {{ t('ms.passwordInput.passwordWordRule', { symbol: '!@#$%^&*()_+.' }) }}
diff --git a/frontend/src/components/pure/ms-password-input/locale/en-US.ts b/frontend/src/components/pure/ms-password-input/locale/en-US.ts
index 68b0fe97bc..2b8993fe82 100644
--- a/frontend/src/components/pure/ms-password-input/locale/en-US.ts
+++ b/frontend/src/components/pure/ms-password-input/locale/en-US.ts
@@ -2,5 +2,6 @@ export default {
'ms.passwordInput.passwordPlaceholder': 'Please enter password',
'ms.passwordInput.passwordTipTitle': 'Passwords must match both, and only the following rules are supported:',
'ms.passwordInput.passwordLengthRule': 'Length is 8-32 bits',
- 'ms.passwordInput.passwordWordRule': 'Must contain numbers and letters, Chinese or spaces are not allowed',
+ 'ms.passwordInput.passwordWordRule':
+ 'Must contain numbers and letters, Chinese or spaces are not allowed, The range of special symbols allowed to be entered: {symbol}',
};
diff --git a/frontend/src/components/pure/ms-password-input/locale/zh-CN.ts b/frontend/src/components/pure/ms-password-input/locale/zh-CN.ts
index ebdad65d36..d428f75c2d 100644
--- a/frontend/src/components/pure/ms-password-input/locale/zh-CN.ts
+++ b/frontend/src/components/pure/ms-password-input/locale/zh-CN.ts
@@ -2,5 +2,5 @@ export default {
'ms.passwordInput.passwordPlaceholder': '请输入密码',
'ms.passwordInput.passwordTipTitle': '密码须同时符合,仅支持以下规则',
'ms.passwordInput.passwordLengthRule': '长度为8-32位',
- 'ms.passwordInput.passwordWordRule': '必须包含数字和字母,不允许输入中文或空格',
+ 'ms.passwordInput.passwordWordRule': '必须包含数字和字母,不允许输入中文或空格,允许输入的特殊符号范围:{symbol}',
};
diff --git a/frontend/src/locale/en-US/common.ts b/frontend/src/locale/en-US/common.ts
index 9ebd0d6bc7..731708eea2 100644
--- a/frontend/src/locale/en-US/common.ts
+++ b/frontend/src/locale/en-US/common.ts
@@ -115,4 +115,5 @@ export default {
'common.nameIsTooLang': 'The name exceeds 255 characters',
'common.validateSuccess': 'Validate success',
'common.to': 'To',
+ 'common.tip': 'Tips',
};
diff --git a/frontend/src/locale/zh-CN/common.ts b/frontend/src/locale/zh-CN/common.ts
index 484d126e66..3cbddf5d6c 100644
--- a/frontend/src/locale/zh-CN/common.ts
+++ b/frontend/src/locale/zh-CN/common.ts
@@ -118,4 +118,5 @@ export default {
'common.nameIsTooLang': '名称超过255个字符',
'common.validateSuccess': '验证成功',
'common.to': '至',
+ 'common.tip': '温馨提示',
};
diff --git a/frontend/src/utils/validate.ts b/frontend/src/utils/validate.ts
index 82be30acb7..cd8e747f3d 100644
--- a/frontend/src/utils/validate.ts
+++ b/frontend/src/utils/validate.ts
@@ -4,8 +4,8 @@ export const emailRegex = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/;
export const phoneRegex = /^\d{11}$/;
// 密码校验,8-32位
export const passwordLengthRegex = /^.{8,32}$/;
-// 密码校验,必须包含数字和字母
-export const passwordWordRegex = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z0-9!@#$%^&*]+$/;
+// 密码校验,必须包含数字和字母,特殊符号范围校验
+export const passwordWordRegex = /^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z!@#$%^&*()_+.]+$/;
// Git地址校验
export const gitRepositoryUrlRegex = /\.git$/;
diff --git a/frontend/src/views/case-management/caseReview/components/detail/caseTable.vue b/frontend/src/views/case-management/caseReview/components/detail/caseTable.vue
index 00e8571fdb..d24e99b15a 100644
--- a/frontend/src/views/case-management/caseReview/components/detail/caseTable.vue
+++ b/frontend/src/views/case-management/caseReview/components/detail/caseTable.vue
@@ -336,14 +336,16 @@
titleSlotName: 'resultTitle',
width: 110,
},
- // {
- // title: 'caseManagement.caseReview.version',
- // dataIndex: 'versionName',
- // width: 90,
- // },
+ {
+ title: 'caseManagement.caseReview.version',
+ dataIndex: 'versionName',
+ width: 100,
+ showTooltip: true,
+ },
{
title: 'caseManagement.caseReview.creator',
dataIndex: 'createUserName',
+ showTooltip: true,
width: 150,
},
{
diff --git a/frontend/src/views/login/components/login-form.vue b/frontend/src/views/login/components/login-form.vue
index f0c44a8f91..ab5c031050 100644
--- a/frontend/src/views/login/components/login-form.vue
+++ b/frontend/src/views/login/components/login-form.vue
@@ -5,7 +5,7 @@
- {{ innerSlogan || t('login.form.title') }}
+ {{ t(innerSlogan || '') || t('login.form.title') }}
@@ -73,7 +73,6 @@
import { useStorage } from '@vueuse/core';
import { Message } from '@arco-design/web-vue';
- import { getAuthenticationList } from '@/api/modules/user';
import { GetLoginLogoUrl } from '@/api/requrls/setting/config';
import { useI18n } from '@/hooks/useI18n';
import useLoading from '@/hooks/useLoading';
diff --git a/frontend/src/views/project-management/fileManagement/components/fileDetailDrawer.vue b/frontend/src/views/project-management/fileManagement/components/fileDetailDrawer.vue
index 9a880baf8a..f9da3b2c9a 100644
--- a/frontend/src/views/project-management/fileManagement/components/fileDetailDrawer.vue
+++ b/frontend/src/views/project-management/fileManagement/components/fileDetailDrawer.vue
@@ -177,9 +177,9 @@
v-on="caseTableEvent"
>
-
-
- {{ record.id }}
+
+
+ {{ record.sourceNum }}
@@ -400,7 +400,7 @@
const caseColumns: MsTableColumn = [
{
title: 'project.fileManagement.caseId',
- dataIndex: 'id',
+ dataIndex: 'sourceId',
slotName: 'id',
showTooltip: true,
width: 150,
diff --git a/frontend/src/views/setting/system/config/components/authConfig.vue b/frontend/src/views/setting/system/config/components/authConfig.vue
index f56e0c1571..48ec22ecf5 100644
--- a/frontend/src/views/setting/system/config/components/authConfig.vue
+++ b/frontend/src/views/setting/system/config/components/authConfig.vue
@@ -11,9 +11,9 @@
{{ record.name }}
- {{
- t('system.config.auth.edit')
- }}
+
+ {{ t('system.config.auth.edit') }}
+
{{ t('system.config.auth.disable') }}
- {{
- t('system.config.auth.enable')
- }}
+
+ {{ t('system.config.auth.enable') }}
+
-
+
{{ item }}
diff --git a/frontend/src/views/setting/system/config/components/memoryCleanup.vue b/frontend/src/views/setting/system/config/components/memoryCleanup.vue
index 4830b1039c..a769bf7e95 100644
--- a/frontend/src/views/setting/system/config/components/memoryCleanup.vue
+++ b/frontend/src/views/setting/system/config/components/memoryCleanup.vue
@@ -66,7 +66,6 @@
import { getCleanupConfig, saveCleanupConfig } from '@/api/modules/setting/config';
import { useI18n } from '@/hooks/useI18n';
import { useUserStore } from '@/store';
- import { hasAnyPermission } from '@/utils/permission';
const userStore = useUserStore();
const { t } = useI18n();
diff --git a/frontend/src/views/setting/system/log/components/logCards.vue b/frontend/src/views/setting/system/log/components/logCards.vue
index 7241e2d4d6..02756d7fe1 100644
--- a/frontend/src/views/setting/system/log/components/logCards.vue
+++ b/frontend/src/views/setting/system/log/components/logCards.vue
@@ -520,7 +520,7 @@
module: _module.value,
content: content.value,
startTime: time.value[0],
- endTime: time.value[1],
+ endTime: (time.value[1] as number) + 1000, // +1s 因为后台记录的是毫秒级,但是前端只能选秒到级
level: level.value,
});
resetPagination();
diff --git a/frontend/src/views/setting/system/user/components/batchModal.vue b/frontend/src/views/setting/system/user/components/batchModal.vue
index d8715427e4..e99bdd5dd4 100644
--- a/frontend/src/views/setting/system/user/components/batchModal.vue
+++ b/frontend/src/views/setting/system/user/components/batchModal.vue
@@ -115,6 +115,7 @@
}
treeData.value = resTree;
} catch (error) {
+ // eslint-disable-next-line no-console
console.log(error);
} finally {
loading.value = false;
@@ -185,8 +186,6 @@
batchLoading.value = false;
}
}
-
- function handleClose() {}
diff --git a/frontend/src/views/setting/system/user/index.vue b/frontend/src/views/setting/system/user/index.vue
index fd6229e4c1..7c24ffd114 100644
--- a/frontend/src/views/setting/system/user/index.vue
+++ b/frontend/src/views/setting/system/user/index.vue
@@ -92,7 +92,7 @@
title-align="start"
class="ms-modal-form ms-modal-medium"
:mask-closable="false"
- @close="handleUserModalClose"
+ :closable="false"
>
{{ t('system.user.createUserTip') }}
-
+
{{ t('system.user.editUserModalCancelCreate') }}
@@ -820,6 +821,11 @@
placeholder: 'system.user.createUserPhonePlaceholder',
},
]);
+ const isBatchFormChange = ref(false);
+
+ function handleBatchFormChange() {
+ isBatchFormChange.value = true;
+ }
/**
* 取消创建,重置用户表单
@@ -955,12 +961,21 @@
});
}
- /**
- * 处理用户表单弹窗关闭
- */
- function handleUserModalClose() {
- resetUserForm();
- batchFormRef.value?.resetForm();
+ function handleBeforeClose() {
+ if (isBatchFormChange.value) {
+ openModal({
+ type: 'warning',
+ title: t('common.tip'),
+ content: t('system.user.closeTip'),
+ okText: t('common.close'),
+ onBeforeOk: async () => {
+ cancelCreate();
+ },
+ hideCancel: false,
+ });
+ } else {
+ cancelCreate();
+ }
}
const inviteVisible = ref(false);
diff --git a/frontend/src/views/setting/system/user/locale/en-US.ts b/frontend/src/views/setting/system/user/locale/en-US.ts
index 1039831d04..a6ea87af6e 100644
--- a/frontend/src/views/setting/system/user/locale/en-US.ts
+++ b/frontend/src/views/setting/system/user/locale/en-US.ts
@@ -114,5 +114,6 @@ export default {
'system.user.importErrorMessageTitle': 'Failed to import some user information',
'system.user.seeMore': 'View more',
'system.user.num': 'Line',
- 'system.user.line': '',
+ 'system.user.line': '', // 英文没有后面的单位
+ 'system.user.closeTip': 'Your changes have not been saved. Do you want to continue closing the window?',
};
diff --git a/frontend/src/views/setting/system/user/locale/zh-CN.ts b/frontend/src/views/setting/system/user/locale/zh-CN.ts
index 9cec5e1e54..e50b2cdf3e 100644
--- a/frontend/src/views/setting/system/user/locale/zh-CN.ts
+++ b/frontend/src/views/setting/system/user/locale/zh-CN.ts
@@ -114,4 +114,5 @@ export default {
'system.user.seeMore': '查看更多',
'system.user.num': '第',
'system.user.line': '行',
+ 'system.user.closeTip': '您的更改尚未保存,是否要继续关闭窗口?',
};