Commit e4d140c0b9718e366d3367622af18568019c7ff8

Authored by 柏杨
1 parent 6fda7d6a

feat: 自动开票弹窗

src/pages/Order/OrderList/InvoicingDrawerForm.tsx
... ... @@ -30,8 +30,16 @@ export default ({
30 30 dataList,
31 31 setVisible,
32 32 mainOrder,
  33 + mainOrders,
33 34 onClose,
34 35 type = 'applyInvoicing',
  36 +}: {
  37 + dataList: any[];
  38 + setVisible: (val: boolean) => void;
  39 + mainOrder: any;
  40 + mainOrders?: any[];
  41 + onClose: () => void;
  42 + type?: string;
35 43 }) => {
36 44 // let subOrderIds = dataList?.map((item) => {
37 45 // return item.id;
... ... @@ -100,9 +108,17 @@ export default ({
100 108 return uniqueIds.map((id) => {
101 109 // 确保id是string或number类型
102 110 const orderId = String(id);
103   - const orderData = dataListCopy.find(
104   - (d: any) => d.mainOrderId === id || d.orderId === id,
105   - );
  111 +
  112 + // 优先从传入的mainOrders中获取数据
  113 + const mainOrderData = mainOrders
  114 + ? mainOrders.find((item: any) => item.id === id)
  115 + : null;
  116 +
  117 + // 如果没有找到主订单数据,则从dataList中查找
  118 + const orderData =
  119 + mainOrderData ||
  120 + dataListCopy.find((d: any) => d.mainOrderId === id || d.orderId === id);
  121 +
106 122 const totalPayment = orderData?.totalPayment || 0;
107 123 const invoiceIssuedAmount = orderData?.invoiceIssuedAmount || 0;
108 124 const availableAmount = Math.max(0, totalPayment - invoiceIssuedAmount);
... ...
src/pages/Order/OrderList/OrderList.tsx
... ... @@ -5567,6 +5567,11 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => {
5567 5567 }
5568 5568 }}
5569 5569 mainOrder={isMainOrder ? getFirstMainOrder() : buildMainOrder()}
  5570 + mainOrders={
  5571 + isMainOrder
  5572 + ? [...mainOrderSelectedMap.values()]
  5573 + : [buildMainOrder()]
  5574 + }
5570 5575 onClose={() => {
5571 5576 setInvoicingDrawerFormVisible(false);
5572 5577 setIsMainOrder(true);
... ...