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 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) { export function getDataShow(query) {
return request({ return request({

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-tabs v-model="activeName" @tab-click="handleClick">--> <!-- <el-tabs v-model="activeName" @tab-click="handleClick">-->
<!-- <el-tab-pane label="商品档案" name="goods"></el-tab-pane>--> <!-- <el-tab-pane label="商品档案" name="goods"></el-tab-pane>-->
@ -164,7 +164,7 @@
</div> </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"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<div style="display: flex;justify-content: space-between"> <div style="display: flex;justify-content: space-between">
<div style="width: 50%"> <div style="width: 50%">

View File

@ -2,7 +2,7 @@
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="name"> <el-form-item label="" prop="name">
<el-input <el-input
@ -44,7 +44,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div style="height: 69vh;overflow: auto"> <div style="height: 71vh;overflow: auto">
<el-table ref="tables" v-loading="loading" :data="list" border <el-table ref="tables" v-loading="loading" :data="list" border
@selection-change="handleSelectionChange" :default-sort="defaultSort" @selection-change="handleSelectionChange" :default-sort="defaultSort"
@sort-change="handleSortChange"> @sort-change="handleSortChange">

View File

@ -196,7 +196,7 @@
</div> </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-container>
<el-header style=""> <el-header style="">
<el-form ref="tankForm" :model="commodityForm" label-width="20px" :inline="true"> <el-form ref="tankForm" :model="commodityForm" label-width="20px" :inline="true">
@ -837,4 +837,13 @@ export default {
align-items: start; align-items: start;
padding-left: 20px; padding-left: 20px;
} }
.card-change-1-search{
margin: 0;
}
.card-change-1-1{
margin: 0;
height: 73.5vh;
}
</style> </style>

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
<el-form-item label="" prop="orderNumber"> <el-form-item label="" prop="orderNumber">
<el-input v-model="queryParams.orderNumber" placeholder="请输入盘点单号"/> <el-input v-model="queryParams.orderNumber" placeholder="请输入盘点单号"/>

View File

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

View File

@ -153,7 +153,7 @@
</div> </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-container>
<el-header style=""> <el-header style="">
<el-form ref="tankForm" :model="commodityForm" label-width="20px" :inline="true"> <el-form ref="tankForm" :model="commodityForm" label-width="20px" :inline="true">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="orderNumber"> <el-form-item label="" prop="orderNumber">
<el-input v-model="queryParams.orderNumber" placeholder="请输入进货单号"/> <el-input v-model="queryParams.orderNumber" placeholder="请输入进货单号"/>

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="" prop="orderNumber"> <el-form-item label="" prop="orderNumber">
<el-input v-model="queryParams.orderNumber" placeholder="请输入退货单号"/> <el-input v-model="queryParams.orderNumber" placeholder="请输入退货单号"/>

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="name"> <el-form-item label="" prop="name">
<el-input <el-input
@ -93,7 +93,7 @@
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </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 <el-table ref="tables" v-loading="loading" :data="list" border
@selection-change="handleSelectionChange" :default-sort="defaultSort" @selection-change="handleSelectionChange" :default-sort="defaultSort"
@sort-change="handleSortChange"> @sort-change="handleSortChange">

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<!-- 收银台订单--> <!-- 收银台订单-->
<template> <template>
<div class="container"> <div class="container">
<div class="new-top" > <div class="new-top">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label=""> <el-form-item label="">
<el-input style="width: 215px;" v-model="queryParams.orderNo" placeholder="请输入订单号"></el-input> <el-input style="width: 215px;" v-model="queryParams.orderNo" placeholder="请输入订单号"></el-input>
@ -77,18 +77,21 @@
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
</el-date-picker> </el-date-picker>
<el-form-item style="float: right; margin-right: 0px "> <el-form-item style="float: right; margin-right: 0px ">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" @click="exportExcelCashier">导出</el-button> <el-button type="primary" @click="exportExcelCashier">导出</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="wit_box" > <div class="wit_box">
<div class="box-gang"> <div class="box-gang">
<div class="box"> <div class="box">
<el-tooltip class="item" effect="dark" content="退款金额(元)/笔数" placement="top-start"> <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> </el-tooltip>
<div class="size-hui"> <div class="size-hui">
<div class="dian" style="background: #0DC291"></div> <div class="dian" style="background: #0DC291"></div>
@ -97,7 +100,10 @@
</div> </div>
<div class="box"> <div class="box">
<el-tooltip class="item" effect="dark" content="油品订单退款金额(元)/笔数" placement="top-start"> <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> </el-tooltip>
<div class="size-hui"> <div class="size-hui">
@ -107,7 +113,10 @@
</div> </div>
<div class="box"> <div class="box">
<el-tooltip class="item" effect="dark" content="便利店订单退款金额(元)/笔数" placement="top-start"> <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> </el-tooltip>
<div class="size-hui"> <div class="size-hui">
@ -117,7 +126,9 @@
</div> </div>
<div class="box"> <div class="box">
<el-tooltip class="item" effect="dark" content="积分商城订单退款金额(元)/笔数" placement="top-start"> <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> </el-tooltip>
<div class="size-hui"> <div class="size-hui">
@ -132,48 +143,52 @@
border border
style="width: 100%"> style="width: 100%">
<el-table-column type="index" width="50" align="center" label="序号"/> <el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column> <el-table-column prop="orderNo" align="center" label="订单号" width="220"></el-table-column>
<el-table-column prop="payChannel" align="center" label="订单类型"> <el-table-column prop="payChannel" align="center" label="订单类型">
</el-table-column> </el-table-column>
<el-table-column prop="type" align="center" label="订单分类"> <el-table-column prop="type" align="center" label="订单分类">
</el-table-column> </el-table-column>
<el-table-column prop="goodsMoney" align="center" label="订单金额(元)"> <el-table-column prop="goodsMoney" align="center" label="订单金额(元)">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.type=='3'">{{scope.row.goodsMoney + scope.row.payMoney}}</span> <span v-if="scope.row.type=='3'">{{ scope.row.goodsMoney + scope.row.payMoney }}</span>
<span v-else>{{scope.row.goodsMoney}}</span> <span v-else>{{ scope.row.goodsMoney }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="payMoney" align="center" label="实收金额(元)"> </el-table-column> <el-table-column prop="payMoney" align="center" label="实收金额(元)"></el-table-column>
<el-table-column prop="payMoney" align="center" label="会员付款金额(元)"> </el-table-column> <el-table-column prop="payMoney" align="center" label="会员付款金额(元)"></el-table-column>
<el-table-column prop="refMoney" align="center" label="退款金额(元)"> <el-table-column prop="refMoney" align="center" label="退款金额(元)">
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<span v-if="scope.row.status == 'refund'">{{scope.row.payMoney}}</span> <!-- <span v-if="scope.row.status == 'refund'">{{ scope.row.payMoney }}</span>-->
<span type="danger" v-else>--</span> <!-- <span type="danger" v-else>&#45;&#45;</span>-->
</template> <!-- </template>-->
</el-table-column> </el-table-column>
<el-table-column prop="userName" align="center" label="付款用户" > </el-table-column> <el-table-column prop="userName" align="center" label="付款用户"></el-table-column>
<el-table-column prop="payType" align="center" label="支付方式"> <el-table-column prop="payType" align="center" label="支付方式">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.payType=='CASH'">现金</span> <span v-if="scope.row.payType == 'CASH'">现金</span>
<span v-else-if="scope.row.payType=='WECHAT'">微信</span> <span v-else-if="scope.row.payType == 'WECHAT'">微信</span>
<span v-else-if="scope.row.payType=='ALIPAY'">支付宝</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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" align="center" label="支付状态"> <el-table-column prop="status" align="center" label="支付状态">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.status == 'unpaid'" style="color: #F44522">未支付</div> <div v-if="scope.row.status == 'unpaid'" style="color: #F44522">未支付</div>
<div v-else-if="scope.row.status == '退款中'" style="color: #FF7E00">退款中</div> <div v-else-if="scope.row.status == '退款中'" style="color: #FF7E00">退款中</div>
<div v-else-if="scope.row.status == '已退款'" style="color: #FF7E00">已退款</div> <div v-else-if="scope.row.status == '已退款'" style="color: #FF7E00">已退款</div>
<div v-else style="color: #F44522">支付失败</div> <div v-else style="color: #F44522">支付失败</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="paymentChannel" align="center" label="支付渠道"> </el-table-column> <el-table-column prop="paymentChannel" align="center" label="支付渠道"></el-table-column>
<el-table-column prop="mchntCd" align="center" label="商户号"> </el-table-column> <el-table-column prop="mchntCd" align="center" label="商户号"></el-table-column>
<el-table-column prop="createBy" align="center" label="关联员工"> </el-table-column> <el-table-column prop="createBy" align="center" label="关联员工"></el-table-column>
<el-table-column prop="updateTime" align="center" label="退款时间" width="220"> </el-table-column> <el-table-column prop="updateTime" align="center" label="退款时间" width="220"></el-table-column>
</el-table> </el-table>
</div> </div>
<pagination <pagination
@ -191,17 +206,17 @@
title="订单信息" title="订单信息"
:visible.sync="dialogVisible"> :visible.sync="dialogVisible">
<el-descriptions :title="'订单号:'+ordersInfo.orderNo"> <el-descriptions :title="'订单号:'+ordersInfo.orderNo">
<el-descriptions-item label="门店">{{ordersInfo.storeName}}</el-descriptions-item> <el-descriptions-item label="门店">{{ ordersInfo.storeName }}</el-descriptions-item>
<el-descriptions-item label="收银员">{{ordersInfo.createBy}}</el-descriptions-item> <el-descriptions-item label="收银员">{{ ordersInfo.createBy }}</el-descriptions-item>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item> <el-descriptions-item label="支付渠道">{{ ordersInfo.payChannel }}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item> <el-descriptions-item label="商户号">{{ ordersInfo.mchntCd }}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item> <el-descriptions-item label="费率">{{ ordersInfo.amount }}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item> <el-descriptions-item label="订单来源">{{ ordersInfo.type }}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item> <el-descriptions-item label="所属模块">{{ ordersInfo.amount }}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item> <el-descriptions-item label="支付方式">{{ ordersInfo.payType }}</el-descriptions-item>
<el-descriptions-item label="付款用户">{{ordersInfo.userName}}</el-descriptions-item> <el-descriptions-item label="付款用户">{{ ordersInfo.userName }}</el-descriptions-item>
<el-descriptions-item label="支付状态">{{ordersInfo.status}}</el-descriptions-item> <el-descriptions-item label="支付状态">{{ ordersInfo.status }}</el-descriptions-item>
<el-descriptions-item label="备注">{{ordersInfo.content}}</el-descriptions-item> <el-descriptions-item label="备注">{{ ordersInfo.content }}</el-descriptions-item>
<!-- <el-descriptions-item label="备注">--> <!-- <el-descriptions-item label="备注">-->
<!-- <el-tag size="small">学校</el-tag>--> <!-- <el-tag size="small">学校</el-tag>-->
<!-- </el-descriptions-item>--> <!-- </el-descriptions-item>-->
@ -212,27 +227,27 @@
<template slot="label"> <template slot="label">
订单金额 订单金额
</template> </template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}} {{ ordersInfo.goodsMoney ? ordersInfo.goodsMoney : "--" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
优惠后应付金额 优惠后应付金额
</template> </template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}} {{ ordersInfo.payMoney ? ordersInfo.payMoney : "--" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
退款金额 退款金额
</template> </template>
{{ordersInfo.refMoney?ordersInfo.refMoney:"--"}} {{ ordersInfo.refMoney ? ordersInfo.refMoney : "--" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
实收金额 实收金额
</template> </template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}} {{ ordersInfo.payMoney ? ordersInfo.payMoney : "--" }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
@ -245,73 +260,71 @@
<script> <script>
import { import {
exportExcelTradingApi, getmyDataApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi, getTissueByDataApi,
getTradingPageApi,
getDicts, getDicts,
getStaffByStorId, getStaffByStorId,
getTradingOnsPageApi, getTradingOnsPageApi,
exportExcelBackOrderMsgsApi exportExcelBackOrderMsgsApi
} from "@/api/allOrder"; } from "@/api/allOrder";
import {getTradingOnPageApi} from "../../../../api/allOrder";
export default { export default {
name: "reconciliation-trading", name: "reconciliation-trading",
data(){ data() {
return{ return {
radio1:"油号选错", radio1: "油号选错",
loading:false, loading: false,
dialogVisible:false, dialogVisible: false,
// //
staffList:[], staffList: [],
ordersInfo:{}, ordersInfo: {},
// //
dateRange: [], dateRange: [],
beginTime:"", beginTime: "",
endTime:"", endTime: "",
// //
isSysDate:false, isSysDate: false,
// //
orderList:[], orderList: [],
deptList:[], deptList: [],
// //
queryParams: { queryParams: {
page: 1, page: 1,
pageSize: 10, pageSize: 10,
beginTime:"", beginTime: "",
endTime:"", endTime: "",
orderNo:"", orderNo: "",
status:"", status: "",
payType:"", payType: "",
payChannel:"", payChannel: "",
deptType:"3", deptType: "3",
storeId:"", storeId: "",
deptId:"", deptId: "",
userName:"", userName: "",
staffId:"", staffId: "",
dataRange:[], dataRange: [],
}, },
orderStatistics:{ orderStatistics: {
CASH:"0", CASH: "0",
WECHAT:"0", WECHAT: "0",
ALIPAY:"0", ALIPAY: "0",
balance:"0", balance: "0",
CASHCount:"0", CASHCount: "0",
WECHATCount:"0", WECHATCount: "0",
ALIPAYCount:"0", ALIPAYCount: "0",
balanceCount:"0", balanceCount: "0",
refBalance:"0", refBalance: "0",
refBalanceCount:"0", refBalanceCount: "0",
oilOrder:"0", oilOrder: "0",
oilOrderCount:"0", oilOrderCount: "0",
convenienceStore:"0", convenienceStore: "0",
convenienceStoreCount:"0", convenienceStoreCount: "0",
integral:"0", integral: "0",
integralCount:"0", integralCount: "0",
}, },
total:0, total: 0,
} }
}, },
async created() { async created() {
@ -320,7 +333,7 @@ export default {
start.setMinutes(0) start.setMinutes(0)
start.setSeconds(0) start.setSeconds(0)
start.setMilliseconds(0) start.setMilliseconds(0)
this.dateRange = [start,new Date()]; this.dateRange = [start, new Date()];
this.beginTime = start this.beginTime = start
this.endTime = new Date() this.endTime = new Date()
this.isSysDate = true this.isSysDate = true
@ -329,12 +342,12 @@ export default {
// this.getList(); // this.getList();
}, },
methods:{ methods: {
async getDeptList() { async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => { // getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records; // this.deptList = response.data.records;
// }) // })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => { await getmyDataApi(this.addDateRange(this.queryParams)).then(response => {
this.queryParams.deptId = response.data.deptId; this.queryParams.deptId = response.data.deptId;
this.getList() this.getList()
this.getDicts() this.getDicts()
@ -343,22 +356,22 @@ export default {
}) })
}, },
exportExcelCashier() { exportExcelCashier() {
exportExcelBackOrderMsgsApi(this.queryParams).then(res=>{ exportExcelBackOrderMsgsApi(this.queryParams).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') this.$download.saveAs(blob, '交易明细统计.xLsx')
}) })
}, },
// //
async getOrderStatistics() { async getOrderStatistics() {
getTissueByDataApi(this.queryParams).then(res=>{ getTissueByDataApi(this.queryParams).then(res => {
this.orderStatistics = res.data this.orderStatistics = res.data
}) })
}, },
// //
async getList(val){ async getList(val) {
getTradingOnsPageApi(this.queryParams).then( response => { getTradingOnsPageApi(this.queryParams).then(response => {
this.orderList = response.data.records; this.orderList = response.data.records;
this.total = response.data.total; this.total = response.data.total;
this.isSysDate = false this.isSysDate = false
@ -396,7 +409,7 @@ export default {
this.queryParams = { this.queryParams = {
page: 1, page: 1,
pageSize: 10, pageSize: 10,
deptType:"3", deptType: "3",
} }
this.beginTime = "" this.beginTime = ""
this.endTime = "" this.endTime = ""
@ -409,43 +422,49 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.container{ .container {
background: #f4f5f9; background: #f4f5f9;
box-sizing: border-box; box-sizing: border-box;
padding-bottom: 8px; padding-bottom: 8px;
//height: 87.5vh; //height: 87.5vh;
} }
.app-top{
.app-top {
width: 100%; width: 100%;
height: 60px; height: 60px;
box-sizing: border-box; box-sizing: border-box;
padding: 10px; padding: 10px;
} }
.clearfix{
.clearfix {
width: 100%; width: 100%;
} }
.box-card{
.box-card {
width: 100%; width: 100%;
margin-bottom: 15px; margin-bottom: 15px;
} }
.box-gang{
.box-gang {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.box{
.box {
padding: 5px; padding: 5px;
padding-left: 20px; padding-left: 20px;
width: 280px; width: 280px;
height: 60px; height: 60px;
background:#fff; background: #fff;
border-radius: 10px; border-radius: 10px;
border: 1px solid #FF9655; border: 1px solid #FF9655;
margin-right: 15px; margin-right: 15px;
} }
.size-hui{
.size-hui {
display: flex; display: flex;
align-items: center; align-items: center;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
@ -461,7 +480,8 @@ export default {
width: 100%; width: 100%;
} }
} }
.dian{
.dian {
width: 6px; width: 6px;
height: 6px; height: 6px;
border-radius: 50%; border-radius: 50%;
@ -472,13 +492,15 @@ export default {
margin-bottom: 15px; margin-bottom: 15px;
margin-right: 20px; margin-right: 20px;
} }
.icon-img{
.icon-img {
//margin-left: 110px; //margin-left: 110px;
width: 100%; width: 100%;
height: 20px; height: 20px;
margin-right: 5px; margin-right: 5px;
img{
img {
float: right; float: right;
//width: 100%; //width: 100%;
width: 20px; width: 20px;
@ -486,12 +508,14 @@ export default {
height: 100%; height: 100%;
} }
} }
.f-button{
.f-button {
width: 100%; width: 100%;
float: right ; float: right;
text-align: right; text-align: right;
} }
.size-bole{
.size-bole {
height: 31px; height: 31px;
font-size: 24px; font-size: 24px;
color: #0DC291; color: #0DC291;
@ -504,7 +528,8 @@ export default {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.wgang{
.wgang {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
@ -512,27 +537,32 @@ export default {
margin-bottom: 20px; margin-bottom: 20px;
} }
.table-box{
.table-box {
width: 100%; width: 100%;
height: 52vh; height: 52vh;
overflow: auto; overflow: auto;
} }
.pagination-box{
.pagination-box {
width: 100%; width: 100%;
margin: 10px auto; margin: 10px auto;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.top-app-sou{
.top-app-sou {
width: 20%; width: 20%;
} }
.tk{
.tk {
text-align: center; text-align: center;
color: grey; color: grey;
margin: 10px 0; margin: 10px 0;
} }
.new-top{
.new-top {
width: 99%; width: 99%;
background: #FFFFFF; background: #FFFFFF;
margin: 15px auto; margin: 15px auto;
@ -542,7 +572,8 @@ export default {
border-radius: 4px; border-radius: 4px;
margin-bottom: 5px; margin-bottom: 5px;
} }
.wit_box{
.wit_box {
width: 99%; width: 99%;
background: #FFFFFF; background: #FFFFFF;
margin: 5px auto; margin: 5px auto;

View File

@ -268,10 +268,14 @@
<el-table-column prop="userName" align="center" label="付款用户"></el-table-column> <el-table-column prop="userName" align="center" label="付款用户"></el-table-column>
<el-table-column prop="payType" align="center" label="支付方式"> <el-table-column prop="payType" align="center" label="支付方式">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.payType=='CASH'">现金</span> <span v-if="scope.row.payType == 'CASH'">现金</span>
<span v-else-if="scope.row.payType=='WECHAT'">微信</span> <span v-else-if="scope.row.payType == 'WECHAT'">微信</span>
<span v-else-if="scope.row.payType=='ALIPAY'">支付宝</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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" align="center" label="订单状态"> <el-table-column prop="status" align="center" label="订单状态">

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="gunName"> <el-form-item label="" prop="gunName">
<el-input <el-input

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <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 :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="tankName"> <el-form-item label="" prop="tankName">
<el-input <el-input
@ -185,7 +185,7 @@
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"></el-button> <el-button type="primary" @click="submitForm"></el-button>
</div> </div>
</el-dialog> </el-dialog>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -80,7 +80,7 @@
</el-form> </el-form>
</div> </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 :data="tableData" style="width: 100%" border>
<el-table-column type="index" label="序号"></el-table-column> <el-table-column type="index" label="序号"></el-table-column>
<el-table-column prop="createAccount" label="登录账号"></el-table-column> <el-table-column prop="createAccount" label="登录账号"></el-table-column>

View File

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

View File

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

View File

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

View File

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

View File

@ -38,7 +38,7 @@
</div> </div>
<!-- <div class="hang_" v-for="(item,index) in 4" :key="index" >到期提醒百业兴智慧油站系统将于2024年07月10日到期...</div>--> <!-- <div class="hang_" v-for="(item,index) in 4" :key="index" >到期提醒百业兴智慧油站系统将于2024年07月10日到期...</div>-->
<div class="hang_" v-for="(item,index) in noticeList" :key="index"> <div class="hang_" v-for="(item,index) in noticeList" :key="index">
{{item.notificationType}}{{ item.templateContent }} {{ item.notificationType }}{{ item.templateContent }}
</div> </div>
<div class="hang_" v-if="this.noticeList.length==0">暂无通知</div> <div class="hang_" v-if="this.noticeList.length==0">暂无通知</div>
</div> </div>
@ -48,10 +48,12 @@
<div class="d-s"> <div class="d-s">
<div class="h-tt" style="margin-right: 15px">数据看板</div> <div class="h-tt" style="margin-right: 15px">数据看板</div>
<el-dropdown placement="bottom-start " @command="sjkbStoreAmount"> <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> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown" > <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-menu>
</el-dropdown> </el-dropdown>
<div class="h-anniu" :class="{'q-anniu' : dataTimeShow == true}" @click="dataTimeShow = true"> 自定义 <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 class="h-tt" style="position: absolute;top: 0px">数据分析</div>
<div id="ccc" style="width: 400px;height: 200px; "></div> <div id="ccc" style="width: 400px;height: 200px; "></div>
</div> </div>
<!-- <div class="h-r-ba"></div>-->
<div> <div>
<!-- <div class="h-tt" >活跃油站</div>-->
<div class="d-s" style="justify-content: space-between"> <div class="d-s" style="justify-content: space-between">
<div id="cccc" style="width: 400px;height: 200px;"></div> <div id="cccc" style="width: 400px;height: 200px;"></div>
<div id="ccct" 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="d-s" style="margin-bottom: 10px">
<div class="h-tt" style="margin-right: 15px">油品交易分析</div> <div class="h-tt" style="margin-right: 15px">油品交易分析</div>
<el-dropdown placement="bottom-start" @command="editShow"> <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> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown"> <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 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-menu>
</el-dropdown> </el-dropdown>
<div class="h-anniu" :class="{'q-anniu' : showTimeShow == true}" @click="showTimeShow = true"> 自定义 <div class="h-anniu" :class="{'q-anniu' : showTimeShow == true}" @click="showTimeShow = true"> 自定义
@ -164,17 +166,18 @@
@blur="getDataShow"> @blur="getDataShow">
</el-date-picker> </el-date-picker>
</div> </div>
</div> </div>
<div id="cccf" <div id="cccf"
style="width: 100%; height: 315px;background: linear-gradient( 360deg, #F8F0E7 0%, #FFFFFF 100%); "></div> style="width: 100%; height: 315px;background: linear-gradient( 360deg, #F8F0E7 0%, #FFFFFF 100%); "></div>
</div> </div>
<div class="right-box-t"> <div class="right-box-t">
<div style="font-size: 16px;font-weight: bold"><span style="margin-right: 15px">员工排行</span> <div style="font-size: 16px;font-weight: bold"><span style="margin-right: 15px">员工排行</span>
<el-dropdown placement="bottom-start" @command="editColor"> <el-dropdown placement="bottom-start" @command="editColor">
<div class="h-anniu" :class="{'q-anniu' : timeShow == false}" @click="timeShow = false ">{{ygphTitle}} <i <div class="h-anniu" :class="{'q-anniu' : timeShow == false}" @click="timeShow = false ">{{ ygphTitle }} <i
class="el-icon-arrow-down el-icon--right"></i></div> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown"> <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-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@ -213,14 +216,16 @@
<div class="d-s"> <div class="d-s">
<div class="h-tt" style="margin-right: 15px">数据统计</div> <div class="h-tt" style="margin-right: 15px">数据统计</div>
<el-dropdown placement="bottom-start" @command="editCount"> <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> class="el-icon-arrow-down el-icon--right"></i></div>
<el-dropdown-menu slot="dropdown"> <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 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-menu>
</el-dropdown> </el-dropdown>
@ -256,19 +261,29 @@ import {parseTime} from "@/utils/fuint";
import {getBannerListApi} from "@/api/sys/banner"; import {getBannerListApi} from "@/api/sys/banner";
import {getNotificationlogList} from "@/api/sys/sysNotificationlog"; import {getNotificationlogList} from "@/api/sys/sysNotificationlog";
import {employeeSalesApi} from "@/api/indexStatistics"; 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"], props: ["accountId"],
data() { data() {
return { return {
amountList:[ amountList: [
// "" , // "" ,
// "" , // "" ,
"近一周" , "近一周",
"本月" , "本月",
"本季度" , "本季度",
"本年" "本年"
], ],
@ -278,7 +293,7 @@ export default {
sjtjTitle: "近一周", sjtjTitle: "近一周",
xShow: false, xShow: false,
timeShow: false, timeShow: false,
dataTimeShow : false, dataTimeShow: false,
showTimeShow: false, showTimeShow: false,
countTimeShow: false, countTimeShow: false,
form: {}, form: {},
@ -307,8 +322,8 @@ export default {
}], }],
value: '', value: '',
value1: [], value1: [],
showValue:[], showValue: [],
countValue:[], countValue: [],
value2: [], value2: [],
imagePath: process.env.VUE_APP_SERVER_URL, imagePath: process.env.VUE_APP_SERVER_URL,
queryParams: {}, queryParams: {},
@ -362,35 +377,35 @@ export default {
}, },
methods: { methods: {
sjkbStoreAmount(e){ sjkbStoreAmount(e) {
console.log(e) console.log(e)
this.sjkbTitle = e this.sjkbTitle = e
let command = e let command = e
if (command=='今日'){ if (command == '今日') {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
start.setSeconds(0) start.setSeconds(0)
start.setMilliseconds(0) start.setMilliseconds(0)
this.value1 = [parseTime(new Date()),parseTime(new Date())] this.value1 = [parseTime(new Date()), parseTime(new Date())]
}else if (command=='昨日'){ } else if (command == '昨日') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000)
this.value1 = [parseTime(oneWeekAgo),parseTime(oneWeekAgo)] this.value1 = [parseTime(oneWeekAgo), parseTime(oneWeekAgo)]
} else if (command=='近一周'){ } else if (command == '近一周') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
this.value1 = [parseTime(oneWeekAgo),parseTime(nowDate)] this.value1 = [parseTime(oneWeekAgo), parseTime(nowDate)]
} else if (command=='本月'){ } else if (command == '本月') {
const [startTime, endTime] = this.getMonthStartAndToday(); const [startTime, endTime] = this.getMonthStartAndToday();
this.value1 = [parseTime(startTime),parseTime(endTime)] this.value1 = [parseTime(startTime), parseTime(endTime)]
}else if (command=='本季度'){ } else if (command == '本季度') {
const [startTime, endTime] = this.getQuarterStartAndEnd(); const [startTime, endTime] = this.getQuarterStartAndEnd();
this.value1 = [parseTime(startTime), parseTime(endTime)]; this.value1 = [parseTime(startTime), parseTime(endTime)];
} else if (command=='本年'){ } else if (command == '本年') {
const [startTime, endTime] = this.getYearStartAndEnd(); const [startTime, endTime] = this.getYearStartAndEnd();
this.value1 = [parseTime(startTime),parseTime(endTime)] this.value1 = [parseTime(startTime), parseTime(endTime)]
}else if (command=='自定义'){ } else if (command == '自定义') {
this.disabled = false this.disabled = false
} }
this.getStoreAmount() this.getStoreAmount()
@ -399,108 +414,108 @@ export default {
goList() { goList() {
this.$router.push('/notificationList/index') this.$router.push('/notificationList/index')
}, },
editShow(e){ editShow(e) {
this.disabled = true this.disabled = true
console.log(e) console.log(e)
this.ypjyTitle = e this.ypjyTitle = e
let command = e let command = e
if (command=='今日'){ if (command == '今日') {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
start.setSeconds(0) start.setSeconds(0)
start.setMilliseconds(0) start.setMilliseconds(0)
this.showValue = [parseTime(new Date()),parseTime(new Date())] this.showValue = [parseTime(new Date()), parseTime(new Date())]
}else if (command=='昨日'){ } else if (command == '昨日') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000)
this.showValue = [parseTime(oneWeekAgo),parseTime(oneWeekAgo)] this.showValue = [parseTime(oneWeekAgo), parseTime(oneWeekAgo)]
} else if (command=='近一周'){ } else if (command == '近一周') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
this.showValue = [parseTime(oneWeekAgo),parseTime(nowDate)] this.showValue = [parseTime(oneWeekAgo), parseTime(nowDate)]
} else if (command=='本月'){ } else if (command == '本月') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 30 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 30 * 24 * 60 * 60 * 1000)
const [startTime, endTime] = this.getMonthStartAndToday(); const [startTime, endTime] = this.getMonthStartAndToday();
this.showValue = [parseTime(startTime),parseTime(endTime)] this.showValue = [parseTime(startTime), parseTime(endTime)]
}else if (command=='本季度'){ } else if (command == '本季度') {
const [startTime, endTime] = this.getQuarterStartAndEnd(); const [startTime, endTime] = this.getQuarterStartAndEnd();
this.showValue = [parseTime(startTime), parseTime(endTime)]; this.showValue = [parseTime(startTime), parseTime(endTime)];
} else if (command=='本年'){ } else if (command == '本年') {
const [startTime, endTime] = this.getYearStartAndEnd(); const [startTime, endTime] = this.getYearStartAndEnd();
this.showValue = [parseTime(startTime),parseTime(endTime)] this.showValue = [parseTime(startTime), parseTime(endTime)]
}else if (command=='自定义'){ } else if (command == '自定义') {
this.disabled = false this.disabled = false
} }
this.getDataShow() this.getDataShow()
}, },
editCount(e){ editCount(e) {
this.disabled = true this.disabled = true
this.sjtjTitle = e this.sjtjTitle = e
console.log("e",e) console.log("e", e)
let command = e let command = e
if (command=='今日'){ if (command == '今日') {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
start.setSeconds(0) start.setSeconds(0)
start.setMilliseconds(0) start.setMilliseconds(0)
// this.countValue = [start,new Date()] // this.countValue = [start,new Date()]
this.countValue = [parseTime(new Date()),parseTime(new Date())] this.countValue = [parseTime(new Date()), parseTime(new Date())]
}else if (command=='昨日'){ } else if (command == '昨日') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000)
this.countValue = [parseTime(oneWeekAgo),parseTime(oneWeekAgo)] this.countValue = [parseTime(oneWeekAgo), parseTime(oneWeekAgo)]
} else if (command=='近一周'){ } else if (command == '近一周') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
this.countValue = [parseTime(oneWeekAgo),parseTime(nowDate)] this.countValue = [parseTime(oneWeekAgo), parseTime(nowDate)]
} else if (command=='本月'){ } else if (command == '本月') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 30 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 30 * 24 * 60 * 60 * 1000)
const [startTime, endTime] = this.getMonthStartAndToday(); const [startTime, endTime] = this.getMonthStartAndToday();
this.countValue = [parseTime(startTime),parseTime(endTime)] this.countValue = [parseTime(startTime), parseTime(endTime)]
}else if (command=='本季度'){ } else if (command == '本季度') {
const [startTime, endTime] = this.getQuarterStartAndEnd(); const [startTime, endTime] = this.getQuarterStartAndEnd();
this.countValue = [parseTime(startTime), parseTime(endTime)]; this.countValue = [parseTime(startTime), parseTime(endTime)];
} else if (command=='本年'){ } else if (command == '本年') {
const [startTime, endTime] = this.getYearStartAndEnd(); const [startTime, endTime] = this.getYearStartAndEnd();
this.countValue = [parseTime(startTime),parseTime(endTime)] this.countValue = [parseTime(startTime), parseTime(endTime)]
}else if (command=='自定义'){ } else if (command == '自定义') {
this.disabled = false this.disabled = false
} }
this.getDataCount() this.getDataCount()
}, },
editColor(command){ editColor(command) {
this.disabled = true this.disabled = true
this.ygphTitle = command this.ygphTitle = command
if (command=='今日'){ if (command == '今日') {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
start.setSeconds(0) start.setSeconds(0)
start.setMilliseconds(0) start.setMilliseconds(0)
this.value2 = [start,new Date()] this.value2 = [start, new Date()]
} else if (command=='近一周'){ } else if (command == '近一周') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
this.value2 = [parseTime(oneWeekAgo),parseTime(nowDate)] this.value2 = [parseTime(oneWeekAgo), parseTime(nowDate)]
} else if (command=='本月'){ } else if (command == '本月') {
let nowDate = new Date(); let nowDate = new Date();
let oneWeekAgo = new Date(nowDate.getTime() - 30 * 24 * 60 * 60 * 1000) let oneWeekAgo = new Date(nowDate.getTime() - 30 * 24 * 60 * 60 * 1000)
const [startTime, endTime] = this.getMonthStartAndToday(); const [startTime, endTime] = this.getMonthStartAndToday();
this.value2 = [parseTime(startTime),parseTime(endTime)] this.value2 = [parseTime(startTime), parseTime(endTime)]
}else if (command=='本季度'){ } else if (command == '本季度') {
const [startTime, endTime] = this.getQuarterStartAndEnd(); const [startTime, endTime] = this.getQuarterStartAndEnd();
this.value2 = [parseTime(startTime), parseTime(endTime)]; this.value2 = [parseTime(startTime), parseTime(endTime)];
} else if (command=='本年'){ } else if (command == '本年') {
const [startTime, endTime] = this.getYearStartAndEnd(); const [startTime, endTime] = this.getYearStartAndEnd();
this.value2 = [parseTime(startTime),parseTime(endTime)] this.value2 = [parseTime(startTime), parseTime(endTime)]
}else if (command=='自定义'){ } else if (command == '自定义') {
this.disabled = false this.disabled = false
} }
this.getEmployeList() this.getEmployeList()
}, },
getMonthStartAndToday() { getMonthStartAndToday() {
const now = new Date(); const now = new Date();
@ -600,36 +615,31 @@ export default {
startTime: this.value1[0], startTime: this.value1[0],
endTime: this.value1[1] endTime: this.value1[1]
} }
getDataAnalysis(data).then(res => { //
// console.log('', res) getOilPercentage(data).then(res => {
this.dataAnalysisAllList = [] this.dataAnalysisOilNumberList = res.data
this.dataAnalysisOilNumberList = [] console.log("饼状图一数据",this.dataAnalysisOilNumberList )
this.dataAnalysisIfOilList = [] })
if (res.code == 200) { //
for (let i = 0; i < res.data.length; i++) { getOilAndGoodsPercentage(data).then(res => {
if (res.data[i].type == 1) { this.dataAnalysisIfOilList = res.data
this.dataAnalysisOilNumberList.push(res.data[i]) console.log("饼状图二数据",this.dataAnalysisIfOilList)
} else if (res.data[i].type == 2) { })
this.dataAnalysisIfOilList.push(res.data[i]) //
} else if (res.data[i].type == 3) { getOilAndGoodsAndVipAndPoints(data).then(res => {
this.dataAnalysisAllList.push(res.data[i]) this.dataAnalysisAllList = res.data
} console.log("饼状图三数据",this.dataAnalysisAllList )
}
// console.log('dataAnalysisOilNumberList', this.dataAnalysisOilNumberList)
// console.log('dataAnalysisIfOilList', this.dataAnalysisIfOilList)
// console.log('dataAnalysisAllList', this.dataAnalysisAllList)
this.initChart()
}
}) })
}, },
// //
getDataShow() { getDataShow() {
const data = { const data = {
"startTime": this.showValue[0].split(' ')[0], "startTime": this.showValue[0].split(' ')[0],
"endTime": this.showValue[1].split(' ')[0] "endTime": this.showValue[1].split(' ')[0]
} }
getDataShow(data).then(res => { getDataShow(data).then(res => {
// console.log('', res.data) console.log('首页数据展示', res.data)
this.dataShows = res.data this.dataShows = res.data
this.initChart() this.initChart()
}) })
@ -758,13 +768,13 @@ export default {
let countType = [] let countType = []
count.push(c) count.push(c)
this.dataCount.oilNames.forEach(item => { this.dataCount.oilNames.forEach(item => {
let type={ let type = {
type: 'bar' type: 'bar'
} }
countType.push(type) countType.push(type)
}) })
this.dataCount.oilData.forEach(item => { this.dataCount.oilData.forEach(item => {
let a =[item.time, ...item.money] let a = [item.time, ...item.money]
count.push(a) count.push(a)
}) })
@ -776,19 +786,19 @@ export default {
let showCountType = [] let showCountType = []
console.log("看看执行") console.log("看看执行")
this.dataShows.oilNames.forEach(item => { this.dataShows.oilNames.forEach(item => {
let type={ let type = {
type: 'bar' type: 'bar'
} }
showCountType.push(type) showCountType.push(type)
}) })
console.log(this.dataShows.oilData) console.log(this.dataShows.oilData)
this.dataShows.oilData.forEach(item => { this.dataShows.oilData.forEach(item => {
let a =[item.day, ...item.oilPrices] let a = [item.day, ...item.oilPrices]
showCount.push(a) showCount.push(a)
console.log("showCount",a) console.log("showCount", a)
}) })
console.log("showCount",showCount) console.log("showCount", showCount)
console.log("showCountType",showCountType) console.log("showCountType", showCountType)
const option = { const option = {
color: [ color: [
@ -802,32 +812,31 @@ export default {
trigger: 'item' trigger: 'item'
}, },
legend: { legend: {
type:'scroll', type: 'scroll',
orient: 'vertical', orient: 'vertical',
right: '0%', right: '0%',
bottom: '0%', bottom: '0%',
left:'right', left: 'right',
size:8 size: 8
}, },
series: [ series: [
{ {
name: '', name: '',
type: 'pie', type: 'pie',
itemStyle: { itemStyle: {
borderRadius:8, borderRadius: 8,
borderColor:'#fff', borderColor: '#fff',
borderWidth:4 borderWidth: 4
}, },
radius: ['40%', '80%'], radius: ['40%', '80%'],
data: this.dataAnalysisOilNumberList, data: this.dataAnalysisOilNumberList,
label: { label: {
show: true, show: true,
position: "inside", position: "inside",
color:'#fff', color: '#fff',
formatter: `{d}%`, formatter: `{d}%`,
}, },
}, },
] ]
}; };
const option1 = { const option1 = {
@ -839,12 +848,12 @@ export default {
trigger: 'item' trigger: 'item'
}, },
legend: { legend: {
type:'scroll', type: 'scroll',
orient: 'vertical', orient: 'vertical',
right: '0%', right: '0%',
bottom: '0%', bottom: '0%',
left:'right', left: 'right',
size:8 size: 8
}, },
series: [ series: [
{ {
@ -863,7 +872,7 @@ export default {
label: { label: {
show: true, show: true,
position: "inside", position: "inside",
color:'#fff', color: '#fff',
formatter: `{d}%`, formatter: `{d}%`,
}, },
}, },
@ -882,12 +891,12 @@ export default {
trigger: 'item' trigger: 'item'
}, },
legend: { legend: {
type:'scroll', type: 'scroll',
orient: 'vertical', orient: 'vertical',
right: '0%', right: '0%',
bottom: '0%', bottom: '0%',
left:'right', left: 'right',
size:8 size: 8
}, },
series: [ series: [
{ {
@ -906,7 +915,7 @@ export default {
label: { label: {
show: true, show: true,
position: "inside", position: "inside",
color:'#fff', color: '#fff',
formatter: `{d}%`, formatter: `{d}%`,
}, },
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -68,7 +68,7 @@ export default {
.app-top{ .app-top{
width: 100%; width: 100%;
//margin-bottom: 20px; //margin-bottom: 20px;
height: 52px; height: 41px;
box-sizing: border-box; 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); IPage<PaymentParameterConfigVo> selectListPage(Page page,@Param("entity") PaymentParameterConfigVo paymentParameterConfigVo,@Param("ownDeptStr") String ownDeptStr);
PaymentParameterConfigVo selectInfoById(@Param("id") Integer id); 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 LEFT JOIN t_account ta ON ppc.create_by = ta.acct_id
where ppc.id = #{id} where ppc.id = #{id}
</select> </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> </mapper>

View File

@ -218,7 +218,7 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
} }
merchantConfig.setStoreId(storeId); merchantConfig.setStoreId(storeId);
int row = 0; int row = 0;
if (merchantConfig.getMerchantName().equals("富友")){ if (merchantConfig.getMerchantName().split("-")[1].equals("富友")){
merchantConfig.setInsCd(FuYouPublicMerchant.insCd); merchantConfig.setInsCd(FuYouPublicMerchant.insCd);
merchantConfig.setPublicKey(FuYouPublicMerchant.publicKey); merchantConfig.setPublicKey(FuYouPublicMerchant.publicKey);
merchantConfig.setPrivateKey(FuYouPublicMerchant.privateKey); 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.dto.AccountInfo;
import com.fuint.common.util.TokenUtil; import com.fuint.common.util.TokenUtil;
import com.fuint.system.dept.entity.SysDept; 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.service.ISysDeptService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
@ -21,6 +22,7 @@ import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -36,6 +38,9 @@ public class PaymentParameterConfigServiceImpl extends ServiceImpl<PaymentParame
@Lazy @Lazy
private ISysDeptService deptService; private ISysDeptService deptService;
@Autowired
private SysDeptMapper sysDeptMapper;
/** /**
* 通过ID查询单条数据 * 通过ID查询单条数据
* *
@ -117,11 +122,29 @@ public class PaymentParameterConfigServiceImpl extends ServiceImpl<PaymentParame
return baseMapper.selectInfoById(id); 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 @Override
public List<PaymentParameterConfig> selectListByDeptID(Integer deptId) { public List<PaymentParameterConfig> selectListByDeptID(Integer deptId) {
QueryWrapper queryWrapper = new QueryWrapper<>(); List<PaymentParameterConfig> resultList = new ArrayList<>();
queryWrapper.eq("dept_id",deptId); selectListByDeptIDRecursive(deptId, resultList);
return baseMapper.selectList(queryWrapper); 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 @Override

View File

@ -351,7 +351,7 @@ public class AllOrderInfoController extends BaseController {
} }
/** /**
* 油站首页 数据展示 * 油站首页 数据看板
* @return * @return
*/ */
@GetMapping("getDataBoard") @GetMapping("getDataBoard")
@ -372,6 +372,48 @@ public class AllOrderInfoController extends BaseController {
return getSuccessResult(allOrderInfoService.getDataAnalysis(map)); 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 * @param map

View File

@ -162,6 +162,10 @@ public interface AllOrderInfoService {
*/ */
List<HomeDataAnalysisVo> getDataAnalysis(Map<String, String> map); 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 * @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.mapper.LJGoodsMapper;
import com.fuint.business.convenienceSore.service.LJGoodsService; import com.fuint.business.convenienceSore.service.LJGoodsService;
import com.fuint.business.convenienceSore.service.StockTrackService; 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.FleetInfo;
import com.fuint.business.fleet.entity.FleetMember; 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.FleetInfoMapper;
import com.fuint.business.fleet.mapper.FleetLinesChangeMapper; import com.fuint.business.fleet.mapper.FleetLinesChangeMapper;
import com.fuint.business.fleet.mapper.FleetMemberMapper; 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.mapper.SysDeptMapper;
import com.fuint.system.dept.service.ISysDeptService; import com.fuint.system.dept.service.ISysDeptService;
import com.fuint.system.dept.vo.SysDeptVo; import com.fuint.system.dept.vo.SysDeptVo;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -122,7 +125,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Autowired @Autowired
private FleetMemberMapper fleetMemberMapper; private FleetMemberMapper fleetMemberMapper;
@Autowired @Autowired
private FleetLinesChangeMapper fleetLinesChangeMapper; private FleetConsumeRecordMapper fleetConsumeRecordMapper;
@Autowired @Autowired
private FleetInfoMapper fleetInfoMapper; private FleetInfoMapper fleetInfoMapper;
@ -135,10 +138,11 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Resource @Resource
private MtUserMapper mtUserMapper; private MtUserMapper mtUserMapper;
@Override @Override
public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) { public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) {
return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0], return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
@ -592,7 +596,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
// 参数 // 参数
String orderNo = map.get("orderNo"); String orderNo = map.get("orderNo");
// 1.根据 orderNo 查询 总订单表 收银台表 会员表 油品订单表 // 1.根据 orderNo 查询 总订单表 收银台表 会员表 油品订单表
AllOrderInfo allOrder = selectAllOrderInfoByOrderNo(orderNo); AllOrderInfo allOrder = selectAllOrderInfoByOrderNo(orderNo);
CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo); CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo);
@ -643,7 +646,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
.eq("store_id", userBalance.getStoreId()); .eq("store_id", userBalance.getStoreId());
MtUserFuel mtUserFuel = mtUserFuelMapper.selectOne(q2); MtUserFuel mtUserFuel = mtUserFuelMapper.selectOne(q2);
QueryWrapper<CardFuelChange> q4 = Wrappers.query(); QueryWrapper<CardFuelChange> q4 = Wrappers.query();
q2.eq("order_no", userBalance.getMtUserId()); q2.eq("order_no", allOrder.getOrderNo());
CardFuelChange cardFuelChange = cardFuelChangeMapper.selectOne(q4); CardFuelChange cardFuelChange = cardFuelChangeMapper.selectOne(q4);
mtUserFuel.setFuelAmount(mtUserFuel.getFuelAmount() + cardFuelChange.getBalance()); mtUserFuel.setFuelAmount(mtUserFuel.getFuelAmount() + cardFuelChange.getBalance());
mtUserFuelMapper.updateById(mtUserFuel); mtUserFuelMapper.updateById(mtUserFuel);
@ -657,7 +660,14 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
q6.eq("id", fleetMember.getFleetId()); q6.eq("id", fleetMember.getFleetId());
FleetInfo fleetInfo = fleetInfoMapper.selectOne(q6); 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")) { if (orderNo.equals("card_value")) {
@ -841,7 +851,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
MemberService memberService; MemberService memberService;
public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) { public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -874,8 +883,8 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId()); allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getTradingsData(allOrderInfo, return allOrderInfoMapper.getTradingsData(allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0], allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]); allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
} }
@Resource @Resource
@ -967,21 +976,20 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId()); allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
IPage<AllOrderInfoVo> pageList = allOrderInfoMapper.gettradingListPage(page, allOrderInfo, IPage<AllOrderInfoVo> pageList = allOrderInfoMapper.gettradingListPage(page, allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0], allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]); allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
return pageList; return pageList;
} }
@Override @Override
public IPage<AllOrderInfoVo> transactionList(Page page, AllOrderInfoRes allOrderInfoRes) { public IPage<AllOrderInfoVo> transactionList(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId()); allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
IPage<AllOrderInfoVo> allOrderInfoVoIPage = super.baseMapper.transactionList(page, allOrderInfoRes, IPage<AllOrderInfoVo> allOrderInfoVoIPage = super.baseMapper.transactionList(page, allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
return allOrderInfoVoIPage; return allOrderInfoVoIPage;
} }
@ -1905,6 +1913,78 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return map1; 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;
}
/** /**
* 油站首页数据分析 * 油站首页数据分析
* *
@ -2511,15 +2591,14 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
public List getStaffByStorId() { public List getStaffByStorId() {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
nowAccountInfo.getStoreId(); nowAccountInfo.getStoreId();
List<TAccount> mtStaffs= mtStaffMapper.getStaffByStorId(nowAccountInfo.getStoreId()); List<TAccount> mtStaffs = mtStaffMapper.getStaffByStorId(nowAccountInfo.getStoreId());
return mtStaffs; return mtStaffs;
} }
@Override @Override
public void exportExcelOrderMsgApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) { public void exportExcelOrderMsgApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingOrderExcel> list= transactionAllList(allOrderInfoRes); List<TradingOrderExcel> list = transactionAllList(allOrderInfoRes);
List<TradingOrderExcel> tradingExcel = new ArrayList<>(); List<TradingOrderExcel> tradingExcel = new ArrayList<>();
for (TradingOrderExcel record : list) { for (TradingOrderExcel record : list) {
TradingOrderExcel excel = new TradingOrderExcel(); TradingOrderExcel excel = new TradingOrderExcel();
@ -2542,6 +2621,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
/** /**
* 查询全部订单数据 * 查询全部订单数据
*
* @param * @param
* @param allOrderInfoRes * @param allOrderInfoRes
* @return * @return
@ -2551,14 +2631,15 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId()); allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
System.out.println(allOrderInfoRes.getDataRange()); System.out.println(allOrderInfoRes.getDataRange());
List allOrderInfoVo = super.baseMapper.transactionAllList(allOrderInfoRes, List allOrderInfoVo = super.baseMapper.transactionAllList(allOrderInfoRes,
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[1]);
return allOrderInfoVo; return allOrderInfoVo;
} }
@Override @Override
public void exportExcelBackOrderMsgsApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) { public void exportExcelBackOrderMsgsApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingBackOrderExcel> list= transactionBackAllList(allOrderInfoRes); List<TradingBackOrderExcel> list = transactionBackAllList(allOrderInfoRes);
List<TradingBackOrderExcel> tradingExcel = new ArrayList<>(); List<TradingBackOrderExcel> tradingExcel = new ArrayList<>();
for (TradingBackOrderExcel record : list) { for (TradingBackOrderExcel record : list) {
TradingBackOrderExcel excel1 = new TradingBackOrderExcel(); TradingBackOrderExcel excel1 = new TradingBackOrderExcel();
@ -2579,9 +2660,9 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
} }
/** /**
* 查询退单订单数据 * 查询退单订单数据
*
* @param * @param
* @param allOrderInfoRes * @param allOrderInfoRes
* @return * @return
@ -2590,13 +2671,15 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId()); allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
List allOrderInfoVo = super.baseMapper.transactionBackAllList(allOrderInfoRes, List allOrderInfoVo = super.baseMapper.transactionBackAllList(allOrderInfoRes,
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[1]);
return allOrderInfoVo; return allOrderInfoVo;
} }
/** /**
* 查询退单订单数据 * 查询退单订单数据
*
* @param * @param
* @param allOrderInfo * @param allOrderInfo
* @return * @return
@ -2606,17 +2689,18 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
public IPage<AllOrderInfoVo> tradingNewList(Page page, AllOrderInfoDto allOrderInfo) { public IPage<AllOrderInfoVo> tradingNewList(Page page, AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId()); allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
return baseMapper.tradingNewList(page,allOrderInfo, return baseMapper.tradingNewList(page, allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0], allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]); allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
} }
@Override @Override
public AllOrderInfoVo getTradingNewData(AllOrderInfoDto allOrderInfo) { public AllOrderInfoVo getTradingNewData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId()); allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getTradingNewData(allOrderInfo, return allOrderInfoMapper.getTradingNewData(allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0], allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]); allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
} }
@Override @Override
@ -2624,32 +2708,35 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId()); allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi2(allOrderInfoRes, return allOrderInfoMapper.getInstituionListApi2(allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
public StatisticsOrderAllDto getInstituionListApi3(AllOrderInfoRes allOrderInfoRes) { public StatisticsOrderAllDto getInstituionListApi3(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId()); allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi3(allOrderInfoRes, return allOrderInfoMapper.getInstituionListApi3(allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
public IPage<StatisticsOneDayOrderAllDto> getInstituionListApi7(Page page,AllOrderInfoRes allOrderInfoRes) { public IPage<StatisticsOneDayOrderAllDto> getInstituionListApi7(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId()); allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi7(page,allOrderInfoRes, return allOrderInfoMapper.getInstituionListApi7(page, allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
public StatisticsOneDayOrderAllDto getInstituionListApi9(AllOrderInfoRes allOrderInfoRes) { public StatisticsOneDayOrderAllDto getInstituionListApi9(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId()); allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi9(allOrderInfoRes, return allOrderInfoMapper.getInstituionListApi9(allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0], allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]); allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
} }
@Override @Override
public IPage<StatisticsSaleOilOrderDto> getInstituionListApi11(Page page, AllOrderInfoRes allOrderInfoRes) { public IPage<StatisticsSaleOilOrderDto> getInstituionListApi11(Page page, AllOrderInfoRes allOrderInfoRes) {

View File

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

@ -5,38 +5,53 @@
<mapper namespace="com.fuint.business.petrolStationManagement.mapper.OilNumberMapper"> <mapper namespace="com.fuint.business.petrolStationManagement.mapper.OilNumberMapper">
<resultMap type="com.fuint.business.petrolStationManagement.entity.OilNumber" id="OilNumberResult"> <resultMap type="com.fuint.business.petrolStationManagement.entity.OilNumber" id="OilNumberResult">
<id property="numberId" column="number_id" /> <id property="numberId" column="number_id"/>
<result property="oilType" column="oil_type" /> <result property="oilType" column="oil_type"/>
<result property="oilName" column="oil_name" /> <result property="oilName" column="oil_name"/>
<result property="oilPrice" column="oil_price" /> <result property="oilPrice" column="oil_price"/>
<result property="gbPrice" column="gb_price" /> <result property="gbPrice" column="gb_price"/>
<result property="receivingUnits" column="receiving_units" /> <result property="receivingUnits" column="receiving_units"/>
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time"/>
<result property="state" column="state" /> <result property="state" column="state"/>
<result property="sort" column="sort" /> <result property="sort" column="sort"/>
<result property="remark" column="remark" /> <result property="remark" column="remark"/>
<result property="ifDelete" column="if_delete" /> <result property="ifDelete" column="if_delete"/>
<result property="unit" column="unit"/> <result property="unit" column="unit"/>
<result property="storeId" column="store_id"/> <result property="storeId" column="store_id"/>
<result property="upOrDown" column="up_or_down"/> <result property="upOrDown" column="up_or_down"/>
<result property="amplitudeOfChange" column="amplitude_of_change"/> <result property="amplitudeOfChange" column="amplitude_of_change"/>
</resultMap> </resultMap>
<sql id="selectOilNumber"> <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 from oil_number
</sql> </sql>
<select id="selectOilNumberList" resultMap="OilNumberResult"> <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} where onu.store_id = #{oilNumber.storeId}
</select> </select>
<select id="selectOilNumberList2" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber"> <select id="selectOilNumberList2" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber">
select select
omm.number_id , omm.number_id ,
onn.oil_type, onn.oil_type,
onn.id oilId, onn.id oilId,
onn.oil_name, onn.oil_name,
@ -49,26 +64,26 @@
left join oil_name onn on omm.oil_name = onn.id left join oil_name onn on omm.oil_name = onn.id
<where> <where>
omm.store_id = #{oilNumber.storeId} omm.store_id = #{oilNumber.storeId}
<if test="oilNumber.oilType != null and oilNumber.oilType != ''"> <if test="oilNumber.oilType != null and oilNumber.oilType != ''">
and onn.oil_type = #{oilNumber.oilType} and onn.oil_type = #{oilNumber.oilType}
</if> </if>
</where> </where>
</select> </select>
<!-- select--> <!-- select-->
<!-- number_id numberId,--> <!-- number_id numberId,-->
<!-- oil_type oilType,--> <!-- oil_type oilType,-->
<!-- oil_name oilName,--> <!-- oil_name oilName,-->
<!-- oil_price oilPrice,--> <!-- oil_price oilPrice,-->
<!-- update_time updateTime--> <!-- update_time updateTime-->
<!-- from oil_number--> <!-- from oil_number-->
<select id="selectOilNumberById" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber"> <select id="selectOilNumberById" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber">
<include refid="selectOilNumber"></include> <include refid="selectOilNumber"></include>
where number_id = #{id} where number_id = #{id}
</select> </select>
<insert id="insertOilNumber"> <insert id="insertOilNumber">
insert into oil_number insert into oil_number
<trim prefix="(" suffix=")" suffixOverrides="," > <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="oilType != null">oil_type,</if> <if test="oilType != null">oil_type,</if>
<if test="oilName != null">oil_name,</if> <if test="oilName != null">oil_name,</if>
<if test="oilPrice != null">oil_price,</if> <if test="oilPrice != null">oil_price,</if>
@ -84,7 +99,7 @@
<if test="storeId != null">store_id,</if> <if test="storeId != null">store_id,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides="," > <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test=" oilType != null">#{oilType },</if> <if test=" oilType != null">#{oilType },</if>
<if test=" oilName != null">#{oilName },</if> <if test=" oilName != null">#{oilName },</if>
<if test=" oilPrice != null">#{oilPrice },</if> <if test=" oilPrice != null">#{oilPrice },</if>
@ -107,29 +122,34 @@
<set> <set>
<if test=" oilType != null and oilType != ''">oil_type= #{oilType},</if> <if test=" oilType != null and oilType != ''">oil_type= #{oilType},</if>
<if test=" oilName != null and oilName != ''">oil_name= #{oilName},</if> <if test=" oilName != null and oilName != ''">oil_name= #{oilName},</if>
<if test=" oilPrice != null and oilPrice != ''" >oil_price= #{oilPrice},</if> <if test=" oilPrice != null and oilPrice != ''">oil_price= #{oilPrice},</if>
<if test=" gbPrice != null and gbPrice != ''">gb_price= #{gbPrice},</if> <if test=" gbPrice != null and gbPrice != ''">gb_price= #{gbPrice},</if>
<if test=" receivingUnits != null and receivingUnits != ''">receiving_units= #{receivingUnits},</if> <if test=" receivingUnits != null and receivingUnits != ''">receiving_units= #{receivingUnits},</if>
<if test=" state != null and state != ''"> state = #{state},</if> <if test=" state != null and state != ''">state = #{state},</if>
<if test=" sort != null and sort != ''">sort= #{sort},</if> <if test=" sort != null and sort != ''">sort= #{sort},</if>
<if test=" remark != null and remark != ''">remark= #{remark},</if> <if test=" remark != null and remark != ''">remark= #{remark},</if>
<if test=" updateBy != null and updateBy != ''">update_by= #{updateBy},</if> <if test=" updateBy != null and updateBy != ''">update_by= #{updateBy},</if>
<if test=" unit != null and unit != ''">unit= #{unit},</if> <if test=" unit != null and unit != ''">unit= #{unit},</if>
<if test=" upOrDown != null and unit != ''">up_or_down= #{upOrDown},</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() update_time= NOW()
</set> </set>
where number_id = #{numberId} where number_id = #{numberId}
</update> </update>
<delete id="deleteOilNumberById"> <delete id="deleteOilNumberById">
delete from oil_number where number_id = #{numberId} delete
from oil_number
where number_id = #{numberId}
</delete> </delete>
<select id="getOilName" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber"> <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
name.oil_density oilDensity,onm.unit unit,name.id oilNameId ,onm.gb_price gbPrice,
name.oil_density oilDensity,onm.unit unit,name.id oilNameId
from oil_number onm from oil_number onm
left join oil_name name on onm.oil_name = name.id left join oil_name name on onm.oil_name = name.id
<where> <where>
onm.store_id = #{storeId} onm.store_id = #{storeId}
and onm.state = '启用' and onm.state = '启用'
@ -140,28 +160,91 @@
select count(*) select count(*)
from oil_number from oil_number
WHERE store_id = #{storeId} WHERE store_id = #{storeId}
and and oil_name = #{oilName} limit 1
oil_name = #{oilName}
limit 1
</select> </select>
<select id="selectOilNumberNameByStoreId" resultType="com.fuint.business.petrolStationManagement.vo.OilNumberNameVo" <select id="selectOilNumberNameByStoreId" resultType="com.fuint.business.petrolStationManagement.vo.OilNumberNameVo"
parameterType="java.lang.Integer"> parameterType="java.lang.Integer">
select onu.*,ona.oil_type,ona.oil_name oilNames,ona.id oilId,ot.id tankId,ot.tank_name from oil_tank ot select onu.*,ona.oil_type,ona.oil_name oilNames,ona.id oilId,ot.id tankId,ot.tank_name from oil_tank ot
left join oil_number onu on ot.number_id = onu.number_id left join oil_number onu on ot.number_id = onu.number_id
left join oil_name ona on onu.oil_name = ona.id left join oil_name ona on onu.oil_name = ona.id
<where> <where>
onu.store_id = #{storeId} and onu.state = '启用' onu.store_id = #{storeId} and onu.state = '启用'
</where> </where>
</select> </select>
<select id="getOilPriceById" resultType="double"> <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>
<select id="selectAllOil" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber" <select id="selectAllOil" resultType="com.fuint.business.petrolStationManagement.entity.OilNumber"
parameterType="java.lang.Integer"> parameterType="java.lang.Integer">
select oin.*, ona.oil_name oilNames select oin.*, ona.oil_name oilNames
from oil_number oin from oil_number oin
left join oil_name ona on oin.oil_name = ona.id left join oil_name ona on oin.oil_name = ona.id
where oin.store_id = #{storeId} where oin.store_id = #{storeId}
</select> </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> </mapper>