You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
6.1 KiB
180 lines
6.1 KiB
2 days ago
|
import { View } from '@tarojs/components';
|
||
|
import { Button, CapsuleTabs, Form, Modal, Toast } from 'antd-mobile';
|
||
|
|
||
|
import FormImage from '/components/FormImage';
|
||
|
import FormLabel from '/components/FormLabel';
|
||
|
import React, { useEffect, useMemo, useState } from 'react';
|
||
|
import { getOrderInfoAction } from '/request/actions';
|
||
|
import { getUrlParam } from '/utils';
|
||
|
import Taro from '@tarojs/taro';
|
||
|
|
||
|
// import Alipay from '../Alipay';
|
||
|
// import Wxpay from '../Wxpay';
|
||
|
// import BankPay from '../BankPay';
|
||
|
|
||
|
// import aliSrc from '/assets/icons/ali.svg';
|
||
|
// import wxSrc from '/assets/icons/wx.svg';
|
||
|
// import bankSrc from '/assets/icons/bank.svg';
|
||
|
import { orderConfirmAction } from '../../../../request/actions';
|
||
|
|
||
|
import styles from './index.module.less';
|
||
|
|
||
|
// const TabItem = ({ src, text }) => (
|
||
|
// <View className={styles['tabitem']}>
|
||
|
// <img src={src} />
|
||
|
// {text}
|
||
|
// </View>
|
||
|
// );
|
||
|
|
||
|
export default function FormBar() {
|
||
|
const [form] = Form.useForm();
|
||
|
// const [showFee, updateShowFee] = useState(false);
|
||
|
|
||
|
useEffect(() => {
|
||
|
getOrderInfoAction({
|
||
|
orderId: getUrlParam('orderId')
|
||
|
}).then(res => {
|
||
|
const orderShopInfo = res.orderShopInfo || {};
|
||
|
const feeShopInfo = res.feeShopInfo || {};
|
||
|
const _orderShopInfo = Object.keys(orderShopInfo).reduce((res, key) => {
|
||
|
return {
|
||
|
...res,
|
||
|
[`pay-${key}`]: orderShopInfo[key]
|
||
|
}
|
||
|
}, {});
|
||
|
const _feeShopInfo = Object.keys(orderShopInfo).reduce((res, key) => {
|
||
|
return {
|
||
|
...res,
|
||
|
[`fee-${key}`]: feeShopInfo[key]
|
||
|
}
|
||
|
}, {});
|
||
|
form.setFieldsValue({
|
||
|
...res,
|
||
|
..._orderShopInfo,
|
||
|
..._feeShopInfo
|
||
|
});
|
||
|
|
||
|
// updateShowFee(res.feePrice || res.feeImage || res.feeShopInfo)
|
||
|
});
|
||
|
}, []);
|
||
|
|
||
|
const handleSubmit = () => {
|
||
|
Modal.confirm({
|
||
|
title: '是否确认收款?',
|
||
|
onConfirm: async () => {
|
||
|
try {
|
||
|
const orderId = getUrlParam('orderId');
|
||
|
await orderConfirmAction({ orderId });
|
||
|
Toast.show({
|
||
|
icon: 'success',
|
||
|
content: '已成功确认收款信息'
|
||
|
});
|
||
|
Taro.navigateTo({
|
||
|
url: '/pages/dataset/index'
|
||
|
});
|
||
|
}
|
||
|
catch (err) {
|
||
|
console.log('err: ', err);
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
};
|
||
|
|
||
|
// const way = Form.useWatch('way', form);
|
||
|
// const feeway = Form.useWatch('feeway', form);
|
||
|
|
||
|
// const detailRenderer = useMemo(() => {
|
||
|
// return {
|
||
|
// alipay: <Alipay namePrefix='pay' />,
|
||
|
// wx: <Wxpay namePrefix='pay' />,
|
||
|
// bank: <BankPay namePrefix='pay' />
|
||
|
// }[way];
|
||
|
// }, [way]);
|
||
|
|
||
|
// const feeDetailRenderer = useMemo(() => {
|
||
|
// return {
|
||
|
// alipay: <Alipay namePrefix='fee' />,
|
||
|
// wx: <Wxpay namePrefix='fee' />,
|
||
|
// bank: <BankPay namePrefix='fee' />
|
||
|
// }[feeway];
|
||
|
// }, [feeway]);
|
||
|
|
||
|
const payImage = Form.useWatch('payImage', form);
|
||
|
const feeImage = Form.useWatch('feeImage', form);
|
||
|
|
||
|
return (
|
||
|
<View className={styles.container}>
|
||
|
<Form form={form} className={styles.form} layout='horizontal' >
|
||
|
<View className={styles.title}>
|
||
|
收款信息
|
||
|
</View>
|
||
|
<Form.Item name='orderId' label='订单编号' childElementPosition='right'>
|
||
|
<FormLabel />
|
||
|
</Form.Item>
|
||
|
<Form.Item name='orderDate' label='订单日期' childElementPosition='right'>
|
||
|
<FormLabel />
|
||
|
</Form.Item>
|
||
|
<Form.Item name='orderPrice' label='订单金额' childElementPosition='right'>
|
||
|
<FormLabel render={val => `¥${val || 0}`} />
|
||
|
</Form.Item>
|
||
|
<Form.Item name='feePrice' label='服务费金额' childElementPosition='right'>
|
||
|
<FormLabel render={val => `¥${val || 0}`} />
|
||
|
</Form.Item>
|
||
|
<Form.Item name='payUserTelephone' label='付款账号' childElementPosition='right'>
|
||
|
<FormLabel />
|
||
|
</Form.Item>
|
||
|
<Form.Item style={!payImage ? { display: 'none' } : {}} name='payImage' label='付款凭证' childElementPosition='right'>
|
||
|
<FormImage readonly />
|
||
|
</Form.Item>
|
||
|
<Form.Item style={!feeImage ? { display: 'none' } : {}} name='feeImage' label='服务费凭证' childElementPosition='right'>
|
||
|
<FormImage readonly />
|
||
|
</Form.Item>
|
||
|
{/* <Form.Item
|
||
|
name='way'
|
||
|
label='提现方式'
|
||
|
valuePropName='activeKey'
|
||
|
initialValue='alipay'
|
||
|
childElementPosition='right'
|
||
|
>
|
||
|
<CapsuleTabs style={{ padding: 0 }}>
|
||
|
<CapsuleTabs.Tab title={<TabItem text='支付宝' src={aliSrc} />} key='alipay' />
|
||
|
<CapsuleTabs.Tab title={<TabItem text='微信' src={wxSrc} />} key='wx' />
|
||
|
<CapsuleTabs.Tab title={<TabItem text='银行卡' src={bankSrc} />} key='bank' />
|
||
|
</CapsuleTabs>
|
||
|
</Form.Item>
|
||
|
{detailRenderer}
|
||
|
{showFee && (
|
||
|
<React.Fragment>
|
||
|
<View className={styles.title}>
|
||
|
服务费收款信息
|
||
|
</View>
|
||
|
<Form.Item name='feePrice' label='服务费' childElementPosition='right'>
|
||
|
<FormLabel render={val => `¥${val || 0}`} />
|
||
|
</Form.Item>
|
||
|
<Form.Item name='feeImage' label='服务费付款凭证' childElementPosition='right'>
|
||
|
<FormImage readonly />
|
||
|
</Form.Item>
|
||
|
<Form.Item
|
||
|
name='feeway'
|
||
|
label='提现方式'
|
||
|
valuePropName='activeKey'
|
||
|
initialValue='alipay'
|
||
|
childElementPosition='right'
|
||
|
>
|
||
|
<CapsuleTabs style={{ padding: 0 }}>
|
||
|
<CapsuleTabs.Tab title={<TabItem text='支付宝' src={aliSrc} />} key='alipay' />
|
||
|
<CapsuleTabs.Tab title={<TabItem text='微信' src={wxSrc} />} key='wx' />
|
||
|
<CapsuleTabs.Tab title={<TabItem text='银行卡' src={bankSrc} />} key='bank' />
|
||
|
</CapsuleTabs>
|
||
|
</Form.Item>
|
||
|
{feeDetailRenderer}
|
||
|
</React.Fragment>
|
||
|
)} */}
|
||
|
</Form >
|
||
|
<Button color='primary' shape='rounded' className={styles.submit} onClick={handleSubmit}>
|
||
|
确认收款
|
||
|
</Button>
|
||
|
</View>
|
||
|
)
|
||
|
}
|