瀏覽代碼

分配项目,合同段wbs树相关问题修复

gangyj 3 年之前
父節點
當前提交
a4cd5ab65b
共有 3 個文件被更改,包括 49 次插入2 次删除
  1. 10 2
      src/components/tree-tree/main.vue
  2. 10 0
      src/views/manager/contractinfo/detail.vue
  3. 29 0
      src/views/manager/projectinfo/detail.vue

+ 10 - 2
src/components/tree-tree/main.vue

@@ -5,7 +5,7 @@
         <span>{{leftNum}}项</span>
         <el-checkbox v-if="showAllCheck" v-model="allChecked" @change="checkChang">默认全部引用</el-checkbox>
       </div>
-      <div>
+      <div v-loading="leftloading">
         <el-scrollbar :style="scrollbarStyle">
           <el-tree show-checkbox
             :data="leftTreeData" @check-change="checkChange('leftTree')"
@@ -25,7 +25,7 @@
       <div slot="header" class="clearfix">
         <span>{{rightNum}}项</span>
       </div>
-      <div>
+      <div v-loading="rightloading">
         <el-scrollbar :style="scrollbarStyle">
           <el-tree show-checkbox
             :data="rightTreeData" @check-change="checkChange('rightTree')"
@@ -62,6 +62,14 @@ export default {
       default: function () {
         return null;
       }
+    },
+    leftloading:{
+      type:Boolean,
+      default:false,
+    },
+    rightloading:{
+      type:Boolean,
+      default:false,
     }
   },
   computed: {

+ 10 - 0
src/views/manager/contractinfo/detail.vue

@@ -426,6 +426,8 @@
               ref="treetotree"
               @onAddTree="treeChang"
               @onDelTree="treeChang"
+              :leftloading="leftloading"
+              :rightloading="rightloading"
             ></tree-tree>
           </div>
         </el-tab-pane>
@@ -774,6 +776,8 @@ export default {
 
       wbsId: '',
       leftTreeData: [],
+      leftloading:false,
+      rightloading:false,
     }
   },
   computed: {
@@ -909,6 +913,7 @@ export default {
               case '1':
                 this.savecontract().then((res) => {
                   this.contractForm.id = res.data.data.id;
+                  this.typeChang[oldActiveName] = false;
                   resolve();
                   this.$message({
                     type: "success",
@@ -918,6 +923,7 @@ export default {
                 break;
               case '2':
                 this.saveWbsTree().then(() => {
+                  this.typeChang[oldActiveName] = false;
                   resolve();
                   this.$message({
                     type: "success",
@@ -1306,6 +1312,7 @@ export default {
     getLeftTree() {
       return new Promise((resolve) => {
         if (!this.leftTreeData.length) {
+          this.leftloading = true;
           findProjectTree(this.projectInfo.id, this.wbsId).then((res) => {
             if (Array.isArray(res.data.data)) {
               this.leftTreeData = res.data.data;
@@ -1314,6 +1321,7 @@ export default {
             }
             resolve();
           }).finally(() => {
+            this.leftloading = false;
             resolve();
           })
         }
@@ -1322,10 +1330,12 @@ export default {
     },
     getRightTree() {
       console.log(this.wbsId, this.projectInfo.id, this.contractForm.id);
+      this.rightloading = true;
       getContractInfoTree(this.wbsId, this.projectInfo.id, this.contractForm.id).then((res) => {
         if (Array.isArray(res.data.data)) {
           this.$refs.treetotree.setRightTree(res.data.data);
         }
+        this.rightloading = false;
       })
     },
     saveWbsTree() {

+ 29 - 0
src/views/manager/projectinfo/detail.vue

@@ -202,6 +202,8 @@
               @onAddTree="treeChang"
               @onDelTree="treeChang"
               @onCheckAll="treeChang"
+              :leftloading="leftloading"
+              :rightloading="rightloading"
             ></tree-tree>
           </div>
         </el-tab-pane>
@@ -241,6 +243,8 @@
               @onAddTree="treeChang3"
               @onDelTree="treeChang3"
               @onCheckAll="treeChang3"
+              :leftloading="logleftloading"
+              :rightloading="logrightloading"
             ></tree-tree>
           </div>
         </el-tab-pane>
@@ -537,6 +541,11 @@ export default {
       selected: false,
       leftTreeData: [],
       logLeftTreeData: [],
+
+      leftloading:false,
+      rightloading:false,
+      logleftloading:false,
+      logrightloading:false,
     }
   },
   computed: {
@@ -621,6 +630,7 @@ export default {
               case '1':
                 this.saveProject().then((res) => {
                   this.projectForm.id = res.data.data.id;
+                  this.typeChang[oldActiveName] = false;
                   resolve();
                   this.$message({
                     type: "success",
@@ -630,6 +640,7 @@ export default {
                 break;
               case '2':
                 this.saveWbsTree().then(() => {
+                  this.typeChang[oldActiveName] = false;
                   resolve();
                   this.$message({
                     type: "success",
@@ -887,16 +898,19 @@ export default {
     },
     logWbsChange(value){
       //公有库
+      this.logleftloading = true;
       getAlltree(this.userInfo.tenant_id, '1', value).then((res) => {
         if (Array.isArray(res.data.data)) {
           this.logLeftTreeData = res.data.data;
         } else {
           this.logLeftTreeData = [];
         }
+        this.logleftloading = false;
       })
     },
     wbsChange (value) {
       //console.log(value)
+      this.leftloading = true;
       if (value.toString().indexOf(',') >= 0) {
         //私有库
         let ids = value.toString().split(',');
@@ -906,6 +920,7 @@ export default {
           } else {
             this.leftTreeData = [];
           }
+          this.leftloading = false;
         })
       } else {
         //公有库
@@ -915,8 +930,11 @@ export default {
           } else {
             this.leftTreeData = [];
           }
+          this.leftloading = false;
         })
       }
+
+      this.getRightTree();
     },
 
     getLogTreeList(){
@@ -1025,15 +1043,19 @@ export default {
         await this.getLogTreeList();
         this.logWbsId = refId;
 
+        this.logleftloading = true;
         let leftData = await getAlltree(this.userInfo.tenant_id, '1', refId);
         if (Array.isArray(leftData.data.data)) {
           this.logLeftTreeData = leftData.data.data;
         } else {
           this.logLeftTreeData = [];
         }
+        this.logleftloading = false;
 
+        this.logrightloading = true;
         let projectTree = await findProjectTree(this.projectForm.id, refId);
         this.$refs.treetotree2.setRightTree(projectTree.data.data);
+        this.logrightloading = false;
       } else {
         await this.getLogTreeList();
       }
@@ -1067,6 +1089,8 @@ export default {
 
         let projectTree = await findProjectTree(this.projectForm.id, refId)
         if (Array.isArray(projectTree.data.data)) {
+          this.leftloading = true;
+          this.rightloading = true;
           if (this.projectForm.referenceWbsTemplateType == 'private') {
             //私有
             let leftData = await findProjectTree(priv.projectId, priv.wbsId)
@@ -1075,6 +1099,7 @@ export default {
             } else {
               this.leftTreeData = [];
             }
+            this.leftloading = false;
           } else {
             //公有
             let leftData = await getAlltree(this.userInfo.tenant_id, '1', refId)
@@ -1083,9 +1108,11 @@ export default {
             } else {
               this.leftTreeData = [];
             }
+            this.leftloading = false;
           }
 
           this.$refs.treetotree.setRightTree(projectTree.data.data);
+          this.rightloading = false;
         }
       } else {
         this.getTreeList();
@@ -1093,10 +1120,12 @@ export default {
     },
 
     getRightTree() {
+      this.rightloading = true;
       findProjectTree(this.projectForm.id, this.projectForm.referenceWbsTemplateId).then((res) => {
         if (Array.isArray(res.data.data)) {
           this.$refs.treetotree.setRightTree(res.data.data);
         }
+        this.rightloading = false;
       })
     },