From 2024d0f570d9da956e792746992852749c06227c Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期二, 11 七月 2023 14:30:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/Tree/classifyTrees.vue |   80 +++++++++++++++++++++++++++++++--------
 1 files changed, 63 insertions(+), 17 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
index 106a39c..23167e8 100644
--- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
@@ -2,8 +2,9 @@
 <template>
   <el-container>
     <!--    宸︿晶鑿滃崟-->
-    <el-aside>
-      <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;">
+    <el-aside >
+      <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"@click.native="handleClickOutside" >
+        <div @click.native="handleClickOutside">
         <div>
           <div style="display: flex;justify-content: space-around">
             <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button>
@@ -51,15 +52,16 @@
         </el-dialog>
         <!--        淇敼瀵硅瘽妗�-->
         <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被">
-          <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="TreeFlag"></classifyTreeform>
+          <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="TreeFlag" ::nodeClickList="nodeClickList"></classifyTreeform>
         </el-dialog>
         <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false"
                    :option="Treeoption"
                    style="height: 80.5vh;padding-top: 5px;padding-bottom: 30px"
-                   @node-click=" nodeClick"
-                   @check-change="checkChange"
+                   @node-click="nodeClick"
+                   class="classifyTree"
         >
         </avue-tree>
+        </div>
       </basic-container>
     </el-aside>
     <el-main>
@@ -67,7 +69,7 @@
         <!--        鍙充晶琛ㄦ牸-->
         <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs>
         <span v-if="type.prop==='tab1'">
-           <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'"></classifyTreeform>
+           <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'" ></classifyTreeform>
         </span>
         <span v-else-if="type.prop==='tab2'">
             <basic-container>
@@ -117,7 +119,7 @@
                     <el-aside width="300px">
                       <div style="margin-bottom: 5px"><el-tag>涓婚搴撳垎绫�</el-tag></div>
                       <!--                      鍏嬮殕妯℃澘鐨勬爲 娌跨敤棣栭〉鏍戠殑loading鍜宱ption锛屼絾鏄痙ata鍜寁-model缁戝畾鐨勬暟鎹垱寤轰竴涓柊鐨勫彉閲忥紝鍙﹀鐐瑰嚮鏂规硶涔熸槸閲嶆柊鑾峰彇鏉ユ搷浣滃厠闅嗘ā鏉跨殑鏁版嵁-->
-                        <avue-tree ref="tree" v-model="TreeAvueform" v-loading="loading" :data="Treedata"
+                        <avue-tree  v-model="TreeAvueform" v-loading="loading" :data="Treedata"
                                    :defaultExpandAll="false"
                                    :option="Treeoption"
                                    style="height: 50.5vh;margin-right: 10px"
@@ -286,7 +288,7 @@
           </template>
           <avue-crud :data="BtmData" :option="masterOption" @select="btmSelect"></avue-crud>
           <div style="height: 30px">
-            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.btmtypename}}]</div>
+            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.btmTypeName}}]</div>
             <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
               <el-button type="primary" size="small" @click="btmHandlerClick">纭畾</el-button>
               <el-button  size="small" @click="BtmdialogVisible=false">鍙栨秷</el-button>
@@ -540,11 +542,21 @@
         column: [
           {
             label: "妯℃澘缂栧彿",
-            prop: "id"
+            prop: "id",
+            rules: [{
+              required: true,
+              message: "妯℃澘缂栧彿",
+              trigger: "blur"
+            }]
           },
           {
             label: "妯℃澘鍚嶇О",
             prop: "name",
+            rules: [{
+              required: true,
+              message: "妯℃澘鍚嶇О",
+              trigger: "blur"
+            }]
           },
           {
             label: "妯℃澘鎻忚堪",
@@ -616,6 +628,13 @@
   mounted() {
     this.type = this.tabOption.column[0];
     this.getAttr();
+    const treeEle = this.$refs.tree.$el
+    treeEle.addEventListener('click', (e) => {
+      if (e.target.nodeName !== 'SPAN') {
+        this.$refs.tree.setCurrentKey(null)
+        this.nodeClickList = {}
+      }
+    }, true)
   },
   computed:{
     crudTreeOption(){
@@ -628,11 +647,21 @@
         column: [
           {
             label: "妯℃澘缂栧彿",
-            prop: "id"
+            prop: "id",
+            rules: [{
+              required: true,
+              message: "妯℃澘缂栧彿",
+              trigger: "blur"
+            }]
           },
           {
-            label:"妯℃澘鍚嶇О",
-            prop:"name"
+            label: "妯℃澘鍚嶇О",
+            prop: "name",
+            rules: [{
+              required: true,
+              message: "妯℃澘鍚嶇О",
+              trigger: "blur"
+            }]
           },
           {
             label: "妯℃澘鎻忚堪",
@@ -653,6 +682,18 @@
     }
   },
   methods: {
+    //鏍戣妭鐐瑰け鍘荤劍鐐�
+    handleClickOutside(event) {
+      const treeElement = this.$refs.tree.$el;
+      const targetElement = event.target;
+      if (!treeElement.contains(targetElement)) {
+        // 鍦ㄦ爲缁勪欢澶栭儴鐐瑰嚮锛屾竻绌洪�夋嫨鐘舵��
+        // this.nodeClickList=[];
+        // this.CloneTreeAvueform={}
+        console.log(this.nodeClickList  )
+        console.log(this.CloneTreeAvueform)
+      }
+    },
     //缂栫爜瑙勫垯澶辩劍
     CodeFoucus(){
       this.MasterdialogVisible=true;
@@ -829,8 +870,8 @@
       }else {
         this.BtmdialogVisible=false;
         this.btmSelectList=[]
-        this.$set(this.loneTreeNewForm,'btmtypename',this.btmName ||this.btmOid)
-        this.$set(this.loneTreeNewForm,'btmtypeid',this.btmOid)
+        this.$set(this.TreeAddform,'btmTypeName',this.btmName)
+        this.$set(this.TreeAddform,'btmTypeId',this.btmOid)
         this.$emit('MasterHandler',this.loneTreeNewForm)
       }
     },
@@ -918,18 +959,20 @@
     //鏍戣妭鐐规坊鍔犱簨浠�
     TreeAddHandler() {
       const data = this.TreeAddform;
-      data.btmTypeName= this.TreeList.btmtypename
+      // data.btmtypename= this.TreeList.btmtypename
       this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid);
-      // console.log("data", data);
+      console.log("data", data);
       TreeSave(data)
         .then(() => {
           this.$message({
             type: "success",
             message: "娣诲姞鎴愬姛!",
           });
+          Object.keys(this.TreeAddform).forEach(key => {
+            this.TreeAddform[key] = "";
+          });
           this.getAttr();
           this.TreeAddFormVisible = false;
-          this.TreeAddform = "";
         })
         .catch((res) => {
           this.$message({
@@ -1109,6 +1152,9 @@
         this.$message.error(error)
       }
     },
+    treeClick(e) {
+      console.log(e);
+    },
     //鍏嬮殕妯℃澘鏍戠殑鐐瑰嚮鍒囨崲鏁版嵁
     async ClonenodeClick(data){
       this.ClonenodeClickList=data;

--
Gitblit v1.9.3