payment.vue 3.54 KB
<template>
    <layout-body>
        <layout-filter>
            <filter-item :label="filters.balanceId.label">
                <Input v-model.trim="filters.balanceId.model"
                    :placeholder="filters.balanceId.holder"></Input>
            </filter-item>
            <filter-item :label="filters.brandId.label">
                <select-brand v-model="filters.brandId.model"></select-brand>
            </filter-item>
            <filter-item :label="filters.createTime.label">
                <Date-picker v-model="filters.createTime.model"
                             type="datetimerange" format="yyyy-MM-dd" placeholder="选择日期和时间">
                </Date-picker>
            </filter-item>
            <filter-item>
                <Button type="primary" @click="search">筛选</Button>
                <Button @click="reset">清空条件</Button>
            </filter-item>
        </layout-filter>
        <layout-list>
            <Demo></Demo>
            <Table border :columns="tableCols" :data="tableData"></Table>
            <Page :total="pageData.total" :current="pageData.pageNo"
                        @on-change="pageChange" :page-size="20" show-total></Page>
        </layout-list>
    </layout-body>
</template>

<script>
import list from './store/list';
import FinanceService from 'services/finance/finance-service';

export default {
    data() {
        return list.call(this);
    },
    created() {
        this.FinanceService = new FinanceService();
    },
    computed: {
        startTime() {
            let createTime = this.filters.createTime.model;

            if (_.isEmpty(createTime)) {
                return 0;
            } else {
                return createTime[0] ? createTime[0].getTime() / 1000 : 0;
            }
        },
        endTime() {
            let createTime = this.filters.createTime.model;

            if (_.isEmpty(createTime)) {
                return 0;
            } else {
                return createTime[1] ? createTime[1].getTime() / 1000 : 0;
            }
        }
    },
    methods: {
        search() {
            // 在这里实现异步查询的方法,建议在service中做
            let params = {
                type: 2,
                balanceId: +this.filters.balanceId.model,
                brandId: this.filters.brandId.model,
                status: this.filters.status.model,
                beginTime: this.startTime,
                endTime: this.endTime,
                pageSize: this.pageData.pageSize,
                pageNo: this.pageData.pageNo
            };

            this.FinanceService.settlementList(params).then(ret => {
                console.log(ret)
            });
        },
        reset() {
            this.filters.balanceId.model = null;
            this.filters.brandId.model = null;
            this.filters.status.model = null;
            this.filters.createTime.model = null;
            this.pageData.pageNo = 1;
            this.pageData.total = 0;
        },
        pageChange(val) {
            this.pageData.current = val;
            this.search();
        },
        onClickInfo(params) {
            this.$router.push({
                name: 'finance.payment.detail',
                params: {},
                query: {
                    balanceId: params.row.balanceId,
                    status: params.row.statusDesc,
                    brandName: params.row.brandName
                }
            });
        },
        onClickStock() {}
    }
};
</script>

<style lang="scss">
.ivu-date-picker .ivu-select-dropdown {
    left: -284px !important;
}
</style>