Commit 213be1c99e9a286f41ea592cf9fe2b836180d1e0
Merge branch 'dev' into 'feature-installment'
Dev See merge request !49
Showing
2 changed files
with
59 additions
and
21 deletions
src/pages/Order/OrderList/OrderDrawer.tsx
... | ... | @@ -250,6 +250,30 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
250 | 250 | |
251 | 251 | console.log(newAccountOptions); |
252 | 252 | setAccountOptions(newAccountOptions); |
253 | + | |
254 | + // 如果privatePocket为true且有隐私钱包选项,自动选择隐私钱包 | |
255 | + if (copyData.privatePocket === true || copyData.privatePocket === 'true') { | |
256 | + console.log('检测到privatePocket为true,尝试自动选择隐私钱包'); | |
257 | + | |
258 | + // 查找隐私钱包选项 | |
259 | + const privacyWalletOption = newAccountOptions.find( | |
260 | + (option) => option.institution === '隐私钱包', | |
261 | + ); | |
262 | + | |
263 | + if (privacyWalletOption) { | |
264 | + // 找到了隐私钱包选项,获取其索引 | |
265 | + const index = newAccountOptions.indexOf(privacyWalletOption); | |
266 | + // 构造包含索引的value值 (与ProFormSelect的options映射保持一致) | |
267 | + const valueWithIndex = `${privacyWalletOption.value}_${index}`; | |
268 | + | |
269 | + // 设置表单字段值 | |
270 | + form.setFieldValue('prepaidUid', valueWithIndex); | |
271 | + form.setFieldValue('realPrepaidUid', privacyWalletOption.uid); | |
272 | + form.setFieldValue('privatePocket', 'true'); | |
273 | + } else { | |
274 | + console.log('未找到可用的隐私钱包选项'); | |
275 | + } | |
276 | + } | |
253 | 277 | } |
254 | 278 | |
255 | 279 | /** |
... | ... | @@ -933,24 +957,35 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
933 | 957 | values.erpCustomerId = values.erpCustomerId?.id; |
934 | 958 | } |
935 | 959 | |
960 | + values.province = province; | |
961 | + values.city = city; | |
962 | + values.district = district; | |
963 | + | |
936 | 964 | // Handle the prepaidUid and privatePocket values for API submission |
937 | 965 | if ( |
938 | 966 | values.paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT' && |
939 | 967 | values.prepaidUid |
940 | 968 | ) { |
941 | - console.log('5656原始表单数据:', { | |
942 | - prepaidUid: values.prepaidUid, | |
943 | - realPrepaidUid: values.realPrepaidUid, | |
944 | - privatePocket: values.privatePocket, | |
945 | - }); | |
946 | - | |
947 | 969 | // 从选项值中提取原始UID (不包含索引后缀) |
948 | - const prepaidUidParts = values.prepaidUid.split('_'); | |
949 | - if (prepaidUidParts.length > 0) { | |
950 | - // 直接使用第一部分作为实际UID值 (不使用realPrepaidUid) | |
951 | - values.prepaidUid = parseInt(prepaidUidParts[0], 10); | |
952 | - console.log('5656使用原始UID进行API提交:', values.prepaidUid); | |
970 | + // 检查prepaidUid是否为字符串类型并包含下划线 | |
971 | + if ( | |
972 | + values.prepaidUid && | |
973 | + typeof values.prepaidUid === 'string' && | |
974 | + values.prepaidUid.includes('_') | |
975 | + ) { | |
976 | + const prepaidUidParts = values.prepaidUid.split('_'); | |
977 | + if (prepaidUidParts.length > 0) { | |
978 | + // 直接使用第一部分作为实际UID值 (不使用realPrepaidUid) | |
979 | + values.prepaidUid = parseInt(prepaidUidParts[0], 10); | |
980 | + } | |
981 | + } else if ( | |
982 | + values.prepaidUid && | |
983 | + typeof values.prepaidUid === 'string' | |
984 | + ) { | |
985 | + // 处理纯字符串情况 (没有索引后缀) | |
986 | + values.prepaidUid = parseInt(values.prepaidUid, 10); | |
953 | 987 | } |
988 | + // 如果是数字类型,则无需处理 | |
954 | 989 | |
955 | 990 | // 确保privatePocket字段被正确设置 |
956 | 991 | // 表单中存储的是字符串'true'或'false',需要转换成布尔值 |
... | ... | @@ -968,8 +1003,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
968 | 1003 | }); |
969 | 1004 | } |
970 | 1005 | |
971 | - console.log(values, '5656values'); | |
972 | - | |
973 | 1006 | //新增 |
974 | 1007 | if (optType('add') || optType('copy')) { |
975 | 1008 | res = await postServiceOrderAddOrder({ data: values }); |
... | ... | @@ -1102,7 +1135,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1102 | 1135 | autoFillSalesInfo(option); |
1103 | 1136 | |
1104 | 1137 | // 检查是否是特殊的淘宝销售代码 |
1105 | - const isTaobaoSalesCode = ['TB', 'TBHC', 'HCTB'].includes(value); | |
1138 | + const isTaobaoSalesCode = ['TB', 'TBC', 'HCTB'].includes(value); | |
1106 | 1139 | |
1107 | 1140 | if (isTaobaoSalesCode) { |
1108 | 1141 | // 设置支付渠道为淘宝并锁定 |
... | ... | @@ -1802,8 +1835,16 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1802 | 1835 | rules={[{ required: true, message: '支付渠道必填' }]} |
1803 | 1836 | disabled={optType('after-sales-check') || paymentChannelDisabled} |
1804 | 1837 | onChange={(val: any) => { |
1805 | - // 当支付渠道选为扣预存或淘宝时,付款方式默认锁定为预付 | |
1806 | - if (val === 'BALANCE' || val === 'TAOBAO') { | |
1838 | + // 根据支付渠道设置不同的支付方式 | |
1839 | + if (val === 'BALANCE') { | |
1840 | + // 支付渠道为扣预存时,支付方式设置为扣预存 | |
1841 | + setPaymentMethodDisabled(true); | |
1842 | + form.setFieldsValue({ | |
1843 | + paymentMethod: 'WITHHOLDING_ADVANCE_DEPOSIT', | |
1844 | + }); | |
1845 | + setPaymentMethod('WITHHOLDING_ADVANCE_DEPOSIT'); | |
1846 | + } else if (val === 'TAOBAO') { | |
1847 | + // 支付渠道为淘宝时,支付方式设置为预付 | |
1807 | 1848 | setPaymentMethodDisabled(true); |
1808 | 1849 | form.setFieldsValue({ paymentMethod: 'PAYMENT_IN_ADVANCE' }); |
1809 | 1850 | setPaymentMethod('PAYMENT_IN_ADVANCE'); |
... | ... | @@ -1838,7 +1879,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1838 | 1879 | disabled: true, |
1839 | 1880 | }, |
1840 | 1881 | { |
1841 | - label: '扣预存', | |
1882 | + label: '预付', | |
1842 | 1883 | value: 'WITHHOLDING_ADVANCE_DEPOSIT', |
1843 | 1884 | disabled: true, |
1844 | 1885 | }, |
... | ... | @@ -1865,9 +1906,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1865 | 1906 | showSearch |
1866 | 1907 | label="预存账号" |
1867 | 1908 | onChange={async (value: any, option: any) => { |
1868 | - console.log(value, '5656value'); | |
1869 | - console.log(option, '5656option'); | |
1870 | - | |
1871 | 1909 | if (!option) { |
1872 | 1910 | form.setFieldValue('prepaidUid', undefined); |
1873 | 1911 | form.setFieldValue('privatePocket', false); | ... | ... |
src/pages/Order/constant.ts
... | ... | @@ -28,7 +28,7 @@ export const PAYMENT_METHOD_OPTIONS = { |
28 | 28 | TAOBAO_ORDER_HAS_BEEN_PAID: '淘宝订单已付款', |
29 | 29 | OFFICIAL_WEBSITE_ORDER_HAS_BEEN_PAID: '官网订单已付款', |
30 | 30 | PAYMENT_IN_ADVANCE: '预付款', |
31 | - WITHHOLDING_ADVANCE_DEPOSIT: '扣预存', | |
31 | + WITHHOLDING_ADVANCE_DEPOSIT: '预付', | |
32 | 32 | PLATFORM_SETTLEMENT: '平台结算', |
33 | 33 | CASH_ON_DELIVERY: '货到付款', |
34 | 34 | HIRE_PURCHASE: '分期付款', | ... | ... |