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