duy 1 місяць тому
батько
коміт
3bf3d56ecd
1 змінених файлів з 429 додано та 112 видалено
  1. 429 112
      src/views/manager/projectinfo/tree.vue

+ 429 - 112
src/views/manager/projectinfo/tree.vue

@@ -350,7 +350,7 @@
               </p>
               <div class="mg-t-10"></div>
             </div>
-                 <div style="flex: 1; position: relative">
+                 <div style="flex: 1; position: relative;  height: calc(100vh - 260px);overflow-y: auto;">
                         <!-- 施工方分类 -->
                         <div class="category-section" v-if="formData.length > 0">
                             <div class="category-header">施工方</div>
@@ -363,6 +363,13 @@
                                     align="center"
                                     prop="tableName"
                                     label="表单名称"
+                                ></el-table-column>
+                                 <el-table-column
+                                 v-if="leftType===5"
+                                  align="center"
+                                  prop="elementTotal"
+                                  width="80"
+                                  label="字段总量"
                                 ></el-table-column>
                                 <el-table-column
                                     align="center"
@@ -379,6 +386,7 @@
                                     label="是否关联清表"
                                     prop="isLinkTable"
                                     align="center"
+                                     v-if="leftType===4"
                                 >
                                     <template slot-scope="scope">
                                         <span v-if="scope.row.isLinkTable == 2">是</span>
@@ -391,7 +399,7 @@
                                     :formatter="formatOwner"
                                     label="所属方"
                                 ></el-table-column>
-                                <el-table-column label="操作" align="center" width="500">
+                                <el-table-column label="操作" align="center" width="500" v-if="leftType == 4">
                                     <template slot-scope="scope">
                                         <el-link type="primary" @click="Associationlist(scope)"
                                             >关联清表
@@ -439,6 +447,47 @@
                                         </el-link>
                                     </template>
                                 </el-table-column>
+                                <el-table-column label="操作" align="center" width="500" v-if="leftType == 5">
+                                    <template slot-scope="scope"> 
+
+                                        <el-button
+                                          size="mini"
+                                        
+
+                                          @click="handlePreview(scope.$index, scope.row)"
+                                          >预览
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          @click="handleEdit(scope.$index, scope.row)"
+                                          >编辑
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          type="success"
+                                          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
+                                        v-if="isNodeType"
+                                          size="mini"
+                                          type="danger"
+                                          @click="handleDelete(scope.$index, scope.row)"
+                                          >删除
+                                        </el-button>
+                                    </template>
+                                 
+                                </el-table-column>
                             </el-table>
                         </div>
                         
@@ -624,115 +673,379 @@
                     </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"
-                >
-                  <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="520" 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 || scope.row.excelId == null
-                      "
-                      @click="
-                        rightClick(
-                          scope.row.pkeyId,
-                          scope.row.excelId,
-                          scope.row.id,
-                          scope.row.initTableName,
-                          scope.row.initTableId
-                        )
-                      "
-                      >编辑元素
-                    </el-link>
-                    <el-link
-                      class="mg-l-10"
-                      type="primary"
-                      :disabled="
-                        scope.row.excelId == -1 || scope.row.excelId == null
-                      "
-                      @click="adjustExcel(scope.row.pkeyId, scope.row.excelId)"
-                      >调整表单
-                    </el-link>
-                    <el-link
-                      class="mg-l-10"
-                      type="primary"
-                      @click="handleEditFormula(scope.$index, scope.row)"
-                      v-if="isNodeType"
-                      >编辑元素公式
-                    </el-link>
-               
-                  <el-dropdown @command="handleCommand($event,scope.row)"  v-if="isNodeType">
-                    <el-button type="text"  class="mg-l-10">
-                      表单同步<i class="el-icon-arrow-down el-icon--right"></i>
-                    </el-button>
-                    <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item command="a">同步到项目下所有表单</el-dropdown-item>
-                      <el-dropdown-item command="b">同步其他表单配置</el-dropdown-item>
-                    </el-dropdown-menu>
-                  </el-dropdown>
-                    <el-button
-                      class="mg-l-10"
-                      type="text"
-                      :loading="handlesyncLoad"
-                      @click="handleLinkNodes(scope.$index, scope.row)"
-                      v-if="
-                        curTreeData.nodeType === 1000 ||
-                        curTreeData.nodeType === 1001
-                      "
-                      >关联节点
-                    </el-button>
-                    <el-link
-                      class="mg-l-10"
-                      type="danger"
-                      @click="handleDelete(scope.$index, scope.row)"
-                       v-if="isNodeType"
-                      >删除表单
-                    </el-link>
-                  </template>
-                </el-table-column>
-              </el-table>
-            </div>
+              <div style="flex: 1; position: relative;  height: calc(100vh - 260px);overflow-y: auto;">
+                        <!-- 施工方分类 -->
+                        <div class="category-section" v-if="formData.length > 0">
+                            <div class="category-header">施工方</div>
+                            <el-table
+                                :data="formData"
+                                border
+                                style="width: 100%"
+                            >
+                                <el-table-column
+                                    align="center"
+                                    prop="tableName"
+                                    label="表单名称"
+                                ></el-table-column>
+                                 <el-table-column
+                                 v-if="leftType===5"
+                                  align="center"
+                                  prop="elementTotal"
+                                  width="80"
+                                  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"
+                                     v-if="leftType===4"
+                                >
+                                    <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="操作" align="center" width="500" v-if="leftType == 4">
+                                    <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 || scope.row.excelId == null
+                                            "
+                                            @click="
+                                                rightClick(
+                                                    scope.row.pkeyId,
+                                                    scope.row.excelId,
+                                                    scope.row.id,
+                                                    scope.row.initTableName,
+                                                    scope.row.initTableId
+                                                )
+                                            "
+                                            >编辑元素
+                                        </el-link>
+                                
+                                    
+                                        <el-link
+                                            class="mg-l-10"
+                                            type="primary"
+                                            :disabled="
+                                                scope.row.excelId == -1 || scope.row.excelId == null
+                                            "
+                                            @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-column label="操作" align="center" width="500" v-if="leftType == 5">
+                                    <template slot-scope="scope"> 
+
+                                        <el-button
+                                          size="mini"
+                                        
+
+                                          @click="handlePreview(scope.$index, scope.row)"
+                                          >预览
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          @click="handleEdit(scope.$index, scope.row)"
+                                          >编辑
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          type="success"
+                                          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
+                                        v-if="isNodeType"
+                                          size="mini"
+                                          type="danger"
+                                          @click="handleDelete(scope.$index, scope.row)"
+                                          >删除
+                                        </el-button>
+                                    </template>
+                                 
+                                </el-table-column>
+                            </el-table>
+                        </div>
+                        
+                        <!-- 监理方分类 -->
+                        <div class="category-section" v-if="formData.length > 0">
+                            <div class="category-header">监理方</div>
+                              <el-table
+                                :data="formData"
+                                border
+                                style="width: 100%"
+                            >
+                                <el-table-column
+                                    align="center"
+                                    prop="tableName"
+                                    label="表单名称"
+                                ></el-table-column>
+                                 <el-table-column
+                                 v-if="leftType===5"
+                                  align="center"
+                                  prop="elementTotal"
+                                  width="80"
+                                  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"
+                                     v-if="leftType===4"
+                                >
+                                    <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="操作" align="center" width="500" v-if="leftType == 4">
+                                    <template slot-scope="scope">
+                                        <el-link type="primary" @click="Associationlist(scope)"
+                                            >关联清表
+                                        </el-link>
+                                           <el-dropdown @command="handleCommandRow($event,scope.row)">
+                                          <span class="el-dropdown-link">
+                                            表单配置<i class="el-icon-arrow-down el-icon--right"></i>
+                                          </span>
+                                          <el-dropdown-menu slot="dropdown">
+                                            <el-dropdown-item command="a"  :disabled="scope.row.excelId == -1 || scope.row.excelId == null " >编辑元素</el-dropdown-item>
+                                            <el-dropdown-item command="b" :disabled="scope.row.excelId == -1 || scope.row.excelId == null">调整表单</el-dropdown-item>
+                                            <el-dropdown-item command="c">公式配置</el-dropdown-item>
+                                          </el-dropdown-menu>
+                                        </el-dropdown>
+                                 
+                                
+                                   
+                                    
+
+                                        <el-link
+                                            class="mg-l-10"
+                                            type="danger"
+                                            @click="handleDelete(scope.$index, scope.row)"
+                                            >删除表单
+                                        </el-link>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column label="操作" align="center" width="500" v-if="leftType == 5">
+                                    <template slot-scope="scope"> 
+
+                                        <el-button
+                                          size="mini"
+                                        
+
+                                          @click="handlePreview(scope.$index, scope.row)"
+                                          >预览
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          @click="handleEdit(scope.$index, scope.row)"
+                                          >编辑
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          type="success"
+                                          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
+                                        v-if="isNodeType"
+                                          size="mini"
+                                          type="danger"
+                                          @click="handleDelete(scope.$index, scope.row)"
+                                          >删除
+                                        </el-button>
+                                    </template>
+                                 
+                                </el-table-column>
+                            </el-table>
+                        </div>
+                        
+                        <!-- 其他分类 -->
+                        <div class="category-section" v-if="formData.length > 0">
+                            <div class="category-header other-category">其他</div>
+                             <el-table
+                                :data="formData"
+                                border
+                                style="width: 100%"
+                            >
+                                <el-table-column
+                                    align="center"
+                                    prop="tableName"
+                                    label="表单名称"
+                                ></el-table-column>
+                                 <el-table-column
+                                 v-if="leftType===5"
+                                  align="center"
+                                  prop="elementTotal"
+                                  width="80"
+                                  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"
+                                     v-if="leftType===4"
+                                >
+                                    <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="操作" align="center" width="500" v-if="leftType == 4">
+                                    <template slot-scope="scope">
+                                        <el-link type="primary" @click="Associationlist(scope)"
+                                            >关联清表
+                                        </el-link>
+                                      
+                                
+                                
+                                    
+                                     
+                                   
+
+                                        <el-link
+                                            class="mg-l-10"
+                                            type="danger"
+                                            @click="handleDelete(scope.$index, scope.row)"
+                                            >删除表单
+                                        </el-link>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column label="操作" align="center" width="500" v-if="leftType == 5">
+                                    <template slot-scope="scope"> 
+
+                                        <el-button
+                                          size="mini"
+                                        
+
+                                          @click="handlePreview(scope.$index, scope.row)"
+                                          >预览
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          @click="handleEdit(scope.$index, scope.row)"
+                                          >编辑
+                                        </el-button>
+                                        <el-button
+                                          size="mini"
+                                          type="success"
+                                          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
+                                        v-if="isNodeType"
+                                          size="mini"
+                                          type="danger"
+                                          @click="handleDelete(scope.$index, scope.row)"
+                                          >删除
+                                        </el-button>
+                                    </template>
+                                 
+                                </el-table-column>
+                            </el-table>
+                        </div>
+                    </div>
           </template>
         </el-col>
       </el-row>
@@ -6419,5 +6732,9 @@ async saveLinkTab() {
             font-weight: bold;
             font-size: 16px;
         }
-      
+      .el-dropdown-link{
+        cursor: pointer;
+        color: #409EFF;
+        margin-left: 8px;
+      }
 </style>