Commit e658a699 authored by XieZhiXiong's avatar XieZhiXiong

静态开发中

parent a604c3c8
......@@ -8,7 +8,7 @@
import ExchangeRoute from './exchangeRoute'
import ExchangeHandleRoute from './exchangeHandleRoute'
import ReturnedRoute from './returnedRoute'
import ReturnRoute from './returnRoute'
import ReturnedHandleRoute from './returnHandleRoute'
import RepairRoute from './repairRoute'
import RepairManageRoute from './repairManageRoute'
......@@ -20,7 +20,7 @@ const AfterServiceRoute = {
routes: [
ExchangeRoute,
ExchangeHandleRoute,
ReturnedRoute,
ReturnRoute,
ReturnedHandleRoute,
RepairRoute,
RepairManageRoute,
......
......@@ -5,42 +5,53 @@
* @Last Modified by: ghua
* @Last Modified time: 2020-10-29 11:18:37
*/
import { RouterChild } from '../../utils/index';
export default {
const route: RouterChild = {
// 退货申请
path: '/memberCenter/afterService/return',
name: 'return',
path: '/memberCenter/afterService/returnApplication',
name: 'returnApplication',
routes: [
// 退申请单查询
{
// 退申请单查询
path: '/memberCenter/afterService/return/orderList',
name: 'orderList',
},
path: '/memberCenter/afterService/returnApplication/returnQuery',
name: 'returnQuery',
component: '@/pages/afterService/returnApplication/returnQuery/index',
},
// 退申请单查询-详情
{
path: '/memberCenter/afterService/returnApplication/returnQuery/detail',
name: 'returnQueryDetail',
component: '@/pages/afterService/returnApplication/returnQuery/detail',
hideInMenu: true,
noMargin: true,
},
// 待提交退货申请单
{
// 待提交退货申请单
path: '/memberCenter/afterService/return/waitSubmitOrder',
name: 'waitSubmitOrder',
},
// 待退货发货
{
// 待退货发货
path: '/memberCenter/afterService/return/waitReturnAndSendOut',
name: 'waitReturnAndSendOut',
},
// 待确认退货回单
{
// 待确认退货回单
path: '/memberCenter/afterService/return/waitConfirmOrder',
name: 'waitConfirmOrder',
},
// 待确认退款结果
{
// 待确认退款结果
path: '/memberCenter/afterService/return/waitConfirmRefundResult',
name: 'waitConfirmRefundResult',
},
// 待确认售后完成
{
// 待确认售后完成
path: '/memberCenter/afterService/return/waitConfirmFinsh',
name: 'waitConfirmFinsh',
},
]
}
\ No newline at end of file
}
export default route;
\ No newline at end of file
......@@ -509,13 +509,14 @@ export default {
'menu.afterService.handleExchange.waitSendOut': '待换货发货',
'menu.afterService.handleExchange.exchangeConfirmOrder': '待确认换货回单',
'menu.afterService.return': '退货申请',
'menu.afterService.return.orderList': '退申请单查询',
'menu.afterService.return.waitSubmitOrder': '待提交退货申请单',
'menu.afterService.return.waitReturnAndSendOut': '待退货发货',
'menu.afterService.return.waitConfirmOrder': '待确认退货回单',
'menu.afterService.return.waitConfirmRefundResult': '待确认退款结果',
'menu.afterService.return.waitConfirmFinsh': '待确认售后完成',
'menu.afterService.returnApplication': '退货申请',
'menu.afterService.returnApplication.returnQuery': '退申请单查询',
'menu.afterService.returnApplication.returnQueryDetail': '查看退申请单',
'menu.afterService.returnApplication.waitSubmitOrder': '待提交退货申请单',
'menu.afterService.returnApplication.waitReturnAndSendOut': '待退货发货',
'menu.afterService.returnApplication.waitConfirmOrder': '待确认退货回单',
'menu.afterService.returnApplication.waitConfirmRefundResult': '待确认退款结果',
'menu.afterService.returnApplication.waitConfirmFinsh': '待确认售后完成',
'menu.afterService.handleReturn': '退货处理',
'menu.afterService.handleReturn.orderList': '退申请单查询',
......
.addressList {
padding: 0;
margin: 0;
&-item {
padding: 8px 14px;
width: 549px;
margin-bottom: 20px;
position: relative;
line-height: 28px;
list-style: none;
border: 1px solid #EEF0F3;
color: #303133;
cursor: pointer;
&-detail {
color: #909399;
}
&.active {
border: 1px solid #00B382;
&::after {
content: '';
position: absolute;
width: 0;
height: 0;
border-bottom: 12px solid #00B37A;
border-left: 12px solid transparent;
bottom: 0;
right: 0;
z-index: 5;
}
}
}
}
.more {
text-align: center;
cursor: pointer;
}
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-11-05 10:30:54
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-05 13:51:47
* @Description: 地址 Form Item
*/
import React, { useEffect, useState } from 'react';
import { ISchemaFieldComponentProps } from '@formily/antd';
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons';
import classNames from 'classnames';
import styles from './index.less';
interface AddressItem {
id: string;
// 收件人
receiverName: string;
// 电话
phone: string;
// 详细地址
fullAddress: string;
};
interface AddressFormItemProps {
value: string;
dataSource: AddressItem[];
// 默认展示的条数
showCount?: number;
onChange: (id: string) => {};
};
const AddressFormItem = (props: AddressFormItemProps) => {
const {
value,
showCount = 3,
dataSource = [],
onChange,
} = props;
const [showMore, setShowMore] = useState(false);
useEffect(() => {
// 默认选中第一个
if (dataSource && dataSource.length && !value) {
if (onChange) {
onChange(dataSource[0].id);
}
}
}, [dataSource]);
const showDataSource = !showMore ? [...dataSource].splice(0, showCount) : dataSource;
const handleToogleMore = () => {
setShowMore(!showMore)
};
const handleSelectItem = id => {
if (onChange) {
onChange(id);
}
};
return (
<div className={styles.addressee}>
<ul className={styles.addressList}>
{showDataSource.map(item => (
<li
className={classNames(styles['addressList-item'], {
[styles.active]: item.id === value,
})}
onClick={() => handleSelectItem(item.id)}
key={item.id}
>
<div>
{`${item.receiverName} / ${item.phone}`}
</div>
<div className={styles['addressList-item-detail']}>
{item.fullAddress}
</div>
</li>
))}
</ul>
{dataSource.length > showCount && (
<div
className={styles.more}
onClick={handleToogleMore}
>
{!showMore ? '显示更多' : '隐藏更多'}
{!showMore ? <CaretDownOutlined /> : <CaretUpOutlined />}
</div>
)}
</div>
);
};
AddressFormItem.defaultProps = {};
// AddressFormItem.isFieldComponent = true;
export default AddressFormItem;
\ No newline at end of file
......@@ -14,8 +14,6 @@
.describeline_item {
display: flex;
font-size: 12px;
line-height: 12px;
padding: 8px 0;
&_title {
......
......@@ -3,7 +3,8 @@ import { Row, Col } from 'antd'
import styles from './index.less'
interface DescribeLineItemPropsType {
title: string
title: string;
titleWidth?: string,
}
interface DescribeLineType {
......@@ -37,10 +38,17 @@ const DescribeLine: DescribeLineType & React.FC<DescribeLinePropsType> = (props)
}
const DescribeLineItem: React.FC<DescribeLineItemPropsType> = (props) => {
const { title, children } = props
const { title, titleWidth = 'auto', children } = props
return (
<div className={styles.describeline_item}>
<div className={styles.describeline_item_title}>{title}</div>
<div
className={styles.describeline_item_title}
style={{
width: titleWidth,
}}
>
{title}
</div>
<div className={styles.describeline_item_value}>{children}</div>
</div>
)
......
......@@ -2,92 +2,42 @@
* @Author: XieZhiXiong
* @Date: 2020-11-03 11:38:09
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-03 14:09:37
* @Description: 商列表
* @LastEditTime: 2020-11-05 14:58:55
* @Description: 商列表
*/
import React from 'react';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
import EyePreview from '@/components/EyePreview';
interface HistoryListHistoryListProps {
dataSource: {
applyNo: string,
originalQuota: number;
applyQuota: number;
auditQuota: number;
applyTime: string;
[key: string]: any,
}[];
// 标题
title?: string;
// 表格列
columns: EditableColumns[];
// rowKey
rowKey?: string;
// 目标路径
target?: string;
};
const ProductList: React.FC<HistoryListHistoryListProps> = ({
dataSource = [],
title = '标题',
columns = [],
rowKey = 'id',
target,
}) => {
const columns: EditableColumns[] = [
{
title: '订单号',
dataIndex: 'orderNo',
render: (text, record) => (
<EyePreview
url={`${target ? target : '/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail'}?id=${record.id}&creditId=${record.creditId}`}
>
{text}
</EyePreview>
),
},
{
title: 'ID',
dataIndex: 'id',
align: 'center',
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
},
{
title: '采购数量',
dataIndex: 'quantity',
align: 'center',
},
{
title: '维修数量',
dataIndex: 'num',
align: 'center',
},
{
title: '维修原因',
dataIndex: 'reason',
align: 'center',
},
];
return (
<MellowCard
title="维修商品"
title={title}
>
<PolymericTable
rowKey="id"
rowKey={rowKey}
dataSource={dataSource}
columns={columns}
loading={false}
......
.deliver {
&-item {
position: relative;
&-check {
position: absolute;
top: 0;
right: 0;
padding: 4px 12px;
background: #606266;
border-radius: 0px 4px 0px 4px;
color: #ffffff;
cursor: pointer;
}
}
}
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-11-05 18:02:18
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-05 18:10:58
* @Description: 退款明细
*/
import React from 'react';
import { Row, Col } from 'antd';
import { CaretRightOutlined, CaretDownOutlined, RightOutlined } from '@ant-design/icons';
import MellowCard from '@/components/MellowCard';
import { EditableColumns } from '@/components/PolymericTable/interface';
import PolymericTable from '@/components/PolymericTable';
import StatusTag from '@/components/StatusTag';
import Stamp from '../Stamp';
import DescribeLine from '../DescribeLine';
import styles from './index.less';
interface ReturnDetailInfoProps {
dataSource: {
[key: string]: any,
}[];
};
const ReturnDetailInfo: React.FC<ReturnDetailInfoProps> = ({
dataSource = [],
}) => {
const columns: EditableColumns[] = [
{
title: '订单号',
dataIndex: 'orderNo',
render: (text, record) => text,
},
{
title: 'ID',
dataIndex: 'id',
align: 'center',
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
},
{
title: '采购数量',
dataIndex: 'num',
align: 'center',
},
{
title: '采购单价',
dataIndex: 'returnAmount2',
align: 'center',
},
{
title: '采购金额',
dataIndex: 'status3',
align: 'center',
},
{
title: '已支付金额',
dataIndex: 'reason2',
align: 'center',
},
{
title: '退货数量',
dataIndex: 'reason1',
align: 'center',
},
{
title: '退款金额',
dataIndex: 'reason1',
align: 'center',
},
];
return (
<MellowCard title="退款明细">
<PolymericTable
rowKey="id"
dataSource={dataSource}
columns={columns}
loading={false}
pagination={null}
expandable={{
expandIcon: ({ expanded, onExpand, record }) =>
expanded ? (
<CaretDownOutlined onClick={e => onExpand(record, e)} />
) : (
<CaretRightOutlined onClick={e => onExpand(record, e)} />
),
expandedRowRender: record => (
<Row
gutter={16}
className={styles.deliver}
>
<Col span={8} className={styles['deliver-item']}>
<Stamp>
<DescribeLine column={2}>
<DescribeLine.Item title="支付次数">1</DescribeLine.Item>
<DescribeLine.Item title="状态">
<StatusTag type="success" title="确认退款到账" />
</DescribeLine.Item>
<DescribeLine.Item title="支付环节">订单确认后支付</DescribeLine.Item>
<DescribeLine.Item title="已支付金额(元)">12,000</DescribeLine.Item>
<DescribeLine.Item title="支付比例">30%</DescribeLine.Item>
<DescribeLine.Item title="退款金额(元)">6,000</DescribeLine.Item>
<DescribeLine.Item title="支付方式">授信额度支付方式</DescribeLine.Item>
<DescribeLine.Item title="退款时间">2020-05-20 10:00</DescribeLine.Item>
<DescribeLine.Item title="支付渠道">授信额度支付</DescribeLine.Item>
</DescribeLine>
<div className={styles['deliver-item-check']}>
查看
<RightOutlined />
</div>
</Stamp>
</Col>
<Col span={8}>
<Stamp>
<DescribeLine column={2}>
<DescribeLine.Item title="支付次数">1</DescribeLine.Item>
<DescribeLine.Item title="状态">
<StatusTag type="success" title="确认退款到账" />
</DescribeLine.Item>
<DescribeLine.Item title="支付环节">订单确认后支付</DescribeLine.Item>
<DescribeLine.Item title="已支付金额(元)">12,000</DescribeLine.Item>
<DescribeLine.Item title="支付比例">30%</DescribeLine.Item>
<DescribeLine.Item title="退款金额(元)">6,000</DescribeLine.Item>
<DescribeLine.Item title="支付方式">授信额度支付方式</DescribeLine.Item>
<DescribeLine.Item title="退款时间">2020-05-20 10:00</DescribeLine.Item>
<DescribeLine.Item title="支付渠道">授信额度支付</DescribeLine.Item>
</DescribeLine>
</Stamp>
</Col>
</Row>
),
}}
/>
</MellowCard>
);
};
export default ReturnDetailInfo;
\ No newline at end of file
.deliver {
&-item {
position: relative;
&-check {
position: absolute;
top: 0;
right: 0;
padding: 4px 12px;
background: #606266;
border-radius: 0px 4px 0px 4px;
color: #ffffff;
cursor: pointer;
}
}
}
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-11-05 15:18:15
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-05 17:19:35
* @Description: 退货收货统计、退货发货明细
*/
import React from 'react';
import { Tabs, Button, Row, Col } from 'antd';
import { CaretRightOutlined, CaretDownOutlined, RightOutlined } from '@ant-design/icons';
import MellowCard from '@/components/MellowCard';
import { EditableColumns } from '@/components/PolymericTable/interface';
import PolymericTable from '@/components/PolymericTable';
import EyePreview from '@/components/EyePreview';
import StatusTag from '@/components/StatusTag';
import Stamp from '../Stamp';
import DescribeLine from '../DescribeLine';
import styles from './index.less';
const { TabPane } = Tabs;
interface ReturnInfoProps {
// 退货收货统计统计数据
received: { [key: string]: any }[],
// 退货发货明细
deliver: {
[key: string]: any,
childData: {
[key: string]: any,
}[],
}[],
};
const ReturnInfo: React.FC<ReturnInfoProps> = ({
received = [],
deliver = [],
}) => {
const receivedColumns: EditableColumns[] = [
{
title: '订单号',
dataIndex: 'orderNo',
render: (text, record) => (
<EyePreview
url={``}
>
{text}
</EyePreview>
),
},
{
title: 'ID',
dataIndex: 'id',
align: 'center',
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
},
{
title: '退货数量',
dataIndex: 'num',
align: 'center',
},
{
title: '已退货发货',
dataIndex: 'returnAmount2',
align: 'center',
},
{
title: '未退货发货',
dataIndex: 'status3',
align: 'center',
},
{
title: '已退货收货',
dataIndex: 'reason2',
align: 'center',
},
{
title: '差异数量',
dataIndex: 'reason1',
align: 'center',
},
];
const deliverColumns: EditableColumns[] = [
{
title: '批次号',
dataIndex: 'orderNo',
render: (text, record) => (
<EyePreview
url={``}
>
{text}
</EyePreview>
),
},
{
title: '退货发货单号',
dataIndex: 'id',
align: 'center',
},
{
title: '发货时间',
dataIndex: 'productName',
align: 'center',
},
{
title: '物流单号',
dataIndex: 'category',
align: 'center',
},
{
title: '物流公司',
dataIndex: 'brand',
align: 'center',
},
{
title: '退货入库单号',
dataIndex: 'unit',
align: 'center',
},
{
title: '入库时间',
dataIndex: 'quantity',
align: 'center',
},
{
title: '内部状态',
dataIndex: 'price',
align: 'center',
},
{
title: '操作',
dataIndex: 'option',
align: 'center',
render: (text, record) => (
<>
<Button
type="link"
onClick={() => {}}
>
确认退货回单
</Button>
</>
),
},
];
return (
<MellowCard>
<Tabs defaultActiveKey="2">
<TabPane
tab="退货收货统计"
key="1"
>
<PolymericTable
rowKey="id"
dataSource={received}
columns={receivedColumns}
loading={false}
pagination={null}
/>
</TabPane>
<TabPane
tab="退货发货明细"
key="2"
>
<PolymericTable
rowKey="id"
dataSource={deliver}
columns={deliverColumns}
loading={false}
pagination={null}
expandable={{
expandIcon: ({ expanded, onExpand, record }) =>
expanded ? (
<CaretDownOutlined onClick={e => onExpand(record, e)} />
) : (
<CaretRightOutlined onClick={e => onExpand(record, e)} />
),
expandedRowRender: record => (
<Row
gutter={16}
className={styles.deliver}
>
<Col span={8} className={styles['deliver-item']}>
<Stamp>
<DescribeLine column={2}>
<DescribeLine.Item title="支付次数">1</DescribeLine.Item>
<DescribeLine.Item title="状态">
<StatusTag type="success" title="确认退款到账" />
</DescribeLine.Item>
<DescribeLine.Item title="支付环节">订单确认后支付</DescribeLine.Item>
<DescribeLine.Item title="已支付金额(元)">12,000</DescribeLine.Item>
<DescribeLine.Item title="支付比例">30%</DescribeLine.Item>
<DescribeLine.Item title="退款金额(元)">6,000</DescribeLine.Item>
<DescribeLine.Item title="支付方式">授信额度支付方式</DescribeLine.Item>
<DescribeLine.Item title="退款时间">2020-05-20 10:00</DescribeLine.Item>
<DescribeLine.Item title="支付渠道">授信额度支付</DescribeLine.Item>
</DescribeLine>
<div className={styles['deliver-item-check']}>
查看
<RightOutlined />
</div>
</Stamp>
</Col>
<Col span={8}>
<Stamp>
<DescribeLine column={2}>
<DescribeLine.Item title="支付次数">1</DescribeLine.Item>
<DescribeLine.Item title="状态">
<StatusTag type="success" title="确认退款到账" />
</DescribeLine.Item>
<DescribeLine.Item title="支付环节">订单确认后支付</DescribeLine.Item>
<DescribeLine.Item title="已支付金额(元)">12,000</DescribeLine.Item>
<DescribeLine.Item title="支付比例">30%</DescribeLine.Item>
<DescribeLine.Item title="退款金额(元)">6,000</DescribeLine.Item>
<DescribeLine.Item title="支付方式">授信额度支付方式</DescribeLine.Item>
<DescribeLine.Item title="退款时间">2020-05-20 10:00</DescribeLine.Item>
<DescribeLine.Item title="支付渠道">授信额度支付</DescribeLine.Item>
</DescribeLine>
</Stamp>
</Col>
</Row>
),
}}
/>
</TabPane>
</Tabs>
</MellowCard>
);
};
export default ReturnInfo;
.paneTitle {
padding-left: 6px;
margin-bottom: 24px;
line-height: 14px;
font-size: 14px;
font-weight: 400;
color: #606266;
border-left: 2px solid #00B37A;
}
.payInfo {
&-item {
margin-bottom: 16px;
}
}
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-11-05 17:36:45
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-05 18:02:00
* @Description: 查看退货数量与退款金额 抽屉
*/
import React from 'react';
import { Drawer, Tabs } from 'antd';
import DescribeLine from '../DescribeLine';
import Stamp from '../Stamp';
import styles from './index.less';
const { TabPane } = Tabs;
interface ReturnInfoDrawerProps {
visible: boolean;
onClose: () => void;
};
const ReturnInfoDrawer: React.FC<ReturnInfoDrawerProps> = ({
visible = false,
onClose,
}) => {
const handleClose = () => {
if (onClose) {
onClose();
}
};
return (
<Drawer
title="查看退货数量与退款金额"
placement="right"
width={1120}
onClose={() => handleClose()}
visible={visible}
closable={false}
>
<Tabs defaultActiveKey="1" tabPosition="left">
<TabPane tab="订单信息" key="1">
<h2 className={styles.paneTitle}>订单信息</h2>
<DescribeLine column={2}>
<DescribeLine.Item title="订单号" titleWidth="102px">SPTY12</DescribeLine.Item>
<DescribeLine.Item title="商品名称" titleWidth="102px">进口头层牛皮荔枝纹/红色/XL</DescribeLine.Item>
<DescribeLine.Item title="品类" titleWidth="102px">牛皮</DescribeLine.Item>
<DescribeLine.Item title="品牌" titleWidth="102px">PELLE</DescribeLine.Item>
<DescribeLine.Item title="单位" titleWidth="102px"></DescribeLine.Item>
<DescribeLine.Item title="采购数量" titleWidth="102px">2,000</DescribeLine.Item>
<DescribeLine.Item title="采购单价" titleWidth="102px">¥ 20.00</DescribeLine.Item>
<DescribeLine.Item title="采购金额" titleWidth="102px">¥ 40,000.00</DescribeLine.Item>
<DescribeLine.Item title="退货数量" titleWidth="102px">1,000</DescribeLine.Item>
</DescribeLine>
</TabPane>
<TabPane tab="支付信息" key="2">
<h2 className={styles.paneTitle}>支付信息</h2>
<div className={styles.payInfo}>
<div className={styles['payInfo-item']}>
<Stamp imprinted>
<DescribeLine column={2}>
<DescribeLine.Item title="支付次数">1</DescribeLine.Item>
<DescribeLine.Item title="支付环节">订单确认后支付</DescribeLine.Item>
<DescribeLine.Item title="支付方式">授信额度支付方式</DescribeLine.Item>
<DescribeLine.Item title="支付金额(元)">12,000</DescribeLine.Item>
<DescribeLine.Item title="支付渠道">授信额度支付</DescribeLine.Item>
<DescribeLine.Item title="支付时间">2020-05-20 10:00</DescribeLine.Item>
</DescribeLine>
</Stamp>
</div>
<div className={styles['payInfo-item']}>
<Stamp imprinted>
<DescribeLine column={2}>
<DescribeLine.Item title="支付次数">1</DescribeLine.Item>
<DescribeLine.Item title="支付环节">订单确认后支付</DescribeLine.Item>
<DescribeLine.Item title="支付方式">授信额度支付方式</DescribeLine.Item>
<DescribeLine.Item title="支付金额(元)">12,000</DescribeLine.Item>
<DescribeLine.Item title="支付渠道">授信额度支付</DescribeLine.Item>
<DescribeLine.Item title="支付时间">2020-05-20 10:00</DescribeLine.Item>
</DescribeLine>
</Stamp>
</div>
</div>
</TabPane>
<TabPane tab="退款信息" key="3">
<h2 className={styles.paneTitle}>退款信息</h2>
<DescribeLine column={1}>
<DescribeLine.Item title="退款金额(元)" titleWidth="102px">20,000.00</DescribeLine.Item>
<DescribeLine.Item title="退货原因" titleWidth="102px">质量缺陷L</DescribeLine.Item>
</DescribeLine>
</TabPane>
</Tabs>
</Drawer>
);
};
export default ReturnInfoDrawer;
\ No newline at end of file
.stamp {
padding: 16px;
background: #FFFFFF;
box-shadow: 0px 4px 6px 0px rgba(23, 43, 77, 0.08), 0px 0px 1px 0px rgba(23, 43, 77, 0.12);
border-radius: 4px;
border-left: 2px solid #606266;
position: relative;
.imprinted {
position: absolute;
top: 50%;
left: 45%;
transform: translateY(-50%);
height: 80%;
border-right: 1px dashed #E6E7EB;
}
}
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-11-05 15:52:21
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-05 16:45:11
* @Description: 邮票展示组件
*/
import React from 'react';
import styles from './index.less';
interface StampProps {
// 是否需要展示中间的印记条
imprinted?: boolean;
};
const Stamp: React.FC<StampProps> = ({
imprinted = false,
children,
}) => {
return (
<div className={styles.stamp}>
{children}
{imprinted && (
<div className={styles.imprinted} />
)}
</div>
);
};
export default Stamp;
......@@ -19,6 +19,8 @@ import { CREDIT_INNER_STATUS, CREDIT_OUTER_STATUS, CREDIT_STATUS } from '@/const
import { normalizeFiledata, FileData } from '@/utils';
import AvatarWrap from '@/components/AvatarWrap';
import StatusTag from '@/components/StatusTag';
import EyePreview from '@/components/EyePreview';
import { EditableColumns } from '@/components/PolymericTable/interface';
import { } from '../../../constants';
const OuterCirculation = React.lazy(() => import('../../../components/OuterCirculation'));
......@@ -46,6 +48,60 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
const [detailInfo, setDetailInfo] = useState<GetPayCreditApplyGetApplyDetailResponse>(null);
const [infoLoading, setInfoloading] = useState(false);
const productColumns: EditableColumns[] = [
{
title: '订单号',
dataIndex: 'orderNo',
render: (text, record) => (
<EyePreview
url={`${target ? target : '/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail'}?id=${record.id}`}
>
{text}
</EyePreview>
),
},
{
title: 'ID',
dataIndex: 'id',
align: 'center',
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
},
{
title: '采购数量',
dataIndex: 'quantity',
align: 'center',
},
{
title: '维修数量',
dataIndex: 'num',
align: 'center',
},
{
title: '维修原因',
dataIndex: 'reason',
align: 'center',
},
];
// 获取授信详情
const getDetailInfo = () => {
if (!id) {
......@@ -144,7 +200,11 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
<Col span={24}>
<Suspense fallback={null}>
<ProductList dataSource={[]} />
<ProductList
title="维修商品"
columns={productColumns}
dataSource={[]}
/>
</Suspense>
</Col>
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-02 13:47:58
* @LastEditTime: 2020-11-05 14:35:00
* @Description:
*/
import { ISchema } from '@formily/antd';
......@@ -53,6 +53,8 @@ export const listSearchSchema: ISchema = {
},
supplier: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
allowClear: true,
......
......@@ -10,6 +10,7 @@ import { PublicApi } from '@/services/api';
import ReutrnEle from '@/components/ReturnEle';
import NiceForm from '@/components/NiceForm';
import GoodsDrawer from '../GoodsDrawer';
import AddressFormItem from '../../../../components/AddressFormItem';
import { addBillSchema } from './schema';
import { createEffects } from './effects';
......@@ -87,6 +88,13 @@ const RepairForm: React.FC<BillsFormProps> = ({
/>
);
const beforeUpload = file => {
if (file.size / 1024 < 20) {
message.warning('图片大小超过20M');
return Promise.reject();
}
};
return (
<Spin spinning={infoLoading}>
<PageHeaderWrapper
......@@ -124,9 +132,11 @@ const RepairForm: React.FC<BillsFormProps> = ({
expressionScope={{
TableAddButton,
renderListTableRemove,
beforeUpload,
}}
components={{
ArrayTable,
AddressFormItem,
}}
editable={isEdit || !id}
effects={($, actions) => {
......
......@@ -8,6 +8,7 @@ import {
} from '@/constants';
import { PATTERN_MAPS } from '@/constants/regExp';
import { UPLOAD_TYPE } from '@/constants';
// 供应会员列表列
const supplierColumns = [
......@@ -330,6 +331,97 @@ export const addBillSchema: ISchema = {
},
},
},
'tab-3': {
type: 'object',
'x-component': 'tabpane',
'x-component-props': {
tab: '相关附件',
},
properties: {
MEGA_LAYOUT3: {
type: 'object',
'x-component': 'mega-layout',
'x-component-props': {
labelCol: 4,
labelAlign: 'left',
},
properties: {
enclosure: {
title: '附件',
'x-component': 'Upload',
'x-component-props': {
action: '/api/file/file/upload/prefix',
data: {
fileType: UPLOAD_TYPE,
prefix: '/afterService/repairApplication/',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
},
'x-rules': [
{
required: false,
message: '请上传附件',
},
],
description: '一次上传一个文件,每个附件大小不能超过20M',
},
},
},
},
},
'tab-4': {
type: 'object',
'x-component': 'tabpane',
'x-component-props': {
tab: '维修地址',
},
properties: {
MEGA_LAYOUT3: {
type: 'object',
'x-component': 'mega-layout',
'x-component-props': {
labelCol: 4,
labelAlign: 'left',
},
properties: {
address: {
title: '维修地址',
type: 'string',
'x-component': 'AddressFormItem',
'x-component-props': {
dataSource: [
{
id: 1,
receiverName: '收件人1',
phone: '18128131762',
fullAddress: '不告诉你1',
},
{
id: 2,
receiverName: '收件人2',
phone: '18128131762',
fullAddress: '不告诉你2',
},
{
id: 3,
receiverName: '收件人2',
phone: '18128131762',
fullAddress: '不告诉你2',
},
{
id: 4,
receiverName: '收件人2',
phone: '18128131762',
fullAddress: '不告诉你2',
},
],
},
},
},
},
},
},
},
},
},
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-03 18:54:15
* @LastEditTime: 2020-11-05 14:34:48
* @Description:
*/
import { ISchema } from '@formily/antd';
......@@ -65,7 +65,8 @@ export const listSearchSchema: ISchema = {
},
supplier: {
type: 'string',
enum: [],
default: undefined,
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
allowClear: true,
......
......@@ -47,7 +47,12 @@ const RepairQuery: React.FC = () => {
title: '申请单摘要',
dataIndex: 'parentMemberName',
align: 'center',
},
},
{
title: '供应会员',
dataIndex: 'supplier',
align: 'center',
},
{
title: '单据时间',
dataIndex: 'created',
......
......@@ -53,6 +53,8 @@ export const listSearchSchema: ISchema = {
},
supplier: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
allowClear: true,
......
......@@ -20,6 +20,8 @@ import { normalizeFiledata, FileData } from '@/utils';
import AvatarWrap from '@/components/AvatarWrap';
import StatusTag from '@/components/StatusTag';
import AuditProcess from '@/components/AuditProcess';
import EyePreview from '@/components/EyePreview';
import { EditableColumns } from '@/components/PolymericTable/interface';
import { } from '../../../constants';
const ProductList = React.lazy(() => import('../../../components/ProductList'));
......@@ -46,6 +48,60 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
const [detailInfo, setDetailInfo] = useState<GetPayCreditApplyGetApplyDetailResponse>(null);
const [infoLoading, setInfoloading] = useState(false);
const productColumns: EditableColumns[] = [
{
title: '订单号',
dataIndex: 'orderNo',
render: (text, record) => (
<EyePreview
url={`${target ? target : '/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail'}?id=${record.id}`}
>
{text}
</EyePreview>
),
},
{
title: 'ID',
dataIndex: 'id',
align: 'center',
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
},
{
title: '采购数量',
dataIndex: 'quantity',
align: 'center',
},
{
title: '维修数量',
dataIndex: 'num',
align: 'center',
},
{
title: '维修原因',
dataIndex: 'reason',
align: 'center',
},
];
// 获取授信详情
const getDetailInfo = () => {
if (!id) {
......@@ -106,7 +162,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
}}
>
<Descriptions.Item label="申请单摘要:">进口头层黄牛皮荔枝纹</Descriptions.Item>
<Descriptions.Item label="供应会员">温州隆昌手袋有限公司</Descriptions.Item>
<Descriptions.Item label="采购会员">温州隆昌手袋有限公司</Descriptions.Item>
<Descriptions.Item label="单据时间">2020-09-09 12:58:25</Descriptions.Item>
<Descriptions.Item label="外部状态">
<StatusTag type="success" title={'售后完成'} />
......@@ -160,7 +216,11 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
<Col span={24}>
<Suspense fallback={null}>
<ProductList dataSource={[]} />
<ProductList
title="维修商品"
columns={productColumns}
dataSource={[]}
/>
</Suspense>
</Col>
......
......@@ -48,7 +48,12 @@ const RepairPr1: React.FC = () => {
title: '申请单摘要',
dataIndex: 'parentMemberName',
align: 'center',
},
},
{
title: '采购会员',
dataIndex: 'purchaser',
align: 'center',
},
{
title: '单据时间',
dataIndex: 'created',
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:43:24
* @LastEditTime: 2020-11-05 14:32:45
* @Description:
*/
import { ISchema } from '@formily/antd';
......@@ -51,11 +51,11 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
supplier: {
purchaser: {
type: 'string',
enum: [],
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
placeholder: '采购会员(全部)',
allowClear: true,
},
},
......
......@@ -48,7 +48,12 @@ const RepairPr2: React.FC = () => {
title: '申请单摘要',
dataIndex: 'parentMemberName',
align: 'center',
},
},
{
title: '采购会员',
dataIndex: 'purchaser',
align: 'center',
},
{
title: '单据时间',
dataIndex: 'created',
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:43:24
* @LastEditTime: 2020-11-05 14:32:31
* @Description:
*/
import { ISchema } from '@formily/antd';
......@@ -51,11 +51,11 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
supplier: {
purchaser: {
type: 'string',
enum: [],
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
placeholder: '采购会员(全部)',
allowClear: true,
},
},
......
......@@ -50,6 +50,11 @@ const RepairPrConfirm: React.FC = () => {
align: 'center',
},
{
title: '采购会员',
dataIndex: 'purchaser',
align: 'center',
},
{
title: '单据时间',
dataIndex: 'created',
align: 'center',
......
......@@ -51,11 +51,11 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
supplier: {
purchaser: {
type: 'string',
enum: [],
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
placeholder: '采购会员(全部)',
allowClear: true,
},
},
......
......@@ -48,7 +48,12 @@ const RepairPrSubmit: React.FC = () => {
title: '申请单摘要',
dataIndex: 'parentMemberName',
align: 'center',
},
},
{
title: '采购会员',
dataIndex: 'purchaser',
align: 'center',
},
{
title: '单据时间',
dataIndex: 'created',
......
......@@ -51,11 +51,11 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
supplier: {
purchaser: {
type: 'string',
enum: [],
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
placeholder: '采购会员(全部)',
allowClear: true,
},
},
......
......@@ -47,7 +47,12 @@ const RepairManageQuery: React.FC = () => {
title: '申请单摘要',
dataIndex: 'parentMemberName',
align: 'center',
},
},
{
title: '采购会员',
dataIndex: 'purchaser',
align: 'center',
},
{
title: '单据时间',
dataIndex: 'created',
......
......@@ -51,11 +51,11 @@ export const listSearchSchema: ISchema = {
allowClear: true,
},
},
supplier: {
purchaser: {
type: 'string',
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
placeholder: '采购会员(全部)',
allowClear: true,
},
},
......
import React, { Suspense, useEffect, useState } from 'react';
import {
PageHeader,
Descriptions,
Card,
Spin,
Button,
Row,
Col,
Badge,
message,
} from 'antd';
import { FormOutlined } from '@ant-design/icons';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { history } from 'umi';
import { PublicApi } from '@/services/api';
import { GetPayCreditApplyGetApplyDetailResponse } from '@/services/PayApi';
import { CREDIT_INNER_STATUS, CREDIT_OUTER_STATUS, CREDIT_STATUS } from '@/constants';
import { normalizeFiledata, FileData } from '@/utils';
import AvatarWrap from '@/components/AvatarWrap';
import StatusTag from '@/components/StatusTag';
import EyePreview from '@/components/EyePreview';
import { EditableColumns } from '@/components/PolymericTable/interface';
import ReturnInfoDrawer from '../../../components/ReturnInfoDrawer';
import { } from '../../../constants';
const OuterCirculation = React.lazy(() => import('../../../components/OuterCirculation'));
const ProductList = React.lazy(() => import('../../../components/ProductList'));
const ReturnInfo = React.lazy(() => import('../../../components/ReturnInfo'));
const ReturnDetailInfo = React.lazy(() => import('../../../components/ReturnDetailInfo'));
const IntroduceRow = React.lazy(() => import('../../../components/IntroduceRow'));
const OuterCirculationRecord = React.lazy(() => import('../../../components/OuterCirculationRecord'));
interface DetailInfoProps {
// 记录id
id: string;
// 是否是编辑的
isEdit?: boolean;
// 历史记录目标路径
target?: string;
// 头部右侧拓展
headExtra?: React.ReactNode;
};
const DetailInfo: React.FC<DetailInfoProps> = ({
id,
isEdit = false,
target,
headExtra = null,
}) => {
const [detailInfo, setDetailInfo] = useState<GetPayCreditApplyGetApplyDetailResponse>(null);
const [infoLoading, setInfoloading] = useState(false);
const [visibleOrderDetial, setVisibleReturnInfo] = useState<boolean>(false);
const handleCheckOrderDetial = record => {
setVisibleReturnInfo(true);
};
const productColumns: EditableColumns[] = [
{
title: '订单号',
dataIndex: 'orderNo',
render: (text, record) => (
<EyePreview
url={`${target ? target : '/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail'}?id=${record.id}`}
>
{text}
</EyePreview>
),
},
{
title: 'ID',
dataIndex: 'id',
align: 'center',
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
},
{
title: '采购数量',
dataIndex: 'quantity',
align: 'center',
},
{
title: '采购单价',
dataIndex: 'price',
align: 'center',
},
{
title: '采购金额',
dataIndex: 'amount',
align: 'center',
},
{
title: '已支付金额',
dataIndex: 'payAmount',
align: 'center',
},
{
title: '退货数量',
dataIndex: 'num',
align: 'center',
},
{
title: '退货金额',
dataIndex: 'returnAmount',
align: 'center',
},
{
title: '是否退货',
dataIndex: 'status',
align: 'center',
render: text => text,
},
{
title: '操作',
dataIndex: 'option',
align: 'center',
render: (text, record) => (
<>
<Button
type="link"
onClick={() => handleCheckOrderDetial(record)}
>
查看详情
</Button>
</>
),
},
];
// 获取授信详情
const getDetailInfo = () => {
if (!id) {
return;
}
// setInfoloading(true);
// PublicApi.getPayCreditApplyGetApplyDetail({
// applyId: id,
// }).then(res => {
// if (res.code === 1000) {
// setDetailInfo(res.data);
// setQuotaValues({
// applyQuota: res.data.apply.applyQuota,
// billDay: res.data.apply.billDay,
// repayPeriod: res.data.apply.repayPeriod,
// fileList: res.data.apply.fileList ? res.data.apply.fileList.map(item => normalizeFiledata(item.fileUrl)) : [],
// });
// }
// }).finally(() => {
// setInfoloading(false);
// });
};
useEffect(() => {
getDetailInfo();
}, []);
return (
<Spin spinning={infoLoading}>
<PageHeaderWrapper
style={{
padding: 24,
}}
title={
<>
<PageHeader
style={{ padding: '0' }}
onBack={() => history.goBack()}
title={
<AvatarWrap
info={{
aloneTxt: '单',
name: `申请单号:FPTY12}`,
}}
/>
}
extra={(
<>
{headExtra}
</>
)}
>
<Descriptions
size="small"
column={3}
style={{
padding: '0 32px',
}}
>
<Descriptions.Item label="申请单摘要:">进口头层黄牛皮荔枝纹</Descriptions.Item>
<Descriptions.Item label="供应会员">温州隆昌手袋有限公司</Descriptions.Item>
<Descriptions.Item label="单据时间">2020-09-09 12:58:25</Descriptions.Item>
<Descriptions.Item label="外部状态">
<StatusTag type="success" title={'售后完成'} />
</Descriptions.Item>
<Descriptions.Item label="内部状态">
<Badge color={'#41CC9E'} text={'已确认售后完成'} />
</Descriptions.Item>
</Descriptions>
</PageHeader>
</>
}
>
<Row gutter={[24, 24]}>
<Col span={24}>
<Suspense fallback={null}>
<OuterCirculation
steps={[
{
title: '提交维修申请单',
description: '采购商',
},
{
title: '确认维修申请单',
description: '供应商',
},
{
title: '确认售后完成',
description: '采购商',
},
]}
current={1}
/>
</Suspense>
</Col>
<Col span={24}>
<Suspense fallback={null}>
<ProductList
title="退货商品"
columns={productColumns}
dataSource={[
{
id: 1,
applyNo: '123',
},
]}
/>
</Suspense>
</Col>
<Col span={24}>
<Suspense fallback={null}>
<ReturnInfo
received={[]}
deliver={[
{
id: 1,
orderNo: '123',
childData: [],
},
]}
/>
</Suspense>
</Col>
<Col span={24}>
<Suspense fallback={null}>
<ReturnDetailInfo
dataSource={[
{
id: 1,
orderNo: '123',
},
]}
/>
</Suspense>
</Col>
<Col span={24}>
<Suspense fallback={null}>
<IntroduceRow />
</Suspense>
</Col>
<Col span={24}>
<Suspense fallback={null}>
<OuterCirculationRecord dataSource={[]} />
</Suspense>
</Col>
</Row>
<ReturnInfoDrawer
visible={visibleOrderDetial}
onClose={() => setVisibleReturnInfo(false)}
/>
</PageHeaderWrapper>
</Spin>
);
};
export default DetailInfo;
\ No newline at end of file
import React from 'react';
import { usePageStatus } from '@/hooks/usePageStatus';
import DetailInfo from '../components/DetailInfo';
const ReturnQueryDetail: React.FC = () => {
const { id, creditId } = usePageStatus();
return (
<DetailInfo
id={id}
/>
);
};
export default ReturnQueryDetail;
\ No newline at end of file
import React, { useState, useRef } from 'react';
import { Card, Badge, Progress, Button } from 'antd';
import {
ClockCircleOutlined,
} from '@ant-design/icons';
import { StandardTable } from 'god';
import moment from 'moment';
import { ColumnType } from 'antd/lib/table/interface';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { createFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { coverColFiltersItem } from '@/utils';
import EyePreview from '@/components/EyePreview';
import NiceForm from '@/components/NiceForm';
import StatusTag from '@/components/StatusTag';
import { listSearchSchema } from './schema';
import {
CREDIT_OUTER_STATUS_TAG_MAP,
CREDIT_INNER_STATUS_BADGE_MAP,
} from '../../contants';
import styles from './index.less';
const formActions = createFormActions();
const ReturnQuery: React.FC = () => {
const ref = useRef<any>({});
const defaultColumns: ColumnType<any>[] = [
{
title: '申请单号',
dataIndex: 'applyNo',
align: 'center',
render: (text, record) => (
<>
<EyePreview
url={`/memberCenter/afterService/returnApplication/returnQuery/detail?id=${record.id}`}
>
{text}
</EyePreview>
</>
),
},
{
title: '申请单摘要',
dataIndex: 'parentMemberName',
align: 'center',
},
{
title: '供应会员',
dataIndex: 'supplier',
align: 'center',
},
{
title: '单据时间',
dataIndex: 'created',
align: 'center',
},
{
title: '外部状态',
dataIndex: 'outerStatusName',
align: 'center',
filters: [],
onFilter: (value, record) => record.outerStatus === value,
render: (text, record) => (
<StatusTag type="success" title="售后完成" />
),
},
{
title: '内部状态',
dataIndex: 'innerStatusName',
align: 'center',
filters: [],
onFilter: (value, record) => record.innerStatus === value,
render: (text, record) => <Badge color={'#6C9CEB'} text="待确认售后完成" />,
},
];
const [columns, setColumns] = useState<any[]>(defaultColumns);
const fetchListData = (params: any) => {
const { startTime, endTime, ...rest } = params;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return Promise.resolve({
data: [
{
id: 1,
applyNo: '123',
parentMemberName: '申请单摘要',
created: '2020-11-03 11:46:00',
},
],
total: 10,
});
};
// 初始化高级筛选选项
const fetchSearchItems = async () => {
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer();
// if (res.code === 1000) {
// const { data } = res;
// const {
// outerStatusList = [],
// innerStatusList = [],
// } = data;
// const newColumns = columns.slice();
// // filter 0 过滤掉全部选项
// coverColFiltersItem(
// newColumns,
// 'outerStatusName',
// outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// coverColFiltersItem(
// newColumns,
// 'innerStatusName',
// innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// setColumns(newColumns);
// return {
// outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// };
// }
return {};
};
return (
<PageHeaderWrapper>
<Card>
<StandardTable
tableProps={{
rowKey: 'id',
}}
columns={columns}
currentRef={ref}
fetchTableData={(params: any) => fetchListData(params)}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => ref.current.reload(values)}
effects={($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'applyNo',
FORM_FILTER_PATH,
);
useAsyncInitSelect(
['innerStatus', 'outerStatus'],
fetchSearchItems,
);
}}
schema={listSearchSchema}
/>
}
/>
</Card>
</PageHeaderWrapper>
);
};
export default ReturnQuery;
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-05 14:28:08
* @Description:
*/
import { ISchema } from '@formily/antd';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { UPLOAD_TYPE } from '@/constants';
export const listSearchSchema: ISchema = {
type: 'object',
properties: {
megaLayout: {
type: 'object',
'x-component': 'mega-layout',
properties: {
applyNo: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索',
align: 'flex-left',
tip: '输入 申请单号 进行搜索',
},
},
[FORM_FILTER_PATH]: {
type: 'object',
'x-component': 'mega-layout',
'x-component-props': {
grid: true,
full: true,
autoRow: true,
columns: 6,
},
properties: {
abstract: {
type: 'string',
'x-component-props': {
placeholder: '申请单摘要',
allowClear: true,
},
},
'[startTime, endTime]': {
type: 'string',
default: '',
'x-component': 'dateSelect',
'x-component-props': {
placeholder: '单据时间(全部)',
allowClear: true,
},
},
supplier: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '供应会员(全部)',
allowClear: true,
},
},
outerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '外部状态(全部)',
allowClear: true,
},
},
innerStatus: {
type: 'string',
default: undefined,
enum: [],
'x-component-props': {
placeholder: '内部状态(全部)',
allowClear: true,
},
},
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
},
},
},
},
},
};
\ No newline at end of file
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