Commit ec3390619faf7cdef3711a2362fae1a10f1633f2

Authored by 柏杨
1 parent 91b420d8

fix: 修改支付方式

src/pages/Order/FeedBack/OrderDrawer.tsx
@@ -1492,7 +1492,19 @@ export default ({ onClose, data, subOrders, orderOptType }) => { @@ -1492,7 +1492,19 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1492 onChange={(val: any) => { 1492 onChange={(val: any) => {
1493 setPaymentMethod(val); 1493 setPaymentMethod(val);
1494 }} 1494 }}
1495 - options={enumToSelect(PAYMENT_METHOD_OPTIONS)} 1495 + options={(() => {
  1496 + // 使用Set记录已经处理过的选项值,避免重复
  1497 + const processedValues = new Set();
  1498 + const finalOptions = [];
  1499 +
  1500 + // 处理可选项
  1501 + enumToSelect(PAYMENT_METHOD_OPTIONS).forEach((option) => {
  1502 + finalOptions.push(option);
  1503 + processedValues.add(option.value);
  1504 + });
  1505 +
  1506 + return finalOptions;
  1507 + })()}
1496 rules={[{ required: true, message: '支付方式必填' }]} 1508 rules={[{ required: true, message: '支付方式必填' }]}
1497 disabled={optType('after-sales-check')} 1509 disabled={optType('after-sales-check')}
1498 /> 1510 />
src/pages/Order/Order/components/OrderDrawer.tsx
@@ -1501,7 +1501,19 @@ export default ({ onClose, data, subOrders, orderOptType }) => { @@ -1501,7 +1501,19 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1501 onChange={(val: any) => { 1501 onChange={(val: any) => {
1502 setPaymentMethod(val); 1502 setPaymentMethod(val);
1503 }} 1503 }}
1504 - options={enumToSelect(PAYMENT_METHOD_OPTIONS)} 1504 + options={(() => {
  1505 + // 使用Set记录已经处理过的选项值,避免重复
  1506 + const processedValues = new Set();
  1507 + const finalOptions = [];
  1508 +
  1509 + // 处理可选项
  1510 + enumToSelect(PAYMENT_METHOD_OPTIONS).forEach((option) => {
  1511 + finalOptions.push(option);
  1512 + processedValues.add(option.value);
  1513 + });
  1514 +
  1515 + return finalOptions;
  1516 + })()}
1505 rules={[{ required: true, message: '支付方式必填' }]} 1517 rules={[{ required: true, message: '支付方式必填' }]}
1506 disabled={optType('after-sales-check')} 1518 disabled={optType('after-sales-check')}
1507 /> 1519 />
src/pages/Order/OrderList/OrderDrawer.tsx
@@ -1904,45 +1904,63 @@ export default ({ onClose, data, subOrders, orderOptType }) => { @@ -1904,45 +1904,63 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1904 onChange={(val: any) => { 1904 onChange={(val: any) => {
1905 setPaymentMethod(val); 1905 setPaymentMethod(val);
1906 }} 1906 }}
1907 - options={[  
1908 - // 默认可选项  
1909 - ...enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD).map((option) => { 1907 + options={(() => {
  1908 + // 使用Set记录已经处理过的选项值,避免重复
  1909 + const processedValues = new Set();
  1910 + const finalOptions = [];
  1911 +
  1912 + // 先处理默认可选项
  1913 + enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD).forEach((option) => {
1910 // 将淘宝选项设置为禁用状态,使其无法手动选择 1914 // 将淘宝选项设置为禁用状态,使其无法手动选择
1911 if (option.value === 'PAYMENT_IN_TAOBAO') { 1915 if (option.value === 'PAYMENT_IN_TAOBAO') {
1912 - return { ...option, disabled: true }; 1916 + finalOptions.push({ ...option, disabled: true });
  1917 + } else {
  1918 + finalOptions.push(option);
1913 } 1919 }
1914 - return option;  
1915 - }),  
1916 - // 强制禁用项  
1917 - { label: '未付款', value: 'UNPAID', disabled: true },  
1918 - {  
1919 - label: '淘宝订单已付款',  
1920 - value: 'TAOBAO_ORDER_HAS_BEEN_PAID',  
1921 - disabled: true,  
1922 - },  
1923 - {  
1924 - label: '官网已付',  
1925 - value: 'OFFICIAL_WEBSITE_ORDER_HAS_BEEN_PAID',  
1926 - disabled: true,  
1927 - },  
1928 - {  
1929 - label: '淘宝',  
1930 - value: 'PAYMENT_IN_TAOBAO',  
1931 - disabled: true,  
1932 - },  
1933 - {  
1934 - label: '预付',  
1935 - value: 'WITHHOLDING_ADVANCE_DEPOSIT',  
1936 - disabled: true,  
1937 - },  
1938 - { label: '平台结算', value: 'PLATFORM_SETTLEMENT', disabled: true },  
1939 - { label: '已回款', value: 'PAYMENT_RECEIPT', disabled: true },  
1940 - {  
1941 - label: '预存款无需发货',  
1942 - value: 'PREPAID_NO_NEED_SEND',  
1943 - disabled: true,  
1944 - },  
1945 - ]} 1920 + processedValues.add(option.value);
  1921 + });
  1922 +
  1923 + // 添加强制禁用项,但只添加尚未存在的选项
  1924 + const disabledOptions = [
  1925 + { label: '未付款', value: 'UNPAID', disabled: true },
  1926 + {
  1927 + label: '淘宝订单已付款',
  1928 + value: 'TAOBAO_ORDER_HAS_BEEN_PAID',
  1929 + disabled: true,
  1930 + },
  1931 + {
  1932 + label: '官网已付',
  1933 + value: 'OFFICIAL_WEBSITE_ORDER_HAS_BEEN_PAID',
  1934 + disabled: true,
  1935 + },
  1936 + { label: '淘宝', value: 'PAYMENT_IN_TAOBAO', disabled: true },
  1937 + {
  1938 + label: '预付',
  1939 + value: 'WITHHOLDING_ADVANCE_DEPOSIT',
  1940 + disabled: true,
  1941 + },
  1942 + {
  1943 + label: '平台结算',
  1944 + value: 'PLATFORM_SETTLEMENT',
  1945 + disabled: true,
  1946 + },
  1947 + { label: '已回款', value: 'PAYMENT_RECEIPT', disabled: true },
  1948 + {
  1949 + label: '预存款无需发货',
  1950 + value: 'PREPAID_NO_NEED_SEND',
  1951 + disabled: true,
  1952 + },
  1953 + ];
  1954 +
  1955 + disabledOptions.forEach((option) => {
  1956 + if (!processedValues.has(option.value)) {
  1957 + finalOptions.push(option);
  1958 + processedValues.add(option.value);
  1959 + }
  1960 + });
  1961 +
  1962 + return finalOptions;
  1963 + })()}
1946 rules={[{ required: true, message: '支付方式必填' }]} 1964 rules={[{ required: true, message: '支付方式必填' }]}
1947 disabled={optType('after-sales-check') || paymentMethodDisabled} 1965 disabled={optType('after-sales-check') || paymentMethodDisabled}
1948 fieldProps={{ 1966 fieldProps={{
@@ -1955,13 +1973,31 @@ export default ({ onClose, data, subOrders, orderOptType }) => { @@ -1955,13 +1973,31 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1955 width="lg" 1973 width="lg"
1956 key="paymentChannel" 1974 key="paymentChannel"
1957 label="支付渠道" 1975 label="支付渠道"
1958 - options={enumToSelect(PAYMENT_CHANNEL_OPTIONS).map((option) => {  
1959 - // 将淘宝选项设置为禁用状态,使其无法手动选择  
1960 - if (option.value === 'TAOBAO') {  
1961 - return { ...option, disabled: true };  
1962 - }  
1963 - return option;  
1964 - })} 1976 + options={(() => {
  1977 + // 获取当前支付方式
  1978 + const currentPaymentMethod =
  1979 + paymentMethod || form.getFieldValue('paymentMethod');
  1980 +
  1981 + return enumToSelect(PAYMENT_CHANNEL_OPTIONS).map((option) => {
  1982 + // 将淘宝选项设置为禁用状态,使其无法手动选择
  1983 + if (option.value === 'TAOBAO') {
  1984 + return { ...option, disabled: true };
  1985 + }
  1986 +
  1987 + // 如果选择了"预存款无需发货",禁用"平台结算"和"官网已付"选项
  1988 + if (currentPaymentMethod === 'PREPAID_NO_NEED_SEND') {
  1989 + if (
  1990 + option.value === 'PLATFORM' ||
  1991 + option.value === 'OFFICIAL_WEBSITE' ||
  1992 + option.value === 'BALANCE'
  1993 + ) {
  1994 + return { ...option, disabled: true };
  1995 + }
  1996 + }
  1997 +
  1998 + return option;
  1999 + });
  2000 + })()}
1965 rules={[{ required: true, message: '支付渠道必填' }]} 2001 rules={[{ required: true, message: '支付渠道必填' }]}
1966 disabled={optType('after-sales-check') || paymentChannelDisabled} 2002 disabled={optType('after-sales-check') || paymentChannelDisabled}
1967 fieldProps={{ 2003 fieldProps={{
src/pages/Order/OrderList/OrderList.tsx
@@ -2752,7 +2752,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { @@ -2752,7 +2752,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => {
2752 <div> 2752 <div>
2753 <span className="text-[#8C8C8C]">已回款金额:¥</span> 2753 <span className="text-[#8C8C8C]">已回款金额:¥</span>
2754 <span className="text-slate-700"> 2754 <span className="text-slate-700">
2755 - {record.payedMoney || '-'} 2755 + {record.payedMoney || '0'}
2756 </span> 2756 </span>
2757 </div> 2757 </div>
2758 <Divider type="vertical" /> 2758 <Divider type="vertical" />
@@ -2761,7 +2761,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) =&gt; { @@ -2761,7 +2761,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) =&gt; {
2761 <div> 2761 <div>
2762 <span className="text-[#8C8C8C]">未回款金额:¥</span> 2762 <span className="text-[#8C8C8C]">未回款金额:¥</span>
2763 <span className="text-slate-700"> 2763 <span className="text-slate-700">
2764 - {record.unPayedMoney || '-'} 2764 + {record.unPayedMoney || '0'}
2765 </span> 2765 </span>
2766 </div> 2766 </div>
2767 <Divider type="vertical" /> 2767 <Divider type="vertical" />
src/pages/Order/OrderWarning/components/OrderDrawer.tsx
@@ -1611,7 +1611,24 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; { @@ -1611,7 +1611,24 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1611 onChange={(val: any) => { 1611 onChange={(val: any) => {
1612 setPaymentMethod(val); 1612 setPaymentMethod(val);
1613 }} 1613 }}
1614 - options={enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD)} 1614 + options={(() => {
  1615 + // 使用Set记录已经处理过的选项值,避免重复
  1616 + const processedValues = new Set();
  1617 + const finalOptions = [];
  1618 +
  1619 + // 先处理默认可选项
  1620 + enumToSelect(PAYMENT_METHOD_OPTIONS_4_ADD).forEach((option) => {
  1621 + // 将淘宝选项设置为禁用状态,使其无法手动选择
  1622 + if (option.value === 'PAYMENT_IN_TAOBAO') {
  1623 + finalOptions.push({ ...option, disabled: true });
  1624 + } else {
  1625 + finalOptions.push(option);
  1626 + }
  1627 + processedValues.add(option.value);
  1628 + });
  1629 +
  1630 + return finalOptions;
  1631 + })()}
1615 rules={[{ required: true, message: '支付方式必填' }]} 1632 rules={[{ required: true, message: '支付方式必填' }]}
1616 disabled={optType('after-sales-check')} 1633 disabled={optType('after-sales-check')}
1617 /> 1634 />