This commit is contained in:
cclu 2024-01-29 21:41:54 +08:00
parent a8abedb26e
commit 0cac71783b
12 changed files with 1180 additions and 117 deletions

View File

@ -120,6 +120,7 @@ const fmoney = (s, n) => {
// 没有小数点的金额格式化
function noDecimal(s){
console.log('s',s)
let fuhao = ''; //如果数字小于零则值为-
if (s < 0) {
s = Math.abs(s);
@ -492,7 +493,7 @@ function getMoney(money){
let num = parseFloat(money + '') + '';
num = parseInt(money * 100 + '') / 100 + ''
let reg = /(-?\d+)(\d{4})/;
let reg = /(-?\d+)(\d{3})/;
while (reg.test(num)) {
num = num.replace(reg, "$1,$2");
}
@ -511,6 +512,25 @@ function getMoney(money){
return num;
}
function getMoneyNoDecimal(money){
if (!money || isNaN(money)) return "0";
let num = parseFloat(money + '') + '';
num = parseInt(money * 100 + '') / 100 + ''
let reg = /(-?\d+)(\d{3})/;
while (reg.test(num)) {
num = num.replace(reg, "$1,$2");
}
let idx = num.indexOf('.')
if (idx === -1) {
num = num
}
if (idx > 0) {
let num_per = num.substring(0, idx)
let num_next = num.substring(idx + 1)
num = num_per
}
return num;
}
@ -535,6 +555,7 @@ export default {
// bMapToQQMap,
playVideo,
getMoney,
getMoneyNoDecimal,
getThisMonthDateList,
handleReduceAMonth
}

15
package-lock.json generated
View File

@ -6,7 +6,7 @@
"": {
"dependencies": {
"chinese-lunar-calendar": "^1.0.1",
"moment": "^2.25.3",
"moment": "^2.30.1",
"sass": "^1.45.1",
"sass-loader": "^10.3.1",
"vuex-persistedstate": "^4.1.0"
@ -760,9 +760,9 @@
}
},
"node_modules/moment": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
"engines": {
"node": "*"
}
@ -1115,6 +1115,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz",
"integrity": "sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ==",
"deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
"dependencies": {
"deepmerge": "^4.2.2",
"shvl": "^2.0.3"
@ -1792,9 +1793,9 @@
}
},
"moment": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
},
"neo-async": {
"version": "2.6.2",

View File

@ -1,7 +1,7 @@
{
"dependencies": {
"chinese-lunar-calendar": "^1.0.1",
"moment": "^2.25.3",
"moment": "^2.30.1",
"sass": "^1.45.1",
"sass-loader": "^10.3.1",
"vuex-persistedstate": "^4.1.0"

View File

@ -131,6 +131,13 @@
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "springTravel",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}
]
},

View File

@ -819,6 +819,8 @@
<!-- 八个有背景的导航栏-->
<view class="funBox">
<!-- 服务区信息 -->
<view class="funItem" @click="handleGoServiceMessage">
<view class="funItemContent">
@ -858,17 +860,18 @@
<text class="funText">财务报表</text>
</view>
</view>
<!-- 节日特刊-->
<view class="funItem" @click="goToNational">
<view class="funItemContent">
<view class="funIconBox">
<image class="funIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/specialIssue.svg"/>
<image class="funIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelLogo.svg"/>
</view>
<text class="funText">节日特刊</text>
<!-- <text class="funText">节日特刊</text>-->
<text class="funText">2024春运</text>
</view>
</view>
<!-- 数智统计-->
<view class="funItem" v-if="false" style="margin-top: 48rpx" @click="changeShowPortrait">
<view class="funItemContent">
@ -4735,7 +4738,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
.funIconBox{
width: 88rpx;
height: 88rpx;
border-radius: 50%;
//border-radius: 50%;
overflow: hidden;
margin-bottom: 16rpx;
.funIcon{

View File

@ -145,8 +145,9 @@ export default {
// this.drawCharts('entryCarNumber', res,config)
},
getSplitNumber(value){
if (value === 0){
return 5
if (value === 0 || value<5){
let num = Math.ceil(Number(value))
return num
}else{
let sum = Number(value) + Number(value) *0.2
return Number((Math.ceil(sum / 1000)).toFixed(0)) * 1000

View File

@ -86,6 +86,7 @@ const cfe = {
return res.name + '年' + res.value + '元';
},
entryCarNumber:function (item, category, index, opts){
console.log('entryCarNumber',1111)
if (item.data){
return item.name + ":" + this.$util.fmoney(item.data.value,2) + '万元';
}else{

View File

@ -60,6 +60,54 @@ const noDecimal = (s) =>{
return fuhao + [...t].reverse().join("")
}
const getMoney = (money)=>{
if (!money || isNaN(money)) return "0.00";
let num = parseFloat(money + '') + '';
num = parseInt(money * 100 + '') / 100 + ''
let reg = /(-?\d+)(\d{3})/;
while (reg.test(num)) {
num = num.replace(reg, "$1,$2");
}
let idx = num.indexOf('.')
if (idx === -1) {
num = num + '.00'
}
if (idx > 0) {
let num_per = num.substring(0, idx) + '.'
let num_next = num.substring(idx + 1).padEnd(2, '0')
num = num_per + num_next
}
return num;
}
const getMoneyNoDecimal = (money)=>{
if (!money || isNaN(money)) return "0";
let num = parseFloat(money + '') + '';
num = parseInt(money * 100 + '') / 100 + ''
let reg = /(-?\d+)(\d{3})/;
while (reg.test(num)) {
num = num.replace(reg, "$1,$2");
}
let idx = num.indexOf('.')
if (idx === -1) {
num = num
}
if (idx > 0) {
let num_per = num.substring(0, idx)
let num_next = num.substring(idx + 1).padEnd(2, '0')
num = num_per
}
return num;
}
//事件转换函数主要用作格式化x轴为时间轴根据需求自行修改
const formatDateTime = (timeStamp, returnType)=>{
var date = new Date();
@ -114,12 +162,33 @@ const cfu = {
},
"entryCarNumber":function (item, category, index, opts){
console.log('item',item)
return item.name
// if (item.data){
// return item.name + ":" + this.$util.fmoney(item.data.value,2) + '万元';
// }else{
// return item.name + ":" + 0 + '万元';
// }
console.log('category',category)
console.log('index',index)
console.log('opts',opts)
// 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
console.log('data',data)
console.log('day',day)
if (data){
if (item.name==='2024年'){
let howWeek = Math.floor(day / 7)
let howDay = day % 7
if (howWeek === index){
return item.name + "" + getMoney(data / 10000,2) + '万元' + `(第${day}天)`;
}else if (howWeek<index){
return item.name + "" + getMoney(data / 10000,2) + '万元';
}else{
return item.name + "" + getMoney(data / 10000,2) + '万元' + `7天`;
}
}else{
return item.name + "" + getMoney(data / 10000,2) + '万元';
}
}else{
return item.name + "" + 0 + '万元';
}
},
monthTotal:function (item, category, index, opts){
let text = ''
@ -295,10 +364,12 @@ const cfu = {
return item.name;
},
yearRevenue:function (item, category, index, opts){
if (item.data){
return item.name + ":" + this.$util.noDecimal(item.data.value) + '辆';
let data = opts.series.filter(subItem=> subItem.name === item.name)[0].real[index]
console.log('data',data)
if (data){
return item.name + "" + getMoneyNoDecimal(data)+ '辆';
}else{
return item.name + ":" + 0 + '辆';
return item.name + "" + 0 + '辆';
}
}
},

View File

@ -32,7 +32,7 @@ export default {
dataList: {
type: Object,
default: () => {}
}
},
},
watch: {
dataList: {
@ -62,6 +62,7 @@ export default {
//
handleCarData(value) {
let res = value
console.log('value',value)
// let res = {
// categories: ["9.28","9.29","9.30","10.1","10.2","10.3","10.4","10.5","10.6","10.7"],
// series: [
@ -78,6 +79,7 @@ export default {
let config = {
max:this.getSplitNumber(value.max)
}
console.log('config',config)
this.res = value
this.opts = {
categories: res.categories,
@ -121,8 +123,9 @@ export default {
// this.drawCharts('yearRevenue', res,config)
},
getSplitNumber(value){
if (value === 0){
return 5
if (value === 0 || value<5){
let num = Math.ceil(Number(value))
return num
}else{
let sum = Number(value) + Number(value) *0.2
if((sum / 10000)<1){

View File

@ -1,9 +1,9 @@
<template>
<div class="main">
<scroll-view :scroll-y="true" class="main">
<div :class="
selectTab===1?'top':
selectIndex===1?'top springTop':
selectIndex===2?'top springTop':
selectIndex===2?'top springTravelTop':
selectIndex===4?'top labourTop':
selectIndex===6?'top summerHolidayTop':
selectIndex===8?'top nationalDayTop':
@ -138,13 +138,16 @@
</div>
<div v-if="selectTab===2" class="selectTab2">
<div class="newDetail">
<div class="newDetail" @click="handleGoDetail">
<div class="newDetailTop">
<div class="newDetailTopLeft">
<img class="leftIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/national/revenueIcon.svg"/>
<div class="leftTextBox">
<span class="leftBoxTitle">营收同比</span>
<span class="leftTime">{{selectIndex!==2 && selectIndex!==4?timeFrame:revenueCompareDetail.curHoliday}}</span>
<span class="leftTime">
<!-- {{selectIndex!==2 && selectIndex!==4?timeFrame:revenueCompareDetail.curHoliday}}-->
{{selectIndex===2?`春运第${howDayNumber}`:selectIndex!==4?timeFrame:revenueCompareDetail.curHoliday}}
</span>
</div>
</div>
<div class="newDetailRight" v-if="revenueCompareDetail && revenueCompareDetail.curRevenue">
@ -165,25 +168,25 @@
</div>
<div class="newYearDay" v-else>
<view class="newYearItem">
<text class="itemLabel">2024年营收/</text>
<text class="itemValue">{{curRevenue?$util.fmoney(curRevenue,2):'0.00'}}</text>
<text class="itemLabel">{{ `${curYear}年营收 / 万元` }}</text>
<text class="itemValue">{{curRevenue?$util.getMoney(curRevenue/10000):'0.00'}}</text>
</view>
<view class="newYearItem">
<text class="itemLabel">2023年营收/</text>
<text class="itemValue">{{compareRevenue?$util.fmoney(compareRevenue,2):'0.00'}}</text>
<text class="itemLabel">{{ `${compareYear}年营收 / 万元` }}</text>
<text class="itemValue">{{compareRevenue?$util.getMoney(compareRevenue/10000):'0.00'}}</text>
</view>
<view class="newYearItem" v-if="beforeRevenue">
<text class="itemLabel">2022年营收/</text>
<text class="itemValue">{{beforeRevenue.compareRevenue?$util.fmoney(beforeRevenue.compareRevenue,2):'0.00'}}</text>
<text class="itemLabel">{{ `${beforeLastYear}年营收 / 万元` }}</text>
<text class="itemValue">{{beforeRevenue.compareRevenue?$util.getMoney(beforeRevenue.compareRevenue/10000):'0.00'}}</text>
</view>
</div>
<div class="descBox">
<div class="noticeBox"></div>
<div class="noticeText">
<span class="text" v-if="beforeRevenue">{{ `${beforeLastYear || '-'}${festivalName || '-'}假期为${beforeRevenue.compareHoliday}${beforeRevenue.compareHolidayDays}` }}</span>
<span class="text">{{ `${compareYear || '-'}${festivalName || '-'}假期${revenueCompareDetail.compareHoliday || '-'},共${revenueCompareDetail.compareHolidayDays || '-'}` }}</span>
<span class="text">{{ `${curYear || '-'}${festivalName || '-'}假期为${revenueCompareDetail.curHoliday || '-'},共${revenueCompareDetail.curHolidayDays || '-'}` }}</span>
<span class="text">{{ `${curYear?curYear.toString().slice(2,4):'-'}${festivalName || '-'}${selectIndex===2?'':'假期'}${revenueCompareDetail.curHoliday || '-'},共${revenueCompareDetail.curHolidayDays || '-'}` }}</span>
<span class="text">{{ `${compareYear?compareYear.toString().slice(2,4):'-'}${festivalName || '-'}${selectIndex===2?'':'假期'}${revenueCompareDetail.compareHoliday || '-'},共${revenueCompareDetail.compareHolidayDays || '-'}` }}</span>
<span class="text" v-if="beforeRevenue">{{ `${beforeLastYear?beforeLastYear.toString().slice(2,4):'-'}${festivalName || '-'}${selectIndex===2?'':'假期'}${beforeRevenue.compareHoliday}${beforeRevenue.compareHolidayDays}` }}</span>
</div>
</div>
</div>
@ -194,16 +197,18 @@
<img class="leftIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/national/carEntry.svg"/>
<div class="leftTextBox">
<span class="leftBoxTitle">入区车流量</span>
<span class="leftTime">{{selectIndex===2?'腊月十五-正月廿五':(selectIndex!==2 && selectIndex!==4?timeFrame:revenueCompareDetail.curHoliday)}}</span>
<span class="leftTime">{{selectIndex===2?`春运第${howDayNumber}`:(selectIndex!==2 && selectIndex!==4?timeFrame:revenueCompareDetail.curHoliday)}}</span>
</div>
</div>
</div>
<YearRevenue :dataList="carCompareList"/>
<span style="color: #786B6C;font-size: 14px;margin-left: 4px" >单位: 万辆</span>
<YearRevenue :dataList="carCompareList" />
<!-- <EntryCarNumber :dataObj="compareRevenueList"/>-->
<div class="descBox">
<div class="noticeBox"></div>
<div class="noticeText">
<span class="text">入区车辆数按当期卡口设备的服务区计算的平均每日入区数量</span>
<span v-if="selectIndex===2" class="text" style="color: red">历年数据维度按周统计本年是实际发生天数累计</span>
</div>
</div>
</div>
@ -214,16 +219,24 @@
<img class="leftIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/national/revenueSpecific.svg"/>
<div class="leftTextBox">
<span class="leftBoxTitle">营收特征分析</span>
<span class="leftTime">{{selectIndex===2?'腊月十五-正月廿五':(selectIndex!==2 && selectIndex!==4?timeFrame:revenueCompareDetail.curHoliday)}}</span>
<span class="leftTime">{{selectIndex===2?`春运第${howDayNumber}`:(selectIndex!==2 && selectIndex!==4?timeFrame:revenueCompareDetail.curHoliday)}}</span>
</div>
</div>
</div>
<EntryCarNumber :dataObj="compareRevenueList"/>
</div>
</div>
<span style="color: #786B6C;font-size: 14px;margin-left: 4px">单位: 万元</span>
<EntryCarNumber :dataObj="compareRevenueList" />
<div class="descBox">
<div class="noticeBox"></div>
<div class="noticeText">
<span class="text">营收按同期值比较</span>
<span v-if="selectIndex===2" class="text" style="color: red">历年数据维度按周统计本年是实际发生天数累计</span>
</div>
</div>
</div>
</div>
</div>
</scroll-view>
</template>
<script>
@ -241,7 +254,7 @@ export default {
statusBarHeight:0,
festivalList:[
{label:'欢度元旦',value:1},
{label:'欢度春节',value:2},//2
{label:'2024春运',value:2},//2
// {label:'',value:3},
{label:'五一劳动节',value:4},//4
// {label:'',value:5},
@ -249,9 +262,10 @@ export default {
// {label:'',value:7},
{label:'欢度国庆',value:8}//8
],
festivalName:'欢度元旦',//
selectValue:0,//
selectIndex:1,
howDayNumber: 0,//
festivalName:'2024春运',//
selectValue:1,//
selectIndex:2,
menu:{},
revenueList: [],//
revenueSum:0,//
@ -305,9 +319,6 @@ export default {
this.compareYear = y-1
this.beforeLastYear = y-2
// this.holidayName = this.selectIndex===1?'':this.selectIndex===2?'':this.selectIndex===3?'':this.selectIndex===4?'':this.selectIndex===5?'':''
console.log('this.curYear',this.curYear)
console.log('this.compareYear',this.compareYear)
console.log('this.beforeLastYear',this.beforeLastYear)
// ${y}
this.dayName = `${m}${d}`
if (this.selectTab===1){
@ -321,22 +332,40 @@ export default {
this.handleGetRevenueCompare()
}
//
let dayNumber = 0
let lastDay = uni.getStorageSync('lastDay')
const lastDate = new Date(lastDay)
let lastMonth = lastDate.getMonth() + 1
let lastDays = lastDate.getDate()
// 24 1.26
if (lastMonth === 1){
dayNumber = lastDays - 26 + 1
}else{
dayNumber = 6 + lastDays + 1
}
this.howDayNumber = dayNumber
},
methods:{
//
handleGoDetail(){
console.log('1111')
uni.navigateTo({
url:`/pages/nationalPage/springTravel?selectType=${this.selectIndex}`
})
},
//
handleChangeType(e){
console.log('e',e)
this.selectIndex = this.festivalList[Number(e.detail.value)].value
this.festivalName = this.festivalList[Number(e.detail.value)].label
this.selectValue = Number(e.detail.value)
console.log('this.selectIndex',this.selectIndex)
this.beforeRevenue = null
this.revenueCompareDetail = null
this.carCompareList = null
this.compareRevenueList = null
// uni.showLoading({
// title:' ...'
// })
uni.showLoading({
title:' 正在加载...'
})
// this.holidayName = this.selectIndex===1?'':this.selectIndex===2?'':this.selectIndex===3?'':this.selectIndex===4?'':this.selectIndex===5?'':''
this.handleGetCarCompare()
this.handleGetRevenueCompare()
@ -424,9 +453,7 @@ export default {
}
const data = await request.$webGet('CommercialApi/BigData/GetHolidayCompare',req)
console.log('今年去年',data)
this.carCompareDetail = data.Result_Data
console.log('this.carCompareDetail',this.carCompareDetail)
let lastData
if (this.selectIndex === 1 || this.selectIndex === 2){
@ -439,7 +466,6 @@ export default {
}
lastData = await request.$webGet('CommercialApi/BigData/GetHolidayCompare',lastReq)
console.log('去年前年',lastData.Result_Data)
}
let curList = [] //
@ -509,16 +535,15 @@ export default {
allDateList = allDateList.split(',')
dateList = allDateList
//
console.log('allDateList',allDateList)
allDateList.forEach(item=>{
//
let beforeValue = lastData.Result_Data.compareList.filter(filter=> filter.easyDate === item)[0].value
if (beforeValue){
if (Number(beforeValue) > max){
max = Number(beforeValue)
if (Number(beforeValue) / 10000> max){
max = Number(beforeValue) / 10000
}
beforeList.push(Number(beforeValue))
beforeList.push(Number(beforeValue) / 10000)
realBeforeList.push(Number(beforeValue))
}
else{
@ -529,10 +554,10 @@ export default {
//
let compareValue = this.carCompareDetail.compareList.filter(filter=> filter.easyDate === item)[0].value
if (compareValue){
if (Number(compareValue) > max){
max = Number(compareValue)
if (Number(compareValue) / 10000> max){
max = Number(compareValue) / 10000
}
compareList.push(Number(compareValue) )
compareList.push(Number(compareValue) / 10000)
realCompareList.push(Number(compareValue))
}else{
compareList.push(0)
@ -542,10 +567,10 @@ export default {
//
let curValue = this.carCompareDetail.curList.filter(filter=> filter.easyDate === item)[0].value
if (curValue){
if (Number(curValue)> max){
max = Number(curValue)
if (Number(curValue) / 10000> max){
max = Number(curValue) / 10000
}
curList.push(Number(curValue))
curList.push(Number(curValue) / 10000)
realCurList.push(Number(curValue))
}else{
curList.push(0)
@ -574,10 +599,10 @@ export default {
item.forEach(subItem=>{
sum+=Number(subItem.value)
})
if (max<Number(sum)){
max = Number(sum)
if (max<Number(sum) / 10000){
max = Number(sum) / 10000
}
beforeResList.push(Number(sum))
beforeResList.push(Number(sum) / 10000)
realBeforeResList.push(Number(sum))
})
beforeList = beforeResList
@ -595,10 +620,10 @@ export default {
item.forEach(subItem=>{
sum+=Number(subItem.value)
})
if (max<Number(sum) ){
max = Number(sum)
if (max<Number(sum) / 10000){
max = Number(sum) / 10000
}
lastResList.push(Number(sum) )
lastResList.push(Number(sum) / 10000)
realLastResList.push(Number(sum))
})
compareList = lastResList
@ -616,10 +641,10 @@ export default {
item.forEach(subItem=>{
sum+=Number(subItem.value)
})
if (max<Number(sum)){
max = Number(sum)
if (max<Number(sum) / 10000){
max = Number(sum) / 10000
}
curResList.push(Number(sum) )
curResList.push(Number(sum) / 10000)
realCurResList.push(Number(sum))
})
curList = curResList
@ -652,10 +677,10 @@ export default {
item.forEach(subItem=>{
sum+=Number(subItem.value)
})
if (max<Number(sum) ){
max = Number(sum)
if (max<Number(sum) / 10000){
max = Number(sum) / 10000
}
beforeResList.push(Number(sum))
beforeResList.push(Number(sum) / 10000)
realBeforeResList.push(Number(sum))
})
beforeList = beforeResList
@ -673,10 +698,10 @@ export default {
item.forEach(subItem=>{
sum+=Number(subItem.value)
})
if (max<Number(sum)){
max = Number(sum)
if (max<Number(sum) / 10000){
max = Number(sum) / 10000
}
lastResList.push(Number(sum))
lastResList.push(Number(sum) / 10000)
realLastResList.push(Number(sum))
})
compareList = lastResList
@ -755,7 +780,6 @@ export default {
allDateList = allDateList.split(',')
dateList = allDateList
//
console.log('allDateList',allDateList)
allDateList.forEach(item=>{
// 22
@ -763,10 +787,10 @@ export default {
// beforeRevenue
let beforeValue = this.carCompareDetail.compareList.filter(filter=> filter.easyDate === item)[0].value
if (beforeValue){
if (Number(beforeValue) > max){
max = Number(beforeValue)
if (Number(beforeValue) / 10000> max){
max = Number(beforeValue) / 10000
}
beforeList.push(Number(beforeValue) )
beforeList.push(Number(beforeValue) / 10000)
realBeforeList.push(Number(beforeValue))
}
else{
@ -776,10 +800,10 @@ export default {
//
let compareValue = this.carCompareDetail.curList.filter(filter=> filter.easyDate === item)[0].value
if (compareValue){
if (Number(compareValue) > max){
max = Number(compareValue)
if (Number(compareValue) / 10000> max){
max = Number(compareValue) / 10000
}
compareList.push(Number(compareValue) )
compareList.push(Number(compareValue) / 10000)
realCompareList.push(Number(compareValue))
}else{
compareList.push(0)
@ -802,26 +826,70 @@ export default {
}
}
// 7
// 7 7 7
let howWeek = Math.floor(this.howDayNumber / 7)
let howDay = this.howDayNumber % 7
// howWeek 7
curList = curList.map((item,index)=>{
if (howWeek===index){
return Number(item) / howDay
}else{
return Number(item) / 7
}
})
realCurList = realCurList.map((item,index)=>{
if (howWeek===index){
return Number(item) / howDay
}else{
return Number(item) / 7
}
})
compareList = compareList.map((item,index)=>{
return Number(item) / 7
})
realCompareList = realCompareList.map((item,index)=>{
return Number(item) / 7
})
beforeList = beforeList.map((item,index)=>{
return Number(item) / 7
})
realBeforeList = realBeforeList.map((item,index)=>{
return Number(item) / 7
})
let res = {
categories: dateList,
series:[
{
name:`${this.curYear}`,
data:curList
data:curList,
real:realCurList
},
{
name:`${this.compareYear}`,
data:compareList
data:compareList,
real:realCompareList
},
{
name:`${this.beforeLastYear}`,
data:beforeList
data:beforeList,
real:realBeforeList
},
],
max:max
max:max/7
}
this.carCompareList = res
console.log('this.carCompareList',this.carCompareList)
this.flagGetCarCompare= true
if (this.flagGetCarCompare && this.flagGetRevenueCompare){
uni.hideLoading()
}
// //
// if (this.selectIndex===2){
@ -1044,7 +1112,6 @@ export default {
// this.timeFrame = `${dateList[0]}-${dateList[dateList.length - 1]}`
// }
// console.log('ressadas',res)
//
// this.carCompareList = res
// this.flagGetCarCompare= true
@ -1061,12 +1128,17 @@ export default {
curYear:this.selectIndex>2?2023:this.curYear,
compareYear:this.selectIndex>2?2022:this.compareYear,
}
console.log('req',req)
const data = await request.$webGet('CommercialApi/Revenue/GetHolidayCompare',req)
this.revenueCompareDetail = data.Result_Data
this.curRevenue = data.Result_Data.curRevenue
this.compareRevenue = data.Result_Data.compareRevenue
console.log('今年去年',this.revenueCompareDetail)
let num = 0
this.revenueCompareDetail.compareList.forEach(item=>{
num+=Number(item.value)
})
let lastData
if (this.selectIndex === 1 || this.selectIndex === 2){
const lastReq = {
@ -1076,10 +1148,8 @@ export default {
curYear:this.curYear,
compareYear:this.beforeLastYear,
}
console.log('lastReq',lastReq)
lastData = await request.$webGet('CommercialApi/Revenue/GetHolidayCompare',lastReq)
this.beforeRevenue = lastData.Result_Data
console.log('去年前年',this.beforeRevenue)
}
let curList = [] //
@ -1148,7 +1218,6 @@ export default {
allDateList = allDateList.split(',')
dateList = allDateList
//
console.log('allDateList',allDateList)
allDateList.forEach(item=>{
//
@ -1393,7 +1462,6 @@ export default {
allDateList = allDateList.split(',')
dateList = allDateList
//
console.log('allDateList',allDateList)
allDateList.forEach(item=>{
// 22
@ -1446,24 +1514,29 @@ export default {
{
name:`${this.curYear}`,
data:curList,
real:realCurList
real:realCurList,
howDayNumber:this.howDayNumber
},
{
name:`${this.compareYear}`,
data:compareList,
real:realCompareList
real:realCompareList,
howDayNumber:this.howDayNumber
},
{
name:`${this.beforeLastYear}`,
data:beforeList,
real:realBeforeList
real:realBeforeList,
howDayNumber:this.howDayNumber
},
],
max:Number(max.toFixed(2))
max:Number(max.toFixed(2)),
}
console.log('res',res)
this.compareRevenueList = res
this.flagGetRevenueCompare= true
if (this.flagGetRevenueCompare && this.flagGetRevenueCompare){
uni.hideLoading()
}
},
}
}
@ -1475,7 +1548,7 @@ export default {
@import '/static/public/fontNational/stylesheet.css';
.main{
width: 100%;
height: 100%;
height: 100vh;
.top{
width: 100%;
height: 560rpx;
@ -1518,10 +1591,10 @@ export default {
font-weight: bold;
color: #FFFFFF;
line-height: 68rpx;
text-shadow: 0px 8px 20px rgba(158,29,0,0.25);
background: linear-gradient(180deg, #FEFFFE 0%, #FFC7B6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
//text-shadow: 0px 8px 20px rgba(158,29,0,0.25);
//background: linear-gradient(180deg, #FEFFFE 0%, #FFC7B6 100%);
//-webkit-background-clip: text;
//-webkit-text-fill-color: transparent;
}
}
}
@ -1545,6 +1618,26 @@ export default {
}
}
}
.springTravelTop{
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBg.png") !important;
.header{
background: transparent;
}
.topContent{
.pageTitle{
font-size: 56rpx;
font-family: AlimamaShuHeiTi-Bold, AlimamaShuHeiTi;
font-weight: bold;
color: #FFF2D2!important;
line-height: 68rpx;
text-shadow: 0px 8px 20px #E63525!important;
//background: #FFF2D2 ;
background: linear-gradient(180deg, #FFF3D7 0%, #FFEFBC 100%);
-webkit-background-clip: text;
//-webkit-text-fill-color: transparent;
}
}
}
.labourTop{
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/national/labour.png") !important;
.header{
@ -2419,6 +2512,67 @@ export default {
}
.springTravelBox{
.overAllData{
width: 100%;
box-sizing: border-box;
padding: 2rpx;
background: #fff;
border-radius: 16rpx;
.overAllDataTop{
width: 100%;
height: 160rpx;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
border-radius: 14rpx 14rpx 16rpx 16rpx;
box-sizing: border-box;
padding: 22rpx;
.titleBox{
width: 100%;
display: flex;
.titleImg{
width: 216rpx;
height: 74rpx;
}
.titleNotice{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
}
}
.contentTitleBox{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.contentTitle{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 36rpx;
}
.YOYBox{
.YOYBoxText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
}
.YOYBoxValue{
font-size: 36rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 40rpx;
}
}
}
}
}
}
}
//.pageContentSpring{

View File

@ -0,0 +1,801 @@
<template>
<div class="main">
<div class="top">
<div class="header" :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>
</div>
<div class="pageContent">
<div class="springTravelBox">
<div class="overAllData">
<div class="overAllDataTop">
<div class="titleBox">
<img class="titleImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png" />
<text class="titleNotice">{{`/统计到${allDateDay}`}}</text>
</div>
<div class="contentTitleBox">
<text class="contentTitle">对客销售金额</text>
<div class="YOYBox">
<text class="YOYBoxText">同比去年</text>
<text class="YOYBoxValue">
{{`${revenueAdd>0?'+':''}${revenueAdd?revenueAdd:'-'}%`}}
</text>
</div>
</div>
</div>
<div class="overAllDataBottom">
<div class="pkBox">
<div class="leftBox">
<text class="value">{{pageData.lYearRevenue.data?$util.getMoney(pageData.lYearRevenue.data / 10000):'0.00'}}</text>
<text class="label">2023/万元</text>
</div>
<div class="rightBox">
<text class="value">{{pageData.curYearRevenue.data?$util.getMoney(pageData.curYearRevenue.data / 10000):'0.00'}}</text>
<text class="label">2024/万元</text>
</div>
<img class="pkLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/national/vs.svg"/>
</div>
<div class="otherListBox">
<div class="listTitleBox">
<div class="titleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">类别</div>
<div class="titleItem" style="width: 130rpx">2023</div>
<div class="titleItem" style="width: 130rpx">2024</div>
<div class="titleItem" style="width: 130rpx">同比去年</div>
</div>
<div class="listValueBox">
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">自营营业额</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.lYearSelfRevenue.data?$util.getMoney(pageData.lYearSelfRevenue.data / 10000):'0.00'}}</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.curYearSelfRevenue.data?$util.getMoney(pageData.curYearSelfRevenue.data / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:selfRevenueAdd>0?'#E83944':selfRevenueAdd<0?'#0E9976':''}">{{selfRevenueAdd>0?'+':selfRevenueAdd<0?'':''}}</span>
<span :style="{color:selfRevenueAdd>0?'#E83944':selfRevenueAdd<0?'#0E9976':''}">{{`${selfRevenueAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">驿达春运营收</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.lYearAccount.data?$util.getMoney(pageData.lYearAccount.data / 10000):'0.00'}}</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.curYearAccount.data?$util.getMoney(pageData.curYearAccount.data / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:springRevenueAdd>0?'#E83944':springRevenueAdd<0?'#0E9976':''}">{{springRevenueAdd>0?'+':springRevenueAdd<0?'':''}}</span>
<span :style="{color:springRevenueAdd>0?'#E83944':springRevenueAdd<0?'#0E9976':''}">{{`${springRevenueAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">商铺租赁</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.lYearCoopRevenue.data?$util.getMoney(pageData.lYearCoopRevenue.data / 10000):'0.00'}}</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.curYearCoopRevenue.data?$util.getMoney(pageData.curYearCoopRevenue.data / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:CoopRevenueAdd>0?'#E83944':CoopRevenueAdd<0?'#0E9976':''}">{{CoopRevenueAdd>0?'+':CoopRevenueAdd<0?'':''}}</span>
<span :style="{color:CoopRevenueAdd>0?'#E83944':CoopRevenueAdd<0?'#0E9976':''}">{{`${CoopRevenueAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">万佳城市</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.lYearWJRevenue.data?$util.getMoney(pageData.lYearWJRevenue.data / 10000):'0.00'}}</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.curYearWJRevenue.data?$util.getMoney(pageData.curYearWJRevenue.data / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:WJCityAdd>0?'#E83944':WJCityAdd<0?'#0E9976':''}">{{WJCityAdd>0?'+':WJCityAdd<0?'':''}}</span>
<span :style="{color:WJCityAdd>0?'#E83944':WJCityAdd<0?'#0E9976':''}">{{`${WJCityAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">入区车流</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.lYearBayonet.data?$util.getMoney(pageData.lYearBayonet.data / 10000):'0.00'}}</div>
<div class="valueItemBox" style="width: 130rpx">{{pageData.curYearBayonet.data?$util.getMoney(pageData.curYearBayonet.data / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:entryCarAdd>0?'#E83944':entryCarAdd<0?'#0E9976':''}">{{entryCarAdd>0?'+':entryCarAdd<0?'':''}}</span>
<span :style="{color:entryCarAdd>0?'#E83944':entryCarAdd<0?'#0E9976':''}">{{`${entryCarAdd || '-'}%`}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="revenueDetail">
<div class="revenueDetailTitleBox">
<img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueDetailLogo.png"/>
<img class="detailIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueDetailIcon.png"/>
</div>
<div class="revenueContent">
<scroll-view scroll-x="true" class="navList" :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 class="modalBox">
<div class="modalTitleBox">
<div class="modalIndex"></div>
<text class="modalText">自营营业额</text>
<text class="modalUnit">/万元</text>
</div>
<div class="modalDetail">
<div class="modalDetailTitle">
<div class="titleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">类别</div>
<div class="titleItem" style="width: 130rpx">2023</div>
<div class="titleItem" style="width: 130rpx">2024</div>
<div class="titleItem" style="width: 130rpx">同比去年</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">自营餐饮</div>
<div class="compareItem" style="width: 130rpx">{{pageData.lYearSCAccount.value?$util.getMoney(pageData.lYearSCAccount.value / 10000):'0.00'}}</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearSCAccount.value?$util.getMoney(pageData.curYearSCAccount.value / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:SCAccountAdd>0?'#E83944':SCAccountAdd<0?'#0E9976':''}">{{SCAccountAdd>0?'+':SCAccountAdd<0?'':''}}</span>
<span :style="{color:SCAccountAdd>0?'#E83944':SCAccountAdd<0?'#0E9976':''}">{{`${SCAccountAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">自营便利店</div>
<div class="compareItem" style="width: 130rpx">{{pageData.lYearCVSAccount.value?$util.getMoney(pageData.lYearCVSAccount.value / 10000):'0.00'}}</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearCVSAccount.value?$util.getMoney(pageData.curYearCVSAccount.value / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:CVSAccountAdd>0?'#E83944':CVSAccountAdd<0?'#0E9976':''}">{{CVSAccountAdd>0?'+':CVSAccountAdd<0?'':''}}</span>
<span :style="{color:CVSAccountAdd>0?'#E83944':CVSAccountAdd<0?'#0E9976':''}">{{`${CVSAccountAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">合计</div>
<div class="compareItem" style="width: 130rpx">{{pageData.lYearSCAccount.value || pageData.lYearCVSAccount.value?$util.getMoney((Number(pageData.lYearSCAccount.value) + Number(pageData.lYearCVSAccount.value)) / 10000):'0.00'}}</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearSCAccount.value || pageData.curYearCVSAccount.value?$util.getMoney((Number(pageData.curYearSCAccount.value) + Number(pageData.curYearCVSAccount.value)) / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:SCCVSAccountAdd>0?'#E83944':SCCVSAccountAdd<0?'#0E9976':''}">{{SCCVSAccountAdd>0?'+':SCCVSAccountAdd<0?'':''}}</span>
<span :style="{color:SCCVSAccountAdd>0?'#E83944':SCCVSAccountAdd<0?'#0E9976':''}">{{`${SCCVSAccountAdd || '-'}%`}}</span>
</div>
</div>
</div>
</div>
<div class="modalBox">
<div class="modalTitleBox">
<div class="modalIndex"></div>
<text class="modalText">驿达春运营收</text>
<text class="modalUnit">/万元</text>
</div>
<div class="modalDetail">
<div class="modalDetailTitle">
<div class="titleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">类别</div>
<div class="titleItem" style="width: 130rpx">2023</div>
<div class="titleItem" style="width: 130rpx">2024</div>
<div class="titleItem" style="width: 130rpx">同比去年</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">自营餐饮</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="addItem" style="width: 130rpx">-</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">自营便利店</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="addItem" style="width: 130rpx">-</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">商铺租赁营收</div>
<div class="compareItem" style="width: 130rpx">{{pageData.lYearCoopRevenue.value?$util.getMoney(pageData.lYearCoopRevenue.value / 10000):'0.00'}}</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearCoopRevenue.value?$util.getMoney(pageData.curYearCoopRevenue.value / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:CoopRevenueDayilyAdd>0?'#E83944':CoopRevenueDayilyAdd<0?'#0E9976':''}">{{CoopRevenueDayilyAdd>0?'+':CoopRevenueDayilyAdd<0?'':''}}</span>
<span :style="{color:CoopRevenueDayilyAdd>0?'#E83944':CoopRevenueDayilyAdd<0?'#0E9976':''}">{{`${CoopRevenueDayilyAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">万佳城市店</div>
<div class="compareItem" style="width: 130rpx">{{pageData.lYearWJRevenue.value?$util.getMoney(pageData.lYearWJRevenue.value / 10000):'0.00'}}</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearWJRevenue.value?$util.getMoney(pageData.curYearWJRevenue.value / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">
<span :style="{color:WjCityDayilyAdd>0?'#E83944':WjCityDayilyAdd<0?'#0E9976':''}">{{WjCityDayilyAdd>0?'+':WjCityDayilyAdd<0?'':''}}</span>
<span :style="{color:WjCityDayilyAdd>0?'#E83944':WjCityDayilyAdd<0?'#0E9976':''}">{{`${WjCityDayilyAdd || '-'}%`}}</span>
</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">合计</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="addItem" style="width: 130rpx">-</div>
</div>
</div>
</div>
<div class="modalBox">
<div class="modalTitleBox">
<div class="modalIndex"></div>
<text class="modalText">加盟餐饮</text>
<text class="modalUnit">/万元</text>
</div>
<div class="modalDetail">
<div class="modalDetailTitle">
<div class="titleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">类别</div>
<div class="titleItem" style="width: 130rpx">2023</div>
<div class="titleItem" style="width: 130rpx">2024</div>
<div class="titleItem" style="width: 130rpx">同比去年</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">自营餐饮</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearFCRevenue.value?$util.getMoney(pageData.curYearFCRevenue.value / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">-</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">客房其他</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearGRORevenue.value?$util.getMoney(pageData.curYearGRORevenue.value / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">-</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">合计</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearFCRevenue.value || pageData.curYearGRORevenue.value?$util.getMoney((Number(pageData.curYearFCRevenue.value) + Number(pageData.curYearGRORevenue.value)) / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">-</div>
</div>
</div>
</div>
<div class="modalBox">
<div class="modalTitleBox">
<div class="modalIndex"></div>
<text class="modalText">自营提成</text>
<text class="modalUnit">/万元</text>
</div>
<div class="modalDetail">
<div class="modalDetailTitle">
<div class="titleItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">类别</div>
<div class="titleItem" style="width: 130rpx">2023</div>
<div class="titleItem" style="width: 130rpx">2024</div>
<div class="titleItem" style="width: 130rpx">同比去年</div>
</div>
<div class="row">
<div class="valueItem" :style="{width: 'calc(100% - 390rpx)',textAlign:'left'}">合计</div>
<div class="compareItem" style="width: 130rpx">-</div>
<div class="compareItem" style="width: 130rpx">{{pageData.curYearSelfCoopRevenue.value?$util.getMoney(pageData.curYearSelfCoopRevenue.value / 10000):'0.00'}}</div>
<div class="addItem" style="width: 130rpx">-</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import request from '@/util/index.js'
import moment from "moment";
export default {
name: "springTravel",
data(){
return {
statusBarHeight:0,
menu:{},
scrollList:[
{label: '1月26日',value:'2024-01-26'},
{label: '1月27日',value:'2024-01-27'},
{label: '1月28日',value:'2024-01-28'},
{label: '1月29日',value:'2024-01-29'},
{label: '1月30日',value:'2024-01-30'},
{label: '1月31日',value:'2024-01-31'},
{label: '2月1日',value:'2024-02-1'},
{label: '2月2日',value:'2024-02-2'},
],
currentScroll:'',
selectIndex: 2,
curYear:2024,
compareYear:2023,
lastDay:'',
allDateDay:'',
pageData:{},//
yesDayPageData:{},//
revenueAdd: 0,//
selfRevenueAdd: 0,//
springRevenueAdd: 0,//
CoopRevenueAdd:0,//
WJCityAdd: 0,//
entryCarAdd:0,//
SCAccountAdd:0,//
CVSAccountAdd:0,// 便
SCCVSAccountAdd:0,// 便
YDCVSAccountAdd:0,// 驿便
WjCityDayilyAdd:0,//
CoopRevenueDayilyAdd:0,//
}
},
onLoad(query){
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
//
let userInfo = uni.getStorageSync('vuex')
userInfo = JSON.parse(userInfo)
this.useInfo = JSON.parse(JSON.stringify(userInfo))
if (query.selectType){
this.selectIndex = Number(query.selectType)
}
const date = new Date()
let y = date.getFullYear()
this.curYear = y
this.compareYear = y - 1
console.log('query',query)
console.log('this.selectIndex',this.selectIndex)
this.lastDay = uni.getStorageSync('lastDay')
this.currentScroll = 'item'+ uni.getStorageSync('lastDay')
console.log('this.currentScroll',this.currentScroll)
const lastDate = new Date(this.lastDay)
let lastM = lastDate.getMonth() + 1
let lastD = lastDate.getDate()
this.allDateDay = `${lastM<10?'0'+lastM:lastM}${lastD<10?'0'+lastD:lastD}`
this.handleGetPageData()
},
methods:{
async handleGetPageData(date){
uni.showLoading({
title: '正在加载...'
})
let req = {
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear:this.curYear,
compareYear:this.compareYear,
HolidayType:this.selectIndex,
StatisticsDate:date || this.lastDay
}
const data = await request.$webGet('CommercialApi/Revenue/GetHolidayAnalysis',req)
console.log('data',data)
this.pageData = data.Result_Data
console.log('this.pageData',this.pageData)
//
this.revenueAdd = Number((((this.pageData.curYearRevenue.data / this.pageData.lYearRevenue.data)-1)*100).toFixed(2))
//
this.selfRevenueAdd = Number((((this.pageData.curYearSelfRevenue.data / this.pageData.lYearSelfRevenue.data)-1)*100).toFixed(2))
//
this.springRevenueAdd = Number((((this.pageData.curYearAccount.data / this.pageData.lYearAccount.data)-1)*100).toFixed(2))
//
this.CoopRevenueAdd = Number((((this.pageData.curYearCoopRevenue.data / this.pageData.lYearCoopRevenue.data)-1)*100).toFixed(2))
//
this.WJCityAdd = Number((((this.pageData.curYearWJRevenue.data / this.pageData.lYearWJRevenue.data)-1)*100).toFixed(2))
//
this.entryCarAdd = Number((((this.pageData.curYearBayonet.data / this.pageData.lYearBayonet.data)-1)*100).toFixed(2))
//
//
this.SCAccountAdd = Number((((this.pageData.curYearSCAccount.value / this.pageData.lYearSCAccount.value)-1)*100).toFixed(2))
// 便
this.CVSAccountAdd = Number((((this.pageData.curYearCVSAccount.value / this.pageData.lYearCVSAccount.value)-1)*100).toFixed(2))
// 便
this.SCCVSAccountAdd = Number(((((Number(this.pageData.curYearCVSAccount.value) + Number(this.pageData.curYearSCAccount.value)) / (Number(this.pageData.lYearCVSAccount.value) + Number(this.pageData.lYearSCAccount.value)))-1)*100).toFixed(2))
// 驿便
this.YDCVSAccountAdd = Number((((this.pageData.curYearCVSAccount.value / this.pageData.lYearCVSAccount.value)-1)*100).toFixed(2))
//
this.WjCityDayilyAdd = Number((((this.pageData.curYearWJRevenue.value / this.pageData.lYearWJRevenue.value)-1)*100).toFixed(2))
//
this.CoopRevenueDayilyAdd = Number((((this.pageData.curYearCoopRevenue.value / this.pageData.lYearCoopRevenue.value)-1)*100).toFixed(2))
uni.hideLoading()
},
handleBack(){
uni.navigateBack({
delta: 1
});
},
//
handleChangeTime(value){
console.log('value',value)
this.currentScroll = 'item'+value
this.pageData = null
this.revenueAdd = 0
this.selfRevenueAdd = 0
this.springRevenueAdd = 0
this.CoopRevenueAdd = 0
this.WJCityAdd = 0
this.entryCarAdd = 0
this.SCAccountAdd = 0
this.CVSAccountAdd = 0
this.SCCVSAccountAdd = 0
this.YDCVSAccountAdd = 0
this.WjCityDayilyAdd = 0
this.CoopRevenueDayilyAdd = 0
this.handleGetPageData(value)
}
}
}
</script>
<style scoped lang="scss">
.main{
width: 100%;
height: 100vh;
.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%;
//z-index:3;
.topBg{
width: 100%;
height: 100%;
z-index: 4;
}
.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;
display: flex;
align-items: center;
z-index: 2;
.backArrow{
width: 24px;
height: 24px;
margin-right: 16px;
position: absolute;
}
.pageTitle{
position: absolute;
width: 280rpx;
height: 80rpx;
margin-left: 16rpx;
bottom: -3px;
left: 40px;
}
}
}
.pageContent{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx 28rpx;
transform: translateY(-110rpx);
.springTravelBox{
.overAllData{
width: 100%;
box-sizing: border-box;
padding: 2rpx;
background: #fff;
border-radius: 16rpx;
.overAllDataTop{
width: 100%;
height: 160rpx;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
border-radius: 14rpx 14rpx 16rpx 16rpx;
box-sizing: border-box;
padding: 22rpx;
.titleBox{
width: 100%;
display: flex;
.titleImg{
width: 216rpx;
height: 74rpx;
}
.titleNotice{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
}
}
.contentTitleBox{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.contentTitle{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 36rpx;
}
.YOYBox{
.YOYBoxText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
}
.YOYBoxValue{
font-size: 36rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 40rpx;
}
}
}
}
.overAllDataBottom{
width: 100%;
box-sizing: border-box;
padding: 0 24rpx 24rpx;
.pkBox{
width: 100%;
height: 140rpx;
position: relative;
box-sizing: border-box;
.pkLogo{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 56rpx;
height: 56rpx;
}
.leftBox,.rightBox{
width: 50%;
height: 100%;
box-sizing: border-box;
padding: 24rpx 32rpx;
display: flex;
flex-direction: column;
position: absolute;
}
.leftBox{
left: 0;top: 0;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/vsLeft.png");
background-repeat: no-repeat;
background-size: 100% 100%;
.value{
font-size: 44rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #FF5A3C;
line-height: 52rpx;
}
.label{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #FF5A3C;
line-height: 40rpx;
}
}
.rightBox{
right: 0;top: 0;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/vsRight.png");
background-repeat: no-repeat;
background-size: 100% 100%;
align-items: flex-end;
.value{
font-size: 44rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #FFFFFF;
line-height: 52rpx;
}
.label{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #FFFFFF;
line-height: 40rpx;
}
}
}
.otherListBox{
width: 100%;
background: #F8F8F8;
border-radius: 16rpx;
padding: 24rpx;
box-sizing: border-box;
margin-top: 24rpx;
.listTitleBox{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.titleItem{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 32rpx;
text-align: center;
}
}
.listValueBox{
width: 100%;
.row{
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 32rpx;
.valueItem{
text-align: center;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 40rpx;
}
.valueItemBox{
text-align: center;
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 40rpx;
}
.addItem{
text-align: center;
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
line-height: 40rpx;
}
}
}
}
}
}
.revenueDetail{
width: 100%;
background: #fff;
border-radius: 16rpx;
box-sizing: border-box;
padding: 2rpx;
margin-top: 24rpx;
.revenueDetailTitleBox{
width: 100%;
height: 90rpx;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
box-sizing: border-box;
padding: 22rpx;
position: relative;
.detailLogo{
width: 144rpx;
height: 72rpx;
}
.detailIcon{
width: 104rpx;
height: 104rpx;
position: absolute;
right: 22rpx;
top: 22rpx;
}
}
.revenueContent{
width: 100%;
box-sizing: border-box;
padding: 0 22rpx 24rpx;
.navList{
width: 100%;
height: 40rpx;
display: flex;
align-items: center;
white-space: nowrap;
padding-bottom: 12rpx;
border-bottom: 1px solid #F5F4F4;
margin-bottom: 32rpx;
.scrollItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
margin-right: 32rpx;
display: inline-block;
}
.selectItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #ED3E48;
line-height: 40rpx;
}
}
.modalBox{
margin-top: 40rpx;
.modalTitleBox{
width: 100%;
display: flex;
align-items: center;
margin-bottom: 16rpx;
.modalIndex{
width: 12rpx;
height: 12rpx;
background: #DB6465;
border-radius: 50%;
margin-right: 12rpx;
}
.modalText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 40rpx;
margin-right: 4rpx;
}
.modalUnit{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
}
}
.modalDetail{
width: 100%;
box-sizing: border-box;
padding: 24rpx;
background: #F8F8F8;
.modalDetailTitle{
display: flex;
align-items: center;
.titleItem{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 32rpx;
text-align: center;
}
}
.row{
margin-top: 32rpx;
display: flex;
align-items: center;
margin-top: 32rpx;
.valueItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 40rpx;
text-align: center;
}
.compareItem{
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 40rpx;
text-align: center;
}
.addItem{
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 40rpx;
text-align: center;
}
}
}
}
}
}
}
}
}
</style>

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB