This commit is contained in:
cun-nan 2024-01-15 16:10:11 +08:00
parent 44f040f6ae
commit 8ca3554f0c
9 changed files with 134 additions and 36 deletions

View File

@ -90,6 +90,9 @@ public class CashierOrder extends BaseEntity implements Serializable {
* 支付时间 * 支付时间
*/ */
private Date payTime; private Date payTime;
/**
* 退款备注
*/
private String refundRemark;
} }

View File

@ -81,6 +81,10 @@ public class LJOrder extends BaseEntity implements Serializable {
* 用户备注 * 用户备注
*/ */
private String remark; private String remark;
/**
* 退款备注
*/
private String refundRemark;
/** /**
* 订单状态 * 订单状态
*/ */

View File

@ -118,6 +118,10 @@ public class OilOrder extends BaseEntity implements Serializable {
* 订单备注 * 订单备注
*/ */
private String remark; private String remark;
/**
* 退款备注
*/
private String refundRemark;
/** /**
* 油罐id * 油罐id
*/ */

View File

@ -23,6 +23,18 @@
<if test="cardBalanceChange.storeId != null"> <if test="cardBalanceChange.storeId != null">
and cbc.store_id = #{cardBalanceChange.storeId} and cbc.store_id = #{cardBalanceChange.storeId}
</if> </if>
<if test="cardBalanceChange.changeType != null">
and cbc.change_type = #{cardBalanceChange.changeType}
</if>
<if test="cardBalanceChange.orderNo != null">
and cbc.order_no = like concat('%', #{cardBalanceChange.orderNo}, '%')
</if>
<if test="cardBalanceChange.params.beginTime != null and cardBalanceChange.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(cbc.create_time,'%y%m%d') &gt;= date_format(#{cardBalanceChange.params.beginTime},'%y%m%d')
</if>
<if test="cardBalanceChange.params.endTime != null and cardBalanceChange.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(cbc.create_time,'%y%m%d') &lt;= date_format(#{cardBalanceChange.params.endTime},'%y%m%d')
</if>
</where> </where>
order by cbc.id DESC order by cbc.id DESC
</select> </select>

View File

@ -509,7 +509,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (i == 0) { if (i == 0) {
order.setOrderType("主订单"); order.setOrderType("主订单");
order.setOrderAmount(amount); order.setOrderAmount(amount);
order.setPayAmount(0.0); order.setPayAmount(amount);
order.setOrderNo(orderNo); order.setOrderNo(orderNo);
} else { } else {
order.setOrderType("子订单"); order.setOrderType("子订单");
@ -545,7 +545,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (i == 0) { if (i == 0) {
order.setOrderType("主订单"); order.setOrderType("主订单");
order.setOrderAmount(amount); order.setOrderAmount(amount);
order.setPayAmount(0.0); order.setPayAmount(amount);
order.setOrderNo(orderNo); order.setOrderNo(orderNo);
} else { } else {
order.setOrderType("子订单"); order.setOrderType("子订单");
@ -581,7 +581,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (i == 0) { if (i == 0) {
order.setOrderType("主订单"); order.setOrderType("主订单");
order.setOrderAmount(amount); order.setOrderAmount(amount);
order.setPayAmount(0.0); order.setPayAmount(amount);
order.setOrderNo(orderNo); order.setOrderNo(orderNo);
} else { } else {
order.setOrderType("子订单"); order.setOrderType("子订单");
@ -648,7 +648,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (i == 0) { if (i == 0) {
order.setOrderType("主订单"); order.setOrderType("主订单");
order.setOrderAmount(amount); order.setOrderAmount(amount);
order.setPayAmount(0.0); order.setPayAmount(amount);
order.setOrderNo(orderNo); order.setOrderNo(orderNo);
} else { } else {
order.setOrderType("子订单"); order.setOrderType("子订单");
@ -1297,7 +1297,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
oilBalanceChange.setOrderNo(orderNo); oilBalanceChange.setOrderNo(orderNo);
oilBalanceChange.setOilBalance(oilBalance); oilBalanceChange.setOilBalance(oilBalance);
oilBalanceChange.setAfterOilChange(afterOilBalance); oilBalanceChange.setAfterOilChange(afterOilBalance);
oilBalanceChangeService.save(oilBalanceChange); if (oilBalance!=0.0){
oilBalanceChangeService.save(oilBalanceChange);
}
} }
@Resource @Resource

View File

@ -16,7 +16,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单号"> <el-form-item label="订单号">
<el-input v-model="queryParams.orderNo" clearable placeholder="订单号、官方单号检索"></el-input> <el-input v-model="queryParams.orderNo" clearable placeholder="订单号检索"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="交易时间"> <el-form-item label="交易时间">
<el-date-picker <el-date-picker
@ -232,7 +232,7 @@
width="25%" width="25%"
:visible.sync="dialogRefund"> :visible.sync="dialogRefund">
<div style="text-align: center;font-weight: bold"> <div style="text-align: center;font-weight: bold">
<span style="font-size: 35px">{{ cashierOrder.amount }}</span> <span style="font-size: 35px">{{ cashierOrder.payAmount }}</span>
</div> </div>
<div class="tk">退款金额</div> <div class="tk">退款金额</div>
<div class="tk">退款单号{{ cashierOrder.orderNo }}</div> <div class="tk">退款单号{{ cashierOrder.orderNo }}</div>
@ -245,7 +245,7 @@
</el-radio-group> </el-radio-group>
</div> </div>
<div> <div>
<el-input placeholder="请输入密码" v-model="password" show-password></el-input> <el-input placeholder="请输入退款原因" v-model="refundRemark" show-password></el-input>
<br/> <br/>
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span> <span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span>
</div> </div>
@ -270,8 +270,8 @@ import {refundApi} from "@/api/cashier/refund";
name: "order_Cashier", name: "order_Cashier",
data(){ data(){
return{ return{
// 退 // 退
password:"", refundRemark:"",
radio1:"油号选错", radio1:"油号选错",
// //
oilNameList:[], oilNameList:[],

View File

@ -180,6 +180,34 @@
</el-pagination> </el-pagination>
</div> </div>
<!-- 订单退款-->
<el-dialog
title="订单退款"
width="25%"
:visible.sync="dialogRefund">
<div style="text-align: center;font-weight: bold">
<span style="font-size: 35px">{{ goods.payAmount }}</span>
</div>
<div class="tk">退款金额</div>
<div class="tk">退款单号{{ goods.orderNo }}</div>
<div style="margin: 10px 0">
退款原因<br/>
<el-radio-group v-model="radio1" style="margin: 10px 0">
<el-radio-button label="油号选错"></el-radio-button>
<el-radio-button label="金额错误"></el-radio-button>
<el-radio-button label="其他原因"></el-radio-button>
</el-radio-group>
</div>
<div>
<el-input placeholder="请输入退款原因" v-model="refundRemark" show-password></el-input>
<br/>
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogRefund = false"> </el-button>
<el-button type="primary" @click="refundConfirmed()"> </el-button>
</span>
</el-dialog>
<!-- 商品购买详情 --> <!-- 商品购买详情 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
@ -236,6 +264,10 @@ export default {
}, },
// //
payList:[], payList:[],
dialogRefund: false,
radio1:"油号选错",
goods:{},
refundRemark:"",
orderStatistics: { orderStatistics: {
numberOfProducts:'0', numberOfProducts:'0',

View File

@ -245,7 +245,7 @@
</el-radio-group> </el-radio-group>
</div> </div>
<div> <div>
<el-input placeholder="请输入密码" v-model="password" show-password></el-input> <el-input placeholder="请输入退款原因" v-model="refundRemark" show-password></el-input>
<br/> <br/>
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span> <span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span>
</div> </div>
@ -274,7 +274,7 @@
userName:"", userName:"",
oilOrder:{}, oilOrder:{},
// 退 // 退
password:"", refundRemark:"",
radio1:"油号选错", radio1:"油号选错",
dialogRefund:false, dialogRefund:false,
// //

View File

@ -6,16 +6,41 @@
<el-tab-pane label="升数卡记录" name="ascendCard"></el-tab-pane> <el-tab-pane label="升数卡记录" name="ascendCard"></el-tab-pane>
</el-tabs> </el-tabs>
<div style="display: flex;"> <div style="display: flex;">
<div class="top-app-sou"> <!-- <div class="top-app-sou">-->
<el-form :label-position="labelPosition" label-width="40px" :model="formLabelAlign"> <el-form size="small" :inline="true" label-width="100px" :model="queryParams">
<el-form-item label="名称"> <el-form-item label="充值变化类型" prop="changeType">
<el-input v-model="formLabelAlign.name" placeholder="请输入要搜索的内容"></el-input> <el-select
v-model="queryParams.changeType"
clearable
placeholder="全部"
>
<el-option label="充值" :value="1"></el-option>
<el-option label="消费" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单号">
<el-input v-model="queryParams.orderNo" clearable placeholder="订单号检索"></el-input>
</el-form-item>
<el-form-item label="交易时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"
size="medium"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> <!-- </div>-->
<div style="margin-left: 10px"> <!-- <div style="margin-left: 10px">-->
<el-button type="primary" icon="el-icon-search">搜索</el-button> <!-- <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>-->
</div> <!-- </div>-->
</div> </div>
</el-card> </el-card>
<!-- 储值卡--> <!-- 储值卡-->
@ -31,7 +56,7 @@
<!-- </div>--> <!-- </div>-->
<div class="box"> <div class="box">
<div class="size-hui">余额汇总</div> <div class="size-hui">余额汇总</div>
<div class="size-bole">{{ totalBalance }}</div> <div class="size-bole">{{ totalBalance.toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">充值笔数</div> <div class="size-hui">充值笔数</div>
@ -39,7 +64,7 @@
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">充值总额</div> <div class="size-hui">充值总额</div>
<div class="size-bole">{{ totalRecharge }}</div> <div class="size-bole">{{ totalRecharge.toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">消费笔数</div> <div class="size-hui">消费笔数</div>
@ -47,7 +72,7 @@
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">消费总额</div> <div class="size-hui">消费总额</div>
<div class="size-bole">{{ totalConsumption }}</div> <div class="size-bole">{{ totalConsumption.toFixed(2) }}</div>
</div> </div>
</div> </div>
</el-card> </el-card>
@ -121,7 +146,7 @@
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">充值总额</div> <div class="size-hui">充值总额</div>
<div class="size-bole">{{ totalRecharge1 }}</div> <div class="size-bole">{{ totalRecharge1.toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">消费笔数</div> <div class="size-hui">消费笔数</div>
@ -129,7 +154,7 @@
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">消费总额</div> <div class="size-hui">消费总额</div>
<div class="size-bole">{{ totalConsumption1 }}</div> <div class="size-bole">{{ totalConsumption1.toFixed(2) }}</div>
</div> </div>
</div> </div>
</el-card> </el-card>
@ -160,7 +185,6 @@
<span>{{scope.row.type}}{{ getOilName(oilNameList,scope.row.oilType) }}</span> <span>{{scope.row.type}}{{ getOilName(oilNameList,scope.row.oilType) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="orderNo" label="订单号" width="230" align="center"> </el-table-column>
<el-table-column prop="changeType" label="类型" align="center"> <el-table-column prop="changeType" label="类型" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.changeType=='1'"><el-tag type="success">充值</el-tag></span> <span v-if="scope.row.changeType=='1'"><el-tag type="success">充值</el-tag></span>
@ -171,7 +195,8 @@
<el-table-column prop="oilBalance" label="变动金额" align="center"> </el-table-column> <el-table-column prop="oilBalance" label="变动金额" align="center"> </el-table-column>
<el-table-column prop="afterOilChange" label="变动后余额" align="center" > </el-table-column> <el-table-column prop="afterOilChange" label="变动后余额" align="center" > </el-table-column>
</el-table-column> </el-table-column>
<el-table-column prop="fromType" label="消费来源" align="center" > </el-table-column> <el-table-column prop="orderNo" label="订单号" width="230" align="center"> </el-table-column>
<el-table-column prop="fromType" label="消费来源" width="230" align="center" > </el-table-column>
<el-table-column prop="createTime" label="变动时间" align="center" > </el-table-column> <el-table-column prop="createTime" label="变动时间" align="center" > </el-table-column>
</el-table> </el-table>
@ -239,6 +264,7 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
outCount1:0, outCount1:0,
totalConsumption1:0, totalConsumption1:0,
totalRecharge1:0, totalRecharge1:0,
dateRange:[],
// //
userList:[], userList:[],
@ -307,6 +333,16 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
this.getOilNameList(); this.getOilNameList();
}, },
methods: { methods: {
//
handleQuery() {
this.queryParams.page = 1;
if (this.activeName == 'ascendCard'){
this.getCardOilList();
}
if (this.activeName == 'balanceCard'){
this.getCardBalanceList();
}
},
getOilName(list,id){ getOilName(list,id){
let name = "" let name = ""
list.forEach(item => { list.forEach(item => {
@ -345,7 +381,8 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){ if (val!=undefined){
this.queryParams.page = val this.queryParams.page = val
} }
listCardBalanceRecord(this.queryParams).then(res => { console.log(this.queryParams)
listCardBalanceRecord(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.cardBalanceList = res.data.records this.cardBalanceList = res.data.records
this.total = res.data.total this.total = res.data.total
}) })
@ -355,7 +392,7 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){ if (val!=undefined){
this.queryParams.page = val this.queryParams.page = val
} }
cardBalanceCount(this.queryParams).then(res => { cardBalanceCount(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.inCount = res.data.inCount this.inCount = res.data.inCount
this.outCount = res.data.outCount this.outCount = res.data.outCount
this.totalBalance = res.data.totalBalance this.totalBalance = res.data.totalBalance
@ -365,9 +402,9 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
}, },
getCardOilList(val){ getCardOilList(val){
if (val!=undefined){ if (val!=undefined){
this.queryParams1.page = val this.queryParams.page = val
} }
listCardOilRecord(this.queryParams1).then(res => { listCardOilRecord(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.cardOilList = res.data.records this.cardOilList = res.data.records
this.total1 = res.data.total this.total1 = res.data.total
}) })
@ -375,18 +412,22 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
}, },
getCardOilCount(val){ getCardOilCount(val){
if (val!=undefined){ if (val!=undefined){
this.queryParams1.page = val this.queryParams.page = val
} }
cardOilCount().then(res => { cardOilCount(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.inCount1 = res.data.inCount this.inCount1 = res.data.inCount
this.outCount1 = res.data.outCount this.outCount1 = res.data.outCount
this.totalConsumption1 = res.data.totalConsumption this.totalConsumption1 = res.data.totalConsumption
this.totalRecharge1 = res.data.totalRecharge this.totalRecharge1 = res.data.totalRecharge
console.log(res) // console.log(res)
}) })
}, },
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event); // console.log(tab, event);
this.queryParams = {
page: 1,
pageSize: 10,
}
if (this.activeName == 'ascendCard'){ if (this.activeName == 'ascendCard'){
this.getCardOilList(); this.getCardOilList();
} }