This commit is contained in:
cclu 2023-07-13 17:21:30 +08:00
parent 73c3e955f6
commit 7b59c90510
5 changed files with 606 additions and 237 deletions

View File

@ -209,7 +209,7 @@
</div>
<span class="serviceName">{{subItem.name}}</span>
</div>
<image class="topRight" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
<!-- <image class="topRight" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>-->
</div>
<div class="childDetail" v-for="(thirdItem,thirdIndex) in subItem.regionList" :key="thirdIndex">
<div class="thirdItem">
@ -379,6 +379,8 @@ export default {
}
},
onLoad(option){
console.log('option',option)
this.isShowAllProvince = option.mustAllProvince
this.backType = option.type
},
onShow(){
@ -441,6 +443,7 @@ export default {
if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){
this.isShowAllProvince = true
}
console.log('this.isShowAllProvince',this.isShowAllProvince)
if (this.isShowAllProvince === true){
this.getDetail(this.theRequest)
}else{

View File

@ -80,8 +80,9 @@
<text class="projectTitle">经营项目</text>
<text v-if="serviceList && serviceList.length>0" class="number">({{`${serviceList.length}`}})</text>
</div>
<scroll-view v-if="serviceList && serviceList.length>0" class="list" scroll-y="true" :scroll-with-animation="true">
<div class="listItem" v-for="(item,index) in serviceList" :key="index" @click="handleShopDetail(item)">
<scroll-view class="list" scroll-y="true" :scroll-with-animation="true">
<!-- @click="handleShopDetail(item)"-->
<div class="listItem" v-for="(item,index) in serviceList" :key="index" >
<div class="itemTop">
<div class="left">
<div class="iconBox">
@ -91,7 +92,7 @@
<text class="name">{{item.SERVERPART_NAME}}</text>
<div class="type">
<image class="typeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/brand/typeIcon.svg"></image>
<text class="text">{{typeObj[item.SERVERPART_TYPE]}}</text>
<text class="text">{{item.SERVERPART_TYPE}}</text>
</div>
</div>
</div>

View File

@ -1,20 +1,19 @@
<template>
<div class="main">
<div class="top">
<image class="bg" src="/static/images/newCommercial/specialBg.png"/>
<image class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/specialBg.png"/>
<div class="header" :style="{height:menu.height + 'px',top:menu.top+'px'}">
<image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
<div class="timeSelect">
<img class="selectIcon" src="/static/images/newCommercial/selectDate.png"/>
<picker mode="date" :value="searchText" :end="lastDay" @change="changeAllProvinceSearch" >
<img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDate.png"/>
<picker mode="date" :value="searchText" :end="lastDay" @change="bindDateChange" >
<view class="time">
<view class="text">{{ searchText }}</view>
<image class="icon" src="/static/images/newCommercial/arrow_bottom.svg"></image>
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/arrow_bottom.svg"></image>
</view>
</picker>
</div>
</div>
<div class="topBox">
<div class="boxLeft">
<div class="headerTitle">实时分析</div>
@ -22,10 +21,64 @@
</div>
<div class="boxRight">
<span class="day">{{showDay}}</span>
<image class="dayBox" src="/static/images/newCommercial/dayBox.png"/>
<image class="dayBox" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/dayBox.png"/>
</div>
</div>
</div>
<div class="content">
<div class="contentTab">
<div :class="selectTab===1?'selectTab tabItem':'tabItem'" @click="handleTab(1)">{{`${startTime}时入区车流预警`}}</div>
<div :class="selectTab===2?'selectTab tabItem':'tabItem'" @click="handleTab(2)">{{endTime===24?`${endTime - 1}-0时入区车流排行`:`0-${startTime}时入区车流排行`}}</div>
</div>
<div class="noticeBox">
<span class="notice" v-if="selectTab===1">{{ `: 1个小时入区流量比${showMonth}月同一时间流量增幅150%以上且每小时入区车辆超过100辆` }}</span>
<span class="notice" v-if="selectTab===2">: 前20个从今日零时起至今流量与月均同时段增幅情况</span>
</div>
<div class="contentList" v-if="selectTab===1">
<div class="contentItem" :style="{borderBottom:index + 1===tableList.length?'0px solid #EEEEEE':'1px solid #EEEEEE'}" v-for="(item,index) in tableList" :key="index">
<div class="index">
<div class="boxBg"></div>
<span class="indexText" :style="{fontWeight:index<=2?'bold':'normal'}">{{index + 1}}</span>
</div>
<div class="serviceBox">
<span class="name">{{item.name}}</span>
<span class="position">{{item.SERVERPART_REGION}}</span>
</div>
<div class="numberBox">
<span class="number">{{item.VEHICLE_COUNT}}</span>
<span class="unit">/</span>
</div>
<div class="addBox">
<image class="addIcon" :src="Number(item.VEHICLE_RATE)>100?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':Number(item.VEHICLE_RATE)===100?'':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"/>
<span class="add">{{item.VEHICLE_RATE}}%</span>
</div>
</div>
</div>
<div class="contentList" v-if="selectTab===2">
<div class="contentItem" v-for="(item,index) in tableList" :key="index">
<div class="index">
<div class="boxBg"></div>
<span class="indexText" :style="{fontWeight:index<=2?'bold':'normal'}">{{index + 1}}</span>
</div>
<div class="serviceBox">
<span class="name">{{item.name}}</span>
<span class="position">{{item.SERVERPART_REGION}}</span>
</div>
<div class="numberBox">
<span class="number">{{item.VEHICLE_COUNT}}</span>
<span class="unit">/</span>
</div>
<div class="addBox">
<image class="addIcon" :src="Number(item.VEHICLE_RATE)>100?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':Number(item.VEHICLE_RATE)===100?'':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"/>
<span class="add">{{item.VEHICLE_RATE}}%</span>
</div>
</div>
</div>
</div>
</div>
@ -99,124 +152,92 @@ export default {
endData:'', //
startTime:'',//
endTime:'',//
selectTab:1,// tab
firstData:[],// tab1
secondData:[],// tab2
queryTime:'',//
selectTab: 1,// tab
tableList:[],//
time:'',// time
statusBarHeight:'',
menu:'',
searchText:'',
showMonth:'',//
showDay:''//
}
},
onLoad(query){
onLoad(){
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
let storeTime = uni.getStorageSync('lastDay')
if (storeTime){
this.time = storeTime
}
this.searchText = this.time
// this.searchText = '2023-06-21'
const date = new Date(this.time)
let m = date.getMonth()
this.showMonth = m
let d = date.getDate()
if (d<10){
d = '0'+d
}
this.showDay = d
const nowDate = new Date()
let h = nowDate.getHours()
this.startTime = h - 1
// this.startTime = 19
//
this.queryTime = query.time
// let date //
// if(this.queryTime){
// date = new Date(this.queryTime)
// }else{
// date = new Date()
// }
// const y = date.getFullYear()
// let m = date.getMonth() + 1
// let d = date.getDate()
// if (m<10){
// m = '0'+m
// }
// //
//
// let h = date.getHours()
// // 0
// if (h-1<0){
// d = d -1
// }
// if (d<10){
// d = '0'+ d
// }
// this.endData = `${y}-${m}-${d}`
// this.single = `${y}-${m}-${d}`
// this.time = `${y}-${m}-${d}`
// console.log('h',h)
// // 12 0
// if (h===0){
// h = 24
// }
// if (this.queryTime){
// this.startTime = h
// }else{
// this.startTime = h - 1
// }
// this.endTime = h
// this.handleTab(1)
this.handleTab(1)
},
methods:{
//
bindDateChange(e){
const date = new Date(e.detail.value)
let m = date.getMonth() + 1
if (m<10){
m = '0' + m
}
this.thisMonth = m
this.single = e.detail.value
let d = this.$util.getThisMonthDay(e.detail.value)
this.endData = e.detail.value + '-' + d
//
this.firstData = []
this.secondData = []
let m = date.getMonth()
this.showMonth = m
const d = date.getDate()
this.searchText = e.detail.value
this.showDay = d
//
this.onRefresh()
},
handleTab(val){
this.selectTab = val
if (val === 2 && this.secondData.length===0){
if (val === 2 ){
const req= {
StatisticsDate:this.time,
StatisticsDate:this.searchText,
StatisticsHour:this.startTime,
StatisticsType:2
StatisticsType:2,
ShowCount:20
}
request.$webGet('CommercialApi/BigData/GetBayonetWarning',req).then(res=>{
res.Result_Data.List.forEach(item=>{
item.name = item.SERVERPART_NAME.split('服务区')[0]
})
this.secondData = res.Result_Data.List
console.log('this.secondData',this.secondData)
this.tableList = res.Result_Data.List
})
}else if(val === 1 && this.firstData.length===0){
}else if(val === 1 ){
const req= {
StatisticsDate:this.time,
StatisticsDate:this.searchText,
StatisticsHour:this.startTime,
StatisticsType:1
StatisticsType:1,
ShowCount:20
}
request.$webGet('CommercialApi/BigData/GetBayonetWarning',req).then(res=>{
res.Result_Data.List.forEach(item=>{
item.name = item.SERVERPART_NAME.split('服务区')[0]
})
this.firstData = res.Result_Data.List
this.tableList = res.Result_Data.List
})
}
},
onRefresh(){
this.handleTab(this.selectTab)
},
handleBack(){
uni.navigateBack({
delta: 1
});
}
}
}
@ -305,7 +326,7 @@ export default {
line-height: 28px;
position: absolute;
top: 50%;left: 50%;
transform: translate(-14px,-7px);
transform: translate(-50%,-7px);
z-index:3;
}
.dayBox{
@ -317,6 +338,137 @@ export default {
}
}
}
.content{
width: 100%;
height: calc(100vh - 212px);
box-sizing: border-box;
padding: 16px;
.contentTab{
width: 100%;
height: 38px;
border-radius: 4px;
background: #F3F1F5;
box-sizing: border-box;
padding: 4px;
display: flex;
.tabItem{
width: 50%;
height: 100%;
text-align: center;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 30px;
border-radius: 4px;
}
.selectTab{
background: #fff;
color: #21ADBA!important;
}
}
.noticeBox{
width: 100%;
border-bottom: 1px solid #ccc;
margin-top: 4px;
.notice{
font-size: 12px;
color: gray;
}
}
.contentList{
width: 100%;
border-radius: 8px;
margin-top: 16px;
padding-bottom: 16px;
overflow: hidden;
.contentItem{
background: #fff;
padding: 19px 16px;
display: flex;
justify-content: space-between;
align-items: center;
.index{
width: 16px;
height: 16px;
position: relative;
.boxBg{
width: 16px;
height: 16px;
background: #10BFCE;
filter: blur(4px);
position: absolute;
top: 0;left: 0;
}
.indexText{
position: absolute;
top: 50%;left: 50%;
transform: translate(-50%,-50%);
z-index: 2;
font-size: 16px;
font-family: DingTalk-JinBuTi, DingTalk;
font-weight: normal;
color: #160002;
line-height: 20px;
}
}
.serviceBox{
width: 35%;
display: inline-block;
margin-left: 8px;
.name{
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 26px;
}
.position{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 20px;
}
}
.numberBox{
width: 30%;
.number{
font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 24px;
}
.unit{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 20px;
margin-left: 2px;
}
}
.addBox{
width: calc(30% - 20px);
display: flex;
align-items: center;
.addIcon{
width: 14px;
height: 14px;
}
.add{
font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 24px;
}
}
}
}
}
}

View File

@ -48,7 +48,7 @@
<scroll-view scroll-y="true">
<view v-if="selectTab===1" class="serviceList" style="height:calc(100vh - 260px);">
<view v-if="serviceList.length>0">
<view class="serviceItem" v-for="(item,index) in serviceList" :key="index">
<view class="serviceItem" v-for="(item,index) in serviceList" :key="index" @click="handleOpenDetail(item)">
<view class="itemTitle">
<span class="title">{{item.SERVERPART_NAME}}</span>
<span :class="item.EXAMINE_MQUARTER!=='0'?'secondUnit':'unit'">{{item.EXAMINE_MQUARTER!=='0'?item.EXAMINE_MQUARTER==='1'?'一'+'季度':item.EXAMINE_MQUARTER==='2'?'二'+'季度':item.EXAMINE_MQUARTER==='3'?'三'+'季度':'四' + '季度':'月度'}}</span>
@ -65,9 +65,14 @@
</view>
</view>
<view class="detailMessage">
<view class="message" style="margin-bottom: 4px">
<view class="message" style="margin-bottom: 4px;display: flex;justify-content: space-between">
<div class="box">
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/time.svg"></image>
<span class="value">{{subItem.SERVERPARTList[0].EXAMINE_DATE}}</span>
</div>
<div style="display: inline-block;width: 40px;height: 16px;display: flex;justify-content: flex-end" @click="handleShowPopup(4,subItem)" >
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
</div>
</view>
<view class="message">
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/user.svg"></image>
@ -188,7 +193,7 @@
<uniPopup type="bottom" :round="true" :show="showPop" @hidePopup="hidePopup">
<view class="popup" :style="{height:selectTab!==2?'60vh':'78vh'}">
<view class="top">
<text class="popupTitle">{{ selectTab===1?'选择片区':selectTab===2?`${popupServiceName}`:'会议内容' }}</text>
<text class="popupTitle">{{ selectTab===1?popupShow===4?'':'选择片区':selectTab===2?`${popupServiceName}`:'会议内容' }}</text>
<image @click="hidePopup" class="close" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/close.svg"></image>
</view>
<view class="areaList" v-if="popupShow===1">
@ -233,6 +238,24 @@
<span class="value">{{popupMeetDetail.MEETING_CONTENT}}</span>
</view>
</view>
<view class="examineList" v-if="popupShow===4">
<scroll-view scroll-y="true" style="height: calc(60vh - 40px)">
<view class="examineItem" v-for="(item,index) in examineList" :key="index">
<view class="itemTop">{{item.REGION_NAME}}<span style="margin-left: 4px">(<span style="color: red">{{`${item.mark}`}}</span>)</span></view>
<div class="itemMessage" v-for="(subItem,subIndex) in item.SERVERPARTList" :key="subIndex" @click="handleChangeChild(subItem)">
{{subItem.EXAMINE_CONTENT}}<span style="margin-left: 4px">(<span style="color: red">{{subItem.DEDUCTION_SCORE}}</span>)</span>
<view class="childItem" v-if="subItem.showChild">
<span>{{subItem.DEDUCTION_REASON}}</span>
<span>(<span style="color: red">{{subItem.DEDUCTION_SCORE}}</span>;</span>
<span style="margin-left: 4px">备注: {{subItem.EXAMINEDETAIL_DESC}})</span>
<div class="imgList">
<image v-for="(imgItem,imgIndex) in subItem.imgList" :key="imgIndex" class="img" :src="imgItem" :data-src="imgItem" @click.stop="previewImage"></image>
</div>
</view>
</div>
</view>
</scroll-view>
</view>
</view>
</uniPopup>
</view>
@ -277,6 +300,7 @@ export default {
popupServiceName:'',//
popupMeetDetail:{},//
come:'',//
examineList:[]
}
},
onLoad(query){
@ -312,6 +336,9 @@ export default {
_this.getThisMonth()
},
methods:{
handleOpenDetail(item){
console.log('item',item)
},
//
getThisMonth(){
const date = new Date()
@ -357,10 +384,38 @@ export default {
this.popupTab = list
}else if (value===3){
this.popupMeetDetail = obj.list[0].SERVERPARTList[0]
}else if(value===4){
this.handleGetExamineDetail(obj)
}
//
this.showPop = true
},
async handleGetExamineDetail(obj){
const total = await request.$webGet(`CommercialApi/Examine/WeChat_GetExamineDetail`,{ExamineId: obj.SERVERPARTList[0].EXAMINE_ID})
let list = total.Result_Data.List
list.forEach(item=>{
let mark = 0
item.SERVERPARTList.forEach(subItem=>{
subItem.showChild = true
mark+=subItem.DEDUCTION_SCORE
subItem.imgList = subItem.EXAMINEDETAIL_URL.split('')
})
item.mark = mark
})
console.log('list',list)
this.examineList = list
},
handleChangeChild(subItem){
console.log('subItem',subItem)
subItem.showChild = !subItem.showChild
},
previewImage(event){
console.log('event',event)
wx.previewImage({
current: event.currentTarget.dataset.src, // http
urls: [event.currentTarget.dataset.src] // http
})
},
//
hidePopup(){
this.showPop = false
@ -876,6 +931,10 @@ export default {
overflow: hidden;
text-overflow: ellipsis;
}
.moreIcon{
width: 16px;
height: 16px;
}
}
}
}
@ -1269,6 +1328,51 @@ export default {
}
}
}
.examineList{
.examineItem{
width: 100%;
background: #F5F2F2;
box-sizing: border-box;
text-align: left;
border: 1px solid #ccc;
margin-bottom: 12px;
.itemTop{
font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #000;
line-height: 18px;
box-sizing: border-box;
padding: 8px;
border-bottom: 1px solid #ccc;
}
.itemMessage{
width: 100%;
box-sizing: border-box;
padding: 8px;
border-bottom: 1px solid #ccc;
.box{
width: 100%;
}
.childItem{
width: 100%;
box-sizing: border-box;
padding: 8px;
background: #fff;
.imgList{
width: 100%;
.img{
width: 40px;
height: 40px;
margin-right: 8px;
}
}
}
}
}
}
}
::-webkit-scrollbar {
width: 4px;

View File

@ -1,6 +1,7 @@
<template>
<view class="main">
<view class="header" :style="{height:loadMore?'510px':'328px'}">
<!-- 根据要显示的内容 切换高度 -->
<view class="header" :style="{height:loadMore?`${menu.bottom+428}px`:`${menu.bottom+245}px`}">
<div class="headerTop" :style="{ height: menu.bottom + 5 + 'px'}">
<view class="selectTime" :style="{ top: menu.top + (menu.height - 22) / 2 + 'px' }">
<image class="dateIcon" src="/static/images/index/dateTime.svg"></image>
@ -14,7 +15,7 @@
</picker>
</view>
</div>
<div class="storeDetail" :style="{ top: menu.bottom + 13 + 'px',height:loadMore?'198px':'46px'}">
<div class="storeDetail" :style="{ top: menu.bottom + 13 + 'px',height:loadMore?'200px':'38px'}">
<p class="storeName">门店上传<span class="num">{{showTableData.Revenue_Upload?showTableData.Revenue_Upload:'-'}}</span>/{{allShopCount?allShopCount:'-'}}</p>
<div class="detailBox">
<div class="detailTop">
@ -45,7 +46,7 @@
</div>
</div>
</div>
<div class="detailBottom" :style="{height: loadMore?'208px':'46px'}">
<div class="detailBottom" :style="{height: loadMore?'208px':'38px'}">
<div class="searchBox" v-if="!loadMore" @click="handleChangeLoadMore">
<text class="searchText">查看更多</text>
<image class="searchIcon" :style="{transform: loadMore?'':'rotate(180deg)'}" src="https://eshangtech.com/ShopICO/ahyd-BID/home/downLoad.svg"/>
@ -94,7 +95,9 @@
</view>
</view>
</div>
<image v-if="loadMore" @click="handleChangeLoadMore" class="noShowMore" src="https://eshangtech.com/ShopICO/ahyd-BID/home/downLoad.svg"/>
<div class="naShowMoreBox" @click="handleChangeLoadMore" >
<image v-if="loadMore" class="noShowMore" src="https://eshangtech.com/ShopICO/ahyd-BID/home/downLoad.svg"/>
</div>
</div>
</div>
</div>
@ -109,6 +112,7 @@
</div>
<div class="otherFunBox">
<!-- 防止背景图变形 -->
<div class="otherFunItem" style="height:calc(((100vw - 9px)/2)/2.31);background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/home/basic.svg')" @click="handleGoOtherFun(1)">
<p class="itemTitle">基础信息</p>
<image class="itemImg" src="https://eshangtech.com/ShopICO/ahyd-BID/home/food.svg"/>
@ -130,24 +134,36 @@
</view>
<view class="carWarning" v-if="special">
<view class="carWarning" style="height: calc((100vw - 32px) / 2.15)" v-if="special">
<div class="carWarningTop">
<div class="warningBox">
<image class="warningIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/home/carIcon.svg"/>
<div class="trafficBox">
<text class="trafficCar">车流预警</text>
</div>
</div>
<div class="waringList">
<div class="waringItem">
<div class="warningIndex">
<div class="indexBg"></div>
<text>1</text>
<div class="moreStoreBox" @click="handleGoWarning">
<span class="moreText">更多记录</span>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
</div>
</div>
<div class="contentList" >
<div class="contentItem" v-for="(item,index) in warningList" :key="index">
<div class="index">
<div class="boxBg"></div>
<span class="indexText">{{index + 1}}</span>
</div>
<div class="serviceBox">
<span class="name">{{item.name}}</span>
<span class="position">{{item.SERVERPART_REGION}}</span>
</div>
<div class="numberBox">
<span class="number">{{item.VEHICLE_COUNT}}</span>
<span class="unit">/</span>
</div>
<div class="serviceName">丰乐<span class="serviceUnit">西区</span></div>
<div class="carNumber">1026<span class="numberUnit">/</span></div>
<div class="addBox">
<image class="addIcon"/>
<text class="addText">743%</text>
<image class="addIcon" :src="Number(item.VEHICLE_RATE)>100?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':Number(item.VEHICLE_RATE)===100?'':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"/>
<span class="add">{{item.VEHICLE_RATE}}%</span>
</div>
</div>
</div>
@ -161,6 +177,10 @@
<image class="tabItemIcon" :src="item.imgUrl"/>
<text :class="selectBigTab===item.value?'selectTabItem':'tabItemText'">{{item.text}}</text>
</div>
<div class="moreStoreBox" @click="handleGoCarBi" v-if="selectBigTab===1">
<span class="moreText">更多记录</span>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
</div>
</div>
</div>
@ -704,16 +724,16 @@
<!-- </view>-->
<!-- </view>-->
<!--&lt;!&ndash; isShow&ndash;&gt;-->
<div class="notice" v-if="special" style="background: rgba(203, 26, 26, 1)">
<view class="left">
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/dangerous.svg"></image>
<view class="text">
<p class="name">五一流量预警</p>
<!-- <p class="desc"></p>-->
</view>
</view>
<view class="right" @click="handleSearch('special')">去查看</view>
</div>
<!-- <div class="notice" v-if="special" style="background: rgba(203, 26, 26, 1)">-->
<!-- <view class="left">-->
<!-- <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/dangerous.svg"></image>-->
<!-- <view class="text">-->
<!-- <p class="name">五一流量预警</p>-->
<!--&lt;!&ndash; <p class="desc"></p>&ndash;&gt;-->
<!-- </view>-->
<!-- </view>-->
<!-- <view class="right" @click="handleSearch('special')">去查看</view>-->
<!-- </div>-->
<div class="notice" v-if="isShow" style="bottom: 200px;">
<view class="left">
@ -724,17 +744,17 @@
</view>
<view class="right" @click="handleSearch('other')">去查看</view>
</div>
<!-- <uni-popup ref="popup" :show="popupShow" :type="popupType" :round="popup" @hidePopup="closePop">-->
<!-- <div class="popupIndex">-->
<!-- <div class="popupTop">未上传门店: </div>-->
<!-- <div class="bodyList">-->
<!-- <div class="item" v-for="(item,index) in bodyList" :key="index">-->
<!-- <div class="index">{{index + 1<10 ? '0' + (index + 1):index + 1}}</div>-->
<!-- <div class="title">{{item.Serverpart_Name}}{{item.ShopName}}</div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </uni-popup>-->
<uni-popup ref="popup" :show="popupShow" :type="popupType" :round="popup" @hidePopup="closePop">
<div class="popupIndex">
<div class="popupTop">未上传门店: </div>
<div class="bodyList">
<div class="item" v-for="(item,index) in bodyList" :key="index">
<div class="index">{{index + 1<10 ? '0' + (index + 1):index + 1}}</div>
<div class="title">{{item.Serverpart_Name}}{{item.ShopName}}</div>
</div>
</div>
</div>
</uni-popup>
<Tabbar ref="tabbar" :page="page"></Tabbar>
</view>
</template>
@ -839,6 +859,7 @@ export default {
special:false,
allTrafficList:[],//
showTrafficList:[],//
warningList:[]//
}
},
watch:{
@ -1066,7 +1087,7 @@ export default {
let list1 = JSON.parse(JSON.stringify(res)) //
let list2 = JSON.parse(JSON.stringify(res)) //
let list3 = JSON.parse(JSON.stringify(res)) //
//
for (let i=0;i<=list1.length - 1;i++){
for (let j=0;j<=list1.length - i - 1 ;j++){
if (list1[j] && list1[j + 1] && list1[j].Vehicle_Count!==null && list1[j+1].Vehicle_Count!==null){
@ -1100,12 +1121,12 @@ export default {
}
}
}
// 20
allList.push(list1.slice(0,20))
allList.push(list2.slice(0,20))
allList.push(list3.slice(0,20))
this.allTrafficList = allList
this.showTrafficList = this.allTrafficList[0]
this.showTrafficList = this.allTrafficList[this.selectSmallTab - 1]
console.log('this.allTrafficList',this.allTrafficList)
uni.hideLoading()
},
@ -1115,6 +1136,12 @@ export default {
handleChangeBigSelect(val){
this.selectBigTab = val
},
handleGoCarBi(){
this.$util.toNextRoute('navigateTo', `/pages/commercialBI/carPortrait?mustAllProvince=${true}`)
},
handleGoWarning(){
this.$util.toNextRoute('navigateTo', `/pages/commercialBI/specialCase`)
},
handleChangeSmallSelect(val){
console.log('val',val)
this.selectSmallTab = val
@ -1288,6 +1315,8 @@ export default {
this.getUnUpLoadList()
//
this.handleGetTrafficList()
//
this.handleGetWarningList()
} else if (this.user.Membership_Id){ //
//
// if (!this.PushAuthority){return}
@ -1309,6 +1338,8 @@ export default {
this.getUnUpLoadList()
//
this.handleGetTrafficList()
//
this.handleGetWarningList()
}
//
@ -1322,6 +1353,41 @@ export default {
this.getRankContent()
}
},
handleGetWarningList(){
console.log('single',this.single)
const date = new Date()
let h = date.getHours() - 1
const req= {
// this.single
StatisticsDate: this.single,
StatisticsHour:h,
StatisticsType:1,
ShowCount:20
}
request.$webGet('CommercialApi/BigData/GetBayonetWarning',req).then(res=>{
if (res.Result_Data.List.length>0){
this.special = true
}
console.log('this.special',this.special)
res.Result_Data.List.forEach(item=>{
item.name = item.SERVERPART_NAME.split('服务区')[0]
})
let list = JSON.parse(JSON.stringify(res.Result_Data.List))
for (let i=0;i<=list.length - 1;i++){
for (let j=0;j<=list.length - i - 1 ;j++){
if (list[j] && list[j + 1] && list[j].VEHICLE_COUNT!==null && list[j+1].VEHICLE_COUNT!==null){
if (list[j].VEHICLE_COUNT < list[j+1].VEHICLE_COUNT ){
let temp = list[j]
list[j] = list[j + 1]
list[j + 1] = temp
}
}
}
}
this.warningList = list.slice(0,3)
console.log('this.warningList',this.warningList)
})
},
handleReg(){
this.$util.toNextRoute('redirectTo', '/pages/register/register')
},
@ -1889,7 +1955,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
position: relative;
.searchBox{
width: 100%;
height: 46px;
height: 38px;
box-sizing: border-box;
padding: 0 16px;
display: flex;
@ -1965,12 +2031,17 @@ $iphoneHeight: env(safe-area-inset-bottom);
}
}
}
.naShowMoreBox{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
left: 0;bottom: 12px;
.noShowMore{
width: 25px;
height: 14px;
position: absolute;
left: 50%;bottom: 12px;
transform: translateX(-7px);
}
}
}
}
@ -2307,14 +2378,32 @@ $iphoneHeight: env(safe-area-inset-bottom);
}
.carWarning{
width: calc(100% - 32px);
width:calc(100% - 32px);
margin-left: 16px;
height: 159px;
margin-top: 20px;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/home/warningBg.svg");
background-repeat: no-repeat;
background-size: 100% 100%;
background-size: cover;
box-sizing: border-box;
padding: 12px 16px;
position: relative;
.carWarningTop{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.moreStoreBox{
display: flex;
align-items: center;
.moreText{
}
.moreIcon{
width: 18px;
height: 18px;
}
}
.warningBox{
width: 150px;
height: 36px;
@ -2346,62 +2435,68 @@ $iphoneHeight: env(safe-area-inset-bottom);
}
}
}
.waringList{
margin-top: 13px;
.waringItem{
}
.contentList{
width: 100%;
border-radius: 8px;
.contentItem{
padding: 6px 0;
display: flex;
justify-content: space-between;
align-items: center;
.warningIndex{
.index{
width: 12px;
height: 12px;
position: relative;
.indexBg{
.boxBg{
width: 12px;
height: 12px;
background: #10BFCE;
filter: blur(4px);
display: inline-block;
position: absolute;
top: 0;left: 0;
}
text{
.indexText{
position: absolute;
top: -6px;
left: 1px;
top: 50%;left: 50%;
transform: translate(-50%,-50%);
z-index: 2;
font-size: 14px;
font-size: 16px;
font-family: DingTalk-JinBuTi, DingTalk;
font-weight: normal;
color: #160002;
line-height: 20px;
}
}
.serviceName{
width: 40%;
margin-left: 12px;
.serviceBox{
width: 35%;
display: inline-block;
margin-left: 8px;
.name{
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 20px;
.serviceUnit{
line-height: 26px;
}
.position{
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 18px;
line-height: 20px;
}
}
.carNumber{
width: 40%;
display: inline-block;
.numberBox{
width: 30%;
.number{
font-size: 16px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 20px;
.numberUnit{
line-height: 24px;
}
.unit{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
@ -2411,19 +2506,19 @@ $iphoneHeight: env(safe-area-inset-bottom);
}
}
.addBox{
width: calc(20% - 24px);
width: calc(30% - 20px);
display: flex;
align-items: center;
.addIcon{
width: 14px;
height: 14px;
}
.addText{
.add{
font-size: 16px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 20px;
line-height: 24px;
}
}
}
@ -2447,6 +2542,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
padding: 16px;
.bigTab{
display: flex;
position: relative;
.tabItem{
display: flex;
align-items: center;
@ -2469,6 +2565,19 @@ $iphoneHeight: env(safe-area-inset-bottom);
color: #190002;
}
}
.moreStoreBox{
position: absolute;
display: flex;
align-items: center;
right: 0;top: 4px;
.moreText{
}
.moreIcon{
width: 18px;
height: 18px;
}
}
}
}