Pārlūkot izejas kodu

feat(projectinfo): 新增含附件类型选择功能

duy 5 dienas atpakaļ
vecāks
revīzija
e300443d17
1 mainītis faili ar 39 papildinājumiem un 4 dzēšanām
  1. 39 4
      src/views/manager/projectinfo/tree.vue

+ 39 - 4
src/views/manager/projectinfo/tree.vue

@@ -900,6 +900,22 @@
         <el-form-item label="参数掩码" v-if="wbsType !== 5">
           <el-input v-model="nodeDetail.uniqueCode" placeholder="可填写分部评定权值/试验编号配置"></el-input>
         </el-form-item>
+          <el-form-item label="含附件类型" >
+            <el-select
+                v-model="nodeDetail.tableFileType"
+                placeholder="请选择"
+                class="w-100p"
+                clearable
+                multiple 
+              >
+                <el-option
+                  v-for="item in tableFileTypeList"
+                  :key="item.id"
+                  :label="item.dictValue"
+                  :value="item.dictKey"
+                ></el-option>
+              </el-select>
+        </el-form-item> 
         <template v-if="nodeDetail.nodeType == 6">
           <el-form-item label="是否有混凝土">
             <el-radio-group v-model="nodeDetail.isConcrete" size="small">
@@ -2290,7 +2306,7 @@ import { getStore, setStore } from "@/util/store";
 import { getTempProject,addSync,getNodeStatus,getById } from "@/api/manager/ledger";
 import { selectByNodeTable   as findNodeTableByCondition1 } from "@/api/manager/wbstree";
 
-
+import { getDictionaryBiz } from "@/api/other";
 export default {
 
   data() {
@@ -2473,7 +2489,7 @@ export default {
       formulaInput: "",
       editEleListFilter: [],
       editEleListAll: [],
-
+      tableFileTypeList:[],
       importTemplateVisible: false,
       fileUrl: "",
       upFile: null,
@@ -2737,7 +2753,7 @@ export default {
       this.getOwnerTypelist();
       this.getStandardTypeOptions();
       this.getMajorDataTypeList();
-
+      this.getTableFileTypeList();
       this.defaultExpandedKeys = getStore({ name: this.expandName });
       this.projectName = this.$route.query.projectName;
     },
@@ -2845,6 +2861,8 @@ export default {
         tableObj.primaryKeyId=data.primaryKeyId
         this.tableData = [res.data.data];
         this.nodeDetail = Object.assign({}, res.data.data);
+          const { tableFileType } = this.nodeDetail;
+        this.nodeDetail.tableFileType = tableFileType.length>0 ? tableFileType.split(",") : [];
         
       });
       this.updateNodeTable();
@@ -2881,7 +2899,7 @@ export default {
       const type = this.wbsType;
       this.$refs["nodeDetail"].validate((valid) => {
         if (valid) {
-          const { mixRatioTestIds, nodeType } = this.nodeDetail;
+        
           if (type === 2 && nodeType === 53) {
             if (mixRatioTestIds) {
               if (this.editType == 1) {
@@ -2911,6 +2929,8 @@ export default {
     },
     addNode() {
       this.saveNodeLoading = true;
+        const { tableFileType } = this.nodeDetail;
+        this.nodeDetail.tableFileType = tableFileType.length>0 ? tableFileType.join(",") : "";
       update(this.nodeDetail).then(() => {
         this.updateTreeNewNode();
         this.dialogVisible = false;
@@ -2921,6 +2941,8 @@ export default {
       });
     },
     updateNode() {
+        const { tableFileType } = this.nodeDetail;
+        this.nodeDetail.tableFileType = tableFileType.length>0 ? tableFileType.join(",") : "";
       update(this.nodeDetail).then(() => {
         let node = this.tableData[0];
         node.nodeName = this.nodeDetail.nodeName;
@@ -3878,6 +3900,19 @@ clearSearch1() {
         
       });
     },
+    getTableFileTypeList(){
+      if (this.tableFileTypeList.length > 1) {
+        return;
+      }
+      getDictionaryBiz({
+        code: "table_file_type",
+      }).then((res) => {
+        res.data.data.forEach((element) => {
+          element.dictKey = Number(element.dictKey);
+        });
+        this.tableFileTypeList = res.data.data;
+      });
+    },
 
     getTableTypelist() {
       const type = this.wbsType;