From b176162c23294d8d1bfb9f09cf6bb759efb0124a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 15 七月 2026 14:10:26 +0800
Subject: [PATCH] 银川 1.库存现有量添加自定义出库入库功能 2.整理重复文件
---
src/views/wls/batch/components/detail.vue | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/src/views/wls/batch/components/detail.vue b/src/views/wls/batch/components/detail.vue
index 2f0dff0..db02e8a 100644
--- a/src/views/wls/batch/components/detail.vue
+++ b/src/views/wls/batch/components/detail.vue
@@ -1,18 +1,58 @@
<script lang="ts" setup>
+import type { MdmItemApi } from '#/api/mdm/item';
import type { MesWmBatchApi } from '#/api/mes/wm/batch';
+import type { DescriptionItemSchema } from '#/components/description';
import { ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
+import { getItem } from '#/api/mdm/item';
import { getBatch } from '#/api/mes/wm/batch';
import { useDescription } from '#/components/description';
import { useDetailSchema } from '../data';
-const detailData = ref<MesWmBatchApi.Batch>(); // 褰撳墠鎵规璇︽儏
+const detailData = ref<MesWmBatchApi.Batch>();
+const itemData = ref<MdmItemApi.Item>();
-const [Descriptions] = useDescription({
+/** 鏍规嵁鐗╂枡鎵规灞炴�ч厤缃繃婊よ鎯呭瓧娈� */
+function filterSchemaByItemFlags(
+ schema: DescriptionItemSchema[],
+ item: MdmItemApi.Item | undefined,
+): DescriptionItemSchema[] {
+ // 鍩虹鏁版嵁瀛楁濮嬬粓鏄剧ず
+ const basicFields = new Set([
+ 'code',
+ 'itemCode',
+ 'itemName',
+ 'itemSpecification',
+ 'unitName',
+ ]);
+
+ // 鎵规灞炴�у瓧娈典笌 flag 鐨勬槧灏�
+ const flagFieldMap: Record<string, keyof MdmItemApi.Item> = {
+ produceDate: 'produceDateFlag',
+ expireDate: 'expireDateFlag',
+ receiptDate: 'receiptDateFlag',
+ vendorName: 'vendorFlag',
+ purchaseOrderCode: 'purchaseOrderCodeFlag',
+ lotNumber: 'lotNumberFlag',
+ qualityStatus: 'qualityStatusFlag',
+ };
+
+ return schema.filter((s) => {
+ if (basicFields.has(s.field!)) return true;
+ const flagField = flagFieldMap[s.field!];
+ if (flagField) {
+ return item?.[flagField] === true;
+ }
+ // 闈炲熀纭�銆侀潪鎵规灞炴�у瓧娈典笉灞曠ず
+ return false;
+ });
+}
+
+const [Descriptions, descApi] = useDescription({
bordered: true,
column: 3,
schema: useDetailSchema(),
@@ -25,6 +65,7 @@
async onOpenChange(isOpen) {
if (!isOpen) {
detailData.value = undefined;
+ itemData.value = undefined;
return;
}
const data = modalApi.getData<{ id?: number }>();
@@ -34,6 +75,15 @@
modalApi.lock();
try {
detailData.value = await getBatch(data.id);
+ // 鑾峰彇鐗╂枡璇︽儏浠ヨ鍙栨壒娆″睘鎬ч厤缃�
+ if (detailData.value?.itemId) {
+ itemData.value = await getItem(detailData.value.itemId);
+ const filtered = filterSchemaByItemFlags(
+ useDetailSchema(),
+ itemData.value,
+ );
+ descApi.setDescProps({ schema: filtered });
+ }
} finally {
modalApi.unlock();
}
--
Gitblit v1.9.3