From b0d4df5f39525ae7fe252e8ee65d85fd71dca721 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 07 五月 2026 14:53:32 +0800
Subject: [PATCH] 手动下单:检验中订单撤销报错问题修复

---
 src/views/performance/competency/index.vue |   49 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/src/views/performance/competency/index.vue b/src/views/performance/competency/index.vue
index 92e05bb..61307de 100644
--- a/src/views/performance/competency/index.vue
+++ b/src/views/performance/competency/index.vue
@@ -46,6 +46,7 @@
       </el-form-item>
     </el-form>
     <el-table
+      ref="competencyTable"
       v-if="refreshTable"
       v-loading="loading"
       :data="recordList"
@@ -58,16 +59,18 @@
       }"
       border
     >
-      <el-table-column type="index" label="搴忓彿" width="80"></el-table-column>
+      <el-table-column type="index" label="搴忓彿" width="80" fixed="left"></el-table-column>
       <el-table-column
         prop="userName"
         label="浜哄憳鍚嶇О"
         min-width="120"
+        fixed="left"
         width="120"
       ></el-table-column>
       <el-table-column
         prop="postName"
         label="宀椾綅"
+        fixed="left"
         min-width="120"
         width="120"
       ></el-table-column>
@@ -125,23 +128,43 @@
       levelDictList:[],
       tableHeight:0,
       downloadLoading:false,
-      postList:[]
+      postList:[],
+      layoutTimer: null
     };
   },
   created() {
     this.getLevelDict()
-    this.getTableHeader();
     this.getList();
-    this.getTableHeight()
     this.getPostList()
+    this.$nextTick(()=>{
+      this.getTableHeight()
+    })
   },
   mounted() {
     window.addEventListener("resize", this.getTableHeight);
+    this.scheduleTableLayout()
   },
   beforeDestroy() {
     window.removeEventListener("resize", this.getTableHeight);
+    if (this.layoutTimer) {
+      clearTimeout(this.layoutTimer)
+      this.layoutTimer = null
+    }
   },
   methods: {
+    scheduleTableLayout() {
+      if (this.layoutTimer) {
+        clearTimeout(this.layoutTimer)
+      }
+      this.layoutTimer = setTimeout(() => {
+        this.$nextTick(() => {
+          const table = this.$refs.competencyTable
+          if (table && typeof table.doLayout === 'function') {
+            table.doLayout()
+          }
+        })
+      }, 0)
+    },
     getPostList(){
       optionSelect().then(res=>{
         if(res.code===200){
@@ -167,6 +190,7 @@
       const innerHeight = window.innerHeight;
       const otherHeight = 50+46+40+51;
       this.tableHeight = innerHeight - otherHeight;
+      this.scheduleTableLayout()
     },
     changeSkillLevel(row, itemId){
       const configObj = {...row[itemId]}
@@ -189,23 +213,22 @@
         this.levelDictList = response.data;
       });
     },
-    getTableHeader() {
-      listConfig({ isEnable: true }).then((response) => {
-        this.tableHeaderList = this.handleTree(response.data, "id");
-      });
-    },
     /** 鏌ヨ鍒楄〃 */
     getList() {
       this.loading = true
-      this.getTableHeader();
-      getPageList(this.queryParams).then(res=>{
-        if(res.code===200){
-          this.recordList = res.data
+      Promise.all([
+        listConfig({ isEnable: true }),
+        getPageList(this.queryParams)
+      ]).then(([headerRes, listRes]) => {
+        this.tableHeaderList = this.handleTree(headerRes.data, "id");
+        if(listRes.code===200){
+          this.recordList = listRes.data
         }
       }).catch(error=>{
         console.log(error)
       }).finally(() => {
           this.loading = false;
+          this.scheduleTableLayout()
         });
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */

--
Gitblit v1.9.3