From 5446789066a3af6e00c16cf07c37efcd263a7640 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期日, 08 十月 2023 09:34:31 +0800
Subject: [PATCH] 整合代码

---
 Source/UBCS-WEB/src/views/integration/systemInfo.vue |   83 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 75 insertions(+), 8 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index d816c87..2cad431 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -33,10 +33,13 @@
                      v-model="TreeForm"
                      :data="TreeData"
                      :option="TreeOption"
+                     node-key="id"
+                     :default-checked-keys="[5]"
                      @check-change="checkChange">
           </avue-tree>
         </el-col>
       </el-row>
+
       <div slot="footer" class="dialog-footer" style="height: 50px;line-height: 50px">
         <el-button icon="el-icon-plus" size="small" type="primary" @click="empower">鎺� 鏉�</el-button>
         <el-button icon="el-icon-close" size="small" type="danger">閲� 缃�</el-button>
@@ -59,6 +62,7 @@
     return {
       checkAll: {},
       ParentList: [],
+      ParentRemoveList: [],
       //閬垮厤缂撳瓨
       reload: Math.random(),
       TreeLoading: false,
@@ -135,17 +139,22 @@
       },
     }
   },
-
+  created() {
+  },
   methods: {
     empower() {
       batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => {
         console.log(res)
+        if(res.data.data.code === 200){
+          this.$message.success(res.data.data.msg)
+          this.dialogVisible=false;
+        }
       })
     },
     //鍒嗙被鎺堟潈澶氶�夊洖璋�
     checkChange(row, checked) {
       if (checked) {
-        if (!row.parentId && row.children) {
+        if (!row.parentId) {
           const parentRecord = {
             oid: row.oid,
             classifyId: row.attributes.classifyId,
@@ -153,7 +162,7 @@
             classParentOid: row.parentId,
           };
           this.ParentList.push(parentRecord);
-          // 濡傛灉row鐨刢hildren涓嶄负绌猴紝缁х画寰幆children涓殑姣忎釜瀵硅薄
+          // 濡傛灉row鐨刢hildren涓嶄负绌� 缁х画寰幆children涓殑姣忎釜瀵硅薄
           if (row.children && row.children.length > 0) {
             for (let child of row.children) {
               const childRecord = {
@@ -163,7 +172,7 @@
                 classParentOid: child.parentId,
               };
               this.ParentList.push(childRecord);
-              // 濡傛灉瀛愬璞$殑children涓嶄负绌猴紝缁х画寰幆鑾峰彇鏁版嵁
+              // 濡傛灉瀛愬璞$殑children涓嶄负绌� 缁х画寰幆鑾峰彇鏁版嵁
               if (child.children && child.children.length > 0) {
                 for (let subChild of child.children) {
                   const subRecord = {
@@ -177,12 +186,41 @@
               }
             }
           }
-          console.log(this.ParentList);
         }
-      }else {
-        this.ParentList = this.ParentList.filter(res => res.classifyId !== row.classifyId);
-        console.log(this.ParentList);
+      } else {
+        // 鍙栨秷鍕鹃�夌殑鑺傜偣鏄埗鑺傜偣
+        if (!row.parentId) {
+          // 鎵惧埌鐖惰妭鐐瑰湪ParentList涓殑绱㈠紩
+          const parentIndex = this.ParentList.findIndex(item => item.oid === row.oid);
+          if (parentIndex !== -1) {
+            const parentOid = this.ParentList[parentIndex].classifyOid;
+
+            // 鏌ユ壘鎵�鏈夐渶瑕佸垹闄ょ殑瀛愯妭鐐圭殑绱㈠紩
+            const childIndexes = this.ParentList.reduce((indexes, item, index) => {
+              if (item.classParentOid === parentOid && item.classifyOid !== parentOid) {
+                indexes.push(index);
+              }
+              return indexes;
+            }, []);
+
+            // 浠庡悗寰�鍓嶅垹闄ゅ瓙鑺傜偣鐨勬暟鎹紝淇濊瘉绱㈠紩鐨勬纭��
+            for (let i = childIndexes.length - 1; i >= 0; i--) {
+              this.ParentList.splice(childIndexes[i], 1);
+            }
+
+            // 鍒犻櫎鐖惰妭鐐圭殑鏁版嵁
+            this.ParentList.splice(parentIndex, 1);
+          }
+        } else {
+          // 鍙栨秷鍕鹃�夌殑鑺傜偣鏄瓙鑺傜偣
+          const childIndex = this.ParentList.findIndex(item => item.oid === row.oid);
+          if (childIndex !== -1) {
+            // 鍒犻櫎瀛愯妭鐐圭殑鏁版嵁
+            this.ParentList.splice(childIndex, 1);
+          }
+        }
       }
+      console.log(this.ParentList);
     },
     //鍒嗙被鎺堟潈
     classifyHandler(row) {
@@ -190,6 +228,35 @@
       this.checkAll = row
       sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => {
         this.TreeData = res.data;
+        var List=[]
+        this.TreeData.forEach((item,index)=>{
+          const parentRecord = {
+            label: item.text,
+            children:  [], // 鍒濆鍖朿hildren涓虹┖鏁扮粍
+          };
+          List.push(parentRecord);
+          // 濡傛灉item鐨刢hildren涓嶄负绌� 缁х画寰幆children涓殑姣忎釜瀵硅薄
+          if (item.children && item.children.length > 0) {
+            for (let child of item.children) {
+              const childRecord = {
+                label: child.text, // 浣跨敤child鐨則ext灞炴�т綔涓簂abel
+                children:  [], // 鍒濆鍖朿hildren涓虹┖鏁扮粍
+              };
+              parentRecord.children.push(childRecord); // 灏哻hildRecord娣诲姞鍒皃arentRecord鐨刢hildren鏁扮粍涓�
+              // 濡傛灉瀛愬璞$殑children涓嶄负绌� 缁х画寰幆鑾峰彇鏁版嵁
+              if (child.children && child.children.length > 0) {
+                for (let subChild of child.children) {
+                  const subRecord = {
+                    label: subChild.text, // 浣跨敤subChild鐨則ext灞炴�т綔涓簂abel
+                    children:  [], // 鍒濆鍖朿hildren涓虹┖鏁扮粍
+                  };
+                  childRecord.children.push(subRecord); // 灏唖ubRecord娣诲姞鍒癱hildRecord鐨刢hildren鏁扮粍涓�
+                }
+              }
+            }
+          }
+        })
+        console.log('list',List)
         this.ModifyProperties(this.TreeData, 'text', 'label');
         // 鏍规嵁 this.TreeData 鐨勯暱搴﹁绠楀欢杩熸椂闂�
         const delayTime = this.TreeData.length * 1;

--
Gitblit v1.9.3