From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 14 十月 2025 16:34:22 +0800
Subject: [PATCH] 改bug

---
 admin/src/components/common/Tree.vue |   73 ++++++++++++++++--------------------
 1 files changed, 32 insertions(+), 41 deletions(-)

diff --git a/admin/src/components/common/Tree.vue b/admin/src/components/common/Tree.vue
index 6a6275a..5d6fd7b 100644
--- a/admin/src/components/common/Tree.vue
+++ b/admin/src/components/common/Tree.vue
@@ -1,34 +1,21 @@
 <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[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[defaultProps.status]">-->
-<!--                <tree-->
-<!--                  :list="item[defaultProps.children]"-->
-<!--                  :defaultProps="defaultProps"-->
-<!--                  @callback="callback"-->
-<!--                />-->
-<!--            </div>-->
-<!--        </div>-->
-<!--    </div>-->
     <div class="tree">
-        <div v-for="(item, index) in list" :key="index" @click.stop="clickIten(item)">
+        <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.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.fsDate === 1 && 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>
-<!--            v-show="item.status === 1"-->
             <div class="tree_childern" v-show="item.fsStatus === 1">
                 <tree
-                    :list="item.childList"
-                    :defaultProps="defaultProps"
-                    @callback="callback"
+                  :list="item.childList"
+                  :defaultProps="defaultProps"
+                  @callback="callback"
                 />
+                 <!-- @callback="callback" -->
             </div>
         </div>
     </div>
@@ -52,27 +39,24 @@
           name: 'name',
           status: 'status',
           children: 'children',
-          id: 'erpId'
+          id: 'id',
+          erpId: 'erpId'
         }
       }
     }
   },
-  data () {
+  data() {
     return {
       tempItem: {
         id: null,
-        name: null
+        name: null,
+        erpId: null
       }
     }
   },
   methods: {
     // 鐐瑰嚮褰撳墠椤�
     clickIten (item) {
-      this.recursion(this.list)
-      item.fsDate === 0 || !item.fsDate ? item.fsDate = 1 : item.fsDate = 0
-      if (item.childList.length > 0) {
-        item.fsStatus === 0 || !item.fsStatus ? item.fsStatus = 1 : item.fsStatus = 0
-      }
       // 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)) {
@@ -82,39 +66,46 @@
       //     }
       //   }
       // })
-      // if (this.tempItem.id === item[this.defaultProps.id]) {
+      // if (this.tempItem['id'] === item[this.defaultProps.id]) {
       //   this.tempItem = {
       //     id: null,
-      //     name: 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']
       // }
-      this.$emit('callback', item)
+      // item.fsDate === 0 || !item.fsDate ? item.fsDate = 1 : item.fsDate = 0
+      const fsDate = item.fsDate === 0 || !item.fsDate ? 1 : 0
+      this.list.forEach(i => {
+        i.fsDate = 0
+      })
+      item.fsDate = fsDate
+      if (item.childList.length > 0) {
+        item.fsStatus === 0 || !item.fsStatus ? item.fsStatus = 1 : item.fsStatus = 0
+      }
+      this.$emit('callback', item, item)
     },
     // 閫掑綊鏂规硶
     recursion (children) {
-      // children.forEach(item => {
-      //   item[this.defaultProps.status] = false
-      //   if (item[this.defaultProps.children]) {
-      //     this.recursion(item[this.defaultProps.children])
-      //   }
-      // })
       children.forEach(item => {
         item.fsDate = 0
         if (item.childList.length > 0) {
           this.recursion(item.childList)
         }
+        // item[this.defaultProps.status] = false
+        // if (item[this.defaultProps.children]) {
+        //   this.recursion(item[this.defaultProps.children])
+        // }
       })
     },
     callback (data, item) {
-      console.log('data', data)
-      console.log('item', item)
       if (this.tempItem.id === data.id) {
         this.tempItem = {}
       } else {
-        this.tempItem.id = data.erpId
+        this.tempItem.id = data.id
         this.tempItem.name = data.name
       }
       this.$emit('callback', data, item)

--
Gitblit v1.9.3