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 String refundRemark;
}

View File

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

View File

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

View File

@ -23,6 +23,18 @@
<if test="cardBalanceChange.storeId != null">
and cbc.store_id = #{cardBalanceChange.storeId}
</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>
order by cbc.id DESC
</select>

View File

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

View File

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

View File

@ -180,6 +180,34 @@
</el-pagination>
</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>
@ -236,6 +264,10 @@ export default {
},
//
payList:[],
dialogRefund: false,
radio1:"油号选错",
goods:{},
refundRemark:"",
orderStatistics: {
numberOfProducts:'0',

View File

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

View File

@ -6,16 +6,41 @@
<el-tab-pane label="升数卡记录" name="ascendCard"></el-tab-pane>
</el-tabs>
<div style="display: flex;">
<div class="top-app-sou">
<el-form :label-position="labelPosition" label-width="40px" :model="formLabelAlign">
<el-form-item label="名称">
<el-input v-model="formLabelAlign.name" placeholder="请输入要搜索的内容"></el-input>
<!-- <div class="top-app-sou">-->
<el-form size="small" :inline="true" label-width="100px" :model="queryParams">
<el-form-item label="充值变化类型" prop="changeType">
<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>
</div>
<div style="margin-left: 10px">
<el-button type="primary" icon="el-icon-search">搜索</el-button>
</div>
<!-- </div>-->
<!-- <div style="margin-left: 10px">-->
<!-- <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>-->
<!-- </div>-->
</div>
</el-card>
<!-- 储值卡-->
@ -31,7 +56,7 @@
<!-- </div>-->
<div class="box">
<div class="size-hui">余额汇总</div>
<div class="size-bole">{{ totalBalance }}</div>
<div class="size-bole">{{ totalBalance.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">充值笔数</div>
@ -39,7 +64,7 @@
</div>
<div class="box">
<div class="size-hui">充值总额</div>
<div class="size-bole">{{ totalRecharge }}</div>
<div class="size-bole">{{ totalRecharge.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">消费笔数</div>
@ -47,7 +72,7 @@
</div>
<div class="box">
<div class="size-hui">消费总额</div>
<div class="size-bole">{{ totalConsumption }}</div>
<div class="size-bole">{{ totalConsumption.toFixed(2) }}</div>
</div>
</div>
</el-card>
@ -121,7 +146,7 @@
</div>
<div class="box">
<div class="size-hui">充值总额</div>
<div class="size-bole">{{ totalRecharge1 }}</div>
<div class="size-bole">{{ totalRecharge1.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">消费笔数</div>
@ -129,7 +154,7 @@
</div>
<div class="box">
<div class="size-hui">消费总额</div>
<div class="size-bole">{{ totalConsumption1 }}</div>
<div class="size-bole">{{ totalConsumption1.toFixed(2) }}</div>
</div>
</div>
</el-card>
@ -160,7 +185,6 @@
<span>{{scope.row.type}}{{ getOilName(oilNameList,scope.row.oilType) }}</span>
</template>
</el-table-column>
<el-table-column prop="orderNo" label="订单号" width="230" align="center"> </el-table-column>
<el-table-column prop="changeType" label="类型" align="center">
<template slot-scope="scope">
<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="afterOilChange" label="变动后余额" align="center" > </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>
@ -239,6 +264,7 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
outCount1:0,
totalConsumption1:0,
totalRecharge1:0,
dateRange:[],
//
userList:[],
@ -307,6 +333,16 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
this.getOilNameList();
},
methods: {
//
handleQuery() {
this.queryParams.page = 1;
if (this.activeName == 'ascendCard'){
this.getCardOilList();
}
if (this.activeName == 'balanceCard'){
this.getCardBalanceList();
}
},
getOilName(list,id){
let name = ""
list.forEach(item => {
@ -345,7 +381,8 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){
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.total = res.data.total
})
@ -355,7 +392,7 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){
this.queryParams.page = val
}
cardBalanceCount(this.queryParams).then(res => {
cardBalanceCount(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.inCount = res.data.inCount
this.outCount = res.data.outCount
this.totalBalance = res.data.totalBalance
@ -365,9 +402,9 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
},
getCardOilList(val){
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.total1 = res.data.total
})
@ -375,18 +412,22 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
},
getCardOilCount(val){
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.outCount1 = res.data.outCount
this.totalConsumption1 = res.data.totalConsumption
this.totalRecharge1 = res.data.totalRecharge
console.log(res)
// console.log(res)
})
},
handleClick(tab, event) {
console.log(tab, event);
// console.log(tab, event);
this.queryParams = {
page: 1,
pageSize: 10,
}
if (this.activeName == 'ascendCard'){
this.getCardOilList();
}