diff --git a/src/api/mes/wm/materialStock/index.ts b/src/api/mes/wm/materialStock/index.ts
index 9368f2de2..93bf45f93 100644
--- a/src/api/mes/wm/materialStock/index.ts
+++ b/src/api/mes/wm/materialStock/index.ts
@@ -45,5 +45,13 @@ export const WmMaterialStockApi = {
// 导出库存台账 Excel
exportMaterialStock: async (params: any) => {
return await request.download({ url: '/mes/wm/material-stock/export-excel', params })
+ },
+
+ // 获取库存精简列表(主要用于前端下拉,可按 itemId 过滤)
+ getMaterialStockSimpleList: async (itemId?: number) => {
+ return await request.get({
+ url: '/mes/wm/material-stock/simple-list',
+ params: { itemId }
+ })
}
}
diff --git a/src/views/mes/wm/batch/components/WmBatchSelect.vue b/src/views/mes/wm/batch/components/WmBatchSelect.vue
index be8aacaf4..301360781 100644
--- a/src/views/mes/wm/batch/components/WmBatchSelect.vue
+++ b/src/views/mes/wm/batch/components/WmBatchSelect.vue
@@ -29,6 +29,7 @@ defineOptions({ name: 'WmBatchSelect' })
const props = withDefaults(
defineProps<{
modelValue?: number
+ itemId?: number
disabled?: boolean
clearable?: boolean
placeholder?: string
@@ -62,11 +63,22 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase()
filteredList.value = allList.value.filter(
(item) =>
- item.code?.toLowerCase().includes(keyword) ||
- item.itemCode?.toLowerCase().includes(keyword)
+ item.code?.toLowerCase().includes(keyword) || item.itemCode?.toLowerCase().includes(keyword)
)
}
+/** 监听 itemId 变化,前端过滤(如果是基于 itemId 的过滤) */
+watch(
+ () => props.itemId,
+ (val) => {
+ if (val) {
+ filteredList.value = allList.value.filter((item) => item.itemId === val)
+ } else {
+ filteredList.value = allList.value
+ }
+ }
+)
+
/** 选中变化 */
const handleChange = (val: number | undefined) => {
const item = allList.value.find((o) => o.id === val)
@@ -76,6 +88,10 @@ const handleChange = (val: number | undefined) => {
/** 加载批次列表 */
onMounted(async () => {
allList.value = await BatchApi.getBatchSimpleList()
- filteredList.value = allList.value
+ if (props.itemId) {
+ filteredList.value = allList.value.filter((item) => item.itemId === props.itemId)
+ } else {
+ filteredList.value = allList.value
+ }
})
diff --git a/src/views/mes/wm/productsales/ProductSalesDetailForm.vue b/src/views/mes/wm/productsales/ProductSalesDetailForm.vue
index 9294611c1..0a2079398 100644
--- a/src/views/mes/wm/productsales/ProductSalesDetailForm.vue
+++ b/src/views/mes/wm/productsales/ProductSalesDetailForm.vue
@@ -24,7 +24,11 @@
-
+
{
+ formData.value.batchCode = batch?.code
+}
+
/** 提交表单 */
const submitForm = async () => {
// 校验表单
@@ -146,7 +156,8 @@ const resetForm = () => {
warehouseId: undefined,
locationId: undefined,
areaId: undefined,
- batchId: undefined
+ batchId: undefined,
+ batchCode: undefined
}
formRef.value?.resetFields()
}
diff --git a/src/views/mes/wm/productsales/ProductSalesLineList.vue b/src/views/mes/wm/productsales/ProductSalesLineList.vue
index 25be72ddb..1088ac8c1 100644
--- a/src/views/mes/wm/productsales/ProductSalesLineList.vue
+++ b/src/views/mes/wm/productsales/ProductSalesLineList.vue
@@ -90,7 +90,11 @@
-
+
@@ -140,7 +144,7 @@