Merge branch 'master' of http://192.168.31.244:3000/byx/oilSystem
This commit is contained in:
commit
37b6b1287b
BIN
fuintAdmin_zt/src/assets/images/phone.png
Normal file
BIN
fuintAdmin_zt/src/assets/images/phone.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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">-->
|
||||
<!--<!– <el-card class="box-card" shadow="hover" v-for="(item,index) in 10" :key="index">–>-->
|
||||
<!--<!– <div slot="header" class="clearfix">–>-->
|
||||
<!--<!– <span>卡片名称</span>–>-->
|
||||
<!--<!– <el-button style="float: right; padding: 3px 0" type="text">切换为当前通道</el-button>–>-->
|
||||
<!--<!– </div>–>-->
|
||||
<!--<!– <div>商户编号:1861975</div>–>-->
|
||||
<!--<!– </el-card>–>-->
|
||||
<!-- <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 : "--" }}</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">
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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");
|
||||
|
@ -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");
|
||||
|
@ -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>
|
||||
|
@ -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,
|
||||
|
@ -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">-->
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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') >= 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') <= 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') >= 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') <= 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>
|
@ -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
|
||||
|
@ -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 !=''">
|
||||
|
Loading…
Reference in New Issue
Block a user