# Conflicts:
#	fuintBackend/fuint-application/src/main/resources/application.properties
This commit is contained in:
DESKTOP-369JRHT\12997 2024-07-04 14:00:20 +08:00
commit 8e63b8d2e3
12 changed files with 320 additions and 175 deletions

View File

@ -31,21 +31,22 @@
<div class="xse">总销售额()</div>
</div>
<template v-loading="employeLoading" >
<div class="four-boxx" :class="{'four-act':index%2!=0}" v-for="(item,index) in employeList" :key="index" >
<div class="pm">{{index+1}}</div>
<div class="dis">
<div class="touxiang">
<img src="../../../src/assets/images/avatar.png" class="touxiang">
<div class="box-kuang">
<div class="four-boxx" :class="{'four-act':index%2!=0}" v-for="(item,index) in employeList" :key="index" >
<div class="pm">{{index+1}}</div>
<div class="dis">
<div class="touxiang">
<img src="../../../src/assets/images/avatar.png" class="touxiang">
</div>
<div class="name">{{item.realName}}</div>
</div>
<div class="xs">{{item.cardSum}}</div>
<div class="xs">{{item.fuelSum}}</div>
<div class="xs">{{item.oilSum}}</div>
<div class="xse">{{item.totalSum}}</div>
</div>
<div class="name">{{item.realName}}</div>
</div>
<div class="xs">{{item.cardSum}}</div>
<div class="xs">{{item.fuelSum}}</div>
<div class="xs">{{item.oilSum}}</div>
<div class="xse">{{item.totalSum}}</div>
</div>
</template>
</div>
</div>
</template>
@ -319,4 +320,9 @@ export default {
width: 30%;
text-align: center;
}
.box-kuang{
width: 100%;
height: 345px;
overflow: auto;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,40 +1,51 @@
<template>
<div class="app-container">
<el-card >
<div style="display: flex;align-items: center;justify-content: space-between">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="来源油站" prop="storeIds">-->
<!-- <el-select v-model="queryParams.storeId" filterable clearable placeholder="来源油站" style="width: 100%;">-->
<!-- <el-option v-for="item in storeList" :key="item.id" :label="item.name" :value="item.id"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="会员号" prop="userNo">
<el-form-item label="" prop="userNo">
<el-input
v-model="queryParams.userNo"
placeholder="请输入会员号"
clearable
style="width: 240px;"
style="width: 180px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-form-item label="" prop="mobile">
<el-input
v-model="queryParams.mobile"
placeholder="请输入会员手机号"
clearable
style="width: 240px;"
style="width: 180px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="名称" prop="name">
<el-form-item label="" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入会员名称"
clearable
style="width: 240px;"
style="width: 180px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="会员等级" prop="gradeId">
<el-form-item label="">
<el-date-picker
v-model="beginTime"
style="width: 160px"
type="date"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 160px"
type="date"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="gradeId">
<el-select
v-model="queryParams.gradeId"
clearable
@ -53,127 +64,95 @@
<el-option label="无储值余额" value="noHaveBalance"/>
</el-select>
</el-form-item>
<!-- <el-form-item label="" prop="status">-->
<!-- <el-select-->
<!-- v-model="queryParams.official"-->
<!-- placeholder="全部"-->
<!-- clearable-->
<!-- style="width: 240px"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.official"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="注册时间">
<!-- <el-date-picker-->
<!-- v-model="dateRange"-->
<!-- style="width: 240px"-->
<!-- size="medium"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- type="daterange"-->
<!-- range-separator="至"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- ></el-date-picker>-->
<el-date-picker
v-model="beginTime"
style="width: 160px"
type="date"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 160px"
type="date"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<div>
<el-button style="background: linear-gradient( 180deg, #FF8646 0%, #FFA360 100%); border: transparent " type="primary" @click="handleQuery">搜索</el-button>
<el-button @click="resetQuery">重置</el-button>
<el-button type="primary" @click="handleAdd" >新增</el-button>
</div>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card style="margin-top: 20px">
<div>统计</div>
<!-- <div>统计</div>-->
<template>
<div>
<el-row :gutter="20">
<el-col :span="4">
<div class="sta">
<el-statistic
group-separator=","
:value="total"
title="会员总数"
></el-statistic>
</div>
</el-col>
<el-col :span="4">
<div class="sta">
<el-statistic title="今日新增/昨日新增">
<template slot="formatter">
{{ addNum }}/{{ yesterdayAddNum }}
</template>
</el-statistic>
</div>
</el-col>
<el-col :span="4">
<div class="sta">
<el-statistic
group-separator=","
:precision="2"
:value="balance"
title="储值总余额"
></el-statistic>
</div>
</el-col>
<div class="ds-dbox">
<div class="k-one">
<div class="title_">激活会员总数</div>
<div class="num-size">{{total}}</div>
<img class="r-bot-img" src="./imgs/hy-1.png" alt="">
</div>
<div class="k-two">
<div class="title_">今日新增/昨日新增</div>
<div class="num-size"> {{ addNum }}/{{ yesterdayAddNum }}</div>
<img class="r-bot-img" src="./imgs/hy-2.png" alt="">
</div>
<div class="k-three">
<div class="title_">充值总人数</div>
<div class="num-size">{{balance}}</div>
<img class="r-bot-img" src="./imgs/hy-3.png" alt="">
</div>
<div class="k-four">
<div class="title_">储值总余额</div>
<div class="num-size">{{balance}}</div>
<img class="r-bot-img" src="./imgs/hy-4.png" alt="">
</div>
<div class="k-five">
<div class="title_">积分总余额</div>
<div class="num-size">{{point}}</div>
<img class="r-bot-img" src="./imgs/hy-5.png" alt="">
</div>
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="4">-->
<!-- <div class="sta">-->
<!-- <el-statistic-->
<!-- group-separator=","-->
<!-- :value="total"-->
<!-- title="会员总数"-->
<!-- ></el-statistic>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="4">-->
<!-- <div class="sta">-->
<!-- <el-statistic title="今日新增/昨日新增">-->
<!-- <template slot="formatter">-->
<!-- {{ addNum }}/{{ yesterdayAddNum }}-->
<!-- </template>-->
<!-- </el-statistic>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="4">-->
<!-- <div class="sta">-->
<!-- <el-statistic-->
<!-- group-separator=","-->
<!-- :precision="2"-->
<!-- :value="literCard"-->
<!-- title="升数卡总余额"-->
<!-- :value="balance"-->
<!-- title="储值总余额"-->
<!-- ></el-statistic>-->
<!-- </div>-->
<!-- </el-col>-->
<el-col :span="4">
<div class="sta">
<el-statistic
group-separator=","
:value="point"
title="积分总余额"
></el-statistic>
</div>
</el-col>
<!-- <el-col :span="4">-->
<!-- <div class="sta">-->
<!-- <el-statistic-->
<!-- group-separator=","-->
<!-- :precision="2"-->
<!-- :value="refuelMoney"-->
<!-- title="加油金余额"-->
<!-- :value="point"-->
<!-- title="积分总余额"-->
<!-- ></el-statistic>-->
<!-- </div>-->
<!-- </el-col>-->
</el-row>
<!-- </el-row>-->
</div>
</template>
</el-card>
<el-card style="margin-top: 20px">
<el-button
type="primary"
icon="el-icon-plus"
@click="handleAdd"
>新增会员</el-button>
<el-table ref="tables" v-loading="loading" :data="list"
@selection-change="handleSelectionChange" :default-sort="defaultSort"
@sort-change="handleSortChange">
@ -218,7 +197,9 @@
<el-table-column label="注册时间" align="center" width="160" prop="balCreateTime"/>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.zhzt" :value="scope.row.status"/>
<!-- <dict-tag :options="dict.type.zhzt" :value="scope.row.status"/>-->
<div v-if="scope.row.status == 'qy' " style="color: #0DC291;" >启用</div>
<div v-else style="color: #FF8E8D">禁用</div>
</template>
</el-table-column>
<!-- <el-table-column label="公众号" align="center" prop="official">-->
@ -856,4 +837,81 @@ export default {
color: red;
font-size: 18px;
}
.ds-dbox{
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 15px;
}
.k-one{
width: 19%;
border-radius: 10px;
border: 1px solid #F5DF1A;
background: rgba(252,238,109,0.1);
box-sizing: border-box;
padding: 20px;
position: relative;
overflow: hidden;
}
.k-two{
width: 19%;
border-radius: 10px;
border: 1px solid #0ECB98;
background:rgba(14, 203, 152, 0.10);
box-sizing: border-box;
padding: 20px;
position: relative;
overflow: hidden;
}
.k-three{
width: 19%;
border-radius: 10px;
border: 1px solid #409EFF;
background: rgba(64,158,255,0.1);
box-sizing: border-box;
padding: 20px;
position: relative;
overflow: hidden;
}
.k-four{
width: 19%;
border-radius: 10px;
border: 1px solid #FF8E8D;
background: rgba(255,142,141,0.1);
box-sizing: border-box;
padding: 20px;
position: relative;
overflow: hidden;
}
.k-five{
width: 19%;
border-radius: 10px;
border: 1px solid #647CFF;
background: rgba(100,124,255,0.1);
box-sizing: border-box;
padding: 20px;
position: relative;
overflow: hidden;
}
.r-bot-img{
position: absolute;
bottom: 5px;
right: 5px;
width:54px;
height: 50px;
}
.title_{
font-weight: 400;
font-size: 14px;
color: #999999;
margin-bottom: 10px;
}
.num-size{
font-size: 28px;
color: #333333;
font-weight: bold;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,41 +1,86 @@
<template>
<div class="app-container">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>油枪管理</span>
<div class="bor-bai" v-for="(item,index) in gunList" :key="index">
<div class="box-top">
<div class="title_">{{item.oilType}} {{item.oilName}}</div>
<div>
<el-button
type="primary"
style="background: linear-gradient( 229deg, #FF8646 0%, #FFA360 100%);"
icon="el-icon-plus"
@click="gunAdd(item.numberId)"
>新增油枪</el-button>
</div>
</div>
<div class="conten-bottom">
<div class="cardbox" :class="{ 'act-cardbox': item.status == '启用' }" v-for="(item,index) in item.oilGunList" :key="index">
<div class="cardbox-top" :class="{ 'actcolor':item.status == '启用' }">
<div>{{item.tankName}}</div>
<div style="cursor: pointer" ><i class="el-icon-edit" @click="gunEdit(item)"></i> <i class="el-icon-delete" @click="delGun(item.id)"></i></div>
</div>
<img class="cardbox-rd" src="./imgs/r-img.png" alt="">
<div class="cardbox-title">
<div>{{item.gunName}}</div>
</div>
<div class="cardbox-bottom" :class="{ 'actcolor':item.status == '启用' }">
<!-- <div>ID:{{ item.id }}</div>-->
</div>
<div class="cardboxb" v-if="item.oilMachineGunNumber != null ">
<div>{{item.oilMachineGunNumber}}</div>
</div>
</div>
</div>
<div class="conten-box" v-for="(item,index) in gunList" :key="index">
<div class="conten-top" style="display: flex; justify-content: space-between;">
<div>{{item.oilType}} {{item.oilName}}</div>
<div>
<el-button
type="primary"
icon="el-icon-plus"
@click="gunAdd(item.numberId)"
>新增油枪</el-button>
</div>
</div>
<div class="conten-bottom">
<div class="cardbox" :class="{ 'act-cardbox': item.status == '启用' }" v-for="(item,index) in item.oilGunList" :key="index">
<div class="cardbox-top" :class="{ 'actcolor':item.status == '启用' }">
<div>{{item.tankName}}</div>
<div style="cursor: pointer" ><i class="el-icon-edit" @click="gunEdit(item)"></i> <i class="el-icon-delete" @click="delGun(item.id)"></i></div>
</div>
<div class="cardbox-title">
<div>{{item.gunName}}</div>
</div>
<div class="cardbox-bottom" :class="{ 'actcolor':item.status == '启用' }">
<!-- <div>ID:{{ item.id }}</div>-->
</div>
<div class="cardboxb" v-if="item.oilMachineGunNumber != null ">
<i class="el-icon-share"></i>
<div>{{item.oilMachineGunNumber}}</div>
</div>
</div>
</div>
</div>
</el-card>
</div>
<!-- <el-card class="box-card">-->
<!-- <div slot="header" class="clearfix">-->
<!-- <span>油枪管理</span>-->
<!-- </div>-->
<!-- <div class="conten-box" v-for="(item,index) in gunList" :key="index">-->
<!-- <div class="conten-top" style="display: flex; justify-content: space-between;">-->
<!-- <div>{{item.oilType}} {{item.oilName}}</div>-->
<!-- <div>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-plus"-->
<!-- @click="gunAdd(item.numberId)"-->
<!-- >新增油枪</el-button>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="conten-bottom">-->
<!-- <div class="cardbox" :class="{ 'act-cardbox': item.status == '启用' }" v-for="(item,index) in item.oilGunList" :key="index">-->
<!-- <div class="cardbox-top" :class="{ 'actcolor':item.status == '启用' }">-->
<!-- <div>{{item.tankName}}</div>-->
<!-- <div style="cursor: pointer" ><i class="el-icon-edit" @click="gunEdit(item)"></i> <i class="el-icon-delete" @click="delGun(item.id)"></i></div>-->
<!-- </div>-->
<!-- <img class="cardbox-rd" src="./imgs/r-img.png" alt="">-->
<!-- <div class="cardbox-title">-->
<!-- <div>{{item.gunName}}</div>-->
<!-- </div>-->
<!-- <div class="cardbox-bottom" :class="{ 'actcolor':item.status == '启用' }">-->
<!--&lt;!&ndash; <div>ID:{{ item.id }}</div>&ndash;&gt;-->
<!-- </div>-->
<!-- <div class="cardboxb" v-if="item.oilMachineGunNumber != null ">-->
<!-- <div>{{item.oilMachineGunNumber}}</div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </el-card>-->
<el-dialog
:title="title"
:visible.sync="dialogVisible"
@ -289,12 +334,29 @@ import {cleanTankApi} from "@/api/oilConfig/oilTank";
.app-container{
height: 100%;
}
.text {
font-size: 14px;
}
.bor-bai{
width: 100%;
border-radius: 10px ;
box-sizing: border-box;
padding: 20px;
background: #fff;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
margin-bottom: 20px;
}
.title_{
font-weight: bold;
font-size: 18px;
color: #333333;
}
.wrap-box{
width: 100%;
display: flex;
flex-wrap: wrap;
}
.oil-box{
.item {
margin-bottom: 18px;
}
.clearfix:before,
@ -332,9 +394,18 @@ import {cleanTankApi} from "@/api/oilConfig/oilTank";
padding: 10px;
border-radius: 4px;
width: 19%;
background: url(../../../assets/images/jybjj.png) center no-repeat;
background-size:40% 70%;
background-color: #f9f9f9;
position: relative;
}
.cardbox-rd{
position: absolute;
right: 5px;
bottom: 0px;
width:50px;
height: 50px;
}
.act-cardbox{
position: relative;
@ -345,10 +416,10 @@ import {cleanTankApi} from "@/api/oilConfig/oilTank";
padding: 10px;
border-radius: 4px;
width: 19%;
background: url(../../../assets/images/jybjj.png) center no-repeat;
//background: url(../../../assets/images/jybjj.png) center no-repeat;
background-size:40% 70%;
background-color: #ecf5ff;
color: #409eff !important;
background-color: #fff9f5;
color: #FF9655 !important;
}
.cardboxb{
position: absolute;
@ -359,15 +430,16 @@ import {cleanTankApi} from "@/api/oilConfig/oilTank";
align-items: center;
justify-content: center;
color: white;
font-size: 14px;
font-size: 12px;
left: 0px;
bottom: 0px;
padding-right: 5px;
background: #409eff;
padding: 5px 10px;
background: linear-gradient( 312deg, #FF8646 0%, #FFA360 100%);
border-radius: 0px 10px 0px 10px;
}
.actcolor{
color: #409eff !important;
color: #FF9655 !important;
}
.cardbox-top{
display: flex;
@ -398,5 +470,12 @@ import {cleanTankApi} from "@/api/oilConfig/oilTank";
display: flex;
align-items: center;
}
.box-top{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
</style>

View File

@ -11,9 +11,8 @@ VUE_APP_BASE_API = '/dev-api'
VUE_APP_PUBLIC_PATH = '/'
# 后端接口地址
#VUE_APP_SERVER_URL = 'http://192.168.31.96:8080/'
#VUE_APP_SERVER_URL = 'http://192.168.31.178:8081'
VUE_APP_SERVER_URL = 'http://192.168.31.54:8085/'
VUE_APP_SERVER_URL = 'http://192.168.31.72:8081/'
# cp端地址
# VUE_PC_SERVER_URL = 'http://47.95.206.185:85/'
# VUE_PC_SERVER_URL = 'http://192.168.31.72:8081/'

View File

@ -2036,9 +2036,6 @@ export default {
},
//
/** 重置密码按钮操作 */
handleResetPwd(row) {

View File

@ -1,8 +1,14 @@
# \u57FA\u672C\u914D\u7F6E
server.port=8080
server.port=8081
env.profile=dev
#env.properties.path=D:/workspaces/oilSystem/fuintBackend/configure/
env.properties.path=D:/code/oilSystem/fuintBackend/configure/
#env.properties.path=D:/oil/new-oil/oilSystem/fuintBackend/configure/
#env.properties.path=D:/code/oilSystem/fuintBackend/configure/
#env.properties.path=/www/wwwroot/shenlanshuke/oilAdmin/
# \u6570\u636E\u5E93\u914D\u7F6E