From 5f2be2358986d6a2b378b4ff4b8ee75dd899f743 Mon Sep 17 00:00:00 2001 From: yinbangzhong <zhongbangyin@126.com> Date: 星期六, 17 八月 2024 17:10:19 +0800 Subject: [PATCH] 添加校验 --- src/views/authority/organization/index.vue | 96 ++++++++++++++++++++++++++++++++---------------- 1 files changed, 64 insertions(+), 32 deletions(-) diff --git a/src/views/authority/organization/index.vue b/src/views/authority/organization/index.vue index 03c4f6d..65ae930 100644 --- a/src/views/authority/organization/index.vue +++ b/src/views/authority/organization/index.vue @@ -34,16 +34,20 @@ " @click="() => onIconClick(nodeData)" /> - <IconDelete - style=" + <a-popconfirm v-if="nodeData.deptName!='root'" + content="璇风‘璁ゆ槸鍚﹀垹闄わ紵" + type="success" + @ok="() => onIconClickDelete(nodeData)" + > + <IconDelete + style=" position: absolute; right: 40px; font-size: 12px; top: 10px; color: #3370ff; - " - @click="() => onIconClickDelete(nodeData)" - /> + " /> + </a-popconfirm> </template> </a-tree> </a-card> @@ -54,9 +58,9 @@ :bordered="false" :style="{ width: '100%' }" > - <a-form :model="deptform" layout="horizontal"> - <a-form-item field="parentName" label="涓婄骇鏈烘瀯"> - <a-input v-model="deptform.parentId" /> + <a-form :model="deptform" layout="horizontal" ref="formRef"> + <a-form-item field="parentName" label="涓婄骇鏈烘瀯" disabled> + <a-input v-model="deptform.parentName" /> </a-form-item> <a-form-item field="status" label="鏈烘瀯鐘舵��"> <a-switch @@ -65,13 +69,13 @@ v-model="deptform.status" ></a-switch> </a-form-item> - <a-form-item field="deptName" label="鏈烘瀯鍚嶇О"> + <a-form-item field="deptName" label="鏈烘瀯鍚嶇О" :rules="[{required:true,message:'鏈烘瀯鍚嶇О蹇呭~'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]"> <a-input v-model="deptform.deptName" /> </a-form-item> - <a-form-item field="leader" label="鑱旂郴浜�"> + <a-form-item field="leader" label="鑱旂郴浜�" :rules="[{required:true,message:'鑱旂郴浜哄繀濉�'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]"> <a-input v-model="deptform.leader" /> </a-form-item> - <a-form-item field="phone" label="鑱旂郴鐢佃瘽"> + <a-form-item field="phone" label="鑱旂郴鐢佃瘽" :rules="[{required:true,message:'鑱旂郴鐢佃瘽蹇呭~'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]"> <a-input v-model="deptform.phone" /> </a-form-item> <a-form-item field="address" label="鏈烘瀯鍦板潃" style="align: start"> @@ -94,8 +98,8 @@ @cancel="handleCancel" @ok="addDept" > - <a-form :model="deptform" layout="horizontal"> - <a-form-item field="parentName" label="涓婄骇鏈烘瀯"> + <a-form :model="deptform" layout="horizontal" ref="addFormRef"> + <a-form-item field="parentName" label="涓婄骇鏈烘瀯" disabled> <a-input v-model="deptform.parentName" /> </a-form-item> <a-form-item field="status" label="鏈烘瀯鐘舵��"> @@ -105,13 +109,13 @@ v-model="deptform.status" ></a-switch> </a-form-item> - <a-form-item field="deptName" label="鏈烘瀯鍚嶇О"> + <a-form-item field="deptName" label="鏈烘瀯鍚嶇О" :rules="[{required:true,message:'鏈烘瀯鍚嶇О蹇呭~'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]"> <a-input v-model="deptform.deptName" /> </a-form-item> - <a-form-item field="leader" label="鑱旂郴浜�"> + <a-form-item field="leader" label="鑱旂郴浜�" :rules="[{required:true,message:'鑱旂郴浜哄繀濉�'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]"> <a-input v-model="deptform.leader" /> </a-form-item> - <a-form-item field="phone" label="鑱旂郴鐢佃瘽"> + <a-form-item field="phone" label="鑱旂郴鐢佃瘽" :rules="[{required:true,message:'鑱旂郴鐢佃瘽蹇呭~'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]"> <a-input v-model="deptform.phone" /> </a-form-item> <a-form-item field="address" label="鏈烘瀯鍦板潃" style="align: start"> @@ -131,11 +135,13 @@ OrganizationById, OrganizationDelete, OrganizationList, - OrganizationUpdate, - } from '@/api/authority'; + OrganizationUpdate, User, UserAdd, UserEdit + } from "@/api/authority"; import Authheader from '@/views/authority/components/authheader.vue'; import { Modal } from '@arco-design/web-vue'; + let formRef = ref(); + let addFormRef= ref(); let visible = ref(false); let treeData = ref([]); let showLine = ref(true); @@ -154,17 +160,35 @@ }); const onIconClick = (nodeData) => { + deptform.value.deptName = ""; + deptform.value.email = ""; + deptform.value.leader = ""; + deptform.value.orderNum = "0"; + deptform.value.phone = ""; + deptform.value.status = ""; + deptform.value.address = ""; + deptform.value.deptId = ""; deptform.value.parentName = nodeData.deptName; deptform.value.parentId = nodeData.deptId; + visible.value = true; }; + const addCb = async (err) => { + if (err) { + visible.value=true; + } else { + await OrganizationAdd({ + ...deptform.value, + } as unknown as Organization).then((res) => { + OrganizationData(''); + }); + } + ; + } + const addDept = async () => { - await OrganizationAdd({ - ...deptform.value, - } as unknown as Organization).then((res) => { - OrganizationData(''); - }); + addFormRef.value.validate(addCb); }; const onIconClickDelete = (nodeData) => { @@ -178,16 +202,24 @@ deptform.value = { ...res.data }; }); }; - const editdept = () => { - OrganizationUpdate({ - ...deptform.value, - } as unknown as Organization).then((res) => { - OrganizationData(''); - Modal.success({ - title: '淇濆瓨鎴愬姛', - content: '淇濆瓨鎴愬姛', + const cb = async (err) => { + if (err) { + + } else { + OrganizationUpdate({ + ...deptform.value, + } as unknown as Organization).then((res) => { + OrganizationData(''); + Modal.success({ + title: '淇濆瓨鎴愬姛', + content: '淇濆瓨鎴愬姛', + }); }); - }); + } + ; + } + const editdept = () => { + formRef.value.validate(cb); }; const reset = (id) => { OrganizationById(id).then((res) => { -- Gitblit v1.8.0