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