From 515d02b5945ab23527d8ef9ac5d467b0f619412e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 26 一月 2026 15:56:27 +0800
Subject: [PATCH] feat: 成品库存的冻结与解冻按钮

---
 src/api/inventoryManagement/stockManage.js              |   22 ++++++++++-
 src/views/inventoryManagement/stockManagement/index.vue |   74 ++++++++++++++++++++++++++++++++++++-
 2 files changed, 92 insertions(+), 4 deletions(-)

diff --git a/src/api/inventoryManagement/stockManage.js b/src/api/inventoryManagement/stockManage.js
index 7cf9691..8278be3 100644
--- a/src/api/inventoryManagement/stockManage.js
+++ b/src/api/inventoryManagement/stockManage.js
@@ -83,7 +83,7 @@
 // 閲囪喘鍏ュ簱-搴撳瓨绠$悊-鍐荤粨涓嶅悎鏍间骇鍝�
 export function frozenQuality(ids) {
     return request({
-        url: '/stockin/frozenQuality',
+        url: '/stockin/frozenStorageQuality',
         method: 'post',
         data: ids
     })
@@ -92,7 +92,25 @@
 // 閲囪喘鍏ュ簱-搴撳瓨绠$悊-瑙e喕涓嶅悎鏍间骇鍝�
 export function thawQuality(ids) {
     return request({
-        url: '/stockin/thawQuality',
+        url: '/stockin/thawStorageQuality',
+        method: 'post',
+        data: ids
+    })
+}
+
+// 鎴愬搧鍏ュ簱-搴撳瓨绠$悊-鍐荤粨涓嶅悎鏍间骇鍝�
+export function frozenFinishedQuality(ids) {
+    return request({
+        url: '/stockin/frozenFinishedQuality',
+        method: 'post',
+        data: ids
+    })
+}
+
+// 鎴愬搧鍏ュ簱-搴撳瓨绠$悊-瑙e喕涓嶅悎鏍间骇鍝�
+export function thawFinishedQuality(ids) {
+    return request({
+        url: '/stockin/thawFinishedQuality',
         method: 'post',
         data: ids
     })
diff --git a/src/views/inventoryManagement/stockManagement/index.vue b/src/views/inventoryManagement/stockManagement/index.vue
index dd27462..19d3b85 100644
--- a/src/views/inventoryManagement/stockManagement/index.vue
+++ b/src/views/inventoryManagement/stockManagement/index.vue
@@ -25,6 +25,12 @@
           </div>
           <div>
             <el-button @click="handleOut">瀵煎嚭</el-button>
+            <el-button type="danger"
+                       plain
+                       @click="handleFrozenFinished">鍐荤粨</el-button>
+            <el-button type="success"
+                       plain
+                       @click="handleThawFinished">瑙e喕</el-button>
             <!--            <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>-->
           </div>
         </div>
@@ -71,6 +77,16 @@
             <el-table-column label="鍓╀綑搴撳瓨"
                              prop="stockQuantity"
                              show-overflow-tooltip />
+            <el-table-column label="鐘舵��"
+                             align="center"
+                             prop="isFrozen"
+                             width="100">
+              <template #default="scope">
+                <el-tag :type="scope.row.isFrozen ? 'danger' : 'success'">
+                  {{ scope.row.isFrozen ? '宸插喕缁�' : '姝e父' }}
+                </el-tag>
+              </template>
+            </el-table-column>
             <!-- <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center">
               <template #default="scope">
                 <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">缂栬緫</el-button>
@@ -218,6 +234,8 @@
     delStockManage, getStockManageProduction,
     frozenQuality,
     thawQuality,
+    frozenFinishedQuality,
+    thawFinishedQuality,
   } from "@/api/inventoryManagement/stockManage.js";
   import {
     updateManagement,
@@ -557,7 +575,7 @@
   const handleFrozen = () => {
     let ids = [];
     if (selectedRows.value.length > 0) {
-      ids = selectedRows.value.map(item => item.id);
+      ids = selectedRows.value.map(item => item.salesLedgerProductId);
     } else {
       proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
       return;
@@ -578,7 +596,7 @@
       });
   };
 
-  // 瑙e喕
+  // 鍘熸枡瑙e喕
   const handleThaw = () => {
     let ids = [];
     if (selectedRows.value.length > 0) {
@@ -602,6 +620,58 @@
         proxy.$modal.msg("宸插彇娑�");
       });
   };
+
+  // 鎴愬搧鍐荤粨
+  const handleFrozenFinished = () => {
+    let ids = [];
+    if (selectedRows.value.length > 0) {
+      ids = selectedRows.value.map(item => item.productId);
+    } else {
+      proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
+      return;
+    }
+        console.log(ids);
+    ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚爣璁颁负涓嶅悎鏍间骇鍝佸苟鍐荤粨锛屾槸鍚︾‘璁�?", "璀﹀憡", {
+      confirmButtonText: "纭",
+      cancelButtonText: "鍙栨秷",
+      type: "warning",
+    })
+      .then(() => {
+        frozenFinishedQuality(ids).then(res => {
+          proxy.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+          getList();
+        });
+      })
+      .catch(() => {
+        proxy.$modal.msg("宸插彇娑�");
+      });
+  };
+
+  // 鎴愬搧瑙e喕
+  const handleThawFinished = () => {
+    let ids = [];
+    if (selectedRows.value.length > 0) {
+      ids = selectedRows.value.map(item => item.productId);
+    } else {
+      proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
+      return;
+    }
+    console.log(ids);
+    ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚В鍐伙紝鏄惁纭?", "鎻愮ず", {
+      confirmButtonText: "纭",
+      cancelButtonText: "鍙栨秷",
+      type: "success",
+    })
+      .then(() => {
+        thawFinishedQuality(ids).then(res => {
+          proxy.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+          getList();
+        });
+      })
+      .catch(() => {
+        proxy.$modal.msg("宸插彇娑�");
+      });
+  };
   // 鍒犻櫎
   const handleDelete = () => {
     let ids = [];

--
Gitblit v1.9.3