This commit is contained in:
DESKTOP-369JRHT\12997 2024-10-23 08:52:43 +08:00
parent 219dfa5cb4
commit a625342084
7 changed files with 907 additions and 835 deletions

View File

@ -1,9 +1,78 @@
<!-- 收银台订单-->
<template>
<div style="margin-top: 0px">
<div class="card-change-1-search">
<div class="container">
<div class="new-top" >
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-input style="width: 215px;" v-model="queryParams.orderNo" placeholder="请输入订单号"></el-input>
</el-form-item>
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"
clearable
placeholder="请选择订单类型"
>
<el-option label="小程序" value="applet"/>
<el-option label="收银台" value="cashier"/>
<el-option label="POS端" value="POS"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"
clearable
placeholder="请选择订单分类"
>
<el-option label="小程序" value="applet"/>
<el-option label="收银台" value="cashier"/>
<el-option label="POS端" value="POS"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="payType">
<el-select
v-model="queryParams.payType"
clearable
placeholder="请选择支付方式"
>
<el-option label="现金" value="CASH"/>
<el-option label="微信" value="WECHAT"/>
<el-option label="支付宝" value="ALIPAY"/>
<el-option label="余额" value="balance"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="请选择订单状态"
>
<el-option label="已支付" value="paid"/>
<el-option label="未支付" value="unpaid"/>
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item label="" style="margin-right:22px" prop="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="请选择员工"
>
<el-option label="已支付" value="paid"/>
<el-option label="未支付" value="unpaid"/>
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item label="" style="margin-right: 0px" prop="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="请输入付款用户"
>
<el-option label="已支付" value="paid"/>
<el-option label="未支付" value="unpaid"/>
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item label="">
<el-date-picker
v-model="beginTime"
@ -19,66 +88,56 @@
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"
clearable
placeholder="支付渠道"
>
<el-option label="小程序" value="applet"/>
<el-option label="收银台" value="cashier"/>
<el-option label="POS端" value="POS"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="payType">
<el-select
v-model="queryParams.payType"
clearable
placeholder="支付方式"
>
<el-option label="现金" value="CASH"/>
<el-option label="微信" value="WECHAT"/>
<el-option label="支付宝" value="ALIPAY"/>
<el-option label="余额" value="balance"/>
</el-select>
</el-form-item>
<el-form-item class="" style="float: right;">
<el-form-item style="float: right; margin-right: 0px ">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<!-- <el-button type="primary" icon="el-icon-plus" @click = "exportExcelCashier()">导出订单</el-button>-->
<el-button type="primary" >导出</el-button>
</el-form-item>
</el-form>
</div>
<div class="card-change-1" style="margin-right: 20px">
<div class="wit_box" >
<div class="box-gang">
<div class="box">
<div class="size-bole">{{
orderStatistics.refBalanceCount }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">{{ orderStatistics.wechat?orderStatistics.wechat:0 }}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="nei">退款笔数</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
<div class="dian" style="background: #0DC291"></div>
<div class="nei">退款金额/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole">{{ orderStatistics.refBalance?orderStatistics.refBalance:0 }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="nei">退款余额</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
<div class="dian" style="background: #00CAFF"></div>
<div class="nei">油品订单退款金额/笔数</div>
</div>
</div>
<div class="box">
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#F44522;" >{{ orderStatistics.balance?orderStatistics.balance:0 }}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #F44522"></div>
<div class="nei">便利店订单退款金额/笔数</div>
</div>
</div>
<div class="box">
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#FF7E00;" >{{orderStatistics.balanceCount?orderStatistics.balanceCount:0}}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #FF7E00"></div>
<div class="nei">积分商城订单退款金额/笔数</div>
</div>
</div>
</div>
<!-- </el-card>-->
<!-- <el-card class="box-card">-->
<!-- <div class="wgang">-->
<!-- <div>机构流水分析列表</div>-->
<!-- </div>-->
<div class="table-box">
<div class="table-box" style="margin-top: 15px">
<el-table
:data="orderList"
border
@ -106,20 +165,22 @@
<span v-else="">其他</span>
</template>
</el-table-column>
<el-table-column prop="goodsMoney" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="payMoney" align="center" label="优惠后应付金额"> </el-table-column>
<el-table-column prop="payMoney" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="goodsMoney" align="center" label="订单金额">
<template slot-scope="scope">
<span v-if="scope.row.type=='3'">{{scope.row.goodsMoney + scope.row.payMoney}}</span>
<span v-else>{{scope.row.goodsMoney}}</span>
</template>
</el-table-column>
<el-table-column prop="refMoney" align="center" label="退款金额">
<template slot-scope="scope">
<span v-if="scope.row.status == 'refund'">{{scope.row.payMoney}}</span>
<span type="danger" v-else>--</span>
</template>
</el-table-column>
<el-table-column prop="payMoney" align="center" label="实收金额"> </el-table-column>
<el-table-column prop="createBy" align="center" label="收银员"> </el-table-column>
<!-- <el-table-column prop="amount" align="center" label="所属模块"> </el-table-column>-->
<!-- <el-table-column prop="payAmount" align="center" label="手续费"> </el-table-column>-->
<el-table-column prop="userName" align="center" label="付款用户"> </el-table-column>
<el-table-column prop="userName" align="center" label="付款用户" > </el-table-column>
<el-table-column prop="payType" align="center" label="支付方式">
<template slot-scope="scope">
<span v-if="scope.row.payType=='CASH'">现金</span>
@ -128,44 +189,34 @@
<span v-else="">余额</span>
</template>
</el-table-column>
<el-table-column prop="mchntCd" align="center" label="支付渠道"> </el-table-column>
<el-table-column prop="mchntCd" align="center" label="商户号"> </el-table-column>
<el-table-column prop="payTime" align="center" label="退款时间" width="220"> </el-table-column>
<!-- <el-table-column prop="reasonRefund" align="content" label="备注" > </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column prop="status" align="center" label="支付状态">
<template slot-scope="scope">
<el-button style="width: 60px" size="mini"
@click="getOrdersInfo(scope.row)"
type="success" plain round>详情</el-button>
<el-tag v-if="scope.row.status == 'unpaid'">未支付</el-tag>
<el-tag type="success" v-else-if="scope.row.status == 'paid'">已支付</el-tag>
<el-tag type="danger" v-else-if="scope.row.status == 'refund'">已退款</el-tag>
<el-tag type="danger" v-else>支付失败</el-tag>
</template>
</el-table-column>
<el-table-column prop="mchntCd" align="center" label="商户号"> </el-table-column>
<el-table-column prop="createBy" align="center" label="关联员工"> </el-table-column>
<el-table-column prop="updateTime" align="center" label="退款时间" width="220"> </el-table-column>
</el-table>
</div>
<!-- <div class="pagination-box">-->
<!-- <el-pagination-->
<!-- background-->
<!-- v-show="total>0"-->
<!-- layout="prev, pager, next"-->
<!-- :total="total"-->
<!-- :page.sync="queryParams.page"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @current-change="getList">-->
<!-- </el-pagination>-->
<!-- </div>-->
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
@pagination="getDeptList"
/>
</div>
<el-dialog
title="订单信息"
:visible.sync="dialogVisible">
<el-descriptions :title="'订单号:'+ordersInfo.orderNo">
<el-descriptions-item label="门店">{{ordersInfo.storeName}}</el-descriptions-item>
<el-descriptions-item label="收银员">{{ordersInfo.createBy}}</el-descriptions-item>
@ -215,281 +266,312 @@
</el-dialog>
</div>
</template>
<script>
import {getmyDataApi, getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from "@/api/allOrder";
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
} from "@/api/allOrder";
export default {
name: "HandoverRecord-ref",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
ordersInfo: {},
//
deptList:[],
staffList:[],
//
dateRange: [],
export default {
name: "reconciliation-trading",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"refund",
payType:"",
payChannel:"",
staffId:"",
},
orderStatistics:{
refBalance:"0",
refBalanceCount:"0",
},
total:0,
}
},
async created() {
let start = new Date();
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start,new Date()];
this.beginTime = this.btime
this.endTime = this.etime
this.queryParams.staffId = this.staffId
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
getOrdersInfo(data) {
// this.dialogVisible = true;
// this.ordersInfo = data
this.$router.push({
name: 'handover-details',
// params: {
// PinventoryId: data.id,
// PorderNumber: data.orderNumber,
// PorderDate: data.orderDate,
// PapprovalStatus: data.approvalStatus,
// PcreataByName: data.createByName
// },
});
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
// exportExcelCashierApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
// const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
// this.$download.saveAs(blob,'.xLsx')
// })
},
//
async getOrderStatistics() {
// await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
// this.getOrderStatistics()
})
},
//
async getList(val){
await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
this.getOrderStatistics()
})
},
async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
status:"refund",
}
this.beginTime = ""
this.endTime = ""
this.status = "refund"
this.getDeptList()
this.handleQuery();
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
}
},
async created() {
let start = new Date();
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start,new Date()];
this.beginTime = start
this.endTime = new Date()
this.isSysDate = true
await this.getDeptList();
// this.getList();
},
methods:{
async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
this.getList()
})
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
})
},
//
async getOrderStatistics() {
// await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
//
async getList(val){
// await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
// this.getDeptList()
this.getOrderStatistics()
})
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getDeptList()
// this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped lang="scss">
.app-top{
width: 100%;
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 8px;
//height: 87.5vh;
}
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
}
.clearfix{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
}
.clearfix{
width: 100%;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
//box-sizing: border-box;
padding: 5px;
//background: #f9f9f9;
margin-right: 20px;
padding-left: 20px;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
padding: 5px;
padding-left: 20px;
width: 280px;
height: 60px;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
margin-right: 15px;
}
.size-hui{
display: flex;
align-items: center;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 13px;
color: #888888;
text-align: left;
font-style: normal;
text-transform: none;
width: 211px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
}
.size-hui{
//font-size: 14px;
//margin-bottom: 10px;
//margin-top: 10px;
display: flex;
align-items: center;
//width: 200px;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 13px;
color: #888888;
//line-height: 0px;
text-align: left;
font-style: normal;
text-transform: none;
.nei {
width: 150px;
}
}
.el-form--inline .el-form-item {
margin-right: 44px;
}
.f-button{
width: 100%;
float: right ;
text-align: right;
}
.size-bole{
//font-weight: bold;
//width: 53px;
height: 31px;
font-family: YouSheBiaoTiHei;
font-weight: 400;
font-size: 24px;
color: #555555;
//line-height: 0px;
text-align: left;
font-style: normal;
text-transform: none;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.table-box{
.nei {
color: #333333;
width: 100%;
}
.pagination-box{
width: 100%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
}
.top-app-sou{
width: 20%;
}
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
.icon-img{
}
.dian{
width: 6px;
height: 6px;
border-radius: 50%;
margin-right: 5px;
}
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
.el-form--inline .el-form-item {
margin-bottom: 15px;
margin-right: 20px;
}
.icon-img{
height: 100%;
}
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
.f-button{
width: 100%;
float: right ;
text-align: right;
}
.size-bole{
//font-weight: bold;
//width: 53px;
height: 31px;
//font-family: YouSheBiaoTiHei;
font-size: 24px;
color: #0DC291;
font-weight: 600;
font-size: 24px;
//line-height: 0px;
text-align: left;
font-style: normal;
text-transform: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.pagination-box{
width: 100%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
}
.top-app-sou{
width: 20%;
}
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
.new-top{
width: 98%;
background: #FFFFFF;
margin: 15px auto;
height: 115px;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
margin-bottom: 5px;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 74vh;
}
</style>

View File

@ -1,10 +1,91 @@
<!-- 收银台订单-->
<template>
<div style="">
<div class="card-change-1-search">
<div class="container">
<div class="new-top" >
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-input v-model="queryParams.orderNo" placeholder="流水编号"></el-input>
<el-input style="width: 215px;" v-model="queryParams.orderNo" placeholder="请输入订单号"></el-input>
</el-form-item>
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"
clearable
placeholder="请选择订单类型"
>
<el-option label="小程序" value="applet"/>
<el-option label="收银台" value="cashier"/>
<el-option label="POS端" value="POS"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"
clearable
placeholder="请选择订单分类"
>
<el-option label="小程序" value="applet"/>
<el-option label="收银台" value="cashier"/>
<el-option label="POS端" value="POS"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="payType">
<el-select
v-model="queryParams.payType"
clearable
placeholder="请选择支付方式"
>
<el-option label="现金" value="CASH"/>
<el-option label="微信" value="WECHAT"/>
<el-option label="支付宝" value="ALIPAY"/>
<el-option label="余额" value="balance"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="payType">
<el-select
v-model="queryParams.payType"
clearable
placeholder="请选择支付渠道"
>
<el-option label="现金" value="CASH"/>
<el-option label="微信" value="WECHAT"/>
<el-option label="支付宝" value="ALIPAY"/>
<el-option label="余额" value="balance"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="请选择订单状态"
>
<el-option label="已支付" value="paid"/>
<el-option label="未支付" value="unpaid"/>
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item label="" style="margin-right: 0px" prop="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="请选择员工"
>
<el-option label="已支付" value="paid"/>
<el-option label="未支付" value="unpaid"/>
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="请输入付款用户"
>
<el-option label="已支付" value="paid"/>
<el-option label="未支付" value="unpaid"/>
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item label="">
<el-date-picker
@ -21,111 +102,87 @@
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"
clearable
placeholder="支付渠道"
>
<el-option label="小程序" value="applet"/>
<el-option label="收银台" value="cashier"/>
<el-option label="POS端" value="POS"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="payType">
<el-select
v-model="queryParams.payType"
clearable
placeholder="支付方式"
>
<el-option label="现金" value="CASH"/>
<el-option label="微信" value="WECHAT"/>
<el-option label="支付宝" value="ALIPAY"/>
<el-option label="余额" value="balance"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="支付状态"
>
<el-option label="已支付" value="paid"/>
<el-option label="未支付" value="unpaid"/>
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item class="f-button" style="text-align: right;">
<el-form-item style="float: right; margin-right: 0px ">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" >导出</el-button>
</el-form-item>
</el-form>
</div>
<div class="card-change-1" style="margin-right: 20px" >
<div class="wit_box" >
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ orderStatistics.wechat?orderStatistics.wechat:0 }}/{{orderStatistics.wechatcount}}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start" >
<div class="size-bole">{{ wechat}}/{{ wechats}}</div>
</el-tooltip>
<div class="size-hui">
<div class="nei">微信收款</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
</div>
</div>
<div class="box">
<div class="size-bole">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/{{orderStatistics.alipaycount}}</div>
<div class="size-hui">
<div class="nei">支付宝收款</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
<div class="dian" style="background: #0DC291"></div>
<div class="nei">微信收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole">{{ orderStatistics.balance?orderStatistics.balance:0 }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="nei">会员钱包收款</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
<div class="dian" style="background: #00CAFF"></div>
<div class="nei">支付宝收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole">{{orderStatistics.balanceCount?orderStatistics.balanceCount:0}}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#F44522;" >{{ orderStatistics.balance?orderStatistics.balance:0 }}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="nei">会员钱包笔数</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
<div class="dian" style="background: #F44522"></div>
<div class="nei">云闪付收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole">{{ orderStatistics.cash?orderStatistics.cash:0 }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#FF7E00;" >{{orderStatistics.balanceCount?orderStatistics.balanceCount:0}}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="nei">现金支付收款</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
<div class="dian" style="background: #FF7E00"></div>
<div class="nei">pos机收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole">{{orderStatistics.cashcount?orderStatistics.cashcount:0}}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#0D2ED8;">{{ orderStatistics.cash?orderStatistics.cash:0 }}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="nei">现金收款笔数</div>
<div class="icon-img">
<img src="../../../../assets/images/cut/组 4666@2x.png" alt="">
</div>
<div class="dian" style="background: #0D2ED8"></div>
<div class="nei">现金收款/笔数</div>
</div>
</div>
<div class="box">
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#790DD8;">{{orderStatistics.cashcount?orderStatistics.cashcount:0}}/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #790DD8"></div>
<div class="nei">会员消费/笔数</div>
</div>
</div>
<div class="box">
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#D80D54;">999999/999999999999</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #D80D54"></div>
<div class="nei">挂帐收款/笔数</div>
</div>
</div>
</div>
<div class="table-box" style="margin-top: 10px">
<div class="table-box" style="margin-top: 15px">
<el-table
:data="orderList"
border
@ -167,6 +224,7 @@
</template>
</el-table-column>
<el-table-column prop="payMoney" align="center" label="实收金额"> </el-table-column>
<!-- <el-table-column prop="payAmount" align="center" label="手续费"> </el-table-column>-->
<el-table-column prop="userName" align="center" label="付款用户" > </el-table-column>
<el-table-column prop="payType" align="center" label="支付方式">
<template slot-scope="scope">
@ -186,26 +244,18 @@
</el-table-column>
<el-table-column prop="mchntCd" align="center" label="商户号"> </el-table-column>
<el-table-column prop="createBy" align="center" label="关联员工"> </el-table-column>
<el-table-column prop="payTime" align="center" label="订单创建时间" width="220"> </el-table-column>
<el-table-column prop="payTime" align="center" label="订单完成时间" width="220"> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button style="width: 60px" size="mini"
@click="getOrdersInfo(scope.row)"
type="success" plain round>详情</el-button>
</template>
</el-table-column>
<el-table-column prop="createTime" align="center" label="订单创建时间" width="220"> </el-table-column>
<el-table-column prop="updateTime" align="center" label="订单完成时间" width="220"> </el-table-column>
</el-table>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
@pagination="getDeptList"
/>
</div>
<el-dialog
title="订单信息"
@ -222,11 +272,7 @@
<el-descriptions-item label="付款用户">{{ordersInfo.userName}}</el-descriptions-item>
<el-descriptions-item label="支付状态">{{ordersInfo.status}}</el-descriptions-item>
<el-descriptions-item label="备注">{{ordersInfo.content}}</el-descriptions-item>
<!-- <el-descriptions-item label="备注">-->
<!-- <el-tag size="small">学校</el-tag>-->
<!-- </el-descriptions-item>-->
</el-descriptions>
<el-descriptions class="margin-top" title="金额详情" :column="3" border>
<el-descriptions-item>
<template slot="label">
@ -239,21 +285,18 @@
优惠后应付金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
退款金额
</template>
{{ordersInfo.refMoney?ordersInfo.refMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
实收金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
</el-descriptions>
@ -262,7 +305,6 @@
</div>
</template>
<script>
import {
@ -272,293 +314,306 @@ import {
getTradingPageApi
} from "@/api/allOrder";
export default {
name: "HandoverRecord-trading",
props:['staffId','btime','etime'],
data(){
return{
orderNo:'',
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
export default {
name: "reconciliation-trading",
data(){
return{
wechat:999999999999999,
wechats:999999999999999,
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
staffId:"",
},
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
}
},
async created() {
let start = new Date();
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start,new Date()];
// this.beginTime = start
// this.endTime = new Date()
this.beginTime = this.btime
this.endTime = this.etime
this.queryParams.staffId = this.staffId
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
// this.getList()
})
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
// dateRange.push(this.beginTime.toLocaleDateString())
// dateRange.push(this.endTime.toLocaleDateString())
dateRange.push(this.beginTime)
dateRange.push(this.endTime)
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
})
},
//
async getOrderStatistics() {
await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime)
dateRange.push(this.endTime)
}
getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
//
async getList(val){
await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
// dateRange.push(this.beginTime.toLocaleDateString())
// dateRange.push(this.endTime.toLocaleDateString())
dateRange.push(this.beginTime)
dateRange.push(this.endTime)
}
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
// this.getDeptList()
this.getOrderStatistics()
})
},
getOrdersInfo(data) {
// this.dialogVisible = true;
// this.ordersInfo = data
console.log("data",data)
this.$router.push({
name: 'handover-details',
params: {
orderNo: data.orderNo
}
// params: {
// PinventoryId: data.id,
// PorderNumber: data.orderNumber,
// PorderDate: data.orderDate,
// PapprovalStatus: data.approvalStatus,
// PcreataByName: data.createByName
// },
});
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
}
},
async created() {
let start = new Date();
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start,new Date()];
this.beginTime = start
this.endTime = new Date()
this.isSysDate = true
await this.getDeptList();
// this.getList();
},
methods:{
async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
this.getList()
})
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
})
},
//
async getOrderStatistics() {
// await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
//
async getList(val){
// await this.getDeptList()
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
// this.getDeptList()
this.getOrderStatistics()
})
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getDeptList()
// this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped lang="scss">
.app-top{
width: 100%;
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 8px;
//height: 87.5vh;
}
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
}
.clearfix{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
}
.clearfix{
width: 100%;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
//box-sizing: border-box;
padding: 5px;
//background: #f9f9f9;
margin-right: 20px;
padding-left: 20px;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.box{
//box-sizing: border-box;
padding: 5px;
//background: #f9f9f9;
padding-left: 20px;
width: 211px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
width: 211px;
height: 60px;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
}
.size-hui{
//font-size: 14px;
//margin-bottom: 10px;
//margin-top: 10px;
display: flex;
align-items: center;
//width: 200px;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 13px;
color: #888888;
//line-height: 0px;
text-align: left;
font-style: normal;
text-transform: none;
.nei {
width: 150px;
}
}
.el-form--inline .el-form-item {
margin-right: 44px;
}
.icon-img{
}
.size-hui{
display: flex;
align-items: center;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 13px;
color: #888888;
text-align: left;
font-style: normal;
text-transform: none;
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
.nei {
color: #333333;
width: 150px;
}
}
.dian{
width: 6px;
height: 6px;
border-radius: 50%;
margin-right: 5px;
}
height: 100%;
}
}
.f-button{
width: 100%;
float: right ;
text-align: right;
}
.size-bole{
//font-weight: bold;
.el-form--inline .el-form-item {
margin-bottom: 15px;
margin-right: 21px;
}
.icon-img{
//width: 53px;
height: 31px;
font-family: YouSheBiaoTiHei;
font-weight: 400;
font-size: 24px;
color: #555555;
//line-height: 0px;
text-align: left;
font-style: normal;
text-transform: none;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
.table-box{
width: 100%;
}
.pagination-box{
width: 100%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
}
.top-app-sou{
width: 20%;
}
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
}
.f-button{
width: 100%;
float: right ;
text-align: right;
}
.size-bole{
//font-weight: bold;
//width: 53px;
height: 31px;
//font-family: YouSheBiaoTiHei;
font-size: 24px;
color: #0DC291;
font-weight: 600;
font-size: 24px;
//line-height: 0px;
text-align: left;
font-style: normal;
text-transform: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.pagination-box{
width: 100%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
}
.top-app-sou{
width: 20%;
}
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
.new-top{
width: 98%;
background: #FFFFFF;
margin: 15px auto;
height: 115px;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
margin-bottom: 5px;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 74vh;
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="hy_">
<div class="tab-box">
<div class="tab_" :class="{active:index== tabindex }" @click="getindex(index)" v-for="(item,index) in tabs"
:key="index">
@ -164,7 +164,7 @@
</el-form>
</div>
<div style="height: 66vh;overflow: auto;margin-top: 15px;margin-bottom: 15px">
<div style="height: 62vh;overflow: auto;margin-top: 15px;margin-bottom: 15px">
<el-table ref="tables" v-loading="loading" :data="list" border
@selection-change="handleSelectionChange" :default-sort="defaultSort"
@sort-change="handleSortChange">
@ -175,7 +175,7 @@
@click="goDedi(scope.row.id)">{{ scope.row.name ? scope.row.name : "--" }}</span>
</template>
</el-table-column>
<el-table-column label="会员号" align="center" prop="userNo" />
<el-table-column label="会员号" align="center" prop="userNo" />
<el-table-column label="会员等级" align="center" prop="gradeId" >
<template slot-scope="scope">
<span>{{ scope.row.gradeId ? getName(allUserGrade, scope.row.gradeId) : '--' }}</span>
@ -403,6 +403,7 @@
@pagination="getList1"
/>
</div>
<div style="width: 100%;height: 10px;"></div>
<!-- 添加会员信息选择是否批量录入-->
<el-dialog :title="title" width="40%" :visible.sync="openUser" append-to-body>
@ -1396,7 +1397,8 @@ export default {
box-sizing: border-box;
padding: 20px;
margin: 0 auto;
height: 88vh;
height: 87vh;
}
@ -1418,4 +1420,7 @@ export default {
.acvtive1 {
color: #FF770F !important;
}
.hy_{
background: #f9f9f9;
}
</style>

View File

@ -34,7 +34,7 @@
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item style="float: right">
<el-form-item style="float: right;margin-right: 0px">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" @click="handleAdd">新增分组</el-button>
@ -43,7 +43,7 @@
</el-form>
</div>
<!-- -->
<div style="height: 70vh;overflow: auto">
<div style="height: 72vh;overflow: auto">
<el-table
:data="userGroupList"
border
@ -120,11 +120,11 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<div class="cot-box" v-if="tabindex==1">
<div>
<el-form :model="queryParams1" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="" prop="name" style="width: 180px">
<el-input
v-model="queryParams1.name"
@ -148,16 +148,15 @@
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item style="float: right">
<el-form-item style="float: right;margin-right: 0px">
<el-button type="primary" icon="el-icon-search" @click="handleQuery1">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery1">重置</el-button>
<el-button type="primary" @click="handleAdd1">新增定时群发</el-button>
</el-form-item>
</el-form>
</div>
<!-- -->
<div style="height: 70vh;overflow: auto">
<div style="height: 72vh;overflow: auto">
<el-table
:data="massSendList"
border
@ -262,7 +261,7 @@
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item style="float: right">
<el-form-item style="float: right;margin-right: 0px">
<el-button type="primary" icon="el-icon-search" @click="handleQuery2">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery2">重置</el-button>
</el-form-item>
@ -270,7 +269,7 @@
</el-form>
</div>
<!-- -->
<div style="height: 68vh;overflow: auto">
<div style="height: 72vh;overflow: auto">
<el-table
:data="massSendRecordList"
border
@ -363,6 +362,7 @@
@pagination="getList2"
/>
</div>
<div style="width: 100%; height: 10px;"></div>
<!-- 添加或修改对话框 -->
@ -1087,7 +1087,6 @@ export default {
.content {
background: #f5f7f8;
width: 100%;
height: 100vh;
}
.tab-box {
@ -1096,7 +1095,8 @@ export default {
background: #fff;
display: flex;
box-sizing: border-box;
margin-bottom: 25px;
border-top: 1px solid #eceff1;
margin-bottom: 10px;
}
@ -1120,7 +1120,7 @@ export default {
}
.cot-box {
width: 98%;
width: 99%;
border-radius: 8px;
background: #fff;
box-sizing: border-box;

View File

@ -3,7 +3,6 @@
<div style="box-sizing: border-box;padding: 10px; background: #f6f8f9;">
<div class="wit_box" shadow="never">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="" prop="labelName" style="width: 180px">
<el-input
v-model="queryParams.labelName"
@ -37,10 +36,11 @@
<div class="table-box">
<el-table
:data="orderList"
border
style="width: 100%">
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="labelName" align="center" label="标签名称"></el-table-column>
<el-table-column prop="remark" align="center" label="备注">
<el-table-column prop="remark" width="550" align="center" label="备注">
<template slot-scope="scope">
<span>{{ scope.row.remark || "--" }}</span>
</template>
@ -97,7 +97,7 @@
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="30%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标签名称" prop="labelName">
<el-input v-model="form.labelName" placeholder="请输入标签名称" maxlength="30"/>

View File

@ -117,6 +117,14 @@
v-hasPermi="['staff:list:update']"
>修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="resetPassword(scope.row)"
v-hasPermi="['staff:list:update']"
>重置密码
</el-button>
<el-button
size="mini"
type="text"
@ -234,6 +242,7 @@
<el-button type="primary" @click="handleDownloadqrCode('qrCodeImg')">保存图片到电脑</el-button>
</span>
</el-dialog>
<el-dialog title="码牌列表" :visible.sync="openShow" width="800px" append-to-body>
<div class="wrap-box">
@ -409,6 +418,9 @@ export default {
list: [],
//
open: false,
//
openPassword:false,
passwordValue:'',
//
dateRange: [],
//
@ -826,6 +838,25 @@ export default {
}
});
},
//
resetPassword(row) {
this.$prompt('请输入重置后的密码', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(({ value }) => {
this.$message({
type: 'success',
message: '你的密码是: ' + value
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消输入'
});
});
},
//
async handleUpdate(row) {
this.reset();

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="d-huis">
<div class="tab-box">
<div class="tab_" :class="{active:index== tabindex }" @click="getindex(index)" v-for="(item,index) in tabs"
@ -21,18 +21,6 @@
</el-switch>
</div>
<div>
<!-- <div style="display: flex;justify-content: space-between">-->
<!-- <span style="color: grey;">会员等级规则说明</span>-->
<!-- <el-button v-show="level1" @click="editLevel1" type="primary"-->
<!-- v-hasPermi="['userGrade:index:open']"-->
<!-- round> 开启等级功能-->
<!-- </el-button>-->
<!-- <el-button v-show="level2" @click="editLevel2" type="danger"-->
<!-- v-hasPermi="['userGrade:index:open']"-->
<!-- round>关闭等级功能-->
<!-- </el-button>-->
<!-- </div>-->
<div class="kuang">
<p v-for="(item,index) in memberLevelRule" :id="index">
{{ item }}
@ -45,11 +33,6 @@
<span>会员清算规则</span>
</div>
<div style="margin-top: 10px">
<!-- <template>-->
<!-- <el-radio v-model="clear" label="clear_month">按月清算</el-radio>-->
<!-- <el-radio v-model="clear" label="clear_year">按年清算</el-radio>-->
<!-- <el-radio v-model="clear" label="clear_no">不清算</el-radio>-->
<!-- </template>-->
<div class="d-s" style="margin-top: 15px;margin-bottom: 15px">
<div class="icon-type" v-for="(item,index) in clearList" :key="index"
:class="{ 'acvtive' : index === tindex }" @click="Typeindex(index,item)">
@ -58,10 +41,6 @@
{{ item.label }}
</div>
</div>
<!-- <el-button type="primary" round @click="updateClearConfig"-->
<!-- v-hasPermi="['userGrade:index:save']">-->
<!-- 保存-->
<!-- </el-button>-->
</div>
<div class="kuang">
<p v-for="(item,index) in levelClearRule" :key="index">
@ -166,14 +145,6 @@
<span style="font-size: 18px">会员等级</span>
<span style="font-size: 14px">最多支持20个等级</span>
</el-col>
<!-- <el-col :span="3">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-plus"-->
<!-- @click="handleAdd"-->
<!-- >新增会员等级</el-button>-->
<!-- </el-col>-->
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
</el-row>
<div>
<el-form :model="queryParams1" ref="queryForm" size="small" :inline="true" label-width="120px">
@ -196,7 +167,7 @@
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item style="float: right">
<el-form-item style="float: right;margin-right: 0px">
<el-button type="primary" icon="el-icon-search" @click="handleQuery1">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery1">重置</el-button>
<el-button type="primary" @click="handleAdd">新增等级</el-button>
@ -242,81 +213,6 @@
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="优惠类型" align="center" prop="preferential">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="特权信息">-->
<!-- <template slot-scope="scope">-->
<!-- <div v-show="scope.row.preferential=='自定义优惠'">-->
<!-- <p>-->
<!-- 汽油-->
<!-- <span style="margin-left: 10px">{{ scope.row.gasolineDiscount }}</span>-->
<!-- <span v-if="scope.row.gasolineRule!=null && scope.row.gasolineRule!=''"-->
<!-- style="color: grey;font-size: 12px">-->
<!-- <div style="margin-left: 10px"-->
<!-- v-if="scope.row.gasolineDiscount=='满减优惠'"-->
<!-- v-for="(item,index) in scope.row.gasolineRuleList"-->
<!-- :key="index">-->
<!-- 消费满{{ item.gasolineRule1 }},立减{{ item.gasolineRule2 }}-->
<!-- </div>-->
<!-- <div style="margin-left: 10px"-->
<!-- v-if="scope.row.gasolineDiscount=='每升优惠'"-->
<!-- v-for="(item,index) in scope.row.gasolineRuleList"-->
<!-- :key="index">-->
<!-- 消费满{{ item.gasolineRule1 }},每升优惠{{ item.gasolineRule3 }}-->
<!-- </div>-->
<!-- </span>-->
<!-- </p>-->
<!-- <p>-->
<!-- 柴油-->
<!-- <span style="margin-left: 10px">{{ scope.row.dieselDiscount }}</span>-->
<!-- <span v-if="scope.row.dieselRule!=null && scope.row.dieselRule!=''"-->
<!-- style="margin-left: 10px;color: grey;font-size: 12px">-->
<!-- <div style="margin-left: 10px"-->
<!-- v-if="scope.row.dieselDiscount=='满减优惠'"-->
<!-- v-for="(item,index) in scope.row.dieselRuleList"-->
<!-- :key="index">-->
<!-- 消费满{{ item.dieselRule1 }},立减{{ item.dieselRule2 }}-->
<!-- </div>-->
<!-- <div style="margin-left: 10px"-->
<!-- v-if="scope.row.dieselDiscount=='每升优惠'"-->
<!-- v-for="(item,index) in scope.row.dieselRuleList"-->
<!-- :key="index">-->
<!-- 消费满{{ item.dieselRule1 }},每升优惠{{ item.dieselRule3 }}-->
<!-- </div>-->
<!-- </span>-->
<!-- </p>-->
<!-- <p>-->
<!-- 天然气-->
<!-- <span style="margin-left: 10px">{{ scope.row.naturalGasDiscount }}</span>-->
<!-- <span v-if="scope.row.naturalGasRule!=null && scope.row.naturalGasRule!=''"-->
<!-- style="margin-left: 10px;color: grey;font-size: 12px">-->
<!-- <div style="margin-left: 10px"-->
<!-- v-if="scope.row.naturalGasDiscount=='满减优惠'"-->
<!-- v-for="(item,index) in scope.row.naturalGasRuleList"-->
<!-- :key="index">-->
<!-- 消费满{{ item.naturalGas1 }},立减{{ item.naturalGas2 }}-->
<!-- </div>-->
<!-- <div style="margin-left: 10px"-->
<!-- v-if="scope.row.naturalGasDiscount=='每单位优惠'"-->
<!-- v-for="(item,index) in scope.row.naturalGasRuleList"-->
<!-- :key="index">-->
<!-- 消费满{{ item.naturalGas1 }},每单位优惠{{ item.naturalGas3 }}-->
<!-- </div>-->
<!-- </span>-->
<!-- </p>-->
<!-- </div>-->
<!-- <div v-show="scope.row.preferential=='优惠活动组'">-->
<!-- 优惠活动组-->
<!-- <span style="margin-left: 10px">{{ scope.row.promotionGroup }}</span>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="状态" align="center" prop="status">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag v-if="scope.row.status == 'qy'">启用</el-tag>-->
<!-- <el-tag v-else type="info">禁用</el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -337,7 +233,6 @@
</el-table-column>
</el-table>
</div>
<pagination
v-show="total>0"
:total="total"
@ -350,7 +245,6 @@
<div class="cot-box" v-if="tabindex == 2">
<div>
<el-form :model="queryParams2" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="" prop="gradeId" style="width: 180px">
<el-select v-model="queryParams2.gradeId" placeholder="请选择会员等级" style="width: 100%">
<el-option v-for="(item,index) in gradeList" :key="index" :label="item.name"
@ -372,7 +266,7 @@
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item style="float: right">
<el-form-item style="float: right;margin-right: 0px">
<el-button type="primary" icon="el-icon-search" @click="handleQuery2">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery2">重置</el-button>
<el-button type="primary" @click="handleAdd2">新增折扣</el-button>
@ -381,7 +275,7 @@
</el-form>
</div>
<!-- -->
<div style="height: 68vh;overflow: auto">
<div style="height: 72vh;overflow: auto">
<el-table
:data="discountList"
border
@ -2036,12 +1930,14 @@ export default {
}
.cot-box {
width: 98%;
width: 99%;
border-radius: 8px;
background: #fff;
//background: red;
box-sizing: border-box;
padding: 20px;
margin: 0 auto;
height: 88vh;
}
.tab-box {
@ -2050,7 +1946,7 @@ export default {
background: #fff;
display: flex;
box-sizing: border-box;
margin-bottom: 25px;
margin-bottom: 10px;
}
@ -2106,4 +2002,7 @@ export default {
.h-size {
width: 90px;
}
.d-huis{
background: #f9f9f9;
}
</style>