Commit 0f2095b0258920146c27caf562eecfbdb0a867cd
1 parent
c2051725
fix: 修改预存账号选择器bug
Showing
1 changed file
with
42 additions
and
16 deletions
src/pages/Order/OrderList/OrderDrawer.tsx
... | ... | @@ -248,6 +248,30 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
248 | 248 | |
249 | 249 | console.log(newAccountOptions); |
250 | 250 | setAccountOptions(newAccountOptions); |
251 | + | |
252 | + // 如果privatePocket为true且有隐私钱包选项,自动选择隐私钱包 | |
253 | + if (copyData.privatePocket === true || copyData.privatePocket === 'true') { | |
254 | + console.log('检测到privatePocket为true,尝试自动选择隐私钱包'); | |
255 | + | |
256 | + // 查找隐私钱包选项 | |
257 | + const privacyWalletOption = newAccountOptions.find( | |
258 | + (option) => option.institution === '隐私钱包', | |
259 | + ); | |
260 | + | |
261 | + if (privacyWalletOption) { | |
262 | + // 找到了隐私钱包选项,获取其索引 | |
263 | + const index = newAccountOptions.indexOf(privacyWalletOption); | |
264 | + // 构造包含索引的value值 (与ProFormSelect的options映射保持一致) | |
265 | + const valueWithIndex = `${privacyWalletOption.value}_${index}`; | |
266 | + | |
267 | + // 设置表单字段值 | |
268 | + form.setFieldValue('prepaidUid', valueWithIndex); | |
269 | + form.setFieldValue('realPrepaidUid', privacyWalletOption.uid); | |
270 | + form.setFieldValue('privatePocket', 'true'); | |
271 | + } else { | |
272 | + console.log('未找到可用的隐私钱包选项'); | |
273 | + } | |
274 | + } | |
251 | 275 | } |
252 | 276 | |
253 | 277 | /** |
... | ... | @@ -936,19 +960,26 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
936 | 960 | values.paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT' && |
937 | 961 | values.prepaidUid |
938 | 962 | ) { |
939 | - console.log('5656原始表单数据:', { | |
940 | - prepaidUid: values.prepaidUid, | |
941 | - realPrepaidUid: values.realPrepaidUid, | |
942 | - privatePocket: values.privatePocket, | |
943 | - }); | |
944 | - | |
945 | 963 | // 从选项值中提取原始UID (不包含索引后缀) |
946 | - const prepaidUidParts = values.prepaidUid.split('_'); | |
947 | - if (prepaidUidParts.length > 0) { | |
948 | - // 直接使用第一部分作为实际UID值 (不使用realPrepaidUid) | |
949 | - values.prepaidUid = parseInt(prepaidUidParts[0], 10); | |
950 | - console.log('5656使用原始UID进行API提交:', values.prepaidUid); | |
964 | + // 检查prepaidUid是否为字符串类型并包含下划线 | |
965 | + if ( | |
966 | + values.prepaidUid && | |
967 | + typeof values.prepaidUid === 'string' && | |
968 | + values.prepaidUid.includes('_') | |
969 | + ) { | |
970 | + const prepaidUidParts = values.prepaidUid.split('_'); | |
971 | + if (prepaidUidParts.length > 0) { | |
972 | + // 直接使用第一部分作为实际UID值 (不使用realPrepaidUid) | |
973 | + values.prepaidUid = parseInt(prepaidUidParts[0], 10); | |
974 | + } | |
975 | + } else if ( | |
976 | + values.prepaidUid && | |
977 | + typeof values.prepaidUid === 'string' | |
978 | + ) { | |
979 | + // 处理纯字符串情况 (没有索引后缀) | |
980 | + values.prepaidUid = parseInt(values.prepaidUid, 10); | |
951 | 981 | } |
982 | + // 如果是数字类型,则无需处理 | |
952 | 983 | |
953 | 984 | // 确保privatePocket字段被正确设置 |
954 | 985 | // 表单中存储的是字符串'true'或'false',需要转换成布尔值 |
... | ... | @@ -966,8 +997,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
966 | 997 | }); |
967 | 998 | } |
968 | 999 | |
969 | - console.log(values, '5656values'); | |
970 | - | |
971 | 1000 | //新增 |
972 | 1001 | if (optType('add') || optType('copy')) { |
973 | 1002 | res = await postServiceOrderAddOrder({ data: values }); |
... | ... | @@ -1796,9 +1825,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1796 | 1825 | showSearch |
1797 | 1826 | label="预存账号" |
1798 | 1827 | onChange={async (value: any, option: any) => { |
1799 | - console.log(value, '5656value'); | |
1800 | - console.log(option, '5656option'); | |
1801 | - | |
1802 | 1828 | if (!option) { |
1803 | 1829 | form.setFieldValue('prepaidUid', undefined); |
1804 | 1830 | form.setFieldValue('privatePocket', false); | ... | ... |