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,6 +437,30 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
437 | if (optType('add')) { | 437 | if (optType('add')) { |
438 | form.resetFields(['list']); | 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 | }, [data]); | 464 | }, [data]); |
441 | 465 | ||
442 | /** | 466 | /** |
@@ -1152,37 +1176,61 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1152,37 +1176,61 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1152 | autoFillSalesInfo(option); | 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 | setPaymentChannelDisabled(true); | 1190 | setPaymentChannelDisabled(true); |
1173 | - | ||
1174 | - // 支付方式默认锁定为预付 | ||
1175 | - form.setFieldsValue({ paymentMethod: 'PAYMENT_IN_ADVANCE' }); | ||
1176 | - setPaymentMethod('PAYMENT_IN_ADVANCE'); | ||
1177 | setPaymentMethodDisabled(true); | 1191 | setPaymentMethodDisabled(true); |
1178 | - } else { | ||
1179 | - // 如果不是淘宝销售代码,解除锁定 | ||
1180 | - setPaymentChannelDisabled(false); | ||
1181 | - // 只有当前支付渠道不是扣预存时才解除付款方式的锁定 | 1192 | + |
1193 | + // 如果当前没有值,则设置默认值 | ||
1182 | const currentPaymentChannel = | 1194 | const currentPaymentChannel = |
1183 | form.getFieldValue('paymentChannel'); | 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,6 +1911,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1863 | })} | 1911 | })} |
1864 | rules={[{ required: true, message: '支付渠道必填' }]} | 1912 | rules={[{ required: true, message: '支付渠道必填' }]} |
1865 | disabled={optType('after-sales-check') || paymentChannelDisabled} | 1913 | disabled={optType('after-sales-check') || paymentChannelDisabled} |
1914 | + fieldProps={{ | ||
1915 | + style: paymentChannelDisabled ? { backgroundColor: '#f5f5f5' } : {}, | ||
1916 | + }} | ||
1866 | onChange={(val: any) => { | 1917 | onChange={(val: any) => { |
1867 | // 根据支付渠道设置不同的支付方式 | 1918 | // 根据支付渠道设置不同的支付方式 |
1868 | if (val === 'BALANCE') { | 1919 | if (val === 'BALANCE') { |
@@ -1927,6 +1978,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1927,6 +1978,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1927 | ]} | 1978 | ]} |
1928 | rules={[{ required: true, message: '支付方式必填' }]} | 1979 | rules={[{ required: true, message: '支付方式必填' }]} |
1929 | disabled={optType('after-sales-check') || paymentMethodDisabled} | 1980 | disabled={optType('after-sales-check') || paymentMethodDisabled} |
1981 | + fieldProps={{ | ||
1982 | + style: paymentMethodDisabled ? { backgroundColor: '#f5f5f5' } : {}, | ||
1983 | + }} | ||
1930 | /> | 1984 | /> |
1931 | {/* 隐藏字段用于存储真实UID和privatePocket标志 */} | 1985 | {/* 隐藏字段用于存储真实UID和privatePocket标志 */} |
1932 | <ProFormText name="realPrepaidUid" hidden /> | 1986 | <ProFormText name="realPrepaidUid" hidden /> |