This commit is contained in:
cun-nan 2024-02-01 17:52:17 +08:00
parent 32959d1641
commit 3bf7dc3b70
9 changed files with 260 additions and 149 deletions

View File

@ -239,7 +239,7 @@ import {
export default {
name: "details",
name: "details1",
props:[
'PpurchaseId',
'PorderNumber',
@ -317,7 +317,6 @@ export default {
},
async created() {
this.purchaseForm.purchaseId = this.$props.PpurchaseId
this.purchaseId = this.$props.PpurchaseId
this.queryParams.purchaseId = this.$props.PpurchaseId
@ -350,6 +349,7 @@ export default {
this.getQueryList();
this.JudgmentButton();
},
methods: {
getDetailsList() {
let this_ = this
@ -363,7 +363,7 @@ export default {
let this_ = this
listLJGoods(this_.commodityForm).then(res=>{
this_.commodityList = res.data.records;
this.commodityForm.total = response.data.total;
this.commodityForm.total = res.data.total;
// this_.sumMethod(res.data.records);
})
},

View File

@ -101,16 +101,24 @@
</div>
</el-col>
<el-col :span="4">
<div class="sta">
<div class="sta" v-if="!refuelMoney">
<el-statistic
group-separator=","
:precision="2"
:value="refuelMoney"
:value="0"
title="囤油卡余额"
>
<!-- <span></span>-->
</el-statistic>
</div>
<div v-if="refuelMoney && refuelMoney.length>0" style="display: flex;align-items: center;margin-top: 25px">
<div class="size-hui">囤油卡余额</div>
<div v-for="(item,index) in refuelMoney"
:key="index" style="margin-left: 20px;text-align: center">
<div class="size-hui">{{ item.oilName ? item.type + item.oilName : item.type }}</div>
<div class="size-bole">{{ item.refuelMoney || 0.00 }}</div>
</div>
</div>
</el-col>
</el-row>
</div>
@ -956,7 +964,7 @@ export default {
id: '',
//
form: {},
refuelMoney:0,
refuelMoney:[],
form1: {},
cardChildPhones: "",
//
@ -1402,7 +1410,8 @@ export default {
this.form = response.data;
if (response.data.refuelMoney){
let refuelMoney = JSON.parse(response.data.refuelMoney)
_this.refuelMoney = parseFloat(refuelMoney[0].refuelMoney)
_this.refuelMoney = refuelMoney
// _this.refuelMoney = parseFloat(refuelMoney[0].refuelMoney)
}
this.getGrade(response.data.gradeId);
});
@ -1806,114 +1815,132 @@ export default {
</script>
<style lang="scss" scoped>
.app-container {
width: 100%;
height: 100%;
background: #f6f8f9;
}
.app-container {
width: 100%;
height: 100%;
background: #f6f8f9;
}
.left {
width: 20%;
display: table-cell;
/*垂直居中 */
vertical-align: middle;
/*水平居中*/
text-align: center;
}
.left {
width: 20%;
display: table-cell;
/*垂直居中 */
vertical-align: middle;
/*水平居中*/
text-align: center;
}
.right {
flex: 1;
}
.right {
flex: 1;
}
.sta {
height: 100px;
margin-top: 10px;
padding-top: 30px;
}
.sta {
height: 100px;
margin-top: 10px;
padding-top: 30px;
}
.idcard {
text-align: center;
font-weight: bold
}
.idcard {
text-align: center;
font-weight: bold
}
.mon {
width: 20%;
height: 50px;
border: 0.5px #dadfe6 solid;
line-height: 25px;
border-radius: 5px;
text-align: center;
margin: 0 10px;
margin-bottom: 10px;
}
.mon {
width: 20%;
height: 50px;
border: 0.5px #dadfe6 solid;
line-height: 25px;
border-radius: 5px;
text-align: center;
margin: 0 10px;
margin-bottom: 10px;
}
.select {
position: relative;
background-color: #fff;
box-shadow: 0px 2px 7px 0px rgba(85, 110, 97, 0.35);
border-radius: 5px;
border: 1px solid #00aaff;
}
.select {
position: relative;
background-color: #fff;
box-shadow: 0px 2px 7px 0px rgba(85, 110, 97, 0.35);
border-radius: 5px;
border: 1px solid #00aaff;
}
.select:before {
content: '';
position: absolute;
right: 0;
bottom: 0;
border: 10px solid #00aaff;
border-top-color: transparent;
border-left-color: transparent;
}
.select:before {
content: '';
position: absolute;
right: 0;
bottom: 0;
border: 10px solid #00aaff;
border-top-color: transparent;
border-left-color: transparent;
}
.select:after {
content: '';
width: 4px;
height: 6px;
position: absolute;
right: 4px;
bottom: 3px;
border: 2px solid #fff;
border-top-color: transparent;
border-left-color: transparent;
transform: rotate(45deg);
}
.select:after {
content: '';
width: 4px;
height: 6px;
position: absolute;
right: 4px;
bottom: 3px;
border: 2px solid #fff;
border-top-color: transparent;
border-left-color: transparent;
transform: rotate(45deg);
}
.amount {
color: #00afff;
}
.amount {
color: #00afff;
}
.amount1 {
color: #00afff;
font-size: 20px;
}
.amount1 {
color: #00afff;
font-size: 20px;
}
.top1 {
font-size: 16px;
}
.top1 {
font-size: 16px;
}
.jine {
width: 24%;
display: flex;
}
.jine {
width: 24%;
display: flex;
}
.bom {
font-size: 12px;
color: grey;
}
.bom {
font-size: 12px;
color: grey;
}
.zeng {
width: 255px;
line-height: 40px;
}
.zeng {
width: 255px;
line-height: 40px;
}
.mon2 {
width: 20%;
height: 75px;
border: 0.5px #dadfe6 solid;
line-height: 25px;
border-radius: 5px;
text-align: center;
margin: 0 10px;
margin-bottom: 20px;
}
.mon2 {
width: 20%;
height: 75px;
border: 0.5px #dadfe6 solid;
line-height: 25px;
border-radius: 5px;
text-align: center;
margin: 0 10px;
margin-bottom: 20px;
}
.box{
width: 200px;
box-sizing: border-box;
padding: 10px;
background: #f9f9f9;
height: 86px;
margin-right: 10px;
}
.size-hui{
font-size: 14px;
margin-bottom: 10px;
margin-top: 10px;
color: grey;
}
.size-bole{
font-weight: 400;
font-size: 20px;
}
</style>

View File

@ -89,7 +89,7 @@
<dict-tag :options="dict.type.display" :value="scope.row.isRefuel"/>
</template>
</el-table-column>
<el-table-column label="模板通知" align="center" prop="notice">
<el-table-column label="收款通知" align="center" prop="notice">
<template slot-scope="scope">
<dict-tag :options="dict.type.notice" :value="scope.row.notice"/>
</template>
@ -242,7 +242,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="账状态" prop="status">
<el-form-item label="账状态" prop="status">
<el-select v-model="form.status">
<el-option
v-for="dict in dict.type.zhzt"
@ -256,8 +256,8 @@
class="item"
effect="dark"
placement="bottom">
<div slot="content"> 状态禁用后,当前账则无法进行<br/>登录和操作</div>
<span>状态禁用后,当前账...</span>
<div slot="content"> 状态禁用后,当前账则无法进行<br/>登录和操作</div>
<span>状态禁用后,当前账...</span>
</el-tooltip>
</el-form-item>
</el-col>

View File

@ -82,7 +82,7 @@
<dict-tag :options="dict.type.display" :value="scope.row.isRefuel"/>
</template>
</el-table-column>
<el-table-column label="模板通知" align="center" prop="notice">
<el-table-column label="收款通知" align="center" prop="notice">
<template slot-scope="scope">
<dict-tag :options="dict.type.notice" :value="scope.row.notice"/>
</template>
@ -156,7 +156,7 @@
<!-- </el-col>-->
<el-col :span="8">
<el-form-item label="账状态" prop="status">
<el-form-item label="账状态" prop="status">
<el-select v-model="form.status"style="width: 270px">
<el-option
v-for="dict in dict.type.zhzt"
@ -170,8 +170,8 @@
class="item"
effect="dark"
placement="bottom">
<div slot="content"> 状态禁用后,当前账则无法进行<br/>登录和操作</div>
<span>状态禁用后,当前账则无法进行登...</span>
<div slot="content"> 状态禁用后,当前账则无法进行<br/>登录和操作</div>
<span>状态禁用后,当前账则无法进行登...</span>
</el-tooltip>
</el-form-item>
</el-col>

View File

@ -19,10 +19,10 @@
and terminal like concat('%', #{order.terminal}, '%')
</if>
<if test="order.params.beginTime != null and order.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(pay_time,'%y%m%d') &gt;= date_format(#{order.params.beginTime},'%y%m%d')
and date_format(create_time,'%y%m%d') &gt;= date_format(#{order.params.beginTime},'%y%m%d')
</if>
<if test="order.params.endTime != null and order.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(pay_time,'%y%m%d') &lt;= date_format(#{order.params.endTime},'%y%m%d')
and date_format(create_time,'%y%m%d') &lt;= date_format(#{order.params.endTime},'%y%m%d')
</if>
order by create_time desc
</where>

View File

@ -34,10 +34,10 @@
and pay_user like concat('%', #{order.payUser}, '%')
</if>
<if test="order.params.beginTime != null and order.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(pay_time,'%y%m%d') &gt;= date_format(#{order.params.beginTime},'%y%m%d')
and date_format(create_time,'%y%m%d') &gt;= date_format(#{order.params.beginTime},'%y%m%d')
</if>
<if test="order.params.endTime != null and order.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(pay_time,'%y%m%d') &lt;= date_format(#{order.params.endTime},'%y%m%d')
and date_format(create_time,'%y%m%d') &lt;= date_format(#{order.params.endTime},'%y%m%d')
</if>
order by create_time desc
</where>

View File

@ -154,31 +154,31 @@
</el-form>
</template>
</el-table-column>
<el-table-column prop="orderNo" label="单据号" width="220"></el-table-column>
<el-table-column label="挂账单位">
<el-table-column prop="unitName" label="单位名称"> </el-table-column>
<el-table-column prop="personCredit" label="挂账人"> </el-table-column>
<el-table-column prop="contactMobile" label="联系电话"> </el-table-column>
<el-table-column prop="orderNo" align="center" label="单据号" width="220"></el-table-column>
<el-table-column align="center" label="挂账单位">
<el-table-column prop="unitName" align="center" label="单位名称"> </el-table-column>
<el-table-column prop="personCredit" align="center" label="挂账人"> </el-table-column>
<el-table-column prop="contactMobile" align="center" label="联系电话"> </el-table-column>
</el-table-column>
<el-table-column label="记录明细">
<el-table-column prop="returnType" label="类型">
<el-table-column label="记录明细" align="center">
<el-table-column prop="returnType" align="center" label="类型">
<template slot-scope="scope">
<el-tag v-if="scope.row.returnType == 0">挂账</el-tag>
<el-tag v-else type="success">归还</el-tag>
</template>
</el-table-column>
<el-table-column prop="amount" label="金额"> </el-table-column>
<el-table-column prop="status" label="状态">
<el-table-column prop="amount" align="center" label="金额"> </el-table-column>
<el-table-column prop="status" align="center" label="状态">
<template slot-scope="scope">
<span v-if="scope.row.status == 0">未归还</span>
<span v-else-if="scope.row.status == 1" type="success">已归还</span>
<span v-else type="success">部分归还</span>
</template>
</el-table-column>
<el-table-column prop="outstandAmount" label="未归还金额"> </el-table-column>
<el-table-column prop="outstandAmount" align="center" label="未归还金额"> </el-table-column>
</el-table-column>
<el-table-column prop="realName" label="操作人"> </el-table-column>
<el-table-column prop="createTime" label="创建时间" width="220">
<el-table-column prop="realName" align="center" label="操作人"> </el-table-column>
<el-table-column prop="createTime" align="center" label="创建时间" width="220">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>

View File

@ -19,16 +19,27 @@
<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-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>
v-model="beginTime"
type="datetime"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
type="datetime"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
@ -95,25 +106,37 @@
</el-form>
</template>
</el-table-column>
<el-table-column prop="orderNo" label="订单号" width="220"> </el-table-column>
<el-table-column prop="amount" label="订单金额"> </el-table-column>
<el-table-column prop="payAmount" label="实付金额"> </el-table-column>
<el-table-column prop="seekZero" label="找零金额"> </el-table-column>
<el-table-column label="订单金额组成">
<el-table-column prop="oilOrderAmount" label="油品金额">
<el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column>
<el-table-column prop="amount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="payAmount" align="center" label="实付金额"> </el-table-column>
<el-table-column prop="seekZero" align="center" label="找零金额"> </el-table-column>
<el-table-column align="center" label="订单金额组成">
<el-table-column prop="oilOrderAmount" align="center" label="油品金额">
<template slot-scope="scope">
<span>{{scope.row.oilOrderAmount ? scope.row.oilOrderAmount : '0'}}</span>
</template>
</el-table-column>
<el-table-column prop="goodsOrderAmount" label="商品金额">
<el-table-column prop="goodsOrderAmount" align="center" label="商品金额">
<template slot-scope="scope">
<span>{{scope.row.goodsOrderAmount ? scope.row.goodsOrderAmount : '0'}}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="实付订单金额组成">
<el-table-column prop="oilOrderAmount" align="center" label="油品实付金额">
<template slot-scope="scope">
<span>{{scope.row.oilOrderAmount ? scope.row.oilOrderAmount : '0'}}</span>
</template>
</el-table-column>
<el-table-column prop="goodsOrderAmount" align="center" label="商品实付金额">
<template slot-scope="scope">
<span>{{scope.row.goodsOrderAmount ? scope.row.goodsOrderAmount : '0'}}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="payUser" label="付款用户"> </el-table-column>
<el-table-column prop="status" label="状态">
<el-table-column prop="payUser" 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>
@ -126,6 +149,11 @@
<span>{{ scope.row.payTime ? parseTime(scope.row.payTime):"--" }}</span>
</template>
</el-table-column>
<el-table-column label="操作人" align="center" prop="staffId">
<template slot-scope="scope">
<span>{{ getRealName(staffList,scope.row.staffId) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button style="width: 60px" size="mini"
@ -173,7 +201,11 @@
<el-descriptions-item label="商品优惠总额">{{ cashierOrder.goodsDiscountAmount }}</el-descriptions-item>
<el-descriptions-item label="实付金额">{{ cashierOrder.payAmount }}</el-descriptions-item>
<el-descriptions-item label="储值卡或囤油卡消费金额">
<span v-if="cashierOrder.oilOrderAmount - cashierOrder.oilDiscountAmount - cashierOrder.payAmount>0 && cashierOrder.status=='paid' && cashierOrder.payUser!='散客'">{{ (cashierOrder.oilOrderAmount - cashierOrder.oilDiscountAmount - cashierOrder.payAmount).toFixed(2) || 0 }}</span>
<span v-if="cashierOrder.oilOrderAmount - cashierOrder.oilDiscountAmount -
(cashierOrder.payAmount+cashierOrder.goodsOrderAmount-cashierOrder.goodsDiscountAmount)>0 &&
cashierOrder.status=='paid' && cashierOrder.payUser!='散客'">
{{ (cashierOrder.oilOrderAmount - cashierOrder.oilDiscountAmount - (cashierOrder.payAmount-cashierOrder.goodsOrderAmount-cashierOrder.seekZero)).toFixed(2) || 0 }}
</span>
<span v-else>0</span>
</el-descriptions-item>
<el-descriptions-item label="找零金额">{{ cashierOrder.seekZero }}</el-descriptions-item>
@ -352,6 +384,7 @@ import {exportExcelCashierApi} from "@/api/order/exportExcel";
import {refundApi} from "@/api/cashier/refund";
import {getLodop} from "@/api/LodopFuncs";
import {getOilNumberGun} from "@/api/cashier/oilGuns";
import {formatDate} from "@/utils";
export default {
name: "order_Cashier",
@ -376,6 +409,8 @@ import {getOilNumberGun} from "@/api/cashier/oilGuns";
staffList:[],
//
dateRange: [],
beginTime:"",
endTime:"",
//
orderList:[],
//
@ -404,6 +439,8 @@ import {getOilNumberGun} from "@/api/cashier/oilGuns";
methods:{
exportExcelCashier() {
this.dateRange.push(this.beginTime)
this.dateRange.push(this.endTime)
exportExcelCashierApi(this.addDateRange(this.queryParams, this.dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'收银台订单统计.xLsx')
@ -412,6 +449,8 @@ import {getOilNumberGun} from "@/api/cashier/oilGuns";
//
getOrderStatistics() {
this.dateRange.push(this.beginTime)
this.dateRange.push(this.endTime)
orderStatisticsApi(this.addDateRange(this.queryParams, this.dateRange)).then(res=>{
this.orderStatistics = res.data
})
@ -647,6 +686,21 @@ import {getOilNumberGun} from "@/api/cashier/oilGuns";
if (val!=undefined){
this.queryParams.page = val
}
let time1 = ""
let time2 = ""
if (this.beginTime && this.endTime){
let beginTime = this.beginTime.getTime()
let endTime = this.endTime.getTime()
// time1 = formatDate(beginTime, 'yyyy-MM-dd')
// time2 = formatDate(endTime, 'yyyy-MM-dd')
time1 = new Date(beginTime)
time2 = new Date(endTime)
this.$modal.msgError(time1)
}
// this.$modal.msgError()
this.dateRange.push(time1)
this.dateRange.push(time2)
listCashierOrder(this.addDateRange(this.queryParams, this.dateRange)).then( response => {
this.orderList = response.data.records;
this.total = response.data.total;
@ -657,6 +711,8 @@ import {getOilNumberGun} from "@/api/cashier/oilGuns";
if (val!=undefined){
this.queryParams.page = val
}
this.dateRange.push(this.beginTime)
this.dateRange.push(this.endTime)
cashierOrderSeekZeroAmount(this.addDateRange(this.queryParams, this.dateRange)).then( response => {
if (response.data) {
this.seekZeroAmount = response.data
@ -684,6 +740,8 @@ import {getOilNumberGun} from "@/api/cashier/oilGuns";
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
// this.resetForm("queryForm");
this.handleQuery();
},

View File

@ -102,16 +102,23 @@
</div>
</el-col>
<el-col :span="4">
<div class="sta">
<div class="sta" v-if="!refuelMoney">
<el-statistic
group-separator=","
:precision="2"
:value="refuelMoney"
:value="0"
title="囤油卡余额"
>
<!-- <span></span>-->
</el-statistic>
</div>
<div v-if="refuelMoney && refuelMoney.length>0" style="display: flex;align-items: center;margin-top: 25px">
<div class="size-hui">囤油卡余额</div>
<div v-for="(item,index) in refuelMoney"
:key="index" style="margin-left: 20px;text-align: center">
<div class="size-hui">{{ item.oilName ? item.type + item.oilName : item.type }}</div>
<div class="size-bole">{{ item.refuelMoney || 0.00 }}</div>
</div>
</div>
</el-col>
</el-row>
</div>
@ -1403,7 +1410,8 @@ export default {
this.form = response.data;
if (response.data.refuelMoney){
let refuelMoney = JSON.parse(response.data.refuelMoney)
_this.refuelMoney = parseFloat(refuelMoney[0].refuelMoney)
_this.refuelMoney = refuelMoney
// _this.refuelMoney = parseFloat(refuelMoney[0].refuelMoney)
}
this.getGrade(response.data.gradeId);
});
@ -1921,4 +1929,22 @@ export default {
margin: 0 10px;
margin-bottom: 20px;
}
.box{
width: 200px;
box-sizing: border-box;
padding: 10px;
background: #f9f9f9;
height: 86px;
margin-right: 10px;
}
.size-hui{
font-size: 14px;
margin-bottom: 10px;
margin-top: 10px;
color: grey;
}
.size-bole{
font-weight: 400;
font-size: 20px;
}
</style>