This commit is contained in:
cclu 2023-12-26 18:59:17 +08:00
parent e7c9226e6a
commit a069709f76
18 changed files with 1673 additions and 1191 deletions

View File

@ -319,6 +319,7 @@
{ {
"path": "detail", "path": "detail",
"style": { "style": {
"navigationStyle": "custom",
"navigationBarTitleText": "" "navigationBarTitleText": ""
} }
} }

View File

@ -1,12 +1,12 @@
<template> <template>
<div class="main"> <div class="main">
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999"> <!-- <div style="position: fixed;right: 0;top: 20%;z-index:99999999999">-->
<commercial-type :have="3"/> <!-- <commercial-type :have="3"/>-->
</div> <!-- </div>-->
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType" <header-top ref="headerTop" :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/>
<div class="charts"> <div class="charts">
<div class="chartsItem"> <div class="chartsItem">
@ -110,6 +110,7 @@ export default {
bgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/businessPortraitBg.svg',// bgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/businessPortraitBg.svg',//
page:'/pages/commercialBI/businessPortrait', page:'/pages/commercialBI/businessPortrait',
pageType:3000,
detailBoxBg:'linear-gradient(136deg, #F6F2E9 0%, #FFFFFF 100%);', detailBoxBg:'linear-gradient(136deg, #F6F2E9 0%, #FFFFFF 100%);',
topLeftBg:'linear-gradient(180deg, rgba(255, 186, 7, 0.2) 0%, rgba(243, 131, 9, 0.2) 100%)',// topLeftBg:'linear-gradient(180deg, rgba(255, 186, 7, 0.2) 0%, rgba(243, 131, 9, 0.2) 100%)',//
topLeftColor:'#F38609',// topLeftColor:'#F38609',//
@ -199,11 +200,15 @@ export default {
this.getBestsellerList() this.getBestsellerList()
// //
this.getServiceInfo() this.getServiceInfo()
this.handleChangeCurrent()
}, },
onUnload() { onUnload() {
this.$util.addUserBehavior() this.$util.addUserBehavior()
}, },
methods:{ methods:{
handleChangeCurrent(){
this.$refs.headerTop.handleChangeCurrent()
},
onRefresh(){ onRefresh(){
// //
this.getTransactionList() this.getTransactionList()

View File

@ -1,10 +1,13 @@
<template> <template>
<div> <div>
<div style="position: fixed;right: 0;top: 15%;z-index:99999999999"> <!-- <div style="position: fixed;right: 0;top: 15%;z-index:99999999999">-->
<!-- 组件通过传入的have去判断组件在哪个页面 然后哪个页面的标志就不显示 --> <!-- &lt;!&ndash; 组件通过传入的have去判断组件在哪个页面 然后哪个页面的标志就不显示 &ndash;&gt;-->
<commercial-type :have="0" :time="searchText"/> <!-- <commercial-type :have="0" :time="searchText"/>-->
</div> <!-- </div>-->
<div class="main" v-if="isHaveData"> <div class="main" v-if="isHaveData">
<swiper class="swiperBox" :current="currentSwiper" @change="changeSwiper">
<swiper-item class="swiperItem" v-for="(item,index) in carSwiperList" :key="index">
<view v-if="item!=='previous' && item!=='next'">
<div v-if="!isShowAllProvince" class="header" :style="{backgroundImage: 'url('+ 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/car.svg' +')'}"> <div v-if="!isShowAllProvince" class="header" :style="{backgroundImage: 'url('+ 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/car.svg' +')'}">
<div class="analyse" v-if="analyseText"> <div class="analyse" v-if="analyseText">
<text class="title">分析</text> <text class="title">分析</text>
@ -15,13 +18,8 @@
<div class="icon" @click="handleBack"> <div class="icon" @click="handleBack">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image>
</div> </div>
<text class="title">车流画像</text> <!-- <text class="title">车流画像</text>-->
<!-- 占位 --> <div class="pickerTop" @click="handleGoSelectService">
<div class="seize"></div>
</div>
</div>
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" >
<div class="picker" @click="handleGoSelectService">
<div class="selectService"> <div class="selectService">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>
<view class="select"> <view class="select">
@ -33,13 +31,32 @@
</view> </view>
</div> </div>
</div> </div>
<!-- <div class="other">-->
<!-- <div class="label">--> <!-- 占位 -->
<!-- <div v-for="(item,index) in labelList" :key="index" :class="index===0?'item0 item':index===1?'item1 item':index===2?'item2 item':index===3?'item3 item':index===4?'item4 item':'item'">--> <div class="seize"></div>
<!-- {{item}}--> </div>
<!-- </div>--> </div>
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" >
<!-- <div class="picker" @click="handleGoSelectService">-->
<!-- <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">{{serviceInfo.SERVERPART_NAME}}</view>-->
<!-- <p class="area" v-if="serviceInfo.Serverpart_ID">{{serviceInfo.SPREGIONTYPE_NAME}}</p>-->
<!-- <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>-->
<!-- </view>-->
<!-- </view>-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<!-- <div class="other">-->
<!-- <div class="label">-->
<!-- <div v-for="(item,index) in labelList" :key="index" :class="index===0?'item0 item':index===1?'item1 item':index===2?'item2 item':index===3?'item3 item':index===4?'item4 item':'item'">-->
<!-- {{item}}-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="detailBox"> <div class="detailBox">
<div class="detailTop"> <div class="detailTop">
<div class="topLeft">{{serviceTypeObj[serviceInfoObj.SERVERPART_TYPE]}}</div> <div class="topLeft">{{serviceTypeObj[serviceInfoObj.SERVERPART_TYPE]}}</div>
@ -73,7 +90,7 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="isShowAllProvince" class="headerTop" > <div v-if="isShowAllProvince" class="headerTopBox" >
<div class="header" :style="{height:menu.height + 'px',top:menu.top+'px'}"> <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"/> <image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
<div class="timeSelect"> <div class="timeSelect">
@ -100,6 +117,38 @@
</div> </div>
</div> </div>
</div> </div>
</view>
<view style="width: 100%;height: 100%" v-else></view>
</swiper-item>
</swiper>
<!-- <div v-if="isShowAllProvince" class="headerTop" >-->
<!-- <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="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDateIcon.svg"/>-->
<!-- <picker mode="date" :value="searchText" :end="lastDay" @change="changeAllProvinceSearch" >-->
<!-- <view class="time">-->
<!-- <view class="text">{{ searchText }}</view>-->
<!-- <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/arrow_bottom.svg"></image>-->
<!-- </view>-->
<!-- </picker>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="picker" :style="{top:(menu.bottom + 24)+'px'}" @click="handleGoSelectService">-->
<!-- <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">{{serviceInfo.SERVERPART_NAME}}</view>-->
<!-- <p class="area" v-if="serviceInfo.Serverpart_ID">{{serviceInfo.SPREGIONTYPE_NAME}}</p>-->
<!-- <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>-->
<!-- </view>-->
<!-- </view>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="charts" v-if="!isShowAllProvince"> <div class="charts" v-if="!isShowAllProvince">
<div class="chartsItem"> <div class="chartsItem">
<div style="display: flex;align-items: center;justify-content: space-between"> <div style="display: flex;align-items: center;justify-content: space-between">
@ -398,7 +447,9 @@ export default {
searchText:'',// searchText:'',//
haveFun:{}, haveFun:{},
serviceTypeObj:{},// serviceTypeObj:{},//
serviceInfoObj:{} serviceInfoObj:{},
carSwiperList:[],
currentSwiper:1
} }
}, },
components: { components: {
@ -415,8 +466,11 @@ export default {
this.backType = option.type this.backType = option.type
// //
this.handleServiceType() this.handleServiceType()
//
this.carSwiperList = ['previous','','next']
}, },
onShow(){ onShow(){
this.currentSwiper=1
this.carTypeList.forEach(item=>{ this.carTypeList.forEach(item=>{
item.select = false item.select = false
}) })
@ -518,6 +572,21 @@ export default {
this.searchText='' this.searchText=''
}, },
methods:{ methods:{
//
changeSwiper(e){
console.log('e',e)
this.currentSwiper = e.detail.current
let value = this.carSwiperList[Number(e.detail.current)]
if (value==='previous'){
uni.redirectTo({
url:`/pages/map/detail`
})
}else if(value==='next'){
uni.redirectTo({
url:`/pages/commercialBI/guestPortrait`
})
}
},
// //
handleGoServiceMessage(){ handleGoServiceMessage(){
this.$util.toNextRoute('navigateTo', `/pages/map/detail`) this.$util.toNextRoute('navigateTo', `/pages/map/detail`)
@ -1242,6 +1311,12 @@ export default {
background: #fff; background: #fff;
min-height: 100vh; min-height: 100vh;
overflow: hidden; overflow: hidden;
.swiperBox{
width: 100%;
height: 648rpx;
.swiperItem{
width: 100%;
height: 648rpx;
.header{ .header{
width: 100%; width: 100%;
height: 648rpx; height: 648rpx;
@ -1311,7 +1386,6 @@ export default {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
transform: translateY(-50%); transform: translateY(-50%);
.icon{ .icon{
@ -1322,23 +1396,8 @@ export default {
height: 100%; height: 100%;
} }
} }
.title{ .pickerTop{
font-size: 36rpx; margin-left: 16rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 600;
color: #1C2130;
line-height: 56rpx;
}
.seize{
width: 24px;
height: 24px;
}
}
}
.serviceArea{
position: absolute;
box-sizing: border-box;
.picker{
.selectService{ .selectService{
display: flex; display: flex;
align-items: center; align-items: center;
@ -1384,6 +1443,22 @@ export default {
} }
} }
} }
.title{
font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 600;
color: #1C2130;
line-height: 56rpx;
}
.seize{
width: 24px;
height: 24px;
}
}
}
.serviceArea{
position: absolute;
box-sizing: border-box;
.other{ .other{
margin-top: 12px; margin-top: 12px;
width: calc(100vw - 32px); width: calc(100vw - 32px);
@ -1447,7 +1522,7 @@ export default {
height: 312rpx; height: 312rpx;
background: linear-gradient(136deg, #F0F6FF 0%, #FFFFFF 100%); background: linear-gradient(136deg, #F0F6FF 0%, #FFFFFF 100%);
border-radius: 16rpx; border-radius: 16rpx;
margin-top: 32rpx; margin-top: 72rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx 32rpx; padding: 24rpx 32rpx;
.detailTop{ .detailTop{
@ -1509,9 +1584,10 @@ export default {
} }
} }
} }
.headerTop{ .headerTopBox{
width: 100%; width: 100%;
height: 152px; //height: 152px;
height: 324px;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
background: linear-gradient(90deg, #60AAFF 0%,#3E74FF 100%); background: linear-gradient(90deg, #60AAFF 0%,#3E74FF 100%);
@ -1598,6 +1674,9 @@ export default {
} }
} }
}
}
.charts{ .charts{
width: 100%; width: 100%;

View File

@ -92,7 +92,6 @@ export default {
homeCity:{ homeCity:{
handler(value){ handler(value){
value.forEach(item=>{ value.forEach(item=>{
console.log('item.rate',item.rate)
item.rate = item.rate.toFixed(2) + '%' item.rate = item.rate.toFixed(2) + '%'
}) })
this.progressList = value this.progressList = value

View File

@ -1,29 +1,46 @@
<template> <template>
<swiper class="swiperBox" :current="currentSwiper" @change="changeSwiper">
<swiper-item class="swiperItem" v-for="(item,index) in carSwiperList" :key="index">
<view v-if="item!=='previous' && item!=='next'">
<div class="header" :style="{backgroundImage: 'url('+ bgUrl +')'}"> <div class="header" :style="{backgroundImage: 'url('+ bgUrl +')'}">
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px',background:topBg}"> <div class="headerTop" :style="{height:(menu.bottom + 6) + 'px',background:topBg}">
<div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}"> <div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}">
<div class="icon" @click="handleBack"> <div class="icon" @click="handleBack">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image>
</div> </div>
<text class="title">{{title}}</text> <!-- <text class="title">{{title}}</text>-->
<div class="seize"></div> <div class="pickerTop" @click="handleGoSelectService">
</div>
</div>
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" >
<div class="picker" @click="handleGoSelectService">
<div class="selectService"> <div class="selectService">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>
<view class="select"> <view class="select">
<view class="content"> <view class="content">
<!-- <view class="uni-input">{{serviceArray[serviceIndex]}}</view>--> <!-- <view class="uni-input">{{serviceArray[serviceIndex]}}</view>-->
<view class="uni-input">{{serverpartName}}</view> <view class="uni-input">{{serverpartName}}</view>
<!-- <text class="area">{{area}}</text>--> <!-- <text class="area">{{area}}</text>-->
<text class="area" v-if="serviceInfo.Serverpart_ID">{{spregionTypeName}}</text> <text class="area" v-if="serviceInfo.Serverpart_ID">{{spregionTypeName}}</text>
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image> <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
</view> </view>
</view> </view>
</div> </div>
</div> </div>
<div class="seize"></div>
</div>
</div>
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" >
<!-- <div class="picker" @click="handleGoSelectService">-->
<!-- <div class="selectService">-->
<!-- <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>-->
<!-- <view class="select">-->
<!-- <view class="content">-->
<!-- &lt;!&ndash; <view class="uni-input">{{serviceArray[serviceIndex]}}</view>&ndash;&gt;-->
<!-- <view class="uni-input">{{serverpartName}}</view>-->
<!-- &lt;!&ndash; <text class="area">{{area}}</text>&ndash;&gt;-->
<!-- <text class="area" v-if="serviceInfo.Serverpart_ID">{{spregionTypeName}}</text>-->
<!-- <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>-->
<!-- </view>-->
<!-- </view>-->
<!-- </div>-->
<!-- </div>-->
<div class="detailBox" :style="{background: detailBoxBg}"> <div class="detailBox" :style="{background: detailBoxBg}">
<div class="detailTop"> <div class="detailTop">
@ -56,18 +73,22 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="label">--> <!-- <div class="label">-->
<!-- <div :class="index===0?'labelItem labelItem0':index===1?'labelItem labelItem1':index===2?'labelItem labelItem2':index===3?'labelItem labelItem3':--> <!-- <div :class="index===0?'labelItem labelItem0':index===1?'labelItem labelItem1':index===2?'labelItem labelItem2':index===3?'labelItem labelItem3':-->
<!-- index===4?'labelItem labelItem4':index===5?'labelItem labelItem5':''" v-for="(item,index) in labelList" :key="index"--> <!-- index===4?'labelItem labelItem4':index===5?'labelItem labelItem5':''" v-for="(item,index) in labelList" :key="index"-->
<!-- :style="{background: 'linear-gradient('+bgColor+')'}"--> <!-- :style="{background: 'linear-gradient('+bgColor+')'}"-->
<!-- >{{ item }}</div>--> <!-- >{{ item }}</div>-->
<!-- </div>--> <!-- </div>-->
</div> </div>
<!-- <div class="analyse" v-if="analyseText">--> <!-- <div class="analyse" v-if="analyseText">-->
<!-- <text class="title">分析</text>--> <!-- <text class="title">分析</text>-->
<!-- <text class="content">{{analyseText}}</text>--> <!-- <text class="content">{{analyseText}}</text>-->
<!-- </div>--> <!-- </div>-->
</div> </div>
</view>
<view v-else style="width: 100%;height: 100%" ></view>
</swiper-item>
</swiper>
</template> </template>
<script> <script>
@ -163,12 +184,36 @@ export default {
serviceTypeObj:{ serviceTypeObj:{
type:Object, type:Object,
default:()=>{} default:()=>{}
},
pageType:{
type:Number,
default:0
} }
}, },
data() { data() {
return { return {
labelList:[], labelList:[],
analyseText:'' analyseText:'',
currentSwiper:1,
carSwiperList:['previous','','next'],
goObj:{
1000:{
previous:'/pages/commercialBI/carPortrait',
next:'/pages/commercialBI/managePortrait'
},
2000:{
previous:'/pages/commercialBI/guestPortrait',
next:'/pages/commercialBI/businessPortrait'
},
3000:{
previous:'/pages/commercialBI/managePortrait',
next:'/pages/commercialBI/formatPortraitBI'
},
4000:{
previous:'/pages/commercialBI/businessPortrait',
next:`/pages/examine/detail?type=${1}`
},
}
} }
}, },
watch:{ watch:{
@ -185,6 +230,24 @@ export default {
// this.getLabelDetail() // this.getLabelDetail()
// }, // },
methods:{ methods:{
handleChangeCurrent(){
this.currentSwiper = 1
},
//
changeSwiper(e){
console.log('e',e)
this.currentSwiper = e.detail.current
let value = this.carSwiperList[Number(e.detail.current)]
if (value==='previous'){
uni.redirectTo({
url:this.goObj[this.pageType].previous
})
}else if(value==='next'){
uni.redirectTo({
url:this.goObj[this.pageType].next
})
}
},
// //
handleGoServiceMessage(){ handleGoServiceMessage(){
this.$util.toNextRoute('navigateTo', `/pages/map/detail`) this.$util.toNextRoute('navigateTo', `/pages/map/detail`)
@ -251,7 +314,13 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.header{ .swiperBox{
width: 100%;
height: 648rpx;
.swiperItem{
width: 100%;
height: 648rpx;
.header{
width: 100%; width: 100%;
height: 648rpx; height: 648rpx;
//height: calc(1.056 * 100vw); //height: calc(1.056 * 100vw);
@ -273,7 +342,6 @@ export default {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
transform: translateY(-50%); transform: translateY(-50%);
.icon{ .icon{
@ -284,6 +352,60 @@ export default {
height: 100%; height: 100%;
} }
} }
.pickerTop{
margin-left: 16rpx;
.selectService{
display: flex;
align-items: center;
.img{
width: 40px;
height: 40px;
z-index: 2;
}
.select{
min-width: 174px;
height: 32px;
background: #F8F8FA;
border-radius: 0 16px 16px 0;
transform: translateX(-20px);
box-sizing: border-box;
padding-left: 25px;
padding-right: 25px;
display: flex;
align-items: center;
position: relative;
.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;
height: 40px;
line-height: 40px;
}
.area{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 40px;
margin-left: 4px;
}
.rightArrow{
width: 24px;
height: 12px;
position: absolute;
right: 0px;
}
}
}
}
}
.title{ .title{
font-size: 36rpx; font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
@ -358,7 +480,7 @@ export default {
width: 340rpx; width: 340rpx;
height: 312rpx; height: 312rpx;
border-radius: 16rpx; border-radius: 16rpx;
margin-top: 32rpx; margin-top: 72rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx 32rpx; padding: 24rpx 32rpx;
.detailTop{ .detailTop{
@ -506,5 +628,7 @@ export default {
} }
} }
}
}
} }
</style> </style>

View File

@ -349,6 +349,7 @@ export default {
min-height: 100vh; min-height: 100vh;
background: #fff; background: #fff;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/brand/headerBg.svg")no-repeat; background: url("https://eshangtech.com/ShopICO/ahyd-BID/brand/headerBg.svg")no-repeat;
background-size: contain;
.header{ .header{
//height: 272px; //height: 272px;
//background: linear-gradient(135deg, #7660FF 0%, #A0BAFD 31%, #B8D2FF 47%, #CAD9FF 66%, #BCB6FF 100%); //background: linear-gradient(135deg, #7660FF 0%, #A0BAFD 31%, #B8D2FF 47%, #CAD9FF 66%, #BCB6FF 100%);

View File

@ -1,12 +1,12 @@
<template> <template>
<div class="main"> <div class="main">
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999"> <!-- <div style="position: fixed;right: 0;top: 20%;z-index:99999999999">-->
<commercial-type :have="4"/> <!-- <commercial-type :have="4"/>-->
</div> <!-- </div>-->
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType" <header-top ref="headerTop" :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/>
<div class="charts"> <div class="charts">
<div class="chartsItem" > <div class="chartsItem" >
@ -87,6 +87,7 @@ export default {
bgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/formatPortraitBIBg.svg',// bgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/formatPortraitBIBg.svg',//
page:'/pages/commercialBI/formatPortrait', page:'/pages/commercialBI/formatPortrait',
pageType:4000,
detailBoxBg:'linear-gradient(136deg, #F7F3FF 0%, #FFFFFF 100%);', detailBoxBg:'linear-gradient(136deg, #F7F3FF 0%, #FFFFFF 100%);',
topLeftBg:'linear-gradient(180deg, rgba(69, 159, 255, 0.2) 0%, rgba(71, 58, 255, 0.2) 100%)',// topLeftBg:'linear-gradient(180deg, rgba(69, 159, 255, 0.2) 0%, rgba(71, 58, 255, 0.2) 100%)',//
topLeftColor:'#473DFF',// topLeftColor:'#473DFF',//
@ -177,11 +178,15 @@ export default {
this.getBrandInfoList() this.getBrandInfoList()
// //
this.getServiceInfo() this.getServiceInfo()
this.handleChangeCurrent()
}, },
onUnload() { onUnload() {
this.$util.addUserBehavior() this.$util.addUserBehavior()
}, },
methods:{ methods:{
handleChangeCurrent(){
this.$refs.headerTop.handleChangeCurrent()
},
// SERVERPART_TYPE // SERVERPART_TYPE
async handleServiceType(){ async handleServiceType(){
const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' }); const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' });

View File

@ -1,12 +1,12 @@
<template> <template>
<div class="main"> <div class="main">
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999"> <!-- <div style="position: fixed;right: 0;top: 20%;z-index:99999999999">-->
<commercial-type :have="1"/> <!-- <commercial-type :have="1"/>-->
</div> <!-- </div>-->
<header-top :bgUrl="bgUrl" :menu="menu" :topBg="topBg" :bgColor="bgColor" :title="title" :page="page" :backType="backType" :analyseInfo="analyseInfo" <header-top ref="headerTop" :bgUrl="bgUrl" :menu="menu" :topBg="topBg" :bgColor="bgColor" :title="title" :page="page" :backType="backType" :analyseInfo="analyseInfo"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/>
<div class="charts"> <div class="charts">
<div class="chartsItem"> <div class="chartsItem">
@ -90,7 +90,7 @@ export default {
bgUrl:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/guestPortraitBg.svg',// bgUrl:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/guestPortraitBg.svg',//
page:'/pages/commercialBI/guestPortrait', page:'/pages/commercialBI/guestPortrait',
pageType:1000,
detailBoxBg:'linear-gradient(136deg, #ECF6F6 0%, #FFFFFF 100%);', detailBoxBg:'linear-gradient(136deg, #ECF6F6 0%, #FFFFFF 100%);',
topLeftBg:'linear-gradient(180deg, rgba(48, 200, 237, 0.2) 0%, rgba(11, 147, 83, 0.2) 100%)',// topLeftBg:'linear-gradient(180deg, rgba(48, 200, 237, 0.2) 0%, rgba(11, 147, 83, 0.2) 100%)',//
topLeftColor:'#0E9760',// topLeftColor:'#0E9760',//
@ -177,11 +177,15 @@ export default {
this.getBusinessTypeList() this.getBusinessTypeList()
// //
this.getServiceInfo() this.getServiceInfo()
this.handleChangeCurrent()
}, },
onUnload() { onUnload() {
this.$util.addUserBehavior() this.$util.addUserBehavior()
}, },
methods:{ methods:{
handleChangeCurrent(){
this.$refs.headerTop.handleChangeCurrent()
},
bindDateChange(e){ bindDateChange(e){
const date = new Date(e.detail.value) const date = new Date(e.detail.value)
let m = date.getMonth() + 1 let m = date.getMonth() + 1

View File

@ -1,12 +1,12 @@
<template> <template>
<div class="main"> <div class="main">
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999"> <!-- <div style="position: fixed;right: 0;top: 20%;z-index:99999999999">-->
<commercial-type :have="2"/> <!-- <commercial-type :have="2"/>-->
</div> <!-- </div>-->
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType" <header-top ref="headerTop" :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/>
<div class="charts"> <div class="charts">
<div class="chartsItem"> <div class="chartsItem">
@ -213,6 +213,7 @@ export default {
bgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/managePortraitBg.svg',// bgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/managePortraitBg.svg',//
page:'/pages/commercialBI/managePortrait', page:'/pages/commercialBI/managePortrait',
pageType:2000,
detailBoxBg:'linear-gradient(136deg, #F3EFFE 0%, #FFFFFF 100%);', detailBoxBg:'linear-gradient(136deg, #F3EFFE 0%, #FFFFFF 100%);',
topLeftBg:'linear-gradient(180deg, rgba(153, 108, 255, 0.2) 0%, rgba(93, 67, 248, 0.2) 100%)',// topLeftBg:'linear-gradient(180deg, rgba(153, 108, 255, 0.2) 0%, rgba(93, 67, 248, 0.2) 100%)',//
topLeftColor:'#6347F9',// topLeftColor:'#6347F9',//
@ -311,11 +312,15 @@ export default {
this.getServiceInfo() this.getServiceInfo()
// //
this.getSummaryMonth() this.getSummaryMonth()
this.handleChangeCurrent()
}, },
onUnload() { onUnload() {
this.$util.addUserBehavior() this.$util.addUserBehavior()
}, },
methods:{ methods:{
handleChangeCurrent(){
this.$refs.headerTop.handleChangeCurrent()
},
// SERVERPART_TYPE // SERVERPART_TYPE
async handleServiceType(){ async handleServiceType(){
const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' }); const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' });

View File

@ -109,7 +109,7 @@ export default {
.typeBigList{ .typeBigList{
position: fixed; position: fixed;
right: 0; right: 0;
top: 12%; top: 40px;
.bigBox{ .bigBox{
width: 100%; width: 100%;
height: 100%; height: 100%;

View File

@ -1,11 +1,41 @@
<template> <template>
<view class="main"> <view class="main">
<div style="position: fixed;right: 0;top: 5%;z-index:99999999999"> <!-- <div style="position: fixed;right: 0;top: 5%;z-index:99999999999">-->
<!-- 组件通过传入的have去判断组件在哪个页面 然后哪个页面的标志就不显示 --> <!-- &lt;!&ndash; 组件通过传入的have去判断组件在哪个页面 然后哪个页面的标志就不显示 &ndash;&gt;-->
<commercial-type :have="0" :time="time"/> <!-- <commercial-type :have="6" :time="time"/>-->
</div> <!-- </div>-->
<view class="headerBox" :style="{top:menu.top + 'px',height:menu.height+'px'}">
<image class="arrowIcon" @click="handleBack" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"/>
<!-- <view class="center">{{type===1?'考核考评':'日常巡检'}}</view>-->
<div class="pickerTop" @click="handleGoSelectService">
<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="content">
<view class="uni-input">{{serviceInfo.SERVERPART_NAME}}</view>
<p class="area" v-if="serviceInfo.Serverpart_ID">{{serviceInfo.SPREGIONTYPE_NAME}}</p>
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg" ></image>
</view>
</view>
</div>
</div>
<view class="right"></view>
</view>
<swiper class="swiperBox" :current="currentSwiper" @change="changeSwiper">
<swiper-item class="swiperItem" v-for="(item,index) in carSwiperList" :key="index">
<view v-if="item!=='previous' && item!=='next'" class="header" :style="{background:`url(${item})`}">
</view>
</swiper-item>
</swiper>
<!-- <view class="bigContent" :style="{top: menu.bottom + 100 + 'px'}">-->
<view class="bigContent" style="top: 324px">
<view class="contentTop">
<view class="nameTop">{{type===1?'考核考评':'日常巡检'}}</view>
<view class="timeBox">{{time}}</view> <view class="timeBox">{{time}}</view>
</view>
<view class="content">
<view v-if="type===1" class="serviceList" style="height:calc(100vh - 260px);"> <view v-if="type===1" class="serviceList" style="height:calc(100vh - 260px);">
<view v-if="serviceList.length>0"> <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" >
@ -94,6 +124,7 @@
</view> </view>
</view> </view>
</view> </view>
</view>
<uniPopup type="bottom" :round="true" :showIndex="1" :show="showPop" @hidePopup="hidePopup"> <uniPopup type="bottom" :round="true" :showIndex="1" :show="showPop" @hidePopup="hidePopup">
<view class="popup" :style="{height:type===1?'60vh':'78vh'}"> <view class="popup" :style="{height:type===1?'60vh':'78vh'}">
@ -207,9 +238,19 @@ export default {
popupServiceList:[], popupServiceList:[],
popupTab:[], popupTab:[],
popupTabSelect:0,// popupTabSelect:0,//
statusBarHeight:'',
menu:{},
carSwiperList:['previous','https://eshangtech.com/ShopICO/ahyd-BID/examine/bg.png','next'],
currentSwiper:1,
serviceInfo:''
} }
}, },
onLoad(query){ onLoad(query){
//
let systemInfo = uni.getSystemInfoSync()
this.menu = uni.getMenuButtonBoundingClientRect()
console.log('this.menu',this.menu)
let currentService = uni.getStorageSync('currentService') let currentService = uni.getStorageSync('currentService')
let lastDay = uni.getStorageSync('lastDay') let lastDay = uni.getStorageSync('lastDay')
this.currentService = currentService this.currentService = currentService
@ -223,11 +264,51 @@ export default {
console.log('query',query) console.log('query',query)
}, },
onShow(){ onShow(){
let storeServiceInfo = uni.getStorageSync('currentService')
this.serviceInfo = storeServiceInfo
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: this.type===1?'考核考评':'日常巡检' title: this.type===1?'考核考评':'日常巡检'
}); });
}, },
methods:{ methods:{
handleBack(){
uni.switchTab({
url: '/pages/index/index'
})
},
//
handleGoSelectService() {
uni.navigateTo({
url:`/pages/map/index?chartType=${true}&page=/pages/examine/detail&serviceInfo=${JSON.stringify(this.serviceInfo)}`
})
},
//
changeSwiper(e){
console.log('e',e)
this.currentSwiper = e.detail.current
let value = this.carSwiperList[Number(e.detail.current)]
if (this.type===1){
if (value==='previous'){
uni.redirectTo({
url:`/pages/commercialBI/formatPortraitBI`
})
}else if(value==='next'){
uni.redirectTo({
url:`/pages/examine/detail?type=${2}`
})
}
}else{
if (value==='previous'){
uni.redirectTo({
url:`/pages/examine/detail?type=${1}`
})
}else if(value==='next'){
uni.redirectTo({
url:`/pages/map/detail`
})
}
}
},
handleChangeChild(subItem){ handleChangeChild(subItem){
console.log('subItem',subItem) console.log('subItem',subItem)
subItem.showChild = !subItem.showChild subItem.showChild = !subItem.showChild
@ -379,16 +460,120 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.main{ .main{
.content{
width: calc(100% - 64rpx);
margin-left: 32rpx;
.timeBox{
width: 100%; width: 100%;
height: 40px; height: 100vh;
position: relative;
.headerBox{
position: fixed;
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; z-index: 3;
.arrowIcon{
width: 48rpx;
height: 48rpx;
} }
.pickerTop{
margin-left: 16rpx;
.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;
}
}
}
}
}
}
.swiperBox{
width:100%;
height: 340px;
position: relative;
.swiperItem{
width:100%;
height: 340px;
.header{
width:100%;
height: 340px;
position: absolute;
top: 0;left: 0;
z-index:1;
}
}
}
.bigContent{
width: 100%;
position: absolute;
z-index:2;
background: #fff;
left: 0;
border-top-left-radius: 32rpx;
border-top-right-radius: 32rpx;
.contentTop{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
height: 40px;
font-size: 32rpx;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 32rpx;
//.nameTop{
//
//}
//.timeBox{
//
// display: flex;
// align-items: center;
// justify-content: flex-end;
//}
}
.content{
width: calc(100% - 64rpx);
height: calc(100vh - 380px);
margin-left: 32rpx;
overflow-y: scroll;
.serviceList{ .serviceList{
width: 100%; width: 100%;
.serviceItem{ .serviceItem{
@ -861,6 +1046,7 @@ export default {
} }
} }
} }
}
.popup{ .popup{
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;

View File

@ -25,7 +25,7 @@
<view class="selectTime" :style="{ top: menu.top + (menu.height - 32) / 2 + 'px' ,height:menu.height+'px',marginLeft:'10rpx'}"> <view class="selectTime" :style="{ top: menu.top + (menu.height - 32) / 2 + 'px' ,height:menu.height+'px',marginLeft:'10rpx'}">
<view class="searchIconBox"> <view class="searchIconBox">
<image style="width:40rpx;height: 40rpx" src="/static/images/tabBar/company_active.png"/> <image style="width:40rpx;height: 40rpx" src="/static/images/tabBar/company_active.png"/>
<!-- <text class="searchIconText">数智看板</text>--> <text class="searchIconText">数智驿达</text>
</view> </view>
<view class="seachBox" @click="handleGoMap"> <view class="seachBox" @click="handleGoMap">
<image class="searchIcon" src="/static/images/seach/searchIcon.svg"/> <image class="searchIcon" src="/static/images/seach/searchIcon.svg"/>
@ -143,7 +143,7 @@
<view class="goBusiness"> <view class="goBusiness">
<!-- @click="handleGoProject"--> <!-- @click="handleGoProject"-->
<view class="bussinessRight" > <view class="bussinessRight" >
<span class="bussinessText">单位 万元</span> <span class="bussinessText">单位万元</span>
<view class="moreIcon" @click="changeShowRealBox">? <view class="moreIcon" @click="changeShowRealBox">?
<view v-if="showRealBox" class="realBox" @click.stop="changeShowRealBox"> <view v-if="showRealBox" class="realBox" @click.stop="changeShowRealBox">
<view><text class="label">对客营收</text>{{showTableData.CashPay?$util.fmoney($util.getMoney(showTableData.CashPay),2):'-'}}</view> <view><text class="label">对客营收</text>{{showTableData.CashPay?$util.fmoney($util.getMoney(showTableData.CashPay),2):'-'}}</view>
@ -405,6 +405,44 @@
</view> </view>
<view class="funEntry"> <view class="funEntry">
<!-- 车流预警-->
<!-- -->
<view class="carWarning" v-if="special" @click="handleGoWarning">
<div class="carWarningTop">
<!-- @click="handleGoWarning" -->
<div class="warningBox" >
<image class="warningIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/home/carIcon.svg"/>
<div class="trafficBox" >
<text class="trafficCar">车流预警</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/carMoreIcon.svg"/>
</div>
</div>
<div class="moreStoreBox" >
<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" v-if="index<=2"></div>
<span class="indexText" :style="{fontWeight:index<=2?'bold':'normal',color:index<=2?'#160002':'#786B6C'}">{{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/examine/add.svg':Number(item.VEHICLE_RATE)===100?'':'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg'"/>
<span class="add">{{item.VEHICLE_RATE}}%</span>
</div>
</div>
</div>
</view>
<!-- <span @click="handleGoProject">111</span>--> <!-- <span @click="handleGoProject">111</span>-->
<!-- 八个有背景的导航栏--> <!-- 八个有背景的导航栏-->
<view class="funBox"> <view class="funBox">
@ -447,19 +485,19 @@
<view class="secondView"> <view class="secondView">
<view class="funItemView" @click="handleGoOperate" style="background: url('https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/newRevenueBg.svg')"> <view class="funItemView" @click="handleGoOperate" style="background: url('https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/newRevenueBg.svg')">
<text class="funItemTitle" style="color: #0086C6;">经营报表</text> <text class="funItemTitle" style="color: #0086C6;">商业经营</text>
<image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/3stTypeImg.svg"/> <image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/3stTypeImg.svg"/>
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/3stTypeImg.svg"/> <image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/3stTypeImg.svg"/>
</view> </view>
<view class="funItemView" @click="handleFestival" style="margin-right: 9px;background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/brandHouse.svg')"> <view class="funItemView" @click="handleFestival" style="background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/brandHouse.svg')">
<text class="funItemTitle" style="color: #3F66DA;">经营品牌库</text> <text class="funItemTitle" style="color: #3F66DA;">商业品牌</text>
<image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/4stTypeImg.svg"/> <image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/4stTypeImg.svg"/>
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/2stTypeImg.svg"/> <image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/2stTypeImg.svg"/>
<!-- <image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/4stTypeImg.svg"/>--> <!-- <image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/4stTypeImg.svg"/>-->
</view> </view>
<view class="funItemView" style="background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/newIndex/funFifth.svg')" @click="handleMoney"> <view class="funItemView" style="background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/newIndex/funFifth.svg')" @click="handleMoney">
<text class="funItemTitle" style="color: #7C46CD;">财务</text> <text class="funItemTitle" style="color: #7C46CD;">财务</text>
<image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/5stTypeImg.svg"/> <image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/5stTypeImg.svg"/>
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/5stTypeImg.svg"/> <image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/5stTypeImg.svg"/>
</view> </view>
@ -495,44 +533,7 @@
</div> </div>
</div> </div>
<!-- 车流预警-->
<!-- -->
<view class="carWarning" v-if="special" @click="handleGoWarning">
<div class="carWarningTop">
<!-- @click="handleGoWarning" -->
<div class="warningBox" >
<image class="warningIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/home/carIcon.svg"/>
<div class="trafficBox" >
<text class="trafficCar">车流预警</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/carMoreIcon.svg"/>
</div>
</div>
<div class="moreStoreBox" >
<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" v-if="index<=2"></div>
<span class="indexText" :style="{fontWeight:index<=2?'bold':'normal',color:index<=2?'#160002':'#786B6C'}">{{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/examine/add.svg':Number(item.VEHICLE_RATE)===100?'':'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg'"/>
<span class="add">{{item.VEHICLE_RATE}}%</span>
</div>
</div>
</div>
</view>
<!-- 人流预警--> <!-- 人流预警-->
<view class="peopleWarning" v-if="false"> <view class="peopleWarning" v-if="false">
<div class="carWarningTop"> <div class="carWarningTop">
@ -571,7 +572,7 @@
</view> </view>
<!-- 自营计划--> <!-- 自营计划-->
<view class="selfPlan"> <view class="selfPlan" v-if="false">
<view class="selfPlanTitle">自营计划</view> <view class="selfPlanTitle">自营计划</view>
<view class="content"> <view class="content">
@ -661,7 +662,7 @@
</view> </view>
<!-- 营收占比--> <!-- 营收占比-->
<view class="proportion"> <view class="proportion" v-if="false">
<view class="proportionTitle">营收占比</view> <view class="proportionTitle">营收占比</view>
<view class="contentPropor"> <view class="contentPropor">
@ -2346,15 +2347,17 @@ $iphoneHeight: env(safe-area-inset-bottom);
margin-right: 4px; margin-right: 4px;
} }
.searchIconText{ .searchIconText{
font-size: 28rpx; font-size: 30rpx;
font-family: PingFangSC, PingFang SC; font-family: Alimama ShuHeiTi;
font-weight: 600; font-weight: 400;
color: #160002; color: #160002;
line-height: 40rpx; line-height: 40rpx;
margin-left: 6rpx;
//font-style: oblique;
} }
} }
.seachBox{ .seachBox{
width: 350rpx; width: 330rpx;
height: 100%; height: 100%;
background: #fff; background: #fff;
border-radius: 32rpx; border-radius: 32rpx;
@ -2369,7 +2372,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
margin-right: 12rpx; margin-right: 12rpx;
} }
.searchText{ .searchText{
font-size: 28rpx; font-size: 26rpx;
color: #A69E9F; color: #A69E9F;
} }
} }
@ -4214,7 +4217,8 @@ $iphoneHeight: env(safe-area-inset-bottom);
.carWarning{ .carWarning{
width:calc(100% - 32px); width:calc(100% - 32px);
margin-left: 16px; margin-left: 16px;
margin-top: 20px; //margin-top: 20px;
margin-bottom: 20px;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/home/warningBg.svg"); background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/home/warningBg.svg");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;

View File

@ -1,32 +1,47 @@
<template> <template>
<div class="main"> <div class="main">
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999"> <!-- <div style="position: fixed;right: 0;top: 20%;z-index:99999999999">-->
<commercial-type :have="7"/> <!-- <commercial-type :have="7"/>-->
</div> <!-- </div>-->
<div class="leftArrow" :style="{top:(menu.top + ((menu.height - 24)/2) )+ 'px'}" > <div class="leftArrow" :style="{top:(menu.top + ((menu.height - 24)/2) )+ 'px'}" >
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg" @click="handleBack"></image> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg" @click="handleBack"></image>
<div class="pickers" v-if="isShowPicker" @click="handleChangeService">
<div class="pick" :value="selectIndex" :range="array" range-key="name"> <!-- <div class="pickers" @click="handleChangeService">-->
<view class="picker"> <!-- <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>-->
<p class="pickTitle">{{info.SERVERPART_NAME?info.SERVERPART_NAME:''}}</p> <!-- <div class="pick" :value="selectIndex" :range="array" range-key="name">-->
{{info.SPREGIONTYPE_NAME?info.SPREGIONTYPE_NAME:''}} <!-- <view class="picker">-->
</view> <!-- <p class="pickTitle">{{info.SERVERPART_NAME?info.SERVERPART_NAME:''}}</p>-->
<!-- {{info.SPREGIONTYPE_NAME?info.SPREGIONTYPE_NAME:''}}-->
<!-- </view>-->
<!-- <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>-->
<!-- </div>-->
<!-- </div>-->
<div class="picker" :style="{top:(menu.bottom + 24)+'px'}" @click="handleChangeService">
<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">{{info.SERVERPART_NAME?info.SERVERPART_NAME:''}}</view>
<p class="area">{{info.SPREGIONTYPE_NAME?info.SPREGIONTYPE_NAME:''}}</p>
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image> <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
</view>
</view>
</div> </div>
</div> </div>
</div> </div>
<div class="topImg"> <div class="topImg">
<swiper v-if="topBg && topBg.length>0" :current="currentImg" class="carousel" @change="changeSwiper"> <swiper v-if="topBg && topBg.length>0" :current="currentImg" class="carousel" @change="changeSwiper">
<swiper-item class="imgIndex" v-for="(item,index) in topBg" :key="index" > <swiper-item class="imgIndex" v-for="(item,index) in topBg" :key="index" :style="{backgroundImage:`url(${item})`}">
<image class="img" :src="item"></image> <!-- <image class="img" :src="item"></image>-->
</swiper-item> </swiper-item>
</swiper> </swiper>
<div v-if="topBg && topBg.length>0" class="picNumber" @click="handlePreview"> <div v-if="topBg && topBg.length>0" class="picNumber" @click="handlePreview">
<image class="icon" src="/static/images/noImg.svg"></image> <image class="icon" src="/static/images/noImg.svg"></image>
<text class="text"> {{currentImg + 1}} / {{ topBg.length }}</text> <text class="text"> {{ currentImg<1?1:currentImg>topBgRealLength?topBgRealLength:currentImg }} / {{ topBgRealLength }}</text>
<image class="more" src="/static/images/more.svg"></image> <image class="more" src="/static/images/more.svg"></image>
</div> </div>
<image v-else @click="handlePreview('default')" class="topDefaultBg" src="https://eshangtech.com/ShopICO/ahyd-BID/service/default.png"></image> <!-- <image v-else @click="handlePreview('default')" class="topDefaultBg" src="https://eshangtech.com/ShopICO/ahyd-BID/service/default.png"></image>-->
</div> </div>
<div class="menu"> <div class="menu">
<div class="top"> <div class="top">
@ -186,7 +201,8 @@ export default {
selectTopBg:0, selectTopBg:0,
screenWidth:0, screenWidth:0,
currentImg:0,// currentImg:0,//
come:'',// come:'',// ,
topBgRealLength:0,//
} }
}, },
onLoad(option){ onLoad(option){
@ -205,6 +221,8 @@ export default {
onShow(){ onShow(){
let seat = uni.getStorageSync('currentService') let seat = uni.getStorageSync('currentService')
this.handleSearch(seat) this.handleSearch(seat)
this.topBg = []
this.currentImg = 1
}, },
onUnload() { onUnload() {
@ -213,7 +231,19 @@ export default {
methods:{ methods:{
// //
changeSwiper(e){ changeSwiper(e){
console.log('e',e)
this.currentImg = e.detail.current this.currentImg = e.detail.current
console.log('thisbg',this.topBg[Number(e.detail.current)])
let value = this.topBg[Number(e.detail.current)].key
if (value==='previous'){
uni.redirectTo({
url:`/pages/examine/detail?type=${2}`
})
}else if(value==='next'){
uni.redirectTo({
url:`/pages/commercialBI/carPortrait`
})
}
}, },
// //
handlePreview(type){ handlePreview(type){
@ -236,6 +266,7 @@ export default {
latitude:seat.latitude latitude:seat.latitude
} }
const totalData = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',reqs) const totalData = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',reqs)
console.log('totalData',totalData)
this.info = totalData.Result_Data this.info = totalData.Result_Data
this.typeList[4].isShow = this.info.HASCHARGE this.typeList[4].isShow = this.info.HASCHARGE
this.typeList[5].isShow = this.info.HASGUESTROOM this.typeList[5].isShow = this.info.HASGUESTROOM
@ -247,7 +278,23 @@ export default {
this.typeList[0].isShow = this.info.HASCHARGE this.typeList[0].isShow = this.info.HASCHARGE
} }
this.typeList[1].isShow = this.info.STARTDATE this.typeList[1].isShow = this.info.STARTDATE
if (this.info && this.info.ImageLits && this.info.ImageLits.length>0){
console.log('111')
this.topBg = this.info.ImageLits this.topBg = this.info.ImageLits
this.topBg.unshift({key:'previous'})
this.topBg.push({key:'next'})
this.currentImg = 1
this.topBgRealLength = this.topBg.length-2
console.log('this.topBg',this.topBg)
this.$forceUpdate()
}else{
this.topBg = ['https://eshangtech.com/ShopICO/ahyd-BID/service/default.png']
this.topBg.unshift({key:'previous'})
this.topBg.push({key:'next'})
this.currentImg = 1
this.topBgRealLength = this.topBg.length - 2
}
}, },
// //
handleChangeService(){ handleChangeService(){
@ -355,47 +402,56 @@ export default {
height: 24px; height: 24px;
margin-right: 16px; margin-right: 16px;
} }
.pickers{
min-width: 175px;
height: 32px;
background: #FFFFFF;
border-radius: 16px;
box-sizing: border-box;
padding: 0 12px;
.pick{
height: 100%;
position: relative;
.picker{ .picker{
height: 32px; .selectService{
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 18px;
display: flex; display: flex;
align-items: center; align-items: center;
.pickTitle{ .img{
width: 40px;
height: 40px;
z-index: 2;
}
.select{
height: 32px;
background: #F8F8FA;
border-radius: 0 16px 16px 0;
transform: translateX(-40px);
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-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600; font-weight: 600;
color: #160002; color: #160002;
line-height: 20px;
margin-right: 4px;
} }
.area{
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 40px;
margin-left: 4px;
} }
.rightArrow{ .rightArrow{
width: 24px; width: 24px;
height: 12px; height: 12px;
position: absolute; }
right: -10%;top: 50%; }
transform: translateY(-50%);
} }
} }
} }
} }
.topImg{ .topImg{
width: 100%; width: 100%;
height: 210px; height: 324px;
position: relative; position: relative;
.topDefaultBg{ .topDefaultBg{
width: 100%; width: 100%;
@ -409,10 +465,11 @@ export default {
.imgIndex{ .imgIndex{
width: 100%; width: 100%;
height: 100%; height: 100%;
.img{ background-size: 100% 100%;
width: 100%; //.img{
height: 100%; // width: 100%;
} // height: 324px;
//}
} }
} }
.picNumber{ .picNumber{
@ -446,7 +503,7 @@ export default {
.menu{ .menu{
width:100%; width:100%;
box-sizing: border-box; box-sizing: border-box;
height: calc(100vh - 196px); height: calc(100vh - 332px);
border-radius: 16px 16px 1px 1px; border-radius: 16px 16px 1px 1px;
transform: translateY(-16px); transform: translateY(-16px);
.top{ .top{
@ -620,7 +677,7 @@ export default {
width: 100vw; width: 100vw;
box-sizing: border-box; box-sizing: border-box;
background: #fff; background: #fff;
padding: 12px 16px calc(16px + env(safe-area-inset-bottom)); padding: 12px 16px ;
.serviceItem{ .serviceItem{
margin-top: 4px; margin-top: 4px;
.title{ .title{

View File

@ -91,7 +91,8 @@ export default {
area:'',// area:'',//
serviceInfo:{}, serviceInfo:{},
type:'',// type:'',//
serviceTypeObj:{} serviceTypeObj:{},
serviceMessage:{},//
} }
}, },
onLoad(option){ onLoad(option){
@ -123,6 +124,7 @@ export default {
}, },
onShow(){ onShow(){
let seat = uni.getStorageSync('currentService') let seat = uni.getStorageSync('currentService')
console.log('seat',seat)
if (seat && !seat.latitude){ if (seat && !seat.latitude){
JSON.parse(seat) JSON.parse(seat)
} }
@ -229,6 +231,11 @@ export default {
// data.Result_Data.List.forEach(item=>{ // data.Result_Data.List.forEach(item=>{
// list.push({name:item.name,value:item.value}) // list.push({name:item.name,value:item.value})
// }) // })
let seat = uni.getStorageSync('currentService')
if (seat && seat.SERVERPART_NAME==='安徽驿达'){
this.selectIndex = 0
this.serviceMessage = seat
}
this.array = list this.array = list
if (this.area){ if (this.area){
this.array.forEach((item,index)=>{ this.array.forEach((item,index)=>{
@ -342,6 +349,11 @@ export default {
} }
const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req) const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req)
this.serviceList = data.Result_Data.List this.serviceList = data.Result_Data.List
console.log(' this.serviceList', this.serviceList)
if (this.serviceMessage && this.serviceMessage.SERVERPART_NAME){
this.longitude = this.serviceList[0].SERVERPART_X
this.latitude = this.serviceList[0].SERVERPART_Y
}
}, },
// //
handleChangeUp(){ handleChangeUp(){

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
@font-face { @font-face {
font-family: 'Alimama ShuHeiTi'; font-family: 'Alimama ShuHeiTi';
src:url("/static/public/font2/tzfy1e4Fbqbs.woff"); src:url("/static/public/font2/EZIBw3INKZGz.woff");
font-weight: bold; font-weight: bold;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;