From f00d69d30e122781621442764985f94ef08709fe Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Thu, 23 Mar 2023 18:02:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20bug#10841=E3=80=8110838=E3=80=8110835?= =?UTF-8?q?=E3=80=8110834=E3=80=8110828=E3=80=8110827?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/Menu/Detail/BasicInfo.vue | 62 ++++++++++++--- src/views/system/Menu/index.vue | 7 +- .../Platforms/Api/components/ApiTest.vue | 51 ++++++++++-- .../Platforms/Api/components/ChooseApi.vue | 3 + .../Platforms/Api/components/LeftTree.vue | 79 +++++++++++-------- vite.config.ts | 4 +- 6 files changed, 147 insertions(+), 59 deletions(-) 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(); + }, +);