saleGoods.vue 5.97 KB
<template>
    <div id="exportStock" class="contentpanel shopsReport" style="display1: none">
        <div class="panel">
            <div class="panel-heading"><h1>销售统计</h1></div>
            <div class="panel-body">
                <div class="row">
                    <uc-filter :params.sync="params"></uc-filter>
                    <div class="panel-col">
                        <a href="javascript:;" class="btn btn-info" @click="submit">搜索</a>
                    </div>
                </div>

                <uc-card :rows="cards"></uc-card>
            </div>
        </div>

        <div class="panel">
            <div class="panel-heading"><h2>——有效订单商品销售报表——</h2></div>
            <div class="panel-body nopadding">
                <com-grid :columns="grid.columns" :url="grid.url">
                </com-grid>
            </div>
        </div>

    </div>
</template>


<script>
    import grid from '../../../../components/grid/index';
    import card from './card';
    import filer from './filter';

    export default {
        components: {
            comGrid: grid,
            ucCard: card,
            ucFilter: filer
        },
        props: {
            saleData: {type: Object, default: {}}
        },
        data() {
            return {
                cards: [
                    {name: "有效订单的商品件数", value: "0", name1: "环比", value1: "0"},
                    {name: "有效订单的商品金额(元)", value: "0", name1: "环比", value1: "0"}
                ],
                params: {
                    type: 1,
                    reqTime: "",
                    beginTime: "",
                    endTime: "",
                    productSkn: "",
                    productSkc: "",
                    productSku: "",
                    factoryCode: "",
                    sortId: ""
                },
                grid: {
                    url: '/report/getOrdersGoodsRptList',
                    columns: [
                        {
                            name: 'imageUrl', display: '图片', render: function (item) {
                            return '<img src="' + item.imageUrl + '">'
                        }
                        },
                        {
                            name: 'SKN/SKC/SKU', display: 'SKN/SKC/SKU', render: function (item) {
                            var htmlArr = [];
                            htmlArr.push('<p>SKN:' + item.productSkn + '</p>');
                            htmlArr.push('<p>SKC:' + item.productSkc + '</p>');
                            htmlArr.push('<p>SKU:' + item.productSku + '</p>');
                            return htmlArr.join("");
                        }
                        },
                        {name: 'factoryCode', display: '厂家编号'},
                        {name: 'goodsName', display: '商品名称'},
                        {
                            name: 'price', display: '价格', render: function (item) {
                            var htmlArr = [];
                            htmlArr.push('<p>吊牌价:' + item.retailPrice + '</p>');
                            htmlArr.push('<p>销售价:' + item.salesPrice + '</p>');
                            return htmlArr.join("");
                        }
                        },
                        {
                            name: '', display: '颜色/尺码', render: function (item) {
                            return '<p>' + item.colorName + '/' + item.sizeName + '</p>';
                        }
                        },
                        {
                            name: '', display: '商品分类', render: function (item) {
                            return '<p>' + item.maxSortName + '-' + item.middleSortName + '</p>';
                        }
                        },
                        {name: 'buyNumber', display: '数量'},
                        {name: 'orderAmount', display: '金额'}
                    ]
                }
            }
        },
        ready() {
            this.submit();
        },
        methods: {
            submit() {
                if(this.params.type==3){
                    //月报:reqTime截取月份,开始结束时间不传
                    this.params.reqTime=this.params.reqTime.substring(0,7);
                    this.params.beginTime=this.params.endTime="";
                }else if(this.params.type==1){
                    //日报:开始结束时间不传
                    this.params.beginTime=this.params.endTime="";
                }else{
                    //周报:reqTime时间不传
                    this.params.reqTime="";
                }
                var data = {
                    type: this.params.type,
                    reqTime: this.getTime(this.params.reqTime),
                    beginTime: this.getTime(this.params.beginTime),
                    endTime: this.getTime(this.params.endTime),
                    productSkn: this.params.productSkn,
                    productSkc: this.params.productSkc,
                    productSku: this.params.productSku,
                    factoryCode: this.params.factoryCode,
                    sortId: this.params.sortId
                };
                this.$broadcast('grid-reload', data);
            },
            getTime(time){
                if (time !== "") {
                    time = time.split('/').join("")
                }
                return time;
            }
        },
        events: {
            complete(data){
                let result = data.additionInfo;
                if (result) {
                    this.cards[0].value = result.allNumber ? result.allNumber : 0;
                    this.cards[0].value1 = result.allNumberRate ? result.allNumberRate : 0;
                    this.cards[1].value = result.allAmount ? result.allAmount : 0;
                    this.cards[1].value1 = result.allAmountRate ? result.allAmountRate : 0;
                }

            }
        }
    }
</script>