Commit 0f2095b0258920146c27caf562eecfbdb0a867cd

Authored by boyang
1 parent c2051725

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

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);
... ...