diff --git a/src/api/platform/system/controller/ssoUser.ts b/src/api/platform/system/controller/ssoUser.ts index b65e1dc..8357762 100644 --- a/src/api/platform/system/controller/ssoUser.ts +++ b/src/api/platform/system/controller/ssoUser.ts @@ -10,6 +10,7 @@ enum Api { list = '/system_proxy/system/ssoUser/list', add = '/system_proxy/system/ssoUser/save', get = '/system_proxy/system/ssoUser', + getByUserName = '/system_proxy/system/ssoUser/getByUserName', edit = '/system_proxy/system/ssoUser/update', del = '/system_proxy/system/ssoUser/remove', updatePwd = '/system_proxy/system/ssoUser/updatePwd', @@ -24,6 +25,8 @@ export const editSsoUser = (params: Partial) => defHttp.put({ url: Api. export const getSsoUser = (id: string) => defHttp.get({ url: `${Api.get}/${id}` }); +export const getSsoUserByUserName = (userName: string) => defHttp.get({ url: Api.getByUserName, params: { userName } }); + export const delSsoUser = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids}` }); export const updatePwd = (params: Partial) => defHttp.put({ url: Api.updatePwd, params }); diff --git a/src/views/system/user/sso/SsoModal.vue b/src/views/system/user/sso/SsoModal.vue index 99c0e11..fa9b782 100644 --- a/src/views/system/user/sso/SsoModal.vue +++ b/src/views/system/user/sso/SsoModal.vue @@ -37,7 +37,7 @@ import { BasicModal, useModalInner } from '/@/components/Modal'; import { BasicForm, useForm } from '/@/components/Form/index'; import { userFormSchema } from './sso.data'; - import { addSsoUser, editSsoUser, getSsoUser, listSsoUser } from '/@/api/platform/system/controller/ssoUser'; + import { addSsoUser, editSsoUser, getSsoUser, listSsoUser, getSsoUserByUserName } from '/@/api/platform/system/controller/ssoUser'; import { ModalProps } from '/@/components/Modal'; import {isBase64image, isEmpty} from '/@/utils/is'; import { Col, Row } from 'ant-design-vue'; @@ -81,8 +81,9 @@ await resetFields(); await clearValidate(); // 处理设置数据 - state.previewPath = 'https://godolphinx.org/dolphin1024x1024.png'; - state.relativePath = 'https://godolphinx.org/dolphin1024x1024.png'; + const defaultPath = 'https://godolphinx.org/dolphin1024x1024.png'; + state.previewPath = defaultPath; + state.relativePath = defaultPath; state.tag = data._tag; const id = data.record?.id; const props: Partial = {}; @@ -101,10 +102,10 @@ message: '请输入用户名称' }, { - validator: async (rule, value) => { - if (!isEmpty(value)) { - const result = await listSsoUser({ userName: value }); - if(result.data?.length > 0) return Promise.reject('该用户名称已存在!'); + validator: async(rule, value) => { + if (!isEmpty(value) && state.tag == 'add') { + if(await getSsoUserByUserName(value)) + return Promise.reject('该用户名称已存在!'); } return Promise.resolve(); },