Commit 037eb91ba640641e8b6aebbc49928ff2f7e3295d

Authored by 曾国涛
1 parent f3a79cc5

feat(invoice): 优化发票记录页面和订单组件

- 修改发票记录页面的确认按钮显示逻辑- 优化订单组件中的发票详情计算逻辑
- 调整开发环境的 API 代理配置
.umirc.ts
... ... @@ -14,9 +14,9 @@ export default defineConfig({
14 14 },
15 15 proxy: {
16 16 '/api/': {
17   - // target: 'http://localhost:8085/',
18   - // target: 'http://192.168.1.6:8085/',
19   - target: 'http://39.108.227.113:8085/',
  17 + target: 'http://localhost:8085/',
  18 + //target: 'http://192.168.1.6:8085/',
  19 + //target: 'http://39.108.227.113:8085/',
20 20 changeOrigin: true,
21 21 pathRewrite: { '^/api': '' },
22 22 },
... ...
src/pages/Invoice/InvoiceRecord/index.tsx
... ... @@ -375,7 +375,7 @@ const InvoiceRecord = () => {
375 375 )}
376 376 </>,
377 377 <>
378   - {!record.invoice?.invoiceConfirmStatusDatetime && (
  378 + {record.paths?.includes('INVOICE_CONFIRM') && (
379 379 <ButtonConfirm
380 380 key="delete"
381 381 className="p-0"
... ...
src/pages/Order/Order/components/InvoicingDrawerForm.tsx
... ... @@ -93,7 +93,22 @@ export default ({ dataList, setVisible, mainOrder, onClose }) =&gt; {
93 93 document.body.removeChild(textarea);
94 94 }
95 95 }
96   -
  96 + // 定义一个计算总金额的函数
  97 + const calculateTotalPrice = (index: number) => {
  98 + const invoiceDetails = form.getFieldValue('invoiceDetails');
  99 + if (invoiceDetails && invoiceDetails[index]) {
  100 + const quantity = invoiceDetails[index].quantity || 0;
  101 + const price = invoiceDetails[index].price || 0;
  102 + const totalPrice = quantity * price;
  103 + const newInvoiceDetails = [...invoiceDetails];
  104 + newInvoiceDetails[index] = { ...newInvoiceDetails[index], totalPrice };
  105 + form.setFieldsValue({ invoiceDetails: newInvoiceDetails });
  106 + }
  107 + const totalPrice = invoiceDetails.reduce((accumulator, currentValue) => {
  108 + return FloatAdd(accumulator, currentValue.quantity * currentValue.price);
  109 + }, 0);
  110 + form.setFieldValue('price', totalPrice);
  111 + };
97 112 useEffect(() => {}, []);
98 113 return (
99 114 <DrawerForm
... ... @@ -519,12 +534,6 @@ export default ({ dataList, setVisible, mainOrder, onClose }) =&gt; {
519 534 ]}
520 535 placeholder="请输入名称"
521 536 />
522   - <ProFormText
523   - key={'unit' + listMeta.index}
524   - name="unit"
525   - label="单位"
526   - placeholder="请输入名称"
527   - />
528 537 <ProFormDigit
529 538 key={'quantity' + listMeta.index}
530 539 label="数量"
... ... @@ -539,7 +548,9 @@ export default ({ dataList, setVisible, mainOrder, onClose }) =&gt; {
539 548 },
540 549 },
541 550 ]}
  551 + onChange={() => calculateTotalPrice(listMeta.index)}
542 552 />
  553 +
543 554 <ProFormDigit
544 555 key={'price' + listMeta.index}
545 556 label="单价"
... ... @@ -554,23 +565,13 @@ export default ({ dataList, setVisible, mainOrder, onClose }) =&gt; {
554 565 },
555 566 },
556 567 ]}
  568 + onChange={() => calculateTotalPrice(listMeta.index)}
557 569 />
  570 +
558 571 <ProFormMoney
559 572 key={'totalPrice' + listMeta.index}
560 573 label="金额"
561 574 name="totalPrice"
562   - onChange={() => {
563   - const invoiceDetails = form.getFieldValue('invoiceDetails');
564   - console.log('invoiceDetails', invoiceDetails);
565   - const totalPrice = invoiceDetails.reduce(
566   - (accumulator, currentValue) => {
567   - return FloatAdd(accumulator, currentValue.totalPrice);
568   - },
569   - 0,
570   - );
571   - console.log('totalPrice', totalPrice);
572   - form.setFieldValue('price', totalPrice);
573   - }}
574 575 rules={[
575 576 {
576 577 validator: (_, value) => {
... ... @@ -581,6 +582,7 @@ export default ({ dataList, setVisible, mainOrder, onClose }) =&gt; {
581 582 },
582 583 },
583 584 ]}
  585 + readonly={true}
584 586 locale="zh-CN"
585 587 />
586 588 </ProCard>
... ...