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

修改支付参数设置接口

parent 8a3511ae
...@@ -34,7 +34,7 @@ export const productModalByMemberSchema: ISchema = { ...@@ -34,7 +34,7 @@ export const productModalByMemberSchema: ISchema = {
"x-component-props": { "x-component-props": {
placeholder: '请选择品类', placeholder: '请选择品类',
className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ?? className: 'fixed-ant-selected-down', // 该类强制将显示的下拉框出现在select下, 只有这里出现问题, ??
fetchSearch: PublicApi.getProductSelectGetSelectCustomerCategory, fetchSearch: PublicApi.getProductSelectGetMemberCategory,
style: { style: {
width: 160 width: 160
} }
...@@ -45,7 +45,7 @@ export const productModalByMemberSchema: ISchema = { ...@@ -45,7 +45,7 @@ export const productModalByMemberSchema: ISchema = {
"x-component": 'SearchSelect', "x-component": 'SearchSelect',
"x-component-props": { "x-component-props": {
placeholder: '请选择品牌', placeholder: '请选择品牌',
fetchSearch: PublicApi.getProductSelectGetSelectBrand, fetchSearch: PublicApi.getProductSelectGetMemberBrand,
style: { style: {
width: 160 width: 160
} }
......
...@@ -16,7 +16,7 @@ const { TabPane } = Tabs ...@@ -16,7 +16,7 @@ const { TabPane } = Tabs
const PayWaySetTemplate: React.FC<{}> = () => { const PayWaySetTemplate: React.FC<{}> = () => {
const [config, setconfig] = useState<any>([]); const [config, setconfig] = useState<any>([]);
const [payItem, setPayItem] = useState<any>([]); const [payItem, setPayItem] = useState<any>([]);
const [step, setStep] = useState<Array<number>>([]); // const [step, setStep] = useState<Array<number>>([]);
const [obj, setObj] = useState<any>({}); const [obj, setObj] = useState<any>({});
const payWayConfigInfo = () => { const payWayConfigInfo = () => {
// 支付配置信息 // 支付配置信息
...@@ -29,76 +29,76 @@ const PayWaySetTemplate: React.FC<{}> = () => { ...@@ -29,76 +29,76 @@ const PayWaySetTemplate: React.FC<{}> = () => {
}) })
} }
const initPayWayStart = (id: any) => { // const initPayWayStart = (id: any) => {
return new Promise(resolve => { // return new Promise(resolve => {
PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => { // PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => {
if (res.code === 1000) { // if (res.code === 1000) {
if (res.data) { // if (res.data) {
resolve(res) // resolve(res)
} // }
} // }
}) // })
}).then((res: any) => { // }).then((res: any) => {
const data = [...payItem]; // const data = [...payItem];
if (data.length > 0) { // if (data.length > 0) {
data.forEach((item: any) => { // data.forEach((item: any) => {
if (item.id === res.data.id) { // if (item.id === res.data.id) {
item.id = res.data.id; // item.id = res.data.id;
item.isPitchOn = res.data.isPitchOn; // item.isPitchOn = res.data.isPitchOn;
item.payParametersList = res.data.payParametersList; // item.payParametersList = res.data.payParametersList;
item.payParametersAddListRequests = res.data.payParametersListResponses; // item.payParametersAddListRequests = res.data.payParametersListResponses;
item.payType = res.data.payType; // item.payType = res.data.payType;
item.way = res.data.way; // item.way = res.data.way;
} // }
}) // })
setPayItem([...data]) // setPayItem([...data])
} // }
}) // })
} // }
const handleTabClick = (key: any) => { // const handleTabClick = (key: any) => {
if (!step.includes(Number(key))) { // if (!step.includes(Number(key))) {
initPayWayStart(key); // initPayWayStart(key);
} // }
const data = [...step, Number(key)]; // const data = [...step, Number(key)];
let arr = [...new Set(data)] // let arr = [...new Set(data)]
setStep(arr); // setStep(arr);
} // }
useEffect(() => { useEffect(() => {
// 支付配置信息 // 支付配置信息
payWayConfigInfo().then((res: any) => { payWayConfigInfo().then((res: any) => {
const id = res[0].id;
const arr: any[] = []; const arr: any[] = [];
console.log(res)
res.forEach((item: any) => { res.forEach((item: any) => {
arr.push({ arr.push({
id: item.id, id: item.id,
way: item.way, way: item.way,
isPitchOn: item.isPitchOn ? item.isPitchOn : 0, isPitchOn: item.isPitchOn ? item.isPitchOn : 0,
payType: item.payType, payType: item.payType,
payParametersList: [], payParametersList: item.payParametersList ? item.payParametersList : [],
payParametersAddListRequests: [] payParametersAddListRequests: item.payParametersListResponses ? item.payParametersListResponses : []
}) })
}) })
setStep([...step, id]) // setStep([...step, id])
setconfig(res); setconfig([...res]);
/**第一次运行 */ // /**第一次运行 */
PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => { // PublicApi.getPayMemberQueryPlatformIsStart({ id }).then(res => {
arr.forEach((item: any, index: number) => { // arr.forEach((item: any, index: number) => {
if (res.data) { // if (res.data) {
if (item.id === id) { // if (item.id === id) {
item.id = res.data.id; // item.id = res.data.id;
item.isPitchOn = res.data.isPitchOn; // item.isPitchOn = res.data.isPitchOn;
item.payParametersList = res.data.payParametersList; // item.payParametersList = res.data.payParametersList;
item.payParametersAddListRequests = res.data.payParametersListResponses; // item.payParametersAddListRequests = res.data.payParametersListResponses;
item.payType = res.data.payType; // item.payType = res.data.payType;
item.way = res.data.way; // item.way = res.data.way;
} // }
} // }
}) // })
console.log(arr) // console.log(arr)
setPayItem([...arr]); setPayItem([...arr]);
}) // })
}) })
}, []) }, [])
...@@ -161,18 +161,24 @@ const PayWaySetTemplate: React.FC<{}> = () => { ...@@ -161,18 +161,24 @@ const PayWaySetTemplate: React.FC<{}> = () => {
/** */ /** */
const handleBlur = (e, name, idx) => { const handleBlur = (e, name, idx) => {
const data = [...payItem]; const data = [...payItem];
const assginObj = {...obj, ...{[name]: e.target.value}} const payParametersAddListRequests = data[idx].payParametersAddListRequests;
setObj(assginObj) payParametersAddListRequests.map(item => {
const arr: any[] = [] for(let key in item) {
arr.push(assginObj) if(key === name) {
data[idx].payParametersAddListRequests = [...arr] item[key] = e.target.value
}
}
item.type = 6;
})
data[idx].payParametersAddListRequests = [...payParametersAddListRequests]
setPayItem(data)
} }
return ( return (
<PageHeaderWrapper <PageHeaderWrapper
extra={<Button type='primary' onClick={onHnadleSubmit}>保存</Button>} extra={<Button type='primary' onClick={onHnadleSubmit}>保存</Button>}
> >
<Card> <Card>
<Tabs type="card" onTabClick={handleTabClick}> <Tabs type="card">
{config.map((item: any, idx: number) => {config.map((item: any, idx: number) =>
<TabPane tab={item.way} key={item.id} forceRender> <TabPane tab={item.way} key={item.id} forceRender>
<> <>
......
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { Form, Input, Button } from 'antd'; import { Form, Input, Button } from 'antd';
import styles from './index.less'; import styles from './index.less';
import { LinkOutlined } from '@ant-design/icons'; import { LinkOutlined } from '@ant-design/icons';
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'; import { useRowSelectionTable } from '@/hooks/useRowSelectionTable';
import { ISchema } from '@formily/antd'; import { ISchema } from '@formily/antd';
import ModalTable from '@/components/ModalTable' import ModalTable from '@/components/ModalTable'
import { PublicApi } from '@/services/api' import { PublicApi } from '@/services/api'
import { history } from 'umi' import { history } from 'umi'
import { quoteOrderInternalState, inquiryQuoteOuterState } from '../../../common/tableStatusList'; import { quoteOrderInternalState, inquiryQuoteOuterState } from '../../../common/tableStatusList';
import moment from 'moment'; import moment from 'moment';
const layout: any = { const layout: any = {
colon: false, colon: false,
labelCol: { style: { width: '100px' } }, labelCol: { style: { width: '100px' } },
wrapperCol: { span: 9 }, wrapperCol: { span: 9 },
labelAlign: "left" labelAlign: "left"
}; };
const { Search } = Input; const { Search } = Input;
interface queryProps { interface queryProps {
currentRef?: any, currentRef?: any,
getMemberList?: Function, getMemberList?: Function,
editData: any editData: any
type?: number type?: number
} }
const BasicInfo: React.FC<queryProps> = (props) => { const BasicInfo: React.FC<queryProps> = (props) => {
const format = (text) => { const format = (text) => {
return <>{moment(text).format("YYYY-MM-DD HH:mm:ss")}</> return <>{moment(text).format("YYYY-MM-DD HH:mm:ss")}</>
} }
const [basicform] = Form.useForm(); const [basicform] = Form.useForm();
const { getMemberList, currentRef, editData, type } = props; const { getMemberList, currentRef, editData, type } = props;
// 会员添加弹窗控制 // 会员添加弹窗控制
const [visibleChannelMember, setVisibleChannelMember] = useState(false); const [visibleChannelMember, setVisibleChannelMember] = useState(false);
const [memberName, setmemberName] = useState<any>(); const [memberName, setmemberName] = useState<any>();
const [memberId, setmemberId] = useState<any>(); const [memberId, setmemberId] = useState<any>();
const [roleId, setroleId] = useState<any>(); const [roleId, setroleId] = useState<any>();
const [memberRowSelection, memberRowCtl] = useRowSelectionTable({ customKey: 'memberId', type: 'radio' }); const [memberRowSelection, memberRowCtl] = useRowSelectionTable({ customKey: 'memberId', type: 'radio' });
const handleOkAddMember = () => { const handleOkAddMember = () => {
setVisibleChannelMember(false) setVisibleChannelMember(false)
const memberInfo = { const memberInfo = {
name: memberRowCtl.selectRow[0].name, name: memberRowCtl.selectRow[0].name,
memberId: memberRowCtl.selectRow[0].memberId memberId: memberRowCtl.selectRow[0].memberId,
} memberRoleId: memberRowCtl.selectRow[0].roleId
setmemberId(memberRowCtl.selectRow[0].memberId) }
setroleId(memberRowCtl.selectRow[0].roleId) setmemberId(memberRowCtl.selectRow[0].memberId)
setmemberName(memberRowCtl.selectRow[0].name); setroleId(memberRowCtl.selectRow[0].roleId)
getMemberList(memberInfo); // 回传给父级 setmemberName(memberRowCtl.selectRow[0].name);
} getMemberList(memberInfo); // 回传给父级
const handleCancelAddMember = () => { }
setVisibleChannelMember(false) const handleCancelAddMember = () => {
} setVisibleChannelMember(false)
const columnsSetMember: any[] = [ }
{ const columnsSetMember: any[] = [
title: 'ID', {
dataIndex: 'memberId', title: 'ID',
key: 'memberId', dataIndex: 'memberId',
}, key: 'memberId',
{ },
title: '会员名称', {
dataIndex: 'name', title: '会员名称',
key: 'name', dataIndex: 'name',
}, key: 'name',
{ },
title: '会员类型', {
dataIndex: 'memberTypeName', title: '会员类型',
key: 'memberTypeName', dataIndex: 'memberTypeName',
}, key: 'memberTypeName',
{ },
title: '会员角色', {
dataIndex: 'roleName', title: '会员角色',
key: 'roleName', dataIndex: 'roleName',
}, key: 'roleName',
{ },
title: '会员等级', {
dataIndex: 'levelTag', title: '会员等级',
key: 'levelTag', dataIndex: 'levelTag',
} key: 'levelTag',
] }
const formSearch: ISchema = { ]
type: 'object', const formSearch: ISchema = {
properties: { type: 'object',
name: { properties: {
type: 'string', name: {
"x-component": 'Search', type: 'string',
"x-component-props": { "x-component": 'Search',
placeholder: '请输入会员名称' "x-component-props": {
} placeholder: '请输入会员名称'
} }
} }
} }
// 请求 }
const fetchMemberList = async (params) => { // 请求
console.log(params) const fetchMemberList = async (params) => {
return new Promise((resolve, reject) => { console.log(params)
PublicApi.getMemberManagePlatformProviderPage({...params}).then(res => { return new Promise((resolve, reject) => {
resolve(res.data) PublicApi.getMemberManagePlatformProviderPage({...params}).then(res => {
}) resolve(res.data)
}); })
} });
// 选择会员弹框结束 }
useEffect(() => { // 选择会员弹框结束
if(memberName) { useEffect(() => {
basicform.setFieldsValue({'memberId': memberId ? memberId : undefined}) if(memberName) {
} basicform.setFieldsValue({'memberId': memberId ? memberId : undefined})
},[memberName]) }
/************* 页面的一些操作start *************/ },[memberName])
/************* 页面的一些操作start *************/
// 拿到表单数据
const hadnleValidateFields = () => { // 拿到表单数据
return new Promise((resolve) => { const hadnleValidateFields = () => {
basicform.validateFields().then(values => { return new Promise((resolve) => {
resolve({ basicform.validateFields().then(values => {
state: true, resolve({
data: { state: true,
details: values.details, data: {
memberId: values.memberId, details: values.details,
} memberId: values.memberId,
}) }
}).catch(errorInfo => { })
resolve({state: false}) }).catch(errorInfo => {
}) resolve({state: false})
}) })
} })
useEffect(() => { }
if (currentRef) { useEffect(() => {
const userAction = { if (currentRef) {
validateFields: () => hadnleValidateFields() const userAction = {
} validateFields: () => hadnleValidateFields()
if (currentRef && typeof currentRef === 'function') { }
currentRef(userAction); if (currentRef && typeof currentRef === 'function') {
} currentRef(userAction);
if (currentRef && typeof currentRef !== 'function') { }
currentRef.current = userAction; if (currentRef && typeof currentRef !== 'function') {
} currentRef.current = userAction;
} }
},[]) }
},[])
useEffect(() => {
if(Object.keys(editData).length > 0) { useEffect(() => {
basicform.setFieldsValue({ if(Object.keys(editData).length > 0) {
details: editData.details, basicform.setFieldsValue({
}) details: editData.details,
setmemberName(editData.memberName) })
setmemberId(editData.memberId) setmemberName(editData.memberName)
setroleId(editData.roleId) setmemberId(editData.memberId)
} setroleId(editData.roleId)
}, [editData]) }
}, [editData])
/************* 页面的一些操作end *************/
return ( /************* 页面的一些操作end *************/
<> return (
<Form <>
{...layout} <Form
form={basicform} {...layout}
className={styles.revise_style} form={basicform}
> className={styles.revise_style}
<Form.Item label='询价单摘要' name='details' rules={[{ required: true, message: '请输入询价单摘要' }]}> >
<Input /> <Form.Item label='询价单摘要' name='details' rules={[{ required: true, message: '请输入询价单摘要' }]}>
</Form.Item> <Input />
<Form.Item label='被询价会员' name='memberId' rules={[{ required: true, message: '请选择被询价会员' }]}> </Form.Item>
<Search disabled={type === 3} value={memberName ? memberName : undefined} readOnly enterButton={<><LinkOutlined /> 选择</>} onSearch={()=>setVisibleChannelMember(true)} /> <Form.Item label='被询价会员' name='memberId' rules={[{ required: true, message: '请选择被询价会员' }]}>
{memberName && <Button type='link' onClick={() => window.open(`/shop?shopId=${btoa(JSON.stringify({memberId, roleId}))}`)}>查看会员详情</Button>} <Search disabled={type === 3} value={memberName ? memberName : undefined} readOnly enterButton={<><LinkOutlined /> 选择</>} onSearch={()=>setVisibleChannelMember(true)} />
</Form.Item> {memberName && <Button type='link' onClick={() => window.open(`/shop?shopId=${btoa(JSON.stringify({memberId, roleId}))}`)}>查看会员详情</Button>}
<Form.Item label='询价单号' name='orderNumber'> </Form.Item>
<span>{(Object.keys(editData).length > 0 && editData.inquiryListNo) ? editData.inquiryListNo : '-'}</span> <Form.Item label='询价单号' name='orderNumber'>
</Form.Item> <span>{(Object.keys(editData).length > 0 && editData.inquiryListNo) ? editData.inquiryListNo : '-'}</span>
<Form.Item label='单据时间' name='time'> </Form.Item>
<span>{(Object.keys(editData).length > 0 && editData.voucherTime) ? format(editData.voucherTime) : '-'}</span> <Form.Item label='单据时间' name='time'>
</Form.Item> <span>{(Object.keys(editData).length > 0 && editData.voucherTime) ? format(editData.voucherTime) : '-'}</span>
<Form.Item label='外部状态' name='external'> </Form.Item>
<span>{(Object.keys(editData).length > 0 && editData.externalState) ? inquiryQuoteOuterState(editData.externalState) : '-'}</span> <Form.Item label='外部状态' name='external'>
</Form.Item> <span>{(Object.keys(editData).length > 0 && editData.externalState) ? inquiryQuoteOuterState(editData.externalState) : '-'}</span>
<Form.Item label='内部状态' name='internal'> </Form.Item>
<span>{(Object.keys(editData).length > 0 && editData.interiorState) ? quoteOrderInternalState(editData.interiorState) : '-'}</span> <Form.Item label='内部状态' name='internal'>
</Form.Item> <span>{(Object.keys(editData).length > 0 && editData.interiorState) ? quoteOrderInternalState(editData.interiorState) : '-'}</span>
</Form> </Form.Item>
{/* 选择会员弹框 */} </Form>
<ModalTable {/* 选择会员弹框 */}
modalTitle='选择会员' <ModalTable
confirm={handleOkAddMember} modalTitle='选择会员'
cancel={handleCancelAddMember} confirm={handleOkAddMember}
visible={visibleChannelMember} cancel={handleCancelAddMember}
forceRender={visibleChannelMember} visible={visibleChannelMember}
resetModal={{destroyOnClose: true, forceRender: true}} forceRender={visibleChannelMember}
columns={columnsSetMember} resetModal={{destroyOnClose: true, forceRender: true}}
rowSelection={memberRowSelection} columns={columnsSetMember}
fetchTableData={params => fetchMemberList(params)} rowSelection={memberRowSelection}
formilyProps={ fetchTableData={params => fetchMemberList(params)}
{ formilyProps={
ctx: { schema: formSearch } {
} ctx: { schema: formSearch }
} }
tableProps={{ }
rowKey: 'memberId', tableProps={{
}} rowKey: 'memberId',
/> }}
</> />
) </>
} )
}
export default BasicInfo
\ No newline at end of file export default BasicInfo
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