Эх сурвалжийг харах

是否存在错误key优化

duy 2 өдөр өмнө
parent
commit
09e2a3aff7

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "value": "20251205172351"
+  "value": "20251208165809"
 }

+ 192 - 172
src/api/manager/wbsprivate.js

@@ -1,177 +1,188 @@
-import request from '@/router/axios';
+import request from "@/router/axios";
 
-export const getLazytree = (wbsId,parentId,tenantId,projectId,params) => {
+export const getLazytree = (wbsId, parentId, tenantId, projectId, params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/lazy-tree',
-    method: 'get',
+    url: "/api/blade-manager/wbsPrivate/lazy-tree",
+    method: "get",
     params: {
       ...params,
       wbsId,
       parentId,
       tenantId,
       projectId,
-    }
-  })
-}
+    },
+  });
+};
 
-export const getDetail = (id,wbsId,projectId) => {
+export const getDetail = (id, wbsId, projectId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/detail',
-    method: 'get',
+    url: "/api/blade-manager/wbsPrivate/detail",
+    method: "get",
     params: {
       id,
       wbsId,
-      projectId
-    }
-  })
-}
+      projectId,
+    },
+  });
+};
 
 export const update = (row) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/submit',
-    method: 'post',
-    data: row
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/submit",
+    method: "post",
+    data: row,
+  });
+};
 
-export const findNodeTableByCondition = (parentId,projectId,wbsId, params) => {
+export const findNodeTableByCondition = (
+  parentId,
+  projectId,
+  wbsId,
+  params
+) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/get-node-tables',
-    method: 'get',
+    url: "/api/blade-manager/wbsPrivate/get-node-tables",
+    method: "get",
     params: {
       ...params,
       parentId,
       projectId,
       wbsId,
-    }
-  })
-}
+    },
+  });
+};
 
-export const removeTableByCondition = (id,projectId,wbsId,pKeyId, params) => {
+export const removeTableByCondition = (
+  id,
+  projectId,
+  wbsId,
+  pKeyId,
+  params
+) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/remove-table',
-    method: 'get',
+    url: "/api/blade-manager/wbsPrivate/remove-table",
+    method: "get",
     params: {
       ...params,
       id,
       projectId,
       wbsId,
-      pKeyId
-    }
-  })
-}
+      pKeyId,
+    },
+  });
+};
 
 export const removePrivateTreeNode = (pKeyId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/remove',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/remove",
+    method: "post",
     params: {
       pKeyId,
-    }
-  })
-}
+    },
+  });
+};
 
 export const wbsTreePrivateTableSort = (data) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/submit-table-sort',
-    method: 'post',
-    data:data
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/submit-table-sort",
+    method: "post",
+    data: data,
+  });
+};
 
-export const getNodeTabAndParam = (parentId,projectId,wbsId, params) => {
+export const getNodeTabAndParam = (parentId, projectId, wbsId, params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/get-node-table-param',
-    method: 'get',
+    url: "/api/blade-manager/wbsPrivate/get-node-table-param",
+    method: "get",
     params: {
       ...params,
       parentId,
       projectId,
       wbsId,
-    }
-  })
-}
+    },
+  });
+};
 
-export const privateSubmitFullName = (pKeyId,fullNames) => {
+export const privateSubmitFullName = (pKeyId, fullNames) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/submit-full-name',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/submit-full-name",
+    method: "post",
     params: {
       pKeyId,
-      fullNames
-    }
-  })
-}
+      fullNames,
+    },
+  });
+};
 
-export const syncNodeParam = (projectId,pKeyId) => {
+export const syncNodeParam = (projectId, pKeyId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/sync-node-param',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/sync-node-param",
+    method: "post",
     params: {
       projectId,
-      pKeyId
-    }
-  })
-}
+      pKeyId,
+    },
+  });
+};
 //同步电签默认信息
-export const syncProjecteVisa = (projectId,pKeyId) => {
+export const syncProjecteVisa = (projectId, pKeyId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/sync-project-eVisa',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/sync-project-eVisa",
+    method: "post",
     params: {
       projectId,
-      pKeyId
-    }
-  })
-}
+      pKeyId,
+    },
+  });
+};
 export const syncNodeTable = (primaryKeyId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/sync-node-table',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/sync-node-table",
+    method: "post",
     params: {
-      primaryKeyId
-    }
-  })
-}
+      primaryKeyId,
+    },
+  });
+};
 //同步项目基础信息到合同段接口sync-node-info
 export const syncNodeinfo = (pKeyId) => {
   return request({
     // url: '/api/blade-manager/projectInfo/sync-node-info',
-    url: '/api/blade-manager/wbsPrivate/sync-node-info',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/sync-node-info",
+    method: "post",
     params: {
-      pKeyId
-    }
-  })
-}
+      pKeyId,
+    },
+  });
+};
 //同步元素表单排序到合同段
-export const syncContractTabSort = (projectId,pKeyId) => {
+export const syncContractTabSort = (projectId, pKeyId) => {
   return request({
-    url: 'api/blade-manager/wbsTreeContract/syncContractTabSort',
-    method: 'get',
+    url: "api/blade-manager/wbsTreeContract/syncContractTabSort",
+    method: "get",
     params: {
-      projectId,pKeyId
-    }
-  })
-}
-
+      projectId,
+      pKeyId,
+    },
+  });
+};
 
 //清表树
 export const tabTypeLazyTree = (params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/tab-Type-lazy-tree',
-      method: 'get',
-      params
-  })
+    url: "/api/blade-manager/wbsPrivate/tab-Type-lazy-tree",
+    method: "get",
+    params,
+  });
 };
 
 export const tabTypeLazyTreeAll = (params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/tab-Type-lazy-tree-all',
-      method: 'get',
-      params
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/tab-Type-lazy-tree-all",
+    method: "get",
+    params,
+  });
+};
 //后管-添加元素到项目
 // export const projecttabInfo = (data) => {
 //   return request({
@@ -180,130 +191,139 @@ export const tabTypeLazyTreeAll = (params) => {
 //     data:data
 //   })
 // }
-export const projecttabInfo = (primaryKeyIds,projectId) => {
+export const projecttabInfo = (primaryKeyIds, projectId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/add-projecttab-info',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/add-projecttab-info",
+    method: "post",
     params: {
       primaryKeyIds,
-      projectId
-    }
-  })
-}
+      projectId,
+    },
+  });
+};
 //后管-删除元素表
 export const delTabInfoAll = (pKeyId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/del-tab-info-all',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/del-tab-info-all",
+    method: "post",
     params: {
       pKeyId,
-    }
-  })
-}
+    },
+  });
+};
 //后管-删除项目表单
-export const delAprojectTab = (primaryKeyIds,projectId) => {
+export const delAprojectTab = (primaryKeyIds, projectId) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/del-aprojecttab-info',
-    method: 'post',
+    url: "/api/blade-manager/wbsPrivate/del-aprojecttab-info",
+    method: "post",
     params: {
       primaryKeyIds,
-      projectId
-    }
-  })
-}
+      projectId,
+    },
+  });
+};
 //新增元素业务时间表
-export const saveTabusstime = (colId,colKey,tableId) => {
+export const saveTabusstime = (colId, colKey, tableId) => {
   return request({
-    url: '/api/blade-manager/tabbusstimeinfo/save-tabusstime-info',
-    method: 'post',
+    url: "/api/blade-manager/tabbusstimeinfo/save-tabusstime-info",
+    method: "post",
     data: {
       colId,
       colKey,
-      tableId
-    }
-  })
-}
+      tableId,
+    },
+  });
+};
 //删除元素业务时间表
 export const removeTabusstime = (ids) => {
   return request({
-    url: '/api/blade-manager/tabbusstimeinfo/remove',
-    method: 'post',
+    url: "/api/blade-manager/tabbusstimeinfo/remove",
+    method: "post",
     params: {
-      ids
-    }
-  })
-}
+      ids,
+    },
+  });
+};
 //后管独立表单库表单同步到合同段所有选择的节点下
 export const syncFormToContractNode = (params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/syncFormToContractNode',
-    method: 'get',
-    params
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/syncFormToContractNode",
+    method: "get",
+    params,
+  });
+};
 
 //节点关联
 export const linkNodeTree = (nodeids, pkeyid) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/link-node-tree',
-    method: 'POST',
+    url: "/api/blade-manager/wbsPrivate/link-node-tree",
+    method: "POST",
     params: {
       nodeids,
-      pkeyid
-    }
-  })
-}
+      pkeyid,
+    },
+  });
+};
 
 //node节点回显示
 export const getLinekNodeTreelist = (pkeyid) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/getlinek-node-treelist',
-    method: 'POST',
+    url: "/api/blade-manager/wbsPrivate/getlinek-node-treelist",
+    method: "POST",
     params: {
-      pkeyid
-    }
-  })
-}
+      pkeyid,
+    },
+  });
+};
 //获取文件题名规则
 export const getNameRule = (params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/getNameRule',
-    method: 'get',
-    params 
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/getNameRule",
+    method: "get",
+    params,
+  });
+};
 //获取获取文件题名范围
 export const getTitleRange = (params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/getTitleRange',
-    method: 'get',
-    params 
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/getTitleRange",
+    method: "get",
+    params,
+  });
+};
 
 //新增或修改文件题名规则
 export const saveOrUpdateNameRule = (row) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/saveOrUpdateNameRule',
-    method: 'post',
-    data: row
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/saveOrUpdateNameRule",
+    method: "post",
+    data: row,
+  });
+};
 
 //删除文件题名规则
 export const deletedNameRule = (params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/deletedNameRule',
-    method: 'get',
-    params 
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/deletedNameRule",
+    method: "get",
+    params,
+  });
+};
 
 //查询当前节点下所有元素表并分类
 export const getGroupNodeTables = (params) => {
   return request({
-    url: '/api/blade-manager/wbsPrivate/get-group-node-tables',
-      method: 'get',
-      params
-  })
-}
+    url: "/api/blade-manager/wbsPrivate/get-group-node-tables",
+    method: "get",
+    params,
+  });
+};
+
+//根据pkeyid检验html是否存在错误
+export const getHtmlErrorByPKeyId = (pKeyId) => {
+  return request({
+    url: "/api/blade-manager/wbsPrivate/getHtmlErrorByPKeyId",
+    method: "get",
+    params: { pKeyId: pKeyId },
+  });
+};

+ 35 - 0
src/views/exctab/excelmodel/excelmodel.vue

@@ -84,6 +84,24 @@
       </div>
     </div>
     <div class="boxswai" style="width:74%;padding-left:0px;padding-right:0px;">
+      <!-- <div class="basic-info">
+        <div class="info-title">清表基础信息</div>
+        <div class="info-content">
+          <div>上传信息:张三 2025-12-03 17:30:30</div>
+          <div>
+            元素表:ZJ1001隧道总体质量检验表
+            <div class="">
+              <i @click="copyText('元素表:ZJ1001隧道总体质量检验表')" class="el-icon-document-copy"
+                style="padding-left: 6px;color: #2550A2;cursor:pointer;"></i>
+            </div>
+          </div>
+          <div class="project">
+            <div>使用项目:</div>
+            <div></div>
+          </div>
+        </div>
+      </div> -->
+      <!-- <div class="boxnei excel-box"> -->
       <div class="boxnei">
         <div class="marleft10" style="height:100%;
           display: flex;flex-direction: column;">
@@ -249,6 +267,7 @@
 
 <script>
 import { mapGetters } from "vuex";
+import { copyText } from "@/util/util";
 import {
   detailExcel, excelType, tabLazytree, getWbsTypeList, wbstree, selectByNodeTable, Excelmodify, uploadExcel, deleteExcelshu, deleteExcel, deleteExcelmodel, tabLazytreeAll,
   uploadcoverfileExcel, downExcelFile, downExcelFileModel, exctabSort, batchUploadExcelTab
@@ -264,6 +283,7 @@ export default {
   },
   data() {
     return {
+      copyText,
       //参考vabOnlyOffice组件参数配置
       exceloption: {
         url: '',
@@ -1242,4 +1262,19 @@ export default {
   cursor: pointer;
   color: #409EFF;
 }
+
+.basic-info {
+  background-color: #fff;
+  margin-bottom: 10px;
+  padding: 6px 10px;
+  height: 60px;
+  box-sizing: border-box;
+  border: 1px solid #ebeef5;
+  border-radius: 4px;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.2);
+}
+
+.excel-box {
+  height: calc(100% - 70px) !important;
+}
 </style>

+ 21 - 8
src/views/manager/projectinfo/tree.vue

@@ -237,8 +237,7 @@
                       </el-table-column> -->
                       <el-table-column align="center" prop="tableOwner" :formatter="formatOwner" label="所属方">
                       </el-table-column>
-                      <el-table-column align="center" prop="htmlElementError" :formatter="formatOwner"
-                        label="是否存在错误key">
+                      <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>
@@ -327,7 +326,7 @@
                   </el-table-column>
                   <el-table-column align="center" prop="tableOwner" :formatter="formatOwner" label="所属方">
                   </el-table-column>
-                  <el-table-column align="center" prop="htmlElementError" :formatter="formatOwner" label="是否存在错误key">
+                  <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>
@@ -373,7 +372,7 @@
                     </el-table-column>
                     <el-table-column align="center" prop="tableOwner" :formatter="formatOwner" label="所属方">
                     </el-table-column>
-                    <el-table-column align="center" prop="htmlElementError" :formatter="formatOwner" label="是否存在错误key">
+                    <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>
@@ -444,7 +443,14 @@
                 </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)">关联清表
@@ -1607,6 +1613,7 @@ import {
   deletedNameRule,
   delTabInfoAll,
   getGroupNodeTables,
+  getHtmlErrorByPKeyId
 } from "@/api/manager/wbsprivate";
 import { findProjectTree as getAlltree } from "@/api/manager/projectinfo";
 
@@ -2210,14 +2217,20 @@ export default {
       //获取节点展开路径
       this.getExpandedKeys(node);
     },
-    getNodeDetailByType(data, node) {
-      console.log(data, "data");
+    async getNodeDetailByType(data, node) {
+      console.log(data, "data1111");
+      let htmlElementError = null
+      if(data.excelId != '0'){
+        const res = await getHtmlErrorByPKeyId(data.pkeyId)
+        htmlElementError = res.data.data ? 1 : 0
+      }
+      
       // 保存当前选中的节点
       this.currentNodeKey = data.id;
       this.curTreeData = data;
       this.curTreeNode = node;
       data.tableName = data.title;
-      this.formData = [data];
+      this.formData = [{ ...data, htmlElementError }];
 
       // 只存储node对象中的必要信息,避免循环引用
       const nodeInfo = {

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 311 - 503
src/views/manager/wbsinfo/element.vue


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно