| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- 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',
- className: 'col-money',
- render: renderContent,
- }, {
- title: '数量(件)',
- dataIndex: 'num',
- key: 'num',
- className: 'col-money',
- render: (text, row, index) => {
- if (index < basicGoods.length) {
- return text;
- }
- return <span style={{ fontWeight: 600 }}>{text}</span>;
- },
- }, {
- title: '金额',
- dataIndex: 'amount',
- key: 'amount',
- className: 'col-money',
- 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: 32 }}>
- <Description term="取货单号">1000000000</Description>
- <Description term="状态">已取货</Description>
- <Description term="销售单号">1234123421</Description>
- <Description term="子订单">3214321432</Description>
- </DescriptionList>
- <div className={styles.divider} />
- <DescriptionList title="用户信息" style={{ marginBottom: 32 }}>
- <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: 16 }}
- pagination={false}
- loading={basicLoading}
- dataSource={basicProgress}
- columns={progressColumns}
- />
- </Card>
- </PageHeaderLayout>
- );
- }
- }
|