Browse Source

电签配置>>电签配置报错

duy 1 day ago
parent
commit
fa7af5bb29

+ 424 - 407
src/views/manager/projectinfo/tree.vue

@@ -1,257 +1,262 @@
 <template>
-  <div style="height: 100%">
-    <basic-container v-show="showType == 1">
-      <el-row class="titlerow">
-        <el-col>
-          <div style="position: relative">
-            <span style="float: left; margin-top: 15px; color: white">
-              {{ projectName }}
-            </span>
-            <el-button size="medium" icon="el-icon-help" style="margin-right: 10px" @click="fileTitleHandle">文件题名(全局)
-            </el-button>
+  <div style="height: 100%; position: relative;">
+    <basic-container v-show="showType == 1" style="display: flex; flex-direction: column;">
+      <div class="card-box">
+        <el-row class="titlerow">
+          <el-col>
+            <div style="position: relative">
+              <span style="float: left; margin-top: 15px; color: white">
+                {{ projectName }}
+              </span>
+              <el-button size="medium" icon="el-icon-help" style="margin-right: 10px" @click="fileTitleHandle">文件题名(全局)
+              </el-button>
 
-            <el-dropdown style="margin-right: 10px" @command="handleBasicClick" v-if="wbsType == 2">
-              <el-button size="medium">
-                基础数据管理<i class="el-icon-arrow-down el-icon--right"></i>
+              <el-dropdown style="margin-right: 10px" @command="handleBasicClick" v-if="wbsType == 2">
+                <el-button size="medium">
+                  基础数据管理<i class="el-icon-arrow-down el-icon--right"></i>
+                </el-button>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item command="code">编号管理</el-dropdown-item>
+                  <el-dropdown-item command="rule">规范参数配置</el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+              <!-- 同步按钮 -->
+              <el-button size="medium" style="margin-right: 10px" @click="proSyncbtn">项目数据同步
               </el-button>
-              <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item command="code">编号管理</el-dropdown-item>
-                <el-dropdown-item command="rule">规范参数配置</el-dropdown-item>
-              </el-dropdown-menu>
-            </el-dropdown>
-            <!-- 同步按钮 -->
-            <el-button size="medium" style="margin-right: 10px" @click="proSyncbtn">项目数据同步
-            </el-button>
-            <el-button size="medium" style="margin-right: 10px" icon="el-icon-s-data" @click="SyncbtnProGress">同步进度
-            </el-button>
-            <el-button size="medium" icon="el-icon-s-grid" @click="eleFormulaHandle" v-if="leftType == 5">表单设置
-            </el-button>
-            <el-button size="medium" icon="el-icon-s-grid" @click="eleHandle" v-else>元素设置
-            </el-button>
-            <el-button size="medium" icon="el-icon-help" @click="nodeInfoHandle">节点参数设置
-            </el-button>
-            <el-button style="margin-top: 10px" size="medium" icon="el-icon-price-tag" @click="independent">独立表单库
-            </el-button>
-            <el-button style="margin-top: 10px" size="medium" icon="el-icon-time" @click="archiveTimeClick">归档文件时间设置
-            </el-button>
-          </div>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20" style="padding: 10px; height: calc(100vh - 200px)">
-        <el-col :span="8" style="height: 100%">
-          <div class="h-100p flex flex-d-c">
-            工程节点信息
-            <div class="flex" style="
+              <el-button size="medium" style="margin-right: 10px" icon="el-icon-s-data" @click="SyncbtnProGress">同步进度
+              </el-button>
+              <el-button size="medium" icon="el-icon-s-grid" @click="eleFormulaHandle" v-if="leftType == 5">表单设置
+              </el-button>
+              <el-button size="medium" icon="el-icon-s-grid" @click="eleHandle" v-else>元素设置
+              </el-button>
+              <el-button size="medium" icon="el-icon-help" @click="nodeInfoHandle">节点参数设置
+              </el-button>
+              <el-button style="margin-top: 10px" size="medium" icon="el-icon-price-tag" @click="independent">独立表单库
+              </el-button>
+              <el-button style="margin-top: 10px" size="medium" icon="el-icon-time" @click="archiveTimeClick">归档文件时间设置
+              </el-button>
+            </div>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20" style="padding-top: 10px;flex:1;min-height: 0;">
+          <el-col :span="8" style="height: 100%">
+            <div class="h-100p flex flex-d-c">
+              工程节点信息
+              <div class="flex" style="
                 align-items: center;
                 justify-content: space-between;
                 margin-top: 10px;
                 margin-bottom: 10px;
               ">
-              <div style="flex: 1; margin-right: 5px"
-                :class="[(isNodeType && filterText) || (!isNodeType && filterText1) ? 'hc-search-highlight' : '']">
-                <el-input placeholder="请输入" v-model="filterText" class="w-100p" size="mini" v-if="isNodeType" clearable>
-                  <el-select v-model="searchType" slot="prepend" placeholder="请选择" v-if="isNodeType"
-                    style="width: 70px">
-                    <el-option label="节点" value="1"></el-option>
-                    <el-option label="表名" value="2"></el-option>
-                  </el-select>
-                </el-input>
-                <el-input placeholder="请输入" v-model="filterText1" class="w-100p" size="mini" v-else clearable>
-                </el-input>
-              </div>
-
-              <el-button type="primary" @click="searchTreeClick" v-if="isNodeType" size="mini">搜索</el-button>
-              <el-button type="primary" @click="searchTreeClick1" v-else size="mini">搜索</el-button>
+                <div style="flex: 1; margin-right: 5px"
+                  :class="[(isNodeType && filterText) || (!isNodeType && filterText1) ? 'hc-search-highlight' : '']">
+                  <el-input placeholder="请输入" v-model="filterText" class="w-100p" size="mini" v-if="isNodeType"
+                    clearable>
+                    <el-select v-model="searchType" slot="prepend" placeholder="请选择" v-if="isNodeType"
+                      style="width: 70px">
+                      <el-option label="节点" value="1"></el-option>
+                      <el-option label="表名" value="2"></el-option>
+                    </el-select>
+                  </el-input>
+                  <el-input placeholder="请输入" v-model="filterText1" class="w-100p" size="mini" v-else clearable>
+                  </el-input>
+                </div>
 
-              <el-button type="success" @click="filterSearchClick" v-if="isNodeType && !filterByType"
-                size="mini">筛选</el-button>
-              <el-button type="success" @click="filterSearchClickCancel" v-if="isNodeType && filterByType"
-                size="mini">取消筛选</el-button>
-              <el-button v-if="isNodeType" style="margin-right: 10px" size="mini" icon="el-icon-set-up"
-                @click="changeType(false)" type="primary">切换表单
-              </el-button>
-              <el-button v-else style="margin-right: 10px" size="mini" icon="el-icon-set-up" @click="changeType(true)"
-                type="warning">切换节点
-              </el-button>
-            </div>
-            <div class="flex1 ov-hidden" v-if="isNodeType">
-              <el-scrollbar class="h-100p" v-if="isShowTree">
-                <div v-loading="treeLoad">
-                  <el-tree class="filter-tree" lazy :load="loadNode" @node-click="getNodeDetail" :props="defaultProps"
-                    :expand-on-click-node="false" highlight-current node-key="id" ref="tree"
-                    :default-expanded-keys="defaultExpandedKeys" v-show="!isSearch">
-                    <span class="custom-tree-node" :class="data.moreShow ? 'show' : ''" slot-scope="{ node, data }"
-                      @mouseleave="mouseout(data)">
-                      <div class="pd-r-20">
-                        <span v-if="searchType === '1'" v-html="highlight(node.label || '', filterText)"></span>
-                        <span v-else>{{ node.label }}</span>
-                        <div class="normal-black">
-                          <div>
-                            <el-link :underline="false">
-                              <i class="el-icon-menu" @click.stop="showMenu($event, data, node)"
-                                v-if="node.level != 1"></i>
-                            </el-link>
-
-                            <!-- 因右键自定义菜单事件需要获取当前点击的位置,所以此处绑定动态样式来控制菜单实时跟踪鼠标右键点击位置 -->
-                            <ul v-show="menuvisible" :style="{
-                              left: menuleft + 'px',
-                              top: menutop + 'px',
-                            }" class="contextmenu">
-                              <li v-for="item in menusData" :key="item" @click="menuClick($event, item, data, node)">
-                                <i :class="item.icon"></i>
-                                <el-tooltip class="item" effect="light" :content="item.content" placement="right-start">
-                                  <span>{{ item.label }}</span>
-                                </el-tooltip>
-                              </li>
-                            </ul>
+                <el-button type="primary" @click="searchTreeClick" v-if="isNodeType" size="mini">搜索</el-button>
+                <el-button type="primary" @click="searchTreeClick1" v-else size="mini">搜索</el-button>
+
+                <el-button type="success" @click="filterSearchClick" v-if="isNodeType && !filterByType"
+                  size="mini">筛选</el-button>
+                <el-button type="success" @click="filterSearchClickCancel" v-if="isNodeType && filterByType"
+                  size="mini">取消筛选</el-button>
+                <el-button v-if="isNodeType" style="margin-right: 10px" size="mini" icon="el-icon-set-up"
+                  @click="changeType(false)" type="primary">切换表单
+                </el-button>
+                <el-button v-else style="margin-right: 10px" size="mini" icon="el-icon-set-up" @click="changeType(true)"
+                  type="warning">切换节点
+                </el-button>
+              </div>
+              <div class="flex1 ov-hidden" v-if="isNodeType">
+                <el-scrollbar class="h-100p" v-if="isShowTree">
+                  <div v-loading="treeLoad">
+                    <el-tree class="filter-tree" lazy :load="loadNode" @node-click="getNodeDetail" :props="defaultProps"
+                      :expand-on-click-node="false" highlight-current node-key="id" ref="tree"
+                      :default-expanded-keys="defaultExpandedKeys" v-show="!isSearch">
+                      <span class="custom-tree-node" :class="data.moreShow ? 'show' : ''" slot-scope="{ node, data }"
+                        @mouseleave="mouseout(data)">
+                        <div class="pd-r-20">
+                          <span v-if="searchType === '1'" v-html="highlight(node.label || '', filterText)"></span>
+                          <span v-else>{{ node.label }}</span>
+                          <div class="normal-black">
+                            <div>
+                              <el-link :underline="false">
+                                <i class="el-icon-menu" @click.stop="showMenu($event, data, node)"
+                                  v-if="node.level != 1"></i>
+                              </el-link>
+
+                              <!-- 因右键自定义菜单事件需要获取当前点击的位置,所以此处绑定动态样式来控制菜单实时跟踪鼠标右键点击位置 -->
+                              <ul v-show="menuvisible" :style="{
+                                left: menuleft + 'px',
+                                top: menutop + 'px',
+                              }" class="contextmenu">
+                                <li v-for="item in menusData" :key="item" @click="menuClick($event, item, data, node)">
+                                  <i :class="item.icon"></i>
+                                  <el-tooltip class="item" effect="light" :content="item.content"
+                                    placement="right-start">
+                                    <span>{{ item.label }}</span>
+                                  </el-tooltip>
+                                </li>
+                              </ul>
+                            </div>
                           </div>
                         </div>
-                      </div>
-                    </span>
-                  </el-tree>
-                  <el-tree :load="searchTreeLoad" :data="searchTreeData" @node-click="getNodeDetail"
-                    :props="defaultProps" :expand-on-click-node="false" highlight-current node-key="id"
-                    v-show="isSearch" default-expand-all>
-                    <span class="custom-tree-node" :class="data.moreShow ? 'show' : ''" slot-scope="{ node, data }"
-                      @mouseleave="mouseout(data)">
-                      <div class="pd-r-20">
-                        <span v-if="searchType === '1'" v-html="highlight(node.label || '', filterText)"></span>
-                        <span v-else>{{ node.label }}</span>
-                        <div class="normal-black">
-                          <div>
-                            <el-link :underline="false">
-                              <i class="el-icon-menu" @click="showMenu($event, data, node)" v-if="node.level != 1"></i>
-                            </el-link>
-
-                            <ul v-show="menuvisible" :style="{
-                              left: menuleft + 'px',
-                              top: menutop + 'px',
-                            }" class="contextmenu">
-                              <li v-for="item in menusData" :key="item" @click="menuClick($event, item, data, node)">
-                                <i :class="item.icon"></i>{{ item.label }}
-                              </li>
-                            </ul>
+                      </span>
+                    </el-tree>
+                    <el-tree :load="searchTreeLoad" :data="searchTreeData" @node-click="getNodeDetail"
+                      :props="defaultProps" :expand-on-click-node="false" highlight-current node-key="id"
+                      v-show="isSearch" default-expand-all>
+                      <span class="custom-tree-node" :class="data.moreShow ? 'show' : ''" slot-scope="{ node, data }"
+                        @mouseleave="mouseout(data)">
+                        <div class="pd-r-20">
+                          <span v-if="searchType === '1'" v-html="highlight(node.label || '', filterText)"></span>
+                          <span v-else>{{ node.label }}</span>
+                          <div class="normal-black">
+                            <div>
+                              <el-link :underline="false">
+                                <i class="el-icon-menu" @click="showMenu($event, data, node)"
+                                  v-if="node.level != 1"></i>
+                              </el-link>
+
+                              <ul v-show="menuvisible" :style="{
+                                left: menuleft + 'px',
+                                top: menutop + 'px',
+                              }" class="contextmenu">
+                                <li v-for="item in menusData" :key="item" @click="menuClick($event, item, data, node)">
+                                  <i :class="item.icon"></i>{{ item.label }}
+                                </li>
+                              </ul>
+                            </div>
                           </div>
                         </div>
+                      </span>
+                    </el-tree>
+                  </div>
+                </el-scrollbar>
+              </div>
+              <div v-else class="flex1 ov-hidden">
+                <el-scrollbar>
+                  <el-tree :default-expanded-keys="defaultExpandedKeysType" ref="treeByType" class="filter-tree" lazy
+                    :load="loadNodeByType" :props="defaultPropsByType" :expand-on-click-node="false" highlight-current
+                    node-key="id" @node-click="getNodeDetailByType" @node-expand="handleNodeExpand"
+                    @node-collapse="handleNodeCollapse">
+                    <span class="custom-tree-node" slot-scope="{ node, data }">
+                      <div class="pd-r-20">
+                        <span v-html="highlight(node.label || '', filterText1)"></span>
                       </div>
                     </span>
                   </el-tree>
-                </div>
-              </el-scrollbar>
-            </div>
-            <div v-else class="flex1 ov-hidden">
-              <el-scrollbar>
-                <el-tree :default-expanded-keys="defaultExpandedKeysType" ref="treeByType" class="filter-tree" lazy
-                  :load="loadNodeByType" :props="defaultPropsByType" :expand-on-click-node="false" highlight-current
-                  node-key="id" @node-click="getNodeDetailByType" @node-expand="handleNodeExpand"
-                  @node-collapse="handleNodeCollapse">
-                  <span class="custom-tree-node" slot-scope="{ node, data }">
-                    <div class="pd-r-20">
-                      <span v-html="highlight(node.label || '', filterText1)"></span>
-                    </div>
-                  </span>
-                </el-tree>
-              </el-scrollbar>
+                </el-scrollbar>
+              </div>
             </div>
-          </div>
-        </el-col>
-        <el-col :span="16" class="h-100p flex flex-d-c">
-          <template v-if="isNodeType && (leftType == 5 || leftType == 4)">
-            <div class="mg-b-10">节点信息</div>
-            <div>
-              <el-table :data="tableData" border style="width: 100%" v-if="wbsType !== 2">
-                <el-table-column align="center" prop="nodeName" label="当前节点"></el-table-column>
-                <el-table-column align="center" prop="nodeType" :formatter="formatCat" label="节点类型"
-                  width="180"></el-table-column>
-                <el-table-column align="center" prop="majorDataType" :formatter="formMajorType"
-                  label="内业资料类型"></el-table-column>
-
-                <el-table-column align="center" prop="isAddConceal" label="新增时是否隐藏">
-                  <template slot-scope="scope">
-                    {{ scope.row.isAddConceal === 1 ? "是" : "否" }}
-                  </template>
-                </el-table-column>
-                <el-table-column align="center" prop="updateUserName" label="修改人"></el-table-column>
-                <el-table-column align="center" prop="updateTime" label="修改时间"></el-table-column>
-                <el-table-column label="操作" width="150">
-                  <template slot-scope="scope">
-                    <el-link size="mini" type="primary" class="mg-r-10" @click="editNodeHandle">编辑
-                    </el-link>
-                    <el-link size="mini" type="primary">节点编辑台账 </el-link>
-                  </template>
-                </el-table-column>
-              </el-table>
-              <el-table :data="tableData" border style="width: 100%" v-else>
-                <el-table-column align="center" prop="nodeName" label="当前节点"></el-table-column>
-                <el-table-column align="center" prop="nodeType" :formatter="formatCat" label="节点类型"
-                  width="180"></el-table-column>
-                <el-table-column align="center" prop="uniqueCode" label="参数掩码"></el-table-column>
-                <!-- <el-table-column -->
-
-                <el-table-column label="操作" width="150">
-                  <template slot-scope="scope">
-                    <el-link size="mini" type="primary" class="mg-r-10" @click="editNodeHandle">编辑
-                    </el-link>
-                    <el-link size="mini" type="primary">节点编辑台账 </el-link>
-                  </template>
-                </el-table-column>
-              </el-table>
+          </el-col>
+          <el-col :span="16" class="h-100p flex flex-d-c">
+            <template v-if="isNodeType && (leftType == 5 || leftType == 4)">
+              <div class="mg-b-10">节点信息</div>
+              <div>
+                <el-table :data="tableData" border style="width: 100%" v-if="wbsType !== 2">
+                  <el-table-column align="center" prop="nodeName" label="当前节点"></el-table-column>
+                  <el-table-column align="center" prop="nodeType" :formatter="formatCat" label="节点类型"
+                    width="180"></el-table-column>
+                  <el-table-column align="center" prop="majorDataType" :formatter="formMajorType"
+                    label="内业资料类型"></el-table-column>
+
+                  <el-table-column align="center" prop="isAddConceal" label="新增时是否隐藏">
+                    <template slot-scope="scope">
+                      {{ scope.row.isAddConceal === 1 ? "是" : "否" }}
+                    </template>
+                  </el-table-column>
+                  <el-table-column align="center" prop="updateUserName" label="修改人"></el-table-column>
+                  <el-table-column align="center" prop="updateTime" label="修改时间"></el-table-column>
+                  <el-table-column label="操作" width="150">
+                    <template slot-scope="scope">
+                      <el-link size="mini" type="primary" class="mg-r-10" @click="editNodeHandle">编辑
+                      </el-link>
+                      <el-link size="mini" type="primary">节点编辑台账 </el-link>
+                    </template>
+                  </el-table-column>
+                </el-table>
+                <el-table :data="tableData" border style="width: 100%" v-else>
+                  <el-table-column align="center" prop="nodeName" label="当前节点"></el-table-column>
+                  <el-table-column align="center" prop="nodeType" :formatter="formatCat" label="节点类型"
+                    width="180"></el-table-column>
+                  <el-table-column align="center" prop="uniqueCode" label="参数掩码"></el-table-column>
+                  <!-- <el-table-column -->
+
+                  <el-table-column label="操作" width="150">
+                    <template slot-scope="scope">
+                      <el-link size="mini" type="primary" class="mg-r-10" @click="editNodeHandle">编辑
+                      </el-link>
+                      <el-link size="mini" type="primary">节点编辑台账 </el-link>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </div>
+            </template>
+            <div class="flex mg-t-10" v-if="leftType == 5 || leftType == 4">
+              <span>当前项目信息表</span>
+              <el-button type="text" style="margin-left: 10px" icon="el-icon-edit-outline" class="text-icon"
+                @click="editEditElementForm"></el-button>
+              <el-button v-if="isNodeType" type="text" icon="el-icon-sort" class="text-icon"
+                @click="privateTableSort()"></el-button>
             </div>
-          </template>
-          <div class="flex mg-t-10" v-if="leftType == 5 || leftType == 4">
-            <span>当前项目信息表</span>
-            <el-button type="text" style="margin-left: 10px" icon="el-icon-edit-outline" class="text-icon"
-              @click="editEditElementForm"></el-button>
-            <el-button v-if="isNodeType" type="text" icon="el-icon-sort" class="text-icon"
-              @click="privateTableSort()"></el-button>
-          </div>
-          <template v-if="leftType == 5">
-            <div style="
+            <template v-if="leftType == 5">
+              <div style="
                 flex: 1;
                 position: relative;
                 height: calc(100vh - 260px);
                 overflow-y: auto;
               " v-loading="tableListByTypeLoad">
-              <!-- 施工方分类 -->
-              <template v-if="isNodeType">
-                <template v-if="tableListByType.length > 0">
-                  <div class="category-section" v-for="(item, index) in tableListByType" :key="index">
-                    <div class="category-header">{{ item.title }}</div>
-                    <el-table :data="item.list" border style="width: 100%">
-                      <el-table-column align="center" prop="tableName" label="表单名称">
-                        <template slot-scope="scope">
-                          <span v-if="searchType === '2'"
-                            v-html="highlight(scope.row.tableName || '', filterText)"></span>
-                          <span v-else>{{ scope.row.tableName }}</span>
-                        </template>
-                      </el-table-column>
-                      <el-table-column align="center" prop="elementTableName" label="元素表名称">
-                        <template slot-scope="scope">
-                          <el-link type="primary" :underline="false" @click="openEditEleTableEleDialog(scope.row)">{{
-                            scope.row.elementTableName }}</el-link>
-                        </template>
-                      </el-table-column>
-                      <el-table-column align="center" prop="elementTotal" width="80" label="字段总量"></el-table-column>
-                      <el-table-column align="center" prop="tableType" :formatter="formatTableType" label="表单类型"
-                        width="80"></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 v-if="isNodeType">
+                  <template v-if="tableListByType.length > 0">
+                    <div class="category-section" v-for="(item, index) in tableListByType" :key="index">
+                      <div class="category-header">{{ item.title }}</div>
+                      <el-table :data="item.list" border style="width: 100%">
+                        <el-table-column align="center" prop="tableName" label="表单名称">
+                          <template slot-scope="scope">
+                            <span v-if="searchType === '2'"
+                              v-html="highlight(scope.row.tableName || '', filterText)"></span>
+                            <span v-else>{{ scope.row.tableName }}</span>
+                          </template>
+                        </el-table-column>
+                        <el-table-column align="center" prop="elementTableName" label="元素表名称">
+                          <template slot-scope="scope">
+                            <el-link type="primary" :underline="false" @click="openEditEleTableEleDialog(scope.row)">{{
+                              scope.row.elementTableName }}</el-link>
+                          </template>
+                        </el-table-column>
+                        <el-table-column align="center" prop="elementTotal" width="80" label="字段总量"></el-table-column>
+                        <el-table-column align="center" prop="tableType" :formatter="formatTableType" label="表单类型"
+                          width="80"></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 align="center" prop="htmlElementError" label="是否存在错误key" width="130">
-                        <template slot-scope="scope">
-                          <div class="htmlElementError-box">
-                            <span class="htmlElementError-tag no" v-if="scope.row.htmlElementError == 0">否</span>
-                            <span class="htmlElementError-tag yes" v-else-if="scope.row.htmlElementError == 1">是</span>
-                          </div>
-                        </template>
-                      </el-table-column>
-                      <!-- <el-table-column label="操作" align="center" width="500" v-if="leftType == 4">
+                        <el-table-column align="center" prop="tableOwner" :formatter="formatOwner" label="所属方">
+                        </el-table-column>
+                        <el-table-column align="center" prop="htmlElementError" label="是否存在错误key" width="130">
+                          <template slot-scope="scope">
+                            <div class="htmlElementError-box">
+                              <span class="htmlElementError-tag no" v-if="scope.row.htmlElementError == 0">否</span>
+                              <span class="htmlElementError-tag yes"
+                                v-else-if="scope.row.htmlElementError == 1">是</span>
+                            </div>
+                          </template>
+                        </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>
@@ -287,90 +292,39 @@
                           </el-link>
                         </template>
                       </el-table-column> -->
-                      <el-table-column label="操作" align="center" width="420">
-                        <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>
-                          <template v-if="wbsType == 2 || wbsType == 1">
-                            <el-button size="mini" type="success" v-throttle="3000" v-if="scope.row.defaultConceal == 1"
-                              @click="hideDefaultMD(scope.row)">取消默认隐藏
+                        <el-table-column label="操作" align="center" width="420">
+                          <template slot-scope="scope">
+                            <el-button size="mini" @click="handlePreview(scope.$index, scope.row)">预览
                             </el-button>
-                            <el-button size="mini" type="primary" v-throttle="3000"
-                              v-else="scope.row.defaultConceal == 0" @click="hideDefaultMD(scope.row)">表单默认隐藏
+                            <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑
+                            </el-button>
+                            <template v-if="wbsType == 2 || wbsType == 1">
+                              <el-button size="mini" type="success" v-throttle="3000"
+                                v-if="scope.row.defaultConceal == 1" @click="hideDefaultMD(scope.row)">取消默认隐藏
+                              </el-button>
+                              <el-button size="mini" type="primary" v-throttle="3000"
+                                v-else="scope.row.defaultConceal == 0" @click="hideDefaultMD(scope.row)">表单默认隐藏
+                              </el-button>
+                            </template>
+
+                            <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-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>
+                        </el-table-column>
+                      </el-table>
+                    </div>
+                  </template>
+                  <el-empty description="暂无数据" v-else></el-empty>
                 </template>
-                <el-empty description="暂无数据" v-else></el-empty>
-              </template>
-              <template v-else>
-                <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="elementTableName" label="元素表名称">
-                    <template slot-scope="scope">
-                      <el-link type="primary" :underline="false" @click="openEditEleTableEleDialog(scope.row)">
-                        {{ scope.row.elementTableName }}
-                      </el-link>
-                    </template>
-                  </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 align="center" prop="htmlElementError" label="是否存在错误key">
-                    <template slot-scope="scope">
-                      <div class="htmlElementError-box">
-                        <span class="htmlElementError-tag no" v-if="scope.row.htmlElementError == 0">否</span>
-                        <span class="htmlElementError-tag yes" v-else-if="scope.row.htmlElementError == 1">是</span>
-                      </div>
-                    </template>
-                  </el-table-column>
-                  <el-table-column label="操作" align="center">
-                    <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>
-                    </template>
-                  </el-table-column>
-                </el-table>
-              </template>
-            </div>
-          </template>
-          <template v-if="leftType == 4 && isNodeType">
-            <div style="
-                flex: 1;
-                position: relative;
-                height: calc(100vh - 260px);
-                overflow-y: auto;
-              ">
-              <!-- 施工方分类 -->
-              <template v-if="tableListByType.length > 0">
-                <div class="category-section" v-for="(item, index) in tableListByType" :key="index">
-                  <div class="category-header">{{ item.title }}</div>
-                  <el-table :data="item.list" border style="width: 100%">
+                <template v-else>
+                  <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="elementTableName" label="元素表名称">
                       <template slot-scope="scope">
@@ -379,8 +333,6 @@
                         </el-link>
                       </template>
                     </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> -->
@@ -400,109 +352,165 @@
                         </div>
                       </template>
                     </el-table-column>
-                    <el-table-column label="操作" align="center" width="470">
+                    <el-table-column label="操作" 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)">编辑元素公式
-                        </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-link class="mg-l-10" type="primary" :loading="handlesyncLoad"
-                          @click="handleLinkNodes(scope.$index, scope.row)" v-if="
-                            curTreeData.nodeType === 1000 ||
-                            curTreeData.nodeType === 1001
-                          ">关联节点
-                        </el-link>
-                        <el-link class="mg-l-10" type="danger" @click="handleDelete(scope.$index, scope.row)">删除表单
-                        </el-link>
+                        <el-button size="mini" @click="handlePreview(scope.$index, scope.row)">预览
+                        </el-button>
+                        <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑
+                        </el-button>
                       </template>
                     </el-table-column>
                   </el-table>
-                </div>
-              </template>
-              <el-empty description="暂无数据" v-else></el-empty>
-            </div>
-          </template>
-          <template v-if="leftType == 4 && !isNodeType">
-            <el-table :data="formData" border height="100%">
-              <el-table-column align="center" prop="tableName" label="表单名称"></el-table-column>
-              <el-table-column align="center" prop="elementTableName" label="元素表名称">
-                <template slot-scope="scope">
-                  <el-link type="primary" :underline="false" @click="openEditEleTableEleDialog(scope.row)">
-                    {{ scope.row.elementTableName }}
-                  </el-link>
-                </template>
-              </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 align="center" prop="htmlElementError" label="是否存在错误key">
-                <template slot-scope="scope">
-                  <div class="htmlElementError-box">
-                    <span class="htmlElementError-tag no" v-if="scope.row.htmlElementError == 0">否</span>
-                    <span class="htmlElementError-tag yes" v-else-if="scope.row.htmlElementError == 1">是</span>
+              </div>
+            </template>
+            <template v-if="leftType == 4 && isNodeType">
+              <div style="
+                flex: 1;
+                position: relative;
+                height: calc(100vh - 260px);
+                overflow-y: auto;
+              ">
+                <!-- 施工方分类 -->
+                <template v-if="tableListByType.length > 0">
+                  <div class="category-section" v-for="(item, index) in tableListByType" :key="index">
+                    <div class="category-header">{{ item.title }}</div>
+                    <el-table :data="item.list" border style="width: 100%">
+                      <el-table-column align="center" prop="tableName" label="表单名称"></el-table-column>
+                      <el-table-column align="center" prop="elementTableName" label="元素表名称">
+                        <template slot-scope="scope">
+                          <el-link type="primary" :underline="false" @click="openEditEleTableEleDialog(scope.row)">
+                            {{ scope.row.elementTableName }}
+                          </el-link>
+                        </template>
+                      </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">
+                        <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 align="center" prop="htmlElementError" label="是否存在错误key">
+                        <template slot-scope="scope">
+                          <div class="htmlElementError-box">
+                            <span class="htmlElementError-tag no" v-if="scope.row.htmlElementError == 0">否</span>
+                            <span class="htmlElementError-tag yes" v-else-if="scope.row.htmlElementError == 1">是</span>
+                          </div>
+                        </template>
+                      </el-table-column>
+                      <el-table-column label="操作" align="center" width="470">
+                        <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-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-link class="mg-l-10" type="primary" :loading="handlesyncLoad"
+                            @click="handleLinkNodes(scope.$index, scope.row)" v-if="
+                              curTreeData.nodeType === 1000 ||
+                              curTreeData.nodeType === 1001
+                            ">关联节点
+                          </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>
                 </template>
-              </el-table-column>
-              <el-table-column label="操作" align="center" width="250">
-                <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>
-                </template>
-              </el-table-column>
-            </el-table>
-          </template>
-        </el-col>
-      </el-row>
+                <el-empty description="暂无数据" v-else></el-empty>
+              </div>
+            </template>
+            <template v-if="leftType == 4 && !isNodeType">
+              <el-table :data="formData" border height="100%">
+                <el-table-column align="center" prop="tableName" label="表单名称"></el-table-column>
+                <el-table-column align="center" prop="elementTableName" label="元素表名称">
+                  <template slot-scope="scope">
+                    <el-link type="primary" :underline="false" @click="openEditEleTableEleDialog(scope.row)">
+                      {{ scope.row.elementTableName }}
+                    </el-link>
+                  </template>
+                </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 align="center" prop="htmlElementError" label="是否存在错误key">
+                  <template slot-scope="scope">
+                    <div class="htmlElementError-box">
+                      <span class="htmlElementError-tag no" v-if="scope.row.htmlElementError == 0">否</span>
+                      <span class="htmlElementError-tag yes" v-else-if="scope.row.htmlElementError == 1">是</span>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="250">
+                  <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>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </template>
+          </el-col>
+        </el-row>
+      </div>
+
     </basic-container>
     <el-row class="h-100p" v-show="showType == 2">
       <el-col :span="6" class="h-100p">
@@ -1241,7 +1249,7 @@
         <el-table-column label="文件题名规则" prop="roleNameVal" width="300px">
           <template #default="scope">
             <el-select :id="selectDiv" v-if="scope.row.isEdit" v-model="scope.row.ruleName" multiple placeholder="请选择"
-               @change="changeRoleName($event, scope.row, scope.index)" style="width: 100%">
+              @change="changeRoleName($event, scope.row, scope.index)" style="width: 100%">
               <el-option v-for="item in nodeTypelist1" :key="item.id" :label="item.dictValue"
                 :value="item.dictKey"></el-option>
             </el-select>
@@ -5866,6 +5874,13 @@ export default {
 </script>
 
 <style scoped lang="scss">
+.card-box {
+  height: 100%;
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
 .font-s-12 ::v-deep .iconfont {
   font-size: 12px;
 }
@@ -5907,10 +5922,12 @@ export default {
 .excelHtml {
   position: absolute;
   z-index: 999999;
-  top: 50px;
-  left: 0px;
+  top: 0;
+  left: 0;
   width: 100%;
   height: 100%;
+  padding: 0 10px 10px 10px;
+  box-sizing: border-box;
 }
 
 .jiedian {

+ 102 - 80
src/views/manager/projectinfo/treeTemplate/dynamicExcel.vue

@@ -1,43 +1,38 @@
 <template>
-  <div class="excelHtnl">
-    <div class="header" style=" position: absolute;left:10px;top:0">
-      <div class="flexStar">
-        <h2>编辑WBS库</h2>
-        <div
-          class="GoBack marleft20"
-          @click="GoBack()"
-        >
-          返回上一级
-        </div>
-      </div>
-      <div style="width: 37%;">
-        <avue-tabs :option="option" @change="handleChange"></avue-tabs>
+  <div class="edit-wbs-container">
+    <div class="header">
+      <div class="title">编辑WBS库</div>
+      <div class="go-back" @click="GoBack()">
+        返回上一级
       </div>
     </div>
-    <div
-      class="excelBox hc-excel-table-form"
-      style="margin-top:40px;height: 100%;"
-      @click="parentClick($event)"
-    >
-      <div style="width:60%;height: 100%;overflow: scroll;" class='parent' id='parent'></div>
-      <div class="excelRight" style="width:30%;margin-left:4%;height: 100%;overflow: scroll;">
-        <span v-if="type.prop==='tab1'">
-          <setInputTPT
-            v-if="type.prop==='tab1'"
-            :pkeyId='pkeyId'
-            @cop='domss'
-            :htmlData="htmlData"
-            :checkList="checkList"
-            :checkNameList="checkNameList"
-            @change="change"
-          />
-        </span>
-        <span v-else-if="type.prop==='tab2'">
-          <electronicSignature :pkeyId1='pkeyId' :htmlData1="htmlData" :excelId="excelId" :times="timesTimeElement" @edit="signatureEdit" @timeFocus="timeElementFocus"/>
-        </span>
-        <span v-else-if="type.prop==='tab3'"> <setFormula :pkeyId1='pkeyId' :htmlData="htmlData"/> </span>
-        <span v-else-if="type.prop==='tab4'"> <editDefault :pkeyId1='pkeyId' :htmlData1="htmlData"/> </span>
-        <span v-else-if="type.prop==='tab5'"> <promptSettings :pkeyId1='pkeyId' :htmlData1="htmlData"/> </span>
+    <div class="edit-content">
+      <div class="excel-box hc-excel-table-form" @click="parentClick($event)">
+        <div class='parent' id='parent'></div>
+      </div>
+      <div class="right">
+        <div class="tabs">
+          <avue-tabs :option="option" @change="handleChange"></avue-tabs>
+        </div>
+        <div class="tabs-content">
+          <span v-if="type.prop === 'tab1'">
+            <setInputTPT v-if="type.prop === 'tab1'" :pkeyId='pkeyId' @cop='domss' :htmlData="htmlData"
+              :checkList="checkList" :checkNameList="checkNameList" @change="change" />
+          </span>
+          <span v-else-if="type.prop === 'tab2'">
+            <electronicSignature :pkeyId1='pkeyId' :htmlData1="htmlData" :excelId="excelId" :times="timesTimeElement"
+              @edit="signatureEdit" @timeFocus="timeElementFocus" />
+          </span>
+          <span v-else-if="type.prop === 'tab3'">
+            <setFormula :pkeyId1='pkeyId' :htmlData="htmlData" />
+          </span>
+          <span v-else-if="type.prop === 'tab4'">
+            <editDefault :pkeyId1='pkeyId' :htmlData1="htmlData" />
+          </span>
+          <span v-else-if="type.prop === 'tab5'">
+            <promptSettings :pkeyId1='pkeyId' :htmlData1="htmlData" />
+          </span>
+        </div>
       </div>
     </div>
   </div>
@@ -52,7 +47,7 @@ import promptSettings from './template/promptSettings.vue'
 import HtmlSelect from '../components/HtmlSelect.vue'
 import Vue from 'vue'
 // import {getExcelHtml} from '@/api/exctab/excelmodel'
-import {getSignDetail} from "@/api/manager/AdjustForm";
+import { getSignDetail } from "@/api/manager/AdjustForm";
 
 export default {
   props: ['pkeyId', 'excelId'],
@@ -75,12 +70,12 @@ export default {
           label: '电签位置配置',
           prop: 'tab2',
         },
-         {
+        {
           label: '参数设置',
           prop: 'tab3',
         }
-        ,
-         {
+          ,
+        {
 
           label: '编辑默认信息',
           prop: 'tab4',
@@ -128,7 +123,7 @@ export default {
       let _that = this
       var MyComponent = await Vue.extend({
         template: localStorage.getItem('excelHtml'),
-        components:{ HtmlSelect },
+        components: { HtmlSelect },
         data() {
           return {
             formData: {},
@@ -172,7 +167,7 @@ export default {
           },
           keyupShiftRight() {
           },
-          inputLeftClick({e, params}) {
+          inputLeftClick({ e, params }) {
             _that.parentClick(e, params)
           },
         }
@@ -185,7 +180,7 @@ export default {
       let _that = this
       var MyComponent = await Vue.extend({
         template: localStorage.getItem('excelHtml'),
-        components:{ HtmlSelect },
+        components: { HtmlSelect },
         data() {
           return {
             formData: {},
@@ -229,7 +224,7 @@ export default {
           },
           keyupShiftRight() {
           },
-          inputLeftClick({e, params}) {
+          inputLeftClick({ e, params }) {
             _that.parentClick(e, params)
           },
         }
@@ -275,12 +270,12 @@ export default {
     //excel父节点点击检测
     async parentClick(e, params = null) {
       console.log('parentClick', e.target);
-      if(params){
+      if (params) {
         this.getInformation(params.name, params.trIndex, params.tdIndex)
       }
       if (!this.isTimeElement) {
         let target = e.target;
-        const {metaKey, ctrlKey} = e
+        const { metaKey, ctrlKey } = e
         let bgs = document.querySelectorAll("#parent .oldlace-bg")
         //console.log(bgs)
         for (let i = 0; i < bgs.length; i++) {
@@ -295,7 +290,7 @@ export default {
           if (this.type.prop === 'tab2' && this.isSignatureEdit) {
             this.htmlData.obj = null
           } else {
-            const {data: res} = await getSignDetail({id: this.htmlData.dqid, tabId: this.pkeyId})
+            const { data: res } = await getSignDetail({ id: this.htmlData.dqid, tabId: this.pkeyId })
             if (res.code === 200) {
               this.htmlData.obj = res.data
             }
@@ -318,7 +313,7 @@ export default {
         } catch {
         }
         console.log('keyname1111111111111', keyname, params, target)
-        this.htmlData.keyname = params? params.keyName : keyname
+        this.htmlData.keyname = params ? params.keyName : keyname
         if (target && target.getAttribute('trindex') && target.getAttribute('tdindex') || target1 && target1.getAttribute('trindex') && target1.getAttribute('tdindex') || params && params.trIndex && params.tdIndex) {
           let tdEle = this.getParentTD(target);
           if (tdEle) {
@@ -361,7 +356,7 @@ export default {
         let keyname = ''
         try {
           keyname = target.getAttribute('keyname') || target1.getAttribute('keyname')
-        } catch {}
+        } catch { }
         this.$set(this.timesTimeElement, 'keyname', keyname)
         console.log(this.timesTimeElement)
       }
@@ -470,43 +465,68 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-.excelHtnl {
-  margin: 0 0 0 10px;
+.edit-wbs-container {
   background-color: #fff;
+  padding: 0 20px 68px 20px;
   box-sizing: border-box;
-  padding: 0 20px 100px 20px;
   height: 100%;
+  overflow-y: hidden;
+
   .header {
-    border-radius: 4px;
-    box-sizing: border-box;
-    width: calc(100% - 20px);
-    background-color: #fff;
+    width: 100%;
     display: flex;
-    justify-content: space-between;
-    z-index: 99;
-    height: 50px;
-    align-items: center;
-    .GoBack {
-      color: rgba(0, 82, 216, 1);
-      text-decoration: underline;
-      display: flex;
-      align-items: center;
-      font-family: SourceHanSansSC;
-      cursor: pointer;
-    }
+    margin: 10px 0;
+
+    .title {
+      font-size: 24px;
+      font-weight: 700;
+    }    
   }
-  .excelBox {
-    margin-top: 10px;
+
+  .go-back {
+    color: rgba(0, 82, 216, 1);
+    text-decoration: underline;
     display: flex;
-    justify-content: flex-start;
-    .excelRight {
-      flex-grow: 1;
-      box-sizing: border-box;
-      padding: 20px 0px 0px 30px;
+    align-items: center;
+    cursor: pointer;
+    margin-left: 20px;
+  }
+
+  .edit-content {
+    margin-top: -20px;
+    height: 100%;
+    display: grid;
+    grid-template-columns: 1.7fr 1fr;
+    gap: 40px;
+
+
+    .excel-box {
+      flex-shrink: 0;
+      overflow-y: auto;
+
+      .parent {
+        overflow-y: auto;
+      }
+
+      ::v-deep table {
+        width: 100% !important;
+      }
+
+    }
+
+    .right {
+      width: 100%;
+      margin-top: -44px;
+
+      .tabs-content {
+        margin-left: 40px;
+      }
     }
   }
 }
 
+
+
 // 设置图片样式
 .hc-upload-table-form {
   position: relative;
@@ -515,37 +535,39 @@ export default {
   justify-content: center;
   align-items: center;
 }
+
 .hc-upload-table-form .el-upload {
   position: relative;
   flex: 1;
   height: 100%;
   color: #ccc;
 }
+
 .hc-upload-table-form .el-upload .hc-table-form-icon {
   font-size: 24px;
   font-weight: 100;
 }
+
 .hc-upload-table-form .el-upload .hc-table-form-img {
   width: 100%;
   height: 100%;
 }
 
-.excelBox {
+.excel-box {
   ::v-deep .oldlace-bg {
     background-color: oldlace;
   }
+
   ::v-deep .select-td {
     border-width: 4px;
     border-color: #E6A23C;
     border-style: solid;
   }
 }
+
 #parent {
   ::v-deep .el-popper {
     display: none !important;
   }
 }
 </style>
-
-
-