|
@@ -24,12 +24,12 @@
|
|
|
<template #default="{ node, data }">
|
|
|
<span class="custom-tree-node">
|
|
|
<span>{{ data.name }}</span>
|
|
|
- <div class="butList" v-if="data.id != '1'">
|
|
|
- <a @click="seeDetail(data, node)" v-power="'view'"> 查看 </a>
|
|
|
- <a @click="insertProject(data)" v-power="'edit'"> 编辑 </a>
|
|
|
- <a
|
|
|
+ <div class="butList oper-span" v-if="data.id != '1'">
|
|
|
+ <a @click.stop="seeDetail(data, node)" v-power="'view'"> 查看 </a>
|
|
|
+ <a @click.stop="insertProject(data)" :class="{disable: user.info.deptId === data.id}" v-power="'edit'"> 编辑 </a>
|
|
|
+ <a :class="{disable: user.info.deptId === data.id}"
|
|
|
style="color: var(--primaryColor)"
|
|
|
- @click="remove(data.id)"
|
|
|
+ @click.stop="remove(data.id)"
|
|
|
v-power="'del'"
|
|
|
>
|
|
|
删除
|
|
@@ -241,13 +241,18 @@ export default {
|
|
|
};
|
|
|
const insertProject = (val) => {
|
|
|
if (val.id) {
|
|
|
- let superiorValue = val.ancestors && val.ancestors.split(',').slice(1)
|
|
|
+ let treeList = assembleTree(data.treedata)
|
|
|
+ let superiorValue = treeList && treeList[val.id] //val.ancestors && val.ancestors.split(',').slice(1)
|
|
|
+ console.log('superiorValue',superiorValue,treeList,val.id);
|
|
|
+ superiorValue.pop()
|
|
|
data.detailType = "编辑";
|
|
|
- data.superiorValue = val.ancestors? superiorValue:''
|
|
|
+ data.superiorValue = superiorValue
|
|
|
+ console.log('superiorValue',data.superiorValue);
|
|
|
data.detail = {
|
|
|
...val,
|
|
|
deptType:val.deptType.toString()
|
|
|
};
|
|
|
+
|
|
|
} else {
|
|
|
data.detailType = "新增";
|
|
|
data.superiorValue = [];
|
|
@@ -301,6 +306,39 @@ export default {
|
|
|
data.treedatas = ress.data;
|
|
|
// getApp().$ref.treeBox.setCurrentKey(user.info.id)
|
|
|
};
|
|
|
+
|
|
|
+ const assembleTree = (tree) => {
|
|
|
+ if(!tree){
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let list = {}
|
|
|
+ const assemble = (data,parentList) => {
|
|
|
+ parentList = parentList?parentList:[]
|
|
|
+ data.map(ele => {
|
|
|
+ let newparentList = JSON.parse(JSON.stringify(parentList))
|
|
|
+ console.log('parentList',parentList,data,ele.id);
|
|
|
+ newparentList.push(ele.id)
|
|
|
+ if(ele.children){
|
|
|
+ list[ele.id] = newparentList
|
|
|
+ return assemble(ele.children,newparentList)
|
|
|
+ }else{
|
|
|
+ list[ele.id] = newparentList
|
|
|
+ return {[ele.id]:newparentList}
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return list
|
|
|
+ }
|
|
|
+ let treeList = assemble(tree)
|
|
|
+ // .map(el => {
|
|
|
+ // treeList = {
|
|
|
+ // ...treeList,
|
|
|
+ // ...el
|
|
|
+ // }
|
|
|
+ // console.log('treeList',treeList,el);
|
|
|
+ // })
|
|
|
+ console.log('treeList',treeList);
|
|
|
+ return treeList
|
|
|
+ }
|
|
|
onMounted(async () => {
|
|
|
console.log(myCascader)
|
|
|
getTreedata();
|
|
@@ -317,6 +355,7 @@ export default {
|
|
|
handleChange,
|
|
|
seeDetail,
|
|
|
remove,
|
|
|
+ assembleTree,
|
|
|
};
|
|
|
},
|
|
|
data() {
|
|
@@ -383,6 +422,10 @@ export default {
|
|
|
a {
|
|
|
margin: 0 8px;
|
|
|
}
|
|
|
+ .disable{
|
|
|
+ color: #BFBFBF !important;
|
|
|
+ pointer-events: none;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|