Commit 28404b757a633d72aaa5819aa62b4631f5b32418
1 parent
fe98caf8
fix: 修改淘宝选择器
Showing
1 changed file
with
81 additions
and
27 deletions
src/pages/Order/OrderList/OrderDrawer.tsx
... | ... | @@ -437,6 +437,30 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
437 | 437 | if (optType('add')) { |
438 | 438 | form.resetFields(['list']); |
439 | 439 | } |
440 | + | |
441 | + // 如果是复制操作,检查销售代码是否为淘宝相关代码 | |
442 | + if (optType('copy')) { | |
443 | + const salesCode = data?.salesCode; | |
444 | + const isTaobaoSalesCode = [ | |
445 | + 'TB', | |
446 | + 'TBC', | |
447 | + 'HCTB', | |
448 | + '淘宝', | |
449 | + 'TAOBAO', | |
450 | + ].includes(salesCode); | |
451 | + | |
452 | + if (isTaobaoSalesCode) { | |
453 | + // 锁定支付渠道和支付方式,但保留原有值 | |
454 | + setPaymentChannelDisabled(true); | |
455 | + setPaymentMethodDisabled(true); | |
456 | + | |
457 | + // 确保控制台日志 | |
458 | + console.log('复制淘宝订单,锁定支付渠道和支付方式:', { | |
459 | + paymentChannel: data?.paymentChannel, | |
460 | + paymentMethod: data?.paymentMethod, | |
461 | + }); | |
462 | + } | |
463 | + } | |
440 | 464 | }, [data]); |
441 | 465 | |
442 | 466 | /** |
... | ... | @@ -1152,37 +1176,61 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1152 | 1176 | autoFillSalesInfo(option); |
1153 | 1177 | |
1154 | 1178 | // 检查是否是特殊的淘宝销售代码 |
1155 | - const isTaobaoSalesCode = ['TB', 'TBC', 'HCTB', '淘宝'].includes( | |
1156 | - value, | |
1157 | - ); | |
1158 | - | |
1159 | - // 清空支付渠道和支付方式 | |
1160 | - form.setFieldsValue({ | |
1161 | - paymentChannel: undefined, | |
1162 | - paymentMethod: undefined, | |
1163 | - }); | |
1164 | - | |
1165 | - // 重置支付渠道和支付方式的禁用状态 | |
1166 | - setPaymentChannelDisabled(false); | |
1167 | - setPaymentMethodDisabled(false); | |
1168 | - | |
1169 | - if (isTaobaoSalesCode) { | |
1170 | - // 设置支付渠道为淘宝并锁定 | |
1171 | - form.setFieldsValue({ paymentChannel: 'TAOBAO' }); | |
1179 | + const isTaobaoSalesCode = [ | |
1180 | + 'TB', | |
1181 | + 'TBC', | |
1182 | + 'HCTB', | |
1183 | + '淘宝', | |
1184 | + 'TAOBAO', | |
1185 | + ].includes(value); | |
1186 | + | |
1187 | + // 如果是复制操作且是淘宝销售代码,锁定支付方式和支付渠道,不清空值 | |
1188 | + if (optType('copy') && isTaobaoSalesCode) { | |
1189 | + // 保留当前的支付渠道和支付方式值,只锁定选择器 | |
1172 | 1190 | setPaymentChannelDisabled(true); |
1173 | - | |
1174 | - // 支付方式默认锁定为预付 | |
1175 | - form.setFieldsValue({ paymentMethod: 'PAYMENT_IN_ADVANCE' }); | |
1176 | - setPaymentMethod('PAYMENT_IN_ADVANCE'); | |
1177 | 1191 | setPaymentMethodDisabled(true); |
1178 | - } else { | |
1179 | - // 如果不是淘宝销售代码,解除锁定 | |
1180 | - setPaymentChannelDisabled(false); | |
1181 | - // 只有当前支付渠道不是扣预存时才解除付款方式的锁定 | |
1192 | + | |
1193 | + // 如果当前没有值,则设置默认值 | |
1182 | 1194 | const currentPaymentChannel = |
1183 | 1195 | form.getFieldValue('paymentChannel'); |
1184 | - if (currentPaymentChannel !== 'BALANCE') { | |
1185 | - setPaymentMethodDisabled(false); | |
1196 | + if (!currentPaymentChannel) { | |
1197 | + form.setFieldsValue({ paymentChannel: 'TAOBAO' }); | |
1198 | + } | |
1199 | + | |
1200 | + const currentPaymentMethod = form.getFieldValue('paymentMethod'); | |
1201 | + if (!currentPaymentMethod) { | |
1202 | + form.setFieldsValue({ paymentMethod: 'PAYMENT_IN_ADVANCE' }); | |
1203 | + setPaymentMethod('PAYMENT_IN_ADVANCE'); | |
1204 | + } | |
1205 | + } else if (!optType('copy')) { | |
1206 | + // 非复制操作时,清空支付渠道和支付方式 | |
1207 | + form.setFieldsValue({ | |
1208 | + paymentChannel: undefined, | |
1209 | + paymentMethod: undefined, | |
1210 | + }); | |
1211 | + | |
1212 | + // 重置支付渠道和支付方式的禁用状态 | |
1213 | + setPaymentChannelDisabled(false); | |
1214 | + setPaymentMethodDisabled(false); | |
1215 | + | |
1216 | + if (isTaobaoSalesCode) { | |
1217 | + // 设置支付渠道为淘宝并锁定 | |
1218 | + form.setFieldsValue({ paymentChannel: 'TAOBAO' }); | |
1219 | + setPaymentChannelDisabled(true); | |
1220 | + | |
1221 | + // 支付方式默认锁定为预付 | |
1222 | + form.setFieldsValue({ paymentMethod: 'PAYMENT_IN_ADVANCE' }); | |
1223 | + setPaymentMethod('PAYMENT_IN_ADVANCE'); | |
1224 | + setPaymentMethodDisabled(true); | |
1225 | + } else { | |
1226 | + // 如果不是淘宝销售代码,解除锁定 | |
1227 | + setPaymentChannelDisabled(false); | |
1228 | + // 只有当前支付渠道不是扣预存时才解除付款方式的锁定 | |
1229 | + const currentPaymentChannel = | |
1230 | + form.getFieldValue('paymentChannel'); | |
1231 | + if (currentPaymentChannel !== 'BALANCE') { | |
1232 | + setPaymentMethodDisabled(false); | |
1233 | + } | |
1186 | 1234 | } |
1187 | 1235 | } |
1188 | 1236 | }} |
... | ... | @@ -1863,6 +1911,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1863 | 1911 | })} |
1864 | 1912 | rules={[{ required: true, message: '支付渠道必填' }]} |
1865 | 1913 | disabled={optType('after-sales-check') || paymentChannelDisabled} |
1914 | + fieldProps={{ | |
1915 | + style: paymentChannelDisabled ? { backgroundColor: '#f5f5f5' } : {}, | |
1916 | + }} | |
1866 | 1917 | onChange={(val: any) => { |
1867 | 1918 | // 根据支付渠道设置不同的支付方式 |
1868 | 1919 | if (val === 'BALANCE') { |
... | ... | @@ -1927,6 +1978,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1927 | 1978 | ]} |
1928 | 1979 | rules={[{ required: true, message: '支付方式必填' }]} |
1929 | 1980 | disabled={optType('after-sales-check') || paymentMethodDisabled} |
1981 | + fieldProps={{ | |
1982 | + style: paymentMethodDisabled ? { backgroundColor: '#f5f5f5' } : {}, | |
1983 | + }} | |
1930 | 1984 | /> |
1931 | 1985 | {/* 隐藏字段用于存储真实UID和privatePocket标志 */} |
1932 | 1986 | <ProFormText name="realPrepaidUid" hidden /> | ... | ... |