From a454ef415f43210ac16a8041f21ccaead09fb412 Mon Sep 17 00:00:00 2001 From: sin <2943460818@qq.com> Date: Mon, 6 May 2019 23:24:23 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E6=B7=BB=E5=8A=A0=20=E9=80=80=E8=B4=A7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=20=E6=9C=AA=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/models/orderRefunds/orderRefunds.js | 35 ++++++ .../pages/OrderRefunds/OrderRefundsList.js | 118 +++++++++++++++++- .../src/pages/OrderRefunds/TableSearch.js | 5 +- admin-web/src/services/orderRefunds.js | 15 +++ admin-web/src/utils/dictionary.js | 5 + 5 files changed, 172 insertions(+), 6 deletions(-) create mode 100644 admin-web/src/models/orderRefunds/orderRefunds.js create mode 100644 admin-web/src/services/orderRefunds.js diff --git a/admin-web/src/models/orderRefunds/orderRefunds.js b/admin-web/src/models/orderRefunds/orderRefunds.js new file mode 100644 index 000000000..82111fcaf --- /dev/null +++ b/admin-web/src/models/orderRefunds/orderRefunds.js @@ -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, + }; + }, + }, +}; diff --git a/admin-web/src/pages/OrderRefunds/OrderRefundsList.js b/admin-web/src/pages/OrderRefunds/OrderRefundsList.js index fa57223b2..b9e97e283 100644 --- a/admin-web/src/pages/OrderRefunds/OrderRefundsList.js +++ b/admin-web/src/pages/OrderRefunds/OrderRefundsList.js @@ -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 ( + + ); + }, + }, + { + title: '退货原因', + dataIndex: 'reason', + key: 'reason', + render(reason) { + return ; + }, + }, + { + title: '备注', + dataIndex: 'describe', + key: 'describe', + }, + { + title: '状态', + dataIndex: 'status', + key: 'status', + render(status) { + return ; + }, + }, + { + title: '同意时间', + dataIndex: 'approvalTime', + key: 'approvalTime', + render(approvalTime) { + if (approvalTime) { + return
{moment(approvalTime).format('YYYY-MM-DD HH:mm')}
; + } + return
; + }, + }, + { + title: '申请时间', + dataIndex: 'createTime', + key: 'createTime', + render(createTime) { + return
{moment(createTime).format('YYYY-MM-DD HH:mm')}
; + }, + }, + { + title: '操作', + render() { + return ( +
+ 同意 +
+ ); + }, + }, + ]; + + const pagination = { + total: totalCount, + index, + pageSize, + }; + return ( @@ -30,6 +134,14 @@ class OrderRefundsList extends PureComponent { + + ); diff --git a/admin-web/src/pages/OrderRefunds/TableSearch.js b/admin-web/src/pages/OrderRefunds/TableSearch.js index e1d8be01a..07aec863a 100644 --- a/admin-web/src/pages/OrderRefunds/TableSearch.js +++ b/admin-web/src/pages/OrderRefunds/TableSearch.js @@ -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 => { - - {getFieldDecorator('id')()} + + {getFieldDecorator('id')()} diff --git a/admin-web/src/services/orderRefunds.js b/admin-web/src/services/orderRefunds.js new file mode 100644 index 000000000..62f417ea4 --- /dev/null +++ b/admin-web/src/services/orderRefunds.js @@ -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', + }); +} diff --git a/admin-web/src/utils/dictionary.js b/admin-web/src/utils/dictionary.js index 016bb007f..77a607fc4 100644 --- a/admin-web/src/utils/dictionary.js +++ b/admin-web/src/utils/dictionary.js @@ -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;