Commit 0b6a43e4 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

修改会员支付参数配置编辑修改和删除

parent d6c3459b
......@@ -18,358 +18,358 @@ const payandSettleRoute: RouterChild = {
name: 'paySetting',
routes: [
// 会员支付参数配置
// {
// path:'/memberCenter/payandSettle/paySetting/payParamsSetting',
// name:'payParamsSetting',
// component:'@/pages/payandSettle/paySetting1'
// },
{
path:'/memberCenter/payandSettle/paySetting/payParamsSetting',
name:'payParamsSetting',
hideInMenu: true,
component:'@/pages/payandSettle/paySetting'
},
{
path:'/memberCenter/payandSettle/paySetting/newPay',
name:'payParamsSetting',
hideInMenu: true,
component:'@/pages/payandSettle/paySetting/newPay'
},
]
},
},
// 授信申请
{
path: '/memberCenter/payandSettle/creditApplication',
name: 'creditApplication',
name: 'creditApplication',
routes: [
// 授信额度管理
{
path: '/memberCenter/payandSettle/creditApplication/quotaMenage',
name: 'quotaMenage',
component: '@/pages/payandSettle/creditApplication/quotaMenage/index',
},
name: 'quotaMenage',
component: '@/pages/payandSettle/creditApplication/quotaMenage/index',
},
// 授信额度管理-详情
{
path: '/memberCenter/payandSettle/creditApplication/quotaMenage/detail',
name: 'quotaMenageDetail',
component: '@/pages/payandSettle/creditApplication/quotaMenage/detail/index',
hideInMenu: true,
noMargin: true,
},
name: 'quotaMenageDetail',
component: '@/pages/payandSettle/creditApplication/quotaMenage/detail/index',
hideInMenu: true,
noMargin: true,
},
// 授信额度管理-申请
{
path: '/memberCenter/payandSettle/creditApplication/quotaMenage/apply',
name: 'quotaApply',
component: '@/pages/payandSettle/creditApplication/quotaMenage/apply',
hideInMenu: true,
noMargin: true,
},
name: 'quotaApply',
component: '@/pages/payandSettle/creditApplication/quotaMenage/apply',
hideInMenu: true,
noMargin: true,
},
// 授信额度管理-历史申请单详情
{
path: '/memberCenter/payandSettle/creditApplication/quotaMenage/history',
name: 'quotaApply',
component: '@/pages/payandSettle/creditApplication/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaApply',
component: '@/pages/payandSettle/creditApplication/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 授信申请单查询
{
path: '/memberCenter/payandSettle/creditApplication/quotaFormQuery',
name: 'quotaFormQuery',
component: '@/pages/payandSettle/creditApplication/quotaFormQuery/index',
},
name: 'quotaFormQuery',
component: '@/pages/payandSettle/creditApplication/quotaFormQuery/index',
},
// 授信申请单详情
{
path: '/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditApplication/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditApplication/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 待提交授信申请单
{
path: '/memberCenter/payandSettle/creditApplication/quotaPrSubmit',
name: 'quotaPrSubmit',
component: '@/pages/payandSettle/creditApplication/quotaPrSubmit/index',
},
name: 'quotaPrSubmit',
component: '@/pages/payandSettle/creditApplication/quotaPrSubmit/index',
},
// 待提交授信申请单-详情
{
path: '/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail',
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditApplication/quotaPrSubmit/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditApplication/quotaPrSubmit/detail',
hideInMenu: true,
noMargin: true,
},
// 待提交授信申请单-编辑
{
path: '/memberCenter/payandSettle/creditApplication/quotaPrSubmit/verify',
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditApplication/quotaPrSubmit/verify',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditApplication/quotaPrSubmit/verify',
hideInMenu: true,
noMargin: true,
},
],
},
// 授信处理
{
path: '/memberCenter/payandSettle/creditManage',
name: 'creditManage',
name: 'creditManage',
routes: [
// 授信额度管理
{
path: '/memberCenter/payandSettle/creditManage/quotaMenage',
name: 'quotaMenage',
component: '@/pages/payandSettle/creditManage/quotaMenage/index',
},
name: 'quotaMenage',
component: '@/pages/payandSettle/creditManage/quotaMenage/index',
},
// 授信额度管理-详情
{
path: '/memberCenter/payandSettle/creditManage/quotaMenage/detail',
name: 'quotaMenageDetail',
component: '@/pages/payandSettle/creditManage/quotaMenage/detail/index',
hideInMenu: true,
noMargin: true,
},
name: 'quotaMenageDetail',
component: '@/pages/payandSettle/creditManage/quotaMenage/detail/index',
hideInMenu: true,
noMargin: true,
},
// 授信额度管理-历史申请单详情
{
path: '/memberCenter/payandSettle/creditManage/quotaMenage/history',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 授信申请单查询
{
path: '/memberCenter/payandSettle/creditManage/quotaFormQuery',
name: 'quotaFormQuery',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/index',
},
name: 'quotaFormQuery',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/index',
},
// 授信申请单查询-详情
{
path: '/memberCenter/payandSettle/creditManage/quotaFormQuery/detail',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 待提交授信申请单
{
path: '/memberCenter/payandSettle/creditManage/quotaPrSubmit',
name: 'quotaPrSubmit',
component: '@/pages/payandSettle/creditManage/quotaPrSubmit/index',
},
name: 'quotaPrSubmit',
component: '@/pages/payandSettle/creditManage/quotaPrSubmit/index',
},
// 待提交授信申请单-详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPrSubmit/detail',
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditManage/quotaPrSubmit/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditManage/quotaPrSubmit/detail',
hideInMenu: true,
noMargin: true,
},
// 待提交授信申请单-审核
{
path: '/memberCenter/payandSettle/creditManage/quotaPrSubmit/verify',
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditManage/quotaPrSubmit/verify',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPrSubmitDetail',
component: '@/pages/payandSettle/creditManage/quotaPrSubmit/verify',
hideInMenu: true,
noMargin: true,
},
// 待提交授信申请单-历史申请单详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPrSubmit/history',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(一级)
{
path: '/memberCenter/payandSettle/creditManage/quotaPr1',
name: 'quotaPr1',
component: '@/pages/payandSettle/creditManage/quotaPr1/index',
},
name: 'quotaPr1',
component: '@/pages/payandSettle/creditManage/quotaPr1/index',
},
// 待审核授信申请单(一级)-详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPr1/detail',
name: 'quotaPr1Detail',
component: '@/pages/payandSettle/creditManage/quotaPr1/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPr1Detail',
component: '@/pages/payandSettle/creditManage/quotaPr1/detail',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(一级)-审核
{
path: '/memberCenter/payandSettle/creditManage/quotaPr1/verify',
name: 'quotaPr1Verify',
component: '@/pages/payandSettle/creditManage/quotaPr1/verify',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPr1Verify',
component: '@/pages/payandSettle/creditManage/quotaPr1/verify',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(一级)-历史申请单详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPr1/history',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(二级)
{
path: '/memberCenter/payandSettle/creditManage/quotaPr2',
name: 'quotaPr2',
component: '@/pages/payandSettle/creditManage/quotaPr2/index',
},
name: 'quotaPr2',
component: '@/pages/payandSettle/creditManage/quotaPr2/index',
},
// 待审核授信申请单(二级)-详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPr2/detail',
name: 'quotaPr2Detail',
component: '@/pages/payandSettle/creditManage/quotaPr2/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPr2Detail',
component: '@/pages/payandSettle/creditManage/quotaPr2/detail',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(二级)-审核
{
path: '/memberCenter/payandSettle/creditManage/quotaPr2/verify',
name: 'quotaPr2Verify',
component: '@/pages/payandSettle/creditManage/quotaPr2/verify',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPr2Verify',
component: '@/pages/payandSettle/creditManage/quotaPr2/verify',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(二级)-历史申请单详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPr2/history',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(三级)
{
path: '/memberCenter/payandSettle/creditManage/quotaPr3',
name: 'quotaPr3',
component: '@/pages/payandSettle/creditManage/quotaPr3/index',
},
name: 'quotaPr3',
component: '@/pages/payandSettle/creditManage/quotaPr3/index',
},
// 待审核授信申请单(三级)-详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPr3/detail',
name: 'quotaPr3Detail',
component: '@/pages/payandSettle/creditManage/quotaPr3/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPr3Detail',
component: '@/pages/payandSettle/creditManage/quotaPr3/detail',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(三级)-审核
{
path: '/memberCenter/payandSettle/creditManage/quotaPr3/verify',
name: 'quotaPr3Verify',
component: '@/pages/payandSettle/creditManage/quotaPr3/verify',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPr3Verify',
component: '@/pages/payandSettle/creditManage/quotaPr3/verify',
hideInMenu: true,
noMargin: true,
},
// 待审核授信申请单(三级)-历史申请单详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPr3/history',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 待确认授信申请单
{
path: '/memberCenter/payandSettle/creditManage/quotaPrConfirm',
name: 'quotaPrConfirm',
component: '@/pages/payandSettle/creditManage/quotaPrConfirm/index',
},
name: 'quotaPrConfirm',
component: '@/pages/payandSettle/creditManage/quotaPrConfirm/index',
},
// 待确认授信申请单-详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPrConfirm/detail',
name: 'quotaPrConfirmDetail',
component: '@/pages/payandSettle/creditManage/quotaPrConfirm/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPrConfirmDetail',
component: '@/pages/payandSettle/creditManage/quotaPrConfirm/detail',
hideInMenu: true,
noMargin: true,
},
// 待确认授信申请单-审核
{
path: '/memberCenter/payandSettle/creditManage/quotaPrConfirm/verify',
name: 'quotaPrConfirmVerify',
component: '@/pages/payandSettle/creditManage/quotaPrConfirm/verify',
hideInMenu: true,
noMargin: true,
},
name: 'quotaPrConfirmVerify',
component: '@/pages/payandSettle/creditManage/quotaPrConfirm/verify',
hideInMenu: true,
noMargin: true,
},
// 待确认授信申请单-历史申请单详情
{
path: '/memberCenter/payandSettle/creditManage/quotaPrConfirm/history',
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
name: 'quotaFormQueryDetail',
component: '@/pages/payandSettle/creditManage/quotaFormQuery/detail',
hideInMenu: true,
noMargin: true,
},
],
},
// 资金账户
{
path: '/memberCenter/payandSettle/capitalAccounts',
name: 'capitalAccounts',
name: 'capitalAccounts',
routes: [
// 账户管理
{
path: '/memberCenter/payandSettle/capitalAccounts/accountLists',
name: 'accountLists',
component: '@/pages/payandSettle/capitalAccounts/accountLists',
},
name: 'accountLists',
component: '@/pages/payandSettle/capitalAccounts/accountLists',
},
// 账户管理-详情
{
path: '/memberCenter/payandSettle/capitalAccounts/accountLists/detail',
name: 'accountDetail',
name: 'accountDetail',
component: '@/pages/payandSettle/capitalAccounts/accountLists/accountDetail',
hideInMenu: true,
},
hideInMenu: true,
},
// 申请提现
{
path: '/memberCenter/payandSettle/capitalAccounts/accountLists/applyWithdraw',
name: 'applyWithdraw',
name: 'applyWithdraw',
component: '@/pages/payandSettle/capitalAccounts/accountLists/applyWithdraw',
hideInMenu: true,
},
hideInMenu: true,
},
],
},
// 资金账户管理
{
path:'/memberCenter/payandSettle/amountAccountManage',
name:'amountAccountManage',
name:'amountAccountManage',
routes: [
// 会员账户管理
{
path: '/memberCenter/payandSettle/amountAccountManage/memberAccountManage',
name: 'memberAccountManage',
component: '@/pages/payandSettle/amountAccountManage/memberAccountManage',
},
name: 'memberAccountManage',
component: '@/pages/payandSettle/amountAccountManage/memberAccountManage',
},
// 会员账户管理-详情
{
path: '/memberCenter/payandSettle/amountAccountManage/memberAccountManage/detail',
name: 'memberAccountDetail',
name: 'memberAccountDetail',
component: '@/pages/payandSettle/amountAccountManage/memberAccountManage/memberAccountDetail',
hideInMenu: true,
hideInMenu: true,
},
// 待审核提现
{
path: '/memberCenter/payandSettle/amountAccountManage/checkWithdraw',
name: 'checkWithdraw',
component: '@/pages/payandSettle/amountAccountManage/checkWithdraw',
},
name: 'checkWithdraw',
component: '@/pages/payandSettle/amountAccountManage/checkWithdraw',
},
// 待审核提现-详情
{
path: '/memberCenter/payandSettle/amountAccountManage/checkWithdraw/detail',
name: 'checkDetail',
component: '@/pages/payandSettle/amountAccountManage/checkWithdraw/checkDetail',
hideInMenu: true,
name: 'checkDetail',
component: '@/pages/payandSettle/amountAccountManage/checkWithdraw/checkDetail',
hideInMenu: true,
},
// 待支付提现
{
path: '/memberCenter/payandSettle/amountAccountManage/paymentWithdraw',
name: 'paymentWithdraw',
component: '@/pages/payandSettle/amountAccountManage/paymentWithdraw',
},
name: 'paymentWithdraw',
component: '@/pages/payandSettle/amountAccountManage/paymentWithdraw',
},
// 待支付提现-详情
{
path: '/memberCenter/payandSettle/amountAccountManage/paymentWithdraw/detail',
name: 'paymentDetail',
component: '@/pages/payandSettle/amountAccountManage/paymentWithdraw/paymentDetail',
hideInMenu: true,
},
name: 'paymentDetail',
component: '@/pages/payandSettle/amountAccountManage/paymentWithdraw/paymentDetail',
hideInMenu: true,
},
],
},
]
}
export default payandSettleRoute
\ No newline at end of file
export default payandSettleRoute
......@@ -19,6 +19,9 @@ interface payWayTableParams {
const PayWayTable: React.FC<payWayTableParams> = (props) => {
const [modalvisible, setmodalvisible] = useState<boolean>(false);
const [type, setType] = useState<number>(1); // 1.
const [edit, setedit] = useState<any>({});
const [modifyIndex, setModifyIndex] = useState<any>(0)
const [modify, setmodify] = useState<boolean>(false);
const { name, payParametersListResponses, payParametersList, visible, onType, onGet, onDel, onEdit, id } = props;
const columns: ColumnType<any>[] = [
{
......@@ -41,14 +44,19 @@ const PayWayTable: React.FC<payWayTableParams> = (props) => {
key: 'options',
dataIndex: 'options',
render: (text: any, record: any, index: number) => <>
<Button type='link'>编辑</Button>
<Button type='link' onClick={() => onDel(type, index)}>删除</Button>
<Button type='link' onClick={() => {setedit(record); setmodalvisible(true); setModifyIndex(index); setmodify(true)}}>编辑</Button>
<Button type='link' onClick={() => onDel(record.type, index)}>删除</Button>
</>
}
]
const handleOk = (value: any, idx: number) => {
onGet(value, idx)
if( !modify ) {
onGet(value, idx)
} else {
onEdit(value, idx, modifyIndex)
}
setmodalvisible(false);
}
......@@ -65,7 +73,7 @@ const PayWayTable: React.FC<payWayTableParams> = (props) => {
rowKey={(record: any, index: number) => index}
pagination={false}
/>
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => { setmodalvisible(true); setType(1); }} type='dashed'>新增参数配置</Button>
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => { setmodalvisible(true); setType(1); setmodify(false) }} type='dashed'>新增参数配置</Button>
{
id !== 2 &&
......@@ -77,7 +85,7 @@ const PayWayTable: React.FC<payWayTableParams> = (props) => {
rowKey={(record: any, index: number) => index}
pagination={false}
/>
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => { setmodalvisible(true); setType(2); }} type='dashed'>新增参数配置</Button>
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => { setmodalvisible(true); setType(2); setmodify(false) }} type='dashed'>新增参数配置</Button>
</>
}
......@@ -87,6 +95,7 @@ const PayWayTable: React.FC<payWayTableParams> = (props) => {
onType={onType}
type={type}
modalvisible={modalvisible}
edit={edit}
onOK={(value) => handleOk(value, type)}
onCancel={() => setmodalvisible(false)}
/>
......
import React, { useState } from 'react';
import React, { useEffect, useState } from 'react';
import { Modal, Form, Select , Input } from 'antd';
import usePayTypeEnum from './usePayTypeEnum';
const { Option } = Select;
......@@ -9,7 +9,8 @@ interface setUpModalParams {
modalvisible?: boolean,
onOK?: Function,
onCancel?: Function,
onType?: number
onType?: number,
edit?: any
}
const layout: any = {
colon: false,
......@@ -19,12 +20,13 @@ const layout: any = {
const SetUpModal:React.FC<setUpModalParams> = (props) => {
const [form] = Form.useForm();
const { payTypeEnum } = usePayTypeEnum();
const { modalvisible, onOK, onCancel, onType} = props;
const { modalvisible, onOK, onCancel, onType, edit} = props;
const [option, setOption] = useState<any>({})
const handleOk = () => {
form.validateFields().then(res => {
const obj = {
id: edit.id ? edit.id : undefined,
code: option.children,
value: res.value,
describe: res.describe,
......@@ -42,6 +44,17 @@ const SetUpModal:React.FC<setUpModalParams> = (props) => {
setOption(option)
}
useEffect(() => {
if(Object.keys(edit).length > 0) {
console.log(edit, 10086)
form.setFieldsValue({
code: edit.payWayCodeTypeEnum,
value: edit.value,
describe: edit.edit
})
}
},[edit])
return (
<Modal
width={576}
......
/*
* @Author: LeeJiancong
* @Date: 2020-08-19 15:25:54
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-08-21 18:19:53
*/
import React, { useEffect, useState, useRef, Fragment } from 'react'
import { Card, Button, Tabs, Radio, Space, Row, Col, Table, Popconfirm, Input, Spin } from 'antd'
import { PlusOutlined, SaveOutlined } from '@ant-design/icons'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import EyePreview from '@/components/EyePreview'
import { createFormActions, FormEffectHooks, useFormEffects } from '@formily/antd'
import { GlobalConfig } from '@/global/config'
import { ColumnType } from 'antd/lib/table/interface'
import InitBase from '../components/initBase'
import SettingModal from '../components/settingModal'
import { PublicApi } from '@/services/api'
import { history } from 'umi'
import '../components/index.less'
const payActions = createFormActions()
const { TabPane } = Tabs
const { onFieldValueChange$ } = FormEffectHooks
const PaySetting: React.FC<{}> = () => {
const ref = useRef<any>({})
const [TabList, setTabList] = useState([])
const [mode, setmode] = useState<number>(0)
const [dataInfo, setdataInfo] = useState<any>({})
const [visible, setvisible] = useState<boolean>(false)
const [optionType, setoptionType] = useState(0)
const [isPitchOn, setisPitchOn] = useState<number>(0)
const [payParametersList, setpayParametersList] = useState<any>([])
const [payParametersListResponses, setpayParametersListResponses] = useState<any>([])
const [initialValues, setinitialValues] = useState({})
const [type, settype] = useState<any>(null)
const [hasEdit, sethasEdit] = useState<boolean>(false);
const [loading, setloading] = useState<boolean>(false);
/**
* @description: isSetting
* @param {type} 默认为已从pass平台为此账号配置好了策略
* @return {type}
*/
const [isSetting, setisSetting] = useState(true)
const [showInput, setshowInput] = useState(true) //是否显示授权
const [initParam, setinitParam] = useState({//授权参数
code: '',
value: '',
describe: ''
})
let [tabid, settabid] = useState<any>(null)//选项卡id
const [listID, setlistID] = useState(null)//表格id
let [tabOption, settabOption] = useState({
tab: 1,
type: 1
})
const handleAddMemberBtn = (id: string | number, type: number) => {
// console.log('id', id, 'type', type)
setmode(0)
settype(type)
setvisible(true)
setinitialValues({})
}
const handleEdit = (record: any, type: number | string, index: number) => {
setvisible(true)
setmode(1)//编辑还是新增
settype(type)
setlistID(record.id)
setinitialValues(record)
console.log('类型', type, '下标', index, 'record', record, 'listID:', listID)
}
//删除
const handleDeleteTable = (type: number, id: number, index) => {
let list: any = []
if (type === 1 || type === 3) {
list = [...payParametersListResponses]
list.splice(index, 1)
setpayParametersListResponses(list)
} else if (type === 2) {
list = [...payParametersList]
list.splice(index, 1)
setpayParametersList(list)
}
sethasEdit(true)
}
/**
* @description: 保存 编辑的时候遍历id是否一样 一样就替换
* @param {type} type: 1支付宝 2支付宝银行卡 3微信
* @return {type}
*/
const handleModalOK = (obj: any) => {
// console.log('选项卡:', tabid, '弹窗id:', type)
setvisible(false)
// console.log('选项卡:', tabid, '数据', obj,'mode:',mode)
if (mode === 0) {
if (type == 1 || type == 3) {
let list: any = []
obj.id = `obj-${payParametersListResponses.length}`
list.push(obj)
setpayParametersListResponses([...payParametersListResponses, ...list])
sethasEdit(true)
}
if (type == 2) {
let list: any = []
obj.id = `obj-${payParametersList.length}`
list.push(obj)
setpayParametersList([...payParametersList, ...list])
sethasEdit(true)
}
} else {
if (type == 1 || type == 3) {
let list = [...payParametersListResponses]
if (listID) {
list.forEach((v, i) => {
if (listID == v.id) {
list[i] = obj
}
})
}
setpayParametersListResponses([...list])
sethasEdit(true)
} else if (type == 2) {//支付宝银行卡
let list = [...payParametersList]
if (listID) {
list.forEach((v, i) => {
if (listID == v.id) {
list[i] = obj
}
})
}
setpayParametersList([...list])
sethasEdit(true)
}
}
}
const tableColumns: ColumnType<any>[] = [
{ dataIndex: 'code', title: '参数代码', align: 'center', render:(text:any, record:any) => <span>{record.name}</span> },
{ dataIndex: 'value', align: 'center', title: '参数值' },
{ dataIndex: 'describe', title: '参数描述', align: 'center' },
{
dataIndex: 'ctl', title: '操作', align: 'center', render: (_, record, index) =>
<>
<Button type='link' onClick={() => handleEdit(record, record.type, index)}>编辑</Button>
<Button type='link' onClick={() => handleDeleteTable(record.type, record.id, index)}>删除</Button>
</>
}
]
//初始化
const initBase = async (id) => {
setloading(true)
await PublicApi.getPayMemberQueryPlatformIsStart({ id: id }).then(res => {
if (res.code === 1000) {
let data = { payParametersListResponses: [], payParametersList: [], isPitchOn: 0, id: '' }
if (JSON.stringify(res.data) !== '{}') {
console.log('加载到')
let { id, isPitchOn, payParametersList, payParametersListResponses } = res.data
setisPitchOn(isPitchOn)
if (id == 6) {
let { id, code, value, describe } = payParametersListResponses[0] || {}
setinitParam({ ...initParam, code, value, describe })
} else {
payParametersList = payParametersList ? payParametersList : []
payParametersListResponses = payParametersListResponses ? payParametersListResponses : []
setpayParametersList(payParametersList)
setpayParametersListResponses(payParametersListResponses)
}
}
setloading(false)
} else {
setisPitchOn(0);
setloading(false)
}
})
}
useEffect(() => {
PublicApi.getPayMemberPayConfig().then(res => {
if (res.code === 1000) {
let ids = res.data.map((v, i) => v.id)
setTabList(res.data)
if (ids.length > 0) {
settabid(ids[0])
initBase(ids[0])
}
} else {
setisSetting(false)
}
})
return () => {
}
}, [])
const useTabEffects = () => {
}
/**
* @description: 提交表单 保存
* @param {type}
* @return {type}
*/
const handleSubmit = () => {
let list: any = []
if (tabid == 1) {
list = [...payParametersList, ...payParametersListResponses]
} else if (tabid == 2) {
list = [...payParametersListResponses]
} else if (tabid == 6) {
list = [{
type: type,
code: initParam.code,
value: initParam.value,
describe: initParam.describe
}]
} else {
list = []
}
let payType = TabList.filter(v => v.id == tabid).map(v => v.payType)
let way: any = TabList.filter(v => v.id == tabid).map(v => v.way)
// if(list.length > 0){
// list.forEach((v:any) => {
// if((v.id).toString().indexOf('obj') !== -1){
// v.id = ''
// }
// });
// }
console.log('list', list)
PublicApi.postPayMemberQueryPlatformUpdate({
platformPayWays:[
{
id: tabid,
isPitchOn: isPitchOn,
way: way.toString(),
payType: Number(payType),
payParametersAddListRequests: list
}
]
}).then(res => {
if (res.code === 1000) {
setTimeout(() => {
history.push('/memberCenter/payandSettle/paySetting/payParamsSetting')
}, 1500)
}
})
}
const changeTab = (tab) => {
settabid(tab)
if (tab == 6) {//授信
settype(tab)
}
if(!!isPitchOn) {
setshowInput(true)
}else {
setshowInput(false)
}
initBase(tab)
}
const changeRadio = (e) => {
setisPitchOn(e.target.value)
if (tabid == 6 && e.target.value) {
setshowInput(true)
} else {
setshowInput(false)
}
}
const options = [{ label: '是', value: 1 }, { label: '否', value: 0 }]
return (
<PageHeaderWrapper
extra={
hasEdit ?
<Popconfirm title="配置已修改,是否保存?" okText="是" cancelText="否" onConfirm={() =>
handleSubmit()
}>
<Button type="primary" icon={<SaveOutlined />} >
保存
</Button>
</Popconfirm>
:
<Button type="primary" onClick={() => handleSubmit()} icon={<SaveOutlined />} >
保存
</Button>
}
>
{
isSetting &&
<Card>
<Tabs onTabClick={(e) => changeTab(e)} type="card">
{
TabList.map((v, i) => {
return <Fragment key={v.id}>
<TabPane tab={`${v.way}`} key={v.id} forceRender>
<Spin spinning={loading}>
<Space size={49}>
<span>是否开启{v.way}</span>
<Radio.Group
className='radio-group-box'
size="small"
value={isPitchOn}
buttonStyle="solid"
options={options}
optionType="button"
onChange={value => changeRadio(value)} />
</Space>
{
(v.id === 1 || v.id === 2) &&
<Row>
<Col ><div style={{ borderLeft: '2px solid #00B37A', margin: '41px 0 8px', padding: '1px 5px' }}>{v.way}参数配置</div></Col>
<Col span={24}>
<Table dataSource={payParametersListResponses} columns={tableColumns} pagination={false} />
{
v.id == 1 ?
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => handleAddMemberBtn(`${v.id}`, 1)} type='dashed'>新增参数配置</Button>
:
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => handleAddMemberBtn(`${v.id}`, 3)} type='dashed'>新增参数配置</Button>
}
</Col>
</Row>
}
{
v.id === 1 &&
<Row>
<Col ><div style={{ borderLeft: '2px solid #00B37A', margin: '41px 0 8px', padding: '1px 5px' }}>{v.way}转账到银行卡参数配置</div></Col>
<Col span={24}>
<Table dataSource={payParametersList} columns={tableColumns} pagination={false} />
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => handleAddMemberBtn(`${v.id}`, 2)} type='dashed'>新增参数配置</Button>
</Col>
</Row>
}
{
(v.id === 6 && showInput) &&
<div style={{ marginTop: 42 }}>
<Space direction="horizontal" size={16}>
初始申请额度不超过
<Input value={initParam.code} addonBefore="¥" onChange={e => setinitParam({ ...initParam, code: e.target.value })} />
允许满<Input value={initParam.value} onChange={e => setinitParam({ ...initParam, value: e.target.value })} />
天后申请上调<Input value={initParam.describe} addonAfter="%" onChange={e => setinitParam({ ...initParam, describe: e.target.value })} />
</Space>
</div>
}
</Spin>
</TabPane>
</Fragment>
})
}
</Tabs>
<SettingModal
mode={mode}
id={listID}
type={type}
dialogVisible={visible}
initialValues={initialValues}
onCancel={() => setvisible(false)}
onOK={(list) => handleModalOK(list)}
/>
</Card>
}
{
isSetting === false &&
<InitBase />
}
</PageHeaderWrapper>
)
}
export default PaySetting
/*
* @Author: HJX
* @Date: 2020-11-19 15:25:54
* @LastEditors: HJX
* @LastEditTime: 2020-11-19 15:25:54
*/
import React, { useState, useEffect} from 'react';
import { Button, Card, Tabs, Space, Input } from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { PublicApi } from '@/services/api';
import PayWayRadio from './components/payWayRadio';
import PayWayTable from './components/payWayTable';
import { set } from 'mobx';
const { TabPane } = Tabs
const PayWaySetTemplate: React.FC<{}> = () => {
const [config, setconfig] = useState<any>([]);
const [payItem, setPayItem] = useState<any>([]);
const [step, setStep] = useState<Array<number>>([]);
const payWayConfigInfo = () => {
// 支付配置信息
return new Promise(resolve => {
PublicApi.getPayMemberPayConfig().then(res => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
}
const initPayWayStart = (id: any) => {
return new Promise(resolve => {
PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => {
if (res.code === 1000) {
if (res.data) {
resolve(res)
}
}
})
}).then((res: any) => {
const data = [...payItem];
if (data.length > 0) {
data.forEach((item: any) => {
if (item.id === res.data.id) {
item.id = res.data.id;
item.isPitchOn = res.data.isPitchOn;
item.payParametersList = res.data.payParametersList;
item.payParametersAddListRequests = res.data.payParametersListResponses;
item.payType = res.data.payType;
item.way = res.data.way;
}
})
setPayItem([...data])
}
})
}
const handleTabClick = (key: any) => {
if (!step.includes(Number(key))) {
initPayWayStart(key);
}
const data = [...step, Number(key)];
let arr = [...new Set(data)]
setStep(arr);
}
useEffect(() => {
// 支付配置信息
payWayConfigInfo().then((res: any) => {
const id = res[0].id;
const arr: any[] = [];
res.forEach((item: any) => {
arr.push({
id: item.id,
way: item.way,
isPitchOn: item.isPitchOn ? item.isPitchOn : 0,
payType: item.payType,
payParametersList: [],
payParametersAddListRequests: []
})
})
setStep([...step, id])
setconfig(res);
/**第一次运行 */
PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => {
arr.forEach((item: any, index: number) => {
if (res.data) {
if (item.id === id) {
item.id = res.data.id;
item.isPitchOn = res.data.isPitchOn;
item.payParametersList = res.data.payParametersList;
item.payParametersAddListRequests = res.data.payParametersListResponses;
item.payType = res.data.payType;
item.way = res.data.way;
}
}
})
console.log(arr)
setPayItem([...arr]);
})
})
}, [])
const onChangeRaido = (e: any, index: number) => {
const data = [...payItem];
payItem[index].isPitchOn = e.target.value;
setPayItem(data);
}
const onGet = (value:any, type:number, idx:number) => {
const data = [...payItem];
if(type === 1) {
data[idx].payParametersAddListRequests = [...data[idx].payParametersAddListRequests, value]
} else {
data[idx].payParametersList.push(value)
}
setPayItem(data);
}
/**删除 */
const onDel = (value:any, index:number, idx:number) => {
console.log(value, index, idx, 10086)
const data = [...payItem];
if(Number(value) === 1) {
data[idx].payParametersAddListRequests.splice(index, 1);
data[idx].payParametersAddListRequests = [...data[idx].payParametersAddListRequests]
} else {
data[idx].payParametersList.splice(index, 1);
data[idx].payParametersList = [...data[idx].payParametersList]
}
setPayItem([...data]);
}
/**编辑 */
const onEdit = (value:any, type:number, index:number, idx: number) => {
console.log(value, type, index, idx)
const data = [...payItem];
if(type === 1) {
data[idx].payParametersAddListRequests[index] = {...value};
data[idx].payParametersAddListRequests = [...data[idx].payParametersAddListRequests]
} else {
data[idx].payParametersList[index] = {...value};
data[idx].payParametersList = [...data[idx].payParametersList]
}
console.log(data, 10086)
setPayItem(data);
}
/**保存更新 */
const onHnadleSubmit = () => {
PublicApi.postPayMemberQueryPlatformUpdate({
platformPayWays: payItem
}).then(res => {
if(res.code === 1000) {
location.reload();
}
})
}
return (
<PageHeaderWrapper
extra={<Button type='primary' onClick={onHnadleSubmit}>保存</Button>}
>
<Card>
<Tabs type="card" onTabClick={handleTabClick}>
{config.map((item: any, idx: number) =>
<TabPane tab={item.way} key={item.id} forceRender>
<>
{
payItem.length > 0 &&
<>
<PayWayRadio
name={payItem[idx].way}
value={payItem[idx].isPitchOn}
selectId={payItem[idx].id}
onChange={(value) => onChangeRaido(value, idx)}
/>
{(payItem[idx].id === 1 || payItem[idx].id === 2) &&
<PayWayTable
id={payItem[idx].id}
onType={payItem[idx].payType}
name={payItem[idx].way}
payParametersList={payItem[idx].payParametersList}
payParametersListResponses={payItem[idx].payParametersAddListRequests}
visible={!!payItem[idx].isPitchOn}
onGet={(value, t) => onGet(value, t, idx)}
onDel={(value, index) => onDel(value, index, idx)}
onEdit={(value, type, index) => onEdit(value, type, index, idx)}
/>
}
{
(payItem[idx].id === 6 && !!payItem[idx].isPitchOn) &&
payItem[idx].payParametersAddListRequests.map((item: any, index: number) => (
<div style={{ marginTop: 42 }} key={`space_${index}`}>
<Space direction="horizontal" size={16}>
初始申请额度不超过
<Input value={item.code} addonBefore="¥" />
允许满<Input value={item.value} />
天后申请上调<Input value={item.describe} addonAfter="%" />
</Space>
</div>
))
}
</>
}
</>
</TabPane>
)}
</Tabs>
</Card>
</PageHeaderWrapper>
)
};
export default PayWaySetTemplate;
/*
* @Author: LeeJiancong
* @Date: 2020-08-19 15:25:54
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-08-21 18:19:53
*/
import React, { useEffect, useState, useRef, Fragment } from 'react'
import { Card, Button, Tabs, Radio, Space, Row, Col, Table, Popconfirm, Input, Spin } from 'antd'
import { PlusOutlined, SaveOutlined } from '@ant-design/icons'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import EyePreview from '@/components/EyePreview'
import { createFormActions, FormEffectHooks, useFormEffects } from '@formily/antd'
import { GlobalConfig } from '@/global/config'
import { ColumnType } from 'antd/lib/table/interface'
import InitBase from '../components/initBase'
import SettingModal from '../components/settingModal'
import { PublicApi } from '@/services/api'
import { history } from 'umi'
import '../components/index.less'
const payActions = createFormActions()
const { TabPane } = Tabs
const { onFieldValueChange$ } = FormEffectHooks
const PaySetting: React.FC<{}> = () => {
const ref = useRef<any>({})
const [TabList, setTabList] = useState([])
const [mode, setmode] = useState<number>(0)
const [dataInfo, setdataInfo] = useState<any>({})
const [visible, setvisible] = useState<boolean>(false)
const [optionType, setoptionType] = useState(0)
const [isPitchOn, setisPitchOn] = useState<number>(0)
const [payParametersList, setpayParametersList] = useState<any>([])
const [payParametersListResponses, setpayParametersListResponses] = useState<any>([])
const [initialValues, setinitialValues] = useState({})
const [type, settype] = useState<any>(null)
const [hasEdit, sethasEdit] = useState<boolean>(false);
const [loading, setloading] = useState<boolean>(false);
/**
* @description: isSetting
* @param {type} 默认为已从pass平台为此账号配置好了策略
* @return {type}
*/
const [isSetting, setisSetting] = useState(true)
const [showInput, setshowInput] = useState(true) //是否显示授权
const [initParam, setinitParam] = useState({//授权参数
code: '',
value: '',
describe: ''
})
let [tabid, settabid] = useState<any>(null)//选项卡id
const [listID, setlistID] = useState(null)//表格id
let [tabOption, settabOption] = useState({
tab: 1,
type: 1
})
const handleAddMemberBtn = (id: string | number, type: number) => {
// console.log('id', id, 'type', type)
setmode(0)
settype(type)
setvisible(true)
setinitialValues({})
}
const handleEdit = (record: any, type: number | string, index: number) => {
setvisible(true)
setmode(1)//编辑还是新增
settype(type)
setlistID(record.id)
setinitialValues(record)
console.log('类型', type, '下标', index, 'record', record, 'listID:', listID)
}
//删除
const handleDeleteTable = (type: number, id: number, index) => {
let list: any = []
if (type === 1 || type === 3) {
list = [...payParametersListResponses]
list.splice(index, 1)
setpayParametersListResponses(list)
} else if (type === 2) {
list = [...payParametersList]
list.splice(index, 1)
setpayParametersList(list)
}
sethasEdit(true)
}
/**
* @description: 保存 编辑的时候遍历id是否一样 一样就替换
* @param {type} type: 1支付宝 2支付宝银行卡 3微信
* @return {type}
*/
const handleModalOK = (obj: any) => {
// console.log('选项卡:', tabid, '弹窗id:', type)
setvisible(false)
// console.log('选项卡:', tabid, '数据', obj,'mode:',mode)
if (mode === 0) {
if (type == 1 || type == 3) {
let list: any = []
obj.id = `obj-${payParametersListResponses.length}`
list.push(obj)
setpayParametersListResponses([...payParametersListResponses, ...list])
sethasEdit(true)
}
if (type == 2) {
let list: any = []
obj.id = `obj-${payParametersList.length}`
list.push(obj)
setpayParametersList([...payParametersList, ...list])
sethasEdit(true)
}
} else {
if (type == 1 || type == 3) {
let list = [...payParametersListResponses]
if (listID) {
list.forEach((v, i) => {
if (listID == v.id) {
list[i] = obj
}
})
}
setpayParametersListResponses([...list])
sethasEdit(true)
} else if (type == 2) {//支付宝银行卡
let list = [...payParametersList]
if (listID) {
list.forEach((v, i) => {
if (listID == v.id) {
list[i] = obj
}
})
}
setpayParametersList([...list])
sethasEdit(true)
}
}
}
const tableColumns: ColumnType<any>[] = [
{ dataIndex: 'code', title: '参数代码', align: 'center', render:(text:any, record:any) => <span>{record.name}</span> },
{ dataIndex: 'value', align: 'center', title: '参数值' },
{ dataIndex: 'describe', title: '参数描述', align: 'center' },
{
dataIndex: 'ctl', title: '操作', align: 'center', render: (_, record, index) =>
<>
<Button type='link' onClick={() => handleEdit(record, record.type, index)}>编辑</Button>
<Button type='link' onClick={() => handleDeleteTable(record.type, record.id, index)}>删除</Button>
</>
}
]
//初始化
const initBase = async (id) => {
setloading(true)
await PublicApi.getPayMemberQueryPlatformIsStart({ id: id }).then(res => {
if (res.code === 1000) {
let data = { payParametersListResponses: [], payParametersList: [], isPitchOn: 0, id: '' }
if (JSON.stringify(res.data) !== '{}') {
console.log('加载到')
let { id, isPitchOn, payParametersList, payParametersListResponses } = res.data
setisPitchOn(isPitchOn)
if (id == 6) {
let { id, code, value, describe } = payParametersListResponses[0] || {}
setinitParam({ ...initParam, code, value, describe })
} else {
payParametersList = payParametersList ? payParametersList : []
payParametersListResponses = payParametersListResponses ? payParametersListResponses : []
setpayParametersList(payParametersList)
setpayParametersListResponses(payParametersListResponses)
}
}
setloading(false)
} else {
setisPitchOn(0);
setloading(false)
}
})
}
useEffect(() => {
PublicApi.getPayMemberPayConfig().then(res => {
if (res.code === 1000) {
let ids = res.data.map((v, i) => v.id)
setTabList(res.data)
if (ids.length > 0) {
settabid(ids[0])
initBase(ids[0])
}
} else {
setisSetting(false)
}
})
return () => {
}
}, [])
const useTabEffects = () => {
}
/**
* @description: 提交表单 保存
* @param {type}
* @return {type}
*/
const handleSubmit = () => {
let list: any = []
if (tabid == 1) {
list = [...payParametersList, ...payParametersListResponses]
} else if (tabid == 2) {
list = [...payParametersListResponses]
} else if (tabid == 6) {
list = [{
type: type,
code: initParam.code,
value: initParam.value,
describe: initParam.describe
}]
} else {
list = []
}
let payType = TabList.filter(v => v.id == tabid).map(v => v.payType)
let way: any = TabList.filter(v => v.id == tabid).map(v => v.way)
// if(list.length > 0){
// list.forEach((v:any) => {
// if((v.id).toString().indexOf('obj') !== -1){
// v.id = ''
// }
// });
// }
console.log('list', list)
PublicApi.postPayMemberQueryPlatformUpdate({
platformPayWays:[
{
id: tabid,
isPitchOn: isPitchOn,
way: way.toString(),
payType: Number(payType),
payParametersAddListRequests: list
}
]
}).then(res => {
if (res.code === 1000) {
setTimeout(() => {
history.push('/memberCenter/payandSettle/paySetting/payParamsSetting')
}, 1500)
}
})
}
const changeTab = (tab) => {
settabid(tab)
if (tab == 6) {//授信
settype(tab)
}
if(!!isPitchOn) {
setshowInput(true)
}else {
setshowInput(false)
}
initBase(tab)
}
const changeRadio = (e) => {
setisPitchOn(e.target.value)
if (tabid == 6 && e.target.value) {
setshowInput(true)
} else {
setshowInput(false)
}
}
const options = [{ label: '是', value: 1 }, { label: '否', value: 0 }]
return (
<PageHeaderWrapper
extra={
hasEdit ?
<Popconfirm title="配置已修改,是否保存?" okText="是" cancelText="否" onConfirm={() =>
handleSubmit()
}>
<Button type="primary" icon={<SaveOutlined />} >
保存
</Button>
</Popconfirm>
:
<Button type="primary" onClick={() => handleSubmit()} icon={<SaveOutlined />} >
保存
</Button>
}
>
{
isSetting &&
<Card>
<Tabs onTabClick={(e) => changeTab(e)} type="card">
{
TabList.map((v, i) => {
return <Fragment key={v.id}>
<TabPane tab={`${v.way}`} key={v.id} forceRender>
<Spin spinning={loading}>
<Space size={49}>
<span>是否开启{v.way}</span>
<Radio.Group
className='radio-group-box'
size="small"
value={isPitchOn}
buttonStyle="solid"
options={options}
optionType="button"
onChange={value => changeRadio(value)} />
</Space>
{
(v.id === 1 || v.id === 2) &&
<Row>
<Col ><div style={{ borderLeft: '2px solid #00B37A', margin: '41px 0 8px', padding: '1px 5px' }}>{v.way}参数配置</div></Col>
<Col span={24}>
<Table dataSource={payParametersListResponses} columns={tableColumns} pagination={false} />
{
v.id == 1 ?
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => handleAddMemberBtn(`${v.id}`, 1)} type='dashed'>新增参数配置</Button>
:
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => handleAddMemberBtn(`${v.id}`, 3)} type='dashed'>新增参数配置</Button>
}
</Col>
</Row>
}
{
v.id === 1 &&
<Row>
<Col ><div style={{ borderLeft: '2px solid #00B37A', margin: '41px 0 8px', padding: '1px 5px' }}>{v.way}转账到银行卡参数配置</div></Col>
<Col span={24}>
<Table dataSource={payParametersList} columns={tableColumns} pagination={false} />
<Button style={{ marginBottom: 16, marginTop: 24 }} block icon={<PlusOutlined />} onClick={() => handleAddMemberBtn(`${v.id}`, 2)} type='dashed'>新增参数配置</Button>
</Col>
</Row>
}
{
(v.id === 6 && showInput) &&
<div style={{ marginTop: 42 }}>
<Space direction="horizontal" size={16}>
初始申请额度不超过
<Input value={initParam.code} addonBefore="¥" onChange={e => setinitParam({ ...initParam, code: e.target.value })} />
允许满<Input value={initParam.value} onChange={e => setinitParam({ ...initParam, value: e.target.value })} />
天后申请上调<Input value={initParam.describe} addonAfter="%" onChange={e => setinitParam({ ...initParam, describe: e.target.value })} />
</Space>
</div>
}
</Spin>
</TabPane>
</Fragment>
})
}
</Tabs>
<SettingModal
mode={mode}
id={listID}
type={type}
dialogVisible={visible}
initialValues={initialValues}
onCancel={() => setvisible(false)}
onOK={(list) => handleModalOK(list)}
/>
</Card>
}
{
isSetting === false &&
<InitBase />
}
</PageHeaderWrapper>
)
}
export default PaySetting
/*
* @Author: HJX
* @Date: 2020-11-19 15:25:54
* @LastEditors: HJX
* @LastEditTime: 2020-11-19 15:25:54
*/
import React, { useState, useEffect } from 'react';
import { Button, Card, Tabs, Space, Input } from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { PublicApi } from '@/services/api';
import PayWayRadio from './components/payWayRadio';
import PayWayTable from './components/payWayTable';
import { set } from 'mobx';
const { TabPane } = Tabs
const PayWaySetTemplate: React.FC<{}> = () => {
const [config, setconfig] = useState<any>([]);
const [payItem, setPayItem] = useState<any>([]);
const [step, setStep] = useState<Array<number>>([]);
const payWayConfigInfo = () => {
// 支付配置信息
return new Promise(resolve => {
PublicApi.getPayMemberPayConfig().then(res => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
}
const initPayWayStart = (id: any) => {
return new Promise(resolve => {
PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => {
if (res.code === 1000) {
if (res.data) {
resolve(res)
}
}
})
}).then((res: any) => {
const data = [...payItem];
if (data.length > 0) {
data.forEach((item: any) => {
if (item.id === res.data.id) {
item.id = res.data.id;
item.isPitchOn = res.data.isPitchOn;
item.payParametersList = res.data.payParametersList;
item.payParametersAddListRequests = res.data.payParametersListResponses;
item.payType = res.data.payType;
item.way = res.data.way;
}
})
setPayItem([...data])
}
})
}
const handleTabClick = (key: any) => {
if (!step.includes(Number(key))) {
initPayWayStart(key);
}
const data = [...step, Number(key)];
let arr = [...new Set(data)]
setStep(arr);
}
useEffect(() => {
// 支付配置信息
payWayConfigInfo().then((res: any) => {
const id = res[0].id;
const arr: any[] = [];
res.forEach((item: any) => {
arr.push({
id: item.id,
way: item.way,
isPitchOn: item.isPitchOn ? item.isPitchOn : 0,
payType: item.payType,
payParametersList: [],
payParametersAddListRequests: []
})
})
setStep([...step, id])
setconfig(res);
/**第一次运行 */
PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => {
arr.forEach((item: any, index: number) => {
if (res.data) {
if (item.id === id) {
item.id = res.data.id;
item.isPitchOn = res.data.isPitchOn;
item.payParametersList = res.data.payParametersList;
item.payParametersAddListRequests = res.data.payParametersListResponses;
item.payType = res.data.payType;
item.way = res.data.way;
}
}
})
console.log(arr)
setPayItem([...arr]);
})
})
}, [])
const onChangeRaido = (e: any, index: number) => {
const data = [...payItem];
payItem[index].isPitchOn = e.target.value;
setPayItem(data);
}
const onGet = (value:any, type:number, idx:number) => {
const data = [...payItem];
if(type === 1) {
data[idx].payParametersAddListRequests = [...data[idx].payParametersAddListRequests, value]
} else {
data[idx].payParametersList.push(value)
}
setPayItem(data);
}
/**删除 */
const onDel = (value:any, index:number, idx:number) => {
console.log(value, index, idx, 10086)
const data = [...payItem];
if(Number(value) === 1) {
data[idx].payParametersAddListRequests.splice(index, 1);
data[idx].payParametersAddListRequests = [...data[idx].payParametersAddListRequests]
} else {
data[idx].payParametersList.splice(index, 1);
data[idx].payParametersList = [...data[idx].payParametersList]
}
setPayItem([...data]);
}
/**编辑 */
const onEdit = (value:any, index:number) => {
}
/**保存更新 */
const onHnadleSubmit = () => {
console.log(payItem);
}
return (
<PageHeaderWrapper
extra={<Button type='primary' onClick={onHnadleSubmit}>保存</Button>}
>
<Card>
<Tabs type="card" onTabClick={handleTabClick}>
{config.map((item: any, idx: number) =>
<TabPane tab={item.way} key={item.id} forceRender>
<>
{
payItem.length > 0 &&
<>
<PayWayRadio
name={payItem[idx].way}
value={payItem[idx].isPitchOn}
selectId={payItem[idx].id}
onChange={(value) => onChangeRaido(value, idx)}
/>
{(payItem[idx].id === 1 || payItem[idx].id === 2) &&
<PayWayTable
id={payItem[idx].id}
onType={payItem[idx].payType}
name={payItem[idx].way}
payParametersList={payItem[idx].payParametersList}
payParametersListResponses={payItem[idx].payParametersAddListRequests}
visible={!!payItem[idx].isPitchOn}
onGet={(value, t) => onGet(value, t, idx)}
onDel={(value, index) => onDel(value, index, idx)}
onEdit={onEdit}
/>
}
{
payItem[idx].id === 6 &&
payItem[idx].payParametersAddListRequests.map((item: any, index: number) => (
<div style={{ marginTop: 42 }}>
<Space direction="horizontal" size={16}>
初始申请额度不超过
<Input value={item.code} addonBefore="¥" />
允许满<Input value={item.value} />
天后申请上调<Input value={item.describe} addonAfter="%" />
</Space>
</div>
))
}
</>
}
</>
</TabPane>
)}
</Tabs>
</Card>
</PageHeaderWrapper>
)
};
export default PayWaySetTemplate;
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