From fdd158306bf6dc3584f5110a385323f4a8dfb463 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 02 九月 2026 14:25:10 +0800
Subject: [PATCH] feat(wms): 重构仓库管理系统并优化图表显示

---
 src/views/wls/materialstock/index.vue |   41 +++++++++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/src/views/wls/materialstock/index.vue b/src/views/wls/materialstock/index.vue
index 17e3625..6fc3d37 100644
--- a/src/views/wls/materialstock/index.vue
+++ b/src/views/wls/materialstock/index.vue
@@ -17,9 +17,13 @@
 } from '#/api/mes/wm/materialstock';
 import { $t } from '#/locales';
 import { MdItemTypeTree } from '#/views/mes/md/item/type/components';
-import { WmBatchDetail } from '#/views/wls/batch/components';
+import QrTraceModal from '#/views/mes/pro/components/qr-trace-modal.vue';
 import AreaForm from '#/views/wls/warehouse/area/modules/form.vue';
-import { WmStockAdjustModal, WmStockMoveModal } from './components';
+import {
+  WmStockAdjustModal,
+  WmStockBagModal,
+  WmStockMoveModal,
+} from './components';
 
 import { useGridColumns, useGridFormSchema } from './data';
 
@@ -38,7 +42,20 @@
   destroyOnClose: true,
 });
 
-const batchDetailRef = ref<InstanceType<typeof WmBatchDetail>>();
+const [QrTraceQueryModal, qrTraceQueryModalApi] = useVbenModal({
+  connectedComponent: QrTraceModal,
+  destroyOnClose: true,
+});
+
+const [StockBagModal, stockBagModalApi] = useVbenModal({
+  connectedComponent: WmStockBagModal,
+  destroyOnClose: true,
+});
+
+function handleOpenStockBags(row: MesWmMaterialStockApi.MaterialStock) {
+  if (!row.id) return;
+  stockBagModalApi.setData({ materialStockId: row.id }).open();
+}
 
 /** 鍒锋柊琛ㄦ牸 */
 function handleRefresh() {
@@ -89,12 +106,12 @@
   gridApi.query();
 }
 
-/** 鎵撳紑鎵规璇︽儏寮圭獥 */
+/** 鎵撳紑鎵规杩芥函寮圭獥 */
 function handleOpenBatchDetail(row: MesWmMaterialStockApi.MaterialStock) {
-  if (!row.batchId) {
+  if (!row.batchCode) {
     return;
   }
-  batchDetailRef.value?.open(row.batchId);
+  qrTraceQueryModalApi.setData({ code: row.batchCode }).open();
 }
 
 /** 澶勭悊鍐荤粨鐘舵�佸垏鎹� */
@@ -151,8 +168,10 @@
 </script>
 
 <template>
-  <Page auto-content-height><AreaModal />
-    <WmBatchDetail ref="batchDetailRef" />
+  <Page auto-content-height>
+    <AreaModal />
+    <QrTraceQueryModal />
+    <StockBagModal />
     <StockAdjustModal @success="handleStockAdjustSuccess" />
     <StockMoveModal @success="handleStockMoveSuccess" />
 
@@ -212,6 +231,12 @@
             <TableAction
               :actions="[
                 {
+                  label: '鏌ョ湅琚嬬爜',
+                  type: 'link',
+                  ifShow: row.bagDetailSupported,
+                  onClick: handleOpenStockBags.bind(null, row),
+                },
+                {
                   label: '绉诲簱',
                   type: 'link',
                   auth: ['mes:wm-material-stock:move'],

--
Gitblit v1.9.3