Commit 456d3bc9 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

fix: 优化平台支付参数配置

parent e15bbf69
......@@ -68,7 +68,7 @@ const ModalLayout: React.FC<ModalProps> = ({
if (payChannel) {
handleChannelFind();
}
}, [payChannel, visible])
}, [payChannel])
const handleCancel = () => {
onCancel()
......
......@@ -66,6 +66,13 @@ type FindProps = {
channels?: channels[]
}
type payTypeList = {
/** 支付类型 */
payType: number,
/** 支付方式 */
payChannel: number[]
}
const PaySettingLayout = () => {
const [form] = Form.useForm();
const [visible, setVisible] = useState<boolean>(false);
......@@ -81,7 +88,16 @@ const PaySettingLayout = () => {
const [parameterList, setParameterList] = useState<parameters[]>([]) // 商户支付参数列表
const [payTypeList] = useState<any[]>([
/**
* 需要配置支付参数的往[payTypeList]加!!!
* @payType: 支付参数类型
* @payChannel: 参数配置id
*/
const [payTypeList] = useState<payTypeList[]>([
{
payType: 1,
payChannel: [1, 2]
},
{
payType: 6,
payChannel: [11, 12, 13, 14, 15]
......@@ -421,119 +437,6 @@ const PaySettingLayout = () => {
key={`tabLink_${item.payType}`}
>
<div className={style.tabsLayout}>
{item.payType === 1 && (
<Tabs onChange={(e) => handleTabsChange(e)}>
{item.channels.map((_item, _index) => {
return (
<TabPane tab={<Space><Image preview={false} width={16} height={16} src={PIC_MAP[_item.payChannel]} />{_item.payChannelName}</Space>} key={_item.payChannel} forceRender>
<Form.Item
label={`是否开启${_item.payChannelName}`}
name={`payChannel_${_item.payChannel}`}
initialValue={`_${_item.payChannel}`}
>
<Radio.Group
size="small"
buttonStyle="solid"
onChange={(e) => handleRadioChang(e, item.payType)}
>
<Radio.Button value={_item.payChannel}></Radio.Button>
<Radio.Button value={`_${_item.payChannel}`}></Radio.Button>
</Radio.Group>
</Form.Item>
<Form.Item
noStyle
shouldUpdate={(prevValues, currentValues) => prevValues[`payChannel_${_item.payChannel}`] !== currentValues[`payChannel_${_item.payChannel}`]}
>
{({ getFieldValue }) => (
getFieldValue(`payChannel_${_item.payChannel}`) === 1 ||
getFieldValue(`payChannel_${_item.payChannel}`) === 2
) && (
<Fragment>
<div className={style.anchor}>{`${_item.payChannelName}支付参数配置`}{getFieldValue(`payChannel_${_item.payChannel}`) === 1 ? <span className={style.tag}>平台代收模式</span> : null}</div>
<Form.Item
wrapperCol={{ span: 24 }}
name={`payChannel_${_item.payChannel}`}
>
<Table
rowKey={(_record: any, index: any) => `table${index + 1}`}
columns={columns}
dataSource={dataSource(item.payType, _item.payChannel)}
pagination={false}
/>
<Button
type='dashed'
block
icon={<PlusOutlined />}
style={{ marginBottom: '24px' }}
onClick={() => toggle(_item.payChannel)}
>
新增参数配置
</Button>
</Form.Item>
</Fragment>
)}
</Form.Item>
<Form.Item
noStyle
shouldUpdate={(prevValues, currentValues) => prevValues[`payChannel_${_item.payChannel}`] !== currentValues[`payChannel_${_item.payChannel}`]}
>
{({ getFieldValue }) => (
getFieldValue(`payChannel_${_item.payChannel}`) === 1
) && (
<Fragment>
<div className={style.anchor}>{`${_item.payChannelName}支付参数配置`}{getFieldValue(`payChannel_${_item.payChannel}`) === 1 ? <span className={style.tag}>会员直接到账模式</span> : null}</div>
<Button style={{ marginBottom: '24px' }} onClick={() => window.open('/system/ruleSettingManager/merchantPayType')}>商户参数配置</Button>
<Form.Item
wrapperCol={{ span: 24 }}
name={`payChannel_${_item.payChannel}`}
>
<Table
rowKey={(_record: any, index: any) => `table${index + 1}`}
columns={columns1}
dataSource={parameterList}
pagination={false}
/>
<Button
type='dashed'
block
icon={<PlusOutlined />}
style={{ marginBottom: '24px' }}
onClick={() => setParameterVisible(true)}
>
新增参数配置
</Button>
</Form.Item>
</Fragment>
)}
</Form.Item>
</TabPane>
)
})}
</Tabs>
)}
{(item.payType !== 1 && item.payType !== 6 && item.payType !== 7) && (
<Fragment>
{item.channels.map((_item, _index) => (
<Fragment key={_item.payChannel}>
<Form.Item
label={_item.payChannelName}
name={`payChannel_${_item.payChannel}`}
initialValue={`_${_item.payChannel}`}
>
<Radio.Group
size="small"
buttonStyle="solid"
onChange={(e) => handleRadioChang(e, item.payType)}
>
<Radio.Button value={_item.payChannel}></Radio.Button>
<Radio.Button value={`_${_item.payChannel}`}></Radio.Button>
</Radio.Group>
</Form.Item>
</Fragment>
))}
</Fragment>
)}
{payTypeList.filter(_item_ => _item_.payType === item.payType).map((nov, key) => (
<Tabs onChange={(e) => handleTabsChange(e)} key={key}>
{item.channels.map((_item, _index) => {
......@@ -558,7 +461,7 @@ const PaySettingLayout = () => {
shouldUpdate={(prevValues, currentValues) => prevValues[`payChannel_${_item.payChannel}`] !== currentValues[`payChannel_${_item.payChannel}`]}
>
{({ getFieldValue }) => (
nov.payChannel.find(it => it === getFieldValue(`payChannel_${_item.payChannel}`))
nov.payChannel.includes(getFieldValue(`payChannel_${_item.payChannel}`))
) && (
<Fragment>
<div className={style.anchor}>{`${_item.payChannelName}支付参数配置`}{getFieldValue(`payChannel_${_item.payChannel}`) === 1 ? <span className={style.tag}>平台代收模式</span> : null}</div>
......@@ -585,11 +488,68 @@ const PaySettingLayout = () => {
</Fragment>
)}
</Form.Item>
{_item.payChannel === 1 && (
<Form.Item
noStyle
shouldUpdate={(prevValues, currentValues) => prevValues[`payChannel_${_item.payChannel}`] !== currentValues[`payChannel_${_item.payChannel}`]}
>
{({ getFieldValue }) => (
getFieldValue(`payChannel_${_item.payChannel}`) === 1
) && (
<Fragment>
<div className={style.anchor}>{`${_item.payChannelName}支付参数配置`}{getFieldValue(`payChannel_${_item.payChannel}`) === 1 ? <span className={style.tag}>会员直接到账模式</span> : null}</div>
<Button style={{ marginBottom: '24px' }} onClick={() => window.open('/system/ruleSettingManager/merchantPayType')}>商户参数配置</Button>
<Form.Item
wrapperCol={{ span: 24 }}
name={`payChannel_${_item.payChannel}`}
>
<Table
rowKey={(_record: any, index: any) => `table${index + 1}`}
columns={columns1}
dataSource={parameterList}
pagination={false}
/>
<Button
type='dashed'
block
icon={<PlusOutlined />}
style={{ marginBottom: '24px' }}
onClick={() => setParameterVisible(true)}
>
新增参数配置
</Button>
</Form.Item>
</Fragment>
)}
</Form.Item>
)}
</TabPane>
)
})}
</Tabs>
))}
{!payTypeList.map(it => it.payType).includes(item.payType) && (
<Fragment>
{item.channels.map((_item, _index) => (
<Fragment key={_item.payChannel}>
<Form.Item
label={_item.payChannelName}
name={`payChannel_${_item.payChannel}`}
initialValue={`_${_item.payChannel}`}
>
<Radio.Group
size="small"
buttonStyle="solid"
onChange={(e) => handleRadioChang(e, item.payType)}
>
<Radio.Button value={_item.payChannel}></Radio.Button>
<Radio.Button value={`_${_item.payChannel}`}></Radio.Button>
</Radio.Group>
</Form.Item>
</Fragment>
))}
</Fragment>
)}
</div>
</Card>
))}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment