Commit d91e16c7481cc854e392acf23a05206c676d07f0

Authored by boyang
2 parents 9dfbf7be 0f2095b0

Merge branch 'bugfix-250603' into 'master'

fix: 修改预存账号选择器bug



See merge request !48
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 /**
... ... @@ -938,19 +962,26 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
938 962 values.paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT' &&
939 963 values.prepaidUid
940 964 ) {
941   - console.log('5656原始表单数据:', {
942   - prepaidUid: values.prepaidUid,
943   - realPrepaidUid: values.realPrepaidUid,
944   - privatePocket: values.privatePocket,
945   - });
946   -
947 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 986 // 确保privatePocket字段被正确设置
956 987 // 表单中存储的是字符串'true'或'false',需要转换成布尔值
... ... @@ -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 1003 if (optType('add') || optType('copy')) {
975 1004 res = await postServiceOrderAddOrder({ data: values });
... ... @@ -1798,9 +1827,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1798 1827 showSearch
1799 1828 label="预存账号"
1800 1829 onChange={async (value: any, option: any) => {
1801   - console.log(value, '5656value');
1802   - console.log(option, '5656option');
1803   -
1804 1830 if (!option) {
1805 1831 form.setFieldValue('prepaidUid', undefined);
1806 1832 form.setFieldValue('privatePocket', false);
... ...