From 4b63114795225e0e5db8d12429a0ba16ab2c9484 Mon Sep 17 00:00:00 2001 From: easy <1358086367@qq.com> Date: Mon, 13 Mar 2023 16:03:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9D=83=E9=99=90=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/Menu/Detail/BasicInfo.vue | 8 ++-- .../Permission/components/EditDialog.vue | 42 ++++++++++++------- src/views/system/Permission/index.vue | 12 +++--- 3 files changed, 38 insertions(+), 24 deletions(-) diff --git a/src/views/system/Menu/Detail/BasicInfo.vue b/src/views/system/Menu/Detail/BasicInfo.vue index 2d5523bf..80bc3a00 100644 --- a/src/views/system/Menu/Detail/BasicInfo.vue +++ b/src/views/system/Menu/Detail/BasicInfo.vue @@ -45,8 +45,8 @@ label="名称" name="name" :rules="[ - { required: true, message: '请输入名称' }, - { max: 64, message: '最多可输入64个字符' }, + { required: true, message: '请输入名称',trigger: 'change', }, + { max: 64, message: '最多可输入64个字符', trigger: 'change', }, ]" > @@ -57,8 +57,8 @@ label="编码" name="code" :rules="[ - { required: true, message: '' }, - { max: 64, message: '' }, + { required: true, message: '请输入编码', trigger: 'change', }, + { max: 64, message: '最多可输入64个字符', trigger: 'change', }, { validator: form.checkCode, trigger: 'blur', diff --git a/src/views/system/Permission/components/EditDialog.vue b/src/views/system/Permission/components/EditDialog.vue index b1b73638..66c2ed21 100644 --- a/src/views/system/Permission/components/EditDialog.vue +++ b/src/views/system/Permission/components/EditDialog.vue @@ -12,7 +12,16 @@ @@ -146,16 +159,17 @@ const form = reactive({ }, rules: { // 校验标识是否可用 - idCheck: (_rule: Rule, id: string, cb: Function) => { - if (props.data.id) return cb(); - else if (!id) return cb('请输入标识(ID)'); - checkId_api({ id }) - .then((resp: any) => { - if (resp.status === 200 && !resp.result.passed) - cb(resp.result.reason); - else cb(); - }) - .catch(() => cb('验证失败')); + idCheck: async (_rule: Rule, id: string): Promise => { + if (!id) return Promise.reject('请输入标识(ID)'); + else if (id.length > 64) + return Promise.reject('最多可输入64个字符'); + else if (props.data.id && props.data.id === form.data.id) + return Promise.resolve(); + else { + const resp: any = await checkId_api({ id }); + if (resp.result.passed) return Promise.resolve(); + else return Promise.reject(resp.result.reason); + } }, }, submit: () => { diff --git a/src/views/system/Permission/index.vue b/src/views/system/Permission/index.vue index cf192252..66497b05 100644 --- a/src/views/system/Permission/index.vue +++ b/src/views/system/Permission/index.vue @@ -17,7 +17,7 @@