This commit is contained in:
DESKTOP-369JRHT\12997 2024-10-16 20:00:39 +08:00
parent 4687084528
commit 29b603889b
23 changed files with 2810 additions and 2817 deletions

View File

@ -285,7 +285,7 @@ export default {
background: #f6f8f9;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-right: 18px;
}
</style>

View File

@ -94,7 +94,7 @@ export default {
margin-right: 50px;
display: flex;
align-items: center;
cursor: pointer;
}
.active {

View File

@ -1,447 +1,401 @@
<!-- 收银台订单-->
<template>
<div style="margin-top: 30px">
<div class="card-change-3-search">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="交易开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item class="flex-container" style="float: right">
<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>-->
<div class="container" >
</el-form-item>
</el-form>
<div class="wgang">
<div style="display: flex;align-items: center ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
<div class="card-change-1-1">
<div class="wit_box">
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ sum.sumL.toFixed(2) }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">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">{{ sum.sumOil.toFixed(2) }}</div>
<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">{{ sum.sumPayMoney.toFixed(2) }}</div>
<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">{{ sum.sumDis.toFixed(2) }}</div>
<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-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">0/0</div>
</el-tooltip>
<div class="size-hui">
<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;" >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:#E05295;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #E05295"></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;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #FF7E00"></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:#0047FF;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #0047FF"></div>
<div class="nei">退款总金额</div>
</div>
</div>
</div>
<div class="table-box" style="margin-top: 15px">
<div class="table-box">
<el-table
:data="orderList"
border
style="width: 100%">
style="width: 100%;margin-top: 15px">
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="realName" align="center" label="员工"> </el-table-column>
<el-table-column prop="sumOilNum" align="center" label="加油升数"> </el-table-column>
<el-table-column prop="sumCoumnt" align="center" label="加油笔数"> </el-table-column>
<el-table-column prop="sumOrderAnount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="sumDisCount" align="center" label="优惠金额"> </el-table-column>
<el-table-column prop="sumRefPayAmount" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="sumPayAmount" align="center" label="实收金额"> </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="deptId" align="center" label="门店编号"> </el-table-column>-->
<el-table-column prop="content" align="center" label="油站名称"> </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="count" align="center" label="订单金额(元)"> </el-table-column>
<el-table-column prop="count" align="center" label="优惠金额(元)"> </el-table-column>
<el-table-column prop="parentStoreName" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="实收金额(元)"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="统计周期">
{{this.beginTime }} {{this.endTime}}
</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"
/>
<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>
</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>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<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">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</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>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
getInstituionListApi,
getRunningWaterByDataApi,
exportExcelOilDeptApi,
getmyDataApi,
getInstituionListApi2
} from "@/api/allOrder";
import {getgetInfoByEmApi} from "@/api/order/oilorder";
export default {
name: "buy-em",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
export default {
name: "runningWater-oilDepot",
data(){
return{
loading:false,
//
staffList:[],
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
deptType:"3",
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'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;
})
},
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')
})
},
//
getOrderStatistics() {
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
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getgetInfoByEmApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data;
// this.total = response.data.total;/
this.isSysDate = false
this.sum.sumL=0
this.sum.sumOil = 0
this.sum.sumPayMoney =0
this.sum.sumDis =0
this.orderList.forEach(res=>{
this.sum.sumL=this.sum.sumL+res.sumOilNum
this.sum.sumOil = this.sum.sumOil+res.sumCoumnt
this.sum.sumPayMoney = this.sum.sumPayMoney + res.sumPayAmount
this.sum.sumDis =this.sum.sumDis + res.sumDisCount
})
})
this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
orderStatistics:{
numberOfStrokes:'0',
theTotalAmountOfTheOrder:'0',
theTotalAmountPaid:'0',
oilDiscounts:'0',
theTotalAmountOfOil:'0',
theTotalAmountOfTheItem:'0',
},
total:0,
timeDifference:1,
}
},
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.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
getDays(){
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelOilDeptApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'油站流水订单统计.xLsx')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getRunningWaterByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInstituionListApi2(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
})
this.getOrderStatistics()
},
//
async handleQuery() {
this.queryParams.page = 1;
await this.getDeptList();
this.getList();
},
//
async resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
await this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped lang="scss">
.app-top{
width: 100%;
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 6px;
}
.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;
}
.card-chan{
width: 98%;
background: #fff;
}
.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;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
width: 211px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
}
.size-hui{
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;
}
}
.size-bole{
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;
.box-gang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.box{
padding: 5px;
padding-left: 20px;
width: 275px;
height: 60px;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
margin-right: 15px;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.size-hui{
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;
}
.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;
}
}
.size-bole{
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: 98%;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 80.5vh;
}
.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{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
.el-form--inline .el-form-item {
margin-right: 44px;
}
}
</style>

View File

@ -1,242 +1,147 @@
<!-- 收银台订单-->
<template>
<div >
<div class="card-change-3-search">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="交易开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item class="flex-container" style="float: right">
<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>-->
<div class="container" >
<div class="wgang">
<div style="display: flex;align-items: center ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
</el-form-item>
</el-form>
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
<div class="card-change-1-1">
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收银台订单统计</span>-->
<!-- </div>-->
<div class="wit_box">
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ orderStatistics.goodsNumber }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">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.goodsAmount }}</div>
<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.amount }}</div>
<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.discount }}</div>
<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.buyingPrice }}</div>
<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.sumRefPayAmount }}</div>
<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-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">0/0</div>
</el-tooltip>
<div class="size-hui">
<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;" >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:#E05295;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #E05295"></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;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #FF7E00"></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:#0047FF;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #0047FF"></div>
<div class="nei">退款总金额</div>
</div>
</div>
</div>
<div class="table-box" style="margin-top: 20px">
<div class="table-box">
<el-table
:data="orderList"
border
style="width: 100%">
style="width: 100%;margin-top: 15px">
<el-table-column type="index" width="50" align="center" label="序号"/>
<!-- <el-table-column prop="payTime" align="center" label="支付时间" width="220"> </el-table-column>-->
<!-- <el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column>-->
<el-table-column prop="goodsName" align="center" label="商品名称"> </el-table-column>
<el-table-column prop="goodsNo" align="center" label="商品编号"> </el-table-column>
<el-table-column prop="pinyinCode" align="center" label="拼音码"> </el-table-column>
<el-table-column prop="unit" align="center" label="商品规格"> </el-table-column>
<el-table-column prop="goodsNumber" align="center" label="销售数量"> </el-table-column>
<el-table-column prop="buyingPrice" align="center" label="成本金额(元)"> </el-table-column>
<el-table-column prop="goodsAmount" align="center" label="订单金额(元)"> </el-table-column>
<el-table-column prop="discount" align="center" label="优惠金额(元)"> </el-table-column>
<el-table-column prop="sumRefPayAmount" align="center" label="退款金额(元)"> </el-table-column>
<el-table-column prop="allAmount" align="center" label="实收金额(元)"> </el-table-column>
<el-table-column prop="sumDisCount" align="center" label="统计周期"> </el-table-column>
<!-- <el-table-column prop="sumDisCount" align="center" label="成本金额"> </el-table-column>-->
<!-- <el-table-column prop="sumRefPayAmount" align="center" label="成本金额">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.sumRefPayAmount">{{ scope.row.sumRefPayAmount }}</span>-->
<!-- <span v-else>&#45;&#45;</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="userName" align="center" label="付款用户" > </el-table-column>-->
<!-- <el-table-column prop="content" align="content" label="备注" > </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="deptId" align="center" label="门店编号"> </el-table-column>-->
<el-table-column prop="content" align="center" label="油站名称"> </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="count" align="center" label="订单金额(元)"> </el-table-column>
<el-table-column prop="count" align="center" label="优惠金额(元)"> </el-table-column>
<el-table-column prop="parentStoreName" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="实收金额(元)"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="统计周期">
{{this.beginTime }} {{this.endTime}}
</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"
/>
<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>
</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>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<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">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</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>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
getInstituionListApi,
getRunningWaterByDataApi,
exportExcelOilDeptApi,
getmyDataApi,
getInstituionListApi2
} from "@/api/allOrder";
import {getInfoByOilTypeApi} from "@/api/order/oilorder";
import {selectOrderByBuyApi, selectOrderByBuySumApi} from "@/api/order/goodsorder";
// selectOrderByBuyApi
// selectOrderByBuySumApi
export default {
name: "buy-oil",
name: "runningWater-oilDepot",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
@ -245,42 +150,25 @@ export default {
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
goodsNumber:'0',
goodsAmount:'0',
amount:'0',
discount:'0',
buyingPrice:'0',
sumRefPayAmount:'0',
numberOfStrokes:'0',
theTotalAmountOfTheOrder:'0',
theTotalAmountPaid:'0',
oilDiscounts:'0',
theTotalAmountOfOil:'0',
theTotalAmountOfTheItem:'0',
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'0',
}
timeDifference:1,
}
},
async created() {
@ -292,20 +180,23 @@ export default {
this.dateRange = [start,new Date()];
this.beginTime = start
this.endTime = new Date()
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
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;
})
getDays(){
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
},
exportExcelCashier() {
let dateRange = []
@ -313,9 +204,9 @@ export default {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
exportExcelOilDeptApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
this.$download.saveAs(blob,'油站流水订单统计.xLsx')
})
},
//
@ -326,10 +217,15 @@ export default {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
selectOrderByBuySumApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
getRunningWaterByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
//
getList(val){
@ -338,33 +234,33 @@ export default {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
selectOrderByBuyApi(this.addDateRange(this.queryParams,dateRange)).then(response => {
getInstituionListApi2(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
})
this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
async handleQuery() {
this.queryParams.page = 1;
await this.getDeptList();
this.getList();
},
//
resetQuery() {
async resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
await this.getDeptList()
this.handleQuery();
},
}
@ -372,9 +268,13 @@ export default {
</script>
<style scoped lang="scss">
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 6px;
}
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
@ -387,26 +287,36 @@ export default {
width: 100%;
margin-bottom: 15px;
}
.card-chan{
width: 98%;
background: #fff;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.box{
//box-sizing: border-box;
padding: 5px;
//background: #f9f9f9;
margin-right: 20px;
padding-left: 20px;
width: 211px;
width: 275px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
margin-right: 15px;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.size-hui{
display: flex;
@ -420,27 +330,9 @@ export default {
text-align: left;
font-style: normal;
text-transform: none;
.nei {
width: 300px;
}
}
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
.size-bole{
//font-weight: bold;
//width: 53px;
height: 31px;
font-family: YouSheBiaoTiHei;
font-weight: 400;
@ -452,15 +344,31 @@ export default {
text-transform: none;
}
.wgang{
width: 100%;
width: 98%;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 80.5vh;
}
.pagination-box{
width: 100%;
@ -477,8 +385,16 @@ export default {
color: grey;
margin: 10px 0;
}
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
</style>

View File

@ -1,429 +1,401 @@
<!-- 收银台订单-->
<template>
<div>
<div class="card-change-3-search">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="交易开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item class="flex-container" style="float: right">
<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>-->
<div class="container" >
</el-form-item>
</el-form>
<div class="wgang">
<div style="display: flex;align-items: center ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
<div class="card-change-1-1">
<div class="wit_box">
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ sum.sumL.toFixed(2) }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #0DC291"></div>
<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">{{ sum.sumOil?sum.sumOil.toFixed(2):'0' }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">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">{{ sum.sumPayMoney.toFixed(2) }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#F44522;" >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">{{ sum.sumDis.toFixed(2) }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#E05295;" >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: #E05295"></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;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #FF7E00"></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:#0047FF;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #0047FF"></div>
<div class="nei">优惠总金额</div>
</div>
</div>
</div>
<div class="table-box" style="margin-top: 20px">
<div class="table-box">
<el-table
:data="orderList"
border
style="width: 100%">
style="width: 100%;margin-top: 15px">
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="gunName" align="center" label="油枪名称"> </el-table-column>
<el-table-column prop="sumOilNum" align="center" label="加油升数"> </el-table-column>
<el-table-column prop="sumCoumnt" align="center" label="加油笔数"> </el-table-column>
<el-table-column prop="sumOrderAnount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="sumDisCount" align="center" label="优惠金额"> </el-table-column>
<el-table-column prop="sumRefPayAmount" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="sumPayAmount" align="center" label="实收金额"> </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="deptId" align="center" label="门店编号"> </el-table-column>-->
<el-table-column prop="content" align="center" label="油站名称"> </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="count" align="center" label="订单金额(元)"> </el-table-column>
<el-table-column prop="count" align="center" label="优惠金额(元)"> </el-table-column>
<el-table-column prop="parentStoreName" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="实收金额(元)"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="统计周期">
{{this.beginTime }} {{this.endTime}}
</el-table-column>
</el-table>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<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>
</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>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<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">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</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>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
getInstituionListApi,
getRunningWaterByDataApi,
exportExcelOilDeptApi,
getmyDataApi,
getInstituionListApi2
} from "@/api/allOrder";
import {getInfoByOilGunApi} from "@/api/order/oilorder";
export default {
name: "buy-gun",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
export default {
name: "runningWater-oilDepot",
data(){
return{
loading:false,
//
staffList:[],
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
deptType:"3",
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'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;
})
},
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')
})
},
//
getOrderStatistics() {
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
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInfoByOilGunApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data;
// this.total = response.data.total;
this.isSysDate = false
this.sum.sumL=0
this.sum.sumOil = 0
this.sum.sumPayMoney =0
this.sum.sumDis =0
this.orderList.forEach(res=>{
this.sum.sumL=this.sum.sumL+res.sumOilNum
this.sum.sumOil = this.sum.sumOil+res.sumCoumnt
this.sum.sumPayMoney = this.sum.sumPayMoney + res.sumPayAmount
this.sum.sumDis =this.sum.sumDis + res.sumDisCount
})
})
// this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
orderStatistics:{
numberOfStrokes:'0',
theTotalAmountOfTheOrder:'0',
theTotalAmountPaid:'0',
oilDiscounts:'0',
theTotalAmountOfOil:'0',
theTotalAmountOfTheItem:'0',
},
total:0,
timeDifference:1,
}
},
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.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
getDays(){
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelOilDeptApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'油站流水订单统计.xLsx')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getRunningWaterByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInstituionListApi2(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
})
this.getOrderStatistics()
},
//
async handleQuery() {
this.queryParams.page = 1;
await this.getDeptList();
this.getList();
},
//
async resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
await this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped lang="scss">
.app-top{
width: 100%;
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 6px;
}
.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;
}
.card-chan{
width: 98%;
background: #fff;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
padding: 5px;
margin-right: 20px;
padding-left: 20px;
width: 211px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
}
.el-form--inline .el-form-item {
margin-right: 44px;
}
.size-hui{
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;
}
}
.size-bole{
//font-weight: bold;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
//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;
.box-gang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.box{
padding: 5px;
padding-left: 20px;
width: 275px;
height: 60px;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
margin-right: 15px;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.size-hui{
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;
}
.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;
}
}
.size-bole{
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: 98%;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 80.5vh;
}
.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{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
</style>

View File

@ -1,210 +1,120 @@
<!-- 收银台订单-->
<template>
<div >
<div class="card-change-3-search">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="交易开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item class="flex-container" style="float: right">
<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-form-item>
</el-form>
<div class="container" >
<div class="wgang">
<div style="display: flex;align-items: center ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
<div class="card-change-1-1">
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收银台订单统计</span>-->
<!-- </div>-->
<div class="wit_box">
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ orderStatistics.count }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">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.exchangeQuantity }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">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.integrals }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#F44522;" >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.paidInfo }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#FF7E00;" >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">优惠总金额</div>
</div>
</div>
<!-- <div class="box">-->
<!-- <div class="size-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
</div>
<div class="table-box" style="margin-top: 20px">
<div class="table-box">
<el-table
:data="orderList"
border
style="width: 100%">
style="width: 100%;margin-top: 15px">
<el-table-column type="index" width="50" align="center" label="序号"/>
<!-- <el-table-column prop="payTime" align="center" label="支付时间" width="220"> </el-table-column>-->
<!-- <el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column>-->
<el-table-column prop="giftName" align="center" label="商品名称"> </el-table-column>
<!-- <el-table-column prop="sumOilNum" align="center" label="商品编号"> </el-table-column>-->
<el-table-column prop="exchangeQuantity" align="center" label="兑换数量"> </el-table-column>
<el-table-column prop="integrals" align="center" label="消耗积分"> </el-table-column>
<el-table-column prop="amount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="paidInfo" align="center" label="实收金额"> </el-table-column>
<el-table-column prop="sumPayAmount" align="center" label="统计周期"> </el-table-column>
<!-- <el-table-column prop="userName" align="center" label="付款用户" > </el-table-column>-->
<!-- <el-table-column prop="content" align="content" label="备注" > </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="content" align="center" label="商品名称"> </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="count" align="center" label="消耗积分"> </el-table-column>
<el-table-column prop="count" align="center" label="订单金额(元)"> </el-table-column>
<el-table-column prop="parentStoreName" align="center" label="实收金额(元)"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="统计周期"> </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"
/>
<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>
</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>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<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">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</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>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
getInstituionListApi,
getRunningWaterByDataApi,
exportExcelOilDeptApi,
getmyDataApi,
getInstituionListApi2
} from "@/api/allOrder";
import {getInfoByOilTypeApi} from "@/api/order/oilorder";
import {queryByBuyApi, queryByBuySumApi} from "@/api/integral/order";
export default {
name: "buy-oil",
name: "runningWater-oilDepot",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
@ -213,40 +123,25 @@ export default {
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
count:'0',
exchangeQuantity:'0',
integrals:'0',
paidInfo:'0',
numberOfStrokes:'0',
theTotalAmountOfTheOrder:'0',
theTotalAmountPaid:'0',
oilDiscounts:'0',
theTotalAmountOfOil:'0',
theTotalAmountOfTheItem:'0',
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'0',
}
timeDifference:1,
}
},
async created() {
@ -258,20 +153,23 @@ export default {
this.dateRange = [start,new Date()];
this.beginTime = start
this.endTime = new Date()
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
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;
})
getDays(){
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
},
exportExcelCashier() {
let dateRange = []
@ -279,9 +177,9 @@ export default {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
exportExcelOilDeptApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
this.$download.saveAs(blob,'油站流水订单统计.xLsx')
})
},
//
@ -292,11 +190,15 @@ export default {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
queryByBuySumApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
getRunningWaterByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
//
getList(val){
@ -305,33 +207,33 @@ export default {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
queryByBuyApi(this.addDateRange(this.queryParams,dateRange)).then(response => {
getInstituionListApi2(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
})
this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
async handleQuery() {
this.queryParams.page = 1;
await this.getDeptList();
this.getList();
},
//
resetQuery() {
async resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
await this.getDeptList()
this.handleQuery();
},
}
@ -339,9 +241,13 @@ export default {
</script>
<style scoped lang="scss">
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 6px;
}
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
@ -354,26 +260,36 @@ export default {
width: 100%;
margin-bottom: 15px;
}
.card-chan{
width: 98%;
background: #fff;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
//box-sizing: border-box;
padding: 5px;
//background: #f9f9f9;
margin-right: 20px;
padding-left: 20px;
width: 211px;
width: 275px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
margin-right: 15px;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.size-hui{
display: flex;
@ -387,27 +303,9 @@ export default {
text-align: left;
font-style: normal;
text-transform: none;
.nei {
width: 150px;
}
}
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
.size-bole{
//font-weight: bold;
//width: 53px;
height: 31px;
font-family: YouSheBiaoTiHei;
font-weight: 400;
@ -419,15 +317,31 @@ export default {
text-transform: none;
}
.wgang{
width: 100%;
width: 98%;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 80.5vh;
}
.pagination-box{
width: 100%;
@ -444,8 +358,16 @@ export default {
color: grey;
margin: 10px 0;
}
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
</style>

View File

@ -1,470 +1,422 @@
<!-- 收银台订单-->
<template>
<div >
<div class="card-change-3-search">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="交易开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item class="flex-container" style="float: right">
<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>-->
<div class="container" >
</el-form-item>
</el-form>
<div class="wgang">
<div style="display: flex;align-items: center ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
<div class="card-change-1-1">
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收银台订单统计</span>-->
<!-- </div>-->
<div class="wit_box">
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ sum.sumL.toFixed(2) }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #0DC291"></div>
<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">{{ sum.sumOil.toFixed(2) }}</div>
<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">{{ sum.sumPayMoney.toFixed(2) }}</div>
<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">{{ sum.sumDis.toFixed(2) }}</div>
<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-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">0/0</div>
</el-tooltip>
<div class="size-hui">
<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;" >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:#E05295;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #E05295"></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;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #FF7E00"></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:#0047FF;" >0/0</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #0047FF"></div>
<div class="nei">优惠总金额</div>
</div>
</div>
</div>
<div class="table-box" style="margin-top: 20px">
<div class="table-box">
<el-table
:data="orderList"
border
style="width: 100%">
style="width: 100%;margin-top: 15px">
<el-table-column type="index" width="50" align="center" label="序号"/>
<!-- <el-table-column prop="payTime" align="center" label="支付时间" width="220"> </el-table-column>-->
<!-- <el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column>-->
<el-table-column prop="oilName" align="center" label="油品名称"> </el-table-column>
<el-table-column prop="sumOilNum" align="center" label="加油升数"> </el-table-column>
<el-table-column prop="sumCoumnt" align="center" label="加油笔数"> </el-table-column>
<el-table-column prop="sumOrderAnount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="sumDisCount" align="center" label="优惠金额"> </el-table-column>
<el-table-column prop="sumRefPayAmount" align="center" label="退款金额">
<!-- <el-table-column prop="deptId" align="center" label="门店编号"> </el-table-column>-->
<el-table-column prop="content" align="center" label="订单分类"> </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="count" align="center" label="订单笔数"> </el-table-column>
<el-table-column prop="unitPrice" align="center" label="笔单价">
<template slot-scope="scope">
<span v-if="scope.row.sumRefPayAmount">{{ scope.row.sumRefPayAmount }}</span>
<span v-else>--</span>
{{ (scope.row.payMoney/scope.row.count).toFixed(2) }}
</template>
</el-table-column>
<el-table-column prop="sumPayAmount" align="center" label="实收金额"> </el-table-column>
<el-table-column prop="dailyAmount" align="center" label="日均交易金额">
<template slot-scope="scope">
{{ (scope.row.payMoney / timeDifference).toFixed(2) }}
</template>
</el-table-column>
<el-table-column prop="strokesPerDay" align="center" label="日订单笔数">
<template slot-scope="scope">
{{ (scope.row.count / timeDifference).toFixed(2) }} </template>
</el-table-column>
<!-- <el-table-column prop="parentStoreId" align="center" label="机构编号"> </el-table-column>-->
<el-table-column prop="parentStoreName" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="退款笔数"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="统计周期">
{{this.beginTime }} {{this.endTime}}
</el-table-column>
<!-- <el-table-column prop="seekZero" align="center" label="品牌编号"> </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="品牌名称"> </el-table-column>-->
<!-- <el-table-column prop="userName" align="center" label="付款用户" > </el-table-column>-->
<!-- <el-table-column prop="content" align="content" label="备注" > </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>
</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"
/>
<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>
</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>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<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">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</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>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
getInstituionListApi,
getRunningWaterByDataApi,
exportExcelOilDeptApi,
getmyDataApi,
getInstituionListApi2
} from "@/api/allOrder";
import {getInfoByOilTypeApi} from "@/api/order/oilorder";
export default {
name: "buy-oil",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
export default {
name: "runningWater-oilDepot",
data(){
return{
loading:false,
//
staffList:[],
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
deptType:"3",
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'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;
})
},
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')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInfoByOilTypeApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInfoByOilTypeApi(this.addDateRange(this.queryParams,dateRange)).then(response => {
this.orderList = response.data;
// this.total = response.data.total;
this.isSysDate = false
this.sum.sumL=0
this.sum.sumOil = 0
this.sum.sumPayMoney =0
this.sum.sumDis =0
this.orderList.forEach(res=>{
this.sum.sumL=this.sum.sumL+res.sumOilNum
this.sum.sumOil = this.sum.sumOil+res.sumCoumnt
this.sum.sumPayMoney = this.sum.sumPayMoney + res.sumPayAmount
this.sum.sumDis =this.sum.sumDis + res.sumDisCount
})
})
this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
orderStatistics:{
numberOfStrokes:'0',
theTotalAmountOfTheOrder:'0',
theTotalAmountPaid:'0',
oilDiscounts:'0',
theTotalAmountOfOil:'0',
theTotalAmountOfTheItem:'0',
},
total:0,
timeDifference:1,
}
},
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.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
getDays(){
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelOilDeptApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'油站流水订单统计.xLsx')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getRunningWaterByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInstituionListApi2(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
})
this.getOrderStatistics()
},
//
async handleQuery() {
this.queryParams.page = 1;
await this.getDeptList();
this.getList();
},
//
async resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
await this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped lang="scss">
.app-top{
width: 100%;
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 8px;
}
.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;
}
.card-chan{
width: 98%;
background: #fff;
}
.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;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
width: 211px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
}
.el-form--inline .el-form-item {
margin-right: 44px;
}
.size-hui{
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;
}
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.box{
padding: 5px;
padding-left: 20px;
width: 275px;
height: 60px;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
margin-right: 15px;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.size-hui{
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;
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
.size-bole{
//font-weight: bold;
}
.size-bole{
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: 98%;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
//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;
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 81vh;
}
.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{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.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;
}
}
</style>

View File

@ -89,6 +89,7 @@ export default {
margin-right: 50px;
display: flex;
align-items: center;
cursor: pointer;
}
.active{

View File

@ -1,162 +1,347 @@
<!-- 收银台订单-->
<template>
<div style="margin-top: 0px">
<div class="card-change-1-search">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px">
<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"
style="width: 140px"
type="date"
placeholder="开始日期">
placeholder="交易开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="结束日期">
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="">
<el-input v-model="queryParams.orderNo" placeholder="订单号"></el-input>
</el-form-item>
<el-form-item label="" prop="favType">
<el-input v-model="queryParams.favType" placeholder="优惠类型"></el-input>
</el-form-item>
<el-form-item label="" prop="favFrom">
<el-input v-model="queryParams.favFrom" placeholder="订单类型"></el-input>
</el-form-item>
<el-form-item label="" prop="favConsumptionType">
<el-input v-model="queryParams.favConsumptionType" placeholder="订单分类"></el-input>
</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" icon="el-icon-plus" @click = "exportExcelCashier()">导出订单</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">{{ count.count || 0 }}</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">{{ count.allMoney || 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>
<div class="table-box" style="margin-top: 15px">
<el-table
:data="list"
:data="orderList"
border
style="width: 100%">
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column>
<el-table-column prop="favFrom" align="center" label="订单类型"> </el-table-column>
<el-table-column prop="favType" align="center" label="优惠类型" width="220"> </el-table-column>
<el-table-column prop="favConsumptionType" align="center" label="订单分类"> </el-table-column>
<el-table-column prop="favMoney" align="center" label="优惠金额"> </el-table-column>
<!-- <el-table-column prop="favMoney" align="center" label="付款用户"> </el-table-column>-->
<el-table-column prop="" align="center" label="订单状态">已完成</el-table-column>
<el-table-column prop="payChannel" align="center" label="订单类型">
<template slot-scope="scope">
<span v-if="scope.row.payChannel=='cashier'">收银台</span>
<span v-else-if="scope.row.payChannel=='POS'">POS机</span>
<span v-else-if="scope.row.payChannel=='PC'">平台</span>
<span v-else-if="scope.row.payChannel=='applet'">小程序</span>
<span v-else>其他</span>
</template>
</el-table-column>
<el-table-column prop="payChannel" align="center" label="优惠类型">
<template slot-scope="scope">
<span v-if="scope.row.payChannel=='cashier'">收银台</span>
<span v-else-if="scope.row.payChannel=='POS'">POS机</span>
<span v-else-if="scope.row.payChannel=='PC'">平台</span>
<span v-else-if="scope.row.payChannel=='applet'">小程序</span>
<span v-else>其他</span>
</template>
</el-table-column>
<el-table-column prop="type" align="center" label="订单分类">
<template slot-scope="scope">
<span v-if="scope.row.type=='1'">油品</span>
<span v-else-if="scope.row.type=='2'">商品</span>
<span v-else-if="scope.row.type=='3'">储值卡</span>
<span v-else-if="scope.row.type=='4'">积分</span>
<span v-else-if="scope.row.type=='5'">囤油卡</span>
<span v-else-if="scope.row.type=='6'">油品加商品(收银台订单)</span>
<span v-else-if="scope.row.type=='7'">挂账订单</span>
<span v-else="">其他</span>
</template>
</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="userName" align="center" label="付款用户" > </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="createTime" 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>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<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">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</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>
</el-dialog>
</div>
</template>
<script>
import {getCount, getFavourableList} from "@/api/favourable/favourable";
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
} from "@/api/allOrder";
export default {
name: "reconciliation-favourable",
name: "reconciliation-trading",
data(){
return {
total:0,
list:[],
//
queryParams: {
page: 1,
pageSize: 10,
},
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
endTime:"",
count:{}
}
},
created() {
this.getList();
},
methods:{
getList(){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getFavourableList(this.addDateRange(this.queryParams,dateRange)).then(res => {
this.list = res.data.records
this.total = res.data.total
})
this.getCount()
},
getCount(){
getCount(this.addDateRange(this.queryParams)).then(res => {
this.count = res.data
})
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
//
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
this.handleQuery();
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
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 = []
@ -164,17 +349,90 @@ export default {
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')
// })
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 lang="scss" scoped>
<style scoped lang="scss">
.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%;
}
.box-card{
width: 100%;
margin-bottom: 15px;
@ -185,39 +443,44 @@ export default {
align-items: center;
}
.box{
//box-sizing: border-box;
padding: 5px;
//background: #f9f9f9;
margin-right: 20px;
padding-left: 20px;
width: 211px;
width: 280px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
}
.el-form--inline .el-form-item {
margin-right: 44px;
background:#fff;
border-radius: 10px;
border: 1px solid #FF9655;
margin-right: 15px;
}
.size-hui{
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;
color: #333333;
width: 100%;
}
}
.dian{
width: 6px;
height: 6px;
border-radius: 50%;
margin-right: 5px;
}
.el-form--inline .el-form-item {
margin-bottom: 15px;
margin-right: 20px;
}
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
@ -226,21 +489,79 @@ export default {
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-weight: 400;
//font-family: YouSheBiaoTiHei;
font-size: 24px;
color: #0DC291;
font-weight: 600;
font-size: 24px;
color: #555555;
//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,20 +1,81 @@
<!-- 收银台订单-->
<template>
<div style="margin-top: 0px">
<div class="card-change-1-search" style="min-height: 70px;">
<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-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-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"
style="width: 140px"
@ -29,77 +90,55 @@
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="deptId">-->
<!-- <el-select-->
<!-- v-model="queryParams.deptId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
<!-- </el-option>-->
<!-- </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 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" style="margin-top: 15px">
<el-table
:data="orderList"
@ -128,19 +167,22 @@
<span v-else="">其他</span>
</template>
</el-table-column>
<el-table-column prop="goodsMoney" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="discountAmount" align="center" label="优惠金额(元)"> </el-table-column>
<el-table-column prop="refMoney" align="center" label="退款金额(元)"> </el-table-column>
<el-table-column prop="payMoney" align="center" label="实收金额(元)"> </el-table-column>
<!-- <el-table-column prop="amount" 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="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>
@ -149,47 +191,34 @@
<span v-else="">余额</span>
</template>
</el-table-column>
<el-table-column prop="mchntCd" align="center" label="支付渠道"> </el-table-column>
<el-table-column prop="status" align="center" label="支付状态">
<template slot-scope="scope">
<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="refBy" align="center" label="关联员工"> </el-table-column>
<el-table-column prop="createBy" align="center" label="关联员工"> </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-column prop="reasonRefund" align="content" label="备注" > </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="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>
@ -239,267 +268,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: "reconciliation-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:"",
},
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 = start
this.endTime = new Date()
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
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

@ -105,41 +105,56 @@
<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="wit_box" 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="dian" style="background: #0DC291"></div>
<div class="nei">微信收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole" style="color:#00CAFF;">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/{{orderStatistics.alipaycount}}</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="dian" style="background: #00CAFF"></div>
<div class="nei">支付宝收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole" style="color:#F44522;" >{{ orderStatistics.balance?orderStatistics.balance: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="dian" style="background: #F44522"></div>
<div class="nei">云闪付收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole" style="color:#FF7E00;" >{{orderStatistics.balanceCount?orderStatistics.balanceCount: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="dian" style="background: #FF7E00"></div>
<div class="nei">pos机收款/笔数</div>
</div>
</div>
<div class="box">
<div class="size-bole" style="color:#0D2ED8;">{{ orderStatistics.cash?orderStatistics.cash: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="dian" style="background: #0D2ED8"></div>
@ -147,25 +162,26 @@
</div>
</div>
<div class="box">
<div class="size-bole" style="color:#790DD8;">{{orderStatistics.cashcount?orderStatistics.cashcount:0}}</div>
<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">
<div class="size-bole" style="color:#D80D54;">{{orderStatistics.cashcount?orderStatistics.cashcount:0}}</div>
<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>
<!-- </el-card>-->
<!-- <el-card class="box-card">-->
<!-- <div class="wgang">-->
<!-- <div></div>-->
<!-- </div>-->
<div class="table-box" style="margin-top: 15px">
<el-table
:data="orderList"
@ -231,29 +247,8 @@
<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-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>
</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"
@ -261,10 +256,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getDeptList"
/>
</div>
<el-dialog
title="订单信息"
:visible.sync="dialogVisible">
@ -280,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">
@ -297,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>
@ -333,6 +318,8 @@ import {
name: "reconciliation-trading",
data(){
return{
wechat:999999999999999,
wechats:999999999999999,
radio1:"油号选错",
loading:false,
dialogVisible:false,
@ -479,7 +466,9 @@ import {
<style scoped lang="scss">
.container{
background: #f4f5f9;
height: 100vh;
box-sizing: border-box;
padding-bottom: 8px;
//height: 87.5vh;
}
.app-top{
width: 100%;
@ -575,6 +564,9 @@ import {
text-align: left;
font-style: normal;
text-transform: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.wgang{
width: 100%;
@ -586,6 +578,8 @@ import {
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.pagination-box{
width: 100%;
@ -619,6 +613,7 @@ import {
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 74vh;
}
</style>

View File

@ -1,135 +1,117 @@
<!-- 收银台订单-->
<template>
<div>
<div class="card-change-3-search">
<div class="wgang">
<div style="display: flex ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="60px">
<div class="container" >
<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
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="deptId">-->
<!-- <el-select-->
<!-- v-model="queryParams.deptId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<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>-->
<div class="wgang">
<div style="display: flex;align-items: center ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
</el-form-item>
</el-form>
</div>
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
<div class="card-change-1-1">
<div class="wit_box">
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ orderStatistics.amount }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">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.strokeCount }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">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.unitPrice }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#F44522;" >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">
<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 class="box">-->
<!-- <div class="size-hui">日均交易金额</div>-->
<!-- <div class="size-bole">{{ orderStatistics.dailyAmount }}</div>-->
<!-- </div>-->
<!-- <div class="box">-->
<!-- <div class="size-hui">日均交易笔数</div>-->
<!-- <div class="size-bole">{{ orderStatistics.strokesPerDay }}</div>-->
<!-- </div>-->
</div>
<div class="table-box">
<el-table
:data="orderList"
border
style="width: 100%;margin-top: 15px">
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="payTime" align="center" label="日期"></el-table-column>
<!-- <el-table-column prop="seekZero" align="center" label="活跃机构数量"> </el-table-column>-->
<!-- <el-table-column prop="storeCount" align="center" label="活跃门店数量"> </el-table-column>-->
<!-- <el-table-column prop="deptId" align="center" label="门店编号"> </el-table-column>-->
<el-table-column prop="content" align="center" label="订单分类"> </el-table-column>
<el-table-column prop="goodsMoney" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="discountAmount" align="center" label="优惠金额"> </el-table-column>
<el-table-column prop="refund" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="amount" align="center" label="实收金额"> </el-table-column>
<el-table-column prop="vipAmount" align="center" label="充值金额"> </el-table-column>
<!-- <el-table-column prop="amount" align="center" label="充值赠送金额">-->
<!-- <template slot-scope="scope">-->
<!-- -->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="balance" align="center" label="会员消费金额"> </el-table-column>
<!-- <el-table-column prop="strokeCount" align="center" label="交易笔数"> </el-table-column>-->
<!-- <el-table-column prop="unitPrice" align="center" label="笔单价">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{scope.row.unitPrice}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="dailyAmount" align="center" label="日均交易金额">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ (scope.row.amount / scope.row.storeCount).toFixed(2) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="strokesPerDay" align="center" label="日均交易笔数">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ (scope.row.strokeCount / scope.row.storeCount).toFixed(2) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="机构日均交易金额"> </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="机构日均交易笔数"> </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="门店日均交易金额"> </el-table-column>-->
<el-table-column prop="payMoney" align="center" label="实收金额"> </el-table-column>
<el-table-column prop="count" align="center" label="订单笔数"> </el-table-column>
<el-table-column prop="unitPrice" align="center" label="笔单价">
<template slot-scope="scope">
{{ (scope.row.payMoney/scope.row.count).toFixed(2) }}
</template>
</el-table-column>
<el-table-column prop="dailyAmount" align="center" label="日均交易金额">
<template slot-scope="scope">
{{ (scope.row.payMoney / timeDifference).toFixed(2) }}
</template>
</el-table-column>
<el-table-column prop="strokesPerDay" align="center" label="日订单笔数">
<template slot-scope="scope">
{{ (scope.row.count / timeDifference).toFixed(2) }} </template>
</el-table-column>
<!-- <el-table-column prop="parentStoreId" align="center" label="机构编号"> </el-table-column>-->
<el-table-column prop="parentStoreName" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="退款笔数"> </el-table-column>
<el-table-column prop="leaderName" align="center" label="统计周期">
{{this.beginTime }} {{this.endTime}}
</el-table-column>
<!-- <el-table-column prop="seekZero" align="center" label="品牌编号"> </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="品牌名称"> </el-table-column>-->
</el-table>
</div>
<div class="pagination-box">
@ -151,246 +133,272 @@
<script>
import {
exportExcelDayApi,
getDayDatyListApi,
getDayListApi,
getInstituionListApi,
getRunningWaterByDataApi,
exportExcelOilDeptApi,
getmyDataApi,
getRunningWaterByTissueApi
getInstituionListApi2
} from "@/api/allOrder";
export default {
name: "runningWater-day",
data(){
return{
radio1:"油号选错",
loading:false,
deptList:[],
//
staffList:[],
//
dateRange: [],
export default {
name: "runningWater-oilDepot",
data(){
return{
loading:false,
//
staffList:[],
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
isType:"3",
},
orderStatistics:{
amount:'0',
strokeCount:'0',
unitPrice:'0',
dailyAmount:'0',
strokesPerDay:'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();
deptType:"3",
this.getList();
},
methods:{
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelDayApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'日流水分析.xLsx')
})
},
// getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
// },
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getDayDatyListApi(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())
}
await getDayListApi(this.addDateRange(this.queryParams, dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
this.getOrderStatistics()
})
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
isType:"3",
}
this.beginTime = ""
this.endTime = ""
this.handleQuery();
orderStatistics:{
numberOfStrokes:'0',
theTotalAmountOfTheOrder:'0',
theTotalAmountPaid:'0',
oilDiscounts:'0',
theTotalAmountOfOil:'0',
theTotalAmountOfTheItem:'0',
},
total:0,
timeDifference:1,
}
},
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.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
getDays(){
this.timeDifferenceMilliseconds = this.endTime - this.beginTime;
this.timeDifference = timeDifferenceMilliseconds / (1000 * 60 * 60 * 24);
console.log("timeDifference",this.timeDifference)
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelOilDeptApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'油站流水订单统计.xLsx')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getRunningWaterByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInstituionListApi2(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.isSysDate = false
})
this.getOrderStatistics()
},
//
async handleQuery() {
this.queryParams.page = 1;
await this.getDeptList();
this.getList();
},
//
async resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
deptType:"3",
}
this.beginTime = ""
this.endTime = ""
await this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped lang="scss">
.app-top{
width: 100%;
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 8px;
}
.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;
}
.card-chan{
width: 98%;
background: #fff;
}
.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;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
width: 211px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
}
.el-form--inline .el-form-item {
margin-right: 44px;
}
.size-hui{
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;
}
}
.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;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.size-hui{
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;
.icon-img{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
}
.size-bole{
//font-weight: bold;
}
.size-bole{
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: 98%;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
//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;
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 79vh;
}
.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{
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img{
float: right;
//width: 100%;
width: 20px;
height: 100%;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.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;
}
}
</style>

View File

@ -1,29 +1,17 @@
<!-- 收银台订单-->
<template>
<div >
<div class="card-change-3-search">
<div class="wgang">
<div></div>
<div style="display: flex ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<div class="container" >
<div class="wgang">
<div style="display: flex;align-items: center ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<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
v-model="beginTime"
style="width: 140px"
type="date"
@change="getDays()"
placeholder="开始日期">
</el-date-picker>
@ -35,87 +23,57 @@
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="staffId">-->
<!-- <el-select-->
<!-- v-model="queryParams.staffId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <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: right; color: #8492a6; font-size: 13px">{{ item.mobile }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<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-form-item>
</el-form>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<div class="card-change-1-1">
<div class="wit_box">
<div class="box-gang">
<div class="box">
<div class="size-bole">{{ orderStatistics.amount }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole">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.strokeCount }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">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.unitPrice }}</div>
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
<div class="size-bole" style="color:#F44522;" >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.dailyAmount }}</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>
</div>
<div class="box">
<div class="size-bole">{{ orderStatistics.strokesPerDay }}</div>
<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.inertiaStore }}</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: #FF7E00"></div>
<div class="nei">积分商城订单优惠金额/笔数</div>
</div>
</div>
</div>
<div class="table-box">
<el-table
:data="orderList"
@ -313,9 +271,13 @@ import {
</script>
<style scoped lang="scss">
.container{
background: #f4f5f9;
box-sizing: border-box;
padding-bottom: 8px;
}
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
@ -328,28 +290,35 @@ import {
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
}
.box{
//box-sizing: border-box;
padding: 5px;
//background: #f9f9f9;
margin-right: 20px;
margin-bottom: 20px;
padding-left: 20px;
.card-chan{
width: 98%;
background: #fff;
width: 211px;
height: 60px;
background: rgba(64,158,255,0.05);
border-radius: 6px 6px 6px 6px;
border: 1px solid #fe8c4a;
}
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
.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;
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.size-hui{
display: flex;
@ -363,14 +332,9 @@ import {
text-align: left;
font-style: normal;
text-transform: none;
.nei {
width: 150px;
}
}
.size-bole{
//font-weight: bold;
//width: 53px;
height: 31px;
font-family: YouSheBiaoTiHei;
font-weight: 400;
@ -382,16 +346,32 @@ import {
text-transform: none;
}
.wgang{
width: 100%;
width: 98%;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
margin: 10px auto;
box-sizing: border-box;
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
}
.table-box{
width: 100%;
}
.table-box{
width: 100%;
height: 58vh;
overflow: auto;
}
.wit_box{
width: 98%;
background: #FFFFFF;
margin: 5px auto;
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 79vh;
}
.pagination-box{
width: 100%;
margin: 10px auto;

View File

@ -1,9 +1,8 @@
<!-- 收银台订单-->
<template>
<div style="box-sizing: border-box;padding: 10px; background: #f6f8f9; height: 88vh ">
<div style="box-sizing: border-box;padding: 10px; background: #f6f8f9;">
<div class="bor_s" shadow="never">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="" prop="fleetName" style="width: 180px">
<el-input
v-model="queryParams.fleetName"
@ -58,11 +57,6 @@
</el-form-item>
</el-form>
<!-- </el-card>-->
<!-- <el-card class="box-card" style="min-height: 500px;" shadow="never">-->
<div class="table-box">
<el-table
:data="orderList" border
@ -133,25 +127,20 @@
@pagination="getList"
/>
</div>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="32%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form ref="form" :model="form" :rules="rules" label-width="95px">
<el-form-item label="车队名称" prop="fleetName">
<el-input v-model="form.fleetName" placeholder="请输入车队名称" maxlength="30" />
</el-form-item>
<el-form-item label="卡类型" prop="cardType">
<el-checkbox-group v-model="form.cardType">
<el-checkbox label="储值卡" name="type"></el-checkbox>
<!-- <el-checkbox label="囤油卡" name="type"></el-checkbox>-->
</el-checkbox-group>
</el-form-item>
<el-form-item label="车队负责人" prop="fleetLeader">
<el-input v-model="form.fleetLeader" placeholder="请输入车队负责人姓名" maxlength="30" />
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model="form.mobile" placeholder="请输入手机号" />
</el-form-item>
@ -178,8 +167,6 @@
<el-form-item label="公司名称" prop="corporateName">
<el-input v-model="form.corporateName" placeholder="请输入公司名称" />
</el-form-item>
<el-form-item label="用户状态" prop="status">
<el-switch
v-model="form.status"
@ -189,32 +176,26 @@
inactive-color="#ff4949">
</el-switch>
</el-form-item>
<el-form-item label="备注" >
<el-input v-model="form.remark" placeholder="请输入备注" type="textarea"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open1" width="30%" append-to-body>
<el-form ref="form1" :model="form1" :rules="rules" label-width="120px">
<el-dialog :title="title" :visible.sync="open1" width="32%" append-to-body>
<el-form ref="form1" :model="form1" :rules="rules" label-width="80px">
<el-form-item label="车队名称" prop="fleetName">
<el-input v-model="form1.fleetName" placeholder="请输入车队名称" maxlength="50"/>
</el-form-item>
<el-form-item label="充值金额" prop="rechargeAmount">
<el-input v-model="form1.rechargeAmount1" placeholder="请输入充值金额" >
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item label="赠送金额" prop="giveAmount">
<el-input v-model="form1.giveAmount1" placeholder="请输入赠送金额若不赠送请输入0" >
<template slot="append"></template>
@ -225,7 +206,6 @@
<el-option label="现金" value="CASH"></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" >
<el-input v-model="form1.remark" placeholder="请输入备注" type="textarea"/>
</el-form-item>
@ -496,7 +476,7 @@ export default {
.table-box {
width: 100%;
height: 74vh;
height: 73.5vh;
overflow: auto;
}
@ -559,6 +539,6 @@ export default {
background: #fff;
box-sizing: border-box;
padding: 15px;
height: 87vh;
}
</style>

View File

@ -1,6 +1,6 @@
<!-- 收银台订单-->
<template>
<div style="box-sizing: border-box;padding: 10px; background: #f6f8f9;">
<div style="box-sizing: border-box;padding: 10px; background: #f6f8f9;" >
<div class="bor_s" shadow="never">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
@ -61,13 +61,8 @@
<el-button type="primary" @click="handleAdd">新增成员</el-button>
<el-button type="primary" @click="batchAdd">批量增加</el-button>
</el-form-item>
</el-form>
<!-- </el-card>-->
<!-- <el-card class="box-card" style="min-height: 500px;" shadow="never">-->
<div class="table-box">
<div class="table-boxs">
<el-table
:data="orderList" border
style="width: 100%">
@ -139,28 +134,23 @@
@click="handleRecord(scope.row)"
>消费记录
</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- >删除</el-button>-->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="30%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="车队名称" prop="fleetId">
<el-select v-model="form.fleetId" placeholder="请选择车队名称" style="width: 100%;">
<el-option
@ -171,11 +161,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入成员姓名" maxlength="30"/>
</el-form-item>
<el-form-item label="手机号码" prop="mobile">
<el-input v-model="form.mobile" @input="queryUser" placeholder="请输入手机号码"/>
</el-form-item>
@ -195,8 +183,6 @@
<el-form-item label="车牌号" prop="carNum">
<el-input v-model="form.carNum" placeholder="请输入车牌号码"/>
</el-form-item>
<el-form-item label="用户状态" prop="status">
<el-switch
v-model="form.status"
@ -206,21 +192,18 @@
inactive-color="#ff4949">
</el-switch>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" placeholder="请输入备注" type="textarea"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open1" width="30%" append-to-body>
<el-form ref="form1" :model="form1" :rules="rules" label-width="120px">
<el-form ref="form1" :model="form1" :rules="rules" label-width="80px">
<el-form-item label="副卡额度" prop="secondaryCardLimit">
<el-input v-model="form1.secondaryCardLimit" disabled placeholder="0.0" maxlength="30">
@ -266,7 +249,7 @@
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open2" width="30%" append-to-body>
<el-form ref="form2" :model="form2" :rules="rules" label-width="120px">
<el-form ref="form2" :model="form2" :rules="rules" label-width="80px">
<el-form-item label="副卡额度" prop="secondaryCardLimit">
<el-input v-model="form2.secondaryCardLimit" disabled placeholder="0.0" maxlength="30" >
@ -840,9 +823,9 @@ export default {
margin-right: 20px;
}
.table-box {
.table-boxs {
width: 100%;
height: 73.5vh;
height: 78vh;
overflow: auto;
}
@ -863,5 +846,7 @@ export default {
background: #fff;
box-sizing: border-box;
padding: 15px;
padding-bottom: 0px;
height: 87vh;
}
</style>

View File

@ -9,7 +9,7 @@
</div>
<div v-if="tabindex == 0">
<div class="card-box"
style="width: 98%;margin: 10px auto;background: #fff;box-sizing: border-box;padding-top: 15px">
style="width: 100%;margin: 10px auto;background: #fff;box-sizing: border-box;padding-top: 15px; margin-bottom: 0px ">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item label="" prop="status">
<el-select v-model="queryParams.status" style="width: 150px" placeholder="交班方式" clearable
@ -36,7 +36,7 @@
</el-form>
</div>
<el-card style="margin-top: 20px; padding-top: 0px; height: 70vh;overflow: auto" class="box-card">
<div style="margin-top: 20px; padding-top: 0px; scrollbar-width: none; height: 70vh;overflow: auto" class="box-card">
<div class="title_" style="height: 50px; padding-top: 20px; background-color: white; display: flex;justify-content: space-between">
<div style="width: 80%;margin-left: 50px">门店交接单</div>
<span style="cursor: pointer; color: blue;font-weight: 400;" >打印预览</span>
@ -343,9 +343,9 @@
</div>
</div>
</el-card>
</div>
<div
style="width: 98%; margin: 20px auto;display: flex;align-items: center;justify-content: center; background: #fff;box-sizing: border-box;padding: 15px ">
style="width: 100%; margin: 20px auto;display: flex;align-items: center;justify-content: center; background: #fff;box-sizing: border-box;padding: 15px;margin-bottom: 0px ">
<el-button type="primary" @click="shift()">交班</el-button>
</div>
</div>
@ -383,7 +383,7 @@ export default {
return {
tabs: [
"交接班",
"交接班1",
"交班记录"
],
isSearch: true,
@ -633,10 +633,8 @@ export default {
<style scoped lang="scss">
.app-containers {
width: 100%;
height: 100vh;
background: #f6f8f9;
box-sizing: border-box;
padding-bottom: 20px;
}
.tab-box {
@ -646,9 +644,7 @@ export default {
box-sizing: border-box;
padding: 0px 25px;
margin-bottom: 25px;
}
.box_ {
height: 100%;
border-bottom: 2px solid #fe9554;
@ -671,8 +667,11 @@ export default {
.box-card {
width: 640px;
margin: 0 auto;
margin-bottom: 15px;
background: #fff;
box-sizing: border-box;
padding: 10px;
border-radius: 8px;
}
.font-chinese {

View File

@ -332,7 +332,6 @@ export default {
},
data() {
return {
tabs:[
"交接班",
"交班记录"

View File

@ -141,7 +141,7 @@ export default {
</script>
<template>
<div class="">
<div class="f-hx">
<div class="table-boxs">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item label="" prop="status">
@ -211,10 +211,6 @@ export default {
<el-dialog title="查看详情" :visible.sync="openSeeDetails" width="600px" append-to-body :close-on-click-modal="false">
<HandoverDetailsInfo :recordData="recordData"></HandoverDetailsInfo>
</el-dialog>
<!-- <el-dialog title="交易明细" :visible.sync="openTransactionDetail" width="600px" append-to-body :close-on-click-modal="false">-->
<!-- </el-dialog>-->
<el-dialog title="商品汇总" :visible.sync="openGoodsSum" width="600px" append-to-body :close-on-click-modal="false">
<div>
<div>油品交易信息</div>
@ -256,7 +252,7 @@ export default {
<style scoped lang="scss">
.app-containers {
width: 100%;
height: 100vh;
background: #f6f8f9;
box-sizing: border-box;
padding-bottom: 20px;
@ -276,8 +272,15 @@ export default {
width: 98%;
background: #fff;
margin: 25px auto;
margin-bottom: 0px;
box-sizing: border-box;
height: 85vh;
padding: 15px;
}
.f-hx{
background: #f6f8f9;
box-sizing: border-box;
padding-bottom: 12px;
}
</style>

View File

@ -83,7 +83,7 @@ export default {
margin-right: 50px;
display: flex;
align-items: center;
cursor: pointer;
}
.active {

View File

@ -5,16 +5,6 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<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
v-model="beginTime"
style="width: 140px"
@ -29,18 +19,6 @@
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="deptId">-->
<!-- <el-select-->
<!-- v-model="queryParams.deptId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"

View File

@ -21,18 +21,6 @@
placeholder="交易结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="deptId">-->
<!-- <el-select-->
<!-- v-model="queryParams.deptId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="" prop="payChannel">
<el-select
v-model="queryParams.payChannel"
@ -120,44 +108,25 @@
</div>
</div>
<!-- <div class="box">-->
<!-- <div class="size-hui">银行卡收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
<!-- <div class="box">-->
<!-- <div class="size-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
<div class="box">
<div class="size-bole">{{ orderStatistics.cash?orderStatistics.cash:0 }}</div>
<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.cashcount?orderStatistics.cashcount:0}}</div>
<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>
<!-- </el-card>-->
<!-- <el-card class="box-card">-->
<!-- <div class="wgang">-->
<!-- <div></div>-->
<!-- </div>-->
<div class="table-box" style="margin-top: 10px">
<el-table
:data="orderList"
@ -200,7 +169,6 @@
</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">
@ -220,14 +188,8 @@
</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"
@ -237,17 +199,6 @@
</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"

View File

@ -32,8 +32,7 @@
</el-form-item>
</el-form>
</div>
<div style=" margin-top: 10px; margin-bottom: 10px; background: #FFFFFF;box-sizing: border-box;padding: 15px; border-radius: 8px; height: 78vh;" class="box-card">
<div style=" margin-top: 10px; margin-bottom: 10px; background: #FFFFFF;box-sizing: border-box;padding: 15px; height: 78vh;" class="b-c-ad">
<div class="title_" style="display: flex;justify-content: space-between">
<div style="width: 10%;"></div>
<div>门店交接单</div>
@ -756,7 +755,7 @@ export default {
background: #fff;
margin: 25px auto;
box-sizing: border-box;
padding: 15px;
}
</style>

View File

@ -134,7 +134,7 @@ export default {
<template>
<div class="">
<div class="table-boxs">
<div class="table-b-b">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item label="" prop="status">
<el-select v-model="queryParams.status" style="width: 150px" placeholder="交班方式" clearable>
@ -271,5 +271,9 @@ export default {
box-sizing: border-box;
height: 98vh;
padding: 15px;
}
.table-b-b{
}
</style>