Commit 321ab4354b6a1cda08e9a8744a9f83f5a93b5f31
1 parent
4cda179e
fix: 修改淘宝选择器
Showing
7 changed files
with
124 additions
and
15 deletions
src/pages/Order/Order/index.tsx
@@ -120,7 +120,7 @@ const OrderPage = () => { | @@ -120,7 +120,7 @@ const OrderPage = () => { | ||
120 | <div className="order-page-container"> | 120 | <div className="order-page-container"> |
121 | <div id="resizeDiv"></div> | 121 | <div id="resizeDiv"></div> |
122 | <div id="resizeDiv"></div> | 122 | <div id="resizeDiv"></div> |
123 | - {roleCode !== 'SALES_MANAGER' && ( | 123 | + {roleCode === 'SALES_MANAGER' && ( |
124 | <Modal | 124 | <Modal |
125 | title="订单预警提醒" | 125 | title="订单预警提醒" |
126 | open={open} | 126 | open={open} |
src/pages/Order/OrderList/HirePurchaseUploadPayBillModal.tsx
@@ -22,6 +22,14 @@ interface HirePurchaseUploadPayBillModalProps { | @@ -22,6 +22,14 @@ interface HirePurchaseUploadPayBillModalProps { | ||
22 | subOrders?: any[]; | 22 | subOrders?: any[]; |
23 | } | 23 | } |
24 | 24 | ||
25 | +// Helper function to display dash for empty values | ||
26 | +// const displayValue = (value: any, formatter?: (val: any) => string): string => { | ||
27 | +// if (value === null || value === undefined || value === '') { | ||
28 | +// return '-'; | ||
29 | +// } | ||
30 | +// return formatter ? formatter(value) : String(value); | ||
31 | +// }; | ||
32 | + | ||
25 | const HirePurchaseUploadPayBillModal: React.FC< | 33 | const HirePurchaseUploadPayBillModal: React.FC< |
26 | HirePurchaseUploadPayBillModalProps | 34 | HirePurchaseUploadPayBillModalProps |
27 | > = ({ | 35 | > = ({ |
@@ -309,7 +317,12 @@ const HirePurchaseUploadPayBillModal: React.FC< | @@ -309,7 +317,12 @@ const HirePurchaseUploadPayBillModal: React.FC< | ||
309 | }} | 317 | }} |
310 | > | 318 | > |
311 | <span>订单总金额:</span> | 319 | <span>订单总金额:</span> |
312 | - <span>{totalPayment.toFixed(2)}元</span> | 320 | + <span> |
321 | + {totalPayment !== null && totalPayment !== undefined | ||
322 | + ? totalPayment.toFixed(2) | ||
323 | + : '-'} | ||
324 | + 元 | ||
325 | + </span> | ||
313 | </div> | 326 | </div> |
314 | <div | 327 | <div |
315 | style={{ | 328 | style={{ |
@@ -319,7 +332,12 @@ const HirePurchaseUploadPayBillModal: React.FC< | @@ -319,7 +332,12 @@ const HirePurchaseUploadPayBillModal: React.FC< | ||
319 | }} | 332 | }} |
320 | > | 333 | > |
321 | <span>已回款金额:</span> | 334 | <span>已回款金额:</span> |
322 | - <span>{installedMoney.toFixed(2)}元</span> | 335 | + <span> |
336 | + {installedMoney !== null && installedMoney !== undefined | ||
337 | + ? installedMoney.toFixed(2) | ||
338 | + : '-'} | ||
339 | + 元 | ||
340 | + </span> | ||
323 | </div> | 341 | </div> |
324 | <div | 342 | <div |
325 | style={{ | 343 | style={{ |
@@ -329,7 +347,12 @@ const HirePurchaseUploadPayBillModal: React.FC< | @@ -329,7 +347,12 @@ const HirePurchaseUploadPayBillModal: React.FC< | ||
329 | }} | 347 | }} |
330 | > | 348 | > |
331 | <span>待回款金额:</span> | 349 | <span>待回款金额:</span> |
332 | - <span>{remainingMoney.toFixed(2)}元</span> | 350 | + <span> |
351 | + {remainingMoney !== null && remainingMoney !== undefined | ||
352 | + ? remainingMoney.toFixed(2) | ||
353 | + : '-'} | ||
354 | + 元 | ||
355 | + </span> | ||
333 | </div> | 356 | </div> |
334 | </div> | 357 | </div> |
335 | <Form.Item | 358 | <Form.Item |
src/pages/Order/OrderList/OrderDrawer.tsx
@@ -1895,7 +1895,60 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1895,7 +1895,60 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1895 | disabled={optType('after-sales-check')} | 1895 | disabled={optType('after-sales-check')} |
1896 | /> | 1896 | /> |
1897 | </div> | 1897 | </div> |
1898 | - | 1898 | + <ProFormSelect |
1899 | + placeholder="请输入支付方式" | ||
1900 | + name="paymentMethod" | ||
1901 | + width="lg" | ||
1902 | + key="paymentMethod" | ||
1903 | + label="支付方式" | ||
1904 | + onChange={(val: any) => { | ||
1905 | + setPaymentMethod(val); | ||
1906 | + }} | ||
1907 | + options={[ | ||
1908 | + // 默认可选项 | ||
1909 | + ...enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD).map((option) => { | ||
1910 | + // 将淘宝选项设置为禁用状态,使其无法手动选择 | ||
1911 | + if (option.value === 'PAYMENT_IN_TAOBAO') { | ||
1912 | + return { ...option, disabled: true }; | ||
1913 | + } | ||
1914 | + return option; | ||
1915 | + }), | ||
1916 | + // 强制禁用项 | ||
1917 | + { label: '未付款', value: 'UNPAID', disabled: true }, | ||
1918 | + { | ||
1919 | + label: '淘宝订单已付款', | ||
1920 | + value: 'TAOBAO_ORDER_HAS_BEEN_PAID', | ||
1921 | + disabled: true, | ||
1922 | + }, | ||
1923 | + { | ||
1924 | + label: '官网已付', | ||
1925 | + value: 'OFFICIAL_WEBSITE_ORDER_HAS_BEEN_PAID', | ||
1926 | + disabled: true, | ||
1927 | + }, | ||
1928 | + { | ||
1929 | + label: '淘宝', | ||
1930 | + value: 'PAYMENT_IN_TAOBAO', | ||
1931 | + disabled: true, | ||
1932 | + }, | ||
1933 | + { | ||
1934 | + label: '预付', | ||
1935 | + value: 'WITHHOLDING_ADVANCE_DEPOSIT', | ||
1936 | + disabled: true, | ||
1937 | + }, | ||
1938 | + { label: '平台结算', value: 'PLATFORM_SETTLEMENT', disabled: true }, | ||
1939 | + { label: '已回款', value: 'PAYMENT_RECEIPT', disabled: true }, | ||
1940 | + { | ||
1941 | + label: '预存款无需发货', | ||
1942 | + value: 'PREPAID_NO_NEED_SEND', | ||
1943 | + disabled: true, | ||
1944 | + }, | ||
1945 | + ]} | ||
1946 | + rules={[{ required: true, message: '支付方式必填' }]} | ||
1947 | + disabled={optType('after-sales-check') || paymentMethodDisabled} | ||
1948 | + fieldProps={{ | ||
1949 | + style: paymentMethodDisabled ? { backgroundColor: '#f5f5f5' } : {}, | ||
1950 | + }} | ||
1951 | + /> | ||
1899 | <ProFormSelect | 1952 | <ProFormSelect |
1900 | placeholder="请输入支付渠道" | 1953 | placeholder="请输入支付渠道" |
1901 | name="paymentChannel" | 1954 | name="paymentChannel" |
@@ -1934,7 +1987,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1934,7 +1987,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1934 | } | 1987 | } |
1935 | }} | 1988 | }} |
1936 | /> | 1989 | /> |
1937 | - <ProFormSelect | 1990 | + {/* <ProFormSelect |
1938 | placeholder="请输入支付方式" | 1991 | placeholder="请输入支付方式" |
1939 | name="paymentMethod" | 1992 | name="paymentMethod" |
1940 | width="lg" | 1993 | width="lg" |
@@ -1945,7 +1998,13 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1945,7 +1998,13 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1945 | }} | 1998 | }} |
1946 | options={[ | 1999 | options={[ |
1947 | // 默认可选项 | 2000 | // 默认可选项 |
1948 | - ...enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD), | 2001 | + ...enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD).map(option => { |
2002 | + // 将淘宝选项设置为禁用状态,使其无法手动选择 | ||
2003 | + if (option.value === 'PAYMENT_IN_TAOBAO') { | ||
2004 | + return { ...option, disabled: true }; | ||
2005 | + } | ||
2006 | + return option; | ||
2007 | + }), | ||
1949 | // 强制禁用项 | 2008 | // 强制禁用项 |
1950 | { label: '未付款', value: 'UNPAID', disabled: true }, | 2009 | { label: '未付款', value: 'UNPAID', disabled: true }, |
1951 | { | 2010 | { |
@@ -1981,7 +2040,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1981,7 +2040,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1981 | fieldProps={{ | 2040 | fieldProps={{ |
1982 | style: paymentMethodDisabled ? { backgroundColor: '#f5f5f5' } : {}, | 2041 | style: paymentMethodDisabled ? { backgroundColor: '#f5f5f5' } : {}, |
1983 | }} | 2042 | }} |
1984 | - /> | 2043 | + /> */} |
1985 | {/* 隐藏字段用于存储真实UID和privatePocket标志 */} | 2044 | {/* 隐藏字段用于存储真实UID和privatePocket标志 */} |
1986 | <ProFormText name="realPrepaidUid" hidden /> | 2045 | <ProFormText name="realPrepaidUid" hidden /> |
1987 | <ProFormText name="privatePocket" hidden /> | 2046 | <ProFormText name="privatePocket" hidden /> |
src/pages/Order/OrderList/OrderList.tsx
@@ -2752,7 +2752,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -2752,7 +2752,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
2752 | <div> | 2752 | <div> |
2753 | <span className="text-[#8C8C8C]">已回款金额:¥</span> | 2753 | <span className="text-[#8C8C8C]">已回款金额:¥</span> |
2754 | <span className="text-slate-700"> | 2754 | <span className="text-slate-700"> |
2755 | - {record.payedMoney || '0.00'} | 2755 | + {record.payedMoney || '-'} |
2756 | </span> | 2756 | </span> |
2757 | </div> | 2757 | </div> |
2758 | <Divider type="vertical" /> | 2758 | <Divider type="vertical" /> |
@@ -2761,7 +2761,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -2761,7 +2761,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
2761 | <div> | 2761 | <div> |
2762 | <span className="text-[#8C8C8C]">未回款金额:¥</span> | 2762 | <span className="text-[#8C8C8C]">未回款金额:¥</span> |
2763 | <span className="text-slate-700"> | 2763 | <span className="text-slate-700"> |
2764 | - {record.unPayedMoney || '0.00'} | 2764 | + {record.unPayedMoney || '-'} |
2765 | </span> | 2765 | </span> |
2766 | </div> | 2766 | </div> |
2767 | <Divider type="vertical" /> | 2767 | <Divider type="vertical" /> |
@@ -2770,7 +2770,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -2770,7 +2770,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
2770 | <div> | 2770 | <div> |
2771 | <span className="text-[#8C8C8C]">发票核销金额:¥</span> | 2771 | <span className="text-[#8C8C8C]">发票核销金额:¥</span> |
2772 | <span className="text-slate-700"> | 2772 | <span className="text-slate-700"> |
2773 | - {record.invoiceMoney || '0.00'} | 2773 | + {record.invoiceMoney || '-'} |
2774 | </span> | 2774 | </span> |
2775 | </div> | 2775 | </div> |
2776 | <Divider type="vertical" /> | 2776 | <Divider type="vertical" /> |
@@ -2852,7 +2852,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -2852,7 +2852,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
2852 | <div> | 2852 | <div> |
2853 | <span className="text-[#8C8C8C]">总金额:¥</span> | 2853 | <span className="text-[#8C8C8C]">总金额:¥</span> |
2854 | <span className="text-lg font-medium"> | 2854 | <span className="text-lg font-medium"> |
2855 | - {record.totalPayment} | 2855 | + {record.totalPayment || '-'} |
2856 | </span> | 2856 | </span> |
2857 | </div> | 2857 | </div> |
2858 | ) : ( | 2858 | ) : ( |
src/pages/Order/OrderList/PaymentRecordModal.tsx
@@ -20,6 +20,14 @@ interface PaymentRecord { | @@ -20,6 +20,14 @@ interface PaymentRecord { | ||
20 | paymentReceiptAnnexPartial: string | null; | 20 | paymentReceiptAnnexPartial: string | null; |
21 | } | 21 | } |
22 | 22 | ||
23 | +// Helper function to display dash for empty values | ||
24 | +const displayValue = (value: any, formatter?: (val: any) => string): string => { | ||
25 | + if (value === null || value === undefined || value === '') { | ||
26 | + return '-'; | ||
27 | + } | ||
28 | + return formatter ? formatter(value) : String(value); | ||
29 | +}; | ||
30 | + | ||
23 | const PaymentRecordModal: React.FC<PaymentRecordModalProps> = ({ | 31 | const PaymentRecordModal: React.FC<PaymentRecordModalProps> = ({ |
24 | visible, | 32 | visible, |
25 | mainOrderId, | 33 | mainOrderId, |
@@ -90,11 +98,14 @@ const PaymentRecordModal: React.FC<PaymentRecordModalProps> = ({ | @@ -90,11 +98,14 @@ const PaymentRecordModal: React.FC<PaymentRecordModalProps> = ({ | ||
90 | <div className="payment-record-content"> | 98 | <div className="payment-record-content"> |
91 | <div className="payment-record-info"> | 99 | <div className="payment-record-info"> |
92 | <p> | 100 | <p> |
93 | - <strong>提交时间:</strong> {record.createTime} | 101 | + <strong>提交时间:</strong>{' '} |
102 | + {displayValue(record.createTime)} | ||
94 | </p> | 103 | </p> |
95 | <p> | 104 | <p> |
96 | <strong>付款金额:</strong>{' '} | 105 | <strong>付款金额:</strong>{' '} |
97 | - {record.refundMoney.toFixed(2)} | 106 | + {displayValue(record.refundMoney, (val) => |
107 | + val.toFixed(2), | ||
108 | + )} | ||
98 | </p> | 109 | </p> |
99 | {imageUrls.length > 0 && ( | 110 | {imageUrls.length > 0 && ( |
100 | <p> | 111 | <p> |
src/pages/Order/OrderList/UploadPayBillModal.tsx
@@ -217,7 +217,10 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | @@ -217,7 +217,10 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | ||
217 | onOpenChange={setVisible} | 217 | onOpenChange={setVisible} |
218 | > | 218 | > |
219 | <div className="pb-4 text-base font-medium"> | 219 | <div className="pb-4 text-base font-medium"> |
220 | - 付款金额:¥{mainOrder?.totalPayment?.toLocaleString() || '0.00'} | 220 | + 付款金额:¥ |
221 | + {mainOrder?.totalPayment | ||
222 | + ? mainOrder.totalPayment.toLocaleString() | ||
223 | + : '-'} | ||
221 | </div> | 224 | </div> |
222 | <div className="flex items-start pb-4 text-base font-medium"> | 225 | <div className="flex items-start pb-4 text-base font-medium"> |
223 | <div>付款凭证:</div> | 226 | <div>付款凭证:</div> |
src/pages/Order/constant.ts
@@ -200,6 +200,12 @@ export const PAYMENT_RECEIPTS_STATUS_OPTIONS = { | @@ -200,6 +200,12 @@ export const PAYMENT_RECEIPTS_STATUS_OPTIONS = { | ||
200 | PARTIAL_RECEIVED: '待提交', | 200 | PARTIAL_RECEIVED: '待提交', |
201 | }; | 201 | }; |
202 | 202 | ||
203 | +export const PAYMENT_AUDIT_STATUS_OPTIONS = { | ||
204 | + WAIT_PAYMENT: '待付款', | ||
205 | + PARTIAL_PAYMENT: '部分付款', | ||
206 | + COMPLETE_PAYMENT: '已付款', | ||
207 | +}; | ||
208 | + | ||
203 | export const ORDER_STATUS_OPTIONS = { | 209 | export const ORDER_STATUS_OPTIONS = { |
204 | WAIT_CONFIRM_DELIVER_AFTER_INVOICE: '待开票后确认发货', | 210 | WAIT_CONFIRM_DELIVER_AFTER_INVOICE: '待开票后确认发货', |
205 | SALES_CONFIRM: '销售待确认', | 211 | SALES_CONFIRM: '销售待确认', |
@@ -599,6 +605,13 @@ export const MAIN_ORDER_COLUMNS = [ | @@ -599,6 +605,13 @@ export const MAIN_ORDER_COLUMNS = [ | ||
599 | valueEnum: enumToProTableEnumValue(ORDER_STATUS_OPTIONS), | 605 | valueEnum: enumToProTableEnumValue(ORDER_STATUS_OPTIONS), |
600 | }, | 606 | }, |
601 | { | 607 | { |
608 | + title: '付款状态', | ||
609 | + dataIndex: 'paymentAuditStatus', | ||
610 | + valueType: 'select', | ||
611 | + hideInTable: true, | ||
612 | + valueEnum: enumToProTableEnumValue(PAYMENT_AUDIT_STATUS_OPTIONS), | ||
613 | + }, | ||
614 | + { | ||
602 | title: '修改审核状态', | 615 | title: '修改审核状态', |
603 | dataIndex: 'modifiedAuditStatus', | 616 | dataIndex: 'modifiedAuditStatus', |
604 | valueType: 'select', | 617 | valueType: 'select', |