Merge remote-tracking branch 'origin/main'

This commit is contained in:
齐天大圣 2024-11-05 08:28:16 +08:00
commit aab5f350a0
65 changed files with 1282 additions and 895 deletions

View File

@ -201,6 +201,35 @@ export function getDataAnalysis(query) {
params:query
});
}
// 油站首页 数据分析 第一个饼状图
export function getOilPercentage(query) {
return request({
url: 'business/allOrderInfo/getOilPercentage',
method: 'get',
params:query
});
}
// 油站首页 数据分析 第二个饼状图
export function getOilAndGoodsPercentage(query) {
return request({
url: 'business/allOrderInfo/getOilAndGoodsPercentage',
method: 'get',
params:query
});
}
// 油站首页 数据分析 第三个饼状图
export function getOilAndGoodsAndVipAndPoints(query) {
return request({
url: 'business/allOrderInfo/getOilAndGoodsAndVipAndPoints',
method: 'get',
params:query
});
}
// 油站首页数据展示
export function getDataShow(query) {
return request({

View File

@ -181,6 +181,7 @@
:visible.sync="dialog"
width="50%"
ref="drawer"
center
>
<div class="demo-drawer__content">
<el-form :model="form" ref="ruleForm" :rules="rules" :inline="true" :label-position="labelPosition" label-width="100px" >
@ -351,9 +352,7 @@
</div>
<div class="demo-drawer__footer">
<el-button @click="cancelForm"> </el-button>
<el-button type="primary" @click="submitForm('ruleForm')"
>
确定</el-button>
<el-button type="primary" @click="submitForm('ruleForm')"> </el-button>
</div>
</div>
</el-dialog>
@ -420,7 +419,7 @@
</el-dialog>
<!-- 规则-->
<el-dialog title="编辑储值卡规则" :visible.sync="Crule">
<el-dialog title="编辑储值卡规则" :visible.sync="Crule" center>
<el-form :model="ruleForm" ref="ruleForm1" :rules="rules" label-width="100px" class="demo-ruleForm" :label-position="labelPosition">
<el-form-item label="名称" prop="name">
<el-input disabled v-model="ruleForm.name"></el-input>
@ -436,15 +435,14 @@
<div class="d-s" @click="ruleForm.oilLimit = 1">
<img src="../../../assets/images/wx.png" v-if="ruleForm.oilLimit != 1" style="width: 20px;height: 20px;">
<img src="../../../assets/images/xz.png" v-if="ruleForm.oilLimit == 1" style="width: 20px;height: 20px;">
<div>不限</div>
<div style="width: 60px;">不限</div>
</div>
<div class="d-s" @click="ruleForm.oilLimit = 2" >
<img src="../../../assets/images/wx.png" v-if="ruleForm.oilLimit != 2" style="width: 20px;height: 20px;">
<img src="../../../assets/images/xz.png" v-if="ruleForm.oilLimit == 2" style="width: 20px;height: 20px;">
<div>自定义</div>
<el-select v-if="ruleForm.oilLimit == 2" v-model="ruleForm.oilNumber" placeholder="请选择油品油号(可多选)" multiple style="margin-left: 10px">
<div style="width: 60px;">自定义</div>
<el-select v-if="ruleForm.oilLimit == 2" v-model="ruleForm.oilNumber" placeholder="请选择油品油号(可多选)" multiple style="margin-left: 10px; width: 700px;">
<el-option :label="item.oilName" :value="item.oilId" v-for="(item,index) in oilnumList" :key="index"></el-option>
</el-select>
</div>
</div>
@ -471,12 +469,12 @@
<!-- </div>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" @click="submitForms('ruleForm1')">保存</el-button>
<el-button @click="resetForm('ruleForm')">取消</el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForms('ruleForm1')"> </el-button>
</div>
</el-dialog>
</div>
@ -867,7 +865,7 @@ import {delLJGoods, listLJGoods} from "@/api/convenienceStore/ljgoods";
})
},
handleUpdate(row) {
this.titles = "修改储值卡"
this.titles = "修改储值卡活动"
let data = {
pageNo:1,
pageSize:30,
@ -916,7 +914,7 @@ import {delLJGoods, listLJGoods} from "@/api/convenienceStore/ljgoods";
},
addblock(){
this.isOnLine = false
this.titles = "新增储值卡"
this.titles = "新增储值卡活动"
this.vipname = []
let data = {
pageNo:1,
@ -1053,7 +1051,10 @@ import {delLJGoods, listLJGoods} from "@/api/convenienceStore/ljgoods";
this.loading = false;
this.dialog = false;
clearTimeout(this.timer);
}
},
cancel(){
this.Crule = false;
},
}
}
</script>

View File

@ -241,8 +241,9 @@
title="上传礼品卡数据"
:visible.sync="uploadingShow"
:close-on-click-modal="false"
width="40%"
width="30%"
@close="handleClose2"
center
>
<el-form :model="ruleForm2" ref="ruleForm2" label-width="100px" class="demo-ruleForm">
@ -286,14 +287,16 @@
</span>
</div>
</el-upload>
<el-button @click="uploadingShow = false">取消</el-button>
<el-button type="primary" @click="submitUpload">导入</el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" center>
<el-button @click="uploadingShow = false">取消</el-button>
<el-button type="primary" @click="submitUpload">导入</el-button>
</div>
</el-dialog>
<el-dialog
:title="titles"
@ -347,7 +350,7 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false"> </el-button>
<el-button type="primary" @click="addBlock('formName')">创建</el-button>
<el-button type="primary" @click="addBlock('formName')"></el-button>
</span>
</el-dialog>
<el-dialog
@ -648,7 +651,7 @@ export default {
updateId(row) {
this.centerDialogVisible = !this.centerDialogVisible
this.titles ="修改礼品卡"
this.titles ="修改礼品卡活动"
this.ruleForm = row
//
this.ruleForm.value1 = [row.effectiveTimeStart, row.effectiveTimeEnd]

View File

@ -1426,6 +1426,7 @@ export default {
.card-boxs {
width: 100%;
height: 83.5vh;
background: #fff;
box-sizing: border-box;
padding: 15px;

View File

@ -187,7 +187,7 @@
</div>
</el-drawer>
<!-- 规则-->
<el-dialog :close-on-click-modal="false" title="编辑囤油卡规则" width="30%" :visible.sync="Crule">
<el-dialog :close-on-click-modal="false" title="编辑囤油卡规则" width="30%" :visible.sync="Crule" center>
<el-form :model="oilForm" :rules="ruleInfo" ref="oilForm" label-width="70px" class="demo-ruleForm" >
<el-form-item label="名称" prop="name">
<el-input disabled v-model="oilForm.name"></el-input>
@ -198,16 +198,16 @@
<el-form-item label="规则说明" prop="desc">
<el-input type="textarea" v-model="oilForm.gzDetail"></el-input>
</el-form-item>
<el-form-item >
<el-button type="primary" @click="submitForms('oilForm')">保存</el-button>
<el-button @click="resetForm('oilForm')">取消</el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button @click="resetForm('oilForm')"> </el-button>
<el-button type="primary" @click="submitForms('oilForm')"> </el-button>
</div>
</el-dialog>
<el-dialog
title="囤油卡操作"
title="新增囤油卡活动"
:visible.sync="centerDialogVisible"
width="30%"
:close-on-click-modal="false"
@ -295,7 +295,7 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<span slot="footer" class="dialog-footer" center>
<el-button @click="centerDialogVisible = false"> </el-button>
<el-button type="primary" @click="postadd(ruleForm)"> </el-button>
</span>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-tabs v-model="activeName" @tab-click="handleClick">-->
<!-- <el-tab-pane label="商品档案" name="goods"></el-tab-pane>-->
@ -164,7 +164,7 @@
</div>
<!-- 添加或修改对话框 -->
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" append-to-body>
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" append-to-body center>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<div style="display: flex;justify-content: space-between">
<div style="width: 50%">

View File

@ -2,7 +2,7 @@
<div class="app-container">
<!-- 商品销售统计-->
<!-- 搜索框-->
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="name">
<el-input
@ -44,7 +44,7 @@
</el-form-item>
</el-form>
<div style="height: 69vh;overflow: auto">
<div style="height: 71vh;overflow: auto">
<el-table ref="tables" v-loading="loading" :data="list" border
@selection-change="handleSelectionChange" :default-sort="defaultSort"
@sort-change="handleSortChange">

View File

@ -196,7 +196,7 @@
</div>
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false">
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false" center>
<el-container>
<el-header style="">
<el-form ref="tankForm" :model="commodityForm" label-width="20px" :inline="true">
@ -837,4 +837,13 @@ export default {
align-items: start;
padding-left: 20px;
}
.card-change-1-search{
margin: 0;
}
.card-change-1-1{
margin: 0;
height: 73.5vh;
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 90vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
<el-form-item label="" prop="orderNumber">
<el-input v-model="queryParams.orderNumber" placeholder="请输入盘点单号"/>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<!-- 查询类别 -->
<el-form :inline="true" :model="queryParams">
<el-form-item label="" prop="name">
@ -117,7 +117,7 @@
<!-- 添加类别对话框 -->
<el-dialog :title="title" :visible.sync="open" class="roll-dialog"
:close-on-click-modal="false" append-to-body width="500px">
:close-on-click-modal="false" append-to-body width="500px" center>
<el-form :model="form" :rules="rules" ref="form" label-width="80px">
<!-- <el-form-item label="上级品类" >-->
<!-- <el-select v-model="form.pid" placeholder="请选择上级品类">-->
@ -159,7 +159,7 @@
</el-dialog>
<!-- 添加或修改对话框 -->
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="openGoods" append-to-body>
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="openGoods" append-to-body center>
<el-form ref="form1" :model="form1" :rules="rules1" label-width="100px">
<div style="display: flex;justify-content: center">
<div style="width: 50%">
@ -742,7 +742,7 @@ export default {
selectParentById(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改品类信息";
this.title = "修改品类";
});
},
//

View File

@ -153,7 +153,7 @@
</div>
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false">
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false" center>
<el-container>
<el-header style="">
<el-form ref="tankForm" :model="commodityForm" label-width="20px" :inline="true">

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="orderNumber">
<el-input v-model="queryParams.orderNumber" placeholder="请输入进货单号"/>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="" prop="orderNumber">
<el-input v-model="queryParams.orderNumber" placeholder="请输入退货单号"/>

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<!-- 搜索框-->
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="name">
<el-input
@ -93,7 +93,7 @@
</el-button>
</el-form-item>
</el-form>
<div style="height: 69vh;overflow: auto;scrollbar-width: none">
<div style="height: 71vh;overflow: auto;scrollbar-width: none">
<el-table ref="tables" v-loading="loading" :data="list" border
@selection-change="handleSelectionChange" :default-sort="defaultSort"
@sort-change="handleSortChange">

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="name">
<el-input
@ -238,7 +238,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "新增供应商";
this.title = "新增供应商信息";
},
//
handleUpdate(row) {
@ -247,7 +247,7 @@ export default {
getSupplier(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "编辑供应商";
this.title = "修改供应商信息";
});
},
//

View File

@ -363,7 +363,7 @@ export default {
box-sizing: border-box;
padding: 15px;
border-radius: 4px;
height: 78%;
height: 78vh;
}
.pagination-box{
width: 100%;

View File

@ -88,7 +88,10 @@
<div class="box-gang">
<div class="box">
<el-tooltip class="item" effect="dark" content="退款金额(元)/笔数" placement="top-start">
<div class="size-bole">{{ orderStatistics.refBalance?orderStatistics.refBalance:0 }}/{{ orderStatistics.refBalanceCount?orderStatistics.refBalanceCount:0 }}</div>
<div class="size-bole">{{
orderStatistics.refBalance ? orderStatistics.refBalance : 0
}}/{{ orderStatistics.refBalanceCount ? orderStatistics.refBalanceCount : 0 }}
</div>
</el-tooltip>
<div class="size-hui">
<div class="dian" style="background: #0DC291"></div>
@ -97,7 +100,10 @@
</div>
<div class="box">
<el-tooltip class="item" effect="dark" content="油品订单退款金额(元)/笔数" placement="top-start">
<div class="size-bole" style="color:#00CAFF;">{{ orderStatistics.oilOrder?orderStatistics.oilOrder:0 }}/{{ orderStatistics.oilOrderCount?orderStatistics.oilOrderCount:0 }}</div>
<div class="size-bole" style="color:#00CAFF;">{{
orderStatistics.oilOrder ? orderStatistics.oilOrder : 0
}}/{{ orderStatistics.oilOrderCount ? orderStatistics.oilOrderCount : 0 }}
</div>
</el-tooltip>
<div class="size-hui">
@ -107,7 +113,10 @@
</div>
<div class="box">
<el-tooltip class="item" effect="dark" content="便利店订单退款金额(元)/笔数" placement="top-start">
<div class="size-bole" style="color:#F44522;" >{{ orderStatistics.convenienceStore?orderStatistics.convenienceStore:0 }}/{{ orderStatistics.convenienceStoreCount?orderStatistics.convenienceStoreCount:0 }}</div>
<div class="size-bole" style="color:#F44522;">{{
orderStatistics.convenienceStore ? orderStatistics.convenienceStore : 0
}}/{{ orderStatistics.convenienceStoreCount ? orderStatistics.convenienceStoreCount : 0 }}
</div>
</el-tooltip>
<div class="size-hui">
@ -117,7 +126,9 @@
</div>
<div class="box">
<el-tooltip class="item" effect="dark" content="积分商城订单退款金额(元)/笔数" placement="top-start">
<div class="size-bole" style="color:#FF7E00;" >{{orderStatistics.integral?orderStatistics.integral:0}}/{{orderStatistics.integralCount?orderStatistics.integralCount:0}}</div>
<div class="size-bole" style="color:#FF7E00;">
{{ orderStatistics.integral ? orderStatistics.integral : 0 }}/{{ orderStatistics.integralCount ? orderStatistics.integralCount : 0 }}
</div>
</el-tooltip>
<div class="size-hui">
@ -147,10 +158,10 @@
<el-table-column prop="payMoney" align="center" label="会员付款金额(元)"></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>
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.status == 'refund'">{{ scope.row.payMoney }}</span>-->
<!-- <span type="danger" v-else>&#45;&#45;</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column prop="userName" align="center" label="付款用户"></el-table-column>
<el-table-column prop="payType" align="center" label="支付方式">
@ -158,7 +169,11 @@
<span v-if="scope.row.payType == 'CASH'">现金</span>
<span v-else-if="scope.row.payType == 'WECHAT'">微信</span>
<span v-else-if="scope.row.payType == 'ALIPAY'">支付宝</span>
<span v-else="">余额</span>
<span v-else-if="scope.row.payType == 'UNIONPAY'">银联二维码</span>
<span v-else-if="scope.row.payType == 'credit'">挂账</span>
<span v-else-if="scope.row.payType == 'oilCard'">囤油卡</span>
<span v-else-if="scope.row.payType == 'balance'">储值卡</span>
<span v-else>未知</span>
</template>
</el-table-column>
<el-table-column prop="status" align="center" label="支付状态">
@ -245,16 +260,14 @@
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getmyDataApi,
getTissueByDataApi,
getTradingPageApi,
getDicts,
getStaffByStorId,
getTradingOnsPageApi,
exportExcelBackOrderMsgsApi
} from "@/api/allOrder";
import {getTradingOnPageApi} from "../../../../api/allOrder";
export default {
name: "reconciliation-trading",
@ -415,6 +428,7 @@ export default {
padding-bottom: 8px;
//height: 87.5vh;
}
.app-top {
width: 100%;
@ -422,19 +436,23 @@ export default {
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 {
padding: 5px;
padding-left: 20px;
@ -445,6 +463,7 @@ export default {
border: 1px solid #FF9655;
margin-right: 15px;
}
.size-hui {
display: flex;
align-items: center;
@ -461,6 +480,7 @@ export default {
width: 100%;
}
}
.dian {
width: 6px;
height: 6px;
@ -472,12 +492,14 @@ export default {
margin-bottom: 15px;
margin-right: 20px;
}
.icon-img {
//margin-left: 110px;
width: 100%;
height: 20px;
margin-right: 5px;
img {
float: right;
//width: 100%;
@ -486,11 +508,13 @@ export default {
height: 100%;
}
}
.f-button {
width: 100%;
float: right;
text-align: right;
}
.size-bole {
height: 31px;
font-size: 24px;
@ -504,6 +528,7 @@ export default {
overflow: hidden;
text-overflow: ellipsis;
}
.wgang {
width: 100%;
display: flex;
@ -512,11 +537,13 @@ export default {
margin-bottom: 20px;
}
.table-box {
width: 100%;
height: 52vh;
overflow: auto;
}
.pagination-box {
width: 100%;
margin: 10px auto;
@ -524,14 +551,17 @@ export default {
align-items: center;
justify-content: center;
}
.top-app-sou {
width: 20%;
}
.tk {
text-align: center;
color: grey;
margin: 10px 0;
}
.new-top {
width: 99%;
background: #FFFFFF;
@ -542,6 +572,7 @@ export default {
border-radius: 4px;
margin-bottom: 5px;
}
.wit_box {
width: 99%;
background: #FFFFFF;

View File

@ -271,7 +271,11 @@
<span v-if="scope.row.payType == 'CASH'">现金</span>
<span v-else-if="scope.row.payType == 'WECHAT'">微信</span>
<span v-else-if="scope.row.payType == 'ALIPAY'">支付宝</span>
<span v-else="">余额</span>
<span v-else-if="scope.row.payType == 'UNIONPAY'">银联二维码</span>
<span v-else-if="scope.row.payType == 'credit'">挂账</span>
<span v-else-if="scope.row.payType == 'oilCard'">囤油卡</span>
<span v-else-if="scope.row.payType == 'balance'">储值卡</span>
<span v-else>未知</span>
</template>
</el-table-column>
<el-table-column prop="status" align="center" label="订单状态">

View File

@ -182,7 +182,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>
@ -216,8 +216,8 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm1"> </el-button>
<el-button @click="cancel1"> </el-button>
<el-button type="primary" @click="submitForm1"> </el-button>
</div>
</el-dialog>
</div>
@ -403,7 +403,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "新增车队信息";
this.title = "新增车队";
},
//
handleQuery() {
@ -429,7 +429,7 @@ export default {
this.form.cardType = res.data.cardType.split(",")
this.form.staffId = res.data.staffId.split(",")
this.open = true;
this.title = "修改车队信息";
this.title = "修改车队";
})
},
//

View File

@ -198,7 +198,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>
@ -243,8 +243,8 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm1"> </el-button>
<el-button @click="open1 = false"> </el-button>
<el-button type="primary" @click="submitForm1"> </el-button>
</div>
</el-dialog>
@ -275,8 +275,8 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm2"> </el-button>
<el-button @click="open2 = false"> </el-button>
<el-button type="primary" @click="submitForm2"> </el-button>
</div>
</el-dialog>
@ -335,8 +335,8 @@
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFormMembers"> </el-button>
<el-button @click="cancelMembers"> </el-button>
<el-button type="primary" @click="submitFormMembers"> </el-button>
</div>
</el-dialog>
@ -763,7 +763,7 @@ export default {
getFleetMember(row.id).then(res => {
this.form = res.data
this.open = true;
this.title = '修改车队成员'
this.title = '修改成员'
})
},
//

View File

@ -1255,7 +1255,7 @@ export default {
height: 98px;
}
.card-change{
height: 85vh;
height: 86vh;
}
.table_box{
height: 68vh;

View File

@ -238,6 +238,6 @@ export default {
<style scoped lang="scss">
.card-change{
height: 84vh;
height: 86vh;
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 91vh; margin-bottom: 0px;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="giftName">
<el-input
@ -79,7 +79,7 @@
<el-button type="primary" @click="exportExcelVip">导出</el-button>
</el-form-item>
</el-form>
<div style="height: 73.5vh;overflow: auto">
<div style="height: 68vh;overflow: auto">
<el-table ref="tables"
v-loading="loading"

View File

@ -509,7 +509,7 @@ valiNumberPass(rule, value, callback, fieldName)
background: #fff;
box-sizing: border-box;
padding: 10px;
height: 85vh;
height: 86vh;
}
.qizhi {

View File

@ -196,7 +196,7 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="open1 = false"> </el-button>
<el-button type="primary" @click="addCredit"></el-button>
<el-button type="primary" @click="addCredit"></el-button>
</span>
</el-dialog>

View File

@ -575,7 +575,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>
@ -658,7 +658,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="openMassSend = false"> </el-button>
<el-button type="primary" @click="submitForm1"></el-button>
<el-button type="primary" @click="submitForm1"></el-button>
</div>
</el-dialog>

View File

@ -504,7 +504,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>
@ -1101,7 +1101,7 @@ export default {
consumeCycle: this.tindex
}
this.open = true;
this.title = "新增会员标签";
this.title = "新增会员分组";
},
//
handleQuery2() {
@ -1202,6 +1202,7 @@ export default {
.cot-box {
width: 99%;
height: 86vh;
border-radius: 8px;
background: #fff;
box-sizing: border-box;

View File

@ -286,6 +286,7 @@ export default {
.wit_box{
height: 90vh;
background: #fff;
box-sizing: border-box;
padding: 15px;

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 86vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="gunName">
<el-input

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 90vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="tankName">
<el-input v-model="queryParams.inventoryNumber" placeholder="请输入盘点单号"/>

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container" style="padding-top: 1px">
<div class="card-change-1-search" >
<div class="top_tap" >
<div style="height: 90px; display: flex; justify-content: space-between;">
<div style="height: 100%; display: flex; justify-content: space-between;">
<div style="height: 100%; width: 70%; display: flex; justify-content: space-between;">
@ -71,7 +71,7 @@
</div>
</div>
<div class="card-change-1-1" >
<div class="center_tap" >
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- <span style="font-size: 20px;font-weight: bold">盘点详情</span>-->
@ -171,9 +171,9 @@
<el-dialog center :title="title" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-container>
<el-header style="">
<el-form ref="tankForm" :model="tankForm" label-width="80px">
<el-form ref="tankForm" :model="tankForm">
<el-row :gutter="24">
<el-col :span="10">
<el-col :span="8">
<el-form-item label="">
<el-select v-model="tankForm.numberId" placeholder="请选择油品油号" style="width:100%" @change="chooseOilNumber()" clearable>
<el-option
@ -185,13 +185,13 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-col :span="8">
<el-form-item label="">
<el-input v-model="tankForm.tankName" placeholder="请输入油罐名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="inquireTank()" icon="el-icon-search">搜索</el-button>
<el-col :span="8">
<el-button type="primary" @click="inquireTank()" icon="el-icon-search" style="float:right; margin-right: 0px;">搜索</el-button>
</el-col>
</el-row>
</el-form>
@ -905,4 +905,19 @@ export default {
padding-left: 20px;
}
.top_tap{
border-radius: 8px;
background: #fff;
box-sizing: border-box;
padding: 15px;
margin: 10px;
}
.center_tap{
border-radius: 8px;
background: #fff;
box-sizing: border-box;
padding: 15px;
margin: 10px;
height: 80vh;
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 90vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="" prop="purchaseNo">
<el-input v-model="queryParams.purchaseNo" placeholder="请输入进货单号"/>
@ -63,7 +63,7 @@
</el-button>
</el-form-item>
</el-form>
<div style="height: 73vh;overflow: auto;scrollbar-width: none">
<div style="height: 74vh;overflow: auto;scrollbar-width: none">
<el-table ref="tables"
v-loading="loading"
:data="purchaseList"

View File

@ -227,7 +227,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>
@ -458,7 +458,7 @@ export default {
//
this.orderForm = {}
this.open = true;
this.title = "新增采购油品"
this.title = "添加采购油品"
this.getOilNameList()
this.selectSuppliers()
},
@ -974,5 +974,14 @@ export default {
padding-left: 20px;
}
.card-change-1-search{
margin: 10px;
}
.card-change-1-1{
margin: 10px;
height: 74vh;
}
</style>

View File

@ -336,6 +336,7 @@ box-sizing: border-box;
margin-right: 44px;
}
.card_box{
height: 90vh;
border-radius: 8px;
background: #fff;
box-sizing: border-box;

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div class="card-change">
<div class="card-change" style="height: 90vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="supplierName">
<el-input
@ -110,7 +110,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<!-- 搜索框-->
<div class="card-box">
<div class="card-box" style="height: 86vh; margin-bottom: 0px;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="tankName">
<el-input
@ -185,7 +185,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>

View File

@ -425,9 +425,9 @@ export default {
.box-card {
width: 100%;
height: 89vh;
height: 91vh;
border-radius: 8px;
margin-bottom: 15px;
// margin-bottom: 15px;
background: #fff;
box-sizing: border-box;
padding: 10px;
@ -497,7 +497,7 @@ export default {
.table-box {
width: 100%;
height: 73vh;
height: 75vh;
overflow: auto;
}

View File

@ -551,12 +551,12 @@ export default {
.box-card {
width: 100%;
height: 89vh;
height: 91vh;
border-radius: 8px;
background: #fff;
box-sizing: border-box;
padding: 10px;
margin-bottom: 15px;
// margin-bottom: 15px;
}
.box-gang {

View File

@ -715,12 +715,12 @@
}
.box-card {
width: 100%;
height: 89vh;
height: 91vh;
border-radius: 8px;
background: #fff;
box-sizing: border-box;
padding: 10px;
margin-bottom: 15px;
// margin-bottom: 15px;
}
.box-gang{
//width: 1920px;

View File

@ -422,12 +422,12 @@ export default {
.box-card {
width: 100%;
height: 89vh;
height: 91vh;
border-radius: 8px;
background: #fff;
box-sizing: border-box;
padding: 10px;
margin-bottom: 15px;
// margin-bottom: 15px;
}
.box-gang {

View File

@ -1,6 +1,6 @@
<template>
<div class="app-conts">
<div class="card-change" >
<div class="card-change" style="height: 91vh;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="name">
<el-input
@ -28,7 +28,7 @@
>新增banner图</el-button>
</el-form-item>
</el-form>
<div style="height: 76vh;overflow: auto">
<div style="height: 74vh;overflow: auto">
<el-table :data="tableData" style="width: 100%;" border>
<el-table-column type="index" align="center" label="序号"></el-table-column>
<el-table-column prop="bannerName" align="center" label="banner名称"></el-table-column>
@ -151,7 +151,7 @@
</el-form>
<div style="display: flex;align-items: center;justify-content: center">
<el-button @click="open=false"> </el-button>
<el-button type="primary" @click="submitForm('deviceForm')">提交</el-button>
<el-button type="primary" @click="submitForm('deviceForm')"></el-button>
</div>
</el-dialog>

View File

@ -35,7 +35,7 @@
</el-form-item>
</el-form>
<div style="height: 75vh;overflow: auto">
<div style="height: 76vh;overflow: auto">
<el-table :data="tableData" style="width: 100%" border>
<el-table-column type="index" align="center" label="序号"></el-table-column>
<el-table-column prop="pageName" align="center" label="页面/功能名称"></el-table-column>
@ -104,7 +104,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>

View File

@ -452,7 +452,7 @@
<div style="text-align: center">
<el-button @click="open = false"> </el-button>
<el-button type="primary" @click="submitForm('form')">提交</el-button>
<el-button type="primary" @click="submitForm('form')"></el-button>
</div>
</el-form>
@ -481,7 +481,7 @@
</el-form>
<div slot="footer" style="text-align: center">
<el-button @click="open2 = false"> </el-button>
<el-button type="primary" @click="submitForm2"></el-button>
<el-button type="primary" @click="submitForm2"></el-button>
</div>
</el-dialog>
<!-- 充值 -->
@ -509,7 +509,7 @@
</el-form-item>
<div style="text-align: center">
<el-button @click="open3 = false"> </el-button>
<el-button type="primary" @click="submitForm3"></el-button>
<el-button type="primary" @click="submitForm3"></el-button>
</div>
</el-form>
</el-dialog>
@ -1084,7 +1084,7 @@ export default {
handleAdd(e) {
this.clean()
this.open = true;
this.title = "新增短信"
this.title = "新增短信模板"
},
edit(e) {
this.clean()
@ -1146,7 +1146,7 @@ export default {
.container_hui{
background: #f6f8f9;
box-sizing: border-box;
padding-bottom: 10px;
// padding-bottom: 10px;
}
.card-changes{
@ -1155,7 +1155,7 @@ export default {
box-sizing: border-box;
padding: 15px;
margin: 10px;
height: 84.5vh;
height: 86vh;
}
.common-dialog > > > .el-upload--picture-card {

View File

@ -80,7 +80,7 @@
</el-form>
</div>
<div style="height: 71vh;overflow: auto;width: 100%;scrollbar-width: none">
<div style="height: 76vh;overflow: auto;width: 100%;scrollbar-width: none">
<el-table :data="tableData" style="width: 100%" border>
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column prop="createAccount" label="登录账号"></el-table-column>

View File

@ -40,7 +40,7 @@
</el-button>
</el-form-item>
</el-form>
<div style="height: 68vh;overflow: auto">
<div class="table_box" >
<el-table :data="tableData" style="width: 100%" border>
<el-table-column align="center" type="index" label="序号"></el-table-column>
@ -86,7 +86,6 @@
/>
</div>
<el-dialog center :title="title" :close-on-click-modal="false" :visible.sync="open" width="42%" append-to-body>
<el-form :model="form" label-width="80px" >
<!-- 通知名称 -->
@ -114,21 +113,17 @@
<span @click="insertText('{挂账单位}')">{挂账单位}</span>
<span @click="insertText('{会员手机号}')">{会员手机号}</span>
</div>
</el-form-item>
<!-- 接收角色 -->
<el-form-item label="接收角色" :required="true">
<el-select v-model="form.recipientRoles" multiple placeholder="请选择角色" style="width: 100%">
<el-option v-for="item in dutyList1" :label="item.dutyName" :value="item.dutyId"></el-option>
</el-select>
</el-form-item>
<!-- 模板状态 -->
<el-form-item label="模板状态" :required="true">
<el-switch v-model="form.templateStatus" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</el-form-item>
<!-- 发送条件 -->
<el-form-item label="发送条件" style="margin-bottom: 10px" :required="true">
<div v-for="(condition, index) in form.conditions" :key="index" class="condition-group"
@ -153,20 +148,12 @@
</div>
<el-button @click="addCondition(index)" type="primary" icon="el-icon-plus">添加条件</el-button>
</el-form-item>
<!-- 操作按钮 -->
<!-- <el-form-item>-->
<!-- </el-form-item>-->
</el-form>
<div style="display: flex; justify-content: center; align-items: center;margin-top: 30px">
<el-button @click="handleReset">取消</el-button>
<el-button type="primary" @click="handleSubmit">保存</el-button>
</div>
</el-dialog>
</div>
</template>
@ -465,7 +452,7 @@ export default {
};
</script>
<style lang="scss" scoped>
.common-dialog > > > .el-upload--picture-card {
.common-dialog.el-upload--picture-card {
width: 60px;
height: 50px;
line-height: 60px;
@ -473,13 +460,19 @@ export default {
.container_hui{
background: #fff;
margin: 10px;
margin-bottom: 0px;
border-radius: 8px;
box-sizing: border-box;
padding: 15px;
}
.cards-change{
height: 81vh;
//height: 81vh;
}
.table_box{
height: 72vh;
overflow: auto;
scrollbar-width: none;
}
</style>

View File

@ -43,7 +43,7 @@
</el-button>
</el-form-item>
</el-form>
<div style="height: 69vh;overflow: auto">
<div class="table_box" >
<el-table :data="tableData" style="width: 100%" border>
<el-table-column align="center" type="index" label="序号"></el-table-column>
<el-table-column align="center" prop="notificationName" label="通知名称"></el-table-column>
@ -543,7 +543,7 @@ export default {
};
</script>
<style lang="scss" scoped>
.common-dialog > > > .el-upload--picture-card {
.common-dialog.el-upload--picture-card {
width: 60px;
height: 50px;
line-height: 60px;
@ -551,14 +551,19 @@ export default {
.container_hui{
background: #fff;
margin: 10px;
margin-bottom: 0px;
border-radius: 8px;
box-sizing: border-box;
padding: 15px;
}
.cards-change{
height: 81vh;
//height: 81vh;
}
.table_box{
height: 72vh;
overflow: auto;
scrollbar-width: none;
}
</style>

View File

@ -197,7 +197,7 @@
</el-table-column>
</el-table>
</div>
<el-dialog center :close-on-click-modal="false" :title="addMerchantTitile" :visible.sync="addMerchants" width="26%">
<el-dialog center :close-on-click-modal="false" :title="addMerchantTitile" :visible.sync="addMerchants" width="28%">
<el-form :model="form" ref="formAdd" :rules="rules" :inline="true">
<el-form-item label="所属机构" style="margin-right: 0px" :label-width="formLabelWidth" prop="deptId">
<el-select v-model="form.deptId+''" disabled placeholder="请选择所属机构" style="width: 350px">
@ -235,7 +235,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="addMerchants = false"> </el-button>
<el-button type="primary" @click="submitMerchant"></el-button>
<el-button type="primary" @click="submitMerchant"></el-button>
</div>
</el-dialog>
<el-dialog center :close-on-click-modal="false" :title="Ruletitle" :visible.sync="addRule">
@ -330,7 +330,7 @@
</el-form>
<div slot="footer" class="dialog-footer" v-if="Ruletitle != '查看商户信息'">
<el-button @click="addRule = false"> </el-button>
<el-button type="primary" @click="submitAddRule"></el-button>
<el-button type="primary" @click="submitAddRule"></el-button>
</div>
</el-dialog>
<el-dialog center :close-on-click-modal="false" title="启用" :visible.sync="Enable" width="650px">
@ -704,7 +704,7 @@ export default {
this.Ruletitle = '查看商户信息';
this.isEditable = false;
}else {
this.Ruletitle = '修改商户信息';
this.Ruletitle = '修改规则';
this.isEditable = true;
}
this.addRule = true

View File

@ -347,12 +347,12 @@ export default {
handleAdd(e) {
this.clean()
this.open = true;
this.title = "新增设备"
this.title = "新增设备信息"
},
edit(e) {
this.clean()
this.open = true;
this.title = "编辑设备"
this.title = "修改设备信息"
console.log("eeeeeeee", e)
if (e.staffIds) {
let a = JSON.parse(e.staffIds)

View File

@ -48,10 +48,12 @@
<div class="d-s">
<div class="h-tt" style="margin-right: 15px">数据看板</div>
<el-dropdown placement="bottom-start " @command="sjkbStoreAmount">
<div class="h-anniu" :class="{'q-anniu' : dataTimeShow == false}" @click="dataTimeShow = false ">{{sjkbTitle}} <i
<div class="h-anniu" :class="{'q-anniu' : dataTimeShow == false}" @click="dataTimeShow = false ">
{{ sjkbTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item>
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="h-anniu" :class="{'q-anniu' : dataTimeShow == true}" @click="dataTimeShow = true"> 自定义
@ -104,9 +106,7 @@
<div class="h-tt" style="position: absolute;top: 0px">数据分析</div>
<div id="ccc" style="width: 400px;height: 200px; "></div>
</div>
<!-- <div class="h-r-ba"></div>-->
<div>
<!-- <div class="h-tt" >活跃油站</div>-->
<div class="d-s" style="justify-content: space-between">
<div id="cccc" style="width: 400px;height: 200px;"></div>
<div id="ccct" style="width: 400px;height: 200px;"></div>
@ -141,14 +141,16 @@
<div class="d-s" style="margin-bottom: 10px">
<div class="h-tt" style="margin-right: 15px">油品交易分析</div>
<el-dropdown placement="bottom-start" @command="editShow">
<div class="h-anniu" :class="{'q-anniu' : showTimeShow == false}" @click="showTimeShow = false ">{{ypjyTitle}} <i
<div class="h-anniu" :class="{'q-anniu' : showTimeShow == false}" @click="showTimeShow = false ">
{{ ypjyTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item command="近一周" index="2">近一周</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一月" index="2">本月</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="2">本季度</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="2">本年</el-dropdown-item>-->
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item>
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="h-anniu" :class="{'q-anniu' : showTimeShow == true}" @click="showTimeShow = true"> 自定义
@ -174,7 +176,8 @@
<div class="h-anniu" :class="{'q-anniu' : timeShow == false}" @click="timeShow = false ">{{ ygphTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item>
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@ -213,14 +216,16 @@
<div class="d-s">
<div class="h-tt" style="margin-right: 15px">数据统计</div>
<el-dropdown placement="bottom-start" @command="editCount">
<div class="h-anniu" :class="{'q-anniu' : countTimeShow == false}" @click="countTimeShow = false ">{{sjtjTitle}} <i
<div class="h-anniu" :class="{'q-anniu' : countTimeShow == false}" @click="countTimeShow = false ">
{{ sjtjTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item command="近一周" index="1">近一周</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一月" index="1">本月</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="1">本季度</el-dropdown-item>-->
<!-- <el-dropdown-item command="近一年" index="1">本年</el-dropdown-item>-->
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{item}} </el-dropdown-item>
<el-dropdown-item v-for="(item,index) in amountList" :key="index" :command="item">{{ item }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
@ -256,9 +261,19 @@ import {parseTime} from "@/utils/fuint";
import {getBannerListApi} from "@/api/sys/banner";
import {getNotificationlogList} from "@/api/sys/sysNotificationlog";
import {employeeSalesApi} from "@/api/indexStatistics";
import {getDataAnalysis, getDataBoard, getDataCount, getDataShow, getTotalAmount} from "@/api/allOrder";
import {
getDataAnalysis,
getDataBoard,
getDataCount,
getDataShow,
getTotalAmount,
getOilPercentage,
getOilAndGoodsPercentage,
getOilAndGoodsAndVipAndPoints
} from "@/api/allOrder";
export default {
export default
{
props: ["accountId"],
data() {
@ -600,36 +615,31 @@ export default {
startTime: this.value1[0],
endTime: this.value1[1]
}
getDataAnalysis(data).then(res => {
// console.log('', res)
this.dataAnalysisAllList = []
this.dataAnalysisOilNumberList = []
this.dataAnalysisIfOilList = []
if (res.code == 200) {
for (let i = 0; i < res.data.length; i++) {
if (res.data[i].type == 1) {
this.dataAnalysisOilNumberList.push(res.data[i])
} else if (res.data[i].type == 2) {
this.dataAnalysisIfOilList.push(res.data[i])
} else if (res.data[i].type == 3) {
this.dataAnalysisAllList.push(res.data[i])
}
}
// console.log('dataAnalysisOilNumberList', this.dataAnalysisOilNumberList)
// console.log('dataAnalysisIfOilList', this.dataAnalysisIfOilList)
// console.log('dataAnalysisAllList', this.dataAnalysisAllList)
this.initChart()
}
//
getOilPercentage(data).then(res => {
this.dataAnalysisOilNumberList = res.data
console.log("饼状图一数据",this.dataAnalysisOilNumberList )
})
//
getOilAndGoodsPercentage(data).then(res => {
this.dataAnalysisIfOilList = res.data
console.log("饼状图二数据",this.dataAnalysisIfOilList)
})
//
getOilAndGoodsAndVipAndPoints(data).then(res => {
this.dataAnalysisAllList = res.data
console.log("饼状图三数据",this.dataAnalysisAllList )
})
},
//
getDataShow() {
const data = {
"startTime": this.showValue[0].split(' ')[0],
"endTime": this.showValue[1].split(' ')[0]
}
getDataShow(data).then(res => {
// console.log('', res.data)
console.log('首页数据展示', res.data)
this.dataShows = res.data
this.initChart()
})
@ -827,7 +837,6 @@ export default {
formatter: `{d}%`,
},
},
]
};
const option1 = {

View File

@ -225,7 +225,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>
@ -926,6 +926,7 @@ export default {
margin-right: 44px;
}
.cont_box{
height: 90vh;
border-radius: 8px;
background: #fff;
box-sizing: border-box;

View File

@ -789,7 +789,7 @@ export default {
// this.form.takeEffect = JSON.parse(this.form.takeEffect)
this.form.royaltyRate = this.form.royaltyRate.slice(0, this.form.royaltyRate.length - 1)
this.open = true;
this.title = "编辑提成方案";
this.title = "修改提成方案";
if (response.data.staffRoleGroup) {
this.staffRoleGroup = response.data.staffRoleGroup.split(",");
}
@ -939,7 +939,6 @@ export default {
background: #fff;
box-sizing: border-box;
padding: 20px;
margin: 0 auto;
}

View File

@ -528,7 +528,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button>
<el-button type="primary" @click="submitForm"></el-button>
</div>
</el-dialog>
@ -686,8 +686,8 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm2"> </el-button>
<el-button @click="cancel2"> </el-button>
<el-button type="primary" @click="submitForm2"> </el-button>
</div>
</el-dialog>
@ -1360,7 +1360,7 @@ export default {
this.tindex2 = res.data.suitDateType
this.tindex3 = res.data.suitTimeSlotType
this.tindex4 = res.data.noUseTimeType
this.title = "修改会员折扣"
this.title = "修改折扣"
})
},
//
@ -1871,7 +1871,7 @@ export default {
}
}
this.open = true;
this.title = "编辑会员等级";
this.title = "修改会员等级";
});
},
//

View File

@ -8,10 +8,13 @@ import {
updateYearApi
} from "@/api/system/Site/compant";
import { getDeptName} from '@/api/indexBanner/index'
export default {
name: "afterff",
data() {
return {
deptName:'',
dialogVisible:false,
dialogVisible2:false,
tableData: [],
@ -34,8 +37,15 @@ export default {
created() {
this.getList();
this.getData();
this.getDeptName();
},
methods: {
getDeptName(){
getDeptName().then(res=>{
console.log("获取到的deptName",res)
this.deptName = res.data.deptName
})
},
getList() {
getAfterListApi({deptId : this.deptId}).then(res => {
this.tableData = res.data.records
@ -160,11 +170,12 @@ export default {
align="center"
label="创建人">
</el-table-column>
<!-- <el-table-column
<el-table-column
v-if = "this.deptName === '百业兴总部'"
width="200"
align="center"
label="操作"
> -->
>
<!-- <template slot="header" slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
@ -172,14 +183,14 @@ export default {
<!-- >新增</el-button>-->
<!-- 操作-->
<!-- </template>-->
<!-- <template slot-scope="scope">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.row)">修改</el-button>
<el-button
size="mini"
@click="handleEditshoukuan(scope.row)">收款</el-button>
</template> -->
</template>
</el-table-column>
</el-table>

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container" style="padding: 10px">
<div class="app-container" style="padding: 0px">
<div class="tab-box">
<div class="f-box" v-for="(item,index) in tablist" :key="index" @click="handleClick1(index)" :class="{ 'active' :activeindex==index}">{{item.name}}</div>
</div>

View File

@ -68,7 +68,7 @@ export default {
.app-top{
width: 100%;
//margin-bottom: 20px;
height: 52px;
height: 41px;
box-sizing: border-box;
}

View File

@ -19,5 +19,6 @@ public interface PaymentParameterConfigMapper extends BaseMapper<PaymentParamete
IPage<PaymentParameterConfigVo> selectListPage(Page page,@Param("entity") PaymentParameterConfigVo paymentParameterConfigVo,@Param("ownDeptStr") String ownDeptStr);
PaymentParameterConfigVo selectInfoById(@Param("id") Integer id);
List<PaymentParameterConfig> selectListByDeptId(Integer deptId);
}

View File

@ -34,5 +34,24 @@
LEFT JOIN t_account ta ON ppc.create_by = ta.acct_id
where ppc.id = #{id}
</select>
<select id="selectListByDeptId" resultType="com.fuint.api.fuyou.entity.PaymentParameterConfig"
parameterType="java.lang.Integer">
SELECT ppc.id,
ppc.dept_id,
CONCAT(sd.dept_name, '-' , ppc.payment_channel) as payment_channel,
ppc.ins_cd,
ppc.public_key,
ppc.private_key,ppc.contact,
ppc.information,
ppc.status,
ppc.create_time,
ppc.update_time,
ppc.create_by,
ppc.update_by
FROM payment_parameter_config ppc
join sys_dept sd on ppc.dept_id = sd.dept_id
WHERE ppc.dept_id = #{deptId}
</select>
</mapper>

View File

@ -218,7 +218,7 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
}
merchantConfig.setStoreId(storeId);
int row = 0;
if (merchantConfig.getMerchantName().equals("富友")){
if (merchantConfig.getMerchantName().split("-")[1].equals("富友")){
merchantConfig.setInsCd(FuYouPublicMerchant.insCd);
merchantConfig.setPublicKey(FuYouPublicMerchant.publicKey);
merchantConfig.setPrivateKey(FuYouPublicMerchant.privateKey);

View File

@ -13,6 +13,7 @@ import com.fuint.api.fuyou.vo.PaymentParameterConfigVo;
import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.TokenUtil;
import com.fuint.system.dept.entity.SysDept;
import com.fuint.system.dept.mapper.SysDeptMapper;
import com.fuint.system.dept.service.ISysDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
@ -21,6 +22,7 @@ import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@ -36,6 +38,9 @@ public class PaymentParameterConfigServiceImpl extends ServiceImpl<PaymentParame
@Lazy
private ISysDeptService deptService;
@Autowired
private SysDeptMapper sysDeptMapper;
/**
* 通过ID查询单条数据
*
@ -117,11 +122,29 @@ public class PaymentParameterConfigServiceImpl extends ServiceImpl<PaymentParame
return baseMapper.selectInfoById(id);
}
// @Override
// public List<PaymentParameterConfig> selectListByDeptID(Integer deptId) {
// QueryWrapper queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("dept_id",deptId);
// return baseMapper.selectList(queryWrapper);
// }
@Override
public List<PaymentParameterConfig> selectListByDeptID(Integer deptId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("dept_id",deptId);
return baseMapper.selectList(queryWrapper);
List<PaymentParameterConfig> resultList = new ArrayList<>();
selectListByDeptIDRecursive(deptId, resultList);
return resultList;
}
private void selectListByDeptIDRecursive(Integer deptId, List<PaymentParameterConfig> resultList) {
List<PaymentParameterConfig> selectList = baseMapper.selectListByDeptId(deptId);
if (CollectionUtil.isNotEmpty(selectList)) {
resultList.addAll(selectList);
SysDept sysDept = sysDeptMapper.selectById(deptId);
if (sysDept != null && sysDept.getParentId() != null) {
selectListByDeptIDRecursive(sysDept.getParentId().intValue(), resultList);
}
}
}
@Override

View File

@ -351,7 +351,7 @@ public class AllOrderInfoController extends BaseController {
}
/**
* 油站首页 数据展示
* 油站首页 数据看板
* @return
*/
@GetMapping("getDataBoard")
@ -372,6 +372,48 @@ public class AllOrderInfoController extends BaseController {
return getSuccessResult(allOrderInfoService.getDataAnalysis(map));
}
/**
* 油站首页 数据分析 第一个饼状图
* @param map
* @return
*/
@GetMapping("/getOilPercentage")
public ResponseObject getOilPercentage(String startTime, String endTime){
Map<String, Object> map = new HashMap<>();
map.put("startTime", startTime);
map.put("endTime", endTime);
return getSuccessResult(allOrderInfoService.getOilPercentage(map));
}
/**
* 油站首页 数据分析 第二个饼状图
* @param map
* @return
*/
@GetMapping("/getOilAndGoodsPercentage")
public ResponseObject getOilAndGoodsPercentage(String startTime, String endTime){
Map<String, Object> map = new HashMap<>();
map.put("startTime", startTime);
map.put("endTime", endTime);
return getSuccessResult(allOrderInfoService.getOilAndGoodsPercentage(map));
}
/**
* 油站首页 数据分析 第三个饼状图
* @param map
* @return
*/
@GetMapping("/getOilAndGoodsAndVipAndPoints")
public ResponseObject getOilAndGoodsAndVipAndPoints(String startTime, String endTime){
Map<String, Object> map = new HashMap<>();
map.put("startTime", startTime);
map.put("endTime", endTime);
return getSuccessResult(allOrderInfoService.getOilAndGoodsAndVipAndPoints(map));
}
/**
* 油站首页数据展示
* @param map

View File

@ -162,6 +162,10 @@ public interface AllOrderInfoService {
*/
List<HomeDataAnalysisVo> getDataAnalysis(Map<String, String> map);
Object getOilPercentage(Map<String, Object> map);
Object getOilAndGoodsPercentage(Map<String, Object> map);
Object getOilAndGoodsAndVipAndPoints(Map<String, Object> map);
/**
* 油站首页数据展示
* @param map

View File

@ -21,8 +21,10 @@ import com.fuint.business.convenienceSore.dto.LJGoodsDto;
import com.fuint.business.convenienceSore.mapper.LJGoodsMapper;
import com.fuint.business.convenienceSore.service.LJGoodsService;
import com.fuint.business.convenienceSore.service.StockTrackService;
import com.fuint.business.fleet.entity.FleetConsumeRecord;
import com.fuint.business.fleet.entity.FleetInfo;
import com.fuint.business.fleet.entity.FleetMember;
import com.fuint.business.fleet.mapper.FleetConsumeRecordMapper;
import com.fuint.business.fleet.mapper.FleetInfoMapper;
import com.fuint.business.fleet.mapper.FleetLinesChangeMapper;
import com.fuint.business.fleet.mapper.FleetMemberMapper;
@ -74,6 +76,7 @@ import com.fuint.system.dept.entity.SysDept;
import com.fuint.system.dept.mapper.SysDeptMapper;
import com.fuint.system.dept.service.ISysDeptService;
import com.fuint.system.dept.vo.SysDeptVo;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -122,7 +125,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Autowired
private FleetMemberMapper fleetMemberMapper;
@Autowired
private FleetLinesChangeMapper fleetLinesChangeMapper;
private FleetConsumeRecordMapper fleetConsumeRecordMapper;
@Autowired
private FleetInfoMapper fleetInfoMapper;
@ -135,6 +138,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Resource
private MtUserMapper mtUserMapper;
@Override
public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) {
return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
@ -592,7 +596,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
// 参数
String orderNo = map.get("orderNo");
// 1.根据 orderNo 查询 总订单表 收银台表 会员表 油品订单表
AllOrderInfo allOrder = selectAllOrderInfoByOrderNo(orderNo);
CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo);
@ -643,7 +646,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
.eq("store_id", userBalance.getStoreId());
MtUserFuel mtUserFuel = mtUserFuelMapper.selectOne(q2);
QueryWrapper<CardFuelChange> q4 = Wrappers.query();
q2.eq("order_no", userBalance.getMtUserId());
q2.eq("order_no", allOrder.getOrderNo());
CardFuelChange cardFuelChange = cardFuelChangeMapper.selectOne(q4);
mtUserFuel.setFuelAmount(mtUserFuel.getFuelAmount() + cardFuelChange.getBalance());
mtUserFuelMapper.updateById(mtUserFuel);
@ -657,7 +660,14 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
q6.eq("id", fleetMember.getFleetId());
FleetInfo fleetInfo = fleetInfoMapper.selectOne(q6);
// 待编辑
QueryWrapper<FleetConsumeRecord> q7 = Wrappers.query();
q7.eq("order_no", allOrder.getOrderNo());
FleetConsumeRecord fleetConsumeRecord = fleetConsumeRecordMapper.selectOne(q7);
fleetMember.setRemainingCreditLimit(fleetMember.getRemainingCreditLimit() + fleetConsumeRecord.getAfterTheChange());
fleetInfo.setTotalBalance(fleetInfo.getTotalBalance() + fleetConsumeRecord.getAfterTheChange());
fleetInfoMapper.updateById(fleetInfo);
fleetMemberMapper.updateById(fleetMember);
}
if (orderNo.equals("card_value")) {
@ -841,7 +851,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
MemberService memberService;
public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -973,7 +982,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
}
@Override
public IPage<AllOrderInfoVo> transactionList(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -1905,6 +1913,78 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return map1;
}
/**
* 油站首页 数据分析 第一个饼状图
*/
public Object getOilPercentage(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
List<Map<String, Object>> s1 = oilNumberMapper.getS1(map);
return s1;
}
/**
* 油站首页 数据分析 第二个饼状图
*/
public Object getOilAndGoodsPercentage(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
Map<String, Object> m1 = oilNumberMapper.getOilAndGoodsPercentage(map);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 1; i <= 2; i++) {
HashMap<String, Object> m2 = new HashMap<>();
if (i == 1) {
m2.put("name", "油品交易占比");
m2.put("value", m1.get("oil_order_total"));
}
if (i == 2) {
m2.put("name", "非油品交易占比");
m2.put("value", m1.get("mt_order_total"));
}
list.add(m2);
}
return list;
}
/**
* 油站首页 数据分析 第三个饼状图
*/
public Object getOilAndGoodsAndVipAndPoints(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
Map<String, Object> oilAndGoodsAndVipAndPoints = oilNumberMapper.getOilAndGoodsAndVipAndPoints(map);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 1; i <=4 ; i++) {
HashMap<String, Object> m2 = new HashMap<>();
if (i==1){
m2.put("name","会员充值交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("all_order_type_3_total"));
}
if (i==2){
m2.put("name","积分商城交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("all_order_type_4_total"));
}
if (i==3){
m2.put("name","油品交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("oil_order_total"));
}
if (i==4){
m2.put("name","非油品交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("mt_order_total"));
}
list.add(m2);
}
return list;
}
/**
* 油站首页数据分析
*
@ -2516,7 +2596,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
}
@Override
public void exportExcelOrderMsgApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingOrderExcel> list = transactionAllList(allOrderInfoRes);
@ -2542,6 +2621,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
/**
* 查询全部订单数据
*
* @param
* @param allOrderInfoRes
* @return
@ -2556,6 +2636,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return allOrderInfoVo;
}
@Override
public void exportExcelBackOrderMsgsApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingBackOrderExcel> list = transactionBackAllList(allOrderInfoRes);
@ -2579,9 +2660,9 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
}
/**
* 查询退单订单数据
*
* @param
* @param allOrderInfoRes
* @return
@ -2595,8 +2676,10 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return allOrderInfoVo;
}
/**
* 查询退单订单数据
*
* @param
* @param allOrderInfo
* @return
@ -2610,6 +2693,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
}
@Override
public AllOrderInfoVo getTradingNewData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -2627,6 +2711,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
public StatisticsOrderAllDto getInstituionListApi3(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -2635,6 +2720,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
public IPage<StatisticsOneDayOrderAllDto> getInstituionListApi7(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -2643,6 +2729,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
public StatisticsOneDayOrderAllDto getInstituionListApi9(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();

View File

@ -9,6 +9,7 @@ import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* (ChainStoreInfo)表数据库访问层
@ -65,5 +66,9 @@ public interface OilNumberMapper extends BaseMapper<OilNumber> {
double getOilPriceById(@Param("oilId") Integer oilId,@Param("storeId") Integer storeId);
List<OilNumber> selectAllOil(Integer storeId);
List<Map<String, Object>> getS1(@Param("obj") Map<String, Object> map);
Map<String, Object> getOilAndGoodsPercentage(@Param("obj") Map<String, Object> map);
Map<String, Object> getOilAndGoodsAndVipAndPoints(@Param("obj") Map<String, Object> map);
}

View File

@ -24,12 +24,27 @@
</resultMap>
<sql id="selectOilNumber">
select `number_id`,`oil_type`,oil_name,oil_price,gb_price,receiving_units,create_time,update_time,`state`,sort,remark,if_delete,unit, store_id
select `number_id`,
`oil_type`,
oil_name,
oil_price,
gb_price,
receiving_units,
create_time,
update_time,
`state`,
sort,
remark,
if_delete,
unit,
store_id
from oil_number
</sql>
<select id="selectOilNumberList" resultMap="OilNumberResult">
SELECT onu.*,ms.real_name FROM oil_number onu LEFT JOIN mt_staff ms ON onu.create_by = ms.id
SELECT onu.*, ms.real_name
FROM oil_number onu
LEFT JOIN mt_staff ms ON onu.create_by = ms.id
where onu.store_id = #{oilNumber.storeId}
</select>
@ -116,17 +131,22 @@
<if test=" updateBy != null and updateBy != ''">update_by= #{updateBy},</if>
<if test=" unit != null and unit != ''">unit= #{unit},</if>
<if test=" upOrDown != null and unit != ''">up_or_down= #{upOrDown},</if>
<if test=" amplitudeOfChange != null and amplitudeOfChange != ''">amplitude_of_change= #{amplitudeOfChange },</if>
<if test=" amplitudeOfChange != null and amplitudeOfChange != ''">amplitude_of_change=
#{amplitudeOfChange },
</if>
update_time= NOW()
</set>
where number_id = #{numberId}
</update>
<delete id="deleteOilNumberById">
delete from oil_number where number_id = #{numberId}
delete
from oil_number
where number_id = #{numberId}
</delete>
<select id="getOilName" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber">
select name.id id, onm.number_id numberId,name.oil_name oilName, name.oil_type oilType,onm.oil_price oilPrice ,onm.gb_price gbPrice,
select name.id id, onm.number_id numberId,name.oil_name oilName, name.oil_type oilType,onm.oil_price oilPrice
,onm.gb_price gbPrice,
name.oil_density oilDensity,onm.unit unit,name.id oilNameId
from oil_number onm
left join oil_name name on onm.oil_name = name.id
@ -140,9 +160,7 @@
select count(*)
from oil_number
WHERE store_id = #{storeId}
and
oil_name = #{oilName}
limit 1
and oil_name = #{oilName} limit 1
</select>
<select id="selectOilNumberNameByStoreId" resultType="com.fuint.business.petrolStationManagement.vo.OilNumberNameVo"
parameterType="java.lang.Integer">
@ -155,7 +173,10 @@
</select>
<select id="getOilPriceById" resultType="double">
select oil_price from oil_number where oil_name = #{oilId} and store_id = #{storeId}
select oil_price
from oil_number
where oil_name = #{oilId}
and store_id = #{storeId}
</select>
<select id="selectAllOil" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber"
parameterType="java.lang.Integer">
@ -164,4 +185,66 @@
left join oil_name ona on oin.oil_name = ona.id
where oin.store_id = #{storeId}
</select>
<select id="getS1" resultType="java.util.Map">
SELECT CONCAT(oilna.oil_name, '', oilna.oil_type) AS name,
COALESCE(SUM(oilor.pay_amount), 0) AS value
FROM
oil_number oilnu
LEFT JOIN
oil_name oilna
ON oilnu.oil_name = oilna.id
LEFT JOIN
oil_order oilor ON oilna.id = oilor.oils
and oilor.create_time &gt;= #{obj.startTime} and oilor.pay_time &lt;= #{obj.endTime}
WHERE
oilnu.store_id = #{obj.storeId}
GROUP BY
oilna.oil_name, oilna.oil_type
</select>
<select id="getOilAndGoodsPercentage" resultType="java.util.Map">
SELECT o.sum_oil_order AS oil_order_total,
m.sum_mt_order AS mt_order_total
FROM (SELECT SUM(pay_amount) AS sum_oil_order
FROM oil_order
where store_id = #{obj.storeId}
and create_time &gt;= #{obj.startTime}
and create_time &lt;= #{obj.endTime}) o
CROSS JOIN
(SELECT SUM(pay_amount) AS sum_mt_order
FROM mt_order
where store_id = #{obj.storeId}
and create_time &gt;= #{obj.startTime}
and create_time &lt;= #{obj.endTime}) m;
</select>
<select id="getOilAndGoodsAndVipAndPoints" resultType="java.util.Map">
SELECT o.sum_oil_order AS oil_order_total,
m.sum_mt_order AS mt_order_total,
a.sum_all_order_type_3 AS all_order_type_3_total,
b.sum_all_order_type_4 AS all_order_type_4_total
FROM (SELECT SUM(pay_amount) AS sum_oil_order
FROM oil_order
WHERE store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) o
CROSS JOIN
(SELECT SUM(pay_amount) AS sum_mt_order
FROM mt_order
WHERE store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) m
CROSS JOIN
(SELECT SUM(pay_money) AS sum_all_order_type_3
FROM all_order_info
WHERE type = 3
AND store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) a
CROSS JOIN
(SELECT SUM(pay_money) AS sum_all_order_type_4
FROM all_order_info
WHERE type = 4
AND store_id = #{obj.storeId}
AND create_time &gt;= #{obj.startTime}
AND create_time &lt;= #{obj.endTime}) b;
</select>
</mapper>

View File

@ -27,7 +27,8 @@
<el-option v-for="item in payList"
:key="item.id"
:label="item.dictLabel"
:value="item.dictValue">
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
@ -40,14 +41,16 @@
v-model="beginTime"
style="width: 200px"
type="date"
placeholder="开始日期">
placeholder="开始日期"
>
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 200px"
type="date"
placeholder="结束日期">
placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
@ -65,7 +68,7 @@
<div class="box-gang">
<div class="box2">
<div style="font-size: 26px;color: #0DC291;font-weight: bold;margin-top: 5px">
{{ orderStatistics.theTotalAmountOfTheOrder ? orderStatistics.theTotalAmountOfTheOrder : 0 }}/{{ orderStatistics.numberOfStrokes ? orderStatistics.numberOfStrokes : 0 }}
{{ orderStatistics.s2 || 0 }}/{{ orderStatistics.s1 || 0 }}
</div>
<div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #0DC291"></div>
@ -74,7 +77,7 @@
</div>
<div class="box2">
<div style="font-size: 26px;color: #00CAFF;font-weight: bold;margin-top: 5px">
{{ orderStatistics.theTotalAmountPaid ? orderStatistics.theTotalAmountPaid : 0 }}
{{ orderStatistics.s3 || 0 }}
</div>
<div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #00CAFF"></div>
@ -83,7 +86,7 @@
</div>
<div class="box2">
<div style="font-size: 26px;color: #F44522;font-weight: bold;margin-top: 5px">
{{ orderStatistics.oilDiscounts ? orderStatistics.oilDiscounts : 0 }}/{{ seekZeroAmount }}
{{ orderStatistics.s4 || 0 }}/{{ orderStatistics.s5 || 0 }}
</div>
<div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #F44522"></div>
@ -92,7 +95,7 @@
</div>
<div class="box2">
<div style="font-size: 26px;color: #FA6400;font-weight: bold;margin-top: 5px">
{{ orderStatistics.numberOfStrokesByOil ? orderStatistics.numberOfStrokesByOil : 0 }}/{{ orderStatistics.theTotalAmountOfOil ? orderStatistics.theTotalAmountOfOil : 0 }}
{{ orderStatistics.s7 || 0 }}/{{ orderStatistics.s6 || 0 }}
</div>
<div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #FA6400"></div>
@ -101,7 +104,7 @@
</div>
<div class="box2">
<div style="font-size: 26px;color: #FE59E5;font-weight: bold;margin-top: 5px">
{{ orderStatistics.numberOfStrokesByGoods ? orderStatistics.numberOfStrokesByGoods : 0 }}/{{ orderStatistics.theTotalAmountOfTheItem ? orderStatistics.theTotalAmountOfTheItem : 0 }}
{{ orderStatistics.s9 || 0 }}/{{ orderStatistics.s8 || 0 }}
</div>
<div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #FE59E5"></div>
@ -116,11 +119,16 @@
<el-table
:data="orderList"
size="mini"
style="width: 100%">
style="width: 100%"
>
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="orderNo" align="center" label="订单号"></el-table-column>
<el-table-column prop="amount" align="center" label="订单金额(元)"></el-table-column>
<el-table-column prop="afterDiscountAmount" align="center" label="优惠金额(元)"></el-table-column>
<el-table-column prop="afterDiscountAmount" align="center" label="优惠金额(元)">
<template slot-scope="scope">
<span>{{ scope.row.oilDiscountAmount + scope.row.goodsDiscountAmount }}</span>
</template>
</el-table-column>
<el-table-column prop="afterDiscountAmount" align="center" label="应收金额(元)"></el-table-column>
<el-table-column prop="payAmount" align="center" label="实付金额(元)"></el-table-column>
<el-table-column prop="payAmount" align="center" label="已收金额(元)"></el-table-column>
@ -151,12 +159,9 @@
</el-table-column>
<el-table-column prop="payUser" align="center" label="付款用户"></el-table-column>
<el-table-column prop="status" align="center" label="支付方式">
<el-table-column prop="payType" 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>
{{ getPayTypeStr(scope.row.payType) }}
</template>
</el-table-column>
<el-table-column prop="status" align="center" label="订单状态">
@ -167,7 +172,7 @@
<el-tag type="danger" v-else>支付失败</el-tag>
</template>
</el-table-column>
<el-table-column prop="payUser" align="center" label="关联员工" ></el-table-column>
<!-- <el-table-column prop="payUser" align="center" label="关联员工" ></el-table-column>-->
<el-table-column label="操作人" align="center" prop="staffId">
<template slot-scope="scope">
<span>{{ getRealName(staffList, scope.row.staffId) || '--' }}</span>
@ -176,29 +181,31 @@
<el-table-column label="订单完成时间" align="center" prop="payTime">
<template slot-scope="scope">
<span>{{ scope.row.payTime ? parseTime(scope.row.payTime) : "--" }}</span>
<span>{{ scope.row.payTime ? parseTime(scope.row.payTime) : '--' }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<div class="makeupticket" style="color: #fe8c4a" size="mini"
<div style="color: #fe8c4a" size="mini"
@click="getOrdersInfo(scope.row.id)"
type="text" plain round>详情
type="text" plain round
>详情
</div>
<!-- <el-button style="color: #fe8c4a" size="mini"-->
<!-- @click="getOrdersInfo2(scope.row.id)"-->
<!-- type="text" plain round>详情2-->
<!-- </el-button>-->
<div class="makeupticket" style="color: #fe8c4a" size="mini"
<div style="color: #fe8c4a" size="mini"
v-if="scope.row.status === 'paid'"
@click="patchwork(scope.row)"
type="text" plain round>补打小票
type="text" plain round
>补打小票
</div>
<div class="makeupticket" style="color: #fe8c4a" size="mini"
<div style="color: #fe8c4a" size="mini"
v-if="scope.row.status === 'paid'"
@click="refHandleRefund(scope.row.id)"
type="text" plain round>退款
type="text" plain round
>退款
</div>
</template>
</el-table-column>
@ -211,7 +218,7 @@
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
@pagination="pageList"
/>
</div>
@ -221,7 +228,8 @@
<el-drawer
title="订单详情"
:visible.sync="ordersDrawer"
size="50%">
size="50%"
>
<div style="padding-left: 10px">
<el-descriptions>
<el-descriptions-item label="订单号">{{ cashierOrder.realName }}</el-descriptions-item>
@ -241,20 +249,24 @@
:data="tableData"
height="250"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
prop="date"
label="日期"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="address"
label="地址">
label="地址"
>
</el-table-column>
</el-table>
@ -264,20 +276,24 @@
:data="tableData"
height="250"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
prop="date"
label="日期"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="address"
label="地址">
label="地址"
>
</el-table-column>
</el-table>
@ -287,20 +303,24 @@
:data="tableData"
height="250"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
prop="date"
label="日期"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="address"
label="地址">
label="地址"
>
</el-table-column>
</el-table>
@ -310,20 +330,24 @@
:data="tableData"
height="250"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
prop="date"
label="日期"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="address"
label="地址">
label="地址"
>
</el-table-column>
</el-table>
@ -333,20 +357,24 @@
:data="tableData"
height="250"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
prop="date"
label="日期"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="address"
label="地址">
label="地址"
>
</el-table-column>
</el-table>
@ -356,20 +384,24 @@
:data="tableData"
height="250"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
prop="date"
label="日期"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="address"
label="地址">
label="地址"
>
</el-table-column>
</el-table>
@ -379,20 +411,24 @@
:data="tableData"
height="250"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
prop="date"
label="日期"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
width="180"
>
</el-table-column>
<el-table-column
prop="address"
label="地址">
label="地址"
>
</el-table-column>
</el-table>
</div>
@ -401,7 +437,8 @@
<!-- 订单详情-->
<el-dialog
title="订单详情"
:visible.sync="dialogVisible">
:visible.sync="dialogVisible"
>
<div>
<el-descriptions>
<el-descriptions-item label="收银员姓名">{{ cashierOrder.realName }}</el-descriptions-item>
@ -451,7 +488,7 @@
<el-tag type="info" v-else>退款中</el-tag>
</el-descriptions-item>
<el-descriptions-item label="交易时间">
{{ cashierOrder.payTime ? parseTime(cashierOrder.payTime) : "--" }}
{{ cashierOrder.payTime ? parseTime(cashierOrder.payTime) : '--' }}
</el-descriptions-item>
</el-descriptions>
</div>
@ -462,7 +499,8 @@
v-loading="loading"
:data="oilInfo"
style="width: 100%">
style="width: 100%"
>
<el-table-column label="油号油枪" prop="terminal">
<template slot-scope="scope">
<span>{{ getName(oilNameList, scope.row.oils) }}/{{
@ -490,7 +528,8 @@
<el-descriptions-item label="商品详情">
<el-table
:data="goodsInfo"
style="width: 100%">
style="width: 100%"
>
<el-table-column label="商品名称" prop="name"/>
<el-table-column label="单价" align="center" prop="retailPrice">
<template slot-scope="scope">
@ -523,7 +562,8 @@
:close-on-click-modal="false"
title="订单退款"
width="25%"
:visible.sync="refDialogRefund">
:visible.sync="refDialogRefund"
>
<div style="margin: 10px 0">
退款密码<br/>
</div>
@ -542,10 +582,10 @@
:close-on-click-modal="false"
title="订单退款"
width="25%"
:visible.sync="dialogRefund">
:visible.sync="dialogRefund"
>
<div style="text-align: center;font-weight: bold">
<!-- <span style="font-size: 35px">{{ cashierOrder.payAmount }}</span>-->
<span style="font-size: 35px">{{ cashierOrder.goodsPayAmount + cashierOrder.oilPayAmount }}</span>
<span style="font-size: 35px">{{ cashierOrder.afterDiscountAmount }}</span>
</div>
<div class="tk">退款金额</div>
<div class="tk">退款单号{{ cashierOrder.orderNo }}</div>
@ -553,26 +593,14 @@
<span>退款内容</span>
<br>
<span>商品</span>
<el-checkbox v-model="isGoods" @click="calculateRefunds()">{{ cashierOrder.goodsPayAmount }}</el-checkbox>
<el-checkbox v-model="isGoodsChecked" :disabled="true">{{ cashierOrder.goodsPayAmount || 0}}</el-checkbox>
<br>
<span>油品</span>
<template>
<el-checkbox v-if="oilInfo.length > 0" v-model="isOil" @click="calculateRefunds()">
<span v-if="oilInfo[0].payAmount && oilInfo[0].payAmount!='0.00'"> {{ cashierOrder.oilPayAmount }}</span>
<span v-if="oilInfo[0].balanceAmount>0">储值卡{{ oilInfo[0].balanceAmount }} </span>
<span v-if="oilInfo[0].oilCardAmount>0">屯油卡{{ oilInfo[0].oilCardAmount }} </span>
</el-checkbox>
<el-checkbox v-if="isOil && oilInfo.length > 0 && oilInfo[0].couponId" v-model="isOilVouchers">优惠卷
</el-checkbox>
<!-- <el-checkbox v-if="oilInfo.length > 0 && oilInfo[0].balanceAmount>0" v-model="isOilCard">储值卡{{oilInfo[0].balanceAmount}}</el-checkbox>-->
<!-- <el-checkbox v-if="oilInfo.length > 0 && oilInfo[0].oilCardAmount>0" v-model="isOilFuel">屯油卡{{ oilInfo[0].oilCardAmount }}</el-checkbox>-->
</template>
<el-checkbox v-model="isOilChecked" :disabled="true">{{ cashierOrder.oilPayAmount || 0}}</el-checkbox>
<br>
<span>优惠券</span>
<el-checkbox v-model="isCouponChecked" :disabled="true">{{ cardCouponUser.couponName || '' }}</el-checkbox>
<br>
<div style="margin: 10px 0">
退款原因<br/>
<el-radio-group v-model="radio1" style="margin: 10px 0">
@ -720,26 +748,33 @@ import {
cashierOrderSeekZeroAmount,
listCashierOrder,
orderStatisticsApi
} from "@/api/cashier/cashierorder";
import {queryStaffs} from "@/api/cashier/staff";
import {oilOrderList, oilOrders} from "@/api/cashier/oilorder";
import {getOilNameList} from "@/api/cashier/oilnumgun";
import {getOrderGoods} from "@/api/cashier/goodsorder";
import {exportExcelCashierApi} from "@/api/order/exportExcel";
import {refundApi} from "@/api/cashier/refund";
import {connectFlag, getLodop} from "@/api/LodopFuncs";
import {getOilNumberGun} from "@/api/cashier/oilGuns";
import {formatDate} from "@/utils";
import ScanPayCodeDialog from "@/views/cashier/components/scanPayCodeDialog.vue";
import {printOilOrderReport, rePrintOilOrderReport} from "@/api/print";
import {ifRefPassApi} from "@/api/staff/store";
import {getDicts} from "../../../api/dict/data";
} from '@/api/cashier/cashierorder'
import { queryStaffs } from '@/api/cashier/staff'
import { oilOrderList, oilOrderInfo } from '@/api/cashier/oilorder'
import { getOilNameList } from '@/api/cashier/oilnumgun'
import { getOrderGoods } from '@/api/cashier/goodsorder'
import { exportExcelCashierApi } from '@/api/order/exportExcel'
import { cashierRefund } from '@/api/cashier/refund'
import { connectFlag, getLodop } from '@/api/LodopFuncs'
import { getOilNumberGun } from '@/api/cashier/oilGuns'
import ScanPayCodeDialog from '@/views/cashier/components/scanPayCodeDialog.vue'
import { printOilOrderReport, rePrintOilOrderReport } from '@/api/print'
import { selectOneCardName } from '@/api/coupon'
import { ifRefPassApi } from '@/api/staff/store'
import { getDicts } from '../../../api/dict/data'
export default {
name: "order_Cashier",
name: 'order_Cashier',
components: { ScanPayCodeDialog },
data() {
return {
isGoodsChecked: true, //
isOilChecked: true, //
isCouponChecked: true, //
cardCouponUser:{
cardName:''
}, //
cashierOrder:{}, // 退
tableData: [{
date: '2016-05-03',
name: '王小虎',
@ -772,9 +807,9 @@ export default {
ordersDrawer: false,
calculateRefundsV: 0,
// 退
refundRemark: "",
refPass: "",
radio1: "油号选错",
refundRemark: '',
refPass: '',
radio1: '油号选错',
//
oilNameList: [],
//
@ -782,8 +817,6 @@ export default {
//
goodsInfo: [],
oilGunList: [],
//
cashierOrder: {},
loading: false,
dialogVisible: false,
dialogRefund: false,
@ -792,8 +825,8 @@ export default {
staffList: [],
//
dateRange: [],
beginTime: "",
endTime: "",
beginTime: '',
endTime: '',
isOilVouchers: false,
isGoods: false,
isOil: false,
@ -807,8 +840,8 @@ export default {
queryParams: {
page: 1,
pageSize: 10,
beginTime: "",
endTime: "",
beginTime: '',
endTime: ''
},
orderStatistics: {
numberOfStrokes: '0',
@ -816,29 +849,29 @@ export default {
theTotalAmountPaid: '0',
oilDiscounts: '0',
theTotalAmountOfOil: '0',
theTotalAmountOfTheItem: '0',
theTotalAmountOfTheItem: '0'
},
//
payList: [],
total: 0,
seekZeroAmount: 0,
getId: ""
getId: ''
}
},
created() {
let start = new Date();
let start = new Date()
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start, new Date()];
this.dateRange = [start, new Date()]
this.beginTime = start
this.endTime = new Date()
this.isSysDate = true
this.getList();
this.getList()
// this.getOrderStatistics();
this.getStaffList();
this.getOilGunList();
this.getStaffList()
this.getOilGunList()
},
methods: {
@ -849,12 +882,11 @@ export default {
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'});
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) {
@ -867,23 +899,23 @@ export default {
},
//
getRealName(list, val) {
let name = "";
let name = ''
list.forEach(item => {
if (item.id == val) {
name = item.realName
}
})
return name;
return name
},
//
getMobile(list, val) {
let name = "";
let name = ''
list.forEach(item => {
if (item.id == val) {
name = item.mobile
}
})
return name;
return name
},
async printLocally(data) {
@ -1057,6 +1089,13 @@ export default {
// consumeAmount:this.consumeAmount,
// //
// consumeRefuelMoney:this.consumeRefuelMoney.toFixed(2),
},
//
getPayTypeStr(payType) {
const item = this.payList.find(item => item.dictValue === payType)
return item ? item.dictLabel : ''
},
//
@ -1084,7 +1123,7 @@ export default {
this.goodsInfo.forEach(order => {
let o = {
oilName: order.name,
unit: order.num + "" + order.unit,
unit: order.num + '' + order.unit,
amount: order.memberPrice.toString()
}
goodsOrderR.push(o)
@ -1159,120 +1198,60 @@ export default {
this.refDialogRefund = true;
},
// 退
// 退 退西
async handleRefund(id) {
this.dialogRefund = true;
await cashierOrder(id).then(response => {
this.cashierOrder = response.data
this.dialogRefund = true
//id
let res1 = await cashierOrder(id)
this.cashierOrder=res1.data
let couponId = null
// null
if (res1.data.goodsOrderId) {
let resGoodsOrder = await getOrderGoods({ orderId: res1.data.goodsOrderId })
couponId = resGoodsOrder.data.couponId
//
this.getOilList(response.data.orderNo)
if (response.data.status === "refund") {
this.$message({
type: 'info',
message: '该订单已经退款'
});
this.dialogRefund = false;
}
})
//退
// this.$confirm('退, ?', '', {
// confirmButtonText: '',
// cancelButtonText: '',
// type: 'warning'
// }).then(() => {
// this.dialogRefund = true;
// cashierOrder(id).then( response => {
// this.cashierOrder = response.data
// if (response.data.status === "refund") {
// this.$message({
// type: 'info',
// message: '退'
// });
// this.dialogRefund = false;
// }
// })
// }).catch(() => {
// this.$message({
// type: 'info',
// message: ''
// });
// });
},
// 退
calculateRefunds() {
let refundAmt = 0
if (this.isGoods) {
refundAmt += this.cashierOrder.goodsPayAmount
}
if (this.isOil && this.cashierOrder.oilPayAmount > 0) {
refundAmt += this.cashierOrder.oilPayAmount
}
this.calculateRefundsV = refundAmt;
//
if (res1.data.oilOrderId) {
let resOilOrder = await oilOrderInfo(res1.data.oilOrderId)
couponId = resOilOrder.data.couponId
}
//
if (couponId) {
let resCoupon = await selectOneCardName({ id: couponId })
console.log('优惠券', resCoupon)
this.cardCouponUser = resCoupon.data
}
else {
this.cardCouponUser = {
couponName: '无'
}
}
},
//退
async refundConfirmed() {
this.calculateRefunds();
if (!this.isOil && !this.isGoods) {
this.$message({
type: 'info',
message: '请选择退款项'
});
return
}
this.dialogRefund = false;
this.loading = true;
console.log("cashierOrder", this.cashierOrder)
// 退
let refundAmt = 0
if (this.isGoods) {
refundAmt += this.cashierOrder.goodsPayAmount
}
if (this.isOil && this.cashierOrder.oilPayAmount > 0) {
refundAmt += this.cashierOrder.oilPayAmount
}
// if (this.isOilCard || this.isOilFuel) {
// this.isOil = true
// }
let map ={
orderNo: this.cashierOrder.orderNo,
storeId: this.cashierOrder.storeId,
refundRemark: this.radio1 + "-" + this.refundRemark,
type: "canRefund",
isOilVouchers: this.isOilVouchers,
isGoods: this.isGoods,
isOil: this.isOil,
isOilCard: this.isOilCard, //
isOilFuel: this.isOilFuel, //
refundAmt: refundAmt
cardCouponUserId: this.cardCouponUser.id,
}
await refundApi(map).then(res => {
let res = await cashierRefund(map)
if (res.code == 200) {
this.$message({
type: 'info',
message: '退款成功'
});
// this.printLocally()
this.reoilOrderReport()
this.$message.success("退款成功")
}else {
this.$message.error(res.msg)
}
})
this.loading = false;
this.getList();
// this.getOrderStatistics();
this.getStaffList();
// this.oilOrderReport()
this.dialogRefund = false
this.loading = true
this.loading = false
this.getList()
this.getStaffList()
},
//
@ -1290,35 +1269,34 @@ export default {
},
//
getName1(oilNameList, id) {
let name = ""
let _this = this;
if (oilNameList != null && oilNameList != "") {
let name = ''
let _this = this
if (oilNameList != null && oilNameList != '') {
oilNameList.forEach(item => {
if (item.id == id) {
name = item.gunName;
name = item.gunName
}
})
}
return name;
return name
},
//
getName(oilNameList, id) {
let name = ""
let _this = this;
if (oilNameList != null && oilNameList != "") {
let name = ''
let _this = this
if (oilNameList != null && oilNameList != '') {
oilNameList.forEach(item => {
if (item.id == id) {
name = item.oilName;
_this.oilType = item.oilType;
name = item.oilName
_this.oilType = item.oilType
}
})
}
return name;
return name
},
getOrdersInfo2(id) {
this.ordersDrawer=true;
this.ordersDrawer = true
},
//
@ -1327,7 +1305,7 @@ export default {
this.cashierOrder = response.data
this.getOilList(this.cashierOrder.orderNo)
this.getGoodsLists(this.cashierOrder.goodsOrderId)
this.dialogVisible = true;
this.dialogVisible = true
})
},
async getOilList(orderNo) {
@ -1337,25 +1315,22 @@ export default {
},
async getGoodsLists(id) {
await getOrderGoods({ orderId: id }).then(response => {
this.goodsInfo = response.data;
this.goodsInfo = response.data
})
},
parseTime1(dateTime) {
let date = new Date(dateTime);
let y = date.getFullYear() + "-";
let mon = ((date.getMonth() + 1 < 10) ? ('0' + date.getMonth()) : date.getMonth()) + "-";
let d = ((date.getDate() < 10) ? ('0' + date.getDate()) : date.getDate()) + " ";
let h = ((date.getHours() < 10) ? ('0' + date.getHours()) : date.getHours()) + ":";
let m = ((date.getMinutes() < 10) ? ('0' + date.getMinutes()) : date.getMinutes()) + ":";
let s = ((date.getSeconds() < 10) ? ('0' + date.getSeconds()) : date.getSeconds());
let date = new Date(dateTime)
let y = date.getFullYear() + '-'
let mon = ((date.getMonth() + 1 < 10) ? ('0' + date.getMonth()) : date.getMonth()) + '-'
let d = ((date.getDate() < 10) ? ('0' + date.getDate()) : date.getDate()) + ' '
let h = ((date.getHours() < 10) ? ('0' + date.getHours()) : date.getHours()) + ':'
let m = ((date.getMinutes() < 10) ? ('0' + date.getMinutes()) : date.getMinutes()) + ':'
let s = ((date.getSeconds() < 10) ? ('0' + date.getSeconds()) : date.getSeconds())
// return new Date(y , mon , d , h , m , s);
return y + mon + d + h + m + s;
return y + mon + d + h + m + s
},
//
getList(val) {
if (val != undefined) {
this.queryParams.page = val
}
//
pageList(val) {
let dateRange1 = this.dateRange
let dateRange = []
@ -1371,17 +1346,42 @@ export default {
// }
listCashierOrder(this.addDateRange(this.queryParams, dateRange)).then(response => {
this.orderList = response.data.records;
this.total = response.data.total;
this.orderList = response.data.records
this.total = response.data.total
this.queryParams.page = response.data.current
this.isSysDate = false
})
this.getSeekZero(val)
this.getSeekZero()
this.getOrderStatistics()
},
getSeekZero(val) {
if (val != undefined) {
this.queryParams.page = val
//
getList() {
//
this.queryParams.page = 1
let dateRange1 = this.dateRange
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
// if (this.isSysDate){
// dateRange.push(dateRange1[0].toLocaleDateString())
// dateRange.push(dateRange1[1].toLocaleDateString())
// }else {
// dateRange = this.dateRange
// }
listCashierOrder(this.addDateRange(this.queryParams, dateRange)).then(response => {
this.orderList = response.data.records
this.total = response.data.total
this.isSysDate = false
})
this.getSeekZero()
this.getOrderStatistics()
},
getSeekZero() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())