ahyd_DIB/pages/commercialBI/specialCase.vue
ylj20011123 e56b53fb0c update
2026-01-22 09:13:48 +08:00

1257 lines
38 KiB
Vue

<template>
<div class="main">
<div class="top">
<img class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/specialBg.png" />
<div class="header" :style="{ height: menu.height + 'px', top: menu.top + 'px' }">
<image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg"
@click="handleBack" />
<div class="timeSelect">
<!-- <img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDate.png"/>-->
<picker mode="date" :value="searchText" :end="lastDay" @change="bindDateChange">
<view class="time">
<view class="text">{{ searchText }}</view>
<img class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/timeDown.png" />
</view>
</picker>
</div>
</div>on
<div class="topBox">
<div class="boxLeft">
<div class="headerTitle">实时车流预警</div>
<!-- : 1个小时入区流量比5月同一时间流量增幅150%以上且每小时入区车辆超过100辆-->
<span class="notice" v-if="selectTab === 1">{{ `注: 1个小时入区流量比上月同一时间流量增幅150%以上且每小时入区车辆超过100辆`
}}</span>
<span class="notice" v-if="selectTab === 2">注: 前20个从今日零时起至今流量与月均同时段增幅情况</span>
</div>
<div class="boxRight">
<span class="day">{{ showDay }}</span>
<img class="dayBox" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/dateBg.png" />
</div>
</div>
</div>
<div class="content">
<div class="contentTab">
<div :class="selectTab === 1 ? 'selectTab tabItem' : 'tabItem'" @click="handleTab(1)">
<span>{{ `${startTime === 0 ? 23 : startTime - 1}时入区车流预警` }}</span>
</div>
<div :class="selectTab === 2 ? 'selectTab2 tabItem' : 'tabItem'" @click="handleTab(2)">
<span>
{{ endTime === 24 ? `${endTime - 1}-0时入区车流排行` : `0-${startTime === 0 ? 23 : startTime - 1}时入区车流排行` }}
</span>
</div>
</div>
<!-- <div class="noticeBox">-->
<!-- </div>-->
<div class="contentList">
<div class="sortBox">
<div class="sortItem" :style="{ width: 'calc(100% - 330rpx)' }">服务区</div>
<div class="sortItem">
<span class="sortItemText" @click="handleChangeSort(1)">今日</span>
<img class="sortIcon" :style="{ transform: sortType === 1 ? '' : `rotate(-180deg)` }"
:src="sortNumber === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectSortIcon.png' : 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/sortIcon.png'" />
</div>
<div class="sortItem">
<span class="sortItemText" @click="handleChangeSort(2)">月均</span>
<img class="sortIcon" :style="{ transform: sortType === 1 ? '' : `rotate(-180deg)` }"
:src="sortNumber === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectSortIcon.png' : 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/sortIcon.png'" />
</div>
<div class="sortItem">
<span class="sortItemText" @click="handleChangeSort(3)">增幅</span>
<img class="sortIcon" :style="{ transform: sortType === 1 ? '' : `rotate(-180deg)` }"
:src="sortNumber === 3 ? 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectSortIcon.png' : 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/sortIcon.png'" />
</div>
</div>
<div class="unitBox" v-if="selectTab === 1">
<span class="unit">单位:辆</span>
</div>
<div class="unitBox" v-if="selectTab === 2">
<span class="unit">单位:万辆</span>
</div>
<scroll-view class="listBigBox"
:style="{ height: selectTab === 1 ? 'calc(100ch - 320px)' : 'calc(100ch - 356px)' }" :scroll-y="true">
<div class="listItem" v-for="(item, index) in tableList" :key="index">
<div class="itemLeft">
<image class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/car/itemLeftBg.svg" />
<view class="nameBox">
<text class="serviceName">{{ item.name }}</text>
<text class="serviceLabel">{{ item.SERVERPART_REGION + '区' }}</text>
</view>
</div>
<div class="contentRight">
<div class="rightTop">
<view class="rightTopLeft">
<img class="NoIcon" v-if="index <= 2"
:src="index === 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/No1.png' : index === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/No2.png' : index === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/No3.png' : ''" />
<view class="otherIcon" v-else>{{ index + 1 }}</view>
<!-- <view class="indexBox" :style="{backgroundImage:`url(${index===0?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/No1.svg':index===1?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/No2.svg':index===2?'https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/No3.svg':''})`}">{{index+1}}</view>-->
<!-- <text class="areaName">{{item.SPRegionType_Name||'-'}}</text>-->
</view>
<view class="rightTopRight">
<view class="valueItem">{{ item.VEHICLE_COUNT ? item.VEHICLE_COUNT
< 100 ? `${item.VEHICLE_COUNT}(辆)` : selectTab === 2 ? $util.getMoney(item.VEHICLE_COUNT / 10000) :
$util.getMoneyNoDecimal(item.VEHICLE_COUNT) : '' }}</view>
<view class="valueItem">{{ item.MONTHVEHICLE_COUNT ? item.MONTHVEHICLE_COUNT
< 100 ? `${item.MONTHVEHICLE_COUNT}(辆)` : selectTab === 2 ? $util.getMoney(item.MONTHVEHICLE_COUNT
/ 10000) : $util.getMoneyNoDecimal(item.MONTHVEHICLE_COUNT) : '' }}</view>
<view class="valueItem">
<span
:style="{ color: item.VEHICLE_RATE > 0 ? 'red' : item.VEHICLE_RATE < 0 ? '#0E9976' : '' }">
{{ item.VEHICLE_RATE > 0 ? '+' : item.VEHICLE_RATE < 0 ? '' : '' }} </span>
<span
:style="{ color: item.VEHICLE_RATE > 0 ? 'red' : item.VEHICLE_RATE < 0 ? '#0E9976' : '' }">
{{ item.VEHICLE_RATE ? item.VEHICLE_RATE + '%' : '-' }}</span>
</view>
<!-- <image class="addIcon" :src="Number(item.VEHICLE_RATE)>100?'/static/images/examine/add.svg':Number(item.VEHICLE_RATE)===100?'':'/static/images/examine/reduce.svg'"/>-->
<!-- <span class="add">{{item.VEHICLE_RATE}}%</span>-->
</view>
</div>
<div class="rightBottom">
<span class="distance">{{ item.SERVERPART_DISTANCE ? item.SERVERPART_DISTANCE + 'km' : '' }}</span>
<span class="address">{{ item.OWNERUNIT_NAME ? item.OWNERUNIT_NAME + 'km' : '' }}</span>
<!-- <view class="rightBottomItem">-->
<!-- <text class="itemLabel">当前车流 /</text>-->
<!-- <text class="itemValue">{{ item.VEHICLE_COUNT || '-'}}</text>-->
<!-- </view>-->
<!-- <view class="rightBottomItem">-->
<!-- <text class="itemLabel">月均车流 /</text>-->
<!-- <text class="itemValue">{{item.MONTHVEHICLE_COUNT || '-'}}</text>-->
<!-- </view>-->
<view class="goMap" @click="handleGoMap(item)">
<image class="mapIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/car/navigation.svg" />
<text class="mapText">导航</text>
</view>
</div>
</div>
</div>
</scroll-view>
</div>
</div>
</div>
</template>
<script>
import request from '@/util/index.js'
import moment from "moment/moment";
export default {
name: "specialCase",
data() {
const lastDay = this.$util.cutDate(new Date(), 'YYYY-MM-DD', -1)
return {
single: '',//显示时间
endData: '', // 结束时间
startTime: '',// 开始数据的时间
endTime: '',// 结束数据的时间
selectTab: 1,// 选中的tab
tableList: [],// 表格数据
time: '',// 给接口的time
statusBarHeight: '',
menu: '',
searchText: '',
showMonth: '',// 上个月
showDay: '',// 顶部右侧显示的日期
seat: {},// 当前用户的经纬度位置
serviceList: [],// 服务区列表
sortType: 1,// 1正序 2倒序
sortNumber: 1,// 1当月 2月均 3增幅
}
},
async onLoad() {
// 获取手机参数对页面进行适配
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
this.seat = uni.getStorageSync('seatInfo')
let _this = this
if (this.seat) {
//获取用户的经纬度位置存在stroge里面
wx.getFuzzyLocation({
type: 'gcj02',
altitude: true,
success: (res) => {
let seatInfo = {
latitude: res.latitude,
longitude: res.longitude
}
uni.setStorageSync('seatInfo', seatInfo);
_this.seat = seatInfo
}
})
}
// let storeTime = uni.getStorageSync('lastDay')
// if (storeTime){
// this.time = storeTime
// }
const currentDate = new Date()
// 拿到当前小时的前一小时
let y = currentDate.getFullYear()
let nowM = currentDate.getMonth() + 1
if (nowM < 10) {
nowM = '0' + nowM
}
let nowD = currentDate.getDate()
if (nowD < 10) {
nowD = '0' + nowD
}
this.time = `${y}-${nowM}-${nowD}`
this.searchText = this.time
// this.searchText = '2023-06-21'
const date = new Date(this.time)
let m = date.getMonth()
this.showMonth = m === 0 ? 12 : m
let d = date.getDate()
if (d < 10) {
d = '0' + d
}
this.showDay = d
const nowDate = new Date()
let h = nowDate.getHours()
// let h = 0
this.startTime = h
if (this.startTime === 0) {
let showDay = new Date(moment(this.searchText).subtract(1, 'day').format('YYYY-MM-DD')).getDate()
if (showDay < 10) {
showDay = '0' + showDay
}
this.showDay = showDay
}
// this.startTime = 19
//传入的时间用在最上面的选择器上
await this.handleGetServiceList()
await this.handleTab(1)
},
methods: {
// 查看服务区详情
async handleGoMap(item) {
uni.showLoading({
title: '查询服务区数据'
})
let req = {
ServerpartId: item.SERVERPART_ID
}
const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo', req)
uni.navigateTo({
url: `/pages/commercialBI/map?longitude=${total.Result_Data.ServerpartInfo ? total.Result_Data.ServerpartInfo.SERVERPART_X : ''}&latitude=${total.Result_Data.ServerpartInfo ? total.Result_Data.ServerpartInfo.SERVERPART_Y : ''}&id=${item.SERVERPART_ID}&time=${this.searchText}`
})
uni.hideLoading()
},
// 时间器改变的方法
bindDateChange(e) {
const date = new Date(e.detail.value)
let m = date.getMonth()
this.showMonth = m === 0 ? 12 : m
const d = date.getDate()
this.searchText = e.detail.value
this.showDay = d < 10 ? '0' + d : d
// 改变时间重新调数据的方法
this.onRefresh()
},
handleTab(val) {
this.selectTab = val
uni.showLoading({
title: '正在加载'
})
if (val === 2) {
const req = {
StatisticsDate: this.startTime === 0 ? moment(this.searchText).subtract(1, 'day').format('YYYY-MM-DD') : this.searchText,
StatisticsHour: this.startTime === 0 ? 23 : this.startTime - 1,
StatisticsType: 2,
ShowCount: 20
}
request.$webGet('CommercialApi/BigData/GetBayonetWarning', req).then(res => {
res.Result_Data.List.forEach(item => {
item.name = item.SERVERPART_NAME.split('服务区')[0]
})
this.tableList = this.handleList(res.Result_Data.List, this.serviceList)
this.tableList = this.handleSortList(this.tableList)
uni.hideLoading()
})
} else if (val === 1) {
const req = {
StatisticsDate: this.startTime === 0 ? moment(this.searchText).subtract(1, 'day').format('YYYY-MM-DD') : this.searchText,
StatisticsHour: this.startTime === 0 ? 23 : this.startTime - 1,
StatisticsType: 1,
ShowCount: 20
}
request.$webGet('CommercialApi/BigData/GetBayonetWarning', req).then(res => {
res.Result_Data.List.forEach(item => {
item.name = item.SERVERPART_NAME.split('服务区')[0]
})
this.tableList = this.handleList(res.Result_Data.List, this.serviceList)
this.tableList = this.handleSortList(this.tableList)
uni.hideLoading()
})
}
},
onRefresh() {
this.handleTab(this.selectTab)
},
handleBack() {
uni.switchTab({
url: '/pages/index/index'
});
// uni.navigateBack({
// delta: 1
// });
},
// 拿到服务区列表的方法
async handleGetServiceList() {
const req = {
Province_Code: '340000',
longitude: this.seat.longitude,
latitude: this.seat.latitude
}
const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList', req)
this.serviceList = data.Result_Data.List
},
// 数据数组拼上服务区数据
handleList(list, filterList) {
let res = []
if (list && list.length > 0) {
list.forEach((item => {
let filter = filterList.filter(filterItem => filterItem.SERVERPART_ID === item.SERVERPART_ID)
if (filter && filter.length > 0) {
let filterRes = filter[0]
item.SERVERPART_DISTANCE = filterRes.SERVERPART_DISTANCE
item.OWNERUNIT_NAME = filterRes.OWNERUNIT_NAME
}
res.push(item)
}))
}
return res
},
// 点击切换排序方法
handleChangeSort(value) {
if (this.sortNumber === value) {
if (this.sortType === 1) {
this.sortType = 2
} else {
this.sortType = 1
}
} else {
this.sortNumber = value
}
this.tableList = this.handleSortList(this.tableList)
},
// 手动排序
handleSortList(list) {
var len = list.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (this.sortType === 1) {
if (this.sortNumber === 1) {
if (list[j].VEHICLE_COUNT < list[j + 1].VEHICLE_COUNT) { // 比较相邻元素大小并交换位置
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
} else if (this.sortNumber === 2) {
if (list[j].MONTHVEHICLE_COUNT < list[j + 1].MONTHVEHICLE_COUNT) { // 比较相邻元素大小并交换位置
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
} else if (this.sortNumber === 3) {
if (list[j].VEHICLE_RATE < list[j + 1].VEHICLE_RATE) { // 比较相邻元素大小并交换位置
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
} else {
if (this.sortNumber === 1) {
if (list[j].VEHICLE_COUNT > list[j + 1].VEHICLE_COUNT) { // 比较相邻元素大小并交换位置
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
} else if (this.sortNumber === 2) {
if (list[j].MONTHVEHICLE_COUNT > list[j + 1].MONTHVEHICLE_COUNT) { // 比较相邻元素大小并交换位置
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
} else if (this.sortNumber === 3) {
if (list[j].VEHICLE_RATE > list[j + 1].VEHICLE_RATE) { // 比较相邻元素大小并交换位置
var temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
}
return list
}
}
}
</script>
<style scoped lang="scss">
.main {
width: 100%;
background: #fff;
.top {
width: 100%;
height: 212px;
position: relative;
.bg {
width: 100%;
height: 100%;
position: absolute;
}
.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;
font-size: 32rpx;
font-family: AlimamaShuHeiTi;
font-weight: bold;
color: #FFFFFF;
line-height: 40rpx;
}
.icon {
width: 32rpx;
height: 32rpx;
}
}
}
}
.topBox {
position: absolute;
left: 16px;
top: 100px;
width: calc(100% - 32px);
display: flex;
justify-content: space-between;
align-items: center;
.boxLeft {
width: calc(100% - 200rpx);
.headerTitle {
font-size: 24px;
font-family: AlimamaShuHeiTi;
color: #FEFFFE;
font-weight: bold;
line-height: 24px;
margin-bottom: 6px;
}
.notice {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
line-height: 16px;
display: inline-block;
}
}
.boxRight {
width: 112rpx;
height: 112rpx;
position: relative;
.day {
font-size: 48rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #4983FD;
line-height: 56rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -7px);
z-index: 3;
}
.dayBox {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
}
}
.content {
width: 100%;
height: calc(100vh - 212px);
box-sizing: border-box;
//padding: 16px;
transform: translateY(-32rpx);
border-radius: 32rpx 32rpx 0 0;
background: #fff;
overflow: hidden;
.contentTab {
width: 100%;
height: 108rpx;
border-radius: 4px;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectTab.png");
background-repeat: no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
display: flex;
.tabItem {
width: 44%;
height: 100%;
text-align: center;
font-size: 30rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 30rpx;
padding: 32rpx 26rpx;
box-sizing: border-box;
}
.selectTab {
width: 56%;
font-size: 32rpx;
line-height: 32rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #160002;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectLeftTab.png");
background-repeat: no-repeat;
background-size: 100% 100%;
white-space: nowrap;
}
.selectTab2 {
width: 56%;
font-size: 32rpx;
line-height: 32rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #160002;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectTabRight.png");
background-repeat: no-repeat;
background-size: 100% 100%;
white-space: nowrap;
}
}
.contentList {
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
.sortBox {
width: 100%;
display: flex;
align-items: center;
margin-bottom: 24rpx;
position: relative;
.sortItem {
width: 110rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
.sortItemText {
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.sortIcon {
width: 24rpx;
height: 24rpx;
margin-left: 4rpx;
}
}
}
.unitBox {
width: 100%;
display: flex;
justify-content: flex-end;
.unit {
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
}
}
}
.noticeBox {
width: 100%;
border-bottom: 1px solid #ccc;
margin-top: 4px;
.notice {
font-size: 12px;
color: gray;
}
}
.contentList {
width: 100%;
border-radius: 8px;
margin-top: 16px;
padding-bottom: 16px;
overflow: hidden;
.contentItem {
background: #fff;
padding: 19px 16px;
display: flex;
justify-content: space-between;
align-items: center;
.index {
width: 16px;
height: 16px;
position: relative;
.boxBg {
width: 16px;
height: 16px;
background: #10BFCE;
filter: blur(4px);
position: absolute;
top: 0;
left: 0;
}
.indexText {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
font-size: 16px;
font-family: DingTalk-JinBuTi, DingTalk;
font-weight: normal;
color: #160002;
line-height: 20px;
}
}
.serviceBox {
width: 35%;
display: inline-block;
margin-left: 8px;
.name {
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 26px;
}
.position {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 20px;
}
}
.numberBox {
width: 30%;
.number {
font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 24px;
}
.unit {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 20px;
margin-left: 2px;
}
}
.addBox {
width: calc(30% - 20px);
display: flex;
align-items: center;
.addIcon {
width: 14px;
height: 14px;
}
.add {
font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 24px;
}
}
}
}
.listBigBox {
width: 100%;
margin-top: 24rpx;
box-sizing: border-box;
padding-bottom: 12px;
.listItem {
width: 100%;
padding: 24rpx;
box-sizing: border-box;
border-radius: 16rpx;
background: #F7F7F7;
margin-bottom: 24rpx;
display: flex;
.itemLeft {
width: 160rpx;
height: 160rpx;
border-radius: 16rpx;
//border: 2rpx solid #E6E6E6;
position: relative;
background-repeat: no-repeat;
background-size: cover;
.bg {
position: absolute;
width: 160rpx;
height: 160rpx;
top: 0;
left: 0;
z-index: 1;
}
.statueBox {
position: absolute;
z-index: 2;
top: 0;
right: 0;
width: 76rpx;
height: 32rpx;
font-size: 20rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #FFFFFF;
line-height: 28rpx;
background-repeat: no-repeat;
background-size: 100% 100%;
text-align: center;
}
.nameBox {
position: absolute;
z-index: 2;
top: 28rpx;
left: 20rpx;
display: flex;
flex-direction: column;
.serviceName {
font-size: 30rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
color: #7F020B;
line-height: 30rpx;
}
.serviceLabel {
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
color: #7F020B;
line-height: 30rpx;
}
}
}
.contentRight {
width: calc(100% - 176rpx);
margin-left: 16rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
.rightTop {
display: flex;
align-items: center;
justify-content: space-between;
.rightTopLeft {
display: flex;
align-items: center;
.NoIcon {
width: 40rpx;
height: 40rpx;
}
.otherIcon {
width: 32rpx;
height: 32rpx;
background: linear-gradient(141deg, #BABCC3 0%, #CBCCD1 45%, #B5B6BA 100%);
display: flex;
align-items: center;
justify-content: center;
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 24rpx;
border-radius: 50%;
}
.indexBox {
width: 36rpx;
height: 32rpx;
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #FEFFFF;
line-height: 28rpx;
text-align: center;
background-repeat: no-repeat;
background-size: 100% 100%;
}
.areaName {
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 40rpx;
margin-left: 8rpx;
}
}
.rightTopRight {
display: flex;
align-items: center;
.valueItem {
width: 110rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
color: #9A9A9A;
text-align: center;
}
.addIcon {
width: 14px;
height: 14px;
}
.add {
font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 24px;
}
}
}
.rightBottom {
display: flex;
justify-content: space-between;
align-items: center;
.distance {
display: inline-block;
width: 120rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
}
.address {
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
display: inline-block;
width: 200rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.goMap {
display: flex;
align-items: center;
padding: 4rpx 8rpx;
background: #4e92f6;
box-sizing: border-box;
border-radius: 8rpx;
.mapIcon {
width: 20rpx;
height: 20rpx;
margin-right: 6rpx;
}
.mapText {
color: #fff;
font-size: 22rpx;
}
}
.rightBottomItem {
display: flex;
flex-direction: column;
align-items: center;
.itemLabel {
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #9A9A9A;
line-height: 36rpx;
}
.itemValue {
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 32rpx;
margin-top: 8rpx;
}
}
}
}
}
//.listItem{
// margin-bottom: 12px;
// border: 1px solid #D9DBE0;
// border-radius: 8px;
// position: relative;
// .bg{
// position: absolute;
// right: 0;top: 0;
// width: 97px;
// height: 97px;
// }
// .listBox{
// width: 100%;
// box-sizing: border-box;
// padding: 12px 16px;
// background: linear-gradient(314deg, #EAEFFF 0%, #F3F5FF 32%, #F5FCFF 50%, #F0F7FF 67%, #DBE5FF 100%);
// border-bottom: 1px solid #D9DBE0;
// border-radius: 8px;
// .itemTop{
// width: 100%;
// display: flex;
// justify-content: space-between;
// align-items: center;
// .itemLeft{
// display: inline-block;
// padding: 4px 12px;
// background: rgba(26, 95, 255, 0.1);
// border-radius: 14px;
// .itemFixed{
// width: 12px;
// height: 14px;
// margin-right: 4px;
// }
// .serverName{
// font-size: 16px;
// font-family: DINAlternate-Bold, DINAlternate;
// font-weight: bold;
// white-space: nowrap;
// color: #1A5FFF;
// line-height: 22px
// }
// }
// .itemRight{
// display: flex;
// align-items: center;
// .entryRate{
// display: flex;
// flex-direction: column;
// .entryValue{
// font-size: 16px;
// font-family: DINAlternate-Bold, DINAlternate;
// font-weight: bold;
// color: red;
// line-height: 24px;
// white-space: nowrap;
// }
// .entryLabel{
// font-size: 14px;
// font-family: PingFangSC-Regular, PingFang SC;
// font-weight: 400;
// color: #786B6C;
// line-height: 20px;
// }
// }
// .img{
// width: 26px;
// height: 14px;
// }
//
// }
// }
// .itemDetail{
// margin-top: 16px;
// width: 100%;
// display: flex;
// justify-content: space-between;
// align-items: center;
// .message{
// display: flex;
// flex-direction: column;
// .cirRate{
// width: 40px;
// height: 40px;
// }
// .label{
// font-size: 14px;
// font-family: PingFangSC-Regular, PingFang SC;
// font-weight: 400;
// color: #786B6C;
// line-height: 20px
// }
// .value{
// font-size: 20px;
// font-family: DINAlternate-Bold, DINAlternate;
// font-weight: bold;
// color: #160002;
// line-height: 24px;
// white-space: nowrap;
// }
// }
// }
// }
// .childList{
// border-radius: 8px 8px 0 0;
// box-sizing: border-box;
// margin-left: 16px;
// width: calc(100% - 32px);
// display: flex;
// align-items: center;
// justify-content: space-between;
// padding: 8px;
// .childItem{
// width: calc(100% / 3);
// display: flex;
// flex-direction: column;
// .childLabel{
// font-size: 14px;
// font-family: PingFangSC-Regular, PingFang SC;
// font-weight: 400;
// color: #786B6C;
// line-height: 20px
// }
// .childValue{
// font-size: 18px;
// font-family: DINAlternate-Bold, DINAlternate;
// font-weight: bold;
// color: #160002;
// line-height: 24px;
// }
// }
// }
//}
}
}
}
//.main{
// width: 100%;
// box-sizing: border-box;
// padding: 0 16px;
// .select{
// margin-left: 8px;
// display: inline-block;
// .time {
// display: flex;
// align-items: center;
// margin-right: 4px;
// .day {
// font-size: 32rpx;
// font-family: PingFangSC-Regular, PingFang SC;
// font-weight: 400;
// color: #782717;
// line-height: 44rpx;
// margin-right: 4px;
// }
// .uni-input {
// font-size: 14px;
// font-family: PingFangSC-Regular, PingFang SC;
// font-weight: 400;
// color: #ae664e;
// line-height: 36rpx;
// }
// .icon {
// width: 24px;
// height: 16px;
// }
// }
// }
// .list{
// .tabs{
// width: 100%;
// display: flex;
// .tabItem{
// width: 50%;
// height: 40px;
// font-size: 12px;
// line-height: 40px;
// text-align: center;
// background: #f0f0f0;
// border-radius: 10px 10px 0 0;
// }
// .selectTab{
// width: 50%;
// height: 40px;
// font-size: 12px;
// line-height: 40px;
// text-align: center;
// background: #fff;
// border-radius: 10px 10px 0 0;
// }
// }
// .item{
// width: 100%;
// display: flex;
// margin-bottom: 5px;
// margin-top: 10px;
// .box{
// width: 100%;
// display: flex;
// align-items: center;
// .name{
// width: 40%;
// font-size: 16px;
// font-weight: 600;
// text-align: left;
// white-space: nowrap;
// display: flex;
// align-items: baseline;
// .normal{
// font-size: 12px;
// font-weight: 400;
// .unit{
// color:#ccc;
// }
// }
// }
// .enter{
// font-size: 12px;
// width: 30%;
// text-align: left;
// white-space: nowrap;
// }
// .add{
// font-size: 12px;
// width: 30%;
// text-align: center;
// display: flex;
// align-items: center;
// justify-content: center;
// .orangeRed{
// color:orangered;
// }
// .addIcon{
// width: 20px;
// height: 20px;
// }
// }
// }
// }
// ::-webkit-scrollbar {
// width: 4px;
// height: 4px;
// color:transparent;
// }
//
// /*定义滚动条轨道 内阴影+圆角*/
// ::-webkit-scrollbar-track {
// border-radius: 10px;
// background-color:transparent;
// }
//
// /*定义滑块 内阴影+圆角*/
// ::-webkit-scrollbar-thumb {
// border-radius: 10px;
// background-color:transparent;
// }
// .notice{
// font-size: 12px;
// color: gray;
// }
// }
//}</style>