From 8aae660d1dd2455d300d7738509f12b33d3865e0 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期六, 18 四月 2026 15:24:48 +0800
Subject: [PATCH] 新增销售和采购订单扫码入库功能的前端页面支持,优化API接口以处理合格和不合格入库情况

---
 src/pages/inventoryManagement/scanIn/scanIn.submit.ts |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/src/pages/inventoryManagement/scanIn/scanIn.submit.ts b/src/pages/inventoryManagement/scanIn/scanIn.submit.ts
new file mode 100644
index 0000000..a18d4b7
--- /dev/null
+++ b/src/pages/inventoryManagement/scanIn/scanIn.submit.ts
@@ -0,0 +1,54 @@
+import {
+  CONTRACT_KIND,
+  QUALITY_TYPE,
+} from "../scanOut/scanOut.constants";
+import {
+  scanInboundSales,
+  scanInboundSalesUnqualified,
+} from "@/api/salesManagement/salesLedger";
+import {
+  scanInboundPurchase,
+  scanInboundPurchaseUnqualified,
+} from "@/api/procurementManagement/procurementLedger";
+
+type AnyRow = Record<string, any>;
+type AnyRef<T> = { value: T };
+
+type SubmitConfig = {
+  runApi: (data: any) => Promise<any>;
+  payloadBuilder: (list: AnyRow[]) => any;
+};
+
+export function createSubmitConfig(scanLedgerIdRef: AnyRef<string | number | null>) {
+  const cfg: Record<string, SubmitConfig> = {
+    [`${CONTRACT_KIND.sales}-${QUALITY_TYPE.qualified}`]: {
+      runApi: scanInboundSales,
+      payloadBuilder: (list: AnyRow[]) => ({
+        salesLedgerId: scanLedgerIdRef.value,
+        salesLedgerProductList: list,
+      }),
+    },
+    [`${CONTRACT_KIND.sales}-${QUALITY_TYPE.unqualified}`]: {
+      runApi: scanInboundSalesUnqualified,
+      payloadBuilder: (list: AnyRow[]) => ({
+        salesLedgerId: scanLedgerIdRef.value,
+        salesLedgerProductList: list,
+      }),
+    },
+    [`${CONTRACT_KIND.purchase}-${QUALITY_TYPE.qualified}`]: {
+      runApi: scanInboundPurchase,
+      payloadBuilder: (list: AnyRow[]) => ({
+        purchaseLedgerId: scanLedgerIdRef.value,
+        salesLedgerProductList: list,
+      }),
+    },
+    [`${CONTRACT_KIND.purchase}-${QUALITY_TYPE.unqualified}`]: {
+      runApi: scanInboundPurchaseUnqualified,
+      payloadBuilder: (list: AnyRow[]) => ({
+        purchaseLedgerId: scanLedgerIdRef.value,
+        salesLedgerProductList: list,
+      }),
+    },
+  };
+  return cfg;
+}

--
Gitblit v1.9.3