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/attendance/components/staffClockInRecord.vue |   68 +++++++++++++++++++++++++++-------
 1 files changed, 54 insertions(+), 14 deletions(-)

diff --git a/src/views/performance/attendance/components/staffClockInRecord.vue b/src/views/performance/attendance/components/staffClockInRecord.vue
index c1860c2..651b2df 100644
--- a/src/views/performance/attendance/components/staffClockInRecord.vue
+++ b/src/views/performance/attendance/components/staffClockInRecord.vue
@@ -20,14 +20,20 @@
       //杩涘嚭闂ㄧ被鍨嬪垪琛�
       enterOrExitList:[
         {
+          effect:'light',
+          type:'success',
           label:'杩涢棬',
           value:1
         },
         {
+          effect:'light',
+          type:'',
           label:'鍑洪棬',
           value:2
         },
         {
+          effect:'light',
+          type:'info',
           label:'杩�/鍑洪棬',
           value:3
         }
@@ -274,6 +280,19 @@
           "value": 10002,
           "label": "寮傚父鍋ュ悍鐮佸紑闂�"
         }
+      ],
+      //涓�/涓嬬彮鐘舵�佸垪琛�
+      workStateList:[
+        {
+          label: "涓婄彮鏃堕棿",
+          value: "00work",
+          disabled: 2//鍑洪棬璁板綍绂佺敤
+        },
+        {
+          label: "涓嬬彮鏃堕棿",
+            value: "01offWork",
+          disabled: 1//杩涢棬璁板綍绂佺敤
+        }
       ]
     };
   },
@@ -292,12 +311,13 @@
     changeEnableReport(row){
       let data = {
         id:row.id,
-        enableReport:row.enableReport
+        enableReport:row.enableReport,
+        workStateFlag: row.workStateFlag
       }
       changeEnableReport(data).then(res=>{
         if(res.code===200){
           this.$message.success("鎿嶄綔鎴愬姛")
-          this.refreshTable()
+          this.$emit("changeEnable")
         }
       })
     },
@@ -311,18 +331,23 @@
       return label;
     },
     formatterEnterOrExitType(value){
-      let label = "";
+      let type = {
+        effect:'plain',
+        type:'warning',
+        label:'鏈煡',
+        value:value
+      };
       this.enterOrExitList.forEach(item=>{
         if(item.value===value){
-          label = item.label
+          type = item
         }
       })
-      return label;
+      return type;
     },
     getDataSourceTypeTag(type) {
       const tagMap = {
         0: 'success',
-        1: '',
+        1: 'info',
       };
       return tagMap[type] || '';
     },
@@ -353,12 +378,12 @@
         :data="tableData"
         border
         style="width: 100%"
-        height="300"
+        max-height="900"
         :header-cell-style="{textAlign:'center'}"
         :cell-style="{textAlign:'center'}"
       >
-        <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
-        <el-table-column label="鏄惁绾冲叆鑰冨嫟" prop="enableReport" width="120">
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="60"></el-table-column>
+        <el-table-column fixed="left" label="鏄惁绾冲叆鑰冨嫟" prop="enableReport" width="120">
           <template slot-scope="scope">
             <el-switch
               @change="changeEnableReport(scope.row)"
@@ -368,15 +393,30 @@
             </el-switch>
           </template>
         </el-table-column>
-        <el-table-column prop="personCode" label="宸ュ彿" min-width="150" width="150"></el-table-column>
-        <el-table-column prop="personName" label="濮撳悕" min-width="150" width="150"></el-table-column>
-        <el-table-column prop="deptName" label="閮ㄩ棬鍚嶇О" min-width="150" width="150"></el-table-column>
-        <el-table-column prop="cardNumber" label="鍗″彿" min-width="150" width="150"></el-table-column>
+        <el-table-column fixed="left" label="鏍囪涓轰笂/涓嬬彮鏃堕棿" prop="workStateFlag" width="150">
+          <template slot-scope="scope">
+            <el-select
+              clearable
+              szie="small"
+              @change="changeEnableReport(scope.row)"
+              v-model="scope.row.workStateFlag">
+              <el-option :disabled="scope.row.enterOrExit && scope.row.enterOrExit===item.disabled"  v-for="(item,index) in workStateList" :label="item.label" :value="item.value" :key="index"/>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column fixed="left" prop="personCode" label="宸ュ彿" min-width="120" width="120"></el-table-column>
+        <el-table-column fixed="left" prop="personName" label="濮撳悕" min-width="120" width="120"></el-table-column>
+        <el-table-column prop="deptName" label="閮ㄩ棬鍚嶇О" min-width="100" width="100"></el-table-column>
+        <el-table-column prop="cardNumber" label="鍗″彿" min-width="120" width="120" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="enterOrExit" label="杩涘嚭闂ㄧ被鍨�" min-width="100" width="100" >
+          <template slot-scope="scope">
+            <el-tag :type="formatterEnterOrExitType(scope.row.enterOrExit).type" :effect="formatterEnterOrExitType(scope.row.enterOrExit).effect">{{formatterEnterOrExitType(scope.row.enterOrExit).label}}</el-tag>
+          </template>
+        </el-table-column>
         <el-table-column prop="swingTime" label="鍒峰崱鏃堕棿" min-width="180" width="180"></el-table-column>
         <el-table-column prop="channelName" label="鑰冨嫟鐐归�氶亾鍚嶇О" min-width="180" width="180"></el-table-column>
         <el-table-column prop="deviceName" label="鑰冨嫟璁惧鍚嶇О" min-width="150" width="150"></el-table-column>
         <el-table-column prop="deviceCode" label="鑰冨嫟璁惧缂栫爜" min-width="150" width="150"></el-table-column>
-        <el-table-column prop="enterOrExit" label="杩涘嚭闂ㄧ被鍨�" min-width="150" width="150" :formatter="(row)=>formatterEnterOrExitType(row.enterOrExit)"></el-table-column>
         <el-table-column prop="openType" label="寮�闂ㄧ被鍨�" min-width="150" width="150" :formatter="(row)=>formatterAttendanceType(row.openType)"></el-table-column>
         <el-table-column prop="isSync" label="鏁版嵁鏉ユ簮" min-width="150" width="150">
           <template slot-scope="scope">

--
Gitblit v1.9.3