import React from 'react';
import { Form, Row, Col, Avatar, Button } from 'antd';
import './index.less';
import Page from '@src/containers/Page';
import Block from '@src/components/Block';
import TableLayout from '@src/layouts/TableLayout';
import { formatDate, getMap, formatMoney } from '@src/services/Tools';
import { UserUrl, PrepareStatus, PrepareExaminationTime, ServiceKey, PayModule } from '../../../../Constant';
import { User } from '../../../stores/user';
import { Exercise } from '../../../stores/exercise';
const PrepareStatusMap = getMap(PrepareStatus, 'value', 'label');
const PrepareExaminationTimeMap = getMap(PrepareExaminationTime, 'value', 'label');
const ServiceKeyMap = getMap(ServiceKey, 'value', 'label');
const PayModuleMap = getMap(PayModule, 'value', 'label');
export default class extends Page {
constructor(props) {
super(props);
this.categoryMap = {};
}
init() {
Exercise.allStruct().then(result => {
this.categoryMap = getMap(result.filter(row => row.level === 2).map(row => { row.title = `${row.titleZh}/${row.titleEn}`; row.value = row.id; return row; }), 'id', 'title');
this.setState({ exercise: result });
});
this.columns = [{
title: '订单时间',
dataIndex: 'createTime',
render: (text) => {
return formatDate(text);
},
}, {
title: '购买',
dataIndex: 'module',
render: (text, record) => {
const m = PayModuleMap[text];
switch (text) {
case 'service':
return `${m}: ${ServiceKeyMap[record.moduleExtend]} ${record.isUse ? '已使用' : ''}`;
case 'class':
return `${m}: ${this.categoryMap[record.moduleExtend]} ${record.isUse ? '已使用' : ''}`;
case 'data':
default:
return `${m || text}`;
}
},
}, {
title: '消费金额',
dataIndex: 'money',
render: (text) => {
return formatMoney(text);
},
}];
}
initData() {
const { id } = this.params;
let handler;
if (id) {
handler = User.get({ id });
} else {
handler = Promise.resolve();
}
handler
.then(result => {
this.setState({ data: result });
this.refreshPay(this.state.search.page, this.state.search.size);
});
}
refreshPay(p, size) {
const { id } = this.params;
const { page } = this.state;
page.current = p || 1;
page.pageSize = size || 20;
this.setState({ page });
User.listPay({ user_id: id, page: page.current, size: page.pageSize })
.then(result => {
this.setTableData(result.list, result.total);
});
}
renderBase() {
const { data = {} } = this.state;
return {ServiceKeyMap[service.service]}: {formatDate(service.startTime)} - {formatDate(service.expireTime)} {this.categoryMap[cls.category]}: {formatDate(cls.startTime)} - {formatDate(cls.expireTime)}用户基本信息
服务开通
累计消费金额
{data.totalMoney}
已开通服务
{(data.services || []).map(service => {
return 已开通课程
{(data.classes || []).map(cls => {
return 消费记录
学习统计
累计学习时间
学习数据