diff --git a/src/views/system/Menu/Detail/BasicInfo.vue b/src/views/system/Menu/Detail/BasicInfo.vue
index 1b2cc56d..52111879 100644
--- a/src/views/system/Menu/Detail/BasicInfo.vue
+++ b/src/views/system/Menu/Detail/BasicInfo.vue
@@ -11,6 +11,7 @@
{
required: true,
message: '请上传图标',
+ trigger: 'change',
},
]"
style="flex: 0 0 186px"
@@ -45,11 +46,22 @@
label="名称"
name="name"
:rules="[
- { required: true, message: '请输入名称',trigger: 'change', },
- { max: 64, message: '最多可输入64个字符', trigger: 'change', },
+ {
+ required: true,
+ message: '请输入名称',
+ trigger: 'change',
+ },
+ {
+ max: 64,
+ message: '最多可输入64个字符',
+ trigger: 'change',
+ },
]"
>
-
+
@@ -57,15 +69,26 @@
label="编码"
name="code"
:rules="[
- { required: true, message: '请输入编码', trigger: 'change', },
- { max: 64, message: '最多可输入64个字符', trigger: 'change', },
+ {
+ required: true,
+ message: '请输入编码',
+ trigger: 'change',
+ },
+ {
+ max: 64,
+ message: '最多可输入64个字符',
+ trigger: 'change',
+ },
{
validator: form.checkCode,
trigger: 'blur',
},
]"
>
-
+
@@ -80,7 +103,10 @@
{ max: 128, message: '最多可输入128字符' },
]"
>
-
+
@@ -94,7 +120,11 @@
},
]"
>
-
+
@@ -104,6 +134,8 @@
@@ -277,7 +309,7 @@ const form = reactive({
accessSupport:
resp.result?.accessSupport?.value || 'unsupported',
};
- form.sourceCode = resp.result.code
+ form.sourceCode = resp.result.code;
});
// 获取关联菜单
getMenuTree_api({ paging: false }).then((resp: any) => {
@@ -292,10 +324,11 @@ const form = reactive({
});
},
checkCode: async (_rule: Rule, value: string): Promise => {
- if (!value) return Promise.reject('请输入编码');
+ if (!value) return Promise.reject('');
else if (value.length > 64) return Promise.reject('最多可输入64个字符');
// 编辑时不校验原本的编码
- else if (routeParams.id && value === form.sourceCode) return Promise.resolve('');
+ else if (routeParams.id && value === form.sourceCode)
+ return Promise.resolve('');
else {
const resp: any = await validCode_api({
code: value,
@@ -372,6 +405,13 @@ type assetType = {
label: string;
value: string;
};
+
+watch(
+ () => form.data.icon,
+ () => {
+ basicFormRef.value?.validate();
+ },
+);