|
@@ -230,15 +230,18 @@
|
|
|
|
|
|
<el-collapse class="hc-node-tree-collapse" v-model="activeName" accordion @change="collapseChange" v-loading="nodeTreeArrLoad">
|
|
|
<template v-for="(item) in nodeTreeArr">
|
|
|
- <el-collapse-item :name="item.id.toString()">
|
|
|
+ <el-collapse-item :name="item.id.toString()" :disabled="item.notExsitChild===true">
|
|
|
<template #title>
|
|
|
<div class="hc-collapse-item-title">
|
|
|
+ <el-checkbox v-model="item.checkColId" style="font-size: 24px;" @change="changeCheckColId(item)" ></el-checkbox>
|
|
|
+ <HcIcon name="file" fill class="icon" v-if="item.notExsitChild===true"/>
|
|
|
<HcIcon name="folder-3" fill class="icon"/>
|
|
|
<span class="title">{{item.nodeName}}</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
<!-- <HcNodeTree :projectId="projectId" :contractId="contractId"/> -->
|
|
|
<el-tree
|
|
|
+ class="col_tree"
|
|
|
node-key="id"
|
|
|
ref="nodetreeEl"
|
|
|
:props="defaultProps"
|
|
@@ -247,7 +250,15 @@
|
|
|
lazy
|
|
|
:load="loadNode"
|
|
|
:data="Nodetreedata"
|
|
|
- />
|
|
|
+ >
|
|
|
+ <template #default="{ node, data }">
|
|
|
+ <span class="custom-tree-node">
|
|
|
+ <HcIcon name="file" fill class="icon" style="color: #FFAF2D;" v-if="data.notExsitChild===true"/>
|
|
|
+ <HcIcon name="folder-3" fill class="icon" style="color: #FFAF2D;" v-else/><span>{{ node.label }}</span>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-tree>
|
|
|
+
|
|
|
</el-collapse-item>
|
|
|
</template>
|
|
|
</el-collapse>
|
|
@@ -768,6 +779,32 @@ const nodeTabChange = (item) => {
|
|
|
getnodeTabData()
|
|
|
}
|
|
|
//获取目录树getArchiveTreeByNodeType
|
|
|
+const checkColId=ref(false)
|
|
|
+
|
|
|
+const changeCheckColId=(item)=>{
|
|
|
+ if(!activeName.value){
|
|
|
+ item.checkColId=false
|
|
|
+ window.$message.warning('请先点击文件夹展开下一级')
|
|
|
+ }else{
|
|
|
+ let idsarr=[]
|
|
|
+ if(item.checkColId===false){
|
|
|
+ nextTick(()=>{
|
|
|
+ nodetreeEl?.value[treeIndex.value].setCheckedKeys([],false);
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ nextTick(()=>{
|
|
|
+ Nodetreedata?.value.forEach((item)=>{
|
|
|
+ idsarr.push(item.id)
|
|
|
+ })
|
|
|
+ nodetreeEl?.value[treeIndex.value].setCheckedKeys(idsarr,true);
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
const nodeTreeArrLoad=ref(false)
|
|
|
const getnodeTabData=async()=>{
|
|
|
nodeTreeArrLoad.value=true
|
|
@@ -780,6 +817,9 @@ const getnodeTabData=async()=>{
|
|
|
if (!error && code === 200) {
|
|
|
console.log(data,'mulushu');
|
|
|
nodeTreeArr.value = getArrValue(data)
|
|
|
+ nodeTreeArr.value.forEach((item)=>{
|
|
|
+ item.checkColId=false
|
|
|
+ })
|
|
|
nodeTreeArrLoad.value=false
|
|
|
|
|
|
} else {
|
|
@@ -800,6 +840,7 @@ const nodeTreeArr = ref([])
|
|
|
const checkNodeid=ref('')
|
|
|
const treeIndex=ref(0)
|
|
|
const collapseChange = (key) => {
|
|
|
+
|
|
|
treeIndex.value=nodeTreeArr.value.findIndex(item=>{return item.id===key})
|
|
|
|
|
|
checkNodeid.value=key
|
|
@@ -814,10 +855,8 @@ const getNodetreedata=async()=>{
|
|
|
})
|
|
|
nodetreeElloading.value=false
|
|
|
if (!error && code === 200) {
|
|
|
-
|
|
|
Nodetreedata.value = getArrValue(data)
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
} else {
|
|
|
Nodetreedata.value = []
|
|
|
}
|
|
@@ -839,4 +878,7 @@ const loadNode=(tree, resolve)=>{
|
|
|
|
|
|
<style lang="scss">
|
|
|
@import '~style/using/query.scss';
|
|
|
+.col_tree{
|
|
|
+ font-size: 16px;
|
|
|
+}
|
|
|
</style>
|