ソースを参照

获取1质检 2实验公有树

gangyj 2 年 前
コミット
a422865b3f

+ 13 - 1
src/api/manager/wbsinfo.js

@@ -57,4 +57,16 @@ export const wbsInfotabSort = (primaryKeyIds) => {
         primaryKeyIds,
       }
   })
-}
+}
+
+//获取1质检 2实验公有树列表
+export const getWbsList = (type) => {
+  return request({
+      url: '/api/blade-manager/wbsInfo/get-wbs-type',
+      method: 'get',
+      params: {
+        type
+      }
+  })
+}
+

+ 47 - 148
src/views/manager/archivetree.vue

@@ -13,7 +13,12 @@
       >
         <el-tabs v-model="activeName" @tab-click="handleClick">
           <el-tab-pane label="竣工档案目录" name="first">
-            <div>
+            
+          </el-tab-pane>
+          <el-tab-pane label="文书档案目录" name="second">
+              
+          </el-tab-pane>
+         <div>
                     <!-- <h2>归档目录树</h2> -->
                     <el-input
                       placeholder="输入关键字进行过滤"
@@ -124,121 +129,6 @@
                   </div>
                 
             </div>
-          </el-tab-pane>
-          <el-tab-pane label="文书档案目录" name="second">
-               <div>
-                <!-- <h2>归档目录树</h2> -->
-                <el-input
-                  placeholder="输入关键字进行过滤"
-                  clearable
-                  v-model="filterText"
-                >
-                </el-input>    
-              <div class="scrollClass" style="height:721px">
-                <el-scrollbar style="height:100%">
-                  <el-tree
-                    style="box-sizing: border-box;"
-                    v-show="!filterText"
-                    ref="trees1"
-                    :props="props"
-                    :load="loadNode"
-                    node-key="id"
-                    lazy >
-                    <span
-                      class=" flexStar"
-                      slot-scope="{ node, data }"
-                      @mouseover="mouseOver(data)"
-                      @mouseleave="mouseLeave(data)"
-                        
-                    >
-                      <span style="text-overflow: ellipsis;">{{ data.title }}</span>
-                      <span
-                        class="marleft10"
-                        v-show="data.moreShow"
-                      >
-                        <i
-                          @click.stop='addtree(data,node)'
-                          class="el-icon-circle-plus-outline"
-                          style="fontSize:18px;"
-                          v-if="data.isStorageNode!=1"
-                        ></i>
-                        <i
-                          @click.stop='edittree(data,node)'
-                          class="el-icon-edit-outline marleft5"
-                          style="fontSize:18px;"
-                          v-if="node.level!=1"
-                        ></i>
-                        <i
-                          @click.stop='deletetree(node)'
-                          class="el-icon-delete marleft5"
-                          style="fontSize:18px;"
-                          v-if="node.level!=1"
-                        ></i>
-                        <i
-                          @click.stop='paixuMD(data)'
-                          class="el-icon-sort marleft5"
-                          style="fontSize:18px;"
-                          v-if="node.level!=1"
-                        ></i>
-                      </span>
-                    </span>
-                  </el-tree>
-
-                  <el-tree
-                  v-show="filterText"
-                  :default-expanded-keys='defaultExpanded'
-                  :props="props"
-                  :data="data"
-                  node-key="id"
-                  ref="trees2"
-                  :default-expand-all="true"
-                  :filter-node-method="filterNode"
-                >
-                  <span
-                    class=" flexStar"
-                    slot-scope="{ node, data }"
-                    @mouseover="mouseOver(data)"
-                    @mouseleave="mouseLeave(data)"
-                    style="box-sizing:border-box;width:101%;"
-                  >
-                    <span  style="text-overflow: ellipsis;">{{ data.title }}</span>
-                    <span
-                      class="marleft10"
-                      v-show="data.moreShow"
-                    >
-                      <i
-                        @click.stop='addtree(data,node)'
-                        class="el-icon-circle-plus-outline"
-                        style="fontSize:18px;"
-                        v-if="data.isStorageNode!=1"
-                      ></i>
-                      <i
-                        @click.stop='edittree(data,node)'
-                        class="el-icon-edit-outline marleft5"
-                        style="fontSize:18px;"
-                        v-if="node.level!=1"
-                      ></i>
-                      <i
-                        @click.stop='deletetree(node)'
-                        class="el-icon-delete marleft5"
-                        style="fontSize:18px;"
-                        v-if="node.level!=1"
-                      ></i>
-                      <i
-                        @click.stop='paixuMD(data)'
-                        class="el-icon-sort marleft5"
-                        style="fontSize:18px;"
-                        v-if="node.level!=1"
-                      ></i>
-                    </span>
-                  </span>
-                  </el-tree>
-                </el-scrollbar>
-              </div>
-             
-              </div>
-          </el-tab-pane>
-         
       </el-tabs>
        
       </el-col>
@@ -330,7 +220,7 @@
             
           </div>
         </div> -->
-         <div class="peizhi" :style="{'height':heights-210+'px','overflow': 'hidden'}">
+         <div class="peizhi" :style="{'height':heights-210+'px','overflow': 'hidden'}" v-loading="rightTreeLoading">
             <el-tabs v-model="activetabName" @tab-click="handletabClick">
                 <el-tab-pane label="立卷规则" name="second">
                    <el-row style="margin-bottom:15px">
@@ -339,27 +229,27 @@
                     <el-button type="primary" plain @click="setAlone">设置为独立组卷</el-button>
                   </el-row>
                     <div style="display: flex;justify-content: space-between;">
-                         <el-select v-model="publictreevalue" clearable placeholder="请选择公有质检化分树" style="  margin-bottom:15px;  width:45%;">
+                         <el-select v-model="publictreevalue" clearable placeholder="请选择公有质检化分树" @change="treeIdChange" style="  margin-bottom:15px;  width:45%;">
                             <el-option
                               v-for="item in publictreeoptions"
-                              :key="item.value"
-                              :label="item.label"
-                              :value="item.value">
+                              :key="item.id"
+                              :label="item.wbsName"
+                              :value="item.id">
                             </el-option>
                         </el-select>
-                        <el-select v-model="testtreevalue" clearable placeholder="请选择公有试验化分树"   style="    width: 45%;">
+                        <el-select v-model="testtreevalue" clearable placeholder="请选择公有试验化分树" @change="treeIdChange"  style="    width: 45%;">
                             <el-option
                               v-for="item in testtreeoptions"
-                              :key="item.value"
-                              :label="item.label"
-                              :value="item.value">
+                              :key="item.id"
+                              :label="item.wbsName"
+                              :value="item.id">
                             </el-option>
                         </el-select>
                       </div>
                 </el-tab-pane>
                 <el-tab-pane label="工程文件入口配置" name="first"></el-tab-pane>
           </el-tabs>
-         
+
           <div class="scrollClass"  v-if="activetabName==='second'" style="height:721px">
                  <el-scrollbar style="height:100%">
                     <el-tree
@@ -408,8 +298,7 @@
                   </el-tree>
                  </el-scrollbar>
               </div>
-         
-        </div>
+         </div>
       </el-col>
     </el-row>
     <!-- 新增编辑 -->
@@ -786,6 +675,7 @@
 <script>
 import ManualSorting from '@/components/WbsTree/ManualSorting'
 import { archiveTreeInit, lazyTree, dictionary, remove, archiveTreeSave, archiveTreeUpdate, archiveTreeDetail, archiveTreetree, submitDisplayConfigTree, getSameGradeNode, submitArchiveTreeSort } from "@/api/manager/archivetree";
+import {getWbsList} from "@/api/manager/wbsinfo";
 import { getToken } from '@/util/auth';
 import { roletree } from "@/api/system/role.js";
 import logoVue from '../../page/index/logo.vue';
@@ -795,27 +685,9 @@ export default {
   },
   data () {
     return {
-       publictreeoptions: [{//公有质检话分数
-          value: '选项1',
-          label: '公有质检划分树1'
-          }, {
-            value: '选项2',
-          label: '公有质检划分树2'
-          }, {
-            value: '选项3',
-          label: '公有质检划分树3'
-        }],
+      publictreeoptions: [],
       publictreevalue:'',
-      testtreeoptions: [{//公有质检话分数
-          value: '选项1',
-          label: '公有试验划分树1'
-          }, {
-            value: '选项2',
-          label: '公有试验划分树2'
-          }, {
-            value: '选项3',
-          label: '公有试验划分树3'
-        }],
+      testtreeoptions: [],
       testtreevalue:'',
        activeName: 'second',
        activetabName:'second',
@@ -1008,6 +880,7 @@ export default {
         label: 'title'
       },
       rightData: [],
+      rightTreeLoading:false,//右侧树加载
       //#endregion
 
       //#region 右侧树弹框
@@ -1599,6 +1472,30 @@ export default {
       }
     },
     //#endregion
+
+    async getWbsList(){
+      const datas = await Promise.all([
+        getWbsList(1),
+        getWbsList(2),
+      ])
+      //console.log(datas,'ressssss');
+      this.publictreeoptions = datas[0].data.data;
+      this.testtreeoptions = datas[1].data.data;
+    },
+
+    //切换树
+    async treeIdChange(id){
+      this.rightTreeLoading = true;
+      const { data: res } = await archiveTreetree({
+        projectId:0,
+        wbsId:id
+      })
+      //console.log(res);
+      this.rightTreeLoading = false;
+      if (res.code == 200 && res.msg == "操作成功") {
+        this.rightData = res.data
+      }
+    }
   },
   watch: {
     filterText (val) {
@@ -1617,6 +1514,8 @@ export default {
       projectId:0
     })
     this.archiveTreetree4()//全加载左侧树
+
+    this.getWbsList();
   },
   mounted () {
     this.heights = this.$refs.container.$el.offsetHeight

+ 37 - 27
src/views/manager/projectinfo/archivetreeRule.vue

@@ -218,7 +218,7 @@
 
           </div>
         </div> -->
-         <div class="peizhi" :style="{'height':heights-210+'px','overflow': 'hidden'}">
+         <div class="peizhi" :style="{'height':heights-210+'px','overflow': 'hidden'}" v-loading="rightTreeLoading">
             <el-tabs v-model="activetabName" @tab-click="handletabClick">
                 <el-tab-pane label="立卷规则" name="second">
                    <el-row style="margin-bottom:15px">
@@ -230,17 +230,17 @@
                          <el-select v-model="publictreevalue" clearable placeholder="请选择公有质检化分树" style="  margin-bottom:15px;  width:45%;">
                             <el-option
                               v-for="item in publictreeoptions"
-                              :key="item.value"
-                              :label="item.label"
-                              :value="item.value">
+                              :key="item.id"
+                              :label="item.wbsName"
+                              :value="item.id">
                             </el-option>
                         </el-select>
                         <el-select v-model="testtreevalue" clearable placeholder="请选择公有试验化分树"   style="    width: 45%;">
                             <el-option
                               v-for="item in testtreeoptions"
-                              :key="item.value"
-                              :label="item.label"
-                              :value="item.value">
+                              :key="item.id"
+                              :label="item.wbsName"
+                              :value="item.id">
                             </el-option>
                         </el-select>
                       </div>
@@ -674,6 +674,7 @@
 <script>
 import ManualSorting from '@/components/WbsTree/ManualSorting'
 import { archiveTreeInit, lazyTree, dictionary, remove, archiveTreeSave, archiveTreeUpdate, archiveTreeDetail, archiveTreetree, submitDisplayConfigTree, getSameGradeNode, submitArchiveTreeSort } from "@/api/manager/archivetree";
+import {getWbsList} from "@/api/manager/wbsinfo";
 import { getToken } from '@/util/auth';
 import { roletree } from "@/api/system/role.js";
 // import logoVue from '../../page/index/logo.vue';
@@ -683,27 +684,9 @@ export default {
   },
   data () {
     return {
-       publictreeoptions: [{//公有质检话分数
-          value: '选项1',
-          label: '公有质检划分树1'
-          }, {
-            value: '选项2',
-          label: '公有质检划分树2'
-          }, {
-            value: '选项3',
-          label: '公有质检划分树3'
-        }],
+      publictreeoptions: [],
       publictreevalue:'',
-      testtreeoptions: [{//公有质检话分数
-          value: '选项1',
-          label: '公有试验划分树1'
-          }, {
-            value: '选项2',
-          label: '公有试验划分树2'
-          }, {
-            value: '选项3',
-          label: '公有试验划分树3'
-        }],
+      testtreeoptions: [],
       testtreevalue:'',
        activeName: 'second',
        activetabName:'second',
@@ -896,6 +879,7 @@ export default {
         label: 'title'
       },
       rightData: [],
+      rightTreeLoading:false,//右侧树加载
       //#endregion
 
       //#region 右侧树弹框
@@ -1500,6 +1484,30 @@ export default {
       }
     },
     //#endregion
+
+    async getWbsList(){
+      const datas = await Promise.all([
+        getWbsList(1),
+        getWbsList(2),
+      ])
+      //console.log(datas,'ressssss');
+      this.publictreeoptions = datas[0].data.data;
+      this.testtreeoptions = datas[1].data.data;
+    },
+
+    //切换树
+    async treeIdChange(id){
+      this.rightTreeLoading = true;
+      const { data: res } = await archiveTreetree({
+        projectId:0,
+        wbsId:id
+      })
+      //console.log(res);
+      this.rightTreeLoading = false;
+      if (res.code == 200 && res.msg == "操作成功") {
+        this.rightData = res.data
+      }
+    }
   },
   watch: {
     filterText (val) {
@@ -1520,6 +1528,8 @@ export default {
       nodeType: 2,
     })
     this.archiveTreetree4()//全加载左侧树
+    
+    this.getWbsList();
   },
   mounted () {
     this.heights = this.$refs.container.$el.offsetHeight;