Commit ec3390619faf7cdef3711a2362fae1a10f1633f2
1 parent
91b420d8
fix: 修改支付方式
Showing
5 changed files
with
125 additions
and
48 deletions
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 }) => { | @@ -2761,7 +2761,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
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 }) => { | @@ -1611,7 +1611,24 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
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 | /> |