done.js 5.78 KB
/**
 * done tab store
 * @author: leo
 * @date: 04/05/2017
 */

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: -1,
                options: [
                    {
                        value: -1,
                        label: '全部'
                    },
                    {
                        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(row) { // eslint-disable-line
                        return `<div>
                            <img v-prod-img.sku="row.productSku">
                        </div>`;
                    }
                },
                {
                    title: '商品信息',
                    align: 'center',
                    render(row) { // eslint-disable-line
                        return `<cell-prd-info
                    :skn="row.productSkn"
                    :sku="row.productSku"
                    :color="row._colorName"
                    :name="row.productName"
                    :brand="row.brandName"
                    :price="row.salesPrice"
                    :size="row.sizeName"
                ></cell-prd-info>`;
                    }
                },
                {
                    title: '商品条码',
                    key: 'skuFactoryCode',
                    align: 'center'
                },
                {
                    title: '订单收发货',
                    align: 'center',
                    render(row) { // eslint-disable-line
                        return `<cell-dispatch 
                    :store-num="row.inStoreNum"
                    :buy-num="row.buyingNums"
                    :ship-num="row.shipmentsNums"
                    :lack-num="row.lackNum">
                </cell-dispatch>`;
                    }
                },
                {
                    title: '收货进度(收货数/已发数)',
                    align: 'center',
                    render(row) {
                        if (row.shipmentsNums === 0 || row.inStoreNum === row.shipmentsNums) {
                            return `<i-progress :percent="100" hide-info>
                                </i-progress><p>${row.inStoreNum}/${row.shipmentsNums}</p>`;
                        }

                        return `<i-progress status="wrong" 
                                    :percent="${(row.inStoreNum / row.shipmentsNums) * 100}" hide-info>
                                </i-progress><p>${row.inStoreNum}/${row.shipmentsNums}</p>`;
                    }
                },
                {
                    title: '缺货',
                    align: 'center',
                    render(row) {
                        return `<p>缺货数:${row.lackNum}</p>`;
                    }
                },
                {
                    title: '状态',
                    align: 'center',
                    render(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 `<span v-if="${ot}">${txtMap[type]}</span>
                                <span v-else class="is-overtime">${txtMap[type]}</span>`;
                    },
                    className: 'status-cell'
                },
                {
                    title: '调拨单号',
                    key: 'proRequisitionFormId',
                    align: 'center',
                }
            ],
            list: []
        }
    };
};