done.js 7.66 KB
/**
 * done tab store
 * @author: leo
 * @date: 04/05/2017
 */
import { CellInfo } from 'components/cell';
import { CellDispatch } from '../components';

export default () => {
    return {
        filters: {
            orderNo: {
                label: '调拨单号',
                model: '',
                holder: '',
            },
            expressNo: {
                label: '物流单号',
                model: '',
                holder: ''
            },
            prodCode: {
                label: '商品编码',
                model: '',
                holder: 'SKN'
            },
            merChantCode: {
                label: '商家编码',
                model: '',
                holder: '商家商品编码'
            },
            prodBarCode: {
                label: '商品条码',
                model: '',
                holder: ''
            },
            orderTime: {
                label: '下单时间',
                model: '',
                holder: ''
            },
            startTime: {
                model: ''
            },
            endTime: {
                model: '',
            },
            prodStatus: {
                label: '商品状态',
                model: '',
                options: [
                    {
                        value: 2,
                        label: '已处理'
                    },
                    {
                        value: -2,
                        label: '已处理超时'
                    },
                    {
                        value: 3,
                        label: '收货完成'
                    },
                    {
                        value: 4,
                        label: '已取消'
                    }
                ]
            }
        },
        page: {
            total: 0,
            current: 1
        },
        table: {
            cols: [
                {
                    title: '下单时间',
                    key: 'createTime',
                    align: 'center'
                },
                {
                    title: '商品图片',
                    align: 'center',
                    render(h, params) {
                        return h('img', {
                            directives: [
                                {
                                    name: 'prod-img',
                                    value: params.row.productSku,
                                    modifiers: {
                                        sku: true
                                    }
                                }
                            ]
                        });
                    }
                },
                {
                    title: '商品信息',
                    align: 'center',
                    render(h, params) {
                        const row = params.row;
                        let infoItems = [
                            {
                                label: 'SKU',
                                value: row.productSku,
                            }, {
                                label: 'SKN',
                                value: row.productSkn,
                            }, {
                                label: '规格',
                                value: `${row._colorName}/${row.sizeName}`,
                            }, {
                                label: '名称',
                                value: row.productName,
                            }, {
                                label: '品牌',
                                value: row.brandName,
                            }, {
                                label: '销售价',
                                value: row.salesPrice,
                            }, {
                                label: '采购价',
                                value: row.purchasePrice,
                            }
                        ];

                        return h(CellInfo, {
                            props: {
                                items: infoItems
                            }
                        });
                    }
                },
                {
                    title: '商品条码',
                    key: 'skuFactoryCode',
                    align: 'center'
                },
                {
                    title: '订单收发货',
                    align: 'center',
                    render(h, params) {
                        const row = params.row;

                        return h(CellDispatch, {
                            props: {
                                storeNum: row.inStoreNum,
                                buyNum: row.buyingNums,
                                shipNum: row.shipmentsNums,
                                lackNum: row.lackNum,
                            }
                        });
                    }
                },
                {
                    title: '收货进度(收货数/已发数)',
                    align: 'center',
                    render(h, params) {
                        const row = params.row;
                        const complete = row.shipmentsNums === 0 || row.inStoreNum === row.shipmentsNums;

                        return (
                            <div>
                                <div v-show={complete}>
                                    <i-progress percent="100" hide-info></i-progress>
                                    <p>{row.inStoreNum}/{row.shipmentsNums}</p>
                                </div>
                                <div v-show={!complete}>
                                    <i-progress status="wrong"
                                        percent={(row.inStoreNum / row.shipmentsNums) * 100} hide-info>
                                    </i-progress>
                                    <p>{row.inStoreNum}/{row.shipmentsNums}</p>
                                </div>
                            </div>
                        );
                    }
                },
                {
                    title: '缺货',
                    align: 'center',
                    render(h, params) {
                        return (<p>缺货数:{params.row.lackNum}</p>);
                    }
                },
                {
                    title: '状态',
                    align: 'center',
                    render(h, params) {
                        const row = params.row;
                        let ot = row.isOvertime;
                        let status = row.status;
                        let type = 1;

                        const txtMap = {
                            1: '已处理',
                            2: '已处理(超时)',
                            3: '收货完成',
                            4: '已取消'
                        };

                        ot = ot === 'N' ? true : false;
                        if (status === 2 && !ot) {
                            type = 2;
                        }

                        if (status !== 2) {
                            type = status;
                        }

                        return (
                            <div>
                                <span v-show={ot}>{txtMap[type]}</span>
                                <span v-show={!ot} class="is-overtime">{txtMap[type]}</span>
                            </div>
                        );
                    },
                    className: 'status-cell'
                },
                {
                    title: '调拨单号',
                    key: 'proRequisitionFormId',
                    align: 'center',
                }
            ],
            list: []
        }
    };
};