This commit is contained in:
cclu 2024-04-03 18:39:54 +08:00
parent fffd7aa0d3
commit 0409da422c
9 changed files with 704 additions and 365 deletions

View File

@ -161,7 +161,7 @@
"path": "testPage",
"style":
{
"navigationBarTitleText": "春运趋势图",
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},

View File

@ -16,7 +16,7 @@
</div>
<div class="topBox">
<div class="boxLeft">
<div class="headerTitle">实时分析</div>
<div class="headerTitle">实时车流预警</div>
<!-- : 1个小时入区流量比5月同一时间流量增幅150%以上且每小时入区车辆超过100辆-->
<span class="notice" v-if="selectTab===1">{{ `: 1个小时入区流量比${showMonth}月同一时间流量增幅150%以上且每小时入区车辆超过100辆` }}</span>
<span class="notice" v-if="selectTab===2">: 前20个从今日零时起至今流量与月均同时段增幅情况</span>
@ -46,7 +46,7 @@
<div class="sortBox">
<div class="sortItem" :style="{width:'calc(100% - 330rpx)'}">服务区</div>
<div class="sortItem">
<span class="sortItemText" @click="handleChangeSort(1)">当月</span>
<span class="sortItemText" @click="handleChangeSort(1)">今日</span>
<img class="sortIcon" :style="{transform:sortType===1?'':`rotate(-180deg)`}" :src="sortNumber===1?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectSortIcon.png':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/sortIcon.png'"/>
</div>
<div class="sortItem">
@ -58,6 +58,9 @@
<img class="sortIcon" :style="{transform:sortType===1?'':`rotate(-180deg)`}" :src="sortNumber===3?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectSortIcon.png':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/sortIcon.png'"/>
</div>
</div>
<div class="unitBox" v-if="selectTab===1">
<span class="unit">单位</span>
</div>
<div class="unitBox" v-if="selectTab===2">
<span class="unit">单位万辆</span>
</div>

View File

@ -1039,10 +1039,12 @@
<view class="funItem" @click="goToNational">
<view class="funItemContent">
<view class="funIconBox">
<image class="funIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelLogo.svg"/>
<!-- <image class="funIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelLogo.svg"/>-->
<image class="funIcon" :src="isShowFestival==='spring'?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelLogo.svg':isShowFestival==='qm'?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmIcon.png':''"/>
</view>
<!-- <text class="funText">节日特刊</text>-->
<text class="funText">平安春运</text>
<!-- <text class="funText">平安春运</text>-->
<text class="funText">{{ isShowFestival==='spring'?'平安春运':isShowFestival==='qm'?'清明节':'' }}</text>
</view>
</view>
@ -1608,6 +1610,7 @@ export default {
currentMoney:'',
showMoreFixed:false,//
profitSharingList:[],// list
isShowFestival:'spring',//
}
},
watch:{
@ -1701,6 +1704,9 @@ export default {
...mapGetters({'user':'getUser'})
},
onLoad(option){
if (new Date('2024-04-04 00:00:01').getTime() > new Date('2024-04-04 00:00:00').getTime()){
this.isShowFestival = 'qm'
}
const _this = this
// setTimeout(()=>{
// _this.moneyRateList = [0,0]

View File

@ -219,6 +219,9 @@ const cfu = {
// return item.name
let data = opts.series.filter(subItem=> subItem.name === item.name)[0].real[index]
let day = opts.series.filter(subItem=> subItem.name === item.name)[0].howDayNumber
let festivalType = opts.series[0].selectFestival
console.log('festivalType',festivalType)
console.log('data',data)
console.log('day',day)
let curData = opts.series.filter(subItem=> subItem.name === '24年')[0].real[index]
@ -226,12 +229,12 @@ const cfu = {
let add = Number(((curData/compareData)-1)*100).toFixed(2)
if (item.name==='24年'){
if (data){
return `${item.name}${data?getMoney(data / 10000,2):''}万元${add>0?'+':add<0?'':''}${add?add+'%':''}`
return `${item.name}${data?getMoney(data / 10000,2):''}万元${add>0?'+':add<0?'':''}${add?add+'%':''}${festivalType===1 && index===1?'(清明节)':''}`
}else{
return ' '
}
}else{
return `${item.name}${data?getMoney(data / 10000,2):''}万元`
return `${item.name}${data?getMoney(data / 10000,2):''}万元${festivalType===1 && index===1?'(清明节)':''}`
}
},

View File

@ -1,7 +1,7 @@
<template>
<div class="main">
<div class="top">
<div class="header" :style="{height:menu.height + menu.top + 'px',top:0+'px'}">
<div :class="selectFestival===0?'top springTop':selectFestival===1?'top qmTop':''">
<div :class="selectFestival===0?'header headerSpring':selectFestival===1?'header headerQm':''" :style="{height:menu.height + menu.top + 'px',top:0+'px'}">
<image :style="{bottom: ((statusBarHeight-24)/4)+'px' }" class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
<!-- <img :style="{bottom: ((statusBarHeight-24)/4)+'px' }" class="detailIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverPartDetail.png">-->
<div v-if="showSpring" class="picker" @click="handleGoMap">
@ -28,10 +28,11 @@
<!-- </scroll-view>-->
</div>
<div class="contentPage">
<div class="contentTop">
<div :class="selectFestival===0?'contentTop springContentTop':selectFestival===1?'contentTop qmContentTop':''">
<div class="content">
<div class="left">
<img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverDetail.png"/>
<!-- <img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverDetail.png"/>-->
<img class="detailLogo" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverDetail.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmServicepartDetail.png':''"/>
<!-- <text class="modalUnit">{{selectDateText || ''}}</text>-->
<!-- <text class="modalUnit">{{`/统计到${allDateDay || ''}`}}</text>-->
</div>
@ -48,7 +49,7 @@
<!-- <div class="allBox">-->
<!-- <div :class="currentScroll==='all'?'scrollItem selectItem':'scrollItem'" @click="handleChangeTime('all')">累计</div>-->
<!-- </div>-->
<scroll-view scroll-x="true" class="navList" :scrollIntoView="currentScroll" :scroll-with-animation="true">
<scroll-view scroll-x="true" :class="selectFestival===0?'navList springNav':selectFestival===1?'navList qmNav':''" :scrollIntoView="currentScroll" :scroll-with-animation="true">
<div :class="currentScroll==='item'+item.value?'scrollItem selectItem':'scrollItem'" v-for="(item,index) in scrollList" :key="index" :id="'item'+item.value" @click="handleChangeTime(item.value)">{{item.label}}</div>
</scroll-view>
</div>
@ -158,9 +159,11 @@ export default {
currentServerPart:'',
showSpring: false,
springService:null,//
selectFestival: 0,//
}
},
onLoad(query){
console.log('query',query)
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
@ -173,22 +176,31 @@ export default {
if (query.type){
this.type = Number(query.type)
}
if (query.serverPartList){
this.ServerpartList = JSON.parse(query.serverPartList)
if (query.festivalType){
this.selectFestival = Number(query.festivalType)
}
// if (query.serverPartList){
// this.ServerpartList = JSON.parse(query.serverPartList)
// }
//
let userInfo = uni.getStorageSync('vuex')
userInfo = JSON.parse(userInfo)
this.useInfo = JSON.parse(JSON.stringify(userInfo))
this.lastDay = uni.getStorageSync('lastDay')
// this.lastDay = uni.getStorageSync('lastDay')
this.lastDay = '2024-04-03'
console.log('query',query)
if (this.selectFestival===0){
if (query.currentScroll){
this.currentScroll = query.currentScroll
}else{
this.currentScroll = 'item'+ '2024-03-05'
}
}else if(this.selectFestival===1){
this.currentScroll = 'item'+ this.lastDay
}
//
let dayNumber = 0
@ -205,11 +217,20 @@ export default {
// }else{
// dayNumber = 6 + lastDays
// }
if (this.selectFestival===0){
dayNumber = moment().diff("2024-01-26", "days")
this.howDayNumber = dayNumber<=40?dayNumber:40
}else if(this.selectFestival===1){
dayNumber = moment('2024-04-04').diff("2024-04-03", "days")
this.howDayNumber = dayNumber<=3?dayNumber:3
}
let dateList = []
for (let i = 1;i<=this.howDayNumber;i++){
if (this.selectFestival===0){
dateList.push({label:`${i}`,value:moment("2024-01-25").add(i, 'days').format("YYYY-MM-DD")})
}else if(this.selectFestival===1){
dateList.push({label:`${i}`,value:moment("2024-04-02").add(i, 'days').format("YYYY-MM-DD")})
}
// if (i<7){
// dateList.push({label:`${i}`,value:`2024-01-${26+i-1}`})
// }else{
@ -217,7 +238,7 @@ export default {
// }
}
this.scrollList = dateList
console.log('dateList',dateList)
// this.handleGetPageData()
},
onShow(){
@ -257,18 +278,20 @@ export default {
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear: this.curYear,
compareYear: this.compareYear,
HolidayType:2,
HolidayType:this.selectFestival===0?2:this.selectFestival===1?3:'',
StatisticsDate:time,
ServerpartId: this.springService.Serverpart_ID || this.ServerpartId,
SortStr:`${this.type===1?'revenue':this.type===2?'account':this.type===3?'bayonet':''} ${this.sortType===0?'asc':'desc'}`,
}
// this.dataList
const data = await request.$webGet('CommercialApi/Revenue/GetShopINCAnalysis',req)
if (data.Result_Data){
if(data.Result_Code===100){
this.dataList = this.handleGetSort(data.Result_Data.ShopINCList)
}else{
this.dataList = []
}
}
uni.hideLoading()
},
handleChangeTime(date){
@ -470,20 +493,34 @@ export default {
width: 100%;
height: 100%;
background: #fff;
.springTop{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
}
.qmTop{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmBackground.png");
}
.top{
width: 100%;
height: 324rpx;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmBackground.png");
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 100%;
position: relative;
.headerSpring{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
}
.headerQm{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmBackground.png");
}
.header{
position: fixed;
width: 100%;
padding: 0 16px;
box-sizing: border-box;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmBackground.png");
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 324rpx;
@ -623,10 +660,18 @@ export default {
transform: translateY(-32rpx);
background: #fff;
border-radius: 32rpx 32rpx 0rpx 0rpx;
.springContentTop{
background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
}
.qmContentTop{
background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
}
.contentTop{
width: 100%;
height: 120rpx;
background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
//background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
//background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
border-radius: 32rpx 32rpx 0rpx 0rpx;
box-sizing: border-box;
padding: 24rpx 24rpx 0;
@ -727,10 +772,20 @@ export default {
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #ED3E48;
//color: #226C61;
line-height: 40rpx;
}
}
.springNav{
.selectItem {
color: #ED3E48!important;
}
}
.qmNav{
.selectItem {
color: #226C61!important;
}
}
}
.sortBox{

View File

@ -1,16 +1,16 @@
<template>
<div class="main">
<div class="top">
<div class="header" :style="{height:menu.height + menu.top + 'px',top:0+'px'}">
<div :class="selectFestival===0?'top springTop':selectFestival===1?'top qmTop':''">
<div :class="selectFestival===0?'header headerSpring':selectFestival===1?'header headerQm':'' " :style="{height:menu.height + menu.top + 'px',top:0+'px'}">
<image :style="{bottom: ((statusBarHeight-24)/4)+'px' }" class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
</div>
</div>
<div class="contentPage">
<div class="revenueDetail">
<div class="revenueDetailTitleBox">
<div :class="selectFestival===0?'revenueDetailTitleBox springTitleBox':selectFestival===1?'revenueDetailTitleBox qmTitleBox':''">
<div class="left">
<img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverDetail.png"/>
<img class="detailLogo" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverDetail.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmServicepartDetail.png':''"/>
<!-- <text class="modalUnit">{{selectDateText || ''}}</text>-->
<text class="modalUnit">{{`/统计到${allDateDay || ''}`}}</text>
</div>
@ -27,7 +27,7 @@
<!-- <div class="allBox">-->
<!-- <div :class="currentScroll==='all'?'scrollItem selectItem':'scrollItem'" @click="handleChangeTime('all')">累计</div>-->
<!-- </div>-->
<scroll-view scroll-x="true" class="navList" :scrollIntoView="currentScroll" :scroll-with-animation="true">
<scroll-view scroll-x="true" :class="selectFestival===0?'navList springNav':selectFestival===1?'navList qmNav':''" :scrollIntoView="currentScroll" :scroll-with-animation="true">
<div :class="currentScroll==='item'+item.value?'scrollItem selectItem':'scrollItem'" v-for="(item,index) in scrollList" :key="index" :id="'item'+item.value" @click="handleChangeTime(item.value)">{{item.label}}</div>
</scroll-view>
</div>
@ -35,7 +35,7 @@
<div class="modalBox">
<div class="modalTitleBox">
<div class="modalTitleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">
<div class="modalIndex"></div>
<div class="modalIndex" :style="{background: selectFestival===0?'#DB6465':selectFestival===1?'#3B9285':''}"></div>
<text class="modalText">{{ type===1?'对客销售':type===2?'营业收入':type===3?'入区车流':'' }}</text>
<text class="modalUnit">{{type===3?'/万辆':'/万元'}}</text>
</div>
@ -217,9 +217,11 @@ export default {
menu:'',
pageType:1,//
serverPartList:[],//
selectFestival:0,//
}
},
onLoad(query){
console.log('query',query)
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
@ -228,12 +230,22 @@ export default {
if (query.type){
this.type = Number(query.type)
}
this.lastDay = uni.getStorageSync('lastDay')
// this.lastDay = uni.getStorageSync('lastDay')
this.lastDay = '2024-04-03'
if (query.festivalType){
this.selectFestival = Number(query.festivalType)
}
if (this.selectFestival===0){
if (query.time){
this.currentScroll = 'item'+ query.time
}else{
this.currentScroll = 'item'+ '2024-03-05'
}
}else if (this.selectFestival===1){
this.currentScroll = 'item'+ this.lastDay
}
this.ServerpartIds = query.ServerpartIds
@ -256,11 +268,20 @@ export default {
// }else{
// dayNumber = 6 + lastDays
// }
if (this.selectFestival===0){
dayNumber = moment().diff("2024-01-26", "days")
this.howDayNumber = dayNumber<=40?dayNumber:40
}else if(this.selectFestival===1){
dayNumber = moment('2024-04-04').diff("2024-04-03", "days")
this.howDayNumber = dayNumber<=3?dayNumber:3
}
let dateList = []
for (let i = 1;i<=this.howDayNumber;i++){
if (this.selectFestival===0){
dateList.push({label:`${i}`,value:moment("2024-01-25").add(i, 'days').format("YYYY-MM-DD")})
}else if(this.selectFestival===1){
dateList.push({label:`${i}`,value:moment("2024-04-02").add(i, 'days').format("YYYY-MM-DD")})
}
// if (i<7){
// dateList.push({label:`${i}`,value:`2024-01-${26+i-1}`})
// }else{
@ -306,7 +327,7 @@ export default {
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear: this.curYear,
compareYear: this.compareYear,
HolidayType:2,
HolidayType:this.selectFestival===0?2:this.selectFestival===1?3:'',
StatisticsDate:time,
businessRegion:1,
SortStr:`${this.type===1?'revenue':this.type===2?'account':this.type===3?'bayonet':''} ${this.sortType===0?'asc':'desc'}`
@ -314,6 +335,7 @@ export default {
// this.dataList
const data = await request.$webGet('CommercialApi/Revenue/GetServerpartINCAnalysis',req)
console.log('data',data)
if (data.Result_Data){
this.dataList = this.handleGetSort(data.Result_Data.List)
let list = []
if (data.Result_Data.List && data.Result_Data.List.length>0){
@ -322,6 +344,7 @@ export default {
})
}
this.serverPartList = list
}
uni.hideLoading()
},
//
@ -569,7 +592,6 @@ export default {
},
//
handleGoServerPartDetail(obj){
console.log('obj',obj)
let springObj = {
SERVERPART_NAME: obj.ServerpartName,
SPREGIONTYPE_NAME: obj.SPRegionTypeName,
@ -577,7 +599,7 @@ export default {
Serverpart_ID: obj.ServerpartId,
}
uni.setStorageSync('springService',springObj) //
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/merchantRevenue?ServerpartId=${obj.ServerpartId}&type=${this.type}&serverPartList=${JSON.stringify(this.serverPartList)}&currentScroll=${this.currentScroll}`)
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/merchantRevenue?ServerpartId=${obj.ServerpartId}&type=${this.type}&serverPartList=${JSON.stringify(this.serverPartList)}&currentScroll=${this.currentScroll}&festivalType=${this.selectFestival}`)
}
}
}
@ -588,19 +610,33 @@ export default {
.main{
width: 100%;
background: #fff;
.springTop{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
}
.qmTop{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/smallQmBg.png");
}
.top{
width: 100%;
height: 324rpx;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/smallQmBg.png");
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 100%;
.headerSpring{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
}
.headerQm{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/smallQmBg.png");
}
.header{
position: fixed;
width: 100%;
padding: 0 16px;
box-sizing: border-box;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/smallQmBg.png");
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 324rpx;
@ -626,10 +662,17 @@ export default {
box-sizing: border-box;
padding: 2rpx;
margin-top: 24rpx;
.springTitleBox{
background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
}
.qmTitleBox{
background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
}
.revenueDetailTitleBox{
width: 100%;
height: 90rpx;
background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
//background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
//background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
box-sizing: border-box;
padding: 36rpx 34rpx 22rpx;
@ -710,6 +753,7 @@ export default {
}
}
.navList{
width: 100%;
height: 40rpx;
@ -731,10 +775,21 @@ export default {
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #ED3E48;
//color: #ED3E48;
//color: #226C61;
line-height: 40rpx;
}
}
.springNav{
.selectItem {
color: #ED3E48!important;
}
}
.qmNav{
.selectItem {
color: #226C61!important;
}
}
}
.dateText{
font-size: 24rpx;

View File

@ -1,7 +1,7 @@
<template>
<div class="main">
<div class="top">
<div class="header" :style="{height:menu.height + menu.top + 'px',top:0+'px'}">
<div :class="selectFestival===0?'top topSpring':selectFestival===1?'top qmFestival':''">
<div :class="selectFestival===0?'header headerSpring':selectFestival===1?'header headerQm':''" :style="{height:menu.height + menu.top + 'px',top:0+'px'}">
<image :style="{bottom: ((statusBarHeight-24)/4)+'px' }" class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
<!-- <img class="pageTitle" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/pageTitle.png"/>-->
<div v-if="showSpring" class="picker" @click="handleGoMap">
@ -21,19 +21,26 @@
<image class="searchIcon" src="/static/images/seach/searchIcon.svg"/>
<text class="searchText">请输入想看的服务区</text>
</view>
</div>
<picker class="pick" @change="handleChangeFestival($event)" :value="selectFestival" :range="festivalList" range-key="label">
<div class="festivalChangeBox" :style="{paddingTop:menu.bottom + 32 + 'px'}">
<image :style="{width:selectFestival===0?'260rpx':selectFestival===1?'168rpx':'',height:selectFestival===0?'68rpx':selectFestival===1?'68rpx':''}" class="festivalImg" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/pageTitle.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmFestival.png':''"/>
<image class="changeIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/changeFestivalSpring.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/changFestivalQm.png':''"/>
</div>
</picker>
</div>
<div class="pageContent">
<div class="springTravelBox">
<div class="overAllData">
<!-- 对客营收 -->
<div class="overAllDataTop">
<div :class="selectFestival===0?'overAllDataTop springTop':selectFestival===1?'overAllDataTop qmTop':''">
<div class="titleBox">
<div class="titleBoxLeft">
<img class="titleImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png" />
<text class="titleNotice" v-if="!isShowWarningTime">{{`/统计到${allDateDay}`}}</text>
<!-- <img class="titleImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png" />-->
<img class="titleImg" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmSumData.png':''" />
<text class="titleNotice" v-if="!isShowWarningTime && selectFestival===0">{{`/统计到${allDateDay}`}}</text>
<text class="titleNotice" v-if="selectFestival===1">/共统计节日数据5天</text>
</div>
<div class="typeChangeBox" v-if="!showSpring">
<div :class="pageType===1?'normal select':'normal'" @click="handleChangeType(1)">经营板块</div>
@ -479,40 +486,44 @@
</div>
<div class="revenueDetail">
<div class="revenueDetailTitleBox">
<img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueDetailLogo.png"/>
<div :class="selectFestival===0?'springTitleBox revenueDetailTitleBox':selectFestival===1?'qmTitleBox revenueDetailTitleBox':''">
<!-- <img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueDetailLogo.png"/>-->
<img class="detailLogo" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueDetailLogo.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmDaily.png':''"/>
<img class="detailIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueDetailIcon.png"/>
<!-- <text class="modalUnit">单位万元</text>-->
<text class="modalUnit">{{`/统计到${allDateDay || ''}`}}</text>
<!-- <text class="goTest" @click="handleGoTest">看测试页面</text>-->
<img class="goTest" @click="handleGoTest" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBtn.png"/>
<!-- <img class="goTest" @click="handleGoTest" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBtn.png"/>-->
<img class="goTest" @click="handleGoTest" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBtn.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmPic.png':''"/>
</div>
<div class="revenueContent">
<scroll-view scroll-x="true" class="navList" :scrollIntoView="currentScroll" :scroll-with-animation="true">
<scroll-view scroll-x="true" :class="selectFestival===0?'navList springNav':selectFestival===1?'navList qmNav':''" :scrollIntoView="currentScroll" :scroll-with-animation="true">
<div :class="currentScroll==='item'+item.value?'scrollItem selectItem':'scrollItem'" v-for="(item,index) in scrollList" :key="index" :id="'item'+item.value" @click="handleChangeTime(item.value)">{{item.label}}</div>
</scroll-view>
<!-- <span class="dateText">{{selectDateText || ''}}</span>-->
<div class="modalBox">
<div class="modalTitleBox" v-if="pageType===1">
<div class="modalTitleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">
<div class="modalIndex"></div>
<div class="modalIndex" :style="{background: selectFestival===0?'#DB6465':selectFestival===1?'#3B9285':''}"></div>
<text class="modalText">对客销售</text>
<text class="modalUnit">/万元</text>
</div>
<div class="moreBox" @click="handleGoMorePage(1)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
<span class="moreText" :style="{color: selectFestival===0?'#ED3E48':selectFestival===1?'#226C61':''}">服务区排名</span>
<!-- <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>-->
<img class="moreIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/greenRightArrow.png':''"/>
</div>
</div>
<div class="modalTitleBox" v-else>
<div class="modalTitleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">
<div class="modalIndex"></div>
<div class="modalIndex" :style="{background: selectFestival===0?'#DB6465':selectFestival===1?'#3B9285':''}"></div>
<text class="modalText">对客销售</text>
<text class="modalUnit">/万元</text>
</div>
<div class="moreBox" @click="handleGoMorePage(1)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
<span class="moreText" :style="{color: selectFestival===0?'#ED3E48':selectFestival===1?'#226C61':''}">服务区排名</span>
<!-- <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>-->
<img class="moreIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/greenRightArrow.png':''"/>
</div>
</div>
@ -632,13 +643,14 @@
<div class="modalBox">
<div class="modalTitleBox" v-if="pageType===1">
<div class="modalTitleItem" :style="{width: 'calc(100% - 380rpx)',textAlign:'left'}">
<div class="modalIndex"></div>
<div class="modalIndex" :style="{background: selectFestival===0?'#DB6465':selectFestival===1?'#3B9285':''}"></div>
<text class="modalText">营业收入</text>
<text class="modalUnit">/万元</text>
</div>
<div class="moreBox" @click="handleGoMorePage(2)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
<span class="moreText" :style="{color: selectFestival===0?'#ED3E48':selectFestival===1?'#226C61':''}">服务区排名</span>
<!-- <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>-->
<img class="moreIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/greenRightArrow.png':''"/>
</div>
<!-- <div class="modalTitleItem1" style="width: 110rpx">{{pageData.curYearRevenue.value?$util.getMoney(pageData.curYearAccount.value / 10000):'0.00'}}</div>-->
<!-- <div class="modalTitleItem1" style="width: 110rpx">{{pageData.lYearAccount.value?$util.getMoney(pageData.lYearAccount.value / 10000):'0.00'}}</div>-->
@ -653,13 +665,14 @@
</div>
<div class="modalTitleBox" v-else>
<div class="modalTitleItem" :style="{width: 'calc(100% - 380rpx)',textAlign:'left'}">
<div class="modalIndex"></div>
<div class="modalIndex" :style="{background: selectFestival===0?'#DB6465':selectFestival===1?'#3B9285':''}"></div>
<text class="modalText">营业收入</text>
<text class="modalUnit">/万元</text>
</div>
<div class="moreBox" @click="handleGoMorePage(2)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
<span class="moreText" :style="{color: selectFestival===0?'#ED3E48':selectFestival===1?'#226C61':''}">服务区排名</span>
<!-- <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>-->
<img class="moreIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/greenRightArrow.png':''"/>
</div>
</div>
@ -780,13 +793,14 @@
<div class="modalBox">
<div class="modalTitleBox" v-if="pageType===1">
<div class="modalTitleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">
<div class="modalIndex"></div>
<div class="modalIndex" :style="{background: selectFestival===0?'#DB6465':selectFestival===1?'#3B9285':''}"></div>
<text class="modalText">入区车流</text>
<text class="modalUnit">/万辆</text>
</div>
<div class="moreBox" @click="handleGoMorePage(3)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
<span class="moreText" :style="{color: selectFestival===0?'#ED3E48':selectFestival===1?'#226C61':''}">服务区排名</span>
<!-- <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>-->
<img class="moreIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/greenRightArrow.png':''"/>
</div>
<!-- <div class="modalTitleItem1" style="width: 110rpx">{{pageData.curYearBayonet.value?$util.getMoney(pageData.curYearBayonet.value / 10000):'0.00'}}</div>-->
<!-- <div class="modalTitleItem1" style="width: 110rpx">{{pageData.lYearBayonet.value?$util.getMoney(pageData.lYearBayonet.value / 10000):'0.00'}}</div>-->
@ -801,13 +815,14 @@
</div>
<div class="modalTitleBox" v-else>
<div class="modalTitleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">
<div class="modalIndex"></div>
<div class="modalIndex" :style="{background: selectFestival===0?'#DB6465':selectFestival===1?'#3B9285':''}"></div>
<text class="modalText">入区车流</text>
<text class="modalUnit">/万辆</text>
</div>
<div class="moreBox" @click="handleGoMorePage(3)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
<span class="moreText" :style="{color: selectFestival===0?'#ED3E48':selectFestival===1?'#226C61':''}">服务区排名</span>
<!-- <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>-->
<img class="moreIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/greenRightArrow.png':''"/>
</div>
</div>
@ -958,9 +973,16 @@ export default {
leaseInComeDailyNumber:0,//
entryCarDailyAdd:0,//
entryCarDailyNumber:0,//
selectFestival: 0,//
festivalList:[{label:'平安春运',value:1},{label:'清明节',value:2}],//
}
},
async onLoad(query){
if (new Date('2024-04-05 00:00:01').getTime() > new Date('2024-04-05 00:00:00').getTime()){
this.selectFestival = 1
}
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
@ -978,9 +1000,14 @@ export default {
this.curYear = y
this.compareYear = y - 1
this.lastDay = uni.getStorageSync('lastDay')
// this.lastDay = uni.getStorageSync('lastDay')
this.lastDay = '2024-04-03'
// this.currentScroll = 'item'+ uni.getStorageSync('lastDay')
if (this.selectFestival===0){
this.currentScroll = 'item'+ '2024-03-05'
}else if (this.selectFestival===1){
this.currentScroll = 'item'+ this.lastDay
}
const lastDate = new Date(this.lastDay)
let lastM = lastDate.getMonth() + 1
let lastD = lastDate.getDate()
@ -996,12 +1023,24 @@ export default {
// }else{
// dayNumber = 6 + lastDays
// }
if (this.selectFestival===0){
dayNumber = moment().diff("2024-01-26", "days")
}else if (this.selectFestival===1){
dayNumber = moment('2024-04-04').diff("2024-04-03", "days")
}
console.log('dayNumber',dayNumber)
if (this.selectFestival===0){
this.howDayNumber = dayNumber<=40?dayNumber:40
}else if (this.selectFestival===1){
this.howDayNumber = dayNumber<=3?dayNumber:3
}
let dateList = []
for (let i = 1;i<=this.howDayNumber;i++){
if (this.selectFestival===0){
dateList.push({label:`${i}`,value:moment("2024-01-25").add(i, 'days').format("YYYY-MM-DD")})
}else if (this.selectFestival===1){
dateList.push({label:`${i}`,value:moment("2024-04-02").add(i, 'days').format("YYYY-MM-DD")})
}
// if (i<7){
// dateList.push({label:`${i}`,value:`2024-01-${26+i-1}`})
// }else{
@ -1013,8 +1052,10 @@ export default {
// }
}
console.log('dateList',dateList)
if (dateList && dateList.length>0){
this.scrollList = dateList
this.selectDateText = dateList[this.howDayNumber-1].value
}
uni.showLoading({
title: '正在加载...'
})
@ -1046,6 +1087,49 @@ export default {
uni.removeStorageSync('springService')
},
methods:{
//
async handleChangeFestival(e){
this.handleResest()
console.log('e',e)
this.selectFestival = Number(e.detail.value)
if (this.selectFestival===0){
this.currentScroll = 'item'+ '2024-03-05'
}else if(this.selectFestival===1){
this.currentScroll = 'item'+ this.lastDay
}
let dayNumber = 0
if (this.selectFestival===0){
dayNumber = moment().diff("2024-01-26", "days")
}else if (this.selectFestival===1){
dayNumber = moment("2024-04-04").diff("2024-04-03", "days")
}
if (this.selectFestival===0){
this.howDayNumber = dayNumber<=40?dayNumber:40
}else if (this.selectFestival===1){
this.howDayNumber = dayNumber<=3?dayNumber:3
}
let dateList = []
for (let i = 1;i<=this.howDayNumber;i++) {
if (this.selectFestival===0){
dateList.push({label:`${i}`,value:moment("2024-01-25").add(i, 'days').format("YYYY-MM-DD")})
}else if (this.selectFestival===1){
dateList.push({label:`${i}`,value:moment("2024-04-02").add(i, 'days').format("YYYY-MM-DD")})
}
}
if (dateList && dateList.length>0){
this.scrollList = dateList
this.selectDateText = dateList[this.howDayNumber-1].value
}
uni.showLoading({
title: '正在加载...'
})
await this.handleGetNewUpdateTime()
await this.handleGetPageData()
await this.handleGetAreaData()
uni.hideLoading()
},
async handleGetPageData(date){
let req
if (this.springService){
@ -1053,7 +1137,7 @@ export default {
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear:this.curYear,
compareYear:this.compareYear,
HolidayType:this.selectIndex,
HolidayType:this.selectFestival===0?2:this.selectFestival===1?3:'',
StatisticsDate:date || this.lastDay,
ServerpartId:this.springService.Serverpart_ID
}
@ -1062,12 +1146,14 @@ export default {
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear:this.curYear,
compareYear:this.compareYear,
HolidayType:this.selectIndex,
HolidayType:this.selectFestival===0?2:this.selectFestival===1?3:'',
StatisticsDate:date || this.lastDay,
}
}
const data = await request.$webGet('CommercialApi/Revenue/GetHolidayAnalysis',req)
console.log(112321312,data)
if (data.Result_Data){
this.pageData = data.Result_Data
if (this.isFirst){
this.giveTrendObj = {
@ -1179,6 +1265,7 @@ export default {
//
this.entryCarDailyAdd = Number((((this.pageData.curYearBayonet.value / this.pageData.lYearBayonet.value)-1)*100).toFixed(2))
this.entryCarDailyNumber =Number(((this.pageData.curYearBayonet.value - this.pageData.lYearBayonet.value) / 10000).toFixed(2))
}
},
//
async handleGetAreaData(date){
@ -1186,11 +1273,12 @@ export default {
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear:this.curYear,
compareYear:this.compareYear,
HolidayType:this.selectIndex,
HolidayType:this.selectFestival===0?2:this.selectFestival===1?3:'',
StatisticsDate:date || this.lastDay,
businessRegion:1,
}
const data = await request.$webGet('CommercialApi/Revenue/GetHolidaySPRAnalysis',req)
if (data.Result_Data){
let res = data.Result_Data
let list = []
if (res.List && res.List.length>0){
@ -1235,6 +1323,7 @@ export default {
})
}
this.areaDataList = list
}
},
//
async handleGetRestaurantData(date){
@ -1242,7 +1331,7 @@ export default {
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear:this.curYear,
compareYear:this.compareYear,
HolidayType:this.selectIndex,
HolidayType:this.selectFestival===0?2:this.selectFestival===1?3:'',
StatisticsDate:date || this.lastDay,
businessTrade:1
}
@ -1404,11 +1493,11 @@ export default {
//
handleGoMorePage(type){
let time = this.currentScroll.split('item')[1]
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/rankPage?type=${type}&time=${time}`)
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/rankPage?type=${type}&time=${time}&festivalType=${this.selectFestival}`)
},
handleGoTest(type){
let obj = JSON.stringify(this.giveTrendObj)
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/testPage?detailObj=${obj}`)
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/testPage?detailObj=${obj}&festivalType=${this.selectFestival}`)
},
//
async handleGetNewUpdateTime(){
@ -1416,6 +1505,63 @@ export default {
if (this.lastDay === data.Result_Data){
this.isShowWarningTime = false
}
},
//
handleResest(){
this.pageData = null
this.giveTrendObj = {}
this.revenueAdd = null
this.revenueNumber = null
this.selfRevenueNumber = null
this.selfRevenueAdd = null
this.selfStoresRevenueNumber = null
this.selfStoresRevenueAdd = null
this.GRORevenueNumber = null
this.GRORevenueAdd = null
this.outsourceRevenueNumber = null
this.outsourceRevenueAdd = null
this.leaseRevenueNumber = null
this.leaseRevenueAdd = null
this.tradeAccountAdd = null
this.tradeAccountNumber = null
this.tradeSelfAccountNumber = null
this.tradeSelfAccountAdd = null
this.tradeStoresAccountNumber = null
this.tradeStoresAccountAdd = null
this.tradeSCAAccountNumber = null
this.tradeSCAAccountAdd = null
this.outsourceAccountNumber = null
this.outsourceAccountAdd = null
this.leaseAccountNumber = null
this.leaseAccountAdd = null
this.carEntryAdd = null
this.carEntryNumber = null
this.revenueToCustomerAdd = null
this.revenueToCustomerNumber = null
this.revenueUserAdd = null
this.revenueUserNumber = null
this.revenueStoreAdd = null
this.revenueStoreNumber = null
this.revenueSCAAdd = null
this.revenueSCANumber = null
this.outsourceDailyAdd = null
this.outsourceDailyNumber = null
this.leaseDailyAdd = null
this.leaseDailyNumber = null
this.incomeDailyAdd = null
this.incomeDailyNumber = null
this.inComeDailyRevenueAdd = null
this.inComeDailyRevenueNumber = null
this.inComeDailyStoreAdd = null
this.inComeDailyStoreNumber = null
this.inComeDailyFoodAdd = null
this.inComeDailyFoodNumber = null
this.outsourceInComeDailyAdd = null
this.outsourceInComeDailyNumber = null
this.leaseInComeDailyAdd = null
this.leaseInComeDailyNumber = null
this.entryCarDailyAdd = null
this.entryCarDailyNumber = null
}
}
}
@ -1424,10 +1570,15 @@ export default {
.main{
width: 100%;
height: 100vh;
.topSpring{
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBg.png") !important;
}
.qmFestival{
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmBackground.png") !important;
}
.top{
width: 100%;
height: 432rpx;
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBg.png") !important;
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 100%;
@ -1437,12 +1588,17 @@ export default {
height: 100%;
z-index: 4;
}
.headerSpring{
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBg.png") !important;
}
.headerQm{
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmBackground.png") !important;
}
.header{
position: fixed;
width: 100%;
padding: 0 16px;
box-sizing: border-box;
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBg.png") !important;
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 432rpx;
@ -1539,6 +1695,22 @@ export default {
}
}
}
.festivalChangeBox{
display: flex;
align-items: center;
width: 100%;
box-sizing: border-box;
padding: 32rpx;
.festivalImg{
width: 168rpx;
height: 68rpx;
}
.changeIcon{
width: 32rpx;
height: 32rpx;
margin-left: 12rpx;
}
}
}
.pageContent{
@ -1553,9 +1725,14 @@ export default {
padding: 2rpx;
background: #fff;
border-radius: 16rpx;
.springTop{
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
}
.qmTop{
background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
}
.overAllDataTop{
width: 100%;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
border-radius: 14rpx 14rpx 16rpx 16rpx;
box-sizing: border-box;
padding: 22rpx 22rpx 0;
@ -2026,10 +2203,17 @@ export default {
box-sizing: border-box;
padding: 2rpx;
margin-top: 24rpx;
.springTitleBox{
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
}
.qmTitleBox{
background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
}
.revenueDetailTitleBox{
width: 100%;
height: 90rpx;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
//background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
box-sizing: border-box;
padding: 22rpx;
@ -2088,10 +2272,19 @@ export default {
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #ED3E48;
line-height: 40rpx;
}
}
.springNav{
.selectItem{
color: #ED3E48;
}
}
.qmNav{
.selectItem{
color: #226C61;
}
}
.dateText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -2117,7 +2310,8 @@ export default {
.modalIndex{
width: 12rpx;
height: 12rpx;
background: #DB6465;
//background: #DB6465;
background: #3B9285;
border-radius: 50%;
margin-right: 12rpx;
}
@ -2144,7 +2338,8 @@ export default {
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #ED3E48;
//color: #ED3E48;
color: #226C61;
line-height: 40rpx;
}
.moreIcon{

View File

@ -22,11 +22,12 @@
</div>
<scroll-view scroll-y="true" class="scrollView">
<div class="noticeBox">
<div class="boxBg"></div>
<div class="noticeBox" v-if="selectFestival===0">
<div :class="selectFestival===0?'boxBg springBox':selectFestival===1?'boxBg qmBox':''"></div>
<div class="contentBox">
<img class="contentIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/imgDesc.png"/>
<div class="contentText">
<!-- <img class="contentIcon" src=""/>-->
<img class="contentIcon" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/imgDesc.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/trendChart.png':''"/>
<div class="contentText" v-if="selectFestival===0">
根据历史大数据显示<br/>
<div style="text-indent: 2rem;font-size: 24rpx">
服务区会在春运前至农历小年夜前<span class="red">农历二十二</span>到底回程小高峰然后流量逐步回落至春运最低点<span class="red">除夕夜</span>大年初二开始随着出行自驾游的高峰来临流量逐步放大会在初六达到整个春运最高峰随后流量逐步回落至次低点<span class="red">元宵节</span>在正月十六出现一波返程小高峰后流量逐步回复正常
@ -36,10 +37,11 @@
</div>
<div class="allPkBox">
<div class="boxBg"></div>
<div :class="selectFestival===0?'boxBg springBox':selectFestival===1?'boxBg qmBox':''"></div>
<div class="pkContent">
<div class="contentTop">
<img class="titleImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png" />
<!-- <img class="titleImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png" />-->
<img class="titleImg" :src="selectFestival===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png':selectFestival===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/qmSumData.png':''" />
</div>
<div class="pkBox">
<div class="leftBox">
@ -120,13 +122,18 @@ export default {
allScreen:false,
ScrollTop:0,
howDayNumber:0,
giveTrendObj:{}
giveTrendObj:{},
selectFestival: 0,
}
},
onLoad(query){
console.log('query',query)
if (query.detailObj){
this.giveTrendObj = JSON.parse(query.detailObj)
}
if (query.festivalType){
this.selectFestival = Number(query.festivalType)
}
this.lastDay = uni.getStorageSync('lastDay')
const lastDate = new Date(this.lastDay)
@ -142,11 +149,11 @@ export default {
}
console.log('dayNumber',dayNumber)
this.ScrollTop = (dayNumber-3)*30
if (this.selectFestival===0){
this.howDayNumber = dayNumber
console.log('this.ScrollTop',this.ScrollTop)
}else if (this.selectFestival===1){
this.howDayNumber = 5
}
this.handleGetData()
},
methods:{
@ -156,8 +163,8 @@ export default {
})
const req = {
pushProvinceCode:'340000',
StatisticsDate:'2024-02-01',
holidayType: 2,
StatisticsDate: this.lastDay,
holidayType: this.selectFestival===0?2:this.selectFestival===1?3:'',
curYear:2024,
compareYear:2023,
}
@ -166,6 +173,7 @@ export default {
let dateList = []
let dateList2 = []
let dataObj = data.Result_Data
if (dataObj && dataObj.compareList && dataObj.compareList.length>0){
dataObj.compareList.forEach(item=>{
const date = new Date(item.name)
let m = date.getMonth() + 1
@ -173,6 +181,8 @@ export default {
let dateText = `${m}.${d}`
item.easyDate = dateText
})
}
if (dataObj && dataObj.curList && dataObj.curList.length>0){
dataObj.curList.forEach(item=>{
const date = new Date(item.name)
let m = date.getMonth() + 1
@ -180,8 +190,8 @@ export default {
let dateText = `${m}.${d}`
item.easyDate = dateText
})
}
if (this.selectFestival===0){
for(let i = 1;i<=40;i++){
if (i===7){
// dateList.push(``)
@ -210,22 +220,16 @@ export default {
}
for(let i = 1;i<=40;i++){
dateList2.push(i)
// if (i===8){
// dateList2.push(``)
// }else if(i===9){
// dateList2.push(``)
// }else if(i===15){
// dateList2.push(``)
// }else if(i===16){
// dateList2.push(``)
// }else{
// dateList2.push(i)
// }
}
}else if (this.selectFestival===1){
for(let i = 1;i<=5;i++){
dateList.push(`${i}`)
}
for(let i = 1;i<=5;i++){
dateList2.push(i)
}
}
console.log('dateList',dateList)
console.log('dataObj.compareList',dataObj.compareList)
console.log('dataObj.curList',dataObj.curList)
let max = 0
let compareList = []
let realCompareList = []
@ -235,7 +239,7 @@ export default {
//
let tradDateList = []
if (dataObj){
dateList.forEach((item,index)=>{
// let beforeValue = dataObj.compareList.filter(filter=> filter.easyDate === item)[0]
// beforeValue = beforeValue?beforeValue.value:null
@ -266,6 +270,7 @@ export default {
realCurList.push(0)
}
})
}
max = this.getSplitNumber(max)
let list = ['大年十六','大年十七','大年十八','大年十九','大年二十','大年廿一','大年廿二','北小年','南小年','大年廿五','大年廿六','大年廿七',
@ -282,13 +287,15 @@ export default {
real:realCurList,
tradDate:list,
howDayNumber:this.howDayNumber,
selectFestival: this.selectFestival
},
{
name:`23年`,
data:compareList,
real:realCompareList,
tradDate:list,
howDayNumber:this.howDayNumber
howDayNumber:this.howDayNumber,
selectFestival: this.selectFestival
},
],
max:Number(max.toFixed(2)),
@ -504,13 +511,20 @@ export default {
border-radius: 16rpx;
padding: 4rpx;
position: relative;
.springBox{
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FFF1F1 100%);
}
.qmBox{
background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
}
.boxBg{
z-index: 1;
position: absolute;
top: 4rpx;left: 4rpx;
width: calc(100% - 8rpx);
height: 192rpx;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FFF1F1 100%);
//background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FFF1F1 100%);
//background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
border-radius: 16rpx;
}
.contentBox{
@ -533,6 +547,7 @@ export default {
//margin-top: 16rpx;
.red{
color: red;
//color: #226C61;
}
}
}
@ -546,13 +561,20 @@ export default {
border-radius: 16rpx;
padding: 4rpx;
position: relative;
.springBox{
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FFF1F1 100%);
}
.qmBox{
background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
}
.boxBg{
z-index: 1;
position: absolute;
top: 4rpx;left: 4rpx;
width: calc(100% - 8rpx);
height: 192rpx;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FFF1F1 100%);
//background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FFF1F1 100%);
//background: linear-gradient(360deg, rgba(204,231,224,0) 0%, #CCE7E0 100%);
border-radius: 16rpx;
}
.pkContent{

View File

@ -84,7 +84,7 @@
<view class="itemLeft" >
<image class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/car/itemLeftBg.svg"/>
<view class="nameBox">
<text class="serviceName">{{item.ServerpartName ? item.ServerpartName.split('服务区')[0]:''}}</text>
<text class="serviceName" :style="{fontSize:item.ServerpartName.split('服务区')[0].length>4?'26rpx':'30rpx'}">{{item.ServerpartName ? item.ServerpartName.split('服务区')[0]:''}}</text>
<text class="serviceLabel">服务区</text>
</view>
</view>