|
|
@@ -0,0 +1,163 @@
|
|
|
+import React, { Component } from 'react';
|
|
|
+import { connect } from 'dva';
|
|
|
+import { Card, Badge, Table } from 'antd';
|
|
|
+import PageHeaderLayout from '../../layouts/PageHeaderLayout';
|
|
|
+import DescriptionList from '../../components/DescriptionList';
|
|
|
+import styles from './BasicProfile.less';
|
|
|
+
|
|
|
+const { Description } = DescriptionList;
|
|
|
+
|
|
|
+const progressColumns = [{
|
|
|
+ title: '时间',
|
|
|
+ dataIndex: 'time',
|
|
|
+ key: 'time',
|
|
|
+}, {
|
|
|
+ title: '当前进度',
|
|
|
+ dataIndex: 'rate',
|
|
|
+ key: 'rate',
|
|
|
+}, {
|
|
|
+ title: '状态',
|
|
|
+ dataIndex: 'status',
|
|
|
+ key: 'status',
|
|
|
+ render: text => (
|
|
|
+ text === 'success' ? <Badge status="success" text="成功" /> : <Badge status="processing" text="进行中" />
|
|
|
+ ),
|
|
|
+}, {
|
|
|
+ title: '操作员ID',
|
|
|
+ dataIndex: 'operator',
|
|
|
+ key: 'operator',
|
|
|
+}, {
|
|
|
+ title: '耗时',
|
|
|
+ dataIndex: 'cost',
|
|
|
+ key: 'cost',
|
|
|
+}];
|
|
|
+
|
|
|
+@connect(state => ({
|
|
|
+ profile: state.profile,
|
|
|
+}))
|
|
|
+export default class BasicProfile extends Component {
|
|
|
+ componentDidMount() {
|
|
|
+ const { dispatch } = this.props;
|
|
|
+ dispatch({
|
|
|
+ type: 'profile/fetchBasic',
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ render() {
|
|
|
+ const { profile } = this.props;
|
|
|
+ const { basicGoods, basicProgress, basicLoading } = profile;
|
|
|
+ let goodsData = [];
|
|
|
+ if (basicGoods.length) {
|
|
|
+ let num = 0;
|
|
|
+ let amount = 0;
|
|
|
+ basicGoods.forEach((item) => {
|
|
|
+ num += Number(item.num);
|
|
|
+ amount += Number(item.amount);
|
|
|
+ });
|
|
|
+ goodsData = basicGoods.concat({
|
|
|
+ id: '总计',
|
|
|
+ num,
|
|
|
+ amount,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ const renderContent = (value, row, index) => {
|
|
|
+ const obj = {
|
|
|
+ children: value,
|
|
|
+ props: {},
|
|
|
+ };
|
|
|
+ if (index === basicGoods.length) {
|
|
|
+ obj.props.colSpan = 0;
|
|
|
+ }
|
|
|
+ return obj;
|
|
|
+ };
|
|
|
+ const goodsColumns = [{
|
|
|
+ title: '商品编号',
|
|
|
+ dataIndex: 'id',
|
|
|
+ key: 'id',
|
|
|
+ render: (text, row, index) => {
|
|
|
+ if (index < basicGoods.length) {
|
|
|
+ return <a href="">{text}</a>;
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ children: <span style={{ fontWeight: 600 }}>总计</span>,
|
|
|
+ props: {
|
|
|
+ colSpan: 4,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: '商品名称',
|
|
|
+ dataIndex: 'name',
|
|
|
+ key: 'name',
|
|
|
+ render: renderContent,
|
|
|
+ }, {
|
|
|
+ title: '商品条码',
|
|
|
+ dataIndex: 'barcode',
|
|
|
+ key: 'barcode',
|
|
|
+ render: renderContent,
|
|
|
+ }, {
|
|
|
+ title: '单价',
|
|
|
+ dataIndex: 'price',
|
|
|
+ key: 'price',
|
|
|
+ render: renderContent,
|
|
|
+ }, {
|
|
|
+ title: '数量(件)',
|
|
|
+ dataIndex: 'num',
|
|
|
+ key: 'num',
|
|
|
+ render: (text, row, index) => {
|
|
|
+ if (index < basicGoods.length) {
|
|
|
+ return text;
|
|
|
+ }
|
|
|
+ return <span style={{ fontWeight: 600 }}>{text}</span>;
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'amount',
|
|
|
+ key: 'amount',
|
|
|
+ render: (text, row, index) => {
|
|
|
+ if (index < basicGoods.length) {
|
|
|
+ return text;
|
|
|
+ }
|
|
|
+ return <span style={{ fontWeight: 600 }}>{text}</span>;
|
|
|
+ },
|
|
|
+ }];
|
|
|
+ return (
|
|
|
+ <PageHeaderLayout title="基础详情页">
|
|
|
+ <Card bordered={false}>
|
|
|
+ <DescriptionList title="退款申请" style={{ marginBottom: 24 }}>
|
|
|
+ <Description term="取货单号">1000000000</Description>
|
|
|
+ <Description term="状态">已取货</Description>
|
|
|
+ <Description term="销售单号">1234123421</Description>
|
|
|
+ <Description term="子订单">3214321432</Description>
|
|
|
+ </DescriptionList>
|
|
|
+ <div className={styles.divider} />
|
|
|
+ <DescriptionList title="用户信息" style={{ marginBottom: 24 }}>
|
|
|
+ <Description term="用户姓名">付小小</Description>
|
|
|
+ <Description term="联系电话">18100000000</Description>
|
|
|
+ <Description term="常用快递">菜鸟仓储</Description>
|
|
|
+ <Description term="取货地址">浙江省杭州市西湖区万塘路18号</Description>
|
|
|
+ <Description term="备注">没啥</Description>
|
|
|
+ </DescriptionList>
|
|
|
+ <div className={styles.divider} />
|
|
|
+ <div className={styles.title}>退货商品</div>
|
|
|
+ <Table
|
|
|
+ style={{ marginBottom: 24 }}
|
|
|
+ pagination={false}
|
|
|
+ loading={basicLoading}
|
|
|
+ dataSource={goodsData}
|
|
|
+ columns={goodsColumns}
|
|
|
+ rowKey="id"
|
|
|
+ />
|
|
|
+ <div className={styles.title}>退货进度</div>
|
|
|
+ <Table
|
|
|
+ style={{ marginBottom: 24 }}
|
|
|
+ pagination={false}
|
|
|
+ loading={basicLoading}
|
|
|
+ dataSource={basicProgress}
|
|
|
+ columns={progressColumns}
|
|
|
+ />
|
|
|
+ </Card>
|
|
|
+ </PageHeaderLayout>
|
|
|
+ );
|
|
|
+ }
|
|
|
+}
|