- 添加 退货订单列表 未完成

pull/1/head
sin 2019-05-06 23:24:23 +08:00
parent 87ab3a6c87
commit a454ef415f
5 changed files with 172 additions and 6 deletions

View File

@ -0,0 +1,35 @@
import { list } from '../../services/orderRefunds';
export default {
namespace: 'orderRefunds',
state: {
index: 0,
totalCount: 0,
pageSize: 20,
list: [],
},
effects: {
*list({ payload }, { call, put }) {
const response = yield call(list, payload);
yield put({
type: 'listSuccess',
payload: response.data,
});
},
},
reducers: {
listSuccess(state, { payload }) {
const { index, totalCount, pageSize, data } = payload;
return {
...state,
index,
totalCount,
pageSize,
list: data,
};
},
},
};

View File

@ -1,22 +1,126 @@
import React, { PureComponent } from 'react';
import { connect } from 'dva';
import { Card, Tabs } from 'antd';
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(({ loading }) => ({
loading: loading.models.orderList,
@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>
@ -30,6 +134,14 @@ class OrderRefundsList extends PureComponent {
<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>
);

View File

@ -10,7 +10,6 @@ const FormItem = Form.Item;
*/
const TableSearch = Form.create()(props => {
const { getFieldDecorator } = props.form;
console.log('props.form', props.form);
function onSubmit() {}
@ -20,8 +19,8 @@ const TableSearch = Form.create()(props => {
<Form onSubmit={onSubmit} layout="inline">
<Row gutter={{ md: 8, lg: 24, xl: 48 }}>
<Col md={8} sm={24}>
<FormItem label="订单id">
{getFieldDecorator('id')(<Input placeholder="请输入订单id" />)}
<FormItem label="订单ID">
{getFieldDecorator('id')(<Input placeholder="请输入订单ID" />)}
</FormItem>
</Col>
<Col md={8} sm={24}>

View File

@ -0,0 +1,15 @@
import { stringify } from '@/utils/request.qs';
import request from '@/utils/request';
// order
export async function list(params) {
return request(`/order-api/admins/order_return/list?${stringify(params)}`, {
method: 'GET',
});
}
export async function orderPage(params) {
return request(`/order-api/admins/order/page?${stringify(params)}`, {
method: 'GET',
});
}

View File

@ -5,6 +5,11 @@ const DictionaryConstants = {
ORDER_STATUS: 'order_status',
ORDER_CANCEL_REASONS: 'order_cancel_reasons',
LOGISTICS_COMPANY: 'logistics_company',
// order return
ORDER_RETURN_STATUS: 'order_return_status',
ORDER_RETURN_REASON: 'order_return_reason',
ORDER_RETURN_SERVICE_TYPE: 'order_return_service_type',
};
export default DictionaryConstants;