diff --git a/src/components/inventory/StockAdjustmentDialog.vue b/src/components/inventory/StockAdjustmentDialog.vue
new file mode 100644
index 00000000..6e78aa77
--- /dev/null
+++ b/src/components/inventory/StockAdjustmentDialog.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+ 存入
+ 取出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/inventory/StockListTable.vue b/src/components/inventory/StockListTable.vue
index de029bb9..5230922d 100644
--- a/src/components/inventory/StockListTable.vue
+++ b/src/components/inventory/StockListTable.vue
@@ -8,6 +8,11 @@
{{ formatRFC3339(scope.row.last_updated) }}
+
+
+ 调整库存
+
+
{
+ emit('adjust-stock', row); // 只传递行数据
+ };
+
onMounted(() => {
fetchStockList();
});
@@ -107,6 +118,7 @@ export default {
handleSizeChange,
handleCurrentChange,
formatRFC3339,
+ handleAdjust, // 暴露给模板
};
},
};
diff --git a/src/views/inventory/StockManagement.vue b/src/views/inventory/StockManagement.vue
index 11155192..28ef232d 100644
--- a/src/views/inventory/StockManagement.vue
+++ b/src/views/inventory/StockManagement.vue
@@ -28,8 +28,16 @@
ref="stockListTableRef"
:stockFilter="stockFilter"
:searchRawMaterialName="searchRawMaterialName"
+ @adjust-stock="handleAdjustStock"
>
+
+
+
@@ -37,29 +45,49 @@
import { ref } from 'vue';
import { Refresh } from '@element-plus/icons-vue';
import StockListTable from '../../components/inventory/StockListTable.vue';
+import StockAdjustmentDialog from '../../components/inventory/StockAdjustmentDialog.vue'; // 导入库存调整弹窗组件
export default {
name: 'StockManagement',
components: {
StockListTable,
Refresh,
+ StockAdjustmentDialog, // 注册组件
},
setup() {
const stockListTableRef = ref(null);
const stockFilter = ref('all'); // 默认显示所有原料
const searchRawMaterialName = ref(''); // 搜索原料名称
+ // 库存调整弹窗相关
+ const showAdjustmentDialog = ref(false);
+ const currentRawMaterialForAdjustment = ref(null);
+ // currentOperationType 不再需要在这里管理,由 StockAdjustmentDialog 内部管理
+
const refreshList = () => {
if (stockListTableRef.value) {
stockListTableRef.value.fetchStockList(stockFilter.value, searchRawMaterialName.value);
}
};
+ /**
+ * 处理库存调整操作
+ * @param {object} rawMaterial - 当前操作的原料数据
+ */
+ const handleAdjustStock = (rawMaterial) => {
+ currentRawMaterialForAdjustment.value = { ...rawMaterial };
+ showAdjustmentDialog.value = true;
+ };
+
return {
stockListTableRef,
stockFilter,
searchRawMaterialName,
refreshList,
+ // 库存调整弹窗相关
+ showAdjustmentDialog,
+ currentRawMaterialForAdjustment,
+ handleAdjustStock,
};
},
};