Преглед на файлове

独立库-显示子节点

duy преди 2 години
родител
ревизия
6ac0c1ec4e
променени са 2 файла, в които са добавени 56 реда и са изтрити 52 реда
  1. 28 39
      src/views/manager/projectinfo/independent.vue
  2. 28 13
      src/views/manager/projectinfo/qutediaolog/qute.vue

+ 28 - 39
src/views/manager/projectinfo/independent.vue

@@ -8,8 +8,8 @@
             style="display: inline-block;min-width: 100%;"
             ref="trees"
             :loading="loading"
-         
-           
+            :load="loadNode"
+            lazy
             :data="data"
             :props="defaultProps"
             @node-click="nodeClick"
@@ -195,17 +195,8 @@
 
 <script>
 import {tabTypeLazyTree,delAprojectTab} from "@/api/manager/wbsprivate";
-import {
-  updateBatchNodeTableInfo,
-  selectByNodeTable,
-  selectFormElements,
-} from "@/api/manager/wbstree";
-import {
-  getList,
-  tabLazytreeAll,
-  saveLinkTab,
-  getExcelHtml,
-} from "@/api/exctab/excelmodel"
+import {selectFormElements,} from "@/api/manager/wbstree";
+import {getExcelHtml} from "@/api/exctab/excelmodel"
 import Qute from "./qutediaolog/qute.vue";//引入元素库
 import Relation from './qutediaolog/relation.vue'//关联清表
 import EditElement from "@/views/manager/projectinfo/editElement/editElement.vue";//编辑元素
@@ -240,30 +231,10 @@ export default {
       defaultProps: {
         children: "children",
         isLeaf: function (data) {
-          return data.hasChildren;
+          return !data.hasChildren;
         },
       },
       allTreeShow:false,//是否显示整棵树
-      treeOption: {
-        defaultExpandAll: true,
-        filter: false,
-        addBtn: false,
-        formOption: {
-          labelWidth: 100,
-          column: [
-            {
-              label: "自定义项",
-              prop: "test",
-            },
-          ],
-        },
-        props: {
-          labelText: "标题",
-          label: "label",
-          value: "value",
-          children: "children",
-        },
-      },
       loadData: [],
       loadData1: [
         {
@@ -398,7 +369,7 @@ export default {
     // this.loadData = this.loadData1;
      this.projectid = this.$route.query.pid;
      this.wbsid=this.$route.query.wbsid;
-     this.treeLoad1()
+    //  this.treeLoad1()
   },
   methods: {
 
@@ -418,7 +389,17 @@ export default {
         return res.data
       }
     },
-
+    loadNode(node, resolve) {
+      const parentId = (node.level === 0) ? 12345678910 : node.data.id;
+      tabTypeLazyTree({parentId,projectId:this.projectid,current:1,size:200}).then(res => {
+          resolve(res.data.data.records.map(item => {
+              return {
+                ...item,
+                leaf: !item.hasChildren
+              }
+            }))
+          });
+    },
     searchChange(){
        if(this.treeId){
         this.tabTypeLazyTree(this.treeId, this.projectid,this.page.current,this.page.size,this.input3).then((res)=>{
@@ -460,13 +441,21 @@ export default {
     nodeClick (data) {//外层树结构
         console.log(data,'treedata');
         this.treeId=data.id
-        this.tabTypeLazyTree(data.id, this.projectid,this.page.current,this.page.size).then((res)=>{
+        if(data.hasChildren){
+           this.tabTypeLazyTree(data.id, this.projectid,this.page.current,this.page.size).then((res)=>{
           console.log(res.records);
           this.loadData=res.records;
            this.page.total=res.total
-          
-        })
+          })
+        }else{
+          let arr=[]
+            arr.push(data)
+            this.loadData=arr
+            this.page.total=1
+        }
+       
     },
+
     handleClose(done) {
       this.$confirm("确认关闭?")
         .then((_) => {

+ 28 - 13
src/views/manager/projectinfo/qutediaolog/qute.vue

@@ -44,8 +44,8 @@ export default {
         dialogVisible:false,
         obj: {},
         treeData:[],
+       
         treeOption:{
-          defaultExpandAll:true,
           filter:false,
           addBtn:false,
           props:{
@@ -53,7 +53,20 @@ export default {
             label:'title',
             value:'id',
             children:'children'
-          }
+          },
+          lazy: true,
+          treeLoad: function (node, resolve) {
+          const parentId = (node.level === 0) ? 12345678910 : node.data.id;
+          tabTypeLazyTreeAll({parentId,current:1,size:200}).then(res => {
+              resolve(res.data.data.records.map(item => {
+                  return {
+                    ...item,
+                    leaf: !item.hasChildren
+                  }
+                }))
+                
+              }); 
+          },
         },
       selectionList:[],
       loadData:[],
@@ -213,10 +226,18 @@ export default {
       nodeClick(data){
           console.log(data,'treedata');
           this.treeId=data.id
-          this.tabTypeLazyTreeAll(data.id, this.page.current,this.page.size).then((res)=>{
-          this.loadData=res.records
-           this.page.total=res.total
-        })
+          if(data.hasChildren){
+             this.tabTypeLazyTreeAll(data.id, this.page.current,this.page.size).then((res)=>{
+              this.loadData=res.records
+              this.page.total=res.total
+            })
+          }else{
+            let arr=[]
+            arr.push(data)
+            this.loadData=arr
+            this.page.total=1
+          }
+         
       },
       handleClose(done) {
         this.$confirm('确认关闭?')
@@ -227,13 +248,7 @@ export default {
       },
       show(){
         this.dialogVisible=true;
-        let id=12345678910
-        this.tabTypeLazyTreeAll(id).then((res)=>{
-            this.treeData=res.records;
-             this.$nextTick(() => {
-               this.$refs.crud.refreshTable();
-            })
-        })
+        
       },
       submitQute(){
         console.log('确定');