Commit d91e16c7481cc854e392acf23a05206c676d07f0
Merge branch 'bugfix-250603' into 'master'
fix: 修改预存账号选择器bug See merge request !48
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,6 +248,30 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
248 | 248 | ||
249 | console.log(newAccountOptions); | 249 | console.log(newAccountOptions); |
250 | setAccountOptions(newAccountOptions); | 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 | /** |
@@ -938,19 +962,26 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -938,19 +962,26 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
938 | values.paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT' && | 962 | values.paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT' && |
939 | values.prepaidUid | 963 | values.prepaidUid |
940 | ) { | 964 | ) { |
941 | - console.log('5656原始表单数据:', { | ||
942 | - prepaidUid: values.prepaidUid, | ||
943 | - realPrepaidUid: values.realPrepaidUid, | ||
944 | - privatePocket: values.privatePocket, | ||
945 | - }); | ||
946 | - | ||
947 | // 从选项值中提取原始UID (不包含索引后缀) | 965 | // 从选项值中提取原始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); | 966 | + // 检查prepaidUid是否为字符串类型并包含下划线 |
967 | + if ( | ||
968 | + values.prepaidUid && | ||
969 | + typeof values.prepaidUid === 'string' && | ||
970 | + values.prepaidUid.includes('_') | ||
971 | + ) { | ||
972 | + const prepaidUidParts = values.prepaidUid.split('_'); | ||
973 | + if (prepaidUidParts.length > 0) { | ||
974 | + // 直接使用第一部分作为实际UID值 (不使用realPrepaidUid) | ||
975 | + values.prepaidUid = parseInt(prepaidUidParts[0], 10); | ||
976 | + } | ||
977 | + } else if ( | ||
978 | + values.prepaidUid && | ||
979 | + typeof values.prepaidUid === 'string' | ||
980 | + ) { | ||
981 | + // 处理纯字符串情况 (没有索引后缀) | ||
982 | + values.prepaidUid = parseInt(values.prepaidUid, 10); | ||
953 | } | 983 | } |
984 | + // 如果是数字类型,则无需处理 | ||
954 | 985 | ||
955 | // 确保privatePocket字段被正确设置 | 986 | // 确保privatePocket字段被正确设置 |
956 | // 表单中存储的是字符串'true'或'false',需要转换成布尔值 | 987 | // 表单中存储的是字符串'true'或'false',需要转换成布尔值 |
@@ -968,8 +999,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -968,8 +999,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
968 | }); | 999 | }); |
969 | } | 1000 | } |
970 | 1001 | ||
971 | - console.log(values, '5656values'); | ||
972 | - | ||
973 | //新增 | 1002 | //新增 |
974 | if (optType('add') || optType('copy')) { | 1003 | if (optType('add') || optType('copy')) { |
975 | res = await postServiceOrderAddOrder({ data: values }); | 1004 | res = await postServiceOrderAddOrder({ data: values }); |
@@ -1798,9 +1827,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1798,9 +1827,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1798 | showSearch | 1827 | showSearch |
1799 | label="预存账号" | 1828 | label="预存账号" |
1800 | onChange={async (value: any, option: any) => { | 1829 | onChange={async (value: any, option: any) => { |
1801 | - console.log(value, '5656value'); | ||
1802 | - console.log(option, '5656option'); | ||
1803 | - | ||
1804 | if (!option) { | 1830 | if (!option) { |
1805 | form.setFieldValue('prepaidUid', undefined); | 1831 | form.setFieldValue('prepaidUid', undefined); |
1806 | form.setFieldValue('privatePocket', false); | 1832 | form.setFieldValue('privatePocket', false); |