Jelajahi Sumber

编辑表单修改

duy 3 hari lalu
induk
melakukan
d2d94b7df6
1 mengubah file dengan 131 tambahan dan 22 penghapusan
  1. 131 22
      src/views/manager/projectinfo/tree.vue

+ 131 - 22
src/views/manager/projectinfo/tree.vue

@@ -380,7 +380,7 @@
                   style="margin-left: 10px"
                   icon="el-icon-edit-outline"
                   class="text-icon"
-                  @click="editEditElementForm()"
+                  @click="editEditElementForm"
                 ></el-button>
                 <el-button
              v-if="isNodeType"
@@ -973,7 +973,7 @@
       width="60%"
       :modal-append-to-body="false"
     >
-      <div>
+      <div v-if="!isNodeType">
         <el-table :data="formDatass" border style="width: 100%">
           <el-table-column prop="tableName" label="表名">
             <template slot-scope="scope">
@@ -1031,6 +1031,74 @@
           </el-table-column>
         </el-table>
       </div>
+      <div v-else>
+         <div class="category-section"  v-for="(item, index) in formDatass" :key="index">
+                                        <div class="category-header">{{item.title}}</div>
+                                        <el-table
+                                            :data="item.list"
+                                            border
+                                            style="width: 100%"
+                                        >
+                                                 <el-table-column prop="tableName" label="表名">
+                                                  <template slot-scope="scope">
+                                                    <el-input
+                                                      v-model="scope.row.tableName"
+                                                      placeholder="请输入表名称"
+                                                    ></el-input>
+                                                  </template>
+                                                </el-table-column>
+                                                <el-table-column prop="tableType" label="表类型">
+                                                  <template slot-scope="scope">
+                                                    <el-select v-model="scope.row.tableType" placeholder="请选择">
+                                                      <el-option
+                                                        v-for="(item, key) in tableTypelist"
+                                                        :key="key"
+                                                        :label="item.dictValue"
+                                                        :value="item.dictKey"
+                                                      >
+                                                      </el-option>
+                                                    </el-select>
+                                                  </template>
+                                                </el-table-column>
+                                                <el-table-column prop="tableOwner" label="所属方">
+                                                  <template slot-scope="scope">
+                                                    <el-select v-model="scope.row.tableOwner" placeholder="请选择">
+                                                      <el-option
+                                                        v-for="(item, key) in ownerTypeList"
+                                                        :key="key"
+                                                        :label="item.dictValue"
+                                                        :value="item.dictKey"
+                                                      >
+                                                      </el-option>
+                                                    </el-select>
+                                                  </template>
+                                                </el-table-column>
+                                                <el-table-column prop="fillRate" label="填报率">
+                                                  <template slot-scope="scope">
+                                                    <el-input
+                                                      v-model="scope.row.fillRate"
+                                                      placeholder="请输入填报率"
+                                                    ></el-input>
+                                                  </template>
+                                                </el-table-column>
+                                                <el-table-column prop="nodeType" label="节点类型" v-if="wbsType == 5">
+                                                  <template slot-scope="scope">
+                                                    <el-select v-model="scope.row.nodeType" placeholder="请选择" >
+                                                      <el-option
+                                                        v-for="item in nodeTypelist"
+                                                        :key="item.id"
+                                                        :label="item.dictValue"
+                                                        :value="item.dictKey"
+                                                      ></el-option>
+                                                    </el-select>
+                                                  </template>
+                                                </el-table-column>
+                                           
+                                           
+                                     
+                                        </el-table>
+                                    </div>
+      </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="editElementFormTag = false">取 消</el-button>
         <el-button
@@ -4993,6 +5061,21 @@ async saveLinkTab() {
 
     //#region 元素表单信息
     editEditElementForm() {
+
+      if(this.isNodeType){
+          this.formDatass = JSON.parse(JSON.stringify(this.tableListByType));
+          this.formDatass.forEach((ele)=>{
+          
+            const listArr=ele.list
+            listArr.forEach((ele)=>{
+                ele.tableType=Number(ele.tableType)
+                ele.tableOwner=Number(ele.tableOwner)
+            })
+          })
+            this.editElementFormTag = true;
+          return
+      }
+      
       //标记元素
       if (this.formData.length) {
         let da = [];
@@ -5020,29 +5103,55 @@ async saveLinkTab() {
       //保存按钮
       let da = [];
       let tag = true;
-      this.formDatass.forEach((val) => {
-        if (!val.tableName || !val.tableType || !val.tableOwner) {
-          tag = false;
-          return;
+      console.log( this.formDatass,' this.formDatass');
+      if(!this.isNodeType){
+          this.formDatass.forEach((val) => {
+            if (!val.tableName || !val.tableType || !val.tableOwner) {
+              tag = false;
+              return;
+            } else {
+              da.push({
+                pkeyId: val.pkeyId,
+                nodeName: val.tableName,
+                tableType: val.tableType,
+                tableOwner: val.tableOwner,
+                fillRate: val.fillRate,
+                nodeType: val.nodeType,
+              });
+            }
+          });
+    
+      }else{
+        this.formDatass.forEach((ele)=>{
+          
+            const listArr=ele.list
+            listArr.forEach((ele)=>{
+                if (!ele.tableName || !ele.tableType || !ele.tableOwner) {
+                    tag = false;
+                    return;
+                  } else {
+                da.push({
+                  pkeyId: ele.pkeyId,
+                  nodeName: ele.tableName,
+                  tableType: ele.tableType,
+                  tableOwner: ele.tableOwner,
+                  fillRate: ele.fillRate,
+           
+                });
+              }
+            })
+          })
+
+      }
+      if (tag) {
+          this.updateBatchNodeTableInfo2(da);
         } else {
-          da.push({
-            pkeyId: val.pkeyId,
-            nodeName: val.tableName,
-            tableType: val.tableType,
-            tableOwner: val.tableOwner,
-            fillRate: val.fillRate,
-            nodeType: val.nodeType,
+          this.$message({
+            type: "success",
+            message: "请填写完整元素表单的所有信息!",
           });
         }
-      });
-      if (tag) {
-        this.updateBatchNodeTableInfo2(da);
-      } else {
-        this.$message({
-          type: "success",
-          message: "请填写完整元素表单的所有信息!",
-        });
-      }
+    
     },
     async updateBatchNodeTableInfo2(da) {
       this.editeditElementFormMFLoading = true;