Merge remote-tracking branch 'origin/main'

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -21,8 +21,10 @@ import com.fuint.business.convenienceSore.dto.LJGoodsDto;
import com.fuint.business.convenienceSore.mapper.LJGoodsMapper;
import com.fuint.business.convenienceSore.service.LJGoodsService;
import com.fuint.business.convenienceSore.service.StockTrackService;
import com.fuint.business.fleet.entity.FleetConsumeRecord;
import com.fuint.business.fleet.entity.FleetInfo;
import com.fuint.business.fleet.entity.FleetMember;
import com.fuint.business.fleet.mapper.FleetConsumeRecordMapper;
import com.fuint.business.fleet.mapper.FleetInfoMapper;
import com.fuint.business.fleet.mapper.FleetLinesChangeMapper;
import com.fuint.business.fleet.mapper.FleetMemberMapper;
@ -74,6 +76,7 @@ import com.fuint.system.dept.entity.SysDept;
import com.fuint.system.dept.mapper.SysDeptMapper;
import com.fuint.system.dept.service.ISysDeptService;
import com.fuint.system.dept.vo.SysDeptVo;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -122,7 +125,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Autowired
private FleetMemberMapper fleetMemberMapper;
@Autowired
private FleetLinesChangeMapper fleetLinesChangeMapper;
private FleetConsumeRecordMapper fleetConsumeRecordMapper;
@Autowired
private FleetInfoMapper fleetInfoMapper;
@ -135,10 +138,11 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Resource
private MtUserMapper mtUserMapper;
@Override
public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) {
return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]);
return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
@ -592,7 +596,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
// 参数
String orderNo = map.get("orderNo");
// 1.根据 orderNo 查询 总订单表 收银台表 会员表 油品订单表
AllOrderInfo allOrder = selectAllOrderInfoByOrderNo(orderNo);
CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo);
@ -643,7 +646,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
.eq("store_id", userBalance.getStoreId());
MtUserFuel mtUserFuel = mtUserFuelMapper.selectOne(q2);
QueryWrapper<CardFuelChange> q4 = Wrappers.query();
q2.eq("order_no", userBalance.getMtUserId());
q2.eq("order_no", allOrder.getOrderNo());
CardFuelChange cardFuelChange = cardFuelChangeMapper.selectOne(q4);
mtUserFuel.setFuelAmount(mtUserFuel.getFuelAmount() + cardFuelChange.getBalance());
mtUserFuelMapper.updateById(mtUserFuel);
@ -657,7 +660,14 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
q6.eq("id", fleetMember.getFleetId());
FleetInfo fleetInfo = fleetInfoMapper.selectOne(q6);
// 待编辑
QueryWrapper<FleetConsumeRecord> q7 = Wrappers.query();
q7.eq("order_no", allOrder.getOrderNo());
FleetConsumeRecord fleetConsumeRecord = fleetConsumeRecordMapper.selectOne(q7);
fleetMember.setRemainingCreditLimit(fleetMember.getRemainingCreditLimit() + fleetConsumeRecord.getAfterTheChange());
fleetInfo.setTotalBalance(fleetInfo.getTotalBalance() + fleetConsumeRecord.getAfterTheChange());
fleetInfoMapper.updateById(fleetInfo);
fleetMemberMapper.updateById(fleetMember);
}
if (orderNo.equals("card_value")) {
@ -841,7 +851,6 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
MemberService memberService;
public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -874,8 +883,8 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getTradingsData(allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]);
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
}
@Resource
@ -967,21 +976,20 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
IPage<AllOrderInfoVo> pageList = allOrderInfoMapper.gettradingListPage(page, allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]);
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
return pageList;
}
@Override
public IPage<AllOrderInfoVo> transactionList(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
IPage<AllOrderInfoVo> allOrderInfoVoIPage = super.baseMapper.transactionList(page, allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]);
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
return allOrderInfoVoIPage;
}
@ -1905,6 +1913,78 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return map1;
}
/**
* 油站首页 数据分析 第一个饼状图
*/
public Object getOilPercentage(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
List<Map<String, Object>> s1 = oilNumberMapper.getS1(map);
return s1;
}
/**
* 油站首页 数据分析 第二个饼状图
*/
public Object getOilAndGoodsPercentage(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
Map<String, Object> m1 = oilNumberMapper.getOilAndGoodsPercentage(map);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 1; i <= 2; i++) {
HashMap<String, Object> m2 = new HashMap<>();
if (i == 1) {
m2.put("name", "油品交易占比");
m2.put("value", m1.get("oil_order_total"));
}
if (i == 2) {
m2.put("name", "非油品交易占比");
m2.put("value", m1.get("mt_order_total"));
}
list.add(m2);
}
return list;
}
/**
* 油站首页 数据分析 第三个饼状图
*/
public Object getOilAndGoodsAndVipAndPoints(Map<String, Object> map) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
map.put("storeId", nowAccountInfo.getStoreId());
Map<String, Object> oilAndGoodsAndVipAndPoints = oilNumberMapper.getOilAndGoodsAndVipAndPoints(map);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 1; i <=4 ; i++) {
HashMap<String, Object> m2 = new HashMap<>();
if (i==1){
m2.put("name","会员充值交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("all_order_type_3_total"));
}
if (i==2){
m2.put("name","积分商城交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("all_order_type_4_total"));
}
if (i==3){
m2.put("name","油品交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("oil_order_total"));
}
if (i==4){
m2.put("name","非油品交易占比");
m2.put("value",oilAndGoodsAndVipAndPoints.get("mt_order_total"));
}
list.add(m2);
}
return list;
}
/**
* 油站首页数据分析
*
@ -2511,15 +2591,14 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
public List getStaffByStorId() {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
nowAccountInfo.getStoreId();
List<TAccount> mtStaffs= mtStaffMapper.getStaffByStorId(nowAccountInfo.getStoreId());
List<TAccount> mtStaffs = mtStaffMapper.getStaffByStorId(nowAccountInfo.getStoreId());
return mtStaffs;
}
@Override
public void exportExcelOrderMsgApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingOrderExcel> list= transactionAllList(allOrderInfoRes);
List<TradingOrderExcel> list = transactionAllList(allOrderInfoRes);
List<TradingOrderExcel> tradingExcel = new ArrayList<>();
for (TradingOrderExcel record : list) {
TradingOrderExcel excel = new TradingOrderExcel();
@ -2542,6 +2621,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
/**
* 查询全部订单数据
*
* @param
* @param allOrderInfoRes
* @return
@ -2551,14 +2631,15 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
System.out.println(allOrderInfoRes.getDataRange());
List allOrderInfoVo = super.baseMapper.transactionAllList(allOrderInfoRes,
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[1]);
allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[1]);
return allOrderInfoVo;
}
@Override
public void exportExcelBackOrderMsgsApi(HttpServletResponse response, AllOrderInfoRes allOrderInfoRes) {
List<TradingBackOrderExcel> list= transactionBackAllList(allOrderInfoRes);
List<TradingBackOrderExcel> list = transactionBackAllList(allOrderInfoRes);
List<TradingBackOrderExcel> tradingExcel = new ArrayList<>();
for (TradingBackOrderExcel record : list) {
TradingBackOrderExcel excel1 = new TradingBackOrderExcel();
@ -2579,9 +2660,9 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
}
/**
* 查询退单订单数据
*
* @param
* @param allOrderInfoRes
* @return
@ -2590,13 +2671,15 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
List allOrderInfoVo = super.baseMapper.transactionBackAllList(allOrderInfoRes,
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange().length==0?"":allOrderInfoRes.getDataRange()[1]);
allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange().length == 0 ? "" : allOrderInfoRes.getDataRange()[1]);
return allOrderInfoVo;
}
/**
* 查询退单订单数据
*
* @param
* @param allOrderInfo
* @return
@ -2606,17 +2689,18 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
public IPage<AllOrderInfoVo> tradingNewList(Page page, AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
return baseMapper.tradingNewList(page,allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]);
return baseMapper.tradingNewList(page, allOrderInfo,
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
}
@Override
public AllOrderInfoVo getTradingNewData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getTradingNewData(allOrderInfo,
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange()==null?"":allOrderInfo.getDataRange()[1]);
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[0],
allOrderInfo.getDataRange() == null ? "" : allOrderInfo.getDataRange()[1]);
}
@Override
@ -2624,32 +2708,35 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi2(allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]);
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
public StatisticsOrderAllDto getInstituionListApi3(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi3(allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]);
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
public IPage<StatisticsOneDayOrderAllDto> getInstituionListApi7(Page page,AllOrderInfoRes allOrderInfoRes) {
public IPage<StatisticsOneDayOrderAllDto> getInstituionListApi7(Page page, AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi7(page,allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]);
return allOrderInfoMapper.getInstituionListApi7(page, allOrderInfoRes,
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
public StatisticsOneDayOrderAllDto getInstituionListApi9(AllOrderInfoRes allOrderInfoRes) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfoRes.setStoreId(nowAccountInfo.getStoreId());
return allOrderInfoMapper.getInstituionListApi9(allOrderInfoRes,
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange()==null?"":allOrderInfoRes.getDataRange()[1]);
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[1]);
}
@Override
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 java.util.List;
import java.util.Map;
/**
* (ChainStoreInfo)表数据库访问层
@ -65,5 +66,9 @@ public interface OilNumberMapper extends BaseMapper<OilNumber> {
double getOilPriceById(@Param("oilId") Integer oilId,@Param("storeId") Integer storeId);
List<OilNumber> selectAllOil(Integer storeId);
List<Map<String, Object>> getS1(@Param("obj") Map<String, Object> map);
Map<String, Object> getOilAndGoodsPercentage(@Param("obj") Map<String, Object> map);
Map<String, Object> getOilAndGoodsAndVipAndPoints(@Param("obj") Map<String, Object> map);
}

View File

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