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.

152 lines
3.7 KiB

import React, { PureComponent } from 'react';
import { connect } from 'dva';
import moment from 'moment';
import { Card, Tabs, Table } from 'antd';
import PageHeaderWrapper from '../../components/PageHeaderWrapper';
import DictionaryText from '../../components/Dictionary/DictionaryText';
import TableSearch from './TableSearch';
import styles from '../List/TableList.less';
import dictionary from '../../utils/dictionary';
/**
* 订单售后列表
*/
@connect(({ orderRefunds, loading }) => ({
orderRefunds,
loading: loading.models.orderRefunds,
}))
class OrderRefundsList extends PureComponent {
componentDidMount() {
// 查询 list
this.queryList({ index: 1 });
}
queryList = ({ index = 0, pageSize = 10 }, searchParams) => {
const { dispatch } = this.props;
dispatch({
type: 'orderRefunds/list',
payload: {
index,
pageSize,
...searchParams,
},
});
};
handleTabsChange = value => {
console.log(value);
};
handleTableChange = pagination => {
const { pageSize, current } = pagination;
this.queryList({ pageSize, index: current });
};
render() {
const { orderRefunds } = this.props;
const { list, totalCount, index, pageSize } = orderRefunds;
const columns = [
{
title: '服务编号',
dataIndex: 'serviceNumber',
key: 'serviceNumber',
},
{
title: '服务类型',
dataIndex: 'serviceType',
key: 'serviceType',
render(serviceType) {
return (
<DictionaryText dicKey={dictionary.ORDER_RETURN_SERVICE_TYPE} dicValue={serviceType} />
);
},
},
{
title: '退货原因',
dataIndex: 'reason',
key: 'reason',
render(reason) {
return <DictionaryText dicKey={dictionary.ORDER_RETURN_REASON} dicValue={reason} />;
},
},
{
title: '备注',
dataIndex: 'describe',
key: 'describe',
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
render(status) {
return <DictionaryText dicKey={dictionary.ORDER_RETURN_STATUS} dicValue={status} />;
},
},
{
title: '同意时间',
dataIndex: 'approvalTime',
key: 'approvalTime',
render(approvalTime) {
if (approvalTime) {
return <div>{moment(approvalTime).format('YYYY-MM-DD HH:mm')}</div>;
}
return <div></div>;
},
},
{
title: '申请时间',
dataIndex: 'createTime',
key: 'createTime',
render(createTime) {
return <div>{moment(createTime).format('YYYY-MM-DD HH:mm')}</div>;
},
},
{
title: '操作',
render() {
return (
<div>
<a>同意</a>
</div>
);
},
},
];
const pagination = {
total: totalCount,
index,
pageSize,
};
return (
<PageHeaderWrapper>
<Card>
<div className={styles.tableListForm}>
<TableSearch />
</div>
<Tabs defaultActiveKey={null} onChange={this.handleTabsChange}>
<Tabs.TabPane tab="全部" key={null} />
<Tabs.TabPane tab="待处理" key={1} />
<Tabs.TabPane tab="已处理" key={2} />
<Tabs.TabPane tab="已完成" key={4} />
</Tabs>
<Table
rowKey="id"
dataSource={list}
columns={columns}
pagination={pagination}
onChange={this.handleTableChange}
/>
</Card>
</PageHeaderWrapper>
);
}
}
export default OrderRefundsList;