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,105 +1,154 @@
<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">
<div v-if="!isShowAllProvince" class="header" :style="{backgroundImage: 'url('+ 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/car.svg' +')'}"> <swiper class="swiperBox" :current="currentSwiper" @change="changeSwiper">
<div class="analyse" v-if="analyseText"> <swiper-item class="swiperItem" v-for="(item,index) in carSwiperList" :key="index">
<text class="title">分析</text> <view v-if="item!=='previous' && item!=='next'">
<text class="content">{{analyseText}}</text> <div v-if="!isShowAllProvince" class="header" :style="{backgroundImage: 'url('+ 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/car.svg' +')'}">
</div> <div class="analyse" v-if="analyseText">
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px'}"> <text class="title">分析</text>
<div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}"> <text class="content">{{analyseText}}</text>
<div class="icon" @click="handleBack">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image>
</div>
<text class="title">车流画像</text>
<!-- 占位 -->
<div class="seize"></div>
</div> </div>
</div> <div class="headerTop" :style="{height:(menu.bottom + 6) + 'px'}">
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" > <div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}">
<div class="picker" @click="handleGoSelectService"> <div class="icon" @click="handleBack">
<div class="selectService"> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image>
</div>
<!-- <text class="title">车流画像</text>-->
<div class="pickerTop" @click="handleGoSelectService">
<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">{{serviceInfo.SERVERPART_NAME}}</view> <view class="uni-input">{{serviceInfo.SERVERPART_NAME}}</view>
<p class="area" v-if="serviceInfo.Serverpart_ID">{{serviceInfo.SPREGIONTYPE_NAME}}</p> <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> <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
</view> </view>
</view> </view>
</div>
</div> </div>
<!-- 占位 -->
<div class="seize"></div>
</div>
</div> </div>
<!-- <div class="other">--> <div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" >
<!-- <div class="label">--> <!-- <div class="picker" @click="handleGoSelectService">-->
<!-- <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="selectService">-->
<!-- {{item}}--> <!-- <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>-->
<!-- </div>--> <!-- <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="detailBox">
<div class="detailTop"> <!-- <div class="other">-->
<div class="topLeft">{{serviceTypeObj[serviceInfoObj.SERVERPART_TYPE]}}</div> <!-- <div class="label">-->
<div class="topRight" @click="handleGoServiceMessage"> <!-- <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'">-->
<span class="rightText">查看更多</span> <!-- {{item}}-->
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/> <!-- </div>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div class="functionList"> <div class="detailBox">
<div class="functionItem"> <div class="detailTop">
<image class="haveFun" :src="haveFun.car?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/> <div class="topLeft">{{serviceTypeObj[serviceInfoObj.SERVERPART_TYPE]}}</div>
<image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carCarIcon.svg"/> <div class="topRight" @click="handleGoServiceMessage">
<text class="funText">司机之家</text> <span class="rightText">查看更多</span>
</div> <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
<div class="functionItem"> </div>
<image class="haveFun" :src="haveFun.charge?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/> </div>
<image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carCharge.svg"/> <div class="functionList">
<text class="funText">充电桩</text> <div class="functionItem">
</div> <image class="haveFun" :src="haveFun.car?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/>
<div class="functionItem"> <image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carCarIcon.svg"/>
<image class="haveFun" :src="haveFun.bady?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/> <text class="funText">司机之家</text>
<image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carBady.svg"/> </div>
<text class="funText">母婴室</text> <div class="functionItem">
</div> <image class="haveFun" :src="haveFun.charge?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/>
<div class="functionItem"> <image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carCharge.svg"/>
<image class="haveFun" :src="haveFun.gusetHome?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/> <text class="funText">充电桩</text>
<image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carGuestRoom.svg"/> </div>
<text class="funText">客房</text> <div class="functionItem">
<image class="haveFun" :src="haveFun.bady?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/>
<image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carBady.svg"/>
<text class="funText">母婴室</text>
</div>
<div class="functionItem">
<image class="haveFun" :src="haveFun.gusetHome?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carHave.svg':'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carNoHave.svg'"/>
<image class="carIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/carGuestRoom.svg"/>
<text class="funText">客房</text>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> <div v-if="isShowAllProvince" class="headerTopBox" >
</div> <div class="header" :style="{height:menu.height + 'px',top:menu.top+'px'}">
<div v-if="isShowAllProvince" class="headerTop" > <image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
<div class="header" :style="{height:menu.height + 'px',top:menu.top+'px'}"> <div class="timeSelect">
<image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/> <img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDateIcon.svg"/>
<div class="timeSelect"> <picker mode="date" :value="searchText" :end="lastDay" @change="changeAllProvinceSearch" >
<img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDateIcon.svg"/> <view class="time">
<picker mode="date" :value="searchText" :end="lastDay" @change="changeAllProvinceSearch" > <view class="text">{{ searchText }}</view>
<view class="time"> <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/arrow_bottom.svg"></image>
<view class="text">{{ searchText }}</view> </view>
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/arrow_bottom.svg"></image> </picker>
</view> </div>
</picker> </div>
</div>
</div>
<div class="picker" :style="{top:(menu.bottom + 24)+'px'}" @click="handleGoSelectService"> <div class="picker" :style="{top:(menu.bottom + 24)+'px'}" @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">{{serviceInfo.SERVERPART_NAME}}</view> <view class="uni-input">{{serviceInfo.SERVERPART_NAME}}</view>
<p class="area" v-if="serviceInfo.Serverpart_ID">{{serviceInfo.SPREGIONTYPE_NAME}}</p> <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> <image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
</view> </view>
</view> </view>
</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,359 +1311,369 @@ export default {
background: #fff; background: #fff;
min-height: 100vh; min-height: 100vh;
overflow: hidden; overflow: hidden;
.header{ .swiperBox{
width: 100%; width: 100%;
height: 648rpx; height: 648rpx;
//height: calc(1.056 * 100vw); .swiperItem{
padding: 0 16px; width: 100%;
box-sizing: border-box; height: 648rpx;
position: relative; .header{
background-repeat: no-repeat;
//background-size: cover;
background-size: 100% 100%;
.car{
width: 100vw;
height: 100%;
position: absolute;
z-index: 0;
top: 0;left: 0;
}
.analyse{
width: calc(100vw - 32px);
height: 48px;
box-sizing: border-box;
padding: 6px 12px;
background: #fff;
margin-top: 16px;
border-radius: 4px;
display: flex;
position: absolute;
bottom: 16px;
.title{
width: 28px;
height: 18px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 18px;
padding: 0 4px;
text-align: center;
border-radius: 4px;
background:rgba(6, 93, 255, 0.1);
}
.content{
width: calc(100% - 46px);
padding-left: 6px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 18px;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 2;
}
}
.headerTop{
width: 100vw;
position: fixed;
top: 0;
left: 0;
z-index: 9999999999999;
background: linear-gradient(180deg, #A2B9E8 0%, #B2C6ED 100%);
.box{
padding: 0 16px;
position: absolute;
box-sizing: border-box;
width: 100%; width: 100%;
display: flex; height: 648rpx;
justify-content: space-between; //height: calc(1.056 * 100vw);
align-items: center; padding: 0 16px;
transform: translateY(-50%); box-sizing: border-box;
.icon{ position: relative;
width: 24px; background-repeat: no-repeat;
height: 24px; //background-size: cover;
.img{ background-size: 100% 100%;
width: 100%; .car{
height: 100%; width: 100vw;
} height: 100%;
position: absolute;
z-index: 0;
top: 0;left: 0;
} }
.title{ .analyse{
font-size: 36rpx; width: calc(100vw - 32px);
font-family: PingFangSC-Medium, PingFang SC; height: 48px;
font-weight: 600; box-sizing: border-box;
color: #1C2130; padding: 6px 12px;
line-height: 56rpx; background: #fff;
} margin-top: 16px;
.seize{ border-radius: 4px;
width: 24px;
height: 24px;
}
}
}
.serviceArea{
position: absolute;
box-sizing: border-box;
.picker{
.selectService{
display: flex; display: flex;
align-items: center; position: absolute;
.img{ bottom: 16px;
width: 40px; .title{
height: 40px; width: 28px;
z-index: 2; height: 18px;
} font-size: 12px;
.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;
}
}
}
}
}
.other{
margin-top: 12px;
width: calc(100vw - 32px);
text-align: center;
.label{
height: 54px;
position: relative;
.item{
position: absolute;
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #160002;
line-height: 44rpx; line-height: 18px;
padding: 4px 12px; padding: 0 4px;
border-radius: 8rpx 8rpx 0rpx 8rpx; text-align: center;
border-radius: 4px;
background:rgba(6, 93, 255, 0.1);
} }
.item{
background: linear-gradient(180deg, #3190FF 0%, #1657FF 100%);
top: 0px;
}
.item0{
left: 50%;
top: 50%;
transform: translateX(-50%);
z-index:3;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.8) 0%, rgba(22, 87, 255, 0.8) 100%);
}
.item1{
left: 25%;
top: 80%;
z-index:2;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.7) 0%, rgba(22, 87, 255, 0.7) 100%);
}
.item2{
right: 15%;
top: 80%;
z-index:2;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.6) 0%, rgba(22, 87, 255, 0.6) 100%);
}
.item3{
right: 2%;
top:100%;
z-index:1;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.5) 0%, rgba(22, 87, 255, 0.5) 100%);
}
.item4{
left: 2%;
top:100%;
z-index:1;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.4) 0%, rgba(22, 87, 255, 0.4) 100%);
}
}
.car{
width: 228px;
height: 95px;
}
}
.detailBox{
width: 340rpx;
height: 312rpx;
background: linear-gradient(136deg, #F0F6FF 0%, #FFFFFF 100%);
border-radius: 16rpx;
margin-top: 32rpx;
box-sizing: border-box;
padding: 24rpx 32rpx;
.detailTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.topLeft{
background: linear-gradient(180deg, rgba(49, 144, 255, 0.2) 0%, rgba(22, 87, 255, 0.2) 100%);
border-radius: 8rpx;
padding: 0 16rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #1E67FF;
line-height: 40rpx;
}
.topRight{
display: flex;
align-items: center;
.rightText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.moreIcon{
width: 24rpx;
height: 24rpx;
margin-left: 4rpx;
}
}
}
.functionList{
.functionItem{
margin-top: 16rpx;
display: flex;
align-items: center;
.haveFun{
width: 32rpx;
height: 32rpx;
margin-right: 18rpx;
}
.carIcon{
width: 32rpx;
height: 32rpx;
margin-right: 4rpx;
}
.funText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #6C737A;
line-height: 40rpx;
}
}
}
}
}
}
.headerTop{
width: 100%;
height: 152px;
box-sizing: border-box;
position: relative;
background: linear-gradient(90deg, #60AAFF 0%,#3E74FF 100%);
.header{
position: absolute;
width: 100%;
padding: 0 16px;
box-sizing: border-box;
display: flex;
align-items: center;
.backArrow{
width: 24px;
height: 24px;
margin-right: 16px;
}
.timeSelect{
display: flex;
align-items: center;
.selectIcon{
width: 16px;
height: 16px;
}
.time{
display: flex;
align-items: center;
.text{
margin: 0 5px;
color: #fff;
}
.icon{
width: 18px;
height: 18px;
}
}
}
}
.picker{
position: absolute;
left: 16px;
.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{ .content{
width: calc(100% - 46px);
padding-left: 6px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 18px;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 2;
}
}
.headerTop{
width: 100vw;
position: fixed;
top: 0;
left: 0;
z-index: 9999999999999;
background: linear-gradient(180deg, #A2B9E8 0%, #B2C6ED 100%);
.box{
padding: 0 16px;
position: absolute;
box-sizing: border-box;
width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
.uni-input{ transform: translateY(-50%);
padding: 0; .icon{
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; width: 24px;
height: 12px; height: 24px;
.img{
width: 100%;
height: 100%;
}
}
.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;
}
}
}
}
}
.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{
margin-top: 12px;
width: calc(100vw - 32px);
text-align: center;
.label{
height: 54px;
position: relative;
.item{
position: absolute;
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
line-height: 44rpx;
padding: 4px 12px;
border-radius: 8rpx 8rpx 0rpx 8rpx;
}
.item{
background: linear-gradient(180deg, #3190FF 0%, #1657FF 100%);
top: 0px;
}
.item0{
left: 50%;
top: 50%;
transform: translateX(-50%);
z-index:3;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.8) 0%, rgba(22, 87, 255, 0.8) 100%);
}
.item1{
left: 25%;
top: 80%;
z-index:2;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.7) 0%, rgba(22, 87, 255, 0.7) 100%);
}
.item2{
right: 15%;
top: 80%;
z-index:2;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.6) 0%, rgba(22, 87, 255, 0.6) 100%);
}
.item3{
right: 2%;
top:100%;
z-index:1;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.5) 0%, rgba(22, 87, 255, 0.5) 100%);
}
.item4{
left: 2%;
top:100%;
z-index:1;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.4) 0%, rgba(22, 87, 255, 0.4) 100%);
}
}
.car{
width: 228px;
height: 95px;
}
}
.detailBox{
width: 340rpx;
height: 312rpx;
background: linear-gradient(136deg, #F0F6FF 0%, #FFFFFF 100%);
border-radius: 16rpx;
margin-top: 72rpx;
box-sizing: border-box;
padding: 24rpx 32rpx;
.detailTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.topLeft{
background: linear-gradient(180deg, rgba(49, 144, 255, 0.2) 0%, rgba(22, 87, 255, 0.2) 100%);
border-radius: 8rpx;
padding: 0 16rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #1E67FF;
line-height: 40rpx;
}
.topRight{
display: flex;
align-items: center;
.rightText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.moreIcon{
width: 24rpx;
height: 24rpx;
margin-left: 4rpx;
}
}
}
.functionList{
.functionItem{
margin-top: 16rpx;
display: flex;
align-items: center;
.haveFun{
width: 32rpx;
height: 32rpx;
margin-right: 18rpx;
}
.carIcon{
width: 32rpx;
height: 32rpx;
margin-right: 4rpx;
}
.funText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #6C737A;
line-height: 40rpx;
}
}
} }
} }
} }
} }
.headerTopBox{
width: 100%;
//height: 152px;
height: 324px;
box-sizing: border-box;
position: relative;
background: linear-gradient(90deg, #60AAFF 0%,#3E74FF 100%);
.header{
position: absolute;
width: 100%;
padding: 0 16px;
box-sizing: border-box;
display: flex;
align-items: center;
.backArrow{
width: 24px;
height: 24px;
margin-right: 16px;
}
.timeSelect{
display: flex;
align-items: center;
.selectIcon{
width: 16px;
height: 16px;
}
.time{
display: flex;
align-items: center;
.text{
margin: 0 5px;
color: #fff;
}
.icon{
width: 18px;
height: 18px;
}
}
}
}
.picker{
position: absolute;
left: 16px;
.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;
}
}
}
}
}
}
} }
} }

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>
<div class="header" :style="{backgroundImage: 'url('+ bgUrl +')'}"> <swiper class="swiperBox" :current="currentSwiper" @change="changeSwiper">
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px',background:topBg}"> <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="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 class="seize"></div>
</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 class="analyse" v-if="analyseText">-->
<!-- <text class="title">分析</text>-->
<!-- <text class="content">{{analyseText}}</text>-->
<!-- </div>-->
</div> </div>
<!-- <div class="analyse" v-if="analyseText">--> </view>
<!-- <text class="title">分析</text>--> <view v-else style="width: 100%;height: 100%" ></view>
<!-- <text class="content">{{analyseText}}</text>--> </swiper-item>
<!-- </div>--> </swiper>
</div>
</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,179 +314,238 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.header{ .swiperBox{
width: 100%; width: 100%;
height: 648rpx; height: 648rpx;
//height: calc(1.056 * 100vw); .swiperItem{
box-sizing: border-box; width: 100%;
position: relative; height: 648rpx;
padding: 0 16px; .header{
background-repeat: no-repeat;
//background-size: cover;
background-size: 100% 100%;
.headerTop{
width: 100vw;
position: fixed;
top: 0;
left: 0;
z-index:99999;
.box{
padding: 0 16px;
position: absolute;
box-sizing: border-box;
width: 100%; width: 100%;
display: flex; height: 648rpx;
justify-content: space-between; //height: calc(1.056 * 100vw);
align-items: center; box-sizing: border-box;
transform: translateY(-50%); position: relative;
.icon{ padding: 0 16px;
width: 24px; background-repeat: no-repeat;
height: 24px; //background-size: cover;
.img{ background-size: 100% 100%;
.headerTop{
width: 100vw;
position: fixed;
top: 0;
left: 0;
z-index:99999;
.box{
padding: 0 16px;
position: absolute;
box-sizing: border-box;
width: 100%; width: 100%;
height: 100%; display: flex;
align-items: center;
transform: translateY(-50%);
.icon{
width: 24px;
height: 24px;
.img{
width: 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{
font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 600;
color: #1C2130;
line-height: 56rpx;
}
.seize{
width: 24px;
height: 24px;
}
} }
} }
.title{ .serviceArea{
font-size: 36rpx; width: calc(100% - 32px);
font-family: PingFangSC-Medium, PingFang SC; position: absolute;
font-weight: 600; box-sizing: border-box;
color: #1C2130; .picker{
line-height: 56rpx; .selectService{
}
.seize{
width: 24px;
height: 24px;
}
}
}
.serviceArea{
width: calc(100% - 32px);
position: absolute;
box-sizing: border-box;
.picker{
.selectService{
display: flex; display: flex;
align-items: center; align-items: center;
.img{ .img{
width: 40px; width: 40px;
height: 40px; height: 40px;
z-index: 2; z-index: 2;
} }
.select{ .select{
min-width: 174px; min-width: 174px;
height: 32px; height: 32px;
background: #F8F8FA; background: #F8F8FA;
border-radius: 0 16px 16px 0; border-radius: 0 16px 16px 0;
transform: translateX(-20px); transform: translateX(-20px);
box-sizing: border-box; box-sizing: border-box;
padding-left: 25px; padding-left: 25px;
padding-right: 25px; padding-right: 25px;
display: flex; display: flex;
align-items: center; align-items: center;
position: relative; position: relative;
.content{ .content{
display: flex; display: flex;
align-items: center; align-items: center;
.uni-input{ .uni-input{
padding: 0; padding: 0;
background: transparent; 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;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
} }
.area{ .area{
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #786B6C; color: #786B6C;
line-height: 40px; line-height: 40px;
margin-left: 4px; margin-left: 4px;
} }
.rightArrow{ .rightArrow{
width: 24px; width: 24px;
height: 12px; height: 12px;
position: absolute; position: absolute;
right: 0px; right: 0px;
} }
}
} }
}
} }
.detailBox{
width: 340rpx;
height: 312rpx;
border-radius: 16rpx;
margin-top: 32rpx;
box-sizing: border-box;
padding: 24rpx 32rpx;
.detailTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.topLeft{
background: linear-gradient(180deg, rgba(49, 144, 255, 0.2) 0%, rgba(22, 87, 255, 0.2) 100%);
border-radius: 8rpx;
padding: 0 16rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #1E67FF;
line-height: 40rpx;
}
.topRight{
display: flex;
align-items: center;
.rightText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.moreIcon{
width: 24rpx;
height: 24rpx;
margin-left: 4rpx;
} }
} }
} .detailBox{
.functionList{ width: 340rpx;
.functionItem{ height: 312rpx;
margin-top: 16rpx; border-radius: 16rpx;
display: flex; margin-top: 72rpx;
align-items: center; box-sizing: border-box;
.haveFun{ padding: 24rpx 32rpx;
width: 32rpx; .detailTop{
height: 32rpx; width: 100%;
margin-right: 18rpx; display: flex;
align-items: center;
justify-content: space-between;
.topLeft{
background: linear-gradient(180deg, rgba(49, 144, 255, 0.2) 0%, rgba(22, 87, 255, 0.2) 100%);
border-radius: 8rpx;
padding: 0 16rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #1E67FF;
line-height: 40rpx;
}
.topRight{
display: flex;
align-items: center;
.rightText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.moreIcon{
width: 24rpx;
height: 24rpx;
margin-left: 4rpx;
}
}
} }
.carIcon{ .functionList{
width: 32rpx; .functionItem{
height: 32rpx; margin-top: 16rpx;
margin-right: 4rpx; display: flex;
} align-items: center;
.funText{ .haveFun{
font-size: 28rpx; width: 32rpx;
font-family: PingFangSC, PingFang SC; height: 32rpx;
font-weight: 400; margin-right: 18rpx;
color: #6C737A; }
line-height: 40rpx; .carIcon{
width: 32rpx;
height: 32rpx;
margin-right: 4rpx;
}
.funText{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #6C737A;
line-height: 40rpx;
}
}
} }
} }
} .label{
} width: calc(60% + 20px);
.label{ height: 127px;
width: calc(60% + 20px); position: relative;
height: 127px; margin-top: 44px;
position: relative; .labelItem{
margin-top: 44px;
.labelItem{
position: absolute; position: absolute;
font-size: 16px; font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -432,43 +554,43 @@ export default {
line-height: 22px; line-height: 22px;
border-radius: 4px 4px 0 4px; border-radius: 4px 4px 0 4px;
padding: 4px 12px; padding: 4px 12px;
} }
.labelItem0{ .labelItem0{
top: 50%; top: 50%;
left: 50%; left: 50%;
transform: translate(-50%,-50%); transform: translate(-50%,-50%);
z-index:9; z-index:9;
} }
.labelItem1{ .labelItem1{
top: 30%; top: 30%;
left: 5%; left: 5%;
z-index:8; z-index:8;
opacity: 0.8; opacity: 0.8;
} }
.labelItem2{ .labelItem2{
right: 0; right: 0;
top: 30%; top: 30%;
opacity: 0.7; opacity: 0.7;
} }
.labelItem3{ .labelItem3{
top: 10%; top: 10%;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
opacity: 0.6; opacity: 0.6;
} }
.labelItem4{ .labelItem4{
bottom: 20%; bottom: 20%;
left: 10%; left: 10%;
opacity: 0.5; opacity: 0.5;
} }
.labelItem5{ .labelItem5{
bottom: 20%; bottom: 20%;
right: 20%; right: 20%;
opacity: 0.4; opacity: 0.4;
}
} }
} }
} .analyse{
.analyse{
position: absolute; position: absolute;
bottom: 16px; bottom: 16px;
width: calc(100vw - 32px); width: calc(100vw - 32px);
@ -479,32 +601,34 @@ export default {
border-radius: 4px; border-radius: 4px;
display: flex; display: flex;
.title{ .title{
width: 28px; width: 28px;
height: 18px; height: 18px;
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #160002; color: #160002;
line-height: 18px; line-height: 18px;
padding: 0 4px; padding: 0 4px;
text-align: center; text-align: center;
border-radius: 4px; border-radius: 4px;
background:rgba(6, 93, 255, 0.1); background:rgba(6, 93, 255, 0.1);
} }
.content{ .content{
width: calc(100% - 46px); width: calc(100% - 46px);
padding-left: 6px; padding-left: 6px;
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #786B6C; color: #786B6C;
line-height: 18px; line-height: 18px;
display: -webkit-box; display: -webkit-box;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
overflow: hidden; overflow: hidden;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
} }
} }
}
}
} }
</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%;

File diff suppressed because it is too large Load Diff

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>-->
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image> <!-- {{info.SPREGIONTYPE_NAME?info.SPREGIONTYPE_NAME:''}}-->
</div> <!-- </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>
</view>
</view>
</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){
this.currentImg = e.detail.current console.log('e',e)
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{ .picker{
min-width: 175px; .selectService{
display: flex;
align-items: center;
.img{
width: 40px;
height: 40px;
z-index: 2;
}
.select{
height: 32px; height: 32px;
background: #FFFFFF; background: #F8F8FA;
border-radius: 16px; border-radius: 0 16px 16px 0;
transform: translateX(-40px);
box-sizing: border-box; box-sizing: border-box;
padding: 0 12px; padding-left: 25px;
.pick{ display: flex;
height: 100%; align-items: center;
position: relative; .content{
.picker{ display: flex;
height: 32px; align-items: center;
font-size: 12px; .uni-input{
font-family: PingFangSC-Regular, PingFang SC; padding: 0;
font-weight: 400; background: transparent;
color: #786B6C; font-size: 14px;
line-height: 18px; font-family: PingFangSC-Semibold, PingFang SC;
display: flex; font-weight: 600;
align-items: center; color: #160002;
.pickTitle{ }
font-size: 14px; .area{
font-family: PingFangSC-Semibold, PingFang SC; font-size: 12px;
font-weight: 600; font-family: PingFangSC-Regular, PingFang SC;
color: #160002; font-weight: 400;
line-height: 20px; color: #786B6C;
margin-right: 4px; 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;