iZaiZaiA 2 лет назад
Родитель
Сommit
72dc2836a0
1 измененных файлов с 299 добавлено и 297 удалено
  1. 299 297
      src/views/manager/projectinfo/tree.vue

+ 299 - 297
src/views/manager/projectinfo/tree.vue

@@ -1,36 +1,36 @@
 <template>
   <div style="height:100%">
-  <basic-container v-show="showType == 1">
-    <el-row :gutter="20" class="h-100p">
-      <el-col :span="10" class="h-100p">
-        <div class="h-100p flex flex-d-c">
-          <p>工程节点信息</p>
-          <div class="flex">
-            <el-input
-              placeholder="输入关键字进行过滤"
-              v-model="filterText"
-              @input="filterChange"
-              clearable
-            ></el-input>
-            <!-- <el-button type="info" class="mg-l-20">导入划分</el-button> -->
-          </div>
-          <div class="flex1 ov-hidden">
-          <el-scrollbar class="h-100p">
-            <div v-loading="treeLoad">
-              <el-tree
-                v-show="!filterText"
-                class="filter-tree"
-                lazy
-                :data="treeData"
-                :load="loadNode"
-                @node-click="getNodeDetail"
-                :props="defaultProps"
-                :expand-on-click-node="false"
-                highlight-current
-                node-key="id"
-                ref="tree"
-                :default-expanded-keys="defaultExpandedKeys"
-              >
+    <basic-container v-show="showType == 1">
+      <el-row :gutter="20" class="h-100p">
+        <el-col :span="10" class="h-100p">
+          <div class="h-100p flex flex-d-c">
+            <p>工程节点信息</p>
+            <div class="flex">
+              <el-input
+                placeholder="输入关键字进行过滤"
+                v-model="filterText"
+                @input="filterChange"
+                clearable
+              ></el-input>
+              <!-- <el-button type="info" class="mg-l-20">导入划分</el-button> -->
+            </div>
+            <div class="flex1 ov-hidden">
+              <el-scrollbar class="h-100p">
+                <div v-loading="treeLoad">
+                  <el-tree
+                    v-show="!filterText"
+                    class="filter-tree"
+                    lazy
+                    :data="treeData"
+                    :load="loadNode"
+                    @node-click="getNodeDetail"
+                    :props="defaultProps"
+                    :expand-on-click-node="false"
+                    highlight-current
+                    node-key="id"
+                    ref="tree"
+                    :default-expanded-keys="defaultExpandedKeys"
+                  >
                 <span
                   class="custom-tree-node"
                   :class="data.moreShow?'show':''"
@@ -98,19 +98,19 @@
                     </el-dropdown> -->
                   </span>
                 </span>
-              </el-tree>
-              <el-tree
-                v-show="filterText"
-                class="filter-tree"
-                :data="treeData"
-                @node-click="getNodeDetail"
-                :props="defaultProps"
-                :expand-on-click-node="false"
-                highlight-current
-                node-key="id"
-                :filter-node-method="filterNode"
-                ref="treeall"
-              >
+                  </el-tree>
+                  <el-tree
+                    v-show="filterText"
+                    class="filter-tree"
+                    :data="treeData"
+                    @node-click="getNodeDetail"
+                    :props="defaultProps"
+                    :expand-on-click-node="false"
+                    highlight-current
+                    node-key="id"
+                    :filter-node-method="filterNode"
+                    ref="treeall"
+                  >
                 <span
                   class="custom-tree-node"
                   slot-scope="{ node, data }"
@@ -172,254 +172,254 @@
                     </el-dropdown> -->
                   </span>
                 </span>
-              </el-tree>
+                  </el-tree>
+                </div>
+              </el-scrollbar>
             </div>
-          </el-scrollbar>
-        </div>
 
-        </div>
-      </el-col>
-      <el-col :span="14" class="h-100p flex flex-d-c">
-        <div class="mg-b-10">
-          <el-button type="primary" size="medium" icon="el-icon-edit-outline" @click="editNodeHandle">编辑当前节点</el-button>
-          <el-button type="primary" size="medium" icon="el-icon-document-copy" @click="copyNodeHandle">复制当前节点</el-button>
-          <el-button type="warning" size="medium" icon="el-icon-delete" @click="delNodeHandle">删除当前节点</el-button>
-          <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-s-grid" @click="eleFormulaHandle" v-if="leftType==5">表单设置</el-button>
-          <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-s-grid" @click="eleHandle" v-else>元素设置</el-button>
-          <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-help" @click="nodeInfoHandle">节点参数设置</el-button>
-          <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-upload" :loading="syncBtnLoad" @click="syncInfoHandle">同步节点参数</el-button>
-        </div>
-        <template v-if="leftType==5">
-          <div class="mg-b-10">节点信息</div>
-          <div>
-            <el-table
-              :data="tableData"
-              border
-              style="width: 100%"
-            >
-              <el-table-column
-                align="center"
-                prop="nodeName"
-                label="当前节点"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="nodeType"
-                :formatter="formatCat"
-                label="节点类型"
-                width="180"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="parentName"
-                label="上级节点"
-              ></el-table-column>
-            </el-table>
           </div>
-          <div class="flex jc-sb">
-            <p>
-              <span>当前项目信息表</span>
-              <!-- <el-button
-                @click="showFormElement"
-                type="text"
-                icon="el-icon-circle-plus-outline"
-                class="text-icon mg-l-10"
-              ></el-button>
-              <el-button
-                type="text"
-                icon="el-icon-document-copy"
-                class="text-icon"
-              ></el-button> -->
-
-              <el-button
-                type="text"
-                style="margin-left:10px;"
-                icon="el-icon-edit-outline"
-                class="text-icon"
-                @click="editEditElementForm()"
-              ></el-button>
-              <el-button
-                type="text"
-                icon="el-icon-sort"
-                class="text-icon"
-                @click="privateTableSort()"
-              ></el-button>
-            </p>
-            <div class="mg-t-10">
-            </div>
+        </el-col>
+        <el-col :span="14" class="h-100p flex flex-d-c">
+          <div class="mg-b-10">
+            <el-button type="primary" size="medium" icon="el-icon-edit-outline" @click="editNodeHandle">编辑当前节点</el-button>
+            <el-button type="primary" size="medium" icon="el-icon-document-copy" @click="copyNodeHandle">复制当前节点</el-button>
+            <el-button type="warning" size="medium" icon="el-icon-delete" @click="delNodeHandle">删除当前节点</el-button>
+            <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-s-grid" @click="eleFormulaHandle" v-if="leftType==5">表单设置</el-button>
+            <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-s-grid" @click="eleHandle" v-else>元素设置</el-button>
+            <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-help" @click="nodeInfoHandle">节点参数设置</el-button>
+            <el-button class="el-btn-purple" type="primary" size="medium" icon="el-icon-upload" :loading="syncBtnLoad" @click="syncInfoHandle">同步节点参数</el-button>
           </div>
-          <div style="flex: 1;position: relative;">
-            <el-table
-              :data="formData"
-              border height="100%"
-              style="width: 100%;position: absolute;"
-            >
-              <el-table-column
-                align="center"
-                prop="tableName"
-                label="表单名称"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="elementTotal"
-                width="80"
-                label="字段总量"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="fillRate"
-                width="100"
-                label="填报率"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="tableType"
-                :formatter="formatTableType"
-                width="100"
-                label="表单类型"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="tableOwner"
-                :formatter="formatOwner"
-                label="所属方"
-              ></el-table-column>
-              <el-table-column
-                label="操作"
-                width="240"
+          <template v-if="leftType==5">
+            <div class="mg-b-10">节点信息</div>
+            <div>
+              <el-table
+                :data="tableData"
+                border
+                style="width: 100%"
               >
-                <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    @click="handleEdit(scope.$index, scope.row)"
-                  >预览</el-button>
-                  <el-button
-                    size="mini"
-                    type="primary"
-                    v-throttle='3000'
-                    v-show="scope.row.status==0"
-                    @click="hideMD(scope.row)"
-                  >取消隐藏</el-button>
-                  <el-button
-                    size="mini"
-                    type="primary"
-                    v-throttle='3000'
-                    v-show="scope.row.status==1"
-                    @click="hideMD(scope.row)"
-                  >隐藏表单</el-button>
-                  <el-button
-                    size="mini"
-                    type="danger"
-                    @click="handleDelete(scope.$index, scope.row)"
-                  >删除</el-button>
-                </template>
-              </el-table-column>
-            </el-table>
-          </div>
-        </template>
-        <template v-if="leftType==4">
-          <div style="flex: 1;position: relative;">
-            <el-table
-              :data="formData"
-              border height="100%"
-              style="width: 100%;position: absolute;"
-            >
-              <el-table-column
-                align="center"
-                prop="tableName"
-                label="表单名称"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="tableType"
-                :formatter="formatTableType"
-                label="表单类型"
-              ></el-table-column>
-              <el-table-column
-                align="center"
-                prop="fillRate"
-                label="填报率"
-              ></el-table-column>
-              <el-table-column
-                label="是否关联清表"
-                prop="isLinkTable"
-                align="center"
+                <el-table-column
+                  align="center"
+                  prop="nodeName"
+                  label="当前节点"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="nodeType"
+                  :formatter="formatCat"
+                  label="节点类型"
+                  width="180"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="parentName"
+                  label="上级节点"
+                ></el-table-column>
+              </el-table>
+            </div>
+            <div class="flex jc-sb">
+              <p>
+                <span>当前项目信息表</span>
+                <!-- <el-button
+                  @click="showFormElement"
+                  type="text"
+                  icon="el-icon-circle-plus-outline"
+                  class="text-icon mg-l-10"
+                ></el-button>
+                <el-button
+                  type="text"
+                  icon="el-icon-document-copy"
+                  class="text-icon"
+                ></el-button> -->
+
+                <el-button
+                  type="text"
+                  style="margin-left:10px;"
+                  icon="el-icon-edit-outline"
+                  class="text-icon"
+                  @click="editEditElementForm()"
+                ></el-button>
+                <el-button
+                  type="text"
+                  icon="el-icon-sort"
+                  class="text-icon"
+                  @click="privateTableSort()"
+                ></el-button>
+              </p>
+              <div class="mg-t-10">
+              </div>
+            </div>
+            <div style="flex: 1;position: relative;">
+              <el-table
+                :data="formData"
+                border height="100%"
+                style="width: 100%;position: absolute;"
               >
-                <template slot-scope="scope">
-                  <span v-if="scope.row.isLinkTable == 2">是</span>
-                  <span v-else>否</span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                align="center"
-                prop="tableOwner"
-                :formatter="formatOwner"
-                label="所属方"
-              ></el-table-column>
-              <el-table-column
-                label="操作"
-                width="400"
-                align="center"
+                <el-table-column
+                  align="center"
+                  prop="tableName"
+                  label="表单名称"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="elementTotal"
+                  width="80"
+                  label="字段总量"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="fillRate"
+                  width="100"
+                  label="填报率"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="tableType"
+                  :formatter="formatTableType"
+                  width="100"
+                  label="表单类型"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="tableOwner"
+                  :formatter="formatOwner"
+                  label="所属方"
+                ></el-table-column>
+                <el-table-column
+                  label="操作"
+                  width="240"
+                >
+                  <template slot-scope="scope">
+                    <el-button
+                      size="mini"
+                      @click="handleEdit(scope.$index, scope.row)"
+                    >预览</el-button>
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      v-throttle='3000'
+                      v-show="scope.row.status==0"
+                      @click="hideMD(scope.row)"
+                    >取消隐藏</el-button>
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      v-throttle='3000'
+                      v-show="scope.row.status==1"
+                      @click="hideMD(scope.row)"
+                    >隐藏表单</el-button>
+                    <el-button
+                      size="mini"
+                      type="danger"
+                      @click="handleDelete(scope.$index, scope.row)"
+                    >删除</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </div>
+          </template>
+          <template v-if="leftType==4">
+            <div style="flex: 1;position: relative;">
+              <el-table
+                :data="formData"
+                border height="100%"
+                style="width: 100%;position: absolute;"
               >
-                <template slot-scope="scope">
-                  <el-link
-                    type="primary"
-                    @click="Associationlist(scope)"
-                  >关联清表</el-link>
-                  <el-link
-                    class="mg-l-10"
-                    type="primary"
-                    :disabled='scope.row.excelId==-1'
-                    @click="rightClick(scope.row.pkeyId,scope.row.excelId,scope.row.id,scope.row.initTableName)"
-                  >编辑元素</el-link>
-                  <el-link
-                    class="mg-l-10"
-                    type="primary"
-                    :disabled='scope.row.excelId==-1'
-                    @click="adjustExcel(scope.row.pkeyId,scope.row.excelId)"
-                  >调整表单</el-link>
-                  <el-link
-                    class="mg-l-10"
-                    type="primary"
-                    @click="handleEditFormula(scope.$index, scope.row)"
-                  >编辑元素公式</el-link>
-                  <el-link
-                    class="mg-l-10"
-                    type="danger"
-                    @click="handleDelete(scope.$index, scope.row)"
-                  >删除表单</el-link>
-                </template>
-              </el-table-column>
-            </el-table>
-          </div>
-        </template>
-      </el-col>
-    </el-row>
+                <el-table-column
+                  align="center"
+                  prop="tableName"
+                  label="表单名称"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="tableType"
+                  :formatter="formatTableType"
+                  label="表单类型"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="fillRate"
+                  label="填报率"
+                ></el-table-column>
+                <el-table-column
+                  label="是否关联清表"
+                  prop="isLinkTable"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <span v-if="scope.row.isLinkTable == 2">是</span>
+                    <span v-else>否</span>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="tableOwner"
+                  :formatter="formatOwner"
+                  label="所属方"
+                ></el-table-column>
+                <el-table-column
+                  label="操作"
+                  width="400"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <el-link
+                      type="primary"
+                      @click="Associationlist(scope)"
+                    >关联清表</el-link>
+                    <el-link
+                      class="mg-l-10"
+                      type="primary"
+                      :disabled='scope.row.excelId==-1'
+                      @click="rightClick(scope.row.pkeyId,scope.row.excelId,scope.row.id,scope.row.initTableName)"
+                    >编辑元素</el-link>
+                    <el-link
+                      class="mg-l-10"
+                      type="primary"
+                      :disabled='scope.row.excelId==-1'
+                      @click="adjustExcel(scope.row.pkeyId,scope.row.excelId)"
+                    >调整表单</el-link>
+                    <el-link
+                      class="mg-l-10"
+                      type="primary"
+                      @click="handleEditFormula(scope.$index, scope.row)"
+                    >编辑元素公式</el-link>
+                    <el-link
+                      class="mg-l-10"
+                      type="danger"
+                      @click="handleDelete(scope.$index, scope.row)"
+                    >删除表单</el-link>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </div>
+          </template>
+        </el-col>
+      </el-row>
 
-  </basic-container>
-  <el-row class="h-100p" v-show="showType == 2">
-    <el-col :span="6" class="h-100p">
-      <basic-container>
-        <el-scrollbar class="h-100p">
-          <el-tree
-            class="filter-tree"
-            lazy
-            :data="typeTreeData"
-            :load="typeTreeLoadNode"
-            @node-click="getTypeTreeDetail"
-            :props="defaultProps"
-            :expand-on-click-node="false"
-            highlight-current
-            node-key="id"
-          >
-          </el-tree>
-        </el-scrollbar>
-      </basic-container>
-    </el-col>
-    <el-col :span="18" class="h-100p">
-      <basic-container>
-        <div  class="flex h-100p flex-d-c">
-          <div style="flex: 1;position: relative;">
+    </basic-container>
+    <el-row class="h-100p" v-show="showType == 2">
+      <el-col :span="6" class="h-100p">
+        <basic-container>
+          <el-scrollbar class="h-100p">
+            <el-tree
+              class="filter-tree"
+              lazy
+              :data="typeTreeData"
+              :load="typeTreeLoadNode"
+              @node-click="getTypeTreeDetail"
+              :props="defaultProps"
+              :expand-on-click-node="false"
+              highlight-current
+              node-key="id"
+            >
+            </el-tree>
+          </el-scrollbar>
+        </basic-container>
+      </el-col>
+      <el-col :span="18" class="h-100p">
+        <basic-container>
+          <div  class="flex h-100p flex-d-c">
+            <div style="flex: 1;position: relative;">
               <el-table
                 :data="formData"
                 border height="100%"
@@ -497,12 +497,12 @@
               <div></div>
               <el-button size="medium" @click="showType = 1">返回WBS树</el-button>
             </div>
-        </div>
-      </basic-container>
-    </el-col>
-  </el-row>
+          </div>
+        </basic-container>
+      </el-col>
+    </el-row>
 
-  <!-- 编辑元素表单信息 -->
+    <!-- 编辑元素表单信息 -->
     <el-dialog
       title="编辑元素表单信息"
       :visible.sync="editElementFormTag"
@@ -1079,9 +1079,9 @@
       :close-on-click-modal="false"
     >
       <p>提示:必须按照系统要求的模版格式上传,否则系统识别无效 <el-link
-          type="primary"
-          @click="downloadTmp"
-        >下载导入模版</el-link>
+        type="primary"
+        @click="downloadTmp"
+      >下载导入模版</el-link>
       </p>
       <div>
         <el-button
@@ -1753,9 +1753,9 @@ export default {
     init () {
       //this.id = this.$route.query.wbsid;
       //this.projectid = this.$route.query.pid;
-      const {id, projectid, type} = this.$route.query;
-      this.id = id
-      this.projectid = projectid
+      const {wbsid, pid, type} = this.$route.query;
+      this.id = wbsid
+      this.projectid = pid
       this.wbsType = Number(type)
 
       this.getNodeTypelist();
@@ -2134,7 +2134,7 @@ export default {
           return;
         }
         this.testTreeLoad = true;
-        getAlltree(this.userInfo.tenant_id, 1, this.id).then((res) => {
+        getAlltree(this.projectid, this.id).then((res) => {
           this.testTreeLoad = false;
           this.testTreeData = res.data.data;
         })
@@ -2364,11 +2364,12 @@ export default {
     },
 
     getNodeTypelist () {
+      const type = this.wbsType
       if (this.nodeTypelist.length > 1) {
         return;
       }
       getDictionary({
-        code: 'wbs_node_type'
+        code: type === 2 ? 'trial_node_type':'wbs_node_type'
       }).then((res) => {
         res.data.data.forEach(element => {
           element.dictKey = Number(element.dictKey)
@@ -2897,6 +2898,7 @@ export default {
         return;
       }
       this.mixRatioTestIds = []
+      this.nodeTypeChange(53)
       this.setLeftType(2,this.curTreeData,this.curTreeNode)
     },
     copyNodeHandle(){