saleGoods.vue 5.98 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: "",
                    sortList:[]
                },
                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 == 2) {
                    //周报:reqTime时间不传
                    this.params.reqTime = "";
                }
                else {
                    //月报,日报,开始结束时间不传
                    this.params.beginTime = this.params.endTime = "";
                }
                if(this.params.sortList.length > 0){
                    let length=this.params.sortList.length;
                    this.params.sortId = this.params.sortList[length-1].id;
                }
                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>