This commit is contained in:
cclu 2024-02-04 18:41:38 +08:00
parent aaf7881a73
commit bb8a95d483
13 changed files with 9433 additions and 219 deletions

BIN
ahyd_DIB.zip Normal file

Binary file not shown.

View File

@ -153,16 +153,26 @@
{
"navigationBarTitleText": "服务区排名",
"enablePullDownRefresh": false,
"disableScroll": true
"disableScroll": true,
"navigationStyle": "custom"
}
},
{
"path": "testPage",
"style":
{
"navigationBarTitleText": "测试页面",
"navigationBarTitleText": "春运趋势图",
"enablePullDownRefresh": false
}
},
{
"path": "merchantRevenue",
"style":
{
"navigationBarTitleText": "商户排名",
"enablePullDownRefresh": false,
"disableScroll": true
"disableScroll": true,
"navigationStyle": "custom"
}
}
]

View File

@ -1974,19 +1974,19 @@ export default {
//
this.initYesterdayData(type,'first')
//
this.getCarInfo()
// this.getCarInfo()
//
this.monthYearPlan()
// this.monthYearPlan()
//
this.handleGetWarningList()
//
this.handleGetExamine()
// this.handleGetExamine()
//
this.handleGetDailyPatrol()
// this.handleGetDailyPatrol()
//
this.handleGetAllCarTraffic()
//
this.handleGetNationalData()
// this.handleGetNationalData()
//
this.handleRealRevenue()
} else if (this.user.Membership_Id){ //
@ -2002,19 +2002,19 @@ export default {
//
this.initYesterdayData(type,'first')
//
this.getCarInfo()
// this.getCarInfo()
//
this.monthYearPlan()
// this.monthYearPlan()
//
this.handleGetWarningList()
//
this.handleGetExamine()
// this.handleGetExamine()
//
this.handleGetDailyPatrol()
// this.handleGetDailyPatrol()
//
this.handleGetAllCarTraffic()
//
this.handleGetNationalData()
// this.handleGetNationalData()
//
this.handleRealRevenue()
}

View File

@ -294,9 +294,9 @@ export default {
})
}
}
}else{
this.getListData()
}
this.getListData()
},
//
async handleSearch(){

View File

@ -108,6 +108,11 @@ const getMoneyNoDecimal = (money)=>{
return num;
}
const handleRedText = (value)=>{
return <text>{{value}}</text>
}
//事件转换函数主要用作格式化x轴为时间轴根据需求自行修改
const formatDateTime = (timeStamp, returnType)=>{
var date = new Date();
@ -160,6 +165,51 @@ const cfu = {
return series[index].name+''+series[index].data+'元'
}
},
"entryCarNumber2":function (item, category, index, opts){
console.log('item',item)
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 (item.name==='23年'){
if (index<day){
return item.name + "" + getMoney(data / 10000,2) + '万元'
}else{
let indexList = "6,8,14,15,20,22,24,25,29,30"
let dateList = opts.series.filter(subItem=> subItem.name === item.name)[0].tradDate
let realDate
if (index===6 ||index===8 ||index===14 ||index===15 ||index===20 ||index===22 ||index===24 ||index===25 ||index===29 ||index===30){
realDate = dateList[index]
}
return item.name + "" + getMoney(data / 10000,2) + '万元' + `${realDate?realDate:''}`
}
}else{
let indexList = "6,8,14,15,20,22,24,25,29,30"
// let indexList = "8,9,15,16,21,23,25,26,30,31"
let dateList = opts.series.filter(subItem=> subItem.name === item.name)[0].tradDate
console.log('dateList',dateList)
let realDate
if (index===6 ||index===8 ||index===14 ||index===15 ||index===20 ||index===22 ||index===24 ||index===25 ||index===29 ||index===30){
realDate = dateList[index]
}
let curData = opts.series.filter(subItem=> subItem.name === '24年')[0].real[index]
let compareData = opts.series.filter(subItem=> subItem.name === '23年')[0].real[index]
let add = (((curData/compareData)-1)*100).toFixed(2)
if (index<day){
return `${item.name}${getMoney(data / 10000,2)}万元,${add>0?'+':add<0?'':''}${add?add+'%':''}${realDate?realDate:''}`
}else{
return ' '
}
}
},
"entryCarNumber":function (item, category, index, opts){
console.log('item',item)
console.log('category',category)
@ -170,25 +220,10 @@ const cfu = {
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 + '万元';
}
return item.name + "" + getMoney(data / 10000,2) + '万元'
},
entryCarNumberXFormat:function (value,index,opts){
return value
},
monthTotal:function (item, category, index, opts){
let text = ''

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,930 @@
<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 :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">
<div class="selectService">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>
<view class="select">
<view class="content">
<view class="uni-input">{{springService.SERVERPART_NAME}}</view>
<p class="area" v-if="springService.Serverpart_ID">{{springService.SPREGIONTYPE_NAME}}</p>
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
</view>
</view>
</div>
</div>
<view v-else class="seachBox" :style="{height: menu.height + 'px'}" @click="handleGoMap">
<image class="searchIcon" src="/static/images/seach/searchIcon.svg"/>
<text class="searchText">请输入想看的服务区</text>
</view>
</div>
<!-- <scroll-view :style="{top:menu.bottom + 24 + 'px' }" scroll-x="true" class="headerNavList" :scrollIntoView="currentServerPart" :scroll-with-animation="true">-->
<!-- <div :class="currentServerPart==='ServerPart'+item.value?'scrollItem selectItem':'scrollItem'" v-for="(item,index) in ServerpartList" :key="index" :id="'ServerPart'+item.value" @click="handleChangeServerPart(item.value)">{{item.name.split('服务区')[0]}}</div>-->
<!-- </scroll-view>-->
</div>
<div class="contentPage">
<div class="contentTop">
<div class="content">
<div class="left">
<img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverDetail.png"/>
<!-- <text class="modalUnit">{{selectDateText || ''}}</text>-->
<!-- <text class="modalUnit">{{`/统计到${allDateDay || ''}`}}</text>-->
</div>
<div class="right">
<div class="typeChangeBox">
<div :class="pageType===1?'normal select':'normal'" @click="handleChangeType(1)">按天统计</div>
<div :class="pageType===2?'normal select':'normal'" @click="handleChangeType(2)">累计统计</div>
</div>
</div>
</div>
</div>
<div class="contentBox">
<div class="navBigList" v-if="pageType===1">
<!-- <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">
<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>
<view class="sortBox">
<view class="sortItem" style="width: 80rpx;" @click="handleChangeSortName(1)">
<text class="sortText">排序</text>
</view>
<view class="sortItem" :style="{width:'calc(100% - 410rpx)',display:'flex',alignItems:'center',justifyContent:'flex-end'}" @click="handleChangeSortName(1)">
<!-- <text class="sortText">{{ `24年${type === 1 ? '销售' : type === 2 ? '营收' : type === 3 ? '车流' : ''}` }}</text>-->
<text class="sortText">{{ `24年` }}</text>
<view class="sortIconBox" style="margin-right: 60rpx">
<image class="upIcon" :style="{transform: sortName===1?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
<image class="bottomIcon" :style="{transform: sortName===1?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
</view>
</view>
<view class="sortItem" style="width: 110rpx;" @click="handleChangeSortName(2)">
<!-- <text class="sortText">{{ `23年${type === 1 ? '销售' : type === 2 ? '营收' : type === 3 ? '车流' : ''}` }}</text>-->
<text class="sortText">{{ `23年` }}</text>
<view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===2?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===2?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
<image class="bottomIcon" :style="{transform: sortName===2?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===2?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
</view>
</view>
<view class="sortItem" style="width: 110rpx;" @click="handleChangeSortName(3)">
<!-- <text class="sortText">{{ `${type === 1 ? '销售' : type === 2 ? '营收' : type === 3 ? '车流' : ''}增长` }}</text>-->
<text class="sortText">{{ `增长` }}</text>
<view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===3?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===3?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
<image class="bottomIcon" :style="{transform: sortName===3?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===3?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
</view>
</view>
<view class="sortItem" style="width: 110rpx;" @click="handleChangeSortName(4)">
<!-- <text class="sortText">{{ `${type === 1 ? '销售' : type === 2 ? '营收' : type === 3 ? '车流' : ''}增幅` }}</text>-->
<text class="sortText">{{ `增幅` }}</text>
<view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===4?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===4?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
<image class="bottomIcon" :style="{transform: sortName===4?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===4?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
</view>
</view>
</view>
<div class="scrollBox">
<scroll-view :scroll-y="true" class="typeFirst" v-if="dataList && dataList.length>0">
<div class="listItem" v-for="(item,index) in dataList" :key="index">
<div class="noItem" style="width: 80rpx;align-items: center">
<img v-if="index<=2" class="noIcon" :src="index===0?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/first.png':index===1?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/second.png':index===2?'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/third.png':''"/>
<text class="noOther" v-else>{{index + 1}}</text>
</div>
<div class="firstItem" :style="{width:'calc(100% - 440rpx)',textAlign:'left'}">
<div class="itemIcon">
<img class="itemImg" v-if="item.Brand_ICO" :src="item.Brand_ICO "/>
<img class="itemImg" v-else src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/defaultShopIcon.png"/>
</div>
<div class="itemRight" :style="{width:'calc(100% - 128rpx)'}">
<span class="firstItemText">{{item.ServerpartShopName || '-'}}</span>
<span>{{item.RevenueINC.curYearData?item.RevenueINC.curYearData<100?`${item.RevenueINC.curYearData}()`:$util.getMoney(item.RevenueINC.curYearData / 10000):'' }}</span>
</div>
</div>
<!-- <div class="item" style="width: 110rpx"></div>-->
<div class="item" style="width: 110rpx">{{item.RevenueINC.lYearData?item.RevenueINC.lYearData<100?`${item.RevenueINC.lYearData}()`:$util.getMoney(item.RevenueINC.lYearData / 10000):'' }}</div>
<div class="item" style="width: 110rpx">{{item.RevenueINC.increaseData?item.RevenueINC.increaseData<100 && item.RevenueINC.increaseData>0?`${item.RevenueINC.increaseData}(元)`:$util.getMoney(item.RevenueINC.increaseData / 10000):'' }}</div>
<div class="item" style="width: 110rpx">
<span :style="{color: item.RevenueINC.increaseData>0?'#E83944':item.RevenueINC.increaseRate<0?'#0E9976':''}">
{{item.RevenueINC.increaseRate>0?'+':''}}
</span>
<span :style="{color: item.RevenueINC.increaseRate>0?'#E83944':item.RevenueINC.increaseRate<0?'#0E9976':''}">
{{item.RevenueINC.increaseRate?item.RevenueINC.increaseRate+'%':''}}
</span>
</div>
</div>
</scroll-view>
<view class="noDataBox" v-else>
<img class="noDataImg" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/noData.svg"/>
<text class="noDataText">暂无数据</text>
</view>
</div>
</div>
</div>
</div>
</template>
<script>
import request from '@/util/index.js'
export default {
name: "merchantRevenue",
data() {
return {
statusBarHeight:0,//
menu:'', //
pageType:1, //
scrollList:[], //
currentScroll:'', //
lastDay:'', //
sortType: 1,// 0 1
sortName: 3,// 1 24 2 23 3 4
dataList:[],
type:0,// 1 2 3
ServerpartId:'',// id
useInfo:{},
ServerpartList:[],
currentServerPart:'',
showSpring: false,
springService:null,//
}
},
onLoad(query){
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
if (query.ServerpartId){
this.ServerpartId = query.ServerpartId
this.currentServerPart = `ServerPart` + query.ServerpartId
}
if (query.type){
this.type = Number(query.type)
}
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')
if (query.time){
this.currentScroll = 'item'+ query.time
}else{
this.currentScroll = 'item'+ this.lastDay
}
//
let dayNumber = 0
const lastDate = new Date(this.lastDay)
let y = lastDate.getFullYear()
this.curYear = y
this.compareYear = y - 1
let lastMonth = lastDate.getMonth() + 1
let lastDays = lastDate.getDate()
this.allDateDay = `${lastMonth<10?'0'+lastMonth:lastMonth}${lastDays<10?'0'+lastDays:lastDays}`
// 24 1.26
if (lastMonth === 1){
dayNumber = lastDays - 26 + 1
}else{
dayNumber = 6 + lastDays
}
this.howDayNumber = dayNumber
let dateList = []
for (let i = 1;i<=dayNumber;i++){
if (i<7){
dateList.push({label:`${i}`,value:`2024-01-${26+i-1}`})
}else{
dateList.push({label:`${i}`,value:`2024-02-${i - 7 + 1<10?`0${i - 7 + 1}`:i - 7 + 1}`})
}
}
this.scrollList = dateList
// this.handleGetPageData()
},
onShow(){
let seat = uni.getStorageSync('springService')
if (seat){
this.springService = seat
console.log('this.springService',this.springService)
this.showSpring = true
this.dataList = []
this.handleGetPageData()
}else{
this.showSpring = false
}
},
methods:{
handleChangeType(value){
this.pageType = value
if (value===2){
this.handleGetPageData('all')
}else{
this.handleGetPageData()
}
},
handleGoMap(){
this.$util.toNextRoute('navigateTo', '/pages/map/index?type=springTravel')
},
//
async handleGetPageData(date){
uni.showLoading({
title: '正在加载...'
})
let time = date?
date==='all'?this.lastDay:
this.currentScroll.split('item')[1]:
this.currentScroll.split('item')[1]
const req = {
calcType:this.pageType,
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear: this.curYear,
compareYear: this.compareYear,
HolidayType:2,
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_Code===100){
this.dataList = this.handleGetSort(data.Result_Data.ShopINCList)
}else{
this.dataList = []
}
uni.hideLoading()
},
handleChangeTime(date){
if (date==='all'){
this.currentScroll = 'all'
const time = new Date(this.lastDay)
let m = time.getMonth()+1
let d = time.getDate()
this.allDateDay = `${m<10?'0'+m:m}${d<10?'0' + d:d}`
}else{
this.currentScroll = 'item'+ date
const time = new Date(date)
let m = time.getMonth()+1
let d = time.getDate()
this.allDateDay = `${m<10?'0'+m:m}${d<10?'0' + d:d}`
}
this.handleGetPageData(date)
},
//
handleChangeSortName(value){
uni.showLoading({
title: '正在加载...'
})
if (value===this.sortName){
if (this.sortType===1){
this.sortType=0
}else{
this.sortType=1
}
}else{
this.sortName = value
this.sortType=1
}
let list = this.handleGetSort(this.dataList)
this.dataList = list
this.$forceUpdate()
uni.hideLoading()
},
//
handleGetSort(list){
var len = list.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
//
if (this.type===1){
//
if (this.sortType===0){
// 24
if (this.sortName===1){
if (list[j].RevenueINC.curYearData > list[j + 1].RevenueINC.curYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
// 23
}else if(this.sortName===2){
if (list[j].RevenueINC.lYearData > list[j + 1].RevenueINC.lYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===3){
if (list[j].RevenueINC.increaseData > list[j + 1].RevenueINC.increaseData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===4){
if (list[j].RevenueINC.increaseRate > list[j + 1].RevenueINC.increaseRate ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
else{
//
// 24
if (this.sortName===1){
if (list[j].RevenueINC.curYearData < list[j + 1].RevenueINC.curYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
// 23
}else if(this.sortName===2){
if (list[j].RevenueINC.lYearData < list[j + 1].RevenueINC.lYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===3){
if (list[j].RevenueINC.increaseData < list[j + 1].RevenueINC.increaseData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===4){
if (list[j].RevenueINC.increaseRate < list[j + 1].RevenueINC.increaseRate ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
else if(this.type===2){
//
if (this.sortType===0){
// 24
if (this.sortName===1){
if (list[j].AccountINC.curYearData > list[j + 1].AccountINC.curYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
// 23
}else if(this.sortName===2){
if (list[j].AccountINC.lYearData > list[j + 1].AccountINC.lYearData ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===3){
if ((list[j].AccountINC.increaseData || 0) > (list[j + 1].AccountINC.increaseData || 0) ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===4){
if ((list[j].AccountINC.increaseRate || 0) > (list[j + 1].AccountINC.increaseRate || 0) ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
//
else{
// 24
if (this.sortName===1){
if (list[j].AccountINC.curYearData < list[j + 1].AccountINC.curYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
// 23
}else if(this.sortName===2){
if (list[j].AccountINC.lYearData < list[j + 1].AccountINC.lYearData ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===3){
if (list[j].AccountINC && list[j + 1].AccountINC){
if ((list[j].AccountINC.increaseData || 0) < (list[j + 1].AccountINC.increaseData || 0)) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
//
}else if(this.sortName===4){
if ((list[j].AccountINC.increaseRate|| 0) < (list[j + 1].AccountINC.increaseRate|| 0) ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
else if(this.type===3){
//
if (this.sortType===0){
// 24
if (this.sortName===1){
if (list[j].BayonetINC.curYearData > list[j + 1].BayonetINC.curYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
// 23
}else if(this.sortName===2){
if (list[j].BayonetINC.lYearData > list[j + 1].BayonetINC.lYearData ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===3){
if (list[j].BayonetINC.increaseData > list[j + 1].BayonetINC.increaseData ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===4){
if (list[j].BayonetINC.increaseRate > list[j + 1].BayonetINC.increaseRate) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}else{
//
// 24
if (this.sortName===1){
if (list[j].BayonetINC.curYearData < list[j + 1].BayonetINC.curYearData) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
// 23
}else if(this.sortName===2){
if (list[j].BayonetINC.lYearData < list[j + 1].BayonetINC.lYearData ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===3){
if (list[j].BayonetINC.increaseData < list[j + 1].BayonetINC.increaseData ) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
//
}else if(this.sortName===4){
if (list[j].BayonetINC.increaseRate < list[j + 1].BayonetINC.increaseRate) { //
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
}
}
return list;
},
handleBack(){
uni.navigateBack({
delta: 1
});
},
//
handleChangeServerPart(value){
this.ServerpartId = value
this.currentServerPart = `ServerPart` + value
this.handleGetPageData(null)
}
}
}
</script>
<style scoped lang="scss">
.main {
width: 100%;
height: 100%;
background: #fff;
.top{
width: 100%;
height: 324rpx;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 100%;
position: relative;
.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-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 324rpx;
display: flex;
align-items: center;
z-index: 3;
.backArrow{
width: 24px;
height: 24px;
margin-right: 16px;
position: absolute;
}
.detailIcon{
width: 230rpx;
height: 48rpx;
margin-left: 16rpx;
position: absolute;
left: 40px;
}
.seachBox{
position: absolute;
bottom: 0;
left: 60px;
width: 400rpx;
background: #fff;
border-radius: 32rpx;
margin-left: 16rpx;
box-sizing: border-box;
padding: 10rpx 20rpx;
display: flex;
align-items: center;
.searchIcon{
width: 32rpx;
height: 32rpx;
margin-right: 8rpx;
}
.searchText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #B6BACB;
line-height: 40rpx;
white-space: nowrap;
}
}
.picker{
position: absolute;
bottom: 0;
left: 40px;
.selectService{
display: flex;
align-items: center;
.img{
width: 40px;
height: 40px;
z-index: 2;
}
.select{
height: 32px;
background: #F8F8FA;
border-radius: 0 16px 16px 0;
transform: translateX(-20px);
box-sizing: border-box;
padding-left: 25px;
display: flex;
align-items: center;
.content{
display: flex;
align-items: center;
.uni-input{
padding: 0;
background: transparent;
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
}
.area{
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 40px;
margin-left: 4px;
}
.rightArrow{
width: 24px;
height: 12px;
}
}
}
}
}
}
.headerNavList{
position: absolute;
width: 100%;
height: 60rpx;
display: flex;
align-items: center;
white-space: nowrap;
box-sizing: border-box;
padding-left: 32rpx;
.scrollItem{
display: inline-block;
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #E8A29A;
line-height: 40rpx;
margin-right: 40rpx;
}
.selectItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #FFFFFF;
line-height: 40rpx;
position: relative;
}
.selectItem:after{
content:'';
display: inline-block;
width: 56rpx;
height: 6rpx;
background-color: #fff;
position: absolute;
bottom: -8rpx;
left: 0px;
}
}
}
.contentPage{
width: 100%;
transform: translateY(-32rpx);
background: #fff;
border-radius: 32rpx 32rpx 0rpx 0rpx;
.contentTop{
width: 100%;
height: 120rpx;
background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
border-radius: 32rpx 32rpx 0rpx 0rpx;
box-sizing: border-box;
padding: 24rpx 24rpx 0;
.content{
width: 100%;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
.left{
.detailLogo{
width: 178rpx;
height: 32rpx;
}
.modalUnit{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
}
}
.right{
.typeChangeBox{
display: flex;
align-items: center;
background: #FFFFFF;
border-radius: 6rpx;
box-sizing: border-box;
padding: 4rpx;
.normal{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
padding: 6rpx 16rpx;
}
.select{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 36rpx;
background: #F5EFEF;
border-radius: 6rpx;
}
}
}
}
}
.contentBox{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
.navBigList{
width: 100%;
height: 40rpx;
display: flex;
align-items: center;
padding-bottom: 24rpx;
border-bottom: 1px solid #F5F4F4;
.allBox{
width: 70rpx;
height: 100%;
.scrollItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.selectItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #ED3E48;
line-height: 40rpx;
}
}
.navList{
width: 100%;
height: 40rpx;
display: flex;
align-items: center;
white-space: nowrap;
.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;
}
}
}
.sortBox{
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16rpx;
margin-top: 24rpx;
.sortItem{
display: flex;
align-items: center;
.sortText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
white-space: nowrap;
}
.sortIconBox{
display: flex;
flex-direction: column;
margin-left: 16rpx;
.upIcon{
width: 16rpx;
height: 12rpx;
margin-bottom: 4rpx;
}
.bottomIcon{
width: 16rpx;
height: 12rpx;
}
}
}
}
.scrollBox{
.typeFirst{
height: calc(100vh - 300px);
.listItem{
width: 100%;
display: flex;
//align-items: center;
align-items: flex-end;
padding: 16rpx 0;
.noItem{
display: flex;
height: 120rpx;
align-items: center;
.noIcon{
width: 40rpx;
height: 40rpx;
}
.noOther{
width: 40rpx;
height: 40rpx;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(141deg, #BABCC3 0%, #CBCCD1 45%, #B5B6BA 100%);
border-radius: 50%;
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 24rpx;
}
}
.item{
text-align: center;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
color: #9A9A9A;
line-height: 40rpx;
}
.firstItem{
display: flex;
.itemIcon{
width: 120rpx;
height: 120rpx;
border-radius: 16rpx;
overflow: hidden;
margin-right: 8rpx;
.itemImg{
width: 100%;
height: 100%;
}
}
.itemRight{
height: 120rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
color: #9A9A9A;
.firstItemText{
width: 100%;
text-align: left;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
color: #9A9A9A;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
}
}
}
.noDataBox{
width: 100%;
height: calc(100vh - 300px);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.noDataImg{
width: 120rpx;
height: 120rpx;
}
.noDataText{
}
}
}
}
}
}
</style>

View File

@ -1,18 +1,32 @@
<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"/>
</div>
</div>
<div class="contentPage">
<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"/>
<!-- <text class="modalUnit">{{selectDateText || ''}}</text>-->
<text class="modalUnit">{{`/统计到${allDateDay || ''}`}}</text>
<div class="left">
<img class="detailLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/serverDetail.png"/>
<!-- <text class="modalUnit">{{selectDateText || ''}}</text>-->
<text class="modalUnit">{{`/统计到${allDateDay || ''}`}}</text>
</div>
<div class="right">
<div class="typeChangeBox">
<div :class="pageType===1?'normal select':'normal'" @click="handleChangeType(1)">按天统计</div>
<div :class="pageType===2?'normal select':'normal'" @click="handleChangeType(2)">累计统计</div>
</div>
</div>
</div>
<div class="revenueContent">
<div class="navBigList">
<div class="allBox">
<div :class="currentScroll==='all'?'scrollItem selectItem':'scrollItem'" @click="handleChangeTime('all')">累计</div>
</div>
<div class="navBigList" v-if="pageType===1">
<!-- <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">
<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>
@ -59,7 +73,6 @@
<image class="bottomIcon" :style="{transform: sortName===4?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===4?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/>
</view>
</view>
</view>
@ -126,22 +139,19 @@
</view>
</div>
<div class="rightBottom" v-if="type!==3">
<view class="rightBottomItem">
<text class="itemValue">
{{item.BayonetINC.curYearData?$util.getMoney(item.BayonetINC.curYearData / 10000):'0.00'}}
</text>
</view>
<view class="rightBottomItem">
<text class="itemValue">
{{item.BayonetINC.lYearData?$util.getMoney(item.BayonetINC.lYearData / 10000):'0.00'}}
</text>
</view>
<view class="rightBottomItem">
<text class="itemValue">
{{item.BayonetINC.increaseData?$util.getMoney(item.BayonetINC.increaseData / 10000):'0.00'}}
</text>
</view>
<div class="otherCarBox" v-if="type!==3">
<div class="left">
<span class="carLabel">车流增幅</span>
<span :style="{color: item.BayonetINC.increaseRate>1000?'':item.BayonetINC.increaseRate>0?'#E83944':item.BayonetINC.increaseRate<0?'#0E9976':''}">
{{item.BayonetINC.increaseRate>1000?'':item.BayonetINC.increaseRate>0?'+':''}}
</span>
<span :style="{color: item.BayonetINC.increaseRate>1000?'':item.BayonetINC.increaseRate>0?'#E83944':item.BayonetINC.increaseRate<0?'#0E9976':''}">
{{item.BayonetINC.increaseRate?item.BayonetINC.increaseRate>1000?'-':item.BayonetINC.increaseRate:'-'}}%
</span>
</div>
<div class="MoreBox" @click="handleGoServerPartDetail(item)">
<img class="goMoreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/goMore.svg"/>
</div>
</div>
</div>
</div>
@ -201,10 +211,19 @@ export default {
compareYear:'',
ServerpartIds:'',
sortType: 1,// 0 1
sortName: 4,// 1 24 2 23 3 4
sortName: 3,// 1 24 2 23 3 4
statusBarHeight:0,
menu:'',
pageType:1,//
serverPartList:[],//
}
},
onLoad(query){
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
if (query.type){
this.type = Number(query.type)
}
@ -234,7 +253,7 @@ export default {
if (lastMonth === 1){
dayNumber = lastDays - 26 + 1
}else{
dayNumber = 6 + lastDays + 1
dayNumber = 6 + lastDays
}
this.howDayNumber = dayNumber
let dateList = []
@ -275,9 +294,12 @@ export default {
uni.showLoading({
title: '正在加载...'
})
let time = date?date==='all'?this.lastDay:this.currentScroll.split('item')[1]:this.currentScroll.split('item')[1]
let time = date?
date==='all'?this.lastDay:
this.currentScroll.split('item')[1]:
this.currentScroll.split('item')[1]
const req = {
calcType:this.currentScroll==='all'?1:2,
calcType:this.pageType,
pushProvinceCode: this.useInfo.userData.ProvinceCode || '340000',
curYear: this.curYear,
compareYear: this.compareYear,
@ -290,6 +312,13 @@ export default {
const data = await request.$webGet('CommercialApi/Revenue/GetServerpartINCAnalysis',req)
console.log('data',data)
this.dataList = this.handleGetSort(data.Result_Data.List)
let list = []
if (data.Result_Data.List && data.Result_Data.List.length>0){
data.Result_Data.List.forEach(item=>{
list.push({name:item.ServerpartName,value:item.ServerpartId})
})
}
this.serverPartList = list
uni.hideLoading()
},
//
@ -309,9 +338,24 @@ export default {
}
let list = this.handleGetSort(this.dataList)
this.dataList = list
console.log('this.dataList',this.dataList)
this.$forceUpdate()
uni.hideLoading()
},
//
handleChangeType(value){
this.pageType = value
if (value===2){
this.handleGetData('all')
}else{
this.handleGetData()
}
},
handleBack(){
uni.navigateBack({
delta: 1
});
},
//
handleGetSort(list){
var len = list.length;
@ -519,6 +563,18 @@ export default {
}
}
return list;
},
//
handleGoServerPartDetail(obj){
console.log('obj',obj)
let springObj = {
SERVERPART_NAME: obj.ServerpartName,
SPREGIONTYPE_NAME: obj.SPRegionTypeName,
SPRegionType_ID: obj.SPRegionTypeId,
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)}`)
}
}
}
@ -528,10 +584,38 @@ export default {
<style scoped lang="scss">
.main{
width: 100%;
background: #fff;
.top{
width: 100%;
height: 324rpx;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
background-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 100%;
.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-repeat: no-repeat;
background-position: 0 0;
background-size: 100% 324rpx;
display: flex;
align-items: center;
z-index: 2;
.backArrow{
width: 24px;
height: 24px;
margin-right: 16px;
position: absolute;
}
}
}
.contentPage{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
transform: translateY(-120rpx);
.revenueDetail{
width: 100%;
background: #fff;
@ -542,42 +626,68 @@ export default {
.revenueDetailTitleBox{
width: 100%;
height: 90rpx;
background: linear-gradient(360deg, rgba(255,233,229,0) 0%, #FEDEDD 100%);
background: linear-gradient(360deg, rgba(255,200,198,0) 0%, #FFC8C6 100%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
box-sizing: border-box;
padding: 22rpx;
padding: 36rpx 34rpx 22rpx;
position: relative;
.detailLogo{
width: 144rpx;
height: 74rpx;
display: flex;
align-items: center;
justify-content: space-between;
.left{
.detailLogo{
width: 178rpx;
height: 32rpx;
}
.modalUnit{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
position: absolute;
left: 220rpx;
top: 30rpx;
}
}
.detailIcon{
width: 104rpx;
height: 104rpx;
position: absolute;
right: 22rpx;
top: 22rpx;
}
.modalUnit{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
position: absolute;
left: 170rpx;
top: 26rpx;
.right{
.typeChangeBox{
display: flex;
align-items: center;
background: #FFFFFF;
border-radius: 6rpx;
box-sizing: border-box;
padding: 4rpx;
.normal{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
padding: 6rpx 16rpx;
}
.select{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 36rpx;
background: #F5EFEF;
border-radius: 6rpx;
}
}
}
}
.revenueContent{
width: 100%;
box-sizing: border-box;
padding: 0 22rpx 24rpx;
padding: 0 32rpx 24rpx;
.navBigList{
width: 100%;
height: 40rpx;
display: flex;
align-items: center;
margin-top: 32rpx;
.allBox{
width: 70rpx;
height: 100%;
@ -598,12 +708,12 @@ export default {
}
.navList{
width: calc(100% - 80rpx);
width: 100%;
height: 40rpx;
display: flex;
align-items: center;
white-space: nowrap;
padding-bottom: 12rpx;
padding-bottom: 24rpx;
border-bottom: 1px solid #F5F4F4;
.scrollItem{
font-size: 28rpx;
@ -738,7 +848,7 @@ export default {
}
}
.typeFirst{
height: calc(100vh - 200px);
height: calc(100vh - 300px);
.row{
margin-top: 32rpx;
display: flex;
@ -867,6 +977,7 @@ export default {
font-weight: 500;
color: #7F020B;
line-height: 30rpx;
margin-bottom: 6rpx;
}
.serviceLabel{
font-size: 20rpx;
@ -955,6 +1066,30 @@ export default {
}
}
}
.otherCarBox{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.left{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
}
.MoreBox{
width: 30%;
height: 32rpx;
display: flex;
align-items: center;
justify-content: flex-end;
.goMoreIcon{
width: 32rpx;
height: 32rpx;
}
}
}
}
}
}

View File

@ -39,9 +39,9 @@
<div :class="pageType===1?'normal select':'normal'" @click="handleChangeType(1)">经营板块</div>
<div :class="pageType===2?'normal select':'normal'" @click="handleChangeType(2)">经营片区</div>
</div>
<div style="display: flex;align-items: center">
<div class="searchAllBox" style="margin-right: 16rpx" v-if="showSpring" @click="handleSearchAll">返回驿达</div>
<div class="searchAllBox" v-if="showSpring" @click="handleGoShopDetail">门店明细</div>
<div style="display: flex;align-items: center" v-if="showSpring">
<div class="searchAllBox" style="margin-right: 16rpx" @click="handleSearchAll">返回驿达</div>
<div class="searchAllBox" @click="handleGoShopDetail">门店明细</div>
</div>
</div>
@ -425,13 +425,13 @@
<text class="YOYBoxText">增幅</text>
<div class="YOYBoxValue">
<span :style="{color:carEntryAdd>0?'#E83944':carEntryAdd<0?'#0E9976':''}">{{carEntryAdd>0?'+':carEntryAdd<0?'':''}}</span>
<span :style="{color:carEntryAdd>0?'#E83944':carEntryAdd<0?'#0E9976':''}">{{`${carEntryAdd || '-'}%`}}</span>
<span :style="{color:carEntryAdd>0?'#E83944':carEnmodalBoxtryAdd<0?'#0E9976':''}">{{`${carEntryAdd || '-'}%`}}</span>
</div>
</div>
</div>
</div>
<div class="overAllDataBottom">
<div class="pkBox">
<div class="pkBox" style="margin-bottom: 20px">
<div class="leftBox carLeft">
<text class="value">{{pageData.curYearBayonet.data?$util.getMoney(pageData.curYearBayonet.data / 10000):'0.00'}}</text>
<text class="label">2024/万辆</text>
@ -484,7 +484,8 @@
<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>
<!-- <text class="goTest" @click="handleGoTest">看测试页面</text>-->
<img class="goTest" @click="handleGoTest" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/springTravelBtn.png"/>
</div>
<div class="revenueContent">
<scroll-view scroll-x="true" class="navList" :scrollIntoView="currentScroll" :scroll-with-animation="true">
@ -500,7 +501,7 @@
</div>
<div class="moreBox" @click="handleGoMorePage(1)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/haveMoreICon.svg"/>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
</div>
</div>
<div class="modalTitleBox" v-else>
@ -511,7 +512,7 @@
</div>
<div class="moreBox" @click="handleGoMorePage(1)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/haveMoreICon.svg"/>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
</div>
</div>
@ -637,7 +638,7 @@
</div>
<div class="moreBox" @click="handleGoMorePage(2)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/haveMoreICon.svg"/>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.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>-->
@ -658,7 +659,7 @@
</div>
<div class="moreBox" @click="handleGoMorePage(2)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/haveMoreICon.svg"/>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
</div>
</div>
@ -785,7 +786,7 @@
</div>
<div class="moreBox" @click="handleGoMorePage(3)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/haveMoreICon.svg"/>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.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>-->
@ -806,7 +807,7 @@
</div>
<div class="moreBox" @click="handleGoMorePage(3)">
<span class="moreText">服务区排名</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/haveMoreICon.svg"/>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/redRightArrow.png"/>
</div>
</div>
@ -901,6 +902,8 @@ export default {
springService:null,//
useInfo:{},//
isShowWarningTime: true,//
giveTrendObj:{},//
isFirst:true,
selfRevenueNumber:0,//
selfRevenueAdd: 0,//
@ -990,7 +993,7 @@ export default {
if (lastMonth === 1){
dayNumber = lastDays - 26 + 1
}else{
dayNumber = 6 + lastDays + 1
dayNumber = 6 + lastDays
}
this.howDayNumber = dayNumber
let dateList = []
@ -1057,6 +1060,17 @@ export default {
const data = await request.$webGet('CommercialApi/Revenue/GetHolidayAnalysis',req)
this.pageData = data.Result_Data
if (this.isFirst){
this.giveTrendObj = {
curYearRevenue:this.pageData.curYearRevenue.data,
lYearRevenue:this.pageData.lYearRevenue.data,
curYearAccount: this.pageData.curYearAccount.data,
lYearAccount:this.pageData.lYearAccount.data,
curYearBayonet:this.pageData.curYearBayonet.data,
lYearBayonet:this.pageData.lYearBayonet.data,
}
this.isFirst = false
}
//
this.revenueAdd = Number((((this.pageData.curYearRevenue.data / this.pageData.lYearRevenue.data)-1)*100).toFixed(2))
this.revenueNumber = Number(((this.pageData.curYearRevenue.data - this.pageData.lYearRevenue.data)/10000).toFixed(2))
@ -1384,7 +1398,8 @@ export default {
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/rankPage?type=${type}&time=${time}`)
},
handleGoTest(type){
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/testPage`)
let obj = JSON.stringify(this.giveTrendObj)
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/testPage?detailObj=${obj}`)
},
//
async handleGetNewUpdateTime(){
@ -1619,7 +1634,7 @@ export default {
}
.YOYNumberValue{
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
//font-weight: bold;
color: #A69E9F;
line-height: 40rpx;
@ -1635,7 +1650,7 @@ export default {
}
.YOYBoxValue{
font-size: 36rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate-Bold;
font-weight: bold;
color: #E83944;
line-height: 40rpx;
@ -1682,7 +1697,7 @@ export default {
}
.YOYNumberValue{
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
//font-weight: bold;
color: #A69E9F;
line-height: 40rpx;
@ -1700,7 +1715,7 @@ export default {
}
.YOYBoxValue{
font-size: 36rpx;
font-family: DINAlternate, DINAlternate;
font-family: DINAlternate-Bold;
font-weight: bold;
color: #E83944;
line-height: 40rpx;
@ -1710,7 +1725,7 @@ export default {
.overAllDataBottom{
width: 100%;
box-sizing: border-box;
padding: 0 24rpx 24rpx;
padding: 0 24rpx 40rpx;
.contentTitleBox{
width: 100%;
display: flex;
@ -1736,7 +1751,7 @@ export default {
}
.YOYNumberValue{
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
//font-weight: bold;
color: #A69E9F;
line-height: 40rpx;
@ -1752,7 +1767,7 @@ export default {
}
.YOYBoxValue{
font-size: 36rpx;
font-family: DINAlternate, DINAlternate;
font-family: "Microsoft YaHei";
font-weight: bold;
color: #E83944;
line-height: 40rpx;
@ -1788,7 +1803,7 @@ export default {
background-size: 100% 100%;
.value{
font-size: 44rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
color: #FFFFFF;
font-weight: bold;
line-height: 52rpx;
@ -1809,7 +1824,7 @@ export default {
align-items: flex-end;
.value{
font-size: 44rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #FF5A3C;
line-height: 52rpx;
@ -1937,14 +1952,14 @@ export default {
.valueItemBox{
text-align: center;
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
color: #160002;
line-height: 40rpx;
}
.addItem{
text-align: center;
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
line-height: 40rpx;
}
}
@ -1975,7 +1990,7 @@ export default {
.rowItem{
text-align: center;
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
color: #160002;
line-height: 40rpx;
}
@ -2027,6 +2042,8 @@ export default {
position: absolute;
right: 22rpx;
top: 15rpx;
width: 212rpx;
height: 56rpx;
}
.modalUnit{
font-size: 24rpx;
@ -2078,7 +2095,7 @@ export default {
}
.modalBox{
margin-top: 40rpx;
margin-top: 32rpx;
.modalTitleBox{
width: 100%;
box-sizing: border-box;
@ -2098,7 +2115,7 @@ export default {
margin-right: 12rpx;
}
.modalText{
font-size: 24rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #160002;
@ -2117,15 +2134,15 @@ export default {
display: flex;
align-items: center;
.moreText{
font-size: 24rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
color: #ED3E48;
line-height: 40rpx;
}
.moreIcon{
width: 24rpx;
height: 36rpx;
height: 24rpx;
margin-left: 4rpx;
}
}
@ -2217,14 +2234,14 @@ export default {
}
.compareItem{
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
color: #160002;
line-height: 40rpx;
text-align: center;
}
.addItem{
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
color: #E83944;
line-height: 40rpx;
text-align: center;
@ -2241,7 +2258,7 @@ export default {
.rowItem{
text-align: center;
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
//font-family: DINAlternate, DINAlternate;
color: #160002;
line-height: 40rpx;
}

View File

@ -1,33 +1,112 @@
<template>
<div class="main">
<div class="img" :style="{left:allScreen?'100%':'0%'}" @click="handleShowAllScreen">
<qiunDataCharts
type="area"
:opts="opts"
:chartData="res"
:animation="false"
:canvas2d="true"
:inScrollView="true"
tooltipFormat="entryCarNumber"
:ontouch="true"
/>
<div class="main" >
<scroll-view scroll-y="true" class="img" :style="{left:allScreen?'100%':'0'}">
<div class="imgContent">
<div class="imgTop">
<span class="unit">单位万元</span>
<div class="searchAllScreen">
<img class="allScreenIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allScreenIcon.png"/>
<span class="text" @click="handleShowAllScreen">全屏</span>
</div>
</div>
<qiunDataCharts
type="area"
:opts="opts"
:chartData="res"
:animation="false"
:canvas2d="true"
:inScrollView="true"
:pageScrollTop="ScrollTop"
tooltipFormat="entryCarNumber"
:ontouch="true"
/>
</div>
<div class="noticeBox">
<div class="boxBg"></div>
<div class="contentBox">
<img class="contentIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/imgDesc.png"/>
<div class="contentText">
根据历史大数据显示<br/>
<div style="text-indent: 2rem;font-size: 24rpx">
服务区会在春运前至农历小年夜前<span class="red">农历二十二</span>到底回程小高峰然后流量逐步回落至春运最低点<span class="red">除夕夜</span>大年初二开始随着出行自驾游的高峰来临流量逐步放大会在初六达到整个春运最高峰随后流量逐步回落至次低点<span class="red">元宵节</span>在正月十六出现一波返程小高峰后流量逐步回复正常
</div>
</div>
</div>
</div>
<div class="allPkBox">
<div class="boxBg"></div>
<div class="pkContent">
<div class="contentTop">
<img class="titleImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/allDataTitle.png" />
</div>
<div class="pkBox">
<div class="leftBox">
<text class="value">{{giveTrendObj.curYearRevenue?$util.getMoney(giveTrendObj.curYearRevenue / 10000):'0.00'}}</text>
<text class="label">2024/万元</text>
</div>
<div class="rightBox">
<text class="value">{{giveTrendObj.lYearRevenue?$util.getMoney(giveTrendObj.lYearRevenue / 10000):'0.00'}}</text>
<text class="label">2023/万元</text>
</div>
<img class="pkLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/vs.png"/>
</div>
<div class="pkBox">
<div class="leftBox revenueLeft">
<text class="value">{{giveTrendObj.curYearAccount?$util.getMoney(giveTrendObj.curYearAccount / 10000):'0.00'}}</text>
<text class="label">2024/万元</text>
</div>
<div class="rightBox revenueRight">
<text class="value">{{giveTrendObj.lYearAccount?$util.getMoney(giveTrendObj.lYearAccount / 10000):'0.00'}}</text>
<text class="label">2023/万元</text>
</div>
<img class="pkLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueVS.png"/>
</div>
<div class="pkBox" style="margin-bottom: 20px">
<div class="leftBox carLeft">
<text class="value">{{giveTrendObj.curYearBayonet?$util.getMoney(giveTrendObj.curYearBayonet / 10000):'0.00'}}</text>
<text class="label">2024/万辆</text>
</div>
<div class="rightBox carRight">
<text class="value">{{giveTrendObj.lYearBayonet?$util.getMoney(giveTrendObj.lYearBayonet / 10000):'0.00'}}</text>
<text class="label">2023/万辆</text>
</div>
<img class="pkLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/carVS.png"/>
</div>
</div>
</div>
</scroll-view>
<div class="allScreen" :style="{left:allScreen?'0':'100%'}" >
<div class="bigBox">
<div class="bigImg">
<qiunDataCharts
type="area"
:opts="opts2"
:chartData="res2"
:animation="false"
:canvas2d="true"
:inScrollView="true"
tooltipFormat="entryCarNumber2"
:ontouch="true"
:reshow="allScreen"
/>
</div>
<div class="closeBox">
<img class="closeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/closeIcon.svg" @click="handleShowAllScreen"/>
</div>
</div>
</div>
<div class="allScreen" :style="{left:allScreen?'0%':'100%'}" @click="handleShowAllScreen">
<qiunDataCharts
type="area"
:opts="opts2"
:chartData="res"
:animation="false"
tooltipFormat="entryCarNumber"
:ontouch="true"
/>
</div>
</div>
</template>
<script>
import qiunDataCharts from "./components/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue";
import request from '@/util/index.js'
var uChartsInstance = {};
export default {
components: {qiunDataCharts},
data() {
@ -35,11 +114,34 @@ export default {
opts:{},
opts2:{},
res:{},
allScreen:false
res2:{},
allScreen:false,
ScrollTop:0,
howDayNumber:0,
giveTrendObj:{}
}
},
onLoad(){
onLoad(query){
if (query.detailObj){
this.giveTrendObj = JSON.parse(query.detailObj)
}
this.lastDay = uni.getStorageSync('lastDay')
const lastDate = new Date(this.lastDay)
//
let dayNumber = 0
let lastMonth = lastDate.getMonth() + 1
let lastDays = lastDate.getDate()
// 24 1.26
if (lastMonth === 1){
dayNumber = lastDays - 26 + 1
}else{
dayNumber = 6 + lastDays
}
console.log('dayNumber',dayNumber)
this.ScrollTop = (dayNumber-3)*30
this.howDayNumber = dayNumber
console.log('this.ScrollTop',this.ScrollTop)
@ -60,21 +162,14 @@ export default {
const data = await request.$webGet('CommercialApi/Revenue/GetHolidayCompare',req)
console.log('data',data)
let dateList = []
let dateList2 = []
let dataObj = data.Result_Data
let allDateList = ''
dataObj.compareList.forEach(item=>{
const date = new Date(item.name)
let m = date.getMonth() + 1
let d = date.getDate()
let dateText = `${m}.${d}`
item.easyDate = dateText
if (allDateList.indexOf(dateText)===-1){
if (allDateList){
allDateList+=`,${dateText}`
}else{
allDateList = dateText
}
}
})
dataObj.curList.forEach(item=>{
const date = new Date(item.name)
@ -82,17 +177,50 @@ export default {
let d = date.getDate()
let dateText = `${m}.${d}`
item.easyDate = dateText
if (allDateList.indexOf(dateText)===-1){
if (allDateList){
allDateList+=`,${dateText}`
}else{
allDateList = dateText
}
}
})
allDateList = allDateList.split(',')
dateList = allDateList
for(let i = 1;i<=40;i++){
if (i===7){
// dateList.push(``)
dateList.push(`大年廿二`)
}else if(i===9){
dateList.push(`南小年`)
}else if(i===15){
dateList.push(`大年三十`)
}else if(i===16){
dateList.push(`春节`)
}else if(i===21){
dateList.push(`初六`)
}else if(i===23){
dateList.push(`初八`)
}else if(i===25){
dateList.push(`初十`)
}else if(i===26){
dateList.push(`正月十一`)
}else if(i===30){
dateList.push(`正月十五`)
}else if(i===31){
dateList.push(`正月十六`)
}else{
dateList.push(`${i}`)
}
}
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)
// }
}
console.log('dateList',dateList)
console.log('dataObj.compareList',dataObj.compareList)
console.log('dataObj.curList',dataObj.curList)
@ -103,39 +231,13 @@ export default {
let curListList = []
let realCurList = []
dataObj.compareList.forEach(item=>{
const date = new Date(item.name)
let m = date.getMonth() + 1
let d = date.getDate()
let dateText = `${m}.${d}`
item.easyDate = dateText
if (allDateList.indexOf(dateText)===-1){
if (allDateList){
allDateList+=`,${dateText}`
}else{
allDateList = dateText
}
}
})
dataObj.curList.forEach(item=>{
const date = new Date(item.name)
let m = date.getMonth() + 1
let d = date.getDate()
let dateText = `${m}.${d}`
item.easyDate = dateText
if (allDateList.indexOf(dateText)===-1){
if (allDateList){
allDateList+=`,${dateText}`
}else{
allDateList = dateText
}
}
})
//
let tradDateList = []
allDateList.forEach(item=>{
let beforeValue = dataObj.compareList.filter(filter=> filter.easyDate === item)[0]
beforeValue = beforeValue?beforeValue.value:null
dateList.forEach((item,index)=>{
// let beforeValue = dataObj.compareList.filter(filter=> filter.easyDate === item)[0]
// beforeValue = beforeValue?beforeValue.value:null
let beforeValue = dataObj.compareList[index].value
if (beforeValue){
if (Number(beforeValue) / 10000 > max){
max = Number(beforeValue) / 10000
@ -148,8 +250,9 @@ export default {
realCompareList.push(0)
}
let compareValue = dataObj.curList.filter(filter=> filter.easyDate === item)[0]
compareValue = compareValue?compareValue.value:null
// let compareValue = dataObj.curList.filter(filter=> filter.easyDate === item)[0]
// compareValue = compareValue?compareValue.value:null
let compareValue = dataObj.curList[index].value
if (compareValue){
if (Number(compareValue) / 10000 > max){
max = Number(compareValue) / 10000
@ -161,6 +264,12 @@ export default {
realCurList.push(0)
}
})
max = this.getSplitNumber(max)
let list = ['大年十六','大年十七','大年十八','大年十九','大年二十','大年廿一','大年廿二','北小年','南小年','大年廿五','大年廿六','大年廿七',
'大年廿八','大年廿九','除夕','春节','正月初二','正月初三','正月初四','正月初五','正月初六','正月初七','正月初八','正月初九','正月初十','正月十一',
'正月十二','正月十三','正月十四','元宵','正月十六','正月十七','正月十八','正月十九','正月二十','正月廿一','正月廿二','正月廿三','正月廿四','正月廿五']
let res = {
categories: dateList,
@ -169,18 +278,42 @@ export default {
name:`24年`,
data:curListList,
real:realCurList,
tradDate:list,
howDayNumber:this.howDayNumber,
},
{
name:`23年`,
data:compareList,
real:realCompareList,
tradDate:list,
howDayNumber:this.howDayNumber
},
],
max:Number(max.toFixed(2)),
}
let res2 = {
categories: dateList2,
series:[
{
name:`24年`,
data:curListList,
real:realCurList,
tradDate:list,
howDayNumber:this.howDayNumber
},
{
name:`23年`,
data:compareList,
real:realCompareList,
tradDate:list,
howDayNumber:this.howDayNumber
},
],
max:Number(max.toFixed(2)),
}
console.log('res',res)
this.res = res
this.res2 = res2
this.opts = {
categories: res.categories,
series: res.series,
@ -201,16 +334,19 @@ export default {
},
xAxis: {
disableGrid: true,
itemCount: 7
itemCount: 6,
scrollAlign: 'left',
// fontColor:'red',
// format:"entryCarNumberXFormat"
},
yAxis: {
gridType: "dash",
dashLength: 2,
splitNumber:4,
splitNumber:6,
data: [
{
min: 0,
max:res.max
max:3000
}
]
},
@ -229,6 +365,7 @@ export default {
let phoneInfo = uni.getStorageSync('phoneInfo')
console.log('phoneInfo',phoneInfo)
this.opts2 = {
// width:phoneInfo.screenHeight+'px',
// height:(2*phoneInfo.screenWidth)+'px',
@ -251,16 +388,16 @@ export default {
},
xAxis: {
disableGrid: true,
itemCount: 10
itemCount: 40
},
yAxis: {
gridType: "dash",
dashLength: 2,
splitNumber:4,
splitNumber:6,
data: [
{
min: 0,
max:res.max
max:3000
}
]
},
@ -279,6 +416,21 @@ export default {
},
handleShowAllScreen(){
this.allScreen = !this.allScreen
},
getSplitNumber(value){
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
}
},
//
handleGetTraditionalDate(){
let list = ['大年十六','大年十七','大年十八','大年十九','大年二十','大年廿十一','大年廿十二','大年廿十三','大年廿十四','大年廿十五','大年廿十六','大年廿十七',
'大年廿十八','大年廿十九','除夕','春节','正月初二','正月初三','正月初四','正月初五','正月初六','正月初七','正月初八','正月初九','正月初十','正月十一',
'正月十二','正月十三','正月十四','元宵','正月十六','正月十七','正月十八','正月十九','正月二十','正月廿十一','正月廿十二','正月廿十三','正月廿十四','正月廿十五']
}
}
}
@ -288,15 +440,256 @@ export default {
.main{
width: 100%;
height: 100vh;
background: #F3F4F9;
box-sizing: border-box;
.img{
width: 100%;
height: calc(100vh - 64rpx);
position: fixed;
top: 0;
box-sizing: border-box;
padding: 0 32rpx;
top: 32rpx;
.imgContent{
width: 100%;
background: #fff;
padding: 24rpx;
border-radius: 16rpx;
box-sizing: border-box;
.imgTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.unit{
margin-left: 24rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.searchAllScreen{
display: flex;
align-items: center;
justify-content: center;
border-radius: 8rpx;
padding: 8rpx 10rpx;
border: 2rpx solid #DFDFDF;
background: #fff;
.allScreenIcon{
width: 32rpx;
height: 32rpx;
}
.text{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #6B6C78;
line-height: 36rpx;
}
}
}
}
.noticeBox{
width: 100%;
height: 400rpx;
background: #fff;
box-sizing: border-box;
border-radius: 16rpx;
padding: 4rpx;
margin-top: 24rpx;
position: relative;
.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%);
border-radius: 16rpx;
}
.contentBox{
position: absolute;
z-index: 2;
width: calc(100% - 8rpx);
height: 100%;
box-sizing: border-box;
padding: 22rpx;
.contentIcon{
width: 180rpx;
height: 44rpx;
}
.contentText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 40rpx;
//margin-top: 16rpx;
.red{
color: red;
}
}
}
}
.allPkBox{
width: 100%;
height: 625rpx;
margin-top: 32rpx;
background: #fff;
box-sizing: border-box;
border-radius: 16rpx;
padding: 4rpx;
position: relative;
.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%);
border-radius: 16rpx;
}
.pkContent{
width: 100%;
box-sizing: border-box;
position: absolute;
z-index: 2;
padding: 22rpx;
.contentTop{
width: 100%;
.titleImg{
width: 144rpx;
height: 74rpx;
}
}
.pkBox{
width: 100%;
height: 140rpx;
position: relative;
box-sizing: border-box;
margin-bottom: 32rpx;
.pkLogo{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 88rpx;
height: 88rpx;
}
.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/leftRed.png");
background-repeat: no-repeat;
background-size: 100% 100%;
.value{
font-size: 44rpx;
//font-family: DINAlternate, DINAlternate;
color: #FFFFFF;
font-weight: bold;
line-height: 52rpx;
}
.label{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
color: #FFFFFF;
font-weight: 400;
line-height: 40rpx;
}
}
.rightBox{
right: 0;top: 0;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rightPink.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: #FF5A3C;
line-height: 52rpx;
}
.label{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #FF5A3C;
line-height: 40rpx;
}
}
.revenueLeft{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueLeft.png");
}
.revenueRight{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueRight.png");
.value{
color: #D48F00;
}
.label{
color: #D48F00;
}
}
.carLeft{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/carLeft.png");
}
.carRight{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/carRight.png");
.value{
color: #3873DD;
}
.label{
color: #3873DD;
}
}
}
}
}
}
.allScreen{
position: fixed;
top: 0;
width: 100vh;
height: 100vh;
background: black;
//padding: 5vh 0;
.bigBox{
width: 100vw;
height: 100vh;
background: #fff;
.bigImg{
width: 100vw;
height: calc(100vh - 50rpx);
background: #fff;
}
.closeBox{
width: 100vw;
height: 50rpx;
display: flex;
align-items: center;
justify-content: flex-end;
.closeIcon{
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
margin-bottom: 10rpx;
}
}
}
}
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>首页图标/注解@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="首页切图1227" transform="translate(-331, -31)" fill-rule="nonzero">
<g id="question-circle" transform="translate(331, 31)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M8,1 C4.134375,1 1,4.134375 1,8 C1,11.865625 4.134375,15 8,15 C11.865625,15 15,11.865625 15,8 C15,4.134375 11.865625,1 8,1 Z M8,13.8125 C4.790625,13.8125 2.1875,11.209375 2.1875,8 C2.1875,4.790625 4.790625,2.1875 8,2.1875 C11.209375,2.1875 13.8125,4.790625 13.8125,8 C13.8125,11.209375 11.209375,13.8125 8,13.8125 Z M9.74375,4.9484375 C9.275,4.5375 8.65625,4.3125 8,4.3125 C7.34375,4.3125 6.725,4.5390625 6.25625,4.9484375 C5.76875,5.375 5.5,5.9484375 5.5,6.5625 L5.5,6.68125 C5.5,6.75 5.55625,6.80625 5.625,6.80625 L6.375,6.80625 C6.44375,6.80625 6.5,6.75 6.5,6.68125 L6.5,6.5625 C6.5,5.8734375 7.1734375,5.3125 8,5.3125 C8.8265625,5.3125 9.5,5.8734375 9.5,6.5625 C9.5,7.0484375 9.15625,7.49375 8.6234375,7.6984375 C8.2921875,7.825 8.0109375,8.046875 7.809375,8.3375 C7.6046875,8.634375 7.4984375,8.990625 7.4984375,9.3515625 L7.4984375,9.6875 C7.4984375,9.75625 7.5546875,9.8125 7.6234375,9.8125 L8.3734375,9.8125 C8.4421875,9.8125 8.4984375,9.75625 8.4984375,9.6875 L8.4984375,9.3328125 C8.4984375,9.025 8.6921875,8.74375 8.98125,8.6328125 C9.903125,8.278125 10.4984443,7.465625 10.4984443,6.5625 C10.5,5.9484375 10.23125,5.375 9.74375,4.9484375 Z M7.375,11.4375 C7.375,11.782678 7.65482203,12.0625 8,12.0625 C8.34517797,12.0625 8.625,11.782678 8.625,11.4375 C8.625,11.092322 8.34517797,10.8125 8,10.8125 C7.65482203,10.8125 7.375,11.092322 7.375,11.4375 Z" id="形状" fill="#A69E9F"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB