tangning пре 3 година
родитељ
комит
ec2b466158
1 измењених фајлова са 50 додато и 7 уклоњено
  1. 50 7
      src/view/organization/list.vue

+ 50 - 7
src/view/organization/list.vue

@@ -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;
+            }
           }
         }
       }