新增销售和采购订单扫码入库功能的前端页面支持,优化API接口以处理合格和不合格入库情况
已添加1个文件
54 ■■■■■ 文件已修改
src/pages/inventoryManagement/scanIn/scanIn.submit.ts 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}