<!DOCTYPE HTML> 
 | 
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> 
 | 
<head> 
 | 
    <meta charset="utf-8"> 
 | 
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
 | 
    <meta name="renderer" content="webkit|ie-comp|ie-stand"> 
 | 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
 | 
    <meta name="viewport" 
 | 
          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/> 
 | 
    <meta http-equiv="Cache-Control" content="no-siteapp"/> 
 | 
    <LINK rel="Bookmark" href="../images/favicon.ico"> 
 | 
    <!-- 本框架基本脚本和样式 --> 
 | 
    <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script> 
 | 
    <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}"> 
 | 
    <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> 
 | 
    <title></title> 
 | 
    <style> 
 | 
        .panel-body{ 
 | 
            overflow: hidden; 
 | 
        } 
 | 
        .buttonPanel{ 
 | 
            background: #ffffff; 
 | 
            padding: 10px 10px ; 
 | 
            margin: 0px 0px 10px 0px; 
 | 
        } 
 | 
        .rowPanel{ 
 | 
            background: #ffffff; 
 | 
            padding: 0px 10px ; 
 | 
            padding-top: 10px; 
 | 
            margin: 0px 0px 10px 0px; 
 | 
        } 
 | 
        .paginationStyle{ 
 | 
            background: #ffffff; 
 | 
            padding: 10px 10px; 
 | 
            margin: 0px 0px 10px 0px; 
 | 
            text-align: right; 
 | 
        } 
 | 
    </style> 
 | 
</head> 
 | 
<body> 
 | 
<div class="panel-body" id="app"> 
 | 
  
 | 
    <el-row class="buttonPanel"> 
 | 
        <el-button @click="exportExcel" type="primary" >导出</el-button> 
 | 
    </el-row> 
 | 
  
 | 
    <el-row class="rowPanel"  > 
 | 
        <el-form ref="form" :model="form" inline > 
 | 
            <el-form-item label="会员" prop="queryKey"> 
 | 
                <el-input v-model="form.queryKey" placeholder="请输入会员姓名/手机"></el-input> 
 | 
            </el-form-item> 
 | 
  
 | 
            <el-form-item label="操作人" prop="oprationMan" > 
 | 
                <el-input v-model="form.oprationMan"></el-input> 
 | 
            </el-form-item> 
 | 
  
 | 
            <el-form-item label="订单号" prop="orderNo"> 
 | 
                <el-input v-model="form.orderNo"></el-input> 
 | 
            </el-form-item> 
 | 
  
 | 
            <el-form-item label="交易类型" prop="flowType"> 
 | 
                <el-select v-model="form.flowType" placeholder="请选择"> 
 | 
                    <el-option 
 | 
                            v-for="item in flowTypeList" 
 | 
                            :key="item.value" 
 | 
                            :label="item.label" 
 | 
                            :value="item.value" 
 | 
                            > 
 | 
                    </el-option> 
 | 
                </el-select> 
 | 
            </el-form-item> 
 | 
  
 | 
            <el-form-item label="支付方式" prop="payMethod"> 
 | 
                <el-select v-model="form.payMethod" placeholder="请选择"> 
 | 
                    <el-option 
 | 
                            v-for="item in payMethodList" 
 | 
                            :key="item.value" 
 | 
                            :label="item.label" 
 | 
                            :value="item.value"> 
 | 
                    </el-option> 
 | 
                </el-select> 
 | 
            </el-form-item> 
 | 
  
 | 
            <el-form-item label="时间" prop="datetimeArr"> 
 | 
                <el-date-picker 
 | 
                        v-model="form.datetimeArr" 
 | 
                        type="daterange" 
 | 
                        range-separator="至" format="yyyy-MM-dd HH:mm" 
 | 
                        start-placeholder="开始日期" 
 | 
                        end-placeholder="结束日期"> 
 | 
                </el-date-picker> 
 | 
            </el-form-item> 
 | 
  
 | 
            <el-form-item label="交易门店" prop="shopId"> 
 | 
                <el-select v-model="form.shopId" placeholder="请选择"> 
 | 
                    <el-option 
 | 
                            v-for="item in shopList" 
 | 
                            :key="item.shopShortName" 
 | 
                            :label="item.shopShortName" 
 | 
                            :value="item.id"> 
 | 
                    </el-option> 
 | 
                </el-select> 
 | 
            </el-form-item> 
 | 
  
 | 
  
 | 
  
 | 
            <el-button type="primary" @click="search" >搜索</el-button> 
 | 
            <el-button @click="resetForm('form')">重置</el-button> 
 | 
        </el-form> 
 | 
    </el-row> 
 | 
  
 | 
    <el-row class="table-style"  > 
 | 
  
 | 
        <el-table id="proj" :data="table.rows"  :height="height" stripe @sort-change="sortChange"> 
 | 
            <el-table-column 
 | 
                    prop="orderNo" 
 | 
                    label="订单号" 
 | 
                    width="180"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="flowContent" 
 | 
                    label="交易内容" 
 | 
                    show-overflow-tooltip 
 | 
                    width="240"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="createTime" 
 | 
                    sortable="custom" 
 | 
                    label="交易时间" 
 | 
                    show-overflow-tooltip 
 | 
                    width="180"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="flowType" 
 | 
                    sortable="custom" 
 | 
                    label="交易类型"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="amount" 
 | 
                    sortable="custom" 
 | 
                    label="交易金额"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="vipName" 
 | 
                    label="会员姓名"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="payMethod" 
 | 
                    sortable="custom" 
 | 
                    label="支付方式"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="flowNo" 
 | 
                    label="支付流水号"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="staffName" 
 | 
                    label="操作人"> 
 | 
            </el-table-column> 
 | 
            <el-table-column 
 | 
                    prop="shopName" 
 | 
                    label="门店名称"> 
 | 
            </el-table-column> 
 | 
            <el-table-column label="操作"> 
 | 
                <template slot-scope="scope"> 
 | 
                    <el-button type="text" @click="openOrder(scope.$index, scope.row)" size="small">订单详情</el-button> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
        </el-table> 
 | 
    </el-row> 
 | 
    <el-row class="paginationStyle"  > 
 | 
        <el-pagination background 
 | 
                       @size-change="changePageSize" 
 | 
                       @current-change="changeCurrentPage" 
 | 
                       :current-page="table.currentPage" 
 | 
                       :page-sizes="[10, 20, 30, 50]" 
 | 
                       :page-size="table.pageSize" 
 | 
                       layout="total, sizes, prev, pager, next, jumper" 
 | 
                       :total="table.total"> 
 | 
        </el-pagination> 
 | 
    </el-row> 
 | 
  
 | 
</div> 
 | 
</body> 
 | 
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> 
 | 
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script> 
 | 
<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script> 
 | 
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script> 
 | 
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script> 
 | 
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script> 
 | 
<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> 
 | 
<script type="text/javascript" th:inline="javascript"> 
 | 
  
 | 
    var vue = new Vue({ 
 | 
        el: '#app', 
 | 
        data: { 
 | 
            table:{ 
 | 
                rows:[], 
 | 
                total:0, 
 | 
                pageSize:10, 
 | 
                currentPage:1, 
 | 
            }, 
 | 
            form:{ 
 | 
                name:null, 
 | 
                datetimeArr:'', 
 | 
                payMethod:'', 
 | 
                flowType:'', 
 | 
                orderNo:'', 
 | 
                oprationMan:'', 
 | 
                queryKey:'', 
 | 
                shopId:'', 
 | 
            }, 
 | 
            height:'calc(100vh - 240px)', 
 | 
            shopList:[{id:0,shopShortName:'全部'}], 
 | 
            flowTypeList:[ 
 | 
                {value:'',label:'全部'}, 
 | 
                {value:'购买',label:'购买'}, 
 | 
                {value:'退款',label:'退款'}, 
 | 
                {value:'还款',label:'还款'} 
 | 
            ], 
 | 
            payMethodList:[ 
 | 
                {value:'',label:'全部'}, 
 | 
                {value:'现金',label:'现金'}, 
 | 
                {value:'微信',label:'微信'}, 
 | 
                {value:'支付宝',label:'支付宝'}, 
 | 
                {value:'银行卡',label:'银行卡'}, 
 | 
                {value:'团购',label:'团购'}, 
 | 
                {value:'储值卡',label:'储值卡'}, 
 | 
                {value:'欠款',label:'欠款'} 
 | 
            ], 
 | 
        }, 
 | 
        created: function () { 
 | 
            let _this=this; 
 | 
           this.loadData(); 
 | 
            window.addEventListener("keydown", this.keydown); 
 | 
            AjaxProxy.requst({ 
 | 
                app:_this, 
 | 
                url:basePath+"/admin/shopInfo/findAll", 
 | 
                callback:function (data) { 
 | 
                    data.rows.forEach(shop=>{ 
 | 
                        _this.shopList.push(shop); 
 | 
                    }); 
 | 
                } 
 | 
  
 | 
            }) 
 | 
  
 | 
        }, 
 | 
        methods: { 
 | 
            changePageSize(val) { 
 | 
                this.table.pageSize = val; 
 | 
                this.loadData(); 
 | 
            }, 
 | 
            changeCurrentPage(val) { 
 | 
                this.table.currentPage = val; 
 | 
                this.loadData(); 
 | 
            }, 
 | 
            resetForm(formName) { 
 | 
                this.$refs[formName].resetFields(); 
 | 
            }, 
 | 
            sortChange:function (column){ 
 | 
                if(column.order){ 
 | 
                    if(column.order.indexOf("desc")){ 
 | 
                        this.form.order="desc"; 
 | 
                    }else{ 
 | 
                        this.form.order="asc"; 
 | 
                    } 
 | 
                    this.form.sort=column.prop; 
 | 
                    this.loadData(); 
 | 
                } 
 | 
            }, 
 | 
            loadData:function(){ 
 | 
                let _this = this; 
 | 
                let data=_this.getRequestParam(); 
 | 
                data.limit=_this.table.pageSize; 
 | 
                data.offset=_this.table.pageSize*(_this.table.currentPage-1); 
 | 
                AjaxProxy.requst({ 
 | 
                    app: _this, 
 | 
                    data:data, 
 | 
                    url: basePath + '/admin/orderFlow/findOrderFlow', 
 | 
                    callback: function (data) { 
 | 
                        _this.table.rows = data.rows; 
 | 
                        _this.table.total=data.total; 
 | 
                    } 
 | 
                }); 
 | 
            }, 
 | 
            getRequestParam(){ 
 | 
                let _this = this; 
 | 
                return   { 
 | 
                    name:_this.form.name, 
 | 
                    payMethod:_this.form.payMethod, 
 | 
                    flowType:_this.form.flowType, 
 | 
                    orderNo:_this.form.orderNo, 
 | 
                    oprationMan:_this.form.oprationMan, 
 | 
                    queryKey:_this.form.queryKey, 
 | 
                    startTime:_this.form.datetimeArr?moment(_this.form.datetimeArr[0]).format("YYYY-MM-DD HH:mm"):'', 
 | 
                    endTime:_this.form.datetimeArr?moment(_this.form.datetimeArr[1]).format("YYYY-MM-DD HH:mm"):'', 
 | 
                    shopId:_this.form.shopId, 
 | 
                    order:_this.form.order, 
 | 
                    sort:_this.form.sort, 
 | 
  
 | 
                } 
 | 
            }, 
 | 
            search:function(){ 
 | 
                this.table.currentPage=1; 
 | 
                this.loadData(); 
 | 
            }, 
 | 
            keydown(evt){ 
 | 
                if(evt.keyCode==13) { 
 | 
                    this.search(); 
 | 
                } 
 | 
            }, 
 | 
  
 | 
            openOrder(index,row){ 
 | 
                layer.full(layer.open({ 
 | 
                    type : 2, 
 | 
                    title : "订单详情", 
 | 
                    maxmin : true, 
 | 
                    content : [ basePath + '/admin/order/orderItem?id=' + row.orderId ] 
 | 
                })); 
 | 
            }, 
 | 
            //导出 
 | 
            exportExcel(){ 
 | 
                window.location.href=basePath+"/admin/orderFlow/exportOrderFlowExcel?"+MTools.jsonToUrlParam(this.getRequestParam()); 
 | 
            } 
 | 
  
 | 
        } 
 | 
    }); 
 | 
  
 | 
  
 | 
</script> 
 | 
</body> 
 | 
</html> 
 |