From ff087240b3dee29ce4e14ad0836e76b9fdf312cf Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 19 八月 2025 09:28:07 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/lianhelihua_sh

---
 admin/src/components/common/Tree.vue |  145 +++++++++++++++++++++++++----------------------
 1 files changed, 77 insertions(+), 68 deletions(-)

diff --git a/admin/src/components/common/Tree.vue b/admin/src/components/common/Tree.vue
index b522403..da887b6 100644
--- a/admin/src/components/common/Tree.vue
+++ b/admin/src/components/common/Tree.vue
@@ -1,22 +1,24 @@
 <template>
-    <div class="tree">
-        <div v-for="(item, index) of list" :key="index" @click.stop="clickIten(item)">
-            <div class="tree_item">
-                <i class="el-icon-caret-bottom" :class="{ 'activeColor': item.actived === 1 }" v-show="item.fsStatus === 1 && item.childList.length > 0"></i>
-                <i class="el-icon-caret-right color" v-show="item.childList.length > 0 && (item.fsStatus === 0 || !item.fsStatus)"></i>
-                <div class="tree_item_label long-title-style" :title="item.name" :class="{ 'activeColor':  item.actived === 1 }">{{ item.name }}</div>
-            </div>
-            <div class="tree_childern" v-show="item.fsStatus === 1">
-                <tree
-                  :list="item.childList"
-                  :alllist="alllist"
-                  :defaultProps="defaultProps"
-                  @callback="callback"
-                />
-                 <!-- @callback="callback" -->
-            </div>
-        </div>
+  <div class="tree">
+    <div v-for="(item, index) of list" :key="index" @click.stop="clickIten(item)">
+      <div class="tree_item">
+        <i class="el-icon-caret-bottom" :class="{ 'activeColor': item.fsStatus === 1 }" v-show="item.fsStatus === 1 && item.childList && item.childList.length > 0"></i>
+        <i class="el-icon-caret-right color" v-show="item.childList && item.childList.length > 0 && (item.fsStatus === 0 || !item.fsStatus)"></i>
+        <div class="tree_item_label long-title-style" :title="item.name" :class="{ 'activeColor': item.fsDate === 1 && item.childList && item.childList.length === 0 }">{{ item.name }}</div>
+        <!--                <i class="el-icon-caret-bottom" :class="{ 'activeColor': item[defaultProps.status] }" v-show="item[defaultProps.status] && item[defaultProps.children]"></i>-->
+        <!--                <i class="el-icon-caret-right color" v-show="item[defaultProps.children] && !item[defaultProps.status]"></i>-->
+        <!--                <div class="tree_item_label long-title-style" :title="item[defaultProps.name]" :class="{ 'activeColor': item[defaultProps.status] && !item[defaultProps.children] }">{{ item[defaultProps.name] }}</div>-->
+      </div>
+      <div class="tree_childern" v-show="item.fsStatus === 1">
+        <tree
+            :list="item.childList"
+            :defaultProps="defaultProps"
+            @callback="callback"
+        />
+        <!-- @callback="callback" -->
+      </div>
     </div>
+  </div>
 </template>
 
 <script>
@@ -25,11 +27,6 @@
   name: 'tree',
   props: {
     list: {
-      type: Array,
-      required: false,
-      default: () => []
-    },
-    alllist: {
       type: Array,
       required: false,
       default: () => []
@@ -58,33 +55,45 @@
     }
   },
   methods: {
-    listForList(){
-      // console.log('===============================',this.alllist)
-    },
     // 鐐瑰嚮褰撳墠椤�
     clickIten (item) {
-      // this.listForList()
+      // item[this.defaultProps.status] = !item[this.defaultProps.status]
+      // this.list.forEach(subItem => {
+      //   if ((subItem[this.defaultProps.id] !== item[this.defaultProps.id] && subItem[this.defaultProps.status]) || (this.list.length === 1 && subItem[this.defaultProps.status] === false)) {
+      //     subItem[this.defaultProps.status] = false
+      //     if (subItem[this.defaultProps.children]) {
+      //       this.recursion(subItem[this.defaultProps.children])
+      //     }
+      //   }
+      // })
+      // if (this.tempItem['id'] === item[this.defaultProps.id]) {
+      //   this.tempItem = {
+      //     id: null,
+      //     name: null,
+      //     erpId: null
+      //   }
+      // } else {
+      //   this.tempItem.id = item[this.defaultProps.id]
+      //   this.tempItem.name = item[this.defaultProps.name]
+      //   this.tempItem.erpId = item['erpId']
+      // }
+      // item.fsDate === 0 || !item.fsDate ? item.fsDate = 1 : item.fsDate = 0
       const fsDate = item.fsDate === 0 || !item.fsDate ? 1 : 0
-      this.alllist.forEach(i => {
+      this.list.forEach(i => {
         i.fsDate = 0
-        i.actived = 0
-        this.recursion1(i.childList)
       })
       item.fsDate = fsDate
-      item.actived = 1
       if (item.childList.length > 0) {
         item.fsStatus === 0 || !item.fsStatus ? item.fsStatus = 1 : item.fsStatus = 0
       }
       this.$emit('callback', item, item)
     },
-    recursion1 (children) {
-      if (!children || children.length === 0){
-        return
-      }
+    // 閫掑綊鏂规硶
+    recursion (children) {
       children.forEach(item => {
-        item.actived = 0
-        if (item.childList && item.childList.length > 0) {
-          this.recursion1(item.childList)
+        item.fsDate = 0
+        if (item.childList.length > 0) {
+          this.recursion(item.childList)
         }
         // item[this.defaultProps.status] = false
         // if (item[this.defaultProps.children]) {
@@ -107,39 +116,39 @@
 
 <style lang="scss" scoped>
 .tree {
-    /*width: 100%;*/
-    /*height: auto;*/
-    /*border-radius: 5px;*/
-    /*overflow: hidden;*/
-    /*border: 1px solid #eeeeee;*/
-    /*box-sizing: border-box;*/
-    .tree_childern {
-        margin-left: 20px;
+  /*width: 100%;*/
+  /*height: auto;*/
+  /*border-radius: 5px;*/
+  /*overflow: hidden;*/
+  /*border: 1px solid #eeeeee;*/
+  /*box-sizing: border-box;*/
+  .tree_childern {
+    margin-left: 20px;
+  }
+  .activeItem {
+    background: #F4F7FC;
+  }
+  .tree_item {
+    display: flex;
+    align-items: center;
+    height: 48px;
+    cursor: pointer;
+    padding-left: 10px;
+    .tree_item_label {
+      font-size: 14px;
+      font-weight: 400;
+      color: #333333;
+      white-space: nowrap;
     }
-    .activeItem {
-        background: #F4F7FC;
+    i {
+      margin-right: 5px;
     }
-    .tree_item {
-        display: flex;
-        align-items: center;
-        height: 48px;
-        cursor: pointer;
-        padding-left: 10px;
-        .tree_item_label {
-            font-size: 14px;
-            font-weight: 400;
-            color: #333333;
-            white-space: nowrap;
-        }
-        i {
-            margin-right: 5px;
-        }
-        .color {
-            color: #999999 !important;
-        }
-        .activeColor {
-            color: #305ED5 !important;
-        }
+    .color {
+      color: #999999 !important;
     }
+    .activeColor {
+      color: #305ED5 !important;
+    }
+  }
 }
 </style>

--
Gitblit v1.9.3