Merge branch 'main' of http://122.51.230.86:3000/dianliang/oil-station
This commit is contained in:
commit
7b926e3713
@ -2,7 +2,7 @@
|
||||
<div class="home-index">
|
||||
<el-carousel height="230px">
|
||||
<el-carousel-item v-for="(item,index) in bannerList" :key="index">
|
||||
<div class="bannser">-
|
||||
<div class="bannser">
|
||||
<img :src="imagePath+item.productImage" alt="">
|
||||
</div>
|
||||
</el-carousel-item>
|
||||
@ -48,14 +48,11 @@
|
||||
<div class="left-box-t">
|
||||
<div class="d-s">
|
||||
<div class="h-tt" style="margin-right: 15px">数据看板</div>
|
||||
<el-dropdown placement="bottom-start" @command="editColor">
|
||||
<div class="h-anniu" :class="{'q-anniu' : dataTimeShow == false}" @click="dataTimeShow = false ">近一周 <i
|
||||
<el-dropdown placement="bottom-start " @command="sjkbStoreAmount">
|
||||
<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 command="今日" index="4">今日</el-dropdown-item>
|
||||
<el-dropdown-item command="昨日" index="4">昨日</el-dropdown-item>
|
||||
<el-dropdown-item command="近一周" index="4">近一周</el-dropdown-item>
|
||||
<el-dropdown-item command="近一月" index="4">近一月</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"> 自定义
|
||||
@ -145,13 +142,15 @@
|
||||
<div class="left-box-t">
|
||||
<div class="d-s" style="margin-bottom: 10px">
|
||||
<div class="h-tt" style="margin-right: 15px">油品交易分析</div>
|
||||
<el-dropdown placement="bottom-start" @command="editColor">
|
||||
<div class="h-anniu" :class="{'q-anniu' : showTimeShow == false}" @click="showTimeShow = false ">近一周 <i
|
||||
<el-dropdown placement="bottom-start" @command="editShow">
|
||||
<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 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"> 自定义
|
||||
@ -174,12 +173,10 @@
|
||||
<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 ">近一周 <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 command="近一周" index="3">近一周</el-dropdown-item>
|
||||
<el-dropdown-item command="近一月" index="3">近一月</el-dropdown-item>
|
||||
<el-dropdown-item command="近一年" index="3">近一年</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>
|
||||
@ -217,13 +214,16 @@
|
||||
<div class="bottom_">
|
||||
<div class="d-s">
|
||||
<div class="h-tt" style="margin-right: 15px">数据统计</div>
|
||||
<el-dropdown placement="bottom-start" @command="editColor">
|
||||
<div class="h-anniu" :class="{'q-anniu' : countTimeShow == false}" @click="countTimeShow = false ">近一周 <i
|
||||
<el-dropdown placement="bottom-start" @command="editCount">
|
||||
<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 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>
|
||||
<div class="h-anniu" :class="{'q-anniu' : countTimeShow == true}" @click="countTimeShow = true"> 自定义
|
||||
@ -265,6 +265,19 @@ export default {
|
||||
props: ["accountId"],
|
||||
data() {
|
||||
return {
|
||||
amountList:[
|
||||
// "今日" ,
|
||||
// "昨日" ,
|
||||
"近一周" ,
|
||||
"本月" ,
|
||||
"本季度" ,
|
||||
"本年"
|
||||
|
||||
],
|
||||
sjkbTitle: "近一周",
|
||||
ypjyTitle: "近一周",
|
||||
ygphTitle: "近一周",
|
||||
sjtjTitle: "近一周",
|
||||
xShow: false,
|
||||
timeShow: false,
|
||||
dataTimeShow : false,
|
||||
@ -335,7 +348,7 @@ export default {
|
||||
start.setMinutes(0)
|
||||
start.setSeconds(0)
|
||||
start.setMilliseconds(0)
|
||||
this.value2 = [start, new Date()];
|
||||
this.value2 = [parseTime(oneWeekAgo), parseTime(nowDate)]
|
||||
this.getStoreList()
|
||||
this.getHardwareList()
|
||||
this.getNoticeList()
|
||||
@ -351,84 +364,227 @@ export default {
|
||||
|
||||
},
|
||||
methods: {
|
||||
goList() {
|
||||
this.$router.push('/notificationList/index')
|
||||
},
|
||||
editColor(command,index){
|
||||
// console.log("command",command)
|
||||
// console.log("index",index.$attrs.index)
|
||||
index = index.$attrs.index
|
||||
// this.timeIndex = command
|
||||
this.disabled = true
|
||||
sjkbStoreAmount(e){
|
||||
console.log(e)
|
||||
this.sjkbTitle = e
|
||||
let command = e
|
||||
if (command=='今日'){
|
||||
let start = new Date();
|
||||
start.setHours(0)
|
||||
start.setMinutes(0)
|
||||
start.setSeconds(0)
|
||||
start.setMilliseconds(0)
|
||||
if (index == "1"){
|
||||
this.countValue = [start,new Date()]
|
||||
}else if (index == "2") {
|
||||
this.showValue = [start,new Date()]
|
||||
}else if (index == "3") {
|
||||
this.value2 = [start,new Date()]
|
||||
}else if (index == "4") {
|
||||
this.value1 = [start,new Date()];
|
||||
}
|
||||
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=='近一周'){
|
||||
let nowDate = new Date();
|
||||
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
|
||||
if (index == "1"){
|
||||
this.countValue = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "2") {
|
||||
this.showValue = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "3") {
|
||||
this.value2 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "4") {
|
||||
this.value1 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}
|
||||
} else if (command=='近一月'){
|
||||
let nowDate = new Date();
|
||||
let oneWeekAgo = new Date(nowDate.getTime() - 30 * 24 * 60 * 60 * 1000)
|
||||
if (index == "1"){
|
||||
this.countValue = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "2") {
|
||||
this.showValue = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "3") {
|
||||
this.value2 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "4") {
|
||||
this.value1 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}
|
||||
} else if (command=='近一年'){
|
||||
let nowDate = new Date();
|
||||
let oneWeekAgo = new Date(nowDate.getFullYear() - 1, nowDate.getMonth(), nowDate.getDate())
|
||||
this.value1 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
if (index == "1"){
|
||||
this.countValue = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "2") {
|
||||
this.showValue = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "3") {
|
||||
this.value2 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}else if (index == "4") {
|
||||
this.value1 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||
}
|
||||
} else if (command=='本月'){
|
||||
const [startTime, endTime] = this.getMonthStartAndToday();
|
||||
this.value1 = [parseTime(startTime),parseTime(endTime)]
|
||||
}else if (command=='本季度'){
|
||||
const [startTime, endTime] = this.getQuarterStartAndEnd();
|
||||
this.value1 = [parseTime(startTime), parseTime(endTime)];
|
||||
} else if (command=='本年'){
|
||||
const [startTime, endTime] = this.getYearStartAndEnd();
|
||||
this.value1 = [parseTime(startTime),parseTime(endTime)]
|
||||
}else if (command=='自定义'){
|
||||
this.disabled = false
|
||||
}
|
||||
if (index == "1") {
|
||||
this.getDataCount()
|
||||
}else if (index == "2") {
|
||||
this.getDataShow()
|
||||
}else if (index == "3") {
|
||||
this.getStoreList()
|
||||
}else if (index == "4") {
|
||||
this.getStoreAmount()
|
||||
this.getStoreAmount()
|
||||
},
|
||||
goList() {
|
||||
this.$router.push('/notificationList/index')
|
||||
},
|
||||
editShow(e){
|
||||
this.disabled = true
|
||||
console.log(e)
|
||||
this.ypjyTitle = e
|
||||
let command = e
|
||||
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=='昨日'){
|
||||
let nowDate = new Date();
|
||||
let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000)
|
||||
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=='本月'){
|
||||
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=='本季度'){
|
||||
const [startTime, endTime] = this.getQuarterStartAndEnd();
|
||||
this.showValue = [parseTime(startTime), parseTime(endTime)];
|
||||
} else if (command=='本年'){
|
||||
const [startTime, endTime] = this.getYearStartAndEnd();
|
||||
this.showValue = [parseTime(startTime),parseTime(endTime)]
|
||||
}else if (command=='自定义'){
|
||||
this.disabled = false
|
||||
}
|
||||
this.getDataShow()
|
||||
},
|
||||
editCount(e){
|
||||
this.disabled = true
|
||||
this.sjtjTitle = e
|
||||
console.log("e",e)
|
||||
let command = e
|
||||
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=='昨日'){
|
||||
let nowDate = new Date();
|
||||
let oneWeekAgo = new Date(nowDate.getTime() - 1 * 24 * 60 * 60 * 1000)
|
||||
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=='本月'){
|
||||
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=='本季度'){
|
||||
const [startTime, endTime] = this.getQuarterStartAndEnd();
|
||||
this.countValue = [parseTime(startTime), parseTime(endTime)];
|
||||
} else if (command=='本年'){
|
||||
const [startTime, endTime] = this.getYearStartAndEnd();
|
||||
this.countValue = [parseTime(startTime),parseTime(endTime)]
|
||||
}else if (command=='自定义'){
|
||||
this.disabled = false
|
||||
}
|
||||
this.getDataCount()
|
||||
},
|
||||
editColor(command){
|
||||
this.disabled = true
|
||||
this.ygphTitle = 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=='近一周'){
|
||||
let nowDate = new Date();
|
||||
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
|
||||
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=='本季度'){
|
||||
const [startTime, endTime] = this.getQuarterStartAndEnd();
|
||||
this.value2 = [parseTime(startTime), parseTime(endTime)];
|
||||
} else if (command=='本年'){
|
||||
const [startTime, endTime] = this.getYearStartAndEnd();
|
||||
this.value2 = [parseTime(startTime),parseTime(endTime)]
|
||||
}else if (command=='自定义'){
|
||||
this.disabled = false
|
||||
}
|
||||
this.getEmployeList()
|
||||
},
|
||||
getMonthStartAndToday() {
|
||||
const now = new Date();
|
||||
const year = now.getFullYear();
|
||||
const month = now.getMonth();
|
||||
|
||||
// 获取当前月的第一天
|
||||
const monthStart = new Date(year, month, 1);
|
||||
|
||||
// 获取当前月的最后一天
|
||||
const monthEnd = new Date(year, month + 1, 0);
|
||||
|
||||
// 格式化输出
|
||||
const format = (date) => {
|
||||
const year = date.getFullYear();
|
||||
const month = ('0' + (date.getMonth() + 1)).slice(-2);
|
||||
const day = ('0' + date.getDate()).slice(-2);
|
||||
return `${year}-${month}-${day}`;
|
||||
};
|
||||
|
||||
const startTime = format(monthStart);
|
||||
const endTime = format(monthEnd);
|
||||
|
||||
return [startTime, endTime];
|
||||
},
|
||||
getQuarterStartAndEnd() {
|
||||
const now = new Date();
|
||||
const year = now.getFullYear();
|
||||
const month = now.getMonth();
|
||||
|
||||
// 计算当前季度的起始月份
|
||||
const quarterStartMonth = Math.floor(month / 3) * 3;
|
||||
|
||||
// 获取当前季度的第一天
|
||||
const quarterStart = new Date(year, quarterStartMonth, 1);
|
||||
|
||||
// 获取当前季度的最后一天
|
||||
const quarterEnd = new Date(year, quarterStartMonth + 3, 0);
|
||||
|
||||
// 格式化输出
|
||||
const format = (date) => {
|
||||
const year = date.getFullYear();
|
||||
const month = ('0' + (date.getMonth() + 1)).slice(-2);
|
||||
const day = ('0' + date.getDate()).slice(-2);
|
||||
return `${year}-${month}-${day}`;
|
||||
};
|
||||
|
||||
const startTime = format(quarterStart);
|
||||
const endTime = format(quarterEnd);
|
||||
|
||||
return [startTime, endTime];
|
||||
},
|
||||
getYearStartAndEnd() {
|
||||
const now = new Date();
|
||||
const year = now.getFullYear();
|
||||
|
||||
// 获取当前年的第一天
|
||||
const yearStart = new Date(year, 0, 1);
|
||||
|
||||
// 获取当前年的最后一天
|
||||
const yearEnd = new Date(year, 11, 31);
|
||||
|
||||
// 格式化输出
|
||||
const format = (date) => {
|
||||
const year = date.getFullYear();
|
||||
const month = ('0' + (date.getMonth() + 1)).slice(-2);
|
||||
const day = ('0' + date.getDate()).slice(-2);
|
||||
return `${year}-${month}-${day}`;
|
||||
};
|
||||
|
||||
const startTime = format(yearStart);
|
||||
const endTime = format(yearEnd);
|
||||
|
||||
return [startTime, endTime];
|
||||
},
|
||||
// 获取员工排行信息
|
||||
getEmployeList() {
|
||||
this.employeLoading = true
|
||||
employeeSalesApi().then(res => {
|
||||
let data = {
|
||||
startTime: this.value2[0],
|
||||
endTime: this.value2[1]
|
||||
}
|
||||
employeeSalesApi(data).then(res => {
|
||||
if (res.code == 200) {
|
||||
if (res.data.length >= 10) {
|
||||
this.employeList = res.data.slice(0, 10);
|
||||
@ -591,53 +747,41 @@ export default {
|
||||
// 首页数据统计
|
||||
const times = this.dataCount.oilData.map(item => item.time);
|
||||
const count = [];
|
||||
for (let i = 0; i < this.dataCount.oilNames.length; i++) {
|
||||
let a = {
|
||||
name: this.dataCount.oilNames[i],
|
||||
color: color[i],
|
||||
type: 'bar',
|
||||
tooltip: {
|
||||
valueFormatter: function (value) {
|
||||
return value;
|
||||
}
|
||||
},
|
||||
barWidth: 13,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
barBorderRadius: [50, 50, 0, 0]
|
||||
}
|
||||
},
|
||||
barGap: '60%',
|
||||
data: this.dataCount.oilData.map(item => item.money[i])
|
||||
let c = ['product', ...this.dataCount.oilNames]
|
||||
let countType = []
|
||||
count.push(c)
|
||||
this.dataCount.oilNames.forEach(item => {
|
||||
let type={
|
||||
type: 'bar'
|
||||
}
|
||||
countType.push(type)
|
||||
})
|
||||
this.dataCount.oilData.forEach(item => {
|
||||
let a =[item.time, ...item.money]
|
||||
count.push(a)
|
||||
}
|
||||
})
|
||||
|
||||
// 首页数据展示
|
||||
const showTimes = this.dataShows.oilData.map(item => item.day);
|
||||
const showCount = [];
|
||||
for (let i = 0; i < this.dataShows.oilNames.length; i++) {
|
||||
let a = {
|
||||
name: this.dataShows.oilNames[i],
|
||||
color: color[i],
|
||||
type: 'bar',
|
||||
tooltip: {
|
||||
valueFormatter: function (value) {
|
||||
return value;
|
||||
}
|
||||
},
|
||||
barWidth: 13,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
barBorderRadius: [50, 50, 0, 0]
|
||||
}
|
||||
},
|
||||
barGap: '60%',
|
||||
data: this.dataShows.oilData.map(item => item.oilPrices[i])
|
||||
// data: oilAmountList
|
||||
let cshow = ['product', ...this.dataShows.oilNames]
|
||||
showCount.push(cshow)
|
||||
let showCountType = []
|
||||
console.log("看看执行")
|
||||
this.dataShows.oilNames.forEach(item => {
|
||||
let type={
|
||||
type: 'bar'
|
||||
}
|
||||
showCountType.push(type)
|
||||
})
|
||||
console.log(this.dataShows.oilData)
|
||||
this.dataShows.oilData.forEach(item => {
|
||||
let a =[item.day, ...item.oilPrices]
|
||||
showCount.push(a)
|
||||
}
|
||||
console.log("showCount",a)
|
||||
})
|
||||
console.log("showCount",showCount)
|
||||
console.log("showCountType",showCountType)
|
||||
|
||||
const option = {
|
||||
color: [
|
||||
@ -677,18 +821,6 @@ export default {
|
||||
name: '',
|
||||
type: 'pie',
|
||||
radius: '80%',
|
||||
// data: [
|
||||
// // { value: 28, name: '28%' },
|
||||
// // { value: 72, name: '72%' },
|
||||
// {
|
||||
// value: this.countPercentage(Number(this.storeAmount.oilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)),
|
||||
// name: "油品交易占比"
|
||||
// },
|
||||
// {
|
||||
// value: this.countPercentage(Number(this.storeAmount.noOilNum), Number(this.storeAmount.oilNum) + Number(this.storeAmount.noOilNum)),
|
||||
// name: "非油品交易占比"
|
||||
// },
|
||||
//
|
||||
// ],
|
||||
data: this.dataAnalysisIfOilList,
|
||||
emphasis: {
|
||||
@ -774,6 +906,10 @@ export default {
|
||||
data: times,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
// rotate: 30
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -790,8 +926,11 @@ export default {
|
||||
}
|
||||
|
||||
],
|
||||
dataset: {
|
||||
source: count
|
||||
},
|
||||
|
||||
series: count,
|
||||
series: countType,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
@ -817,10 +956,13 @@ export default {
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
// data: ['中建锦绣广场1站', '中建锦绣广场2站', '中建锦绣广场3站', '中建锦绣广场4站', '中建锦绣广场5站', '中建锦绣广场6站', '中建锦绣广场7站'],
|
||||
data: showTimes,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
// rotate: 30
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -828,15 +970,15 @@ export default {
|
||||
{
|
||||
type: 'value',
|
||||
name: '金额(元)',
|
||||
// min: 0,
|
||||
// max: 10000,
|
||||
// interval: 2000,
|
||||
axisLabel: {
|
||||
formatter: '{value}'
|
||||
}
|
||||
}
|
||||
],
|
||||
series: showCount,
|
||||
dataset: {
|
||||
source: showCount
|
||||
},
|
||||
series: showCountType,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
|
@ -93,7 +93,7 @@ public class FleetInfoController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/getFleetInfoByStoreId")
|
||||
public ResponseObject getFleetInfoByStoreId(@Param("storeId")Integer storeId){
|
||||
return getSuccessResult(fleetInfoService.queryByStoreId(storeId));
|
||||
return getSuccessResult(fleetInfoService.queryByStoreId(storeId,null));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -92,6 +92,16 @@ public class FleetMemberController extends BaseController {
|
||||
public ResponseObject add(@RequestBody FleetMember fleetMember) {
|
||||
return getSuccessResult(fleetMemberService.insert(fleetMember));
|
||||
}
|
||||
/**
|
||||
* 新增数据(小程序)
|
||||
*
|
||||
* @param fleetMember 实体
|
||||
* @return 新增结果
|
||||
*/
|
||||
@PostMapping("addUni")
|
||||
public ResponseObject addUni(@RequestBody FleetMember fleetMember) {
|
||||
return getSuccessResult(fleetMemberService.insertUni(fleetMember));
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑数据
|
||||
|
@ -68,7 +68,7 @@ public interface FleetInfoService {
|
||||
* @param storeId
|
||||
* @return
|
||||
*/
|
||||
List<FleetInfoUniVo> queryByStoreId(Integer storeId);
|
||||
List<FleetInfoUniVo> queryByStoreId(Integer storeId,Integer userId);
|
||||
|
||||
/**
|
||||
* 新增车队信息(小程序)
|
||||
|
@ -49,6 +49,13 @@ public interface FleetMemberService {
|
||||
* @return 实例对象
|
||||
*/
|
||||
int insert(FleetMember fleetMember);
|
||||
/**
|
||||
* 新增数据
|
||||
*
|
||||
* @param fleetMember 实例对象
|
||||
* @return 实例对象
|
||||
*/
|
||||
int insertUni(FleetMember fleetMember);
|
||||
|
||||
/**
|
||||
* 新增数据
|
||||
|
@ -212,7 +212,7 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
fleetInfo.setGiveAmount(fleetInfo1.getGiveAmount() + fleetInfo.getGiveAmount1());
|
||||
fleetInfo.setTotalBalance(fleetInfo1.getTotalBalance() + fleetInfo.getRechargeAmount1() + fleetInfo.getGiveAmount1());
|
||||
}
|
||||
return baseMapper.updateById(fleetInfo);
|
||||
return baseMapper.updateById(fleetInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -233,12 +233,15 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<FleetInfoUniVo> queryByStoreId(Integer storeId) {
|
||||
public List<FleetInfoUniVo> queryByStoreId(Integer storeId, Integer userId) {
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
if (ObjectUtil.isEmpty(userId)) {
|
||||
userId = nowAccountInfo.getId();
|
||||
}
|
||||
//查询当前登录人的车队信息
|
||||
List<FleetMember> fleetMembers = fleetMemberMapper.selectList(new LambdaQueryWrapper<FleetMember>()
|
||||
.eq(FleetMember::getStoreId, storeId)
|
||||
.eq(FleetMember::getUserId, nowAccountInfo.getId()));
|
||||
.eq(FleetMember::getUserId, userId));
|
||||
//获取所在车队的id集合
|
||||
List<Integer> fleetIds = fleetMembers.stream().map(FleetMember::getFleetId).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(fleetIds)) {
|
||||
@ -383,7 +386,7 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
int i = baseMapper.updateById(fleetInfo);
|
||||
if (i > 0) {
|
||||
return fleetInfo.getId();
|
||||
}else {
|
||||
} else {
|
||||
throw new RuntimeException("编辑失败");
|
||||
}
|
||||
}
|
||||
@ -415,6 +418,7 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
public int payFleet(String orderId, Double money) {
|
||||
AllOrderInfo allOrderInfo = allOrderInfoMapper.selectOne(new LambdaQueryWrapper<AllOrderInfo>()
|
||||
.eq(AllOrderInfo::getId, orderId));
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
if (ObjectUtil.isEmpty(allOrderInfo)) {
|
||||
throw new RuntimeException("订单不存在");
|
||||
}
|
||||
@ -424,12 +428,24 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
if (ObjectUtil.isEmpty(fleetConsumeRecord)) {
|
||||
throw new RuntimeException("车队订单不存在");
|
||||
}
|
||||
//根据用户id,查询车队信息
|
||||
//查找车队成员
|
||||
FleetMember fleetMember = fleetMemberMapper.selectOne(new LambdaQueryWrapper<FleetMember>()
|
||||
.eq(FleetMember::getUserId, allOrderInfo.getUserId())
|
||||
.orderBy(true, true, FleetMember::getCreateTime)
|
||||
.last("limit 1"));
|
||||
// 获取当前车队卡
|
||||
FleetInfo fleetInfo = baseMapper.selectOne(new LambdaQueryWrapper<FleetInfo>()
|
||||
.eq(FleetInfo::getId, fleetConsumeRecord.getFleetId()));
|
||||
.eq(FleetInfo::getId, fleetMember.getFleetId()));
|
||||
//判断支付金额是否超过当前余额
|
||||
if (money > fleetInfo.getTotalBalance()){
|
||||
throw new RuntimeException("支付金额超过当前余额");
|
||||
if (money > fleetInfo.getTotalBalance()) {
|
||||
throw new RuntimeException("支付金额超过当前车队余额");
|
||||
}
|
||||
|
||||
|
||||
//判断成员的余额是否足够支付
|
||||
if (money > fleetMember.getRemainingCreditLimit()) {
|
||||
throw new RuntimeException("支付金额超过当前剩余额度");
|
||||
}
|
||||
|
||||
//更新时间
|
||||
@ -444,13 +460,22 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
fleetInfo.setRechargeAmount(fleetInfo.getRechargeAmount() - (money * recharge));
|
||||
fleetInfo.setGiveAmount(fleetInfo.getGiveAmount() - (money * give));
|
||||
fleetInfo.setUpdateTime(now);
|
||||
fleetInfo.setUpdateBy(nowAccountInfo.getId().toString());
|
||||
//更新车队卡余额
|
||||
baseMapper.updateById(fleetInfo);
|
||||
|
||||
//计算车队成员剩余额度和已用额度
|
||||
fleetMember.setRemainingCreditLimit(fleetMember.getRemainingCreditLimit() - money);
|
||||
fleetMember.setUsedCreditLimit(fleetMember.getUsedCreditLimit() + money);
|
||||
fleetMember.setUpdateTime(now);
|
||||
fleetMember.setUpdateBy(nowAccountInfo.getId().toString());
|
||||
fleetMemberMapper.updateById(fleetMember);
|
||||
|
||||
//更新订单状态
|
||||
allOrderInfo.setStatus("paid");
|
||||
allOrderInfo.setPayTime(now);
|
||||
allOrderInfo.setUpdateTime(now);
|
||||
allOrderInfo.setUpdateBy(nowAccountInfo.getId().toString());
|
||||
|
||||
allOrderInfoMapper.updateById(allOrderInfo);
|
||||
|
||||
@ -458,6 +483,7 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
fleetConsumeRecord.setOrderStatus("paid");
|
||||
fleetConsumeRecord.setPaymentTime(now);
|
||||
fleetConsumeRecord.setUpdateTime(now);
|
||||
fleetConsumeRecord.setUpdateBy(nowAccountInfo.getId().toString());
|
||||
//计算扣完款后的余额
|
||||
fleetConsumeRecord.setAfterTheChange(fleetInfo.getTotalBalance());
|
||||
|
||||
@ -484,27 +510,33 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
|
||||
if (ObjectUtil.isEmpty(fleetConsumeRecord)) {
|
||||
throw new RuntimeException("车队订单不存在");
|
||||
}
|
||||
if ("paid".equals(fleetConsumeRecord.getOrderStatus())) {
|
||||
//退款金额
|
||||
Double refundMoney = fleetConsumeRecord.getNetReceiptsAmount();
|
||||
//获取当前车队卡
|
||||
FleetInfo fleetInfo = baseMapper.selectOne(new LambdaQueryWrapper<FleetInfo>()
|
||||
.eq(FleetInfo::getId, fleetConsumeRecord.getFleetId()));
|
||||
//计算赠送金额与充值金额比例
|
||||
double recharge = fleetInfo.getRechargeAmount() / fleetInfo.getTotalBalance();
|
||||
double give = fleetInfo.getGiveAmount() / fleetInfo.getTotalBalance();
|
||||
fleetInfo.setTotalBalance(fleetInfo.getTotalBalance() + refundMoney);
|
||||
fleetInfo.setRechargeAmount(fleetInfo.getRechargeAmount() + (refundMoney * recharge));
|
||||
fleetInfo.setGiveAmount(fleetInfo.getGiveAmount() + (refundMoney * give));
|
||||
//将退款金额修改回去
|
||||
baseMapper.updateById(fleetInfo);
|
||||
//将车队订单表改为退款
|
||||
fleetConsumeRecord.setOrderStatus("refund");
|
||||
fleetConsumeRecord.setUpdateTime(DateUtil.date());
|
||||
fleetConsumeRecord.setUpdateBy(nowAccountInfo.getStaffId().toString());
|
||||
return fleetConsumeRecordMapper.updateById(fleetConsumeRecord);
|
||||
}
|
||||
return 0;
|
||||
//退款金额
|
||||
Double refundMoney = fleetConsumeRecord.getNetReceiptsAmount();
|
||||
//获取当前车队卡
|
||||
FleetInfo fleetInfo = baseMapper.selectOne(new LambdaQueryWrapper<FleetInfo>()
|
||||
.eq(FleetInfo::getId, fleetConsumeRecord.getFleetId()));
|
||||
//计算赠送金额与充值金额比例
|
||||
double recharge = fleetInfo.getRechargeAmount() / fleetInfo.getTotalBalance();
|
||||
double give = fleetInfo.getGiveAmount() / fleetInfo.getTotalBalance();
|
||||
fleetInfo.setTotalBalance(fleetInfo.getTotalBalance() + refundMoney);
|
||||
fleetInfo.setRechargeAmount(fleetInfo.getRechargeAmount() + (refundMoney * recharge));
|
||||
fleetInfo.setGiveAmount(fleetInfo.getGiveAmount() + (refundMoney * give));
|
||||
//将退款金额修改回去
|
||||
baseMapper.updateById(fleetInfo);
|
||||
//修改车队成员的余额
|
||||
FleetMember fleetMember = fleetMemberMapper.selectOne(new LambdaQueryWrapper<FleetMember>()
|
||||
.eq(FleetMember::getUserId, allOrderInfo.getUserId()));
|
||||
fleetMember.setRemainingCreditLimit(fleetMember.getRemainingCreditLimit() + refundMoney);
|
||||
fleetMember.setUsedCreditLimit(fleetMember.getUsedCreditLimit() - refundMoney);
|
||||
fleetMember.setUpdateBy(nowAccountInfo.getStaffId().toString());
|
||||
fleetMember.setUpdateTime(DateUtil.date());
|
||||
//更新余额
|
||||
fleetMemberMapper.updateById(fleetMember);
|
||||
//将车队订单表改为退款
|
||||
fleetConsumeRecord.setOrderStatus("refund");
|
||||
fleetConsumeRecord.setUpdateTime(DateUtil.date());
|
||||
fleetConsumeRecord.setUpdateBy(nowAccountInfo.getStaffId().toString());
|
||||
return fleetConsumeRecordMapper.updateById(fleetConsumeRecord);
|
||||
}
|
||||
|
||||
|
||||
|
@ -128,18 +128,17 @@ public class FleetMemberServiceImpl extends ServiceImpl<FleetMemberMapper, Fleet
|
||||
// if (ObjectUtil.isNotEmpty(fleetInfoUniVo) && (fleetInfoUniVo.getUserId() != nowAccountInfo.getId())) {
|
||||
// throw new RuntimeException("请由车队负责人进行此操作");
|
||||
// }
|
||||
//判断用户是否存在选择的车队
|
||||
//判断用户是否加入车队
|
||||
FleetMember fleetMember2 = baseMapper.selectOne(new LambdaQueryWrapper<FleetMember>()
|
||||
.eq(FleetMember::getMobile, fleetMember.getMobile())
|
||||
.eq(FleetMember::getFleetId, fleetMember.getFleetId())
|
||||
.last("limit 1"));
|
||||
if (ObjectUtil.isNotEmpty(fleetMember2)) {
|
||||
throw new RuntimeException("该用户已加入该车队");
|
||||
throw new RuntimeException("该用户已绑定车队");
|
||||
}
|
||||
// if (ObjectUtil.isNotEmpty(fleetMember1)) {
|
||||
// return 0;
|
||||
// }
|
||||
// LJUserVo user = userService.selectUserByMobileAndChantStoreId(fleetMember.getMobile());
|
||||
|
||||
//判断当前车队成员否存在账号
|
||||
MtUser mtUser = mtUserMapper.selectOne(new LambdaQueryWrapper<MtUser>()
|
||||
.eq(MtUser::getMobile, fleetMember.getMobile())
|
||||
@ -168,6 +167,49 @@ public class FleetMemberServiceImpl extends ServiceImpl<FleetMemberMapper, Fleet
|
||||
return baseMapper.insert(fleetMember);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增数据
|
||||
*
|
||||
* @param fleetMember 实例对象
|
||||
* @return 实例对象
|
||||
*/
|
||||
@Override
|
||||
public int insertUni(FleetMember fleetMember) {
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
|
||||
//判断用户是否加入车队
|
||||
FleetMember fleetMember2 = baseMapper.selectOne(new LambdaQueryWrapper<FleetMember>()
|
||||
.eq(FleetMember::getMobile, fleetMember.getMobile())
|
||||
.last("limit 1"));
|
||||
if (ObjectUtil.isNotEmpty(fleetMember2)) {
|
||||
// throw new RuntimeException("该用户已绑定车队");
|
||||
return 0;
|
||||
}
|
||||
|
||||
//判断当前车队成员否存在账号
|
||||
MtUser mtUser = mtUserMapper.selectOne(new LambdaQueryWrapper<MtUser>()
|
||||
.eq(MtUser::getMobile, fleetMember.getMobile())
|
||||
.last("limit 1"));
|
||||
if (ObjectUtil.isEmpty(mtUser)) {
|
||||
//注册用户
|
||||
mtUser = new MtUser();
|
||||
mtUser.setUserNo(editUserNo());
|
||||
mtUser.setMobile(fleetMember.getMobile());
|
||||
mtUser.setName(fleetMember.getName());
|
||||
mtUser.setDescription("车队成员自动注册");
|
||||
mtUser.setCreateTime(DateUtil.date());
|
||||
mtUserMapper.insert(mtUser);
|
||||
|
||||
createVaseInfo(mtUser, nowAccountInfo.getStoreId().toString(), null, null);
|
||||
}
|
||||
|
||||
fleetMember.setUserId(mtUser.getId());
|
||||
fleetMember.setCarNum(mtUser.getCarNo());
|
||||
fleetMember.setStoreId(nowAccountInfo.getStoreId());
|
||||
fleetMember.setChainStoreId(nowAccountInfo.getChainStoreId());
|
||||
return baseMapper.insert(fleetMember);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertFleetMember(FleetMemberVo fleetMember) {
|
||||
FleetMember fleetMember1 = queryByMobile(fleetMember);
|
||||
|
@ -38,7 +38,7 @@ public interface LJStaffMapper extends BaseMapper<LJStaff> {
|
||||
*/
|
||||
int auditPrem(@Param("id")Integer id,@Param("auditPrem") String auditPrem);
|
||||
|
||||
List<Map<String,String>> employeeSales(@Param("storeId") Integer storeId);
|
||||
List<Map<String,String>> employeeSales(@Param("storeId") Integer storeId,@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
List<Map<String,String>> employeeSalesMongth(@Param("storeId") Integer storeId);
|
||||
|
||||
LJStaff selectStaffById(@Param("id") Integer id);
|
||||
|
@ -61,7 +61,7 @@
|
||||
LEFT JOIN (
|
||||
SELECT staff_id, COALESCE(SUM(pay_amount), 0) AS pay_amount
|
||||
FROM oil_order
|
||||
WHERE order_status = 'paid'
|
||||
WHERE order_status = 'paid' and create_time between #{startTime} and #{endTime}
|
||||
GROUP BY staff_id
|
||||
) oo ON ms.id = oo.staff_id
|
||||
LEFT JOIN (
|
||||
@ -69,13 +69,13 @@
|
||||
COALESCE(SUM(CASE WHEN payment_type = 'CASH' THEN amount ELSE 0 END), 0) as recharge_balance
|
||||
|
||||
FROM card_value_record
|
||||
WHERE pay_status = 'paid'
|
||||
WHERE pay_status = 'paid' and create_time between #{startTime} and #{endTime}
|
||||
GROUP BY mt_staff_id
|
||||
) cvr ON ms.id = cvr.mt_staff_id
|
||||
LEFT JOIN (
|
||||
SELECT mt_staff_id, COALESCE(SUM(recharge_balance), 0) as recharge_balance
|
||||
FROM card_fuel_record
|
||||
WHERE pay_status = 'paid'
|
||||
WHERE pay_status = 'paid' and create_time between #{startTime} and #{endTime}
|
||||
GROUP BY mt_staff_id
|
||||
) cfr ON ms.id = cfr.mt_staff_id
|
||||
WHERE
|
||||
|
@ -253,8 +253,8 @@ public class OilOrderController extends BaseController {
|
||||
}
|
||||
// 员工销售
|
||||
@GetMapping("employeeSales")
|
||||
public ResponseObject employeeSales() {
|
||||
return getSuccessResult(orderService.employeeSales());
|
||||
public ResponseObject employeeSales(String startTime, String endTime) {
|
||||
return getSuccessResult(orderService.employeeSales(startTime, endTime));
|
||||
|
||||
}
|
||||
// 储值卡销售额
|
||||
|
@ -158,7 +158,7 @@ public interface OilOrderService extends IService<OilOrder> {
|
||||
|
||||
// 流水统计
|
||||
Map<String, Double> turnoverStatistics();
|
||||
List<Map<String, String>> employeeSales();
|
||||
List<Map<String, String>> employeeSales(String startTime, String endTime);
|
||||
List<Map<String, String>> prepaidCardSales();
|
||||
List<Map<String, String>> tunFuelCardSales();
|
||||
List<Map<String, String>> merchandiseSales();
|
||||
|
@ -1873,12 +1873,19 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
|
||||
List<OilNumber> oilNumbers = oilNumberMapper.selectAllOil(nowAccountInfo.getStoreId());
|
||||
List<String> oilNames = oilNumbers.stream().map(oil -> oil.getOilNames() + oil.getOilType()).collect(Collectors.toList());
|
||||
homeDataShowVo.setOilNames(oilNames);
|
||||
//判断开始时间减去结束时间是否大于等于一年
|
||||
//判断开始时间减去结束时间是否大于等于60天
|
||||
List<String> days = getAllDatesBetween(startTime, endTime);
|
||||
Integer type = 0;
|
||||
if (DateUtil.between(DateUtil.parse(startTime), DateUtil.parse(endTime), DateUnit.DAY) >= 60) {
|
||||
days = getAllDatesBetweenYear(startTime, endTime);
|
||||
type = 1;
|
||||
//判断是否小于等于1天
|
||||
} else if (DateUtil.between(DateUtil.parse(startTime), DateUtil.parse(endTime), DateUnit.DAY) <= 1) {
|
||||
days = getAllDatesBetweenDay(DateUtil.beginOfDay(DateUtil.parse(startTime)).toString(), DateUtil.endOfDay(DateUtil.parse(endTime)).toString());
|
||||
type = 2;
|
||||
} else if (DateUtil.between(DateUtil.parse(startTime), DateUtil.parse(endTime), DateUnit.DAY) >= 30) {
|
||||
days = getAllDatesBetweenMonth(DateUtil.beginOfDay(DateUtil.parse(startTime)).toString(), DateUtil.endOfDay(DateUtil.parse(endTime)).toString());
|
||||
type = 3;
|
||||
}
|
||||
//根据开始时间与结束时间获取所有天数
|
||||
//查询所有订单
|
||||
@ -1898,6 +1905,16 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
|
||||
mapData.put("day", parse.toString("yyyy-MM"));
|
||||
dateTime = DateUtil.beginOfMonth(parse);
|
||||
dateTime1 = DateUtil.endOfMonth(parse);
|
||||
} else if (type == 2) {
|
||||
DateTime parse = DateUtil.parse(day);
|
||||
mapData.put("day", parse.toString("MM-dd HH:mm"));
|
||||
dateTime = DateUtil.beginOfHour(DateUtil.parse(day));
|
||||
dateTime1 = DateUtil.endOfHour(dateTime);
|
||||
}else if (type == 3) {
|
||||
DateTime parse = DateUtil.parse(day);
|
||||
mapData.put("day", parse.toString("yyyy-MM-dd"));
|
||||
dateTime = DateUtil.beginOfDay(parse);
|
||||
dateTime1 = DateUtil.endOfDay(DateUtil.offsetDay(dateTime, 3));
|
||||
} else {
|
||||
mapData.put("day", day);
|
||||
dateTime = DateUtil.beginOfDay(DateUtil.parse(day));
|
||||
@ -1946,12 +1963,43 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
|
||||
List<String> dateList = new ArrayList<>();
|
||||
while (!startDate.isAfter(endDate)) {
|
||||
dateList.add(startDate.format(formatter));
|
||||
startDate = startDate.plusDays(30);
|
||||
startDate = startDate.plusMonths(1);
|
||||
}
|
||||
|
||||
return dateList;
|
||||
}
|
||||
|
||||
public List<String> getAllDatesBetweenDay(String startTime, String endTime) {
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
LocalDateTime startDate = LocalDateTime.parse(startTime, formatter);
|
||||
LocalDateTime endDate = LocalDateTime.parse(endTime, formatter);
|
||||
|
||||
List<String> dateList = new ArrayList<>();
|
||||
while (!startDate.isAfter(endDate)) {
|
||||
dateList.add(startDate.format(formatter));
|
||||
startDate = startDate.plusHours(1);
|
||||
}
|
||||
|
||||
|
||||
return dateList;
|
||||
}
|
||||
public List<String> getAllDatesBetweenMonth(String startTime, String endTime) {
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
LocalDateTime startDate = LocalDateTime.parse(startTime, formatter);
|
||||
LocalDateTime endDate = LocalDateTime.parse(endTime, formatter);
|
||||
|
||||
List<String> dateList = new ArrayList<>();
|
||||
while (!startDate.isAfter(endDate)) {
|
||||
dateList.add(startDate.format(formatter));
|
||||
startDate = startDate.plusDays(3);
|
||||
}
|
||||
|
||||
|
||||
return dateList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算指定支付时间范围和油品名称下的累计支付金额
|
||||
*
|
||||
@ -2085,6 +2133,12 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
|
||||
if (DateUtil.between(DateUtil.parse(startTime), DateUtil.parse(endTime), DateUnit.DAY) >= 60) {
|
||||
allDatesBetween = getAllDatesBetweenYear(startTime, endTime);
|
||||
type = 1;
|
||||
} else if (DateUtil.between(DateUtil.parse(startTime), DateUtil.parse(endTime), DateUnit.DAY) <= 1) {
|
||||
allDatesBetween = getAllDatesBetweenDay(DateUtil.beginOfDay(DateUtil.parse(startTime)).toString(), DateUtil.endOfDay(DateUtil.parse(endTime)).toString());
|
||||
type = 2;
|
||||
} else if (DateUtil.between(DateUtil.parse(startTime), DateUtil.parse(endTime), DateUnit.DAY) >= 30) {
|
||||
allDatesBetween = getAllDatesBetweenMonth(DateUtil.beginOfDay(DateUtil.parse(startTime)).toString(), DateUtil.endOfDay(DateUtil.parse(endTime)).toString());
|
||||
type = 3;
|
||||
}
|
||||
|
||||
List<String> oilNames = new ArrayList<>();
|
||||
@ -2105,6 +2159,16 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
|
||||
params.put("time", parse.toString("yyyy-MM"));
|
||||
dateTime = DateUtil.beginOfMonth(parse);
|
||||
dateTime1 = DateUtil.endOfMonth(parse);
|
||||
} else if (type == 2) {
|
||||
DateTime parse = DateUtil.parse(time);
|
||||
params.put("time", parse.toString("MM-dd HH:mm"));
|
||||
dateTime = DateUtil.beginOfHour(parse);
|
||||
dateTime1 = DateUtil.endOfHour(dateTime);
|
||||
} else if (type == 3) {
|
||||
DateTime parse = DateUtil.parse(time);
|
||||
params.put("time", parse.toString("yyyy-MM-dd"));
|
||||
dateTime = DateUtil.beginOfDay(parse);
|
||||
dateTime1 = DateUtil.endOfDay(DateUtil.offsetDay(dateTime, 3));
|
||||
} else {
|
||||
params.put("time", time);
|
||||
dateTime = DateUtil.beginOfDay(DateUtil.parse(time));
|
||||
|
@ -22,6 +22,7 @@ import com.fuint.business.convenienceSore.entity.LJGoods;
|
||||
import com.fuint.business.convenienceSore.entity.SaleDetail;
|
||||
import com.fuint.business.convenienceSore.service.LJGoodsService;
|
||||
import com.fuint.business.convenienceSore.service.SaleDetailService;
|
||||
import com.fuint.business.fleet.service.FleetInfoService;
|
||||
import com.fuint.business.integral.service.IntegralSettingsService;
|
||||
import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscountChild;
|
||||
import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountService;
|
||||
@ -198,6 +199,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
private IMtUserFuelService userFuelService;
|
||||
@Autowired
|
||||
private CardValueRuleService cardValueRuleService;
|
||||
@Autowired
|
||||
private FleetInfoService fleetInfoService;
|
||||
|
||||
@Override
|
||||
public IPage<OilOrder> selectOilOrderList(Page page, OilOrder order) {
|
||||
@ -487,7 +490,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
MerchantConfig merchantConfig = merchantConfigService.selectMeChByIdIsUse(storeId, transactionType, oilGunId);
|
||||
|
||||
if (ObjectUtil.isEmpty(merchantConfig) && !payType.equals("CASH") && !payType.equals("after_pay") &&
|
||||
!map.get("allAmount").equals("0")) {
|
||||
!map.get("allAmount").equals("0") && !payType.equals("card_value") && !payType.equals("fule_card")
|
||||
&& !payType.equals("car_card_value")) {
|
||||
orders.put("error", "请先配置支付通道");
|
||||
return orders;
|
||||
}
|
||||
@ -1927,11 +1931,11 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
|
||||
// 员工统计
|
||||
@Override
|
||||
public List<Map<String, String>> employeeSales() {
|
||||
public List<Map<String, String>> employeeSales(String startTime, String endTime) {
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
Integer storeId = nowAccountInfo.getStoreId();
|
||||
// 员工统计油品
|
||||
List<Map<String, String>> maps = ljStaffMapper.employeeSales(storeId);
|
||||
List<Map<String, String>> maps = ljStaffMapper.employeeSales(storeId, startTime, endTime);
|
||||
return maps;
|
||||
}
|
||||
|
||||
|
@ -350,7 +350,7 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
|
||||
List<MtUserFuel> list = userFuelService.list(queryWrapper);
|
||||
ljUserVo.setUserFuels(list);
|
||||
//判断当前用户是否存在车队
|
||||
List<FleetInfoUniVo> fleetInfoUniVos = fleetInfoService.queryByStoreId(storeId);
|
||||
List<FleetInfoUniVo> fleetInfoUniVos = fleetInfoService.queryByStoreId(storeId,null);
|
||||
if (CollUtil.isNotEmpty(fleetInfoUniVos)) {
|
||||
ljUserVo.setFleetInfoUniVos(fleetInfoUniVos);
|
||||
}
|
||||
@ -381,6 +381,11 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
|
||||
queryWrapper.eq(MtUserFuel::getStoreId,nowAccountInfo.getStoreId()).eq(MtUserFuel::getMtUserId,it.getId());
|
||||
List<MtUserFuel> list = userFuelService.list(queryWrapper);
|
||||
it.setUserFuels(list);
|
||||
//判断当前用户是否存在车队
|
||||
List<FleetInfoUniVo> fleetInfoUniVos = fleetInfoService.queryByStoreId(nowAccountInfo.getStoreId(),it.getId());
|
||||
if (CollUtil.isNotEmpty(fleetInfoUniVos)) {
|
||||
it.setFleetInfoUniVos(fleetInfoUniVos);
|
||||
}
|
||||
});
|
||||
return ljUserVos;
|
||||
}
|
||||
|
@ -15,10 +15,12 @@
|
||||
placement="bottom"
|
||||
trigger="hover">
|
||||
<div> 储值卡:¥{{ chooseVipUser.cardBalance || 0 }}</div>
|
||||
<div> 储值卡:¥1000.00</div>
|
||||
<div> 储值卡:¥1000.00</div>
|
||||
<div> 储值卡:¥1000.00</div>
|
||||
<div> 储值卡:¥1000.00</div>
|
||||
<div v-if="chooseVipUser.userFuels">
|
||||
<div v-for="(item,index) in chooseVipUser.userFuels" :key="index"> 囤油卡:¥{{ item.fuelAmount }}</div>
|
||||
</div>
|
||||
<div v-if="chooseVipUser.fleetInfoUniVos">
|
||||
<div v-for="(item,index) in chooseVipUser.fleetInfoUniVos" :key="index"> 车队卡:¥{{ item.totalBalance }}</div>
|
||||
</div>
|
||||
<img slot="reference" src="./imgs/kbao.png" style="width: 24px;height: 24px;margin-right: 10px">
|
||||
|
||||
</el-popover>
|
||||
@ -533,6 +535,18 @@
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<!-- 车队卡支付-->
|
||||
<el-dialog
|
||||
title="车队卡支付"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%">
|
||||
<carCard :fleetList="chooseVipUser.fleetInfoUniVos"></carCard>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -543,6 +557,7 @@ import pickUp from './newHomeComponents/pickUpTheOrder.vue'
|
||||
import accountPending from './newHomeComponents/accountPending.vue'
|
||||
import memberRecharge from './newHomeComponents/memberRecharge.vue'
|
||||
import refuelingAmount from './newHomeComponents/refuelingAmount.vue'
|
||||
import carCard from "./newHomeComponents/carCard.vue";
|
||||
import {
|
||||
cashRegisterList,
|
||||
cashRegisterGoodsList,
|
||||
@ -569,6 +584,7 @@ export default {
|
||||
dicts: ['CardCoupon_type'],
|
||||
data() {
|
||||
return {
|
||||
dialogVisible:false,
|
||||
isClickable: false, // 默认不可点击
|
||||
payForm: {
|
||||
realyPayBills: 0.00,
|
||||
@ -787,7 +803,8 @@ export default {
|
||||
pickUp,
|
||||
accountPending,
|
||||
memberRecharge,
|
||||
refuelingAmount
|
||||
refuelingAmount,
|
||||
carCard
|
||||
},
|
||||
created() {
|
||||
//初始化 油枪 商品
|
||||
|
@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm">
|
||||
<el-form-item label="车队卡名称" prop="unitName">
|
||||
<el-select v-model="ruleForm.value" placeholder="请选择车队卡" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<div class="hui-size">车队卡支付时,必须选择车队卡名称后才能进行支付。</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="车队卡余额" prop="residueCreditLimit">
|
||||
<el-input v-model="ruleForm.residueCreditLimit" disabled>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="支付金额" prop="amount">
|
||||
<el-input v-model="ruleForm.amount" disabled>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props:["fleetList"],
|
||||
data(){
|
||||
return{
|
||||
ruleForm: {},
|
||||
unitList:[],
|
||||
rules: {
|
||||
unitName: [
|
||||
{required: true, message: '请输入挂账单位名称', trigger: 'blur'},
|
||||
],
|
||||
amount: [
|
||||
{required: true, message: '请输入活动名称', trigger: 'blur'},
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.unitList = this.fleetList
|
||||
},
|
||||
methods:{}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
@ -5,8 +5,8 @@ module.exports = {
|
||||
// baseUrl: 'https://www.tuofeng.cc/oilAdmin/',
|
||||
// baseUrl: 'https://oilapi.youkerr.com/oilAdmin/',
|
||||
// baseUrl: 'https://8q4f124343.yicp.fun/',
|
||||
baseUrl: 'http://47.94.122.58:8080/',
|
||||
// baseUrl: 'http://localhost:8080/',
|
||||
// baseUrl: 'http://47.94.122.58:8080/',
|
||||
baseUrl: 'http://localhost:8080/',
|
||||
// baseUrl: 'http://192.168.1.5:8002/cdJdc',
|
||||
imagesUrl: 'http://www.nuoyunr.com/lananRsc',
|
||||
// 应用信息
|
||||
|
@ -1,272 +1,281 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="container">
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>姓名</view>
|
||||
<view class="dis">
|
||||
<input v-model="memberInfo.name" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>手机号</view>
|
||||
<view class="dis">
|
||||
<input v-model="memberInfo.mobile" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class="">会员卡号</view>
|
||||
<view class="dis">
|
||||
<input v-model="memberInfo.userCardNum" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class="">车牌号</view>
|
||||
<view class="dis" @click="show1 = !show1">
|
||||
<input v-model="memberInfo.carNum" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>副卡类型</view>
|
||||
<view class="dis" @click="show = !show">
|
||||
<text v-if="memberInfo.secondaryCardType==1">共享副卡-不限额</text>
|
||||
<text v-if="memberInfo.secondaryCardType==2">共享副卡-限额</text>
|
||||
<text v-if="memberInfo.secondaryCardType==3">独立副卡</text>
|
||||
<uni-icons type="right" size="16"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang" style="margin-top: 10px;">
|
||||
<view class=""><span style="color: red;">*</span>是否开启消费通知</view>
|
||||
<view class="dis">
|
||||
<u-switch v-model="memberInfo.isOpenNotice" :activeValue='0' :inactiveValue='1' activeColor="#6DD400"
|
||||
inactiveColor="rgb(230, 230, 230)"></u-switch>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>是否启用</view>
|
||||
<view class="dis">
|
||||
<u-switch v-model="memberInfo.status" activeValue='qy' inactiveValue='jy' activeColor="#6DD400"
|
||||
inactiveColor="rgb(230, 230, 230)"></u-switch>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-end">
|
||||
<view style="display: flex;">
|
||||
<view style="height: 14px;margin-right: 5px;"><u-icon name="info-circle"></u-icon></view>
|
||||
<view>注:</view>
|
||||
</view>
|
||||
<view>
|
||||
<view>共享副卡-不限额:副卡与主卡共享钱包,同步余额。</view>
|
||||
<view>共享副卡-限额:副卡与主卡共享钱包,副卡可设置限额。</view>
|
||||
<view>独立副卡:副卡与主卡独立钱包,独立余额。</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="container">
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>姓名</view>
|
||||
<view class="dis">
|
||||
<input v-model="memberInfo.name" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>手机号</view>
|
||||
<view class="dis">
|
||||
<input v-model="memberInfo.mobile" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class="">会员卡号</view>
|
||||
<view class="dis">
|
||||
<input v-model="memberInfo.userCardNum" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class="">车牌号</view>
|
||||
<view class="dis" @click="show1 = !show1">
|
||||
<input v-model="memberInfo.carNum" style="text-align: right;" placeholder="请输入"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>副卡类型</view>
|
||||
<view class="dis" @click="show = !show">
|
||||
<text v-if="memberInfo.secondaryCardType==1">共享副卡-不限额</text>
|
||||
<text v-if="memberInfo.secondaryCardType==2">共享副卡-限额</text>
|
||||
<text v-if="memberInfo.secondaryCardType==3">独立副卡</text>
|
||||
<uni-icons type="right" size="16"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang" style="margin-top: 10px;">
|
||||
<view class=""><span style="color: red;">*</span>是否开启消费通知</view>
|
||||
<view class="dis">
|
||||
<u-switch v-model="memberInfo.isOpenNotice" :activeValue='0' :inactiveValue='1' activeColor="#6DD400"
|
||||
inactiveColor="rgb(230, 230, 230)"></u-switch>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-hang">
|
||||
<view class=""><span style="color: red;">*</span>是否启用</view>
|
||||
<view class="dis">
|
||||
<u-switch v-model="memberInfo.status" activeValue='qy' inactiveValue='jy' activeColor="#6DD400"
|
||||
inactiveColor="rgb(230, 230, 230)"></u-switch>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-end">
|
||||
<view style="display: flex;">
|
||||
<view style="height: 14px;margin-right: 5px;">
|
||||
<u-icon name="info-circle"></u-icon>
|
||||
</view>
|
||||
<view>注:</view>
|
||||
</view>
|
||||
<view>
|
||||
<view>共享副卡-不限额:副卡与主卡共享钱包,同步余额。</view>
|
||||
<view>共享副卡-限额:副卡与主卡共享钱包,副卡可设置限额。</view>
|
||||
<view>独立副卡:副卡与主卡独立钱包,独立余额。</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="but-sub" @click="submitFrom()">保存</view>
|
||||
<view class="but-sub" @click="submitFrom()">保存</view>
|
||||
|
||||
<u-picker :show="show" :columns="columns" @cancel="cancel" @confirm="confirm"></u-picker>
|
||||
<u-keyboard ref="uKeyboard" mode="car" @change="valChange" @backspace="backspace" :show="show1"
|
||||
@confirm="confirm1" @cancel="cancel1" :overlay="false"></u-keyboard>
|
||||
</view>
|
||||
<u-picker :show="show" :columns="columns" @cancel="cancel" @confirm="confirm"></u-picker>
|
||||
<u-keyboard ref="uKeyboard" mode="car" @change="valChange" @backspace="backspace" :show="show1"
|
||||
@confirm="confirm1" @cancel="cancel1" :overlay="false"></u-keyboard>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '../../utils/request';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
List: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
totalPage: '',
|
||||
value: "",
|
||||
value1: true,
|
||||
value2: true,
|
||||
show: false,
|
||||
show1: false,
|
||||
columns: [
|
||||
['共享副卡-不限额', '共享副卡-限额', '独立副卡']
|
||||
],
|
||||
memberInfo: {
|
||||
carNum: '',
|
||||
isOpenNotice: '0',
|
||||
status: 'qy',
|
||||
secondaryCardType: 1
|
||||
},
|
||||
fleetId: '',
|
||||
memberId: '',
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
if (e.fleetId) {
|
||||
this.fleetId = e.fleetId
|
||||
this.memberInfo.fleetId = e.fleetId
|
||||
}
|
||||
if (e.memberId){
|
||||
this.memberId = e.memberId
|
||||
this.getInfo()
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
//下拉刷新
|
||||
import request from '../../utils/request';
|
||||
|
||||
},
|
||||
onReachBottom() {
|
||||
// 触底加载
|
||||
if (this.pageNo >= this.totalPage) {
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
List: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
totalPage: '',
|
||||
value: "",
|
||||
value1: true,
|
||||
value2: true,
|
||||
show: false,
|
||||
show1: false,
|
||||
columns: [
|
||||
['共享副卡-不限额', '共享副卡-限额', '独立副卡']
|
||||
],
|
||||
memberInfo: {
|
||||
carNum: '',
|
||||
isOpenNotice: '0',
|
||||
status: 'qy',
|
||||
secondaryCardType: 1
|
||||
},
|
||||
fleetId: '',
|
||||
memberId: '',
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
if (e.fleetId) {
|
||||
this.fleetId = e.fleetId
|
||||
this.memberInfo.fleetId = e.fleetId
|
||||
}
|
||||
if (e.memberId) {
|
||||
this.memberId = e.memberId
|
||||
this.getInfo()
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
//下拉刷新
|
||||
|
||||
} else {
|
||||
this.pageNo++
|
||||
},
|
||||
onReachBottom() {
|
||||
// 触底加载
|
||||
if (this.pageNo >= this.totalPage) {
|
||||
|
||||
}
|
||||
},
|
||||
} else {
|
||||
this.pageNo++
|
||||
|
||||
components: {
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
methods: {
|
||||
getInfo() {
|
||||
request({
|
||||
url: '/fleetMember/' + this.memberId,
|
||||
method: 'get',
|
||||
}).then(res => {
|
||||
this.memberInfo = res.data
|
||||
})
|
||||
},
|
||||
submitFrom() {
|
||||
if (!this.memberInfo.name) {
|
||||
uni.showToast({
|
||||
title: '姓名不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!this.memberInfo.mobile) {
|
||||
uni.showToast({
|
||||
title: '手机号不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.memberInfo.id){
|
||||
request({
|
||||
url: '/fleetMember',
|
||||
method: 'put',
|
||||
data: this.memberInfo
|
||||
}).then(res => {
|
||||
uni.navigateBack()
|
||||
})
|
||||
}else{
|
||||
request({
|
||||
url: '/fleetMember',
|
||||
method: 'post',
|
||||
data: this.memberInfo
|
||||
}).then(res => {
|
||||
uni.navigateBack()
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
// 按键被点击(点击退格键不会触发此事件)
|
||||
valChange(val) {
|
||||
// 将每次按键的值拼接到value变量中,注意+=写法
|
||||
this.memberInfo.carNum += val
|
||||
},
|
||||
// 退格键被点击
|
||||
backspace() {
|
||||
// 删除value的最后一个字符
|
||||
if (this.memberInfo.carNum.length) this.memberInfo.carNum = this.memberInfo.carNum.substr(0, this
|
||||
.memberInfo.carNum.length - 1);
|
||||
},
|
||||
cancel1() {
|
||||
this.show1 = false
|
||||
},
|
||||
confirm1() {
|
||||
this.show1 = false
|
||||
},
|
||||
cancel() {
|
||||
this.show = false
|
||||
},
|
||||
confirm(e) {
|
||||
this.memberInfo.secondaryCardType = e.indexs[0] + 1
|
||||
this.show = false
|
||||
},
|
||||
goback() {
|
||||
uni.navigateBack()
|
||||
}
|
||||
}
|
||||
}
|
||||
components: {},
|
||||
methods: {
|
||||
getInfo() {
|
||||
request({
|
||||
url: '/fleetMember/' + this.memberId,
|
||||
method: 'get',
|
||||
}).then(res => {
|
||||
this.memberInfo = res.data
|
||||
})
|
||||
},
|
||||
submitFrom() {
|
||||
if (!this.memberInfo.name) {
|
||||
uni.showToast({
|
||||
title: '姓名不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!this.memberInfo.mobile) {
|
||||
uni.showToast({
|
||||
title: '手机号不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.memberInfo.id) {
|
||||
request({
|
||||
url: '/fleetMember',
|
||||
method: 'put',
|
||||
data: this.memberInfo
|
||||
}).then(res => {
|
||||
uni.navigateBack()
|
||||
})
|
||||
} else {
|
||||
request({
|
||||
url: '/fleetMember/addUni',
|
||||
method: 'post',
|
||||
data: this.memberInfo
|
||||
}).then(res => {
|
||||
if (res.data == 0) {
|
||||
uni.showToast({
|
||||
title: '该用户已绑定车队',
|
||||
icon: 'none'
|
||||
})
|
||||
}else {
|
||||
|
||||
uni.navigateBack()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
// 按键被点击(点击退格键不会触发此事件)
|
||||
valChange(val) {
|
||||
// 将每次按键的值拼接到value变量中,注意+=写法
|
||||
this.memberInfo.carNum += val
|
||||
},
|
||||
// 退格键被点击
|
||||
backspace() {
|
||||
// 删除value的最后一个字符
|
||||
if (this.memberInfo.carNum.length) this.memberInfo.carNum = this.memberInfo.carNum.substr(0, this
|
||||
.memberInfo.carNum.length - 1);
|
||||
},
|
||||
cancel1() {
|
||||
this.show1 = false
|
||||
},
|
||||
confirm1() {
|
||||
this.show1 = false
|
||||
},
|
||||
cancel() {
|
||||
this.show = false
|
||||
},
|
||||
confirm(e) {
|
||||
this.memberInfo.secondaryCardType = e.indexs[0] + 1
|
||||
this.show = false
|
||||
},
|
||||
goback() {
|
||||
uni.navigateBack()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.content {
|
||||
background: #f4f5f6;
|
||||
}
|
||||
.content {
|
||||
background: #f4f5f6;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
box-sizing: border-box;
|
||||
padding-top: 10px;
|
||||
}
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
box-sizing: border-box;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.my-header {
|
||||
width: 100%;
|
||||
height: 88px;
|
||||
background: #ffffff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
color: #000;
|
||||
box-sizing: border-box;
|
||||
padding: 0px 15px;
|
||||
padding-top: 40px;
|
||||
z-index: 99999;
|
||||
.my-header {
|
||||
width: 100%;
|
||||
height: 88px;
|
||||
background: #ffffff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
color: #000;
|
||||
box-sizing: border-box;
|
||||
padding: 0px 15px;
|
||||
padding-top: 40px;
|
||||
z-index: 99999;
|
||||
|
||||
.my-icons {
|
||||
width: 20px;
|
||||
.my-icons {
|
||||
width: 20px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
}
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
.box-hang {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
padding: 15px 15px;
|
||||
border-bottom: 1px solid #f4f5f6;
|
||||
}
|
||||
.box-hang {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
padding: 15px 15px;
|
||||
border-bottom: 1px solid #f4f5f6;
|
||||
}
|
||||
|
||||
.dis {
|
||||
color: #a69999;
|
||||
}
|
||||
.dis {
|
||||
color: #a69999;
|
||||
}
|
||||
|
||||
.box-end {
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
color: #999999;
|
||||
font-size: 12px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.box-end {
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
color: #999999;
|
||||
font-size: 12px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.but-sub {
|
||||
width: 305px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
margin: 0 auto;
|
||||
background-color: #FF9655;
|
||||
color: white;
|
||||
border-radius: 50px;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
bottom: 40px;
|
||||
left: 11%;
|
||||
}
|
||||
</style>
|
||||
.but-sub {
|
||||
width: 305px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
margin: 0 auto;
|
||||
background-color: #FF9655;
|
||||
color: white;
|
||||
border-radius: 50px;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
bottom: 40px;
|
||||
left: 11%;
|
||||
}
|
||||
</style>
|
||||
|
Loading…
Reference in New Issue
Block a user