From 9bfda877a67bd2bdfe0c12bfca8ccf88f8db3f4b Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 18 五月 2026 10:35:28 +0800
Subject: [PATCH] 合并OA流程页面文件夹 dev-new_pro_OA -> dev_NEW_pro

---
 src/views/inventoryManagement/receiptManagement/Record.vue |   48 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/src/views/inventoryManagement/receiptManagement/Record.vue b/src/views/inventoryManagement/receiptManagement/Record.vue
index 013bac5..9485188 100644
--- a/src/views/inventoryManagement/receiptManagement/Record.vue
+++ b/src/views/inventoryManagement/receiptManagement/Record.vue
@@ -1,6 +1,6 @@
 <template>
-  <div class="app-container">
-    <div class="search_form">
+  <div>
+    <div class="search_form" style="margin-bottom: 10px;">
       <div>
         <span class="search_title ml10">鍏ュ簱鏃ユ湡锛�</span>
         <el-date-picker v-model="searchForm.timeStr"
@@ -50,6 +50,7 @@
                 height="calc(100vh - 18.5em)">
         <el-table-column align="center"
                          type="selection"
+                         :selectable="isRowSelectableForApprove"
                          width="55"/>
         <el-table-column align="center"
                          label="搴忓彿"
@@ -91,7 +92,9 @@
                          prop="approvalStatus"
                          show-overflow-tooltip>
           <template #default="scope">
-            {{ getApprovalStatusLabel(scope.row.approvalStatus) }}
+            <el-tag :type="getApprovalStatusTagType(scope.row.approvalStatus)" size="small">
+              {{ getApprovalStatusLabel(scope.row.approvalStatus) }}
+            </el-tag>
           </template>
         </el-table-column>
       </el-table>
@@ -117,11 +120,12 @@
 import {ElMessageBox} from "element-plus";
 import {
   getStockInRecordListPage,
-  batchDeleteStockInRecords,
+  batchDeletePendingStockInRecords,
   batchApproveStockInRecords,
 } from "@/api/inventoryManagement/stockInRecord.js";
 import {
-  findAllQualifiedStockInRecordTypeOptions, findAllUnQualifiedStockInRecordTypeOptions,
+  findAllQualifiedStockInRecordTypeOptions, 
+  // findAllUnQualifiedStockInRecordTypeOptions,
 } from "@/api/basicData/enum.js";
 
 const {proxy} = getCurrentInstance();
@@ -179,12 +183,28 @@
   APPROVED: "閫氳繃",
   REJECTED: "椹冲洖",
 };
+approvalStatusLabelMap[3] = "寰呯‘璁�";
 
 const getApprovalStatusLabel = (status) => {
   if (status === null || status === undefined || status === "") {
     return "寰呭鎵�";
   }
   return approvalStatusLabelMap[status] || "寰呭鎵�";
+};
+
+// 閫氳繃/椹冲洖鍥哄畾鑹诧紱鍏朵綑锛堝惈寰呭鎵广�佺┖鍊笺�佹湭鏄犲皠浣嗘枃妗堜负寰呭鎵癸級缁熶竴鐢� warning 棰勮鑹�
+const getApprovalStatusTagType = (status) => {
+  if (status === 1 || status === "1" || status === "approved" || status === "APPROVED") return "success";
+  if (status === 2 || status === "2" || status === "rejected" || status === "REJECTED") return "danger";
+  return "warning";
+};
+
+const isPendingApproval = status => {
+  return status === 0 || status === "0" || status === "pending" || status === "PENDING" || status === null || status === undefined || status === "";
+};
+
+const isRowSelectableForApprove = row => {
+  return isPendingApproval(row?.approvalStatus);
 };
 
 const pageProductChange = obj => {
@@ -195,7 +215,7 @@
 
 const getList = () => {
   tableLoading.value = true;
-  const params = {...page, type: props.type, topParentProductId: props.topParentProductId};
+  const params = {...page,  topParentProductId: props.topParentProductId};
   params.timeStr = searchForm.value.timeStr;
   params.productName = searchForm.value.productName;
   params.recordType = searchForm.value.recordType;
@@ -217,15 +237,15 @@
         })
     return
   }
-  findAllUnQualifiedStockInRecordTypeOptions()
-      .then(res => {
-        stockRecordTypeOptions.value = res.data;
-      })
+  // findAllUnQualifiedStockInRecordTypeOptions()
+  //     .then(res => {
+  //       stockRecordTypeOptions.value = res.data;
+  //     })
 }
 
 // 琛ㄦ牸閫夋嫨鏁版嵁
 const handleSelectionChange = selection => {
-  selectedRows.value = selection.filter(item => item.id);
+  selectedRows.value = selection.filter(item => item.id && isPendingApproval(item.approvalStatus));
 };
 
 const expandedRowKeys = ref([]);
@@ -243,7 +263,7 @@
     distinguishCancelAndClose: true,
   })
       .then(() => {
-        batchApproveStockInRecords({ids, approvalStatus: "閫氳繃"})
+        batchApproveStockInRecords({ids, approvalStatus: 1})
             .then(() => {
               proxy.$modal.msgSuccess("瀹℃壒閫氳繃鎴愬姛");
               getList();
@@ -254,7 +274,7 @@
       })
       .catch((action) => {
         if (action === "cancel") {
-          batchApproveStockInRecords({ids, approvalStatus: "椹冲洖"})
+          batchApproveStockInRecords({ids, approvalStatus: 2})
               .then(() => {
                 proxy.$modal.msgSuccess("瀹℃壒椹冲洖鎴愬姛");
                 getList();
@@ -298,7 +318,7 @@
     type: "warning",
   })
       .then(() => {
-        batchDeleteStockInRecords(ids)
+        batchDeletePendingStockInRecords(ids)
             .then(() => {
               proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
               getList();

--
Gitblit v1.9.3