This commit is contained in:
DESKTOP-369JRHT\12997 2024-07-30 08:44:32 +08:00
commit 37b6b1287b
16 changed files with 255 additions and 198 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -4,7 +4,7 @@
<div class="top_">
<div class="tab-box" :class="tabindex == index ? 'active' : ''" v-for="(item,index) in tabList" :key="index" @click="gettab(index)" >
<div class="tab-boxs" :class="tabindex == index ? 'active' : ''" v-for="(item,index) in tabList" :key="index" @click="gettab(index)" >
{{item.title}}
</div>
</div>
@ -109,7 +109,7 @@
</script>
<style scoped>
<style scoped >
.ap-container{
height: 100vh;
@ -134,7 +134,7 @@
color: #FF9655 !important;
border-bottom: 2px solid #FF9655 !important;
}
.tab-box{
.tab-boxs{
color: #999999;
font-size: 14px;
height: 40px;

View File

@ -31,6 +31,9 @@ export default {
roleCode: [
{required: true, message: '请选择登录权限', trigger: 'change'}
],
menuIds: [
{required: true, message: '请选择菜单信息', trigger: 'change'}
],
},
dutyId:'',
tableData: [],
@ -305,8 +308,9 @@ export default {
<template>
<div class="container">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="110px">
<div class="top-box">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<!-- <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">-->
<div>
<el-form-item label="角色名称" prop="roleName">
<el-input v-model="ruleForm.roleName"></el-input>
@ -339,11 +343,11 @@ export default {
</el-form-item>
</div>
</el-form>
<!-- </el-form>-->
</div>
<div class="center-box">
<div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="110px" class="demo-ruleForm">
<!-- <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="110px" class="demo-ruleForm">-->
<!-- <el-form-item label="角色登录权限" prop="roleCode">-->
<!-- <el-radio-group v-model="ruleForm.roleCode">-->
<!-- <el-radio :label="0">都无</el-radio>-->
@ -352,11 +356,11 @@ export default {
<!-- <el-radio :label="3">全部</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<el-form-item label="菜单功能权限" prop="checkedKeys">
<el-form-item label="菜单功能权限" prop="menuIds">
<el-checkbox v-model="checked" @change="chooseAllOrNo">全选</el-checkbox>
<el-checkbox v-model="isOpen" @change="openTable">展开</el-checkbox>
</el-form-item>
</el-form>
<!-- </el-form>-->
<!-- <el-button size="mini" @click.native="openTable('open')">一键展开</el-button>-->
<!-- <el-button size="mini" @click.native="openTable('fold')">折叠</el-button>-->
</div>
@ -400,6 +404,7 @@ export default {
</div>
</div>
</el-form>
</div>
</template>
@ -423,9 +428,7 @@ export default {
}
.demo-ruleForm {
display: flex;
align-items: center;
}
.center-box {

View File

@ -13,7 +13,6 @@
</div>
<el-table
:data="merchantList"
border
style="width: 100%">
<el-table-column
@ -269,7 +268,7 @@
v-if=" formRule.ruleType == 1">
<div class="list-box">
<el-form-item label="支付通道" :label-width="formLabelWidth">
<el-select v-model="item.merchConfigId" placeholder="请选择支付通道" style="width: 300px"
<el-select prop="merchConfigId" v-model="item.merchConfigId" placeholder="请选择支付通道" style="width: 300px"
@change="chooseMerchConfig(item.merchConfigId,index)">
<el-option
v-for="(item1,i) in merchantList"
@ -289,7 +288,7 @@
</el-input>
</el-form-item>
</div>
<i class="el-icon-delete" style="font-size: 28px;margin-left: 15px" @click="deleteDoxlist(index)"></i>
<i class="el-icon-delete" style="font-size: 28px;margin-left: 15px; color: #999999 " @click="deleteDoxlist(index)"></i>
</div>
<div class="d-s" v-for="(item,index) in formRule.ruleList" :key="index" style="margin-bottom: 15px"
v-if=" formRule.ruleType == 2">
@ -344,9 +343,6 @@
style="width: 100%;"></el-date-picker>
</el-form-item>
<div style="width: 15px"></div>
<!-- <el-form-item prop="date2">-->
<!-- <el-time-picker placeholder="选择时间" v-model="ruleForm.date2" style="width: 100%;"></el-time-picker>-->
<!-- </el-form-item>-->
</div>
<div style="margin-left: 80px">启用成功后其他规则的规则状态变为停用</div>
@ -359,114 +355,6 @@
<el-button type="primary" @click="submitEnable('qy')"> </el-button>
</div>
</el-dialog>
<!-- <div style="width: 100%;display: flex">-->
<!-- <el-alert-->
<!-- title="说明"-->
<!-- type="error"-->
<!-- description="为了保证加油站商户日常在线支付业务的稳定性来个油惠目前支持多通道支付-->
<!-- 可以有效的避免单支付通道带来不稳定性从而造成油站不能正常支付问题-->
<!-- 加油站一旦出现不能正常支付的情况可以随时手工切换支付通道来保证加油站支付收款业务"-->
<!-- :closable="false"-->
<!-- >-->
<!-- </el-alert>-->
<!-- <div style="width: 150%;display: flex;justify-content: right">-->
<!-- <div class="mingc">功能状态</div>-->
<!-- <el-switch-->
<!-- v-model="value1"-->
<!-- @change="changeStatus1"-->
<!-- >-->
<!-- </el-switch>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div style="margin-top: 20px"><el-button type="primary" icon="el-icon-plus" v-hasPermi="['Merchant:add']" @click="addMerchant">添加商户信息</el-button></div>-->
<!-- <div class="content-box">-->
<!--&lt;!&ndash; <el-card class="box-card" shadow="hover" v-for="(item,index) in 10" :key="index">&ndash;&gt;-->
<!--&lt;!&ndash; <div slot="header" class="clearfix">&ndash;&gt;-->
<!--&lt;!&ndash; <span>卡片名称</span>&ndash;&gt;-->
<!--&lt;!&ndash; <el-button style="float: right; padding: 3px 0" type="text">切换为当前通道</el-button>&ndash;&gt;-->
<!--&lt;!&ndash; </div>&ndash;&gt;-->
<!--&lt;!&ndash; <div>商户编号:1861975</div>&ndash;&gt;-->
<!--&lt;!&ndash; </el-card>&ndash;&gt;-->
<!-- <el-card class="box-card" shadow="hover" v-for="item in merchantList" :key="item.id">-->
<!-- <div slot="header" class="clearfix">-->
<!-- <span><dict-tag :options="dict.type.payment_channel" :value="item.merchantName"/></span>-->
<!-- <el-button v-if="item.isUse=='0'"-->
<!-- @click="editStatus(item,1)"-->
<!-- style="float: right; padding: 3px 0" type="text">切换为当前通道</el-button>-->
<!-- <el-tag v-else effect="dark" type="success" style="float: right">当前使用中</el-tag>-->
<!-- </div>-->
<!-- <div>商户编号: {{ item.mchntCd }}</div>-->
<!-- <div style="margin-top: 5px;display: flex;justify-content: space-between">-->
<!-- <span>-->
<!-- 备注: <span style="color: #00afff;margin-left: 3px" @click="editRemark(item.id)">{{ item.remark ? item.remark : "&#45;&#45;" }}</span>-->
<!-- </span>-->
<!-- <span>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(item)"-->
<!-- v-hasPermi="['Merchant:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(item)"-->
<!-- v-hasPermi="['Merchant:delete']"-->
<!-- >删除</el-button>-->
<!-- </span>-->
<!-- </div>-->
<!-- </el-card>-->
<!-- </div>-->
<!-- <el-divider></el-divider>-->
<!-- <div class="cont-box">-->
<!-- <div style="width: 40%">-->
<!-- <el-alert-->
<!-- title="使用说明"-->
<!-- type="error"-->
<!-- description="添加/编辑对应的规则->规则配置正常->发布规则->规则生效-->
<!--注意:功能状态启用且通道规则发布生效后当前功能才有效,否则使用系统单商户号模式"-->
<!-- :closable="false"-->
<!-- >-->
<!-- </el-alert>-->
<!-- </div>-->
<!-- <div style="display: flex;align-items: center">-->
<!-- <div class="mingc">规则周期</div>-->
<!-- <el-radio-group v-model="labelPosition" @input="ruleCycle == labelPosition" size="small">-->
<!-- <el-radio-button label="permanent">永久</el-radio-button>-->
<!-- <el-radio-button label="singleDay">单日</el-radio-button>-->
<!-- </el-radio-group>-->
<!-- <div class="mingc">功能状态</div>-->
<!-- <el-switch-->
<!-- v-model="value"-->
<!-- @change="changeStatus"-->
<!-- >-->
<!-- </el-switch>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="cont-box" >-->
<!-- <div><el-button type="primary" icon="el-icon-plus"-->
<!-- v-hasPermi="['payment:add']" @click="addOil">添加规则</el-button></div>-->
<!-- <div><el-button type="success" icon="el-icon-s-promotion" @click="open">发布规则</el-button></div>-->
<!-- </div>-->
<!-- <div class="hangbox" v-for="(item,index) in oilConfigList" :key="item.id">-->
<!-- <div>{{index + 1}}.通道</div>-->
<!-- <div class="jiaong">{{ item.merchantName }}({{ item.remark }})</div>-->
<!-- <div> 商户号 </div>-->
<!-- <div class="jiaong">{{ item.mchntCd }}</div>-->
<!-- <div> 交易占比 </div>-->
<!-- <div class="jiaong"> {{ item.proportion }} </div>-->
<!-- <div style="margin-right: 20px"> %更换支付通道 </div>-->
<!-- <el-button type="primary" icon="el-icon-edit"-->
<!-- v-hasPermi="['payment:edit']" @click="editOilConfig(item.id)">编辑</el-button>-->
<!-- <el-button type="danger" icon="el-icon-close"-->
<!-- v-hasPermi="['payment:delete']" @click="deleteOilConfig(item.id)">删除</el-button>-->
<!-- </div>-->
<!-- <div class="hsize">:规则按照顺序进行处理并自动更换支付通道新增或变更规则后需要发布当前规则才生效,发布生效后的规则将从序号1的配置生效</div>-->
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%">
<el-form :model="form1" ref="form1" :rules="rules">

View File

@ -42,7 +42,7 @@
</el-form>
<div class="wrap-boxs">
<div class="k_" id="k_1">
<div class="size_" style="margin-bottom: 0px">交易金额汇总数万元/交易笔数</div>
<div class="size_">交易金额汇总数万元/交易笔数</div>
<div class="title_">{{ orderStatistics.payMoney?orderStatistics.payMoney/10000:0 }}/{{ orderStatistics.count }}</div>
</div>
<div class="k_" id="k_2" v-for="item in orderStatistics.fenxiByDaili2ByData">
@ -351,8 +351,8 @@ export default {
}
.k_ {
width: 200px;
height: 80px;
width: 240px;
height: 75px;
margin-right: 20px;
box-sizing: border-box;
padding: 15px 10px;
@ -375,14 +375,16 @@ export default {
#k_1 {
background: url("../imgs/k1.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_2 {
background: url("../imgs/k2.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_3 {

View File

@ -45,11 +45,11 @@
<!-- <el-card class="box-card">-->
<div class="wrap-boxs">
<div class="k_" id="k_1">
<div class="size_" style="margin-bottom: 0px">活跃油站汇总总数/合作油站汇总总数</div>
<div class="size_" >活跃油站汇总总数/合作油站汇总总数</div>
<div class="title_">{{ orderStatistics.storeId?orderStatistics.storeId:0 }}/{{orderStatistics.sumOil}}</div>
</div>
<div class="k_" id="k_2">
<div class="size_" style="margin-bottom: 0px">交易金额汇总数万元/交易笔数</div>
<div class="size_" >交易金额汇总数万元/交易笔数</div>
<div class="title_">{{ orderStatistics.payMoney?orderStatistics.payMoney:0 }}/{{orderStatistics.count}}</div>
</div>
<div class="k_" id="k_3">
@ -314,8 +314,8 @@ export default {
}
.k_ {
width: 200px;
height: 80px;
width: 250px;
height: 75px;
margin-right: 20px;
box-sizing: border-box;
padding: 15px 10px;
@ -338,26 +338,30 @@ export default {
#k_1 {
background: url("../imgs/k1.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_2 {
background: url("../imgs/k2.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_3 {
background: url("../imgs/k3.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_4 {
background: url("../imgs/k4.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_5 {

View File

@ -307,7 +307,7 @@ export default {
.k_ {
width: 200px;
height: 80px;
height: 75px;
margin-right: 20px;
box-sizing: border-box;
padding: 15px 10px;
@ -329,26 +329,30 @@ export default {
#k_1 {
background: url("../imgs/k1.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_2 {
background: url("../imgs/k2.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_3 {
background: url("../imgs/k3.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_4 {
background: url("../imgs/k4.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_5 {

View File

@ -332,7 +332,7 @@ import {parseTime} from "@/utils/fuint";
}
.k_{
width: 200px;
height: 80px;
height: 75px;
margin-right: 20px;
box-sizing: border-box;
padding: 15px 10px;
@ -351,28 +351,33 @@ import {parseTime} from "@/utils/fuint";
}
#k_1{
background: url("../imgs/k1.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_2{
background: url("../imgs/k2.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_3{
background: url("../imgs/k3.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_4{
background: url("../imgs/k4.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_5{
background: url("../imgs/k5.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_6{
background: url("../imgs/k6.png");

View File

@ -316,7 +316,7 @@ import {parseTime} from "@/utils/fuint";
}
.k_{
width: 200px;
height: 80px;
height: 75px;
margin-right: 20px;
box-sizing: border-box;
padding: 16px 10px;
@ -335,23 +335,27 @@ import {parseTime} from "@/utils/fuint";
}
#k_1{
background: url("../imgs/k1.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_2{
background: url("../imgs/k2.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_3{
background: url("../imgs/k3.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_4{
background: url("../imgs/k4.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_5{
background: url("../imgs/k5.png");

View File

@ -13,7 +13,6 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item class="" style="float: right;">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
@ -25,15 +24,15 @@
<div class="wrap-box">
<div class="k_" id="k_1">
<div class="size_">会员总数</div>
<div class="title_">{{orderStatistics.sumnum}}</div>
<div class="title_">{{orderStatistics.sumnum || 0}}</div>
</div>
<div class="k_" id="k_2">
<div class="size_">累计充值金额万元</div>
<div class="title_">{{orderStatistics.tongjMoney}}</div>
<div class="title_">{{orderStatistics.tongjMoney || 0}}</div>
</div>
<div class="k_" id="k_3">
<div class="size_">会员总消费万元</div>
<div class="title_">{{orderStatistics.tongjXfMoney}}</div>
<div class="title_">{{orderStatistics.tongjXfMoney || 0}}</div>
</div>
<div class="k_" id="k_4">
<div class="size_">会员总余额万元</div>
@ -49,7 +48,7 @@
</div>
<div class="k_" id="k_7">
<div class="size_">累计储值卡余额 </div>
<div class="title_">{{orderStatistics.balanceSum}}</div>
<div class="title_">{{orderStatistics.balanceSum || 0}}</div>
</div>
</div>
</el-card>
@ -246,7 +245,7 @@ import {getFenXiUserbalanceDataApi, getFenXiUserbalanceListApi} from "@/api/fina
}
.k_{
width: 200px;
height: 80px;
height: 75px;
margin-right: 20px;
box-sizing: border-box;
padding: 15px 10px;
@ -265,37 +264,44 @@ import {getFenXiUserbalanceDataApi, getFenXiUserbalanceListApi} from "@/api/fina
}
#k_1{
background: url("../imgs/k1.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_2{
background: url("../imgs/k2.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_3{
background: url("../imgs/k3.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_4{
background: url("../imgs/k4.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_5{
background: url("../imgs/k5.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_6{
background: url("../imgs/k6.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
#k_7{
background: url("../imgs/k7.png");
background-size: cover; /* 背景图片铺满盒子 */
background-repeat: no-repeat; /* 禁止背景图片重复 */
background-size:100% 100%;
box-sizing: border-box;
}
</style>

View File

@ -42,7 +42,7 @@
<div class="right-box">
<div class="title_">
<div>通知中心</div>
<div style="font-size: 12px;color: #BBBBBB;display: flex;align-items: center">更多 <i class="el-icon-arrow-right"></i> </div>
<div style="font-size: 12px;color: #BBBBBB;display: flex;align-items: center" @click="goRoute">更多 <i class="el-icon-arrow-right"></i> </div>
</div>
<!-- <div class="hang_" v-for="(item,index) in 4" :key="index" >到期提醒百业兴智慧油站系统将于2024年07月10日到期...</div>-->
<div class="hang_" v-for="(item,index) in noticeList" :key="index" >{{ item.notificationType }}{{ item.templateContent }}</div>
@ -124,7 +124,22 @@
</div>
</div>
<div class="right-box-t">
<div class="h-tt" >硬件设备</div>
<!-- <div class="h-tt" >硬件设备</div>-->
<div class="title_">
<div>硬件设备</div>
<div style="font-size: 12px;color: #BBBBBB;display: flex;align-items: center">
<el-popover
placement="bottom"
width="200"
trigger="click">
<div>
联系人张总<br>
联系电话15666665287
</div>
<el-button slot="reference" style="border: 0px" type="text"><img src="@/assets/images/phone.png"></el-button>
</el-popover>
</div>
</div>
<div class="d-s" style="margin: 30px 0px" v-for="(item,index) in hardwareList" :key="index" >
<!-- <div class="r-img">-->
<!-- <img src="../../assets/images/pcin.png" style="width: 84px;height: 70px">-->
@ -241,6 +256,9 @@ export default {
// this.initChart()
},
methods:{
goRoute(){
this.$router.push("system/notify/page/getNotify")
},
getNoticeList(){
getNotificationlogList({pageNo: 1, pageSize: 4,sentTo:this.accountId}).then(res => {
this.noticeList = res.data.records
@ -341,24 +359,25 @@ export default {
let tradeAmountList = []
let tradeNumList = []
if (this.storeList.length>0) {
for (let i = 0; i < 24; i++) {
let flag = false;
let hour = i.toString().padStart(2, '0') + ":00"; //
// for (let i = 0; i < 24; i++) {
// let flag = false;
// let hour = i.toString().padStart(2, '0') + ":00"; //
this.storeList.forEach(item => {
if (item.tradeTime == hour){
flag = true
// if (item.tradeTime == hour){
// flag = true
hourList.push(item.tradeTime);
storeNumList.push(item.storeNum)
tradeAmountList.push(item.tradeAmount)
tradeNumList.push(item.tradeNum)
}
// }
})
hourList.push(hour);
if (!flag) {
storeNumList.push(0)
tradeAmountList.push(0)
tradeNumList.push(0)
}
}
// hourList.push(hour);
// if (!flag) {
// storeNumList.push(0)
// tradeAmountList.push(0)
// tradeNumList.push(0)
// }
// }
}else {
hourList = ['00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00', '07:00', '08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00', '23:00']
storeNumList = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
@ -399,8 +418,10 @@ export default {
show: false
},
data: [
{ value: 1548, name: '非七日活跃' },
{ value: 775, name: '七日活跃' }
// { value: 1548, name: '' },
// { value: 775, name: '' }
{ value: Number(this.storeAmount.noWeekStoreTotal), name: '本月新增非七日活跃油站' },
{ value: Number(this.storeAmount.weekStoreTotal), name: '本月新增七日活跃油站' }
]
},
{
@ -428,8 +449,10 @@ export default {
}
},
data: [
{ value: 1048, name: '本月新增' },
{ value: 335, name: '非本月新增' }
// { value: 1048, name: '' },
// { value: 335, name: '' }
{ value: Number(this.storeAmount.noAddStoreTotal), name: '非本月新增' },
{ value: Number(this.storeAmount.addStoreTotal), name: '本月新增' },
]
}
]
@ -491,10 +514,10 @@ export default {
},
data: [
{ value: 50, name: '富友交易金额占比 ' },
{ value: 50, name: '拉卡拉交易金额占比' }
// { value: this.countPercentage(Number(this.storeAmount.fuYouAmount),Number(this.storeAmount.fuYouAmount) + Number(this.storeAmount.laKaLaAmount)), name: '' },
// { value: this.countPercentage(Number(this.storeAmount.laKaLaAmount),Number(this.storeAmount.fuYouAmount) + Number(this.storeAmount.laKaLaAmount)), name: '' }
// { value: 50, name: ' ' },
// { value: 50, name: '' }
{ value: this.countPercentage(Number(this.storeAmount.fuYouAmount),Number(this.storeAmount.fuYouAmount) + Number(this.storeAmount.laKaLaAmount)), name: '富友交易金额占比' },
{ value: this.countPercentage(Number(this.storeAmount.laKaLaAmount),Number(this.storeAmount.fuYouAmount) + Number(this.storeAmount.laKaLaAmount)), name: '拉卡拉交易金额占比' }
],
label: {
show: true,
@ -633,10 +656,10 @@ export default {
},
data: [
{ value: 50, name: '富友交易金额占比 ' },
{ value: 50, name: '拉卡拉交易金额占比' }
// { value: this.countPercentage(Number(this.storeAmount.fuYouAmount),Number(this.storeAmount.fuYouAmount) + Number(this.storeAmount.laKaLaAmount)), name: '' },
// { value: this.countPercentage(Number(this.storeAmount.laKaLaAmount),Number(this.storeAmount.fuYouAmount) + Number(this.storeAmount.laKaLaAmount)), name: '' }
// { value: 50, name: '7 ' },
// { value: 50, name: '7' }
{ value: this.countPercentage(Number(this.storeAmount.storeTotal),Number(this.storeAmount.storeTotal) + Number(this.storeAmount.noStoreTotal)), name: '7日活跃油站' },
{ value: this.countPercentage(Number(this.storeAmount.noStoreTotal),Number(this.storeAmount.storeTotal) + Number(this.storeAmount.noStoreTotal)), name: '非7日活跃油站' }
],
label: {
show: true,

View File

@ -131,7 +131,22 @@
</div>
</div>
<div class="right-box-t">
<div class="h-tt" >硬件设备</div>
<!-- <div class="h-tt" >硬件设备</div>-->
<div class="title_">
<div>硬件设备</div>
<div style="font-size: 12px;color: #BBBBBB;display: flex;align-items: center">
<el-popover
placement="bottom"
width="200"
trigger="click">
<div>
联系人张总<br>
联系电话15666665287
</div>
<el-button slot="reference" style="border: 0px" type="text"><img src="@/assets/images/phone.png"></el-button>
</el-popover>
</div>
</div>
<div class="d-s" style="margin: 30px 0px" v-for="(item,index) in hardwareList" :key="index" >
<!-- <div class="r-img">-->
<!-- <img src="../../assets/images/pcin.png" style="width: 84px;height: 70px">-->

View File

@ -53,5 +53,27 @@ public interface MtStoreMapper extends BaseMapper<MtStore> {
List<MtStore> selectStoreList(@Param("storeVo") MtStore store,@Param("ownDeptStr") String ownDeptStr);
/**
* 查询今日时间段内数据信息
* @param store
* @param storeIds
* @return
*/
List<StoreNumVo> selectStoreNum(@Param("storeVo") MtStore store,@Param("storeIds") List<Integer> storeIds);
/**
* 查询周/月内天数数据信息
* @param store
* @param storeIds
* @return
*/
List<StoreNumVo> selectStoreNumByDay(@Param("storeVo") MtStore store,@Param("storeIds") List<Integer> storeIds);
/**
* 查询年内月数数据信息
* @param store
* @param storeIds
* @return
*/
List<StoreNumVo> selectStoreNumByMonth(@Param("storeVo") MtStore store,@Param("storeIds") List<Integer> storeIds);
}

View File

@ -100,4 +100,48 @@
tradeTime) t
GROUP BY t.tradeTime
</select>
<select id="selectStoreNumByDay" resultType="com.fuint.business.store.vo.StoreNumVo">
SELECT t.tradeTime,count(t.store_id) storeNum,sum(t.tradeNum) tradeNum,sum(t.tradeAmount) tradeAmount
FROM (SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS tradeTime,count(id) tradeNum,SUM(pay_money) AS tradeAmount,store_id
FROM all_order_info
<where>
store_id in
<foreach collection="storeIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="storeVo.params.beginTime != null and storeVo.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(create_time,'%y%m%d') &gt;= date_format(#{storeVo.params.beginTime},'%y%m%d')
</if>
<if test="storeVo.params.endTime != null and storeVo.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(create_time,'%y%m%d') &lt;= date_format(#{storeVo.params.endTime},'%y%m%d')
</if>
</where>
GROUP BY
tradeTime,store_id
ORDER BY
tradeTime) t
GROUP BY t.tradeTime
</select>
<select id="selectStoreNumByMonth" resultType="com.fuint.business.store.vo.StoreNumVo">
SELECT t.tradeTime,count(t.store_id) storeNum,sum(t.tradeNum) tradeNum,sum(t.tradeAmount) tradeAmount
FROM (SELECT DATE_FORMAT(create_time, '%Y-%m') AS tradeTime,count(id) tradeNum,SUM(pay_money) AS tradeAmount,store_id
FROM all_order_info
<where>
store_id in
<foreach collection="storeIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="storeVo.params.beginTime != null and storeVo.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(create_time,'%y%m%d') &gt;= date_format(#{storeVo.params.beginTime},'%y%m%d')
</if>
<if test="storeVo.params.endTime != null and storeVo.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(create_time,'%y%m%d') &lt;= date_format(#{storeVo.params.endTime},'%y%m%d')
</if>
</where>
GROUP BY
tradeTime,store_id
ORDER BY
tradeTime) t
GROUP BY t.tradeTime
</select>
</mapper>

View File

@ -58,6 +58,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
@ -737,7 +738,7 @@ public class StoreServiceImpl extends ServiceImpl<MtStoreMapper, MtStore> implem
}
@Override
public List<StoreNumVo> getStoreAmountByTime(MtStore store) {
public List<StoreNumVo> getStoreAmountByTime(MtStore store){
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
SysDept sysDept = deptService.getById(nowAccountInfo.getDeptId());
String ancestors = sysDept.getAncestors();
@ -751,7 +752,38 @@ public class StoreServiceImpl extends ServiceImpl<MtStoreMapper, MtStore> implem
for (MtStore mtStore : mtStores) {
storeIds.add(mtStore.getId());
}
return baseMapper.selectStoreNum(store,storeIds);
List<StoreNumVo> storeNumVos = null;
if (ObjectUtil.isNotEmpty(store.getParams()) && ObjectUtil.isNotEmpty(store.getParams().get("beginTime"))
&& ObjectUtil.isNotEmpty(store.getParams().get("endTime"))){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date today = calendar.getTime();
Calendar calendar1 = Calendar.getInstance();
calendar1.add(Calendar.YEAR, -1); // 将年份减去1
long oneYearAgo = calendar1.getTimeInMillis();
Date yearDay = new Date(oneYearAgo);
try {
if (!today.after( dateFormat.parse(store.getParams().get("beginTime").toString()) )){
storeNumVos = baseMapper.selectStoreNum(store, storeIds);
}else {
if (yearDay.before(dateFormat.parse(store.getParams().get("beginTime").toString()))){
storeNumVos = baseMapper.selectStoreNumByDay(store, storeIds);
}else {
storeNumVos = baseMapper.selectStoreNumByMonth(store, storeIds);
}
}
}catch (Exception e){
e.printStackTrace();
}
}
return storeNumVos;
}
@Override

View File

@ -3,9 +3,14 @@
<mapper namespace="com.fuint.business.storeInformation.mapper.LJStoreMapper">
<select id="selectListDepts" resultType="com.fuint.business.storeInformation.vo.LjStoreVo">
SELECT ms.*,sd.dept_name,sd.leader_name,sd.leader_phone,sd.turnover_type,sd.turnover_limit,
sd.turnover_start_time,sd.turnover_end_time,sd.rates,sd.prepaid_amount,sd.create_time deptCreateTime,sd.store_num
sd.turnover_start_time,sd.turnover_end_time,sd.rates,sd.prepaid_amount,sd.deptCreateTime,sd.store_num
FROM mt_store ms
LEFT JOIN sys_dept sd ON ms.contract_dept_id = sd.dept_id
LEFT JOIN (
SELECT sd1.dept_name,sd1.leader_name,sd1.leader_phone,sd2.turnover_type,sd2.turnover_limit,
sd2.turnover_start_time,sd2.turnover_end_time,sd2.rates,sd2.prepaid_amount,sd1.create_time deptCreateTime,
sd2.store_num,sd1.if_delete,sd1.dept_id,sd1.ancestors
FROM sys_dept sd1 LEFT JOIN sys_dept sd2 on sd1.parent_id = sd2.dept_id
) sd ON ms.contract_dept_id = sd.dept_id
<where>
sd.if_delete = 0 and ms.if_delete = 0
<if test="ownDeptStr !=null and ownDeptStr !=''">