10.23
This commit is contained in:
parent
198c25ea5b
commit
5dec74f184
@ -61,3 +61,13 @@ export function exportExcelHangBillApi(data) {
|
|||||||
data: data // 通过 data 参数传递需要的数据
|
data: data // 通过 data 参数传递需要的数据
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 导出积分商城订单
|
||||||
|
export function exportExcelPointsApi(data) {
|
||||||
|
return request({
|
||||||
|
url: 'business/integral/integralOrders/exportExcel',
|
||||||
|
method: 'post',
|
||||||
|
responseType: 'blob', // 表明响应类型为二进制流
|
||||||
|
data: data // 通过 data 参数传递需要的数据
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<div class="card-change">
|
<div class="card-change">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||||
<el-form-item label="" prop="giftName">
|
<el-form-item label="" prop="giftName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.orderNumber"
|
v-model="queryParams.orderNumber"
|
||||||
placeholder="请输入订单号"
|
placeholder="请输入订单号"
|
||||||
clearable
|
clearable
|
||||||
style="width: 220px;"
|
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="">
|
<el-form-item label="">
|
||||||
<el-select v-model="queryParams.status" style="width: 150px" placeholder="请选择订单类型" clearable>
|
<el-select v-model="queryParams.orderType" placeholder="请选择订单类型" clearable>
|
||||||
<el-option label="未支付" value="unpaid">未支付</el-option>
|
<el-option label="收银台兑换" value="1"></el-option>
|
||||||
<el-option label="付款成功" value="paid">付款成功</el-option>
|
<el-option label="商城兑换" value="0"></el-option>
|
||||||
<el-option label="付款失败" value="payFail">付款失败</el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="" prop="giftName">
|
<el-form-item label="" prop="giftName">
|
||||||
@ -23,39 +21,40 @@
|
|||||||
v-model="queryParams.mobile"
|
v-model="queryParams.mobile"
|
||||||
placeholder="请输入用户手机"
|
placeholder="请输入用户手机"
|
||||||
clearable
|
clearable
|
||||||
style="width: 160px;"
|
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="" prop="giftName">
|
<el-form-item label="" prop="giftName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.mobile"
|
v-model="queryParams.giftName"
|
||||||
placeholder="请输入商品名称"
|
placeholder="请输入商品名称"
|
||||||
clearable
|
clearable
|
||||||
style="width: 160px;"
|
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="">
|
<el-form-item label="">
|
||||||
<el-select v-model="queryParams.status" style="width: 150px" placeholder="请选择支付方式" clearable>
|
<el-select v-model="queryParams.paymentType" placeholder="请选择支付方式" clearable>
|
||||||
|
<el-option v-for="item in payList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictValue">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="">
|
||||||
|
<el-select v-model="queryParams.status" placeholder="请选择订单状态" clearable>
|
||||||
<el-option label="未支付" value="unpaid">未支付</el-option>
|
<el-option label="未支付" value="unpaid">未支付</el-option>
|
||||||
<el-option label="付款成功" value="paid">付款成功</el-option>
|
<el-option label="付款成功" value="paid">付款成功</el-option>
|
||||||
<el-option label="付款失败" value="payFail">付款失败</el-option>
|
<el-option label="付款失败" value="payFail">付款失败</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="">
|
<el-form-item label="">
|
||||||
<el-select v-model="queryParams.status" style="width: 150px" placeholder="请选择订单状态" clearable>
|
<el-select v-model="queryParams.staffId" placeholder="请选择员工" clearable>
|
||||||
<el-option label="未支付" value="unpaid">未支付</el-option>
|
<el-option v-for="item in staffList" :key="item.id" :label="item.realName" :value="item.id">
|
||||||
<el-option label="付款成功" value="paid">付款成功</el-option>
|
<span style="float: left">{{ item.realName }}</span>
|
||||||
<el-option label="付款失败" value="payFail">付款失败</el-option>
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.mobile }}</span>
|
||||||
</el-select>
|
</el-option>
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="">
|
|
||||||
<el-select v-model="queryParams.status" style="width: 150px" placeholder="请选择员工" clearable>
|
|
||||||
<el-option label="未支付" value="unpaid">未支付</el-option>
|
|
||||||
<el-option label="付款成功" value="paid">付款成功</el-option>
|
|
||||||
<el-option label="付款失败" value="payFail">付款失败</el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="">
|
<el-form-item label="">
|
||||||
@ -77,8 +76,11 @@
|
|||||||
<el-form-item style="float: right">
|
<el-form-item style="float: right">
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||||
|
<el-button type="primary" @click="exportExcelVip">导出</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<div style="height: 70vh;overflow: auto">
|
||||||
|
|
||||||
<el-table ref="tables"
|
<el-table ref="tables"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -88,38 +90,59 @@
|
|||||||
<el-table-column type="index" width="50" align="center" label="序号"/>
|
<el-table-column type="index" width="50" align="center" label="序号"/>
|
||||||
|
|
||||||
<el-table-column label="订单号" align="center" prop="orderNumber"/>
|
<el-table-column label="订单号" align="center" prop="orderNumber"/>
|
||||||
|
<el-table-column label="订单类型" align="center" prop="orderType">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div v-if="scope.row.orderType==1">收银台兑换</div>
|
||||||
|
<div v-if="scope.row.orderType==0">商城兑换</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="用户手机号" align="center" prop="mobile"/>
|
<el-table-column label="用户手机号" align="center" prop="mobile"/>
|
||||||
<!-- <el-table-column label="简述" align="center" prop="categoryName" />-->
|
|
||||||
<el-table-column label="商品名称" align="center" prop="giftName"/>
|
<el-table-column label="商品名称" align="center" prop="giftName"/>
|
||||||
<el-table-column label="订单数量" align="center" prop="exchangeQuantity" />
|
<el-table-column label="兑换数量" align="center" prop="exchangeQuantity"/>
|
||||||
<el-table-column label="订单金额" align="center" prop="amount" width="">
|
<el-table-column label="订单金额" align="center" prop="amount" width="">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.integral || 0 }} 积分 + {{ scope.row.amount ? scope.row.amount : "0" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="消耗积分" align="center" prop="integral" width="">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.integral || 0 }} 积分
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="实付金额" align="center" prop="amount" width="">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.amount ? scope.row.amount : "--" }}
|
{{ scope.row.amount ? scope.row.amount : "--" }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="积分" align="center" prop="integral" width=""/>
|
<el-table-column label="支付方式" align="center" prop="paymentType" width="">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ getType(payList, scope.row.paymentType) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="订单状态" align="center" prop="status" width="">
|
<el-table-column label="订单状态" align="center" prop="status" width="">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag effect="plain" v-if="scope.row.status =='unpaid'"> 待支付</el-tag>
|
<div v-if="scope.row.status =='unpaid'" style="color: #F44522"> 待支付</div>
|
||||||
<el-tag type="success" effect="plain" v-else-if="scope.row.status =='paid'">支付成功</el-tag>
|
<div v-else-if="scope.row.status =='paid'" style="color: #0DC291">支付成功</div>
|
||||||
<el-tag type="warning" effect="plain" v-else>支付失败</el-tag>
|
<div v-else style="color: #F44522">支付失败</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width=""/>
|
<el-table-column label="关联员工" align="center" prop="realName" width=""/>
|
||||||
|
<el-table-column label="订单创建时间" align="center" prop="createTime" width=""/>
|
||||||
<el-table-column label="订单完成时间" align="center" prop="createTime" width=""/>
|
<el-table-column label="订单完成时间" align="center" prop="createTime" width=""/>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
||||||
<template slot-scope="scope">
|
<!-- <template slot-scope="scope">-->
|
||||||
<el-button
|
<!-- <el-button-->
|
||||||
size="mini"
|
<!-- size="mini"-->
|
||||||
type="text"
|
<!-- type="text"-->
|
||||||
@click="handleDetail(scope.row)"
|
<!-- @click="handleDetail(scope.row)"-->
|
||||||
>订单详情</el-button>
|
<!-- >订单详情-->
|
||||||
|
<!-- </el-button>-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</el-table-column>
|
<!-- </el-table-column>-->
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
|
</div>
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total>0"
|
v-show="total>0"
|
||||||
:total="total"
|
:total="total"
|
||||||
@ -138,6 +161,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import {getOrderApi, getStatisticsApi} from "@/api/integral/order";
|
import {getOrderApi, getStatisticsApi} from "@/api/integral/order";
|
||||||
import Detail from '@/views/integral/order/detail'
|
import Detail from '@/views/integral/order/detail'
|
||||||
|
import {exportExcelPointsApi} from "@/api/order/exportExcel";
|
||||||
|
import {getDicts} from "@/api/order/data";
|
||||||
|
import {queryStaffs} from "@/api/order/staff";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "pointsCashier",
|
name: "pointsCashier",
|
||||||
@ -151,8 +177,6 @@ export default {
|
|||||||
dataForm: {},
|
dataForm: {},
|
||||||
dataList: [],
|
dataList: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
orderType:1,
|
|
||||||
|
|
||||||
giftName: '',
|
giftName: '',
|
||||||
status: '',
|
status: '',
|
||||||
mobile: '',
|
mobile: '',
|
||||||
@ -168,6 +192,9 @@ export default {
|
|||||||
|
|
||||||
total: 0,
|
total: 0,
|
||||||
|
|
||||||
|
// 支付类型列表
|
||||||
|
payList: [],
|
||||||
|
staffList: [],
|
||||||
statisticsForm: {
|
statisticsForm: {
|
||||||
num: 0,
|
num: 0,
|
||||||
exchangeQuantity: 0,
|
exchangeQuantity: 0,
|
||||||
@ -181,9 +208,26 @@ export default {
|
|||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
|
|
||||||
this.getStatistics();
|
this.getStatistics();
|
||||||
|
this.getPayList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getType(list, val) {
|
||||||
|
let name = "";
|
||||||
|
list.forEach(item => {
|
||||||
|
if (item.dictValue == val) {
|
||||||
|
name = item.dictLabel
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return name;
|
||||||
|
},
|
||||||
|
getPayList() {
|
||||||
|
getDicts("payment_type").then(response => {
|
||||||
|
this.payList = response.data;
|
||||||
|
})
|
||||||
|
queryStaffs().then(response => {
|
||||||
|
this.staffList = response.data;
|
||||||
|
})
|
||||||
|
},
|
||||||
async getList() {
|
async getList() {
|
||||||
this.dateRange = []
|
this.dateRange = []
|
||||||
if (this.beginTime && this.endTime) {
|
if (this.beginTime && this.endTime) {
|
||||||
@ -198,6 +242,7 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
|
|
||||||
},
|
},
|
||||||
getStatistics() {
|
getStatistics() {
|
||||||
this.dateRange = []
|
this.dateRange = []
|
||||||
@ -210,7 +255,8 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
handleUpdate(){},
|
handleUpdate() {
|
||||||
|
},
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getStatistics();
|
this.getStatistics();
|
||||||
@ -232,6 +278,25 @@ export default {
|
|||||||
this.getStatistics();
|
this.getStatistics();
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
exportExcelVip() {
|
||||||
|
this.$confirm('是否导出列表中的数据!', '提示', {
|
||||||
|
confirmButtonText: '导出',
|
||||||
|
cancelButtonText: '取消'
|
||||||
|
}).then(() => {
|
||||||
|
let dateRange = []
|
||||||
|
if (this.beginTime && this.endTime) {
|
||||||
|
dateRange.push(this.beginTime.toLocaleDateString())
|
||||||
|
dateRange.push(this.endTime.toLocaleDateString())
|
||||||
|
}
|
||||||
|
exportExcelPointsApi(this.addDateRange(this.queryParams, dateRange)).then(res => {
|
||||||
|
const blob = new Blob([res], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
|
||||||
|
this.$download.saveAs(blob, '积分商城订单.xLsx')
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
|
||||||
|
});
|
||||||
|
},
|
||||||
handleDetail(data) {
|
handleDetail(data) {
|
||||||
this.openDetail = true
|
this.openDetail = true
|
||||||
this.dataForm = data;
|
this.dataForm = data;
|
||||||
@ -252,6 +317,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
float: right;
|
float: right;
|
||||||
//width: 100%;
|
//width: 100%;
|
||||||
@ -259,6 +325,7 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
//box-sizing: border-box;
|
//box-sizing: border-box;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
@ -272,9 +339,11 @@ export default {
|
|||||||
border-radius: 6px 6px 6px 6px;
|
border-radius: 6px 6px 6px 6px;
|
||||||
border: 1px solid #fe8c4a;
|
border: 1px solid #fe8c4a;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-right: 44px;
|
margin-right: 44px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.size-hui {
|
.size-hui {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -287,10 +356,12 @@ export default {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
|
|
||||||
.nei {
|
.nei {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.size-bole {
|
.size-bole {
|
||||||
//font-weight: bold;
|
//font-weight: bold;
|
||||||
|
|
||||||
@ -312,6 +383,7 @@ export default {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
line-height: 1.5
|
line-height: 1.5
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-number {
|
.font-number {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-family: PingFang SC, sans-serif;
|
font-family: PingFang SC, sans-serif;
|
||||||
|
@ -2,24 +2,27 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container"> <!-- 条件查询-->
|
<div class="app-container"> <!-- 条件查询-->
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<!-- <div style="display: flex;">-->
|
|
||||||
<!-- <div class="top-app-sou">-->
|
|
||||||
<!-- <el-form :label-position="labelPosition" label-width="40px" :model="formLabelAlign">-->
|
|
||||||
<!-- <el-form-item label="名称">-->
|
|
||||||
<!-- <el-input v-model="formLabelAlign.name" placeholder="请输入要搜索的内容"></el-input>-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
<!-- </el-form>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- <div style="margin-left: 10px">-->
|
|
||||||
<!-- <el-button type="primary" icon="el-icon-search">搜索</el-button>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||||
|
|
||||||
|
<el-form-item label="">
|
||||||
|
<el-input v-model="queryParams.paymentNo" placeholder="请输入订单号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="" prop="payChannel">
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.payChannel"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择订单类型"
|
||||||
|
>
|
||||||
|
<el-option label="收银台" value="cashier"></el-option>
|
||||||
|
<el-option label="小程序" value="applet"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="" prop="staffId">
|
<el-form-item label="" prop="staffId">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="queryParams.mtStaffId"
|
v-model="queryParams.mtStaffId"
|
||||||
clearable
|
clearable
|
||||||
placeholder="交易员工"
|
placeholder="请选择员工"
|
||||||
>
|
>
|
||||||
<el-option v-for="item in staffList" :key="item.id" :label="item.realName" :value="item.id">
|
<el-option v-for="item in staffList" :key="item.id" :label="item.realName" :value="item.id">
|
||||||
<span style="float: left">{{ item.realName }}</span>
|
<span style="float: left">{{ item.realName }}</span>
|
||||||
@ -31,7 +34,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="queryParams.paymentType"
|
v-model="queryParams.paymentType"
|
||||||
clearable
|
clearable
|
||||||
placeholder="支付类型"
|
placeholder="请选择支付方式"
|
||||||
>
|
>
|
||||||
<el-option v-for="item in payList"
|
<el-option v-for="item in payList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -41,19 +44,6 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="">
|
<el-form-item label="">
|
||||||
<el-input v-model="queryParams.mobile" placeholder="手机号"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="">
|
|
||||||
<!-- <el-date-picker-->
|
|
||||||
<!-- v-model="dateRange"-->
|
|
||||||
<!-- style="width: 400px"-->
|
|
||||||
<!-- size="medium"-->
|
|
||||||
<!-- value-format="yyyy-MM-dd"-->
|
|
||||||
<!-- type="datetimerange"-->
|
|
||||||
<!-- range-separator="至"-->
|
|
||||||
<!-- start-placeholder="开始日期"-->
|
|
||||||
<!-- end-placeholder="结束日期"-->
|
|
||||||
<!-- ></el-date-picker>-->
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="beginTime"
|
v-model="beginTime"
|
||||||
style="width: 160px"
|
style="width: 160px"
|
||||||
@ -71,7 +61,7 @@
|
|||||||
<el-form-item style="float: right;margin-right: 0px">
|
<el-form-item style="float: right;margin-right: 0px">
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="exportExcelVip()">导出订单</el-button>
|
<el-button type="primary" icon="el-icon-plus" @click="exportExcelVip()">导出</el-button>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@ -82,11 +72,17 @@
|
|||||||
style="width: 100%">
|
style="width: 100%">
|
||||||
<el-table-column type="index" width="50" align="center" label="序号"/>
|
<el-table-column type="index" width="50" align="center" label="序号"/>
|
||||||
<el-table-column prop="paymentNo" label="订单号" align="center"></el-table-column>
|
<el-table-column prop="paymentNo" label="订单号" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="payChannel" label="订单类型" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.payChannel=='cashier'">收银台</span>
|
||||||
|
<span v-else>小程序</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="name" label="会员名称" align="center"></el-table-column>
|
<el-table-column prop="name" label="会员名称" align="center"></el-table-column>
|
||||||
<el-table-column prop="mobile" label="会员手机号" align="center"> </el-table-column>
|
<el-table-column prop="mobile" label="手机号" align="center"></el-table-column>
|
||||||
<!-- <el-table-column prop="bidBalance" label="到账金额" align="center"> </el-table-column>-->
|
<el-table-column prop="rechargeBalance" label="充值金额(元)" align="center"></el-table-column>
|
||||||
<el-table-column prop="rechargeBalance" label="充值金额" align="center"> </el-table-column>
|
<el-table-column prop="giftBalance" label="赠送金额(元)" align="center"></el-table-column>
|
||||||
<el-table-column prop="giftBalance" label="赠送金额" align="center"></el-table-column>
|
<el-table-column prop="giftBalance" label="会员总余额(元)" align="center"></el-table-column>
|
||||||
<el-table-column prop="paymentType" label="支付方式" align="center">
|
<el-table-column prop="paymentType" label="支付方式" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ getType(payList, scope.row.paymentType) }}</span>
|
<span>{{ getType(payList, scope.row.paymentType) }}</span>
|
||||||
@ -94,12 +90,12 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="payStatus" label="订单状态" align="center">
|
<el-table-column prop="payStatus" label="订单状态" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.payStatus == 'unpaid'">未支付</el-tag>
|
<div v-if="scope.row.payStatus == 'unpaid'" style="color: #F44522">未支付</div>
|
||||||
<el-tag type="success" v-else-if="scope.row.payStatus == 'paid'">已支付</el-tag>
|
<div v-else-if="scope.row.payStatus == 'paid'" style="color: #0DC291">支付成功</div>
|
||||||
<el-tag type="danger" v-else>支付失败</el-tag>
|
<div v-else style="color: #F44522">支付失败</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="remark" label="充值备注" align="center">
|
<el-table-column prop="remark" label="备注" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ scope.row.remark ? scope.row.remark : "--" }}</span>
|
<span>{{ scope.row.remark ? scope.row.remark : "--" }}</span>
|
||||||
</template>
|
</template>
|
||||||
@ -114,22 +110,6 @@
|
|||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="fringeBenefit" label="储值优惠" width="180" align="center">-->
|
|
||||||
<!-- <template slot-scope="scope">-->
|
|
||||||
<!-- <span>充值满{{ scope.row.rechargeBalance }}元赠送{{ scope.row.giftBalance }}元</span>-->
|
|
||||||
<!-- </template>-->
|
|
||||||
<!-- </el-table-column>-->
|
|
||||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
|
||||||
<!-- <template slot-scope="scope">-->
|
|
||||||
<!-- <!– <el-button size="mini" type="text" icon="el-icon-edit">更多操作</el-button>–>-->
|
|
||||||
<!-- <el-button style="width: 60px" size="mini"-->
|
|
||||||
<!-- @click="patchwork(scope.row)"-->
|
|
||||||
<!-- type="primary" plain round>补打</el-button>-->
|
|
||||||
<!-- <el-button style="width: 60px" size="mini"-->
|
|
||||||
<!-- @click="handleRefund(scope.row.id)"-->
|
|
||||||
<!-- type="danger" plain round>退款</el-button>-->
|
|
||||||
<!-- </template>-->
|
|
||||||
<!-- </el-table-column>-->
|
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
@ -169,7 +149,8 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-input placeholder="请输入密码" v-model="password" show-password></el-input>
|
<el-input placeholder="请输入密码" v-model="password" show-password></el-input>
|
||||||
<br/>
|
<br/>
|
||||||
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回、优惠券、储值卡等原路退回处理</span>
|
<span
|
||||||
|
style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回、优惠券、储值卡等原路退回处理</span>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogRefund = false">取 消</el-button>
|
<el-button @click="dialogRefund = false">取 消</el-button>
|
||||||
@ -291,6 +272,10 @@ export default {
|
|||||||
return name;
|
return name;
|
||||||
},
|
},
|
||||||
exportExcelVip() {
|
exportExcelVip() {
|
||||||
|
this.$confirm('是否导出列表中的数据!', '提示', {
|
||||||
|
confirmButtonText: '导出',
|
||||||
|
cancelButtonText: '取消'
|
||||||
|
}).then(() => {
|
||||||
let dateRange = []
|
let dateRange = []
|
||||||
if (this.beginTime && this.endTime) {
|
if (this.beginTime && this.endTime) {
|
||||||
dateRange.push(this.beginTime.toLocaleDateString())
|
dateRange.push(this.beginTime.toLocaleDateString())
|
||||||
@ -300,6 +285,9 @@ export default {
|
|||||||
const blob = new Blob([res], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
|
const blob = new Blob([res], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
|
||||||
this.$download.saveAs(blob, '会员充值订单统计.xLsx')
|
this.$download.saveAs(blob, '会员充值订单统计.xLsx')
|
||||||
})
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getOrderStatistics() {
|
getOrderStatistics() {
|
||||||
let dateRange = []
|
let dateRange = []
|
||||||
@ -320,7 +308,8 @@ export default {
|
|||||||
// return delUser(row.id);
|
// return delUser(row.id);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||||
}).catch(() => {});
|
}).catch(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
// 退款
|
// 退款
|
||||||
handleRefund(id) {
|
handleRefund(id) {
|
||||||
@ -418,6 +407,7 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
background: #f6f8f9;
|
background: #f6f8f9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-top {
|
.app-top {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
@ -425,19 +415,23 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clearfix {
|
.clearfix {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-card {
|
.box-card {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-gang {
|
.box-gang {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
@ -450,9 +444,11 @@ export default {
|
|||||||
border-radius: 6px 6px 6px 6px;
|
border-radius: 6px 6px 6px 6px;
|
||||||
border: 1px solid #fe8c4a;
|
border: 1px solid #fe8c4a;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-right: 44px;
|
margin-right: 44px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.size-hui {
|
.size-hui {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -463,10 +459,12 @@ export default {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
|
|
||||||
.nei {
|
.nei {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.size-bole {
|
.size-bole {
|
||||||
height: 31px;
|
height: 31px;
|
||||||
font-family: YouSheBiaoTiHei;
|
font-family: YouSheBiaoTiHei;
|
||||||
@ -477,6 +475,7 @@ export default {
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wgang {
|
.wgang {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -485,19 +484,25 @@ export default {
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-box {
|
.table-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
height: 72vh;
|
||||||
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pagination-box {
|
.pagination-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 10px auto;
|
margin: 10px auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: end;
|
||||||
justify-content: center;
|
justify-content: end;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-app-sou {
|
.top-app-sou {
|
||||||
width: 20%;
|
width: 20%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tk {
|
.tk {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: grey;
|
color: grey;
|
||||||
@ -509,6 +514,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
float: right;
|
float: right;
|
||||||
//width: 100%;
|
//width: 100%;
|
||||||
@ -516,6 +522,7 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box1 {
|
.box1 {
|
||||||
//box-sizing: border-box;
|
//box-sizing: border-box;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
@ -99,6 +99,7 @@
|
|||||||
io.actual_payment,
|
io.actual_payment,
|
||||||
io.make_change,
|
io.make_change,
|
||||||
io.payment_type,
|
io.payment_type,
|
||||||
|
io.staff_id,
|
||||||
mu.mobile,
|
mu.mobile,
|
||||||
mu.user_no,
|
mu.user_no,
|
||||||
mu.name,
|
mu.name,
|
||||||
@ -106,17 +107,25 @@
|
|||||||
ig.cover_image,
|
ig.cover_image,
|
||||||
ea.name addrName,
|
ea.name addrName,
|
||||||
ea.mobile addrMobile,
|
ea.mobile addrMobile,
|
||||||
ea.address
|
ea.address,
|
||||||
|
ms.real_name
|
||||||
from integral_orders io
|
from integral_orders io
|
||||||
left join mt_user mu ON io.user_id = mu.id
|
left join mt_user mu ON io.user_id = mu.id
|
||||||
left join integral_gift ig ON io.gift_id = ig.id
|
left join integral_gift ig ON io.gift_id = ig.id
|
||||||
left join mt_user_express_address ea ON io.address_id = ea.id
|
left join mt_user_express_address ea ON io.address_id = ea.id
|
||||||
|
left join mt_staff ms on io.staff_id = ms.id
|
||||||
<where>
|
<where>
|
||||||
io.store_id = #{integralOrders.storeId}
|
io.store_id = #{integralOrders.storeId}
|
||||||
|
|
||||||
<if test="integralOrders.giftName != null">
|
<if test="integralOrders.giftName != null">
|
||||||
and ig.gift_name like CONCAT ('%',#{integralOrders.giftName},'%')
|
and ig.gift_name like CONCAT ('%',#{integralOrders.giftName},'%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="integralOrders.staffId != null">
|
||||||
|
and io.staff_id = #{integralOrders.staffId}
|
||||||
|
</if>
|
||||||
|
<if test="integralOrders.paymentType != null">
|
||||||
|
and io.payment_type = #{integralOrders.paymentType}
|
||||||
|
</if>
|
||||||
<if test="integralOrders.mobile != null">
|
<if test="integralOrders.mobile != null">
|
||||||
and mu.mobile like CONCAT ('%',#{integralOrders.mobile},'%')
|
and mu.mobile like CONCAT ('%',#{integralOrders.mobile},'%')
|
||||||
</if>
|
</if>
|
||||||
|
@ -30,6 +30,5 @@ public class IntegralOrdersVO extends IntegralOrders {
|
|||||||
private String integralBy;
|
private String integralBy;
|
||||||
// private String integrals;
|
// private String integrals;
|
||||||
// private String amount;
|
// private String amount;
|
||||||
|
private String realName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -299,6 +299,12 @@
|
|||||||
<if test="cardValueRecord.paymentType != null and cardValueRecord.paymentType != ''">
|
<if test="cardValueRecord.paymentType != null and cardValueRecord.paymentType != ''">
|
||||||
and payment_type = #{cardValueRecord.paymentType}
|
and payment_type = #{cardValueRecord.paymentType}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="cardValueRecord.payChannel != null and cardValueRecord.payChannel != ''">
|
||||||
|
and pay_channel = #{cardValueRecord.payChannel}
|
||||||
|
</if>
|
||||||
|
<if test="cardValueRecord.paymentNo != null and cardValueRecord.paymentNo != ''">
|
||||||
|
and payment_no like concat('%', #{cardValueRecord.paymentNo}, '%')
|
||||||
|
</if>
|
||||||
<if test="cardValueRecord.cardValueId != null and cardValueRecord.cardValueId != ''">
|
<if test="cardValueRecord.cardValueId != null and cardValueRecord.cardValueId != ''">
|
||||||
and card_value_id = #{cardValueRecord.cardValueId}
|
and card_value_id = #{cardValueRecord.cardValueId}
|
||||||
</if>
|
</if>
|
||||||
|
@ -506,6 +506,7 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
|
|||||||
cardValueRecordDTO.setChainStoreId(nowAccountInfo.getChainStoreId());
|
cardValueRecordDTO.setChainStoreId(nowAccountInfo.getChainStoreId());
|
||||||
cardValueRecordDTO.setRemark(selectCard.getDesc());
|
cardValueRecordDTO.setRemark(selectCard.getDesc());
|
||||||
cardValueRecordDTO.setPayChannel(selectCard.getPayChannel());
|
cardValueRecordDTO.setPayChannel(selectCard.getPayChannel());
|
||||||
|
cardValueRecordDTO.setPaymentType(selectCard.getPaymentType());
|
||||||
//储值卡面额
|
//储值卡面额
|
||||||
cardValueRecordDTO.setBidBalance(selectCard.getRechargeBalance().doubleValue());
|
cardValueRecordDTO.setBidBalance(selectCard.getRechargeBalance().doubleValue());
|
||||||
//充值金额
|
//充值金额
|
||||||
@ -560,6 +561,7 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
|
|||||||
cardFuelRecordDTO.setPayChannel(selectCard.getPayChannel());
|
cardFuelRecordDTO.setPayChannel(selectCard.getPayChannel());
|
||||||
cardFuelRecordDTO.setOilType(fuelDiesel.getOilType());
|
cardFuelRecordDTO.setOilType(fuelDiesel.getOilType());
|
||||||
cardFuelRecordDTO.setOilNumberId(fuelDiesel.getOilNumberId());
|
cardFuelRecordDTO.setOilNumberId(fuelDiesel.getOilNumberId());
|
||||||
|
cardFuelRecordDTO.setPaymentType(selectCard.getPaymentType());
|
||||||
//锁定单价
|
//锁定单价
|
||||||
cardFuelRecordDTO.setLockupPrice(fuelDiesel.getLockPrice());
|
cardFuelRecordDTO.setLockupPrice(fuelDiesel.getLockPrice());
|
||||||
//所得升数
|
//所得升数
|
||||||
|
Loading…
Reference in New Issue
Block a user