Explorar el Código

增加推荐表单

duy hace 3 días
padre
commit
fafeb13b43
Se han modificado 1 ficheros con 122 adiciones y 47 borrados
  1. 122 47
      src/views/manager/projectinfo/tree.vue

+ 122 - 47
src/views/manager/projectinfo/tree.vue

@@ -2616,7 +2616,7 @@
                     lazy
                     :load="loadNode"
                    @node-click="handleNodeClick"
-                    :default-expanded-keys="defaultExpandedKeys"
+                
                     :props="defaultProps"
                     :expand-on-click-node="false"
                     highlight-current
@@ -2629,45 +2629,85 @@
         </el-card>
         <el-card class="box-card-2">
          
-            <div class="table-box">
-              <h4 style="margin-left: 4px;">推荐表单</h4>
-              <el-table
-              size="small"
-              ref="proTable1"
-                  :data="preTableData1"
-                  stripe
-                  style="width: 100%"
-                  max-height="300"
-                  @selection-change="handleSelectionChange1"
-                  
-                  >
-                  <el-table-column
-                    type="selection"
-                    width="55">
-                  </el-table-column>
-                  <el-table-column
-                    prop="tableName"
-                    label="表单名称"
-                  >
-                  </el-table-column>
-                  <el-table-column
-                   prop="tableType"
-                  :formatter="formatTableType"
-                    label="表单类型"
-                    width="100">
-                  </el-table-column>
-                  <el-table-column
-                      prop="tableOwner"
-                       width="100"
-                     :formatter="formatOwner"
-                    label="所属方">
-                  </el-table-column>
-                   <el-table-column
-                    prop="parentName"
-                    label="父节点"
-                   >
-                  </el-table-column>
-                </el-table>
+            <div >
+             
+              <el-tabs type="border-card" v-model="activeName" >
+                <el-tab-pane label="表单预览" name="表单预览">
+                  <el-table
+                                  size="small"
+                                  ref="proTable1"
+                                      :data="preTableData1"
+                                      stripe
+                                      style="width: 100%"
+                                     
+                                      @selection-change="handleSelectionChange1"
+                                      
+                                      >
+                                      <el-table-column
+                                        type="selection"
+                                        width="55">
+                                      </el-table-column>
+                                      <el-table-column
+                                        prop="tableName"
+                                        label="表单名称"
+                                      >
+                                      </el-table-column>
+                                      <el-table-column
+                                      prop="tableType"
+                                      :formatter="formatTableType"
+                                        label="表单类型"
+                                        width="100">
+                                      </el-table-column>
+                                      <el-table-column
+                                          prop="tableOwner"
+                                          width="100"
+                                        :formatter="formatOwner"
+                                        label="所属方">
+                                      </el-table-column>
+                                      
+                  </el-table> 
+                </el-tab-pane>
+                <el-tab-pane label="推荐表单" name="推荐表单">
+                                <el-table
+                                  size="small"
+                                  ref="proTable2"
+                                      :data="recomandData"
+                                      stripe
+                                      style="width: 100%"
+                                    
+                                      @selection-change="handleSelectionChange2"
+                                      
+                                      >
+                                      <el-table-column
+                                        type="selection"
+                                        width="55">
+                                      </el-table-column>
+                                      <el-table-column
+                                        prop="tableName"
+                                        label="表单名称"
+                                      >
+                                      </el-table-column>
+                                      <el-table-column
+                                      prop="tableType"
+                                      :formatter="formatTableType"
+                                        label="表单类型"
+                                        width="100">
+                                      </el-table-column>
+                                      <el-table-column
+                                          prop="tableOwner"
+                                          width="100"
+                                        :formatter="formatOwner"
+                                        label="所属方">
+                                      </el-table-column>
+                                      <el-table-column
+                                        prop="parentName"
+                                        label="父节点"
+                                      >
+                                      </el-table-column>
+                                  </el-table> 
+                </el-tab-pane>
+                
+              </el-tabs>
             </div>
         </el-card>
       </div>
@@ -3229,6 +3269,8 @@ export default {
       saveProTagLoading:false,
       syncTableDialog:false,
       preTableData1:[],
+      recomandData:[],
+      activeName:'表单预览',
       formIds:'',
       saveTableSyncLoad:false,
       checkRow:null,
@@ -6405,11 +6447,18 @@ async saveLinkTab() {
         
         this.syncTableDialog=true
         this.isShowLeft=true
-
+    
+        this.activeName='表单预览'
         if(this.$refs.proTable1){
           this.$refs.proTable1.clearSelection()
         }
-        
+             if(this.$refs.proTable2){
+          this.$refs.proTable2.clearSelection()
+        }
+        this.recomandData = [];
+   
+        this.formIds=''
+        this.getRecommendTableData()
       }
       
     },
@@ -6430,6 +6479,7 @@ async saveLinkTab() {
                     this.$message.success(res.data.msg)
                     this.syncTableDialog=false
                     this.$refs.proTable1.clearSelection()
+                     this.$refs.proTable2.clearSelection()
                     this.updateNodeTable()
                    
                     }else{
@@ -6440,21 +6490,32 @@ async saveLinkTab() {
     },
     handleNodeClick(data) {
    
+      selectByNodeTable(
+        data.id, this.projectid, this.id
+      ).then((res) => {
+          if (res.data.data&&res.data.data.length) {
+            this.preTableData1 = res.data.data;
+          } else {
+            this.preTableData1 = [];
+          }
+       });
+     
+    },
+    getRecommendTableData(){
       getRecommendTable(
         {
-          parentId:data.id,
+          parentId:0,
           projectId:this.projectid,
           wbsId:this.id,
           pKeyId:this.checkRow.pkeyId
         }
       ).then((res) => {
-          if (res.data.data.length) {
-            this.preTableData1 = res.data.data;
+          if (res.data.data&&res.data.data.length) {
+            this.recomandData = res.data.data;
           } else {
-            this.preTableData1 = [];
+            this.recomandData = [];
           }
        });
-     
     },
     handleSelectionChange1(val) {
 
@@ -6474,6 +6535,20 @@ async saveLinkTab() {
        
   
     },
+    handleSelectionChange2(val) {
+        if (val.length > 1) {
+          // 如果选择了多个,只保留最后一个
+          this.$nextTick(() => {
+            this.$refs.proTable2.clearSelection();
+            this.$refs.proTable2.toggleRowSelection(val.pop());
+          });
+      }
+      if(val.length>0){
+        this.formIds=val[0].pkeyId
+      }else{
+        this.formIds=''
+      }
+    },
    async refreshData(){
     this.refreshLoading=true
       getNodeStatus({ id:this.curTreeData.primaryKeyId}).then((res) => {