QueryOrder.vue 7.8 KB
<template>
    <section>
        <el-col :span="24" class="toolbar" style="padding-bottom: 0px">
                <el-form :inline="true" :model="filters">
                    <el-form-item>
                        <el-input v-model="filters.orderNumber" placeholder="订单号"></el-input>
                    </el-form-item>
                    <el-form-item>
                        <div class="block">
                            <el-date-picker
                                    v-model="filters.payTime"
                                    type="datetimerange"
                                    unlink-panels
                                    value-format="yyyy-MM-dd HH:mm:ss"
                                    range-separator="至"
                                    start-placeholder="开始日期"
                                    end-placeholder="结束日期"
                                    :picker-options="pickerOptions">
                            </el-date-picker>
                        </div>
                    </el-form-item>
                    <el-form-item>
                        <el-button type="primary" v-on:click="QueryOrder()">查询</el-button>
                    </el-form-item>
                </el-form>
        </el-col>
        <el-table
                :data="tableData"
                stripe
                style="width: 100%">
            <el-table-column prop="ordernumber" label="订单号" width="180">
            </el-table-column>

            <el-table-column prop="payuserid" label="用户编号" width="100">
            </el-table-column>

            <el-table-column prop="payusername" label="缴费用户" width="100">
            </el-table-column>

            <el-table-column prop="paylocationname" label="房间号码" width="150">
            </el-table-column>

            <el-table-column prop="paytypeaddress" label="水表编号" width="200">
            </el-table-column>

            <el-table-column prop="paytime" label="充值日期" width="160">
            </el-table-column>

            <el-table-column prop="payfees" label="充值金额" width="100">
            </el-table-column>

            <el-table-column prop="paytype" label="充值类型" width="100">
                <template slot-scope="scope">
                    <div v-if="scope.row.paytype === false" style="color:#20a0ff">水</div>
                    <div v-else="scope.row.paytype === true" style="color: #42d885">电</div>
                </template>
            </el-table-column>

            <el-table-column prop="paystatus" label="支付状态" width="100">
                <template slot-scope="scope">
                    <div v-if="scope.row.payfesstype === false" style="color:#ff4d51">未完成</div>
                    <div v-else="scope.row.payfesstype === true" style="color: #42d885">已完成</div>
                </template>
            </el-table-column>
            <el-table-column
                    fixed="right"
                    label="操作">
                <template slot-scope="scope"  align="center" class-name="small-padding fixed-width" >
                    <!--<el-button @click="Pay(scope.row)" type="primary" size="mini">去完成</el-button>-->
                    <el-button type="primary" @click="payDelete(scope.$index,scope.row)" size="small">移除订单</el-button>
                </template>
            </el-table-column>
        </el-table>

        <!--工具条-->
        <el-col :span="24" class="toolbar">
            <!--<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>-->
            <el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
            </el-pagination>
        </el-col>

     </section>
</template>
<script>
    import { getOrder,addOrder,ediOrder,remove} from '../../api/empt/PayOrder';
    import ElButton from "../../../node_modules/element-ui/packages/button/src/button.vue";
    export default {
        components: {ElButton},
        data() {
            return {
                filters: {
                    orderNumber: '',
                    payTime:''
                },
                total: 0,
                pageNum: 1,
                pageSize: 5,

                pickerOptions: {
                    shortcuts: [{
                        text: '最近一周',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
                            picker.$emit('pick', [start, end]);
                        }
                    }, {
                        text: '最近一个月',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
                            picker.$emit('pick', [start, end]);
                        }
                    }, {
                        text: '最近三个月',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
                            picker.$emit('pick', [start, end]);
                        }
                    }]},
                formInline: {
                    user: '',
                    date1:'',

                },
                tableData: [],
            }
        },
        mounted() {
            this.QueryOrder();
        },
        methods: {

            handleCurrentChange(val) {
                this.pageNum = val;
            },
            QueryOrder(){

                // 清空后为null 问题
                var payTimes = '';
                if (this.filters.payTime!==null){
                    payTimes = this.filters.payTime[0]+','+this.filters.payTime[1]
                }
                let params = {
                    pageNum: this.pageNum,
                    pageSize: this.pageSize,
                    orderNumber: this.filters.orderNumber,
                    payTime: payTimes,

                };
                getOrder(params).then(res=>{
                    let resData = res.data;
                    this.total = resData.total;
                    this.tableData = resData.list;
                }).catch((error) => {
                    if(null!= error.response && error.response!==undefined){
                        let status= error.response.status;
                        let msg = error.response.statusText;
                        alert(status+msg);
                    }else {
                        alert(error);
                    }
                })
            },

            //删除
            payDelete: function (index, row) {
                this.$confirm('确认移出该订单吗?', '提示', {
                    type: 'warning'
                }).then(() => {
                    this.listLoading = true;
                    let para = { id: row.id };
                    remove(para).then((res) => {
                        this.listLoading = false;
                        //NProgress.done();
                        this.$message({
                            message: '移出成功',
                            type: 'success'
                        });
                        this.QueryOrder();
                    }).catch((error) => {
                        this.listLoading = false;
                        alert(error);
                    });
                }).catch();
            },

            Pay(row){
                this.$router.push({name:'缴水电费订单',params:{row,Edistatus:'update'}})
            },
        },

    }
</script>