From 325b07100a14b137b2cd897f62c2351984e23a38 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Mon, 9 May 2022 04:39:33 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=A3=20=E7=BC=96=E5=86=99=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E6=A8=A1=E5=9D=97=E5=A4=9A=E7=A7=9F=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/system/tenant/TenantModal.vue | 25 +++++++++++++++++-- .../src/views/system/tenant/tenant.data.ts | 19 ++------------ 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/kicc-ui/src/views/system/tenant/TenantModal.vue b/kicc-ui/src/views/system/tenant/TenantModal.vue index 85ac519a..9f92d229 100644 --- a/kicc-ui/src/views/system/tenant/TenantModal.vue +++ b/kicc-ui/src/views/system/tenant/TenantModal.vue @@ -17,14 +17,15 @@ import { ref, unref } from 'vue'; import { BasicForm, useForm } from '/@/components/Form/index'; import { formSchema } from './tenant.data'; - import { addTenant, editTenant, getTenant } from '/@/api/platform/system/controller/tenant'; + import {addTenant, editTenant, getTenant, listTenant} from '/@/api/platform/system/controller/tenant'; import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; + import {isEmpty} from "/@/utils/is"; /** 通用变量统一声明区域 */ const tag = ref>(''); /** https://v3.cn.vuejs.org/api/options-data.html#emits */ const emit = defineEmits(['success', 'register']); - const [registerForm, { resetFields, setFieldsValue, validate, clearValidate }] = useForm({ + const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema }] = useForm({ labelWidth: 100, schemas: formSchema, showActionButtonGroup: false, @@ -38,6 +39,26 @@ tag.value = data._tag; const tenantId = data.record?.id; const props: Partial = { confirmLoading: false }; + await updateSchema({ + field: 'code', + rules: [ + { + required: true, + whitespace: true, + message: '请输入多租户编码' + }, + { + validator: async (rule, value) => { + if (!isEmpty(value)) { + const result = await listTenant({ code: value }); + const list = result.data?.filter(item => item.id != tenantId); + if(list?.length > 0) return Promise.reject('该多租户编码已存在'); + } + return Promise.resolve(); + }, + validateTrigger: 'blur' + }] + }); // 采用tag标签区分操作 switch (unref(tag)) { case 'add': diff --git a/kicc-ui/src/views/system/tenant/tenant.data.ts b/kicc-ui/src/views/system/tenant/tenant.data.ts index 8b7c13e1..b2160962 100644 --- a/kicc-ui/src/views/system/tenant/tenant.data.ts +++ b/kicc-ui/src/views/system/tenant/tenant.data.ts @@ -20,7 +20,7 @@ export const columns: BasicColumn[] = [ }, { title: '多租户编码', - dataIndex: 'code', + dataIndex: 'code' }, { title: '开始时间', @@ -47,6 +47,7 @@ export const columns: BasicColumn[] = [ { title: '备注', dataIndex: 'remarks', + width: 300, customRender: ({record}) => { return record.remarks || h(Tag, { color: 'red' }, () => '暂无数据'); } @@ -108,22 +109,6 @@ export const formSchema: FormSchema[] = [ field: 'code', label: '多租户编码', component: 'Input', - rules: [ - { - required: true, - whitespace: true, - message: '请输入多租户编码', - }, - { - validator: async (rule, value) => { - if (!isEmpty(value)) { - const result = await listTenant({ code: value }); - if(result.data?.length > 0) return Promise.reject('该多租户编码已存在'); - } - return Promise.resolve(); - }, - validateTrigger: 'blur' - }], colProps: { span: 12 }