1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-08 09:34:42 +08:00

fix name exist check on update

This commit is contained in:
源文雨
2023-03-21 00:48:22 +08:00
parent 3905ff4b9e
commit 0b166c6302
2 changed files with 76 additions and 75 deletions

View File

@@ -7,7 +7,7 @@
import { defineComponent, ref, computed, unref } from 'vue'
import { BasicModal, useModalInner } from '/@/components/Modal'
import { BasicForm, useForm } from '/@/components/Form/index'
import { nameFormSchema } from './account.data'
import { isNameExist } from '/@/api/sys/user'
export default defineComponent({
name: 'AccountModal',
@@ -20,7 +20,81 @@
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { span: 24 },
schemas: nameFormSchema,
schemas: [
{
field: 'name',
label: '用户名',
component: 'Input',
rules: [
{
required: true,
message: '请输入用户名',
},
{
validator(_, value) {
return new Promise((resolve, reject) => {
if (unref(isUpdate)) {
resolve()
return
}
isNameExist(value)
.then((v) => {
if (!v) resolve()
else reject('用户名已存在')
})
.catch((err) => {
reject(err.message || '验证失败')
})
})
},
},
],
},
{
field: 'pwd',
label: '密码',
component: 'InputPassword',
required: true,
ifShow: false,
},
{
label: '角色',
field: 'role',
component: 'ApiSelect',
componentProps: {
api: () => {
return [
{
roleName: '课程组长',
value: 'super',
},
{
roleName: '归档代理',
value: 'filemgr',
},
{
roleName: '课程组员',
value: 'user',
},
]
},
labelField: 'roleName',
valueField: 'value',
},
required: true,
},
{
field: 'nick',
label: '昵称',
component: 'Input',
required: true,
},
{
label: '简介',
field: 'desc',
component: 'InputTextArea',
},
],
showActionButtonGroup: false,
actionColOptions: {
span: 23,

View File

@@ -1,4 +1,3 @@
import { isNameExist } from '/@/api/sys/user'
import { BasicColumn } from '/@/components/Table'
import { FormSchema } from '/@/components/Table'
@@ -43,75 +42,3 @@ export const searchFormSchema: FormSchema[] = [
colProps: { span: 8 },
},
]
export const nameFormSchema: FormSchema[] = [
{
field: 'name',
label: '用户名',
component: 'Input',
rules: [
{
required: true,
message: '请输入用户名',
},
{
validator(_, value) {
return new Promise((resolve, reject) => {
isNameExist(value)
.then((v) => {
if (!v) resolve()
else reject('用户名已存在')
})
.catch((err) => {
reject(err.message || '验证失败')
})
})
},
},
],
},
{
field: 'pwd',
label: '密码',
component: 'InputPassword',
required: true,
ifShow: false,
},
{
label: '角色',
field: 'role',
component: 'ApiSelect',
componentProps: {
api: () => {
return [
{
roleName: '课程组长',
value: 'super',
},
{
roleName: '归档代理',
value: 'filemgr',
},
{
roleName: '课程组员',
value: 'user',
},
]
},
labelField: 'roleName',
valueField: 'value',
},
required: true,
},
{
field: 'nick',
label: '昵称',
component: 'Input',
required: true,
},
{
label: '简介',
field: 'desc',
component: 'InputTextArea',
},
]