This commit is contained in:
2025-08-05 14:49:37 +08:00
parent a7c1cb61e1
commit bb2ffd967d
6 changed files with 2845 additions and 208 deletions

View File

@@ -1,17 +1,31 @@
<template>
<div class="tree_box">
<div style="overflow: hidden" v-if="source == 'tags'">
<p
<div style="overflow: hidden" v-if="source == 'tags'&&!isborrow">
<p
class="info_bg"
style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis"
>
当前{{currentNode&&['wait','false','all','success'].includes(currentNode.data.id)?'状态':'标签' }}<span style="color: #17b3a3; font-weight: 600"
:style="`${currentNode&&currentNode.data.color?`color: ${currentNode.data.color}`:''}`"
>{{
currentNode ? currentNode.data.title : ""
}}</span>
当前{{
currentNode &&
["wait", "false", "all", "success"].includes(currentNode.data.id)
? "状态"
: "标签"
}}<span
style="color: #17b3a3; font-weight: 600"
:style="
`${
currentNode && currentNode.data.color
? `color: ${currentNode.data.color}`
: ''
}`
"
>{{ currentNode ? currentNode.data.title : "" }}</span
>
</p>
<el-button v-if="currentNode&&!['wait','false','all'].includes(currentNode.data.id)"
<el-button
v-if="
currentNode && !['wait', 'false', 'all'].includes(currentNode.data.id)
"
type="primary"
@click="addOrUpdateHandle()"
style="float: right"
@@ -36,7 +50,7 @@
<!-- show-checkbox -->
<!-- :allow-drop="allowDrop" -->
<div class="custom-tree-container">
<el-tree
<el-tree style="background-color: transparent;"
:draggable="false"
:allow-drop="false"
:highlight-current="true"
@@ -47,7 +61,6 @@
default-expand-all
:filter-node-method="filterNode"
ref="tree"
@node-click="handleNodeClick"
:expand-on-click-node="false"
>
@@ -59,7 +72,13 @@
:class="
`${currentNode && currentNode.data.id == data.id ? `isSelect` : ''}`
"
:style="`${currentNode && currentNode.data.id == data.id&&data.bgcolor ? `background-image: linear-gradient(-45deg, #fff, ${data.bgcolor});` : ''}`"
:style="
`${
currentNode && currentNode.data.id == data.id && data.bgcolor
? `background-image: linear-gradient(-45deg, #fff, ${data.bgcolor});`
: ''
}`
"
style=" padding-left: 5px;
box-sizing: border-box;"
>
@@ -68,10 +87,15 @@
><el-checkbox
@change="selectShop(data)"
:value="selectArr.includes(data.id)"
v-if="data.isLast == 1 && source == 'shop'"
v-if="data.isLast == 1 && source == 'shop'&&!isborrow"
style="margin-right: 10px"
></el-checkbox
><span :style="`${data.color?`color:${data.color};font-weight:bold`:''}`">{{ node.label }}</span></span
><span
:style="
`${data.color ? `color:${data.color};font-weight:bold` : ''}`
"
>{{ node.label }}</span
></span
>
<span v-if="source == 'tags'">
<!-- v-if="node.level <= 1" -->
@@ -79,7 +103,9 @@
type="text"
size="mini"
@click.stop="handleClickNodes(node, data, 'addChildren')"
v-if="data.isLast != 1&&!disableAddChild&&!data.isDisableAddChild"
v-if="
data.isLast != 1 && !disableAddChild && !data.isDisableAddChild&&!isborrow
"
>
添加下级
</el-button>
@@ -92,7 +118,8 @@
</el-button> -->
<!-- v-if="node.childNodes.length == 0" -->
<el-button v-if="!data.disabled"
<el-button
v-if="!data.disabled&&!isborrow"
type="text"
size="mini"
@click.stop="remove(data)"
@@ -120,6 +147,8 @@ export default {
"axiosType",
"axiosResultKey",
"disableAddChild",
"isborrow",
],
data() {
return {
@@ -270,7 +299,7 @@ export default {
data: {}
};
}
this.currentNode = newNodeData;
this.currentNode = newNodeData;
this.$forceUpdate();
this.$nextTick(() => {
this.$refs.tree.setCurrentKey(id);
@@ -414,7 +443,7 @@ export default {
children: [],
delFlag: 0,
isLast: 0,
icon:'',
icon: "",
pid: data.id,
sort: 0,
title: ""
@@ -441,7 +470,7 @@ export default {
children: [],
delFlag: 0,
isLast: 0,
content:'',
content: "",
pid: 0,
sort: 0,
title: ""
@@ -860,6 +889,7 @@ export default {
height: 100%;
float: left;
border: 1px solid #bababa;
background-color: #fff;
border-radius: 10px;
padding: 15px;
box-sizing: border-box;