瀏覽代碼

表单设置

gangyj 2 年之前
父節點
當前提交
05aa8739cd
共有 2 個文件被更改,包括 158 次插入15 次删除
  1. 11 0
      src/api/manager/wbsprivate.js
  2. 147 15
      src/views/manager/projectinfo/tree.vue

+ 11 - 0
src/api/manager/wbsprivate.js

@@ -121,3 +121,14 @@ export const syncNodeTable = (primaryKeyId) => {
     }
   })
 }
+
+export const tabTypeLazyTree = (parentId,projectId) => {
+  return request({
+    url: '/api/blade-manager/wbsPrivate/tab_Type_lazy-tree',
+    method: 'get',
+    params: {
+      parentId,
+      projectId
+    }
+  })
+}

+ 147 - 15
src/views/manager/projectinfo/tree.vue

@@ -1,5 +1,6 @@
 <template>
-  <basic-container>
+  <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">
@@ -183,7 +184,7 @@
           <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="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>
@@ -395,7 +396,113 @@
       </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;">
+              <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"
+                >
+                  <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>
+            <div class="mg-t-10 flex jc-sb">
+              <div></div>
+              <el-button size="medium" @click="showType = 1">返回WBS树</el-button>
+            </div>
+        </div>
+      </basic-container>
+    </el-col>
+  </el-row>
+
+  <!-- 编辑元素表单信息 -->
     <el-dialog
       title="编辑元素表单信息"
       :visible.sync="editElementFormTag"
@@ -1386,8 +1493,7 @@
     <el-dialog title=" " :visible.sync="editElementVisible" fullscreen append-to-body class="full-dialog">
       <EditElement :pkeyId="editElementQuery.pkeyId" :excelId="editElementQuery.excelId" :id="editElementQuery.id" :initTableName="editElementQuery.initTableName" :pid="editElementQuery.pid" :wbsid="editElementQuery.wbsid" :nodeid="editElementQuery.nodeid" @hideDialog="editElementVisible = false" v-if="editElementVisible"></EditElement>
     </el-dialog>
-
-  </basic-container>
+  </div>
 </template>
 
 <script>
@@ -1403,7 +1509,7 @@ import {
   saveElement, remove as removeElement, updateBatchElements, getTemplate,
   importWbsElement
 } from "@/api/manager/wbsformelement";
-import { getLazytree, getDetail, update, findNodeTableByCondition as selectByNodeTable, removeTableByCondition as removeTableById, removePrivateTreeNode, wbsTreePrivateTableSort ,privateSubmitFullName,syncNodeParam,syncNodeTable} from "@/api/manager/wbsprivate";
+import { getLazytree, getDetail, update, findNodeTableByCondition as selectByNodeTable, removeTableByCondition as removeTableById, removePrivateTreeNode, wbsTreePrivateTableSort ,privateSubmitFullName,syncNodeParam,syncNodeTable,tabTypeLazyTree} from "@/api/manager/wbsprivate";
 import { findProjectTree as getAlltree } from "@/api/manager/projectinfo";
 import { getList as getAttchFromOriginalName } from "@/api/resource/attach";
 import { getDictionary } from "@/api/system/dict";
@@ -1593,6 +1699,9 @@ export default {
       },//传参
 
       syncBtnLoad:false,
+
+      showType:1,
+      typeTreeData:[],
     };
   },
   computed: {
@@ -2673,14 +2782,15 @@ export default {
     },
 
     eleFormulaHandle(){
-      if(!this.curTreeData.id || !this.curTreeNode.id){
-        this.$message({
-          type: "warning",
-          message: "请先选择节点"
-        })
-        return;
-      }
-      this.setLeftType(4,this.curTreeData,this.curTreeNode);
+      // if(!this.curTreeData.id || !this.curTreeNode.id){
+      //   this.$message({
+      //     type: "warning",
+      //     message: "请先选择节点"
+      //   })
+      //   return;
+      // }
+      // this.setLeftType(4,this.curTreeData,this.curTreeNode);
+      this.showType = 2;
     },
 
     editNodeHandle(){
@@ -2817,7 +2927,26 @@ export default {
           notify.close();
         })
       })
-    }
+    },
+
+    typeTreeLoadNode (node, resolve) {
+      let pid = 0;
+      if (node.level != 0) {
+        pid = node.data.id
+      }
+      tabTypeLazyTree(pid,this.projectid).then((res) => {
+        let arr = [];
+        if (Array.isArray(res.data.data)) {
+          arr = res.data.data;
+        }
+
+        return resolve(arr);
+      })
+    },
+
+    getTypeTreeDetail(){
+
+    },
 
   },
   watch: {
@@ -2897,4 +3026,7 @@ export default {
     height: calc(100vh - 60px);
   }
 }
+.my-basic-con {
+  padding: 6px 6px;
+}
 </style>