From 26ab89b7009cf9fc4b16898c810bc7a49eb1f6b1 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Sun, 17 Dec 2023 11:10:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=A0=A1=E9=AA=8C=20?= =?UTF-8?q?=E6=AF=8F=E6=AC=A1=E9=83=BD=E4=BC=9A=E8=A7=A6=E5=8F=91=EF=BC=8C?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E5=BF=AB=E4=BA=86=EF=BC=8C=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E5=B0=B1=E4=B8=8D=E4=BC=9A=E6=98=BE=E7=A4=BA=E2=80=9C=E8=AF=A5?= =?UTF-8?q?=E5=80=BC=E4=B8=8D=E5=8F=AF=E7=94=A8=E2=80=9D=EF=BC=88=E5=8A=A0?= =?UTF-8?q?=E9=98=B2=E6=8A=96=E9=80=BB=E8=BE=91=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/helper/validator.ts | 4 ++-- src/views/system/checkRule/check.rule.data.ts | 4 ++-- .../system/departUser/depart.user.data.ts | 4 ++-- src/views/system/fillRule/fill.rule.data.ts | 4 ++-- src/views/system/role/role.api.ts | 19 ++++++++++++++- src/views/system/user/user.api.ts | 23 +++++++++++++++++++ 6 files changed, 49 insertions(+), 9 deletions(-) diff --git a/src/utils/helper/validator.ts b/src/utils/helper/validator.ts index de8a4bb..2c7fa11 100644 --- a/src/utils/helper/validator.ts +++ b/src/utils/helper/validator.ts @@ -1,5 +1,5 @@ import { dateUtil } from '/@/utils/dateUtil'; -import { duplicateCheck } from '/@/views/system/user/user.api'; +import { duplicateCheckDelay } from '/@/views/system/user/user.api'; export const rules = { rule(type, required) { @@ -107,7 +107,7 @@ export const rules = { return Promise.reject(`请输入${schema.label}`); } return new Promise((resolve, reject) => { - duplicateCheck({ + duplicateCheckDelay({ tableName, fieldName, fieldVal: value, diff --git a/src/views/system/checkRule/check.rule.data.ts b/src/views/system/checkRule/check.rule.data.ts index 59fe236..b7da750 100644 --- a/src/views/system/checkRule/check.rule.data.ts +++ b/src/views/system/checkRule/check.rule.data.ts @@ -1,6 +1,6 @@ import { BasicColumn, FormSchema } from '/@/components/Table'; import { render } from '/@/utils/common/renderUtils'; -import { duplicateCheck } from '/@/views/system/user/user.api'; +import { duplicateCheckDelay } from '/@/views/system/user/user.api'; import { validateCheckRule } from '/@/views/system/checkRule/check.rule.api'; import { array } from 'vue-types'; @@ -80,7 +80,7 @@ export const formSchema: FormSchema[] = [ fieldVal: value, dataId: model.id, }; - duplicateCheck(params) + duplicateCheckDelay(params) .then((res) => { res.success ? resolve() : reject('规则编码已存在!'); }) diff --git a/src/views/system/departUser/depart.user.data.ts b/src/views/system/departUser/depart.user.data.ts index 6eaa191..880fc18 100644 --- a/src/views/system/departUser/depart.user.data.ts +++ b/src/views/system/departUser/depart.user.data.ts @@ -1,5 +1,5 @@ import { Ref } from 'vue'; -import { duplicateCheck } from '/@/views/system/user/user.api'; +import { duplicateCheckDelay } from '/@/views/system/user/user.api'; import { BasicColumn, FormSchema } from '/@/components/Table'; import { DescItem } from '/@/components/Description'; import { findTree } from '/@/utils/common/compUtils'; @@ -115,7 +115,7 @@ export const departRoleModalFormSchema: FormSchema[] = [ fieldVal: value, dataId: model.id, }; - duplicateCheck(params) + duplicateCheckDelay(params) .then((res) => { res.success ? resolve() : reject(res.message || '校验失败'); }) diff --git a/src/views/system/fillRule/fill.rule.data.ts b/src/views/system/fillRule/fill.rule.data.ts index 05676d6..f249163 100644 --- a/src/views/system/fillRule/fill.rule.data.ts +++ b/src/views/system/fillRule/fill.rule.data.ts @@ -1,5 +1,5 @@ import { BasicColumn, FormSchema } from '/@/components/Table'; -import { duplicateCheck } from '/@/views/system/user/user.api'; +import { duplicateCheckDelay } from '/@/views/system/user/user.api'; export const columns: BasicColumn[] = [ { @@ -80,7 +80,7 @@ export const formSchema: FormSchema[] = [ fieldVal: value, dataId: model.id, }; - duplicateCheck(params) + duplicateCheckDelay(params) .then((res) => { res.success ? resolve() : reject('规则编码已存在!'); }) diff --git a/src/views/system/role/role.api.ts b/src/views/system/role/role.api.ts index 426e0ec..a333327 100644 --- a/src/views/system/role/role.api.ts +++ b/src/views/system/role/role.api.ts @@ -82,7 +82,24 @@ export const saveOrUpdateRole = (params, isUpdate) => { * 编码校验 * @param params */ -export const isRoleExist = (params) => defHttp.get({ url: Api.isRoleExist, params }, { isTransformResponse: false }); +// update-begin--author:liaozhiyang---date:20231215---for:【QQYUN-7415】表单调用接口进行校验的添加防抖 +let timer; +export const isRoleExist = (params) => { + return new Promise((resolve, rejected) => { + clearTimeout(timer); + timer = setTimeout(() => { + defHttp + .get({ url: Api.isRoleExist, params }, { isTransformResponse: false }) + .then((res) => { + resolve(res); + }) + .catch((error) => { + rejected(error); + }); + }, 500); + }); +}; +// update-end--author:liaozhiyang---date:20231215---for:【QQYUN-7415】表单调用接口进行校验的添加防抖 /** * 根据角色查询树信息 */ diff --git a/src/views/system/user/user.api.ts b/src/views/system/user/user.api.ts index e74a0b0..87a8038 100644 --- a/src/views/system/user/user.api.ts +++ b/src/views/system/user/user.api.ts @@ -96,6 +96,29 @@ export const saveOrUpdateUser = (params, isUpdate) => { * @param params */ export const duplicateCheck = (params) => defHttp.get({ url: Api.duplicateCheck, params }, { isTransformResponse: false }); + +/** + * 20231215 + * liaozhiyang + * 唯一校验( 延迟【防抖】) + * @param params + */ +let timer; +export const duplicateCheckDelay = (params) => { + return new Promise((resove, rejected) => { + clearTimeout(timer); + timer = setTimeout(() => { + defHttp + .get({ url: Api.duplicateCheck, params }, { isTransformResponse: false }) + .then((res: any) => { + resove(res as any); + }) + .catch((error) => { + rejected(error); + }); + }, 500); + }); +}; /** * 获取全部角色(租户隔离) * @param params