Commit ffaee2fc7d680f494e6e6dd48952a71cb8f09804

Authored by boyang
1 parent 8a7c2431

feat: 修改创建订单探查滚

src/pages/Order/OrderList/OrderDrawer.tsx
... ... @@ -75,6 +75,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
75 75 const [kingdeeCstomerModalVisible, setKingdeeCstomerModalVisible] =
76 76 useState(false);
77 77 const [paymentMethod, setPaymentMethod] = useState('');
  78 + const [paymentMethodDisabled, setPaymentMethodDisabled] = useState(false);
  79 + const [paymentChannelDisabled, setPaymentChannelDisabled] = useState(false);
78 80 const [customerRequestCount, setCustomerRequestCount] = useState(0);
79 81 const [
80 82 productParametersDisabledFlagList,
... ... @@ -1096,8 +1098,31 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1096 1098 placeholder="请输入销售代表"
1097 1099 rules={[{ required: true, message: '销售代表必填' }]}
1098 1100 options={salesCodeOptions}
1099   - onChange={(_, option) => {
  1101 + onChange={(value, option) => {
1100 1102 autoFillSalesInfo(option);
  1103 +
  1104 + // 检查是否是特殊的淘宝销售代码
  1105 + const isTaobaoSalesCode = ['TB', 'TBHC', 'HCTB'].includes(value);
  1106 +
  1107 + if (isTaobaoSalesCode) {
  1108 + // 设置支付渠道为淘宝并锁定
  1109 + form.setFieldsValue({ paymentChannel: 'TAOBAO' });
  1110 + setPaymentChannelDisabled(true);
  1111 +
  1112 + // 支付方式默认锁定为预付
  1113 + form.setFieldsValue({ paymentMethod: 'PAYMENT_IN_ADVANCE' });
  1114 + setPaymentMethod('PAYMENT_IN_ADVANCE');
  1115 + setPaymentMethodDisabled(true);
  1116 + } else {
  1117 + // 如果不是淘宝销售代码,解除锁定
  1118 + setPaymentChannelDisabled(false);
  1119 + // 只有当前支付渠道不是扣预存时才解除付款方式的锁定
  1120 + const currentPaymentChannel =
  1121 + form.getFieldValue('paymentChannel');
  1122 + if (currentPaymentChannel !== 'BALANCE') {
  1123 + setPaymentMethodDisabled(false);
  1124 + }
  1125 + }
1101 1126 }}
1102 1127 disabled={optType('after-sales-check')}
1103 1128 />
... ... @@ -1769,7 +1794,18 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1769 1794 label="支付渠道"
1770 1795 options={enumToSelect(PAYMENT_CHANNEL_OPTIONS)}
1771 1796 rules={[{ required: true, message: '支付渠道必填' }]}
1772   - disabled={optType('after-sales-check')}
  1797 + disabled={optType('after-sales-check') || paymentChannelDisabled}
  1798 + onChange={(val: any) => {
  1799 + // 当支付渠道选为扣预存或淘宝时,付款方式默认锁定为预付
  1800 + if (val === 'BALANCE' || val === 'TAOBAO') {
  1801 + setPaymentMethodDisabled(true);
  1802 + form.setFieldsValue({ paymentMethod: 'PAYMENT_IN_ADVANCE' });
  1803 + setPaymentMethod('PAYMENT_IN_ADVANCE');
  1804 + } else {
  1805 + // 支付渠道修改为其他的去除锁定状态
  1806 + setPaymentMethodDisabled(false);
  1807 + }
  1808 + }}
1773 1809 />
1774 1810 <ProFormSelect
1775 1811 placeholder="请输入支付方式"
... ... @@ -1782,7 +1818,7 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1782 1818 }}
1783 1819 options={enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD)}
1784 1820 rules={[{ required: true, message: '支付方式必填' }]}
1785   - disabled={optType('after-sales-check')}
  1821 + disabled={optType('after-sales-check') || paymentMethodDisabled}
1786 1822 />
1787 1823 {/* 隐藏字段用于存储真实UID和privatePocket标志 */}
1788 1824 <ProFormText name="realPrepaidUid" hidden />
... ...
src/pages/Order/constant.ts
... ... @@ -7,11 +7,13 @@ import { getReceivingCompanyOptions, isSupplier } from &#39;@/utils/order&#39;;
7 7 export const COMFIR_RECEIPT_IMAGES_NUMBER = 3;
8 8  
9 9 export const PAYMENT_CHANNEL_OPTIONS = {
10   - ALIPAY: '支付宝',
11   - WECHAT: '微信',
12 10 BANK_TRANSFER: '银行转账',
13   - BALANCE: '预存款',
14   - OFFLINE: '线下付款',
  11 + WECHAT: '微信支付',
  12 + ALIPAY: '支付宝支付',
  13 + BALANCE: '扣预存',
  14 + PLATFORM: '平台结算',
  15 + OFFLINE: '线下支付',
  16 + TAOBAO: '淘宝',
15 17 };
16 18  
17 19 export const RECEIPTS_RECORD_TYPES = {
... ... @@ -35,15 +37,9 @@ export const PAYMENT_METHOD_OPTIONS = {
35 37 };
36 38  
37 39 export const PAYMENT_METHOD_OPTIONS_4_ADD = {
38   - UNPAID: '未付款',
39   - TAOBAO_ORDER_HAS_BEEN_PAID: '淘宝订单已付款',
40   - OFFICIAL_WEBSITE_ORDER_HAS_BEEN_PAID: '官网订单已付款',
41   - PAYMENT_IN_ADVANCE: '预付款',
42   - WITHHOLDING_ADVANCE_DEPOSIT: '扣预存',
43   - PLATFORM_SETTLEMENT: '平台结算',
  40 + PAYMENT_IN_ADVANCE: '预付',
44 41 CASH_ON_DELIVERY: '货到付款',
45 42 HIRE_PURCHASE: '分期付款',
46   - PREPAID_NO_NEED_SEND: '预存款无需发货',
47 43 };
48 44  
49 45 export const PRODUCT_BELONG_DEPARTMENT_OPTIONS = {
... ...