This commit is contained in:
zhaohengkun 2024-10-14 17:48:42 +08:00
commit 07ae17f154
10 changed files with 129 additions and 49 deletions

View File

@ -180,3 +180,12 @@ export function getDataShow(query) {
});
}
// 油站首页数据展示
export function getDataCount(query) {
return request({
url: 'business/allOrderInfo/getDataCount',
method: 'get',
params:query
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

View File

@ -459,7 +459,7 @@
<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">
<el-option :label="item.oilName" :value="item.oilName" v-for="(item,index) in oilnumList" :key="index"></el-option>
<el-option :label="item.oilName" :value="item.oilId" v-for="(item,index) in oilnumList" :key="index"></el-option>
</el-select>
</div>

View File

@ -1,7 +1,7 @@
<!-- 收银台订单-->
<template>
<div style="">
<div class="card-change-1-search">
<div class="new-top" >
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="">
<el-input v-model="queryParams.orderNo" placeholder="流水编号"></el-input>
@ -67,7 +67,7 @@
<el-option label="已退款" value="refund"/>
</el-select>
</el-form-item>
<el-form-item class="f-button" style="text-align: right;">
<el-form-item style="float: right; margin-right: 0px ">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<!-- <el-button type="primary" icon="el-icon-plus" @click = "exportExcelCashier()">导出订单</el-button>-->
@ -260,7 +260,6 @@
<el-dialog
title="订单信息"
:visible.sync="dialogVisible">
<el-descriptions :title="'订单号:'+ordersInfo.orderNo">
<el-descriptions-item label="门店">{{ordersInfo.storeName}}</el-descriptions-item>
<el-descriptions-item label="收银员">{{ordersInfo.createBy}}</el-descriptions-item>
@ -525,7 +524,7 @@ import {
}
}
.el-form--inline .el-form-item {
margin-right: 44px;
margin-bottom: 0px;
}
.icon-img{
@ -586,5 +585,12 @@ import {
color: grey;
margin: 10px 0;
}
.new-top{
width: 98%;
background: #FFFFFF;
margin: 15px auto;
height: 60px;
padding: 5px;
}
</style>

View File

@ -158,7 +158,7 @@
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="30%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="车队名称" prop="fleetId">
<el-select v-model="form.fleetId" placeholder="请选择车队名称" style="width: 100%;">
@ -490,6 +490,7 @@ export default {
endTime: "",
beginTime1: "",
endTime1: "",
//
orderList: [],
deptList: [],
@ -840,7 +841,7 @@ export default {
.table-box {
width: 100%;
height: 73vh;
height: 73.5vh;
overflow: auto;
}

View File

@ -160,7 +160,7 @@
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@blur="getStoreAmount">
@blur="getDataShow">
</el-date-picker>
</div>
</div>
@ -185,7 +185,19 @@
</div>
<div style="overflow: auto; scrollbar-width: none; height: 74% ">
<div class="hang-box" v-for="(item,index) in employeList" :key="index">
<div style="width: 10%">{{index +1}}</div>
<div style="width: 10%" v-if="index == 0">
<img src="../assets/images/one_icon.png" style="width: 22px;height: 22px">
</div>
<div style="width: 10%" v-if="index == 1">
<img src="../assets/images/two_icon.png" style="width: 22px;height: 22px">
</div>
<div style="width: 10%" v-if="index == 2">
<img src="../assets/images/three_icon.png" style="width: 22px;height: 22px">
</div>
<div style="width: 10%" v-if="index>2">{{index +1}}</div>
<div>{{ item.realName }}</div>
<div style="width: 25%">{{item.cardSum}}</div>
<div style="width: 25%">{{item.oilSum}}</div>
@ -217,7 +229,7 @@
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@blur="getStoreAmount">
@blur="getDataCount">
</el-date-picker>
</div>
</div>
@ -238,7 +250,7 @@ import {parseTime} from "@/utils/fuint";
import {getBannerListApi} from "@/api/sys/banner";
import {getNotificationlogList} from "@/api/sys/sysNotificationlog";
import {employeeSalesApi} from "@/api/indexStatistics";
import {getDataBoard, getTotalAmount} from "@/api/allOrder";
import {getDataAnalysis, getDataBoard, getDataCount, getDataShow, getTotalAmount} from "@/api/allOrder";
export default {
props:["accountId"],
@ -285,6 +297,9 @@ export default {
hardwareList:[],
noticeList:[],
employeList:[],
dataAnalysisOilNumberList:[],
dataAnalysisAllList:[],
dataAnalysisIfOilList:[],
}
},
created() {
@ -305,6 +320,9 @@ export default {
this.getHardwareList()
this.getNoticeList()
this.getEmployeList()
this.getDataAnalysis()
this.getDataShow()
this.getDataCount()
},
mounted() {
// this.initChart()
@ -329,6 +347,47 @@ export default {
})
},
//
getDataAnalysis() {
getDataAnalysis().then(res => {
console.log('数据分析的数据',res)
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()
}
})
},
//
getDataShow(){
const data = {
"startTime": this.value1[0].split(' ')[0],
"endTime": this.value1[1].split(' ')[0]
}
getDataShow(data).then(res => {
console.log('首页数据展示',res)
})
},
//
getDataCount(){
const data = {
"startTime": this.value1[0].split(' ')[0],
"endTime": this.value1[1].split(' ')[0]
}
getDataCount(data).then(res => {
console.log('首页数据统计',res)
})
},
getNoticeList() {
getNotificationlogList({pageNo: 1, pageSize: 4}).then(res => {
this.noticeList = res.data.records
@ -456,7 +515,7 @@ export default {
//
//
// ],
data: dataList,
data: this.dataAnalysisOilNumberList,
emphasis: {
itemStyle: {
shadowBlur: 10,
@ -482,19 +541,20 @@ export default {
name: 'Access From',
type: 'pie',
radius: '80%',
data: [
// { value: 28, name: '28%' },
// { value: 72, name: '72%' },
{
value: this.countPercentage(Number(this.storeAmount.oilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)),
name: "油品交易占比"
},
{
value: this.countPercentage(Number(this.storeAmount.noOilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)),
name: "非油品交易占比"
},
],
// data: [
// // { value: 28, name: '28%' },
// // { value: 72, name: '72%' },
// {
// value: this.countPercentage(Number(this.storeAmount.oilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)),
// name: ""
// },
// {
// value: this.countPercentage(Number(this.storeAmount.noOilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)),
// name: ""
// },
//
// ],
data:this.dataAnalysisIfOilList,
emphasis: {
itemStyle: {
shadowBlur: 10,
@ -521,29 +581,30 @@ export default {
name: 'Access From',
type: 'pie',
radius: [50, '80%'],
data: [
// { value: 28, name: '' },
// { value: 72, name: '' },
// { value: 28, name: '' },
// { value: 72, name: '便' },
{
value: this.countPercentage(Number(this.storeAmount.userNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
name: '会员充值占比'
},
{
value: this.countPercentage(Number(this.storeAmount.integralNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
name: '积分商城交易占比'
},
{
value: this.countPercentage(Number(this.storeAmount.oilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
name: '油品交易占比'
},
{
value: this.countPercentage(Number(this.storeAmount.goodNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
name: '便利店交易占比'
},
],
// data: [
// // { value: 28, name: '' },
// // { value: 72, name: '' },
// // { value: 28, name: '' },
// // { value: 72, name: '便' },
// {
// value: this.countPercentage(Number(this.storeAmount.userNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
// name: ''
// },
// {
// value: this.countPercentage(Number(this.storeAmount.integralNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
// name: ''
// },
// {
// value: this.countPercentage(Number(this.storeAmount.oilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
// name: ''
// },
// {
// value: this.countPercentage(Number(this.storeAmount.goodNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.userNum) + Number(this.storeAmount.integralNum) + Number(this.storeAmount.goodNum)),
// name: '便'
// },
//
// ],
data:this.dataAnalysisAllList,
emphasis: {
itemStyle: {
shadowBlur: 10,
@ -866,6 +927,7 @@ export default {
}
};
chart.setOption(option)
console.log('chart',chart)
chart1.setOption(option1)
chart2.setOption(option2)
chart3.setOption(option3)

View File

@ -23,6 +23,7 @@ public class OilNumber extends BaseEntity {
@TableId(value = "number_id", type = IdType.AUTO)
public Integer numberId; //id主键)
private String oilType; // 油品类型
private Integer oilId; // 油品id
private String oilName; //油品名称
private Double oilPrice; //油品单价
private Double gbPrice; //国标价格

View File

@ -34,10 +34,11 @@
</select>
<select id="selectOilNumberList2" resultMap="OilNumberResult">
<select id="selectOilNumberList2" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber">
select
omm.number_id ,
onn.oil_type,
onn.id oilId,
onn.oil_name,
onn.id,
omm.oil_price,