This commit is contained in:
ylj20011123 2026-01-22 09:13:48 +08:00
parent 2fc99587bf
commit e56b53fb0c
7 changed files with 1787 additions and 1403 deletions

View File

@ -3,7 +3,8 @@
<div class="top"> <div class="top">
<img class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/specialBg.png" /> <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' }"> <div class="header" :style="{ height: menu.height + 'px', top: menu.top + 'px' }">
<image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/> <image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg"
@click="handleBack" />
<div class="timeSelect"> <div class="timeSelect">
<!-- <img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDate.png"/>--> <!-- <img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDate.png"/>-->
<picker mode="date" :value="searchText" :end="lastDay" @change="bindDateChange"> <picker mode="date" :value="searchText" :end="lastDay" @change="bindDateChange">
@ -18,7 +19,8 @@
<div class="boxLeft"> <div class="boxLeft">
<div class="headerTitle">实时车流预警</div> <div class="headerTitle">实时车流预警</div>
<!-- : 1个小时入区流量比5月同一时间流量增幅150%以上且每小时入区车辆超过100辆--> <!-- : 1个小时入区流量比5月同一时间流量增幅150%以上且每小时入区车辆超过100辆-->
<span class="notice" v-if="selectTab===1">{{ `: 1个小时入区流量比${showMonth}月同一时间流量增幅150%以上且每小时入区车辆超过100辆` }}</span> <span class="notice" v-if="selectTab === 1">{{ `: 1个小时入区流量比上月同一时间流量增幅150%以上且每小时入区车辆超过100辆`
}}</span>
<span class="notice" v-if="selectTab === 2">: 前20个从今日零时起至今流量与月均同时段增幅情况</span> <span class="notice" v-if="selectTab === 2">: 前20个从今日零时起至今流量与月均同时段增幅情况</span>
</div> </div>
<div class="boxRight"> <div class="boxRight">
@ -47,15 +49,18 @@
<div class="sortItem" :style="{ width: 'calc(100% - 330rpx)' }">服务区</div> <div class="sortItem" :style="{ width: 'calc(100% - 330rpx)' }">服务区</div>
<div class="sortItem"> <div class="sortItem">
<span class="sortItemText" @click="handleChangeSort(1)">今日</span> <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'"/> <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>
<div class="sortItem"> <div class="sortItem">
<span class="sortItemText" @click="handleChangeSort(2)">月均</span> <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'"/> <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>
<div class="sortItem"> <div class="sortItem">
<span class="sortItemText" @click="handleChangeSort(3)">增幅</span> <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'"/> <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> </div>
<div class="unitBox" v-if="selectTab === 1"> <div class="unitBox" v-if="selectTab === 1">
@ -65,7 +70,8 @@
<span class="unit">单位万辆</span> <span class="unit">单位万辆</span>
</div> </div>
<scroll-view class="listBigBox" :style="{height:selectTab===1?'calc(100ch - 320px)':'calc(100ch - 356px)'}" :scroll-y="true"> <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="listItem" v-for="(item, index) in tableList" :key="index">
<div class="itemLeft"> <div class="itemLeft">
<image class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/car/itemLeftBg.svg" /> <image class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/car/itemLeftBg.svg" />
@ -77,17 +83,26 @@
<div class="contentRight"> <div class="contentRight">
<div class="rightTop"> <div class="rightTop">
<view class="rightTopLeft"> <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':''"/> <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="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>--> <!-- <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>--> <!-- <text class="areaName">{{item.SPRegionType_Name||'-'}}</text>-->
</view> </view>
<view class="rightTopRight"> <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.VEHICLE_COUNT ? item.VEHICLE_COUNT
<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> < 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"> <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
<span :style="{color:item.VEHICLE_RATE>0?'red':item.VEHICLE_RATE<0?'#0E9976':''}">{{item.VEHICLE_RATE?item.VEHICLE_RATE+'%':'-'}}</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> </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'"/>--> <!-- <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>--> <!-- <span class="add">{{item.VEHICLE_RATE}}%</span>-->
@ -189,7 +204,7 @@ export default {
// this.searchText = '2023-06-21' // this.searchText = '2023-06-21'
const date = new Date(this.time) const date = new Date(this.time)
let m = date.getMonth() let m = date.getMonth()
this.showMonth = m this.showMonth = m === 0 ? 12 : m
let d = date.getDate() let d = date.getDate()
if (d < 10) { if (d < 10) {
d = '0' + d d = '0' + d
@ -231,7 +246,7 @@ export default {
bindDateChange(e) { bindDateChange(e) {
const date = new Date(e.detail.value) const date = new Date(e.detail.value)
let m = date.getMonth() let m = date.getMonth()
this.showMonth = m this.showMonth = m === 0 ? 12 : m
const d = date.getDate() const d = date.getDate()
this.searchText = e.detail.value this.searchText = e.detail.value
this.showDay = d < 10 ? '0' + d : d this.showDay = d < 10 ? '0' + d : d
@ -384,15 +399,18 @@ export default {
.main { .main {
width: 100%; width: 100%;
background: #fff; background: #fff;
.top { .top {
width: 100%; width: 100%;
height: 212px; height: 212px;
position: relative; position: relative;
.bg { .bg {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: absolute; position: absolute;
} }
.header { .header {
position: absolute; position: absolute;
width: 100%; width: 100%;
@ -400,21 +418,26 @@ export default {
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
align-items: center; align-items: center;
.backArrow { .backArrow {
width: 24px; width: 24px;
height: 24px; height: 24px;
margin-right: 16px; margin-right: 16px;
} }
.timeSelect { .timeSelect {
display: flex; display: flex;
align-items: center; align-items: center;
.selectIcon { .selectIcon {
width: 16px; width: 16px;
height: 16px; height: 16px;
} }
.time { .time {
display: flex; display: flex;
align-items: center; align-items: center;
.text { .text {
margin: 0 5px; margin: 0 5px;
font-size: 32rpx; font-size: 32rpx;
@ -423,6 +446,7 @@ export default {
color: #FFFFFF; color: #FFFFFF;
line-height: 40rpx; line-height: 40rpx;
} }
.icon { .icon {
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
@ -430,6 +454,7 @@ export default {
} }
} }
} }
.topBox { .topBox {
position: absolute; position: absolute;
left: 16px; left: 16px;
@ -438,8 +463,10 @@ export default {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.boxLeft { .boxLeft {
width: calc(100% - 200rpx); width: calc(100% - 200rpx);
.headerTitle { .headerTitle {
font-size: 24px; font-size: 24px;
font-family: AlimamaShuHeiTi; font-family: AlimamaShuHeiTi;
@ -448,6 +475,7 @@ export default {
line-height: 24px; line-height: 24px;
margin-bottom: 6px; margin-bottom: 6px;
} }
.notice { .notice {
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -457,10 +485,12 @@ export default {
display: inline-block; display: inline-block;
} }
} }
.boxRight { .boxRight {
width: 112rpx; width: 112rpx;
height: 112rpx; height: 112rpx;
position: relative; position: relative;
.day { .day {
font-size: 48rpx; font-size: 48rpx;
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
@ -468,13 +498,16 @@ export default {
color: #4983FD; color: #4983FD;
line-height: 56rpx; line-height: 56rpx;
position: absolute; position: absolute;
top: 50%;left: 50%; top: 50%;
left: 50%;
transform: translate(-50%, -7px); transform: translate(-50%, -7px);
z-index: 3; z-index: 3;
} }
.dayBox { .dayBox {
position: absolute; position: absolute;
top: 0;left: 0; top: 0;
left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
@ -491,6 +524,7 @@ export default {
border-radius: 32rpx 32rpx 0 0; border-radius: 32rpx 32rpx 0 0;
background: #fff; background: #fff;
overflow: hidden; overflow: hidden;
.contentTab { .contentTab {
width: 100%; width: 100%;
height: 108rpx; height: 108rpx;
@ -500,6 +534,7 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
.tabItem { .tabItem {
width: 44%; width: 44%;
height: 100%; height: 100%;
@ -512,6 +547,7 @@ export default {
padding: 32rpx 26rpx; padding: 32rpx 26rpx;
box-sizing: border-box; box-sizing: border-box;
} }
.selectTab { .selectTab {
width: 56%; width: 56%;
font-size: 32rpx; font-size: 32rpx;
@ -524,6 +560,7 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
white-space: nowrap; white-space: nowrap;
} }
.selectTab2 { .selectTab2 {
width: 56%; width: 56%;
font-size: 32rpx; font-size: 32rpx;
@ -537,16 +574,19 @@ export default {
white-space: nowrap; white-space: nowrap;
} }
} }
.contentList { .contentList {
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 0 32rpx; padding: 0 32rpx;
.sortBox { .sortBox {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 24rpx; margin-bottom: 24rpx;
position: relative; position: relative;
.sortItem { .sortItem {
width: 110rpx; width: 110rpx;
font-size: 28rpx; font-size: 28rpx;
@ -554,6 +594,7 @@ export default {
font-weight: 400; font-weight: 400;
color: #A69E9F; color: #A69E9F;
line-height: 40rpx; line-height: 40rpx;
.sortItemText { .sortItemText {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -561,6 +602,7 @@ export default {
color: #A69E9F; color: #A69E9F;
line-height: 40rpx; line-height: 40rpx;
} }
.sortIcon { .sortIcon {
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
@ -569,10 +611,12 @@ export default {
} }
} }
.unitBox { .unitBox {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
.unit { .unit {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -582,42 +626,51 @@ export default {
} }
} }
} }
.noticeBox { .noticeBox {
width: 100%; width: 100%;
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
margin-top: 4px; margin-top: 4px;
.notice { .notice {
font-size: 12px; font-size: 12px;
color: gray; color: gray;
} }
} }
.contentList { .contentList {
width: 100%; width: 100%;
border-radius: 8px; border-radius: 8px;
margin-top: 16px; margin-top: 16px;
padding-bottom: 16px; padding-bottom: 16px;
overflow: hidden; overflow: hidden;
.contentItem { .contentItem {
background: #fff; background: #fff;
padding: 19px 16px; padding: 19px 16px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.index { .index {
width: 16px; width: 16px;
height: 16px; height: 16px;
position: relative; position: relative;
.boxBg { .boxBg {
width: 16px; width: 16px;
height: 16px; height: 16px;
background: #10BFCE; background: #10BFCE;
filter: blur(4px); filter: blur(4px);
position: absolute; position: absolute;
top: 0;left: 0; top: 0;
left: 0;
} }
.indexText { .indexText {
position: absolute; position: absolute;
top: 50%;left: 50%; top: 50%;
left: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
z-index: 2; z-index: 2;
font-size: 16px; font-size: 16px;
@ -627,10 +680,12 @@ export default {
line-height: 20px; line-height: 20px;
} }
} }
.serviceBox { .serviceBox {
width: 35%; width: 35%;
display: inline-block; display: inline-block;
margin-left: 8px; margin-left: 8px;
.name { .name {
font-size: 18px; font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
@ -638,6 +693,7 @@ export default {
color: #160002; color: #160002;
line-height: 26px; line-height: 26px;
} }
.position { .position {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -646,8 +702,10 @@ export default {
line-height: 20px; line-height: 20px;
} }
} }
.numberBox { .numberBox {
width: 30%; width: 30%;
.number { .number {
font-size: 20px; font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate; font-family: DINAlternate-Bold, DINAlternate;
@ -655,6 +713,7 @@ export default {
color: #160002; color: #160002;
line-height: 24px; line-height: 24px;
} }
.unit { .unit {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -664,14 +723,17 @@ export default {
margin-left: 2px; margin-left: 2px;
} }
} }
.addBox { .addBox {
width: calc(30% - 20px); width: calc(30% - 20px);
display: flex; display: flex;
align-items: center; align-items: center;
.addIcon { .addIcon {
width: 14px; width: 14px;
height: 14px; height: 14px;
} }
.add { .add {
font-size: 20px; font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate; font-family: DINAlternate-Bold, DINAlternate;
@ -682,12 +744,14 @@ export default {
} }
} }
} }
.listBigBox { .listBigBox {
width: 100%; width: 100%;
margin-top: 24rpx; margin-top: 24rpx;
box-sizing: border-box; box-sizing: border-box;
padding-bottom: 12px; padding-bottom: 12px;
.listItem { .listItem {
width: 100%; width: 100%;
padding: 24rpx; padding: 24rpx;
@ -696,6 +760,7 @@ export default {
background: #F7F7F7; background: #F7F7F7;
margin-bottom: 24rpx; margin-bottom: 24rpx;
display: flex; display: flex;
.itemLeft { .itemLeft {
width: 160rpx; width: 160rpx;
height: 160rpx; height: 160rpx;
@ -704,17 +769,21 @@ export default {
position: relative; position: relative;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
.bg { .bg {
position: absolute; position: absolute;
width: 160rpx; width: 160rpx;
height: 160rpx; height: 160rpx;
top: 0;left: 0; top: 0;
left: 0;
z-index: 1; z-index: 1;
} }
.statueBox { .statueBox {
position: absolute; position: absolute;
z-index: 2; z-index: 2;
top: 0;right: 0; top: 0;
right: 0;
width: 76rpx; width: 76rpx;
height: 32rpx; height: 32rpx;
font-size: 20rpx; font-size: 20rpx;
@ -726,6 +795,7 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
text-align: center; text-align: center;
} }
.nameBox { .nameBox {
position: absolute; position: absolute;
z-index: 2; z-index: 2;
@ -733,6 +803,7 @@ export default {
left: 20rpx; left: 20rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.serviceName { .serviceName {
font-size: 30rpx; font-size: 30rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -740,6 +811,7 @@ export default {
color: #7F020B; color: #7F020B;
line-height: 30rpx; line-height: 30rpx;
} }
.serviceLabel { .serviceLabel {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -749,23 +821,28 @@ export default {
} }
} }
} }
.contentRight { .contentRight {
width: calc(100% - 176rpx); width: calc(100% - 176rpx);
margin-left: 16rpx; margin-left: 16rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
.rightTop { .rightTop {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.rightTopLeft { .rightTopLeft {
display: flex; display: flex;
align-items: center; align-items: center;
.NoIcon { .NoIcon {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
} }
.otherIcon { .otherIcon {
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
@ -793,6 +870,7 @@ export default {
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
.areaName { .areaName {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -802,9 +880,11 @@ export default {
margin-left: 8rpx; margin-left: 8rpx;
} }
} }
.rightTopRight { .rightTopRight {
display: flex; display: flex;
align-items: center; align-items: center;
.valueItem { .valueItem {
width: 110rpx; width: 110rpx;
font-size: 28rpx; font-size: 28rpx;
@ -820,6 +900,7 @@ export default {
width: 14px; width: 14px;
height: 14px; height: 14px;
} }
.add { .add {
font-size: 20px; font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate; font-family: DINAlternate-Bold, DINAlternate;
@ -829,13 +910,15 @@ export default {
} }
} }
} }
.rightBottom { .rightBottom {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.distance { .distance {
display: inline-block; display: inline-block;
width: 94rpx; width: 120rpx;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -845,6 +928,7 @@ export default {
color: #786B6C; color: #786B6C;
line-height: 36rpx; line-height: 36rpx;
} }
.address { .address {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -857,20 +941,24 @@ export default {
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.goMap { .goMap {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 4rpx 16rpx; padding: 4rpx 8rpx;
background: #4e92f6; background: #4e92f6;
box-sizing: border-box; box-sizing: border-box;
border-radius: 8rpx; border-radius: 8rpx;
.mapIcon { .mapIcon {
width: 30rpx; width: 20rpx;
height: 30rpx; height: 20rpx;
margin-right: 8rpx; margin-right: 6rpx;
} }
.mapText { .mapText {
color: #fff; color: #fff;
font-size: 22rpx;
} }
} }
@ -878,6 +966,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
.itemLabel { .itemLabel {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -885,6 +974,7 @@ export default {
color: #9A9A9A; color: #9A9A9A;
line-height: 36rpx; line-height: 36rpx;
} }
.itemValue { .itemValue {
font-size: 28rpx; font-size: 28rpx;
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
@ -898,6 +988,7 @@ export default {
} }
} }
} }
//.listItem{ //.listItem{
// margin-bottom: 12px; // margin-bottom: 12px;
// border: 1px solid #D9DBE0; // border: 1px solid #D9DBE0;
@ -1162,5 +1253,4 @@ export default {
// color: gray; // color: gray;
// } // }
// } // }
//} //}</style>
</style>

View File

@ -16,7 +16,8 @@
<view class="content"> <view class="content">
<view class="uni-input">{{ res.ServerpartName ? res.ServerpartName : '' }}</view> <view class="uni-input">{{ res.ServerpartName ? res.ServerpartName : '' }}</view>
<p class="area">{{ res.SPRegionTypeName ? res.SPRegionTypeName : '' }}</p> <p class="area">{{ res.SPRegionTypeName ? res.SPRegionTypeName : '' }}</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>
@ -26,11 +27,17 @@
<view class="detailFixed" :style="{ top: menu.bottom + 12 + 'px' }" v-if="showDetailFixed"> <view class="detailFixed" :style="{ top: menu.bottom + 12 + 'px' }" v-if="showDetailFixed">
<view class="itemDetail"> <view class="itemDetail">
<text :class="res.RevenueINC.increaseRate>0?'value red':res.RevenueINC.increaseRate<0?'value green':''">{{ res.RevenueINC.increaseRate?res.RevenueINC.increaseRate>0?`+${res.RevenueINC.increaseRate}%`:res.RevenueINC.increaseRate<0?`${res.RevenueINC.increaseRate}%`:'0':'-' }}</text> <text
:class="res.RevenueINC.increaseRate > 0 ? 'value red' : res.RevenueINC.increaseRate < 0 ? 'value green' : ''">{{
res.RevenueINC.increaseRate ? res.RevenueINC.increaseRate > 0 ? `+${res.RevenueINC.increaseRate}%` :
res.RevenueINC.increaseRate < 0 ? `${res.RevenueINC.increaseRate}%` : '0' : '-' }}</text>
<text class="label">对客营收</text> <text class="label">对客营收</text>
</view> </view>
<view class="itemDetail"> <view class="itemDetail">
<text :class="res.BayonetINC.increaseRate>0?'value red':res.BayonetINC.increaseRate<0?'value green':''">{{ res.BayonetINC.increaseRate?res.BayonetINC.increaseRate>0?`+${res.BayonetINC.increaseRate}%`:res.BayonetINC.increaseRate<0?`${res.BayonetINC.increaseRate}%`:'0':'-' }}</text> <text
:class="res.BayonetINC.increaseRate > 0 ? 'value red' : res.BayonetINC.increaseRate < 0 ? 'value green' : ''">{{
res.BayonetINC.increaseRate ? res.BayonetINC.increaseRate > 0 ? `+${res.BayonetINC.increaseRate}%` :
res.BayonetINC.increaseRate < 0 ? `${res.BayonetINC.increaseRate}%` : '0' : '-' }}</text>
<text class="label">入区车流</text> <text class="label">入区车流</text>
</view> </view>
</view> </view>
@ -49,20 +56,25 @@
<view class="typeBoxContent"> <view class="typeBoxContent">
<view style="width: 40%;display: inline-block"> <view style="width: 40%;display: inline-block">
<view class="valueItem"> <view class="valueItem">
<text :class="res.RevenueINC.increaseRate>0?'valueAdd':res.RevenueINC.increaseRate<0?'valueGreen':''">{{ res.RevenueINC.increaseRate?res.RevenueINC.increaseRate>0?`+${res.RevenueINC.increaseRate}%`:res.RevenueINC.increaseRate<0?`${res.RevenueINC.increaseRate}%`:'0':'-' }}</text> <text
:class="res.RevenueINC.increaseRate > 0 ? 'valueAdd' : res.RevenueINC.increaseRate < 0 ? 'valueGreen' : ''">{{
res.RevenueINC.increaseRate ? res.RevenueINC.increaseRate > 0 ? `+${res.RevenueINC.increaseRate}%`
: res.RevenueINC.increaseRate < 0 ? `${res.RevenueINC.increaseRate}%` : '0' : '-' }}</text>
<text class="label">同比去年</text> <text class="label">同比去年</text>
</view> </view>
</view> </view>
<view style="width: 30%;display: inline-block"> <view style="width: 30%;display: inline-block">
<view class="valueItem"> <view class="valueItem">
<text class="value">{{res.RevenueINC && res.RevenueINC.curYearData?$util.getMoney(res.RevenueINC.curYearData/10000):'-'}}</text> <text class="value">{{ res.RevenueINC &&
<text class="label">2024</text> res.RevenueINC.curYearData ? $util.getMoney(res.RevenueINC.curYearData / 10000) : '-' }}</text>
<text class="label">{{ currentYear }}</text>
</view> </view>
</view> </view>
<view style="width: 30%;display: inline-block"> <view style="width: 30%;display: inline-block">
<view class="valueItem"> <view class="valueItem">
<text class="value">{{res.RevenueINC && res.RevenueINC.lYearData?$util.getMoney(res.RevenueINC.lYearData/10000):'-'}}</text> <text class="value">{{ res.RevenueINC &&
<text class="label">2023</text> res.RevenueINC.lYearData ? $util.getMoney(res.RevenueINC.lYearData / 10000) : '-' }}</text>
<text class="label">{{ currentYear - 1 }}</text>
</view> </view>
</view> </view>
</view> </view>
@ -84,20 +96,25 @@
<view class="typeBoxContent"> <view class="typeBoxContent">
<view style="width: 40%;display: inline-block"> <view style="width: 40%;display: inline-block">
<view class="valueItem"> <view class="valueItem">
<text :class="res.BayonetINC.increaseRate>0?'valueAdd':res.BayonetINC.increaseRate<0?'valueGreen':''">{{ res.BayonetINC.increaseRate?res.BayonetINC.increaseRate>0?`+${res.BayonetINC.increaseRate}%`:res.BayonetINC.increaseRate<0?`${res.BayonetINC.increaseRate}%`:'0':'-' }}</text> <text
:class="res.BayonetINC.increaseRate > 0 ? 'valueAdd' : res.BayonetINC.increaseRate < 0 ? 'valueGreen' : ''">{{
res.BayonetINC.increaseRate ? res.BayonetINC.increaseRate > 0 ? `+${res.BayonetINC.increaseRate}%`
: res.BayonetINC.increaseRate < 0 ? `${res.BayonetINC.increaseRate}%` : '0' : '-' }}</text>
<text class="label">同比去年</text> <text class="label">同比去年</text>
</view> </view>
</view> </view>
<view style="width: 30%;display: inline-block"> <view style="width: 30%;display: inline-block">
<view class="valueItem"> <view class="valueItem">
<text class="value">{{res.BayonetINC && res.BayonetINC.curYearData?$util.getMoney(res.BayonetINC.curYearData/10000):'-'}}</text> <text class="value">{{ res.BayonetINC &&
<text class="label">2024</text> res.BayonetINC.curYearData ? $util.getMoney(res.BayonetINC.curYearData / 10000) : '-' }}</text>
<text class="label">{{ currentYear }}</text>
</view> </view>
</view> </view>
<view style="width: 30%;display: inline-block"> <view style="width: 30%;display: inline-block">
<view class="valueItem"> <view class="valueItem">
<text class="value">{{res.BayonetINC && res.BayonetINC.lYearData?$util.getMoney(res.BayonetINC.lYearData/10000):'-'}}</text> <text class="value">{{ res.BayonetINC &&
<text class="label">2023</text> res.BayonetINC.lYearData ? $util.getMoney(res.BayonetINC.lYearData / 10000) : '-' }}</text>
<text class="label">{{ currentYear - 1 }}</text>
</view> </view>
</view> </view>
</view> </view>
@ -110,10 +127,21 @@
<view class="descBox"> <view class="descBox">
<text class="monthText"> <text class="monthText">
{{selectType===1?`${res.ServerpartName}${date || ''}度车流`:selectType===2?`${res.ServerpartName}${date || ''}车流`:selectType===3?`${res.ServerpartName}${date || ''}车流`:selectType===4?`${res.ServerpartName}${date || ''}车流`:''}} {{ selectType === 1 ? `${res.ServerpartName}${date || ''}度车流` : selectType === 2 ?
<text>{{res.BayonetINC.increaseRate>0?'增加':res.BayonetINC.increaseRate<0?'减少':''}}<text :style="{color:res.BayonetINC.increaseRate>0?'#E83944':res.BayonetINC.increaseRate<0?'#127E5B':''}">{{res.BayonetINC.increaseRate?`${Math.abs(res.BayonetINC.increaseRate)}%`:'-'}}</text></text> `${res.ServerpartName}${date ||
{{selectType===1?',对客营收':selectType===2?',门店的营收减少':selectType===3?',对客营收':selectType===4?',对客营收':''}} ''}车流` : selectType === 3 ? `${res.ServerpartName}${date || ''}车流` : selectType === 4 ?
<text v-if="selectType!==2">{{res.RevenueINC.increaseRate>0?'增加':res.RevenueINC.increaseRate<0?'减少':''}}<text :style="{color:res.RevenueINC.increaseRate>0?'#E83944':res.RevenueINC.increaseRate<0?'#127E5B':''}">{{res.RevenueINC.increaseRate?`${Math.abs(res.RevenueINC.increaseRate)}%`:'-'}}</text></text> `${res.ServerpartName}${date
|| ''}车流` : '' }}
<text>{{ res.BayonetINC.increaseRate > 0 ? '增加' : res.BayonetINC.increaseRate < 0 ? '减少' : '' }}<text
:style="{ color: res.BayonetINC.increaseRate > 0 ? '#E83944' : res.BayonetINC.increaseRate < 0 ? '#127E5B' : '' }">
{{ res.BayonetINC.increaseRate ? `${Math.abs(res.BayonetINC.increaseRate)}%` : '-' }}</text></text>
{{ selectType === 1 ? ',对客营收' : selectType === 2 ? ',门店的营收减少' : selectType === 3 ? ',对客营收' : selectType
=== 4 ? ',对客营收' : '' }}
<text v-if="selectType !== 2">{{ res.RevenueINC.increaseRate > 0 ? '增加' : res.RevenueINC.increaseRate
< 0 ? '减少' : '' }}<text
:style="{ color: res.RevenueINC.increaseRate > 0 ? '#E83944' : res.RevenueINC.increaseRate < 0 ? '#127E5B' : '' }">
{{ res.RevenueINC.increaseRate ? `${Math.abs(res.RevenueINC.increaseRate)}%` : '-' }}
</text></text>
</text> </text>
@ -129,9 +157,14 @@
<view class="other" v-if="ownerShop.ServerpartShopName"> <view class="other" v-if="ownerShop.ServerpartShopName">
<image class="notice" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/warningIcon.png" /> <image class="notice" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/warningIcon.png" />
同期商超营收增长 同期商超营收增长
<text :style="{color: ownerShop.RevenueINC.increaseRate>0?'#E83944':ownerShop.RevenueINC.increaseRate<0?'#127E5B':''}">{{`${ownerShop.RevenueINC.increaseRate?ownerShop.RevenueINC.increaseRate+'%':''}`}}</text> <text
:style="{ color: ownerShop.RevenueINC.increaseRate > 0 ? '#E83944' : ownerShop.RevenueINC.increaseRate < 0 ? '#127E5B' : '' }">{{
`${ownerShop.RevenueINC.increaseRate ? ownerShop.RevenueINC.increaseRate + '%' : ''}` }}</text>
</view>
<view class="monthText">
{{ selectType === 1 ? '请关注服务区整体营收呈现下降的情况!' : selectType === 2 ? '请关注服务区部分门店营收呈现下降的情况!' : selectType ===
3 ? '不匹配,请关注营收与车流增幅产生较大差异的服务区!' : selectType === 4 ? '不匹配,请关注营收与车流降幅产生较大差异的服务区!' : '' }}
</view> </view>
<view class="monthText">{{selectType===1?'请关注服务区整体营收呈现下降的情况!':selectType===2?'请关注服务区部分门店营收呈现下降的情况!':selectType===3?'不匹配,请关注营收与车流增幅产生较大差异的服务区!':selectType===4?'不匹配,请关注营收与车流降幅产生较大差异的服务区!':''}}</view>
</view> </view>
</view> </view>
</view> </view>
@ -150,19 +183,27 @@
</view> </view>
<view class="sortItem" style="width: 124rpx" @click="handleChangeSortName(1)"> <view class="sortItem" style="width: 124rpx" @click="handleChangeSortName(1)">
<view class="sort"> <view class="sort">
<view class="topName">2024</view> <view class="topName">{{ currentYear }}</view>
<view class="sortIconBox"> <view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===1?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> <image class="upIcon"
<image class="bottomIcon" :style="{transform: sortName===1?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> :style="{ transform: sortName === 1 ? sortType === 1 ? `` : `rotate(180deg)` : `` }"
:src="sortType === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg' : sortName === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
<image class="bottomIcon"
:style="{ transform: sortName === 1 ? sortType === 1 ? `` : `rotate(180deg)` : 'rotate(-180deg)' }"
:src="sortType === 1 && sortName === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
</view> </view>
</view> </view>
</view> </view>
<view class="sortItem" style="width: 124rpx" @click="handleChangeSortName(2)"> <view class="sortItem" style="width: 124rpx" @click="handleChangeSortName(2)">
<view class="sort"> <view class="sort">
<view class="topName">2023</view> <view class="topName">{{ currentYear - 1 }}</view>
<view class="sortIconBox"> <view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===2?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===2?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> <image class="upIcon"
<image class="bottomIcon" :style="{transform: sortName===2?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===2?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> :style="{ transform: sortName === 2 ? sortType === 1 ? `` : `rotate(180deg)` : `` }"
:src="sortType === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg' : sortName === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
<image class="bottomIcon"
:style="{ transform: sortName === 2 ? sortType === 1 ? `` : `rotate(180deg)` : 'rotate(-180deg)' }"
:src="sortType === 1 && sortName === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
</view> </view>
</view> </view>
</view> </view>
@ -170,8 +211,12 @@
<view class="sort"> <view class="sort">
<view class="topName">增长</view> <view class="topName">增长</view>
<view class="sortIconBox"> <view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===3?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===3?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> <image class="upIcon"
<image class="bottomIcon" :style="{transform: sortName===3?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===3?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> :style="{ transform: sortName === 3 ? sortType === 1 ? `` : `rotate(180deg)` : `` }"
:src="sortType === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg' : sortName === 3 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
<image class="bottomIcon"
:style="{ transform: sortName === 3 ? sortType === 1 ? `` : `rotate(180deg)` : 'rotate(-180deg)' }"
:src="sortType === 1 && sortName === 3 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
</view> </view>
</view> </view>
</view> </view>
@ -179,15 +224,20 @@
<view class="sort"> <view class="sort">
<view class="topName">增幅</view> <view class="topName">增幅</view>
<view class="sortIconBox"> <view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===4?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===4?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> <image class="upIcon"
<image class="bottomIcon" :style="{transform: sortName===4?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===4?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> :style="{ transform: sortName === 4 ? sortType === 1 ? `` : `rotate(180deg)` : `` }"
:src="sortType === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg' : sortName === 4 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
<image class="bottomIcon"
:style="{ transform: sortName === 4 ? sortType === 1 ? `` : `rotate(180deg)` : 'rotate(-180deg)' }"
:src="sortType === 1 && sortName === 4 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="listBox"> <view class="listBox">
<view class="listItem" v-for="(item,index) in dataList" :key="index" :style="{background: item.ServerpartShopName==='自营超市'?'#ececec':'#F8F8F8'}"> <view class="listItem" v-for="(item, index) in dataList" :key="index"
:style="{ background: item.ServerpartShopName === '自营超市' ? '#ececec' : '#F8F8F8' }">
<view class="listItemTop"> <view class="listItemTop">
<view class="listItemLeft"> <view class="listItemLeft">
<view class="logoBox"> <view class="logoBox">
@ -199,7 +249,8 @@
<text class="MERCHANTS_NAME" v-if="item.MERCHANTS_NAME">{{ item.MERCHANTS_NAME }}</text> <text class="MERCHANTS_NAME" v-if="item.MERCHANTS_NAME">{{ item.MERCHANTS_NAME }}</text>
</view> </view>
<view class="itemTypeBox"> <view class="itemTypeBox">
<text v-if="item.SettlementModes" class="mode" style="margin-right: 8rpx">{{ SETTLEMENT_MODESOBJ[item.SettlementModes] || '' }}</text> <text v-if="item.SettlementModes" class="mode" style="margin-right: 8rpx">{{
SETTLEMENT_MODESOBJ[item.SettlementModes] || '' }}</text>
<text v-if="item.BusinessType" class="type">{{ businessTypeObj[item.BusinessType] || '' }}</text> <text v-if="item.BusinessType" class="type">{{ businessTypeObj[item.BusinessType] || '' }}</text>
</view> </view>
</view> </view>
@ -211,13 +262,17 @@
<view class="listItemBottom" style="margin-bottom: 16rpx;margin-top: 24rpx"> <view class="listItemBottom" style="margin-bottom: 16rpx;margin-top: 24rpx">
<view class="bottomValue name" style="width: 56rpx">营收</view> <view class="bottomValue name" style="width: 56rpx">营收</view>
<view class="bottomValue value" style="width: 124rpx">{{item.RevenueINC && item.RevenueINC.curYearData?$util.getMoney(item.RevenueINC.curYearData/10000):'-'}}</view> <view class="bottomValue value" style="width: 124rpx">{{ item.RevenueINC &&
<view class="bottomValue value" style="width: 124rpx">{{item.RevenueINC && item.RevenueINC.lYearData?$util.getMoney(item.RevenueINC.lYearData/10000):'-'}}</view> item.RevenueINC.curYearData ? $util.getMoney(item.RevenueINC.curYearData / 10000) : '-' }}</view>
<view class="bottomValue value" style="width: 84rpx">{{item.RevenueINC && item.RevenueINC.increaseData?$util.getMoney(item.RevenueINC.increaseData/10000):'-'}}</view> <view class="bottomValue value" style="width: 124rpx">{{ item.RevenueINC &&
<view :class="item.RevenueINC.increaseRate<0?'bottomValue greenAdd':item.RevenueINC.increaseRate>0?'bottomValue add':''" style="width: 124rpx">{{item.RevenueINC.increaseRate? item.RevenueINC.lYearData ? $util.getMoney(item.RevenueINC.lYearData / 10000) : '-' }}</view>
<view class="bottomValue value" style="width: 84rpx">{{ item.RevenueINC &&
item.RevenueINC.increaseData ? $util.getMoney(item.RevenueINC.increaseData / 10000) : '-' }}</view>
<view
:class="item.RevenueINC.increaseRate < 0 ? 'bottomValue greenAdd' : item.RevenueINC.increaseRate > 0 ? 'bottomValue add' : ''"
style="width: 124rpx">{{ item.RevenueINC.increaseRate ?
item.RevenueINC.increaseRate > 0 ? `+${item.RevenueINC.increaseRate}%` : item.RevenueINC.increaseRate > 0 ? `+${item.RevenueINC.increaseRate}%` :
item.RevenueINC.increaseRate<0?`${item.RevenueINC.increaseRate}%` item.RevenueINC.increaseRate < 0 ? `${item.RevenueINC.increaseRate}%` : '' : '' }}</view>
:'':''}}</view>
</view> </view>
<!-- <view class="listItemBottom">--> <!-- <view class="listItemBottom">-->
<!-- <view class="bottomValue name" style="width: 56rpx">车流</view>--> <!-- <view class="bottomValue name" style="width: 56rpx">车流</view>-->
@ -258,6 +313,7 @@
otherList: [],// otherList: [],//
ownerShop: {},// ownerShop: {},//
showDetailFixed: false,// showDetailFixed: false,//
currentYear: 2025//
} }
}, },
onLoad(query) { onLoad(query) {
@ -269,6 +325,10 @@
if (query.obj) { if (query.obj) {
this.res = JSON.parse(query.obj) this.res = JSON.parse(query.obj)
} }
if (query.currentYear) {
this.currentYear = Number(query.currentYear)
}
console.log('this.resthis.res', this.res)
if (query.date) { if (query.date) {
this.date = query.date this.date = query.date
} }
@ -429,19 +489,23 @@
.scrollBox { .scrollBox {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
.earlyWarningDetail { .earlyWarningDetail {
width: 100%; width: 100%;
background: #F3F3F3; background: #F3F3F3;
.earlyTop { .earlyTop {
width: 100%; width: 100%;
//height: 616rpx; //height: 616rpx;
background: #F3F3F3; background: #F3F3F3;
position: relative; position: relative;
.earlyTopBg { .earlyTopBg {
width: 100%; width: 100%;
height: 430rpx; height: 430rpx;
background: linear-gradient(180deg, #D8E3FF 0%, #F3F3F3 100%); background: linear-gradient(180deg, #D8E3FF 0%, #F3F3F3 100%);
} }
.headerBox { .headerBox {
width: 100%; width: 100%;
position: fixed; position: fixed;
@ -453,24 +517,29 @@
//padding: 32rpx; //padding: 32rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.backIconBox { .backIconBox {
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
margin-right: 18rpx; margin-right: 18rpx;
.backIcon { .backIcon {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.picker { .picker {
.selectService { .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 {
height: 32px; height: 32px;
background: #F8F8FA; background: #F8F8FA;
@ -481,9 +550,11 @@
padding-right: 8rpx; padding-right: 8rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.content { .content {
display: flex; display: flex;
align-items: center; align-items: center;
.uni-input { .uni-input {
padding: 0; padding: 0;
background: transparent; background: transparent;
@ -492,6 +563,7 @@
font-weight: 600; font-weight: 600;
color: #160002; color: #160002;
} }
.area { .area {
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
@ -500,10 +572,12 @@
line-height: 40px; line-height: 40px;
margin-left: 4px; margin-left: 4px;
} }
.rightArrow { .rightArrow {
width: 12px; width: 12px;
height: 12px; height: 12px;
} }
.noticeText { .noticeText {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -518,6 +592,7 @@
} }
} }
} }
.detailFixed { .detailFixed {
width: 100%; width: 100%;
position: fixed; position: fixed;
@ -528,10 +603,12 @@
box-sizing: border-box; box-sizing: border-box;
padding: 32rpx; padding: 32rpx;
z-index: 20; z-index: 20;
.itemDetail { .itemDetail {
width: 50%; width: 50%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
//align-items: center; //align-items: center;
.value { .value {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
@ -541,12 +618,15 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.green { .green {
color: #127E5B; color: #127E5B;
} }
.red { .red {
color: #E83944; color: #E83944;
} }
.label { .label {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -558,6 +638,7 @@
} }
} }
} }
.revenueBox { .revenueBox {
position: absolute; position: absolute;
width: calc(100% - 48rpx); width: calc(100% - 48rpx);
@ -566,15 +647,18 @@
border-radius: 16rpx; border-radius: 16rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 2rpx; padding: 2rpx;
.box { .box {
width: 100%; width: 100%;
background: linear-gradient(180deg, #CDE1FF 0%, #FFFFFF 30%); background: linear-gradient(180deg, #CDE1FF 0%, #FFFFFF 30%);
border-radius: 14rpx; border-radius: 14rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx 22rpx; padding: 24rpx 22rpx;
.typeBox { .typeBox {
width: 100%; width: 100%;
position: relative; position: relative;
.bg { .bg {
width: 208rpx; width: 208rpx;
height: 208rpx; height: 208rpx;
@ -582,9 +666,11 @@
right: -22rpx; right: -22rpx;
top: 0; top: 0;
} }
.typeBoxTop { .typeBoxTop {
display: flex; display: flex;
align-items: center; align-items: center;
.monthText { .monthText {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -598,6 +684,7 @@
border-radius: 4rpx; border-radius: 4rpx;
margin-right: 6rpx; margin-right: 6rpx;
} }
.title { .title {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 600; font-weight: 600;
@ -607,6 +694,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.unit { .unit {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -618,14 +706,17 @@
margin-left: 4rpx; margin-left: 4rpx;
} }
} }
.typeBoxContent { .typeBoxContent {
display: flex; display: flex;
margin-top: 24rpx; margin-top: 24rpx;
.valueItem { .valueItem {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: flex-end; justify-content: flex-end;
.valueAdd { .valueAdd {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -635,6 +726,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.valueGreen { .valueGreen {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -644,6 +736,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.label { .label {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -653,6 +746,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.value { .value {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -664,8 +758,10 @@
} }
} }
} }
.addBox { .addBox {
margin-top: 16rpx; margin-top: 16rpx;
.label { .label {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -675,6 +771,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.addValue { .addValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -685,6 +782,7 @@
font-style: normal; font-style: normal;
margin-left: 8rpx; margin-left: 8rpx;
} }
.addGreenValue { .addGreenValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -696,11 +794,13 @@
margin-left: 8rpx; margin-left: 8rpx;
} }
} }
.handleGo { .handleGo {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
position: absolute; position: absolute;
right: 16rpx;top: 70%; right: 16rpx;
top: 70%;
} }
} }
@ -718,6 +818,7 @@
box-sizing: border-box; box-sizing: border-box;
padding: 16rpx; padding: 16rpx;
margin-top: 24rpx; margin-top: 24rpx;
.monthText { .monthText {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -726,6 +827,7 @@
margin-bottom: 8rpx; margin-bottom: 8rpx;
color: gray; color: gray;
} }
.other { .other {
display: flex; display: flex;
align-items: center; align-items: center;
@ -733,17 +835,20 @@
font-weight: 400; font-weight: 400;
font-size: 24rpx; font-size: 24rpx;
color: gray; color: gray;
.notice { .notice {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
margin: 0 8rpx; margin: 0 8rpx;
} }
} }
.descTitle { .descTitle {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 24rpx; font-size: 24rpx;
color: gray; color: gray;
.desc { .desc {
color: red; color: red;
} }
@ -760,14 +865,17 @@
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx 32rpx; padding: 24rpx 32rpx;
margin-top: 32rpx; margin-top: 32rpx;
.contentTop { .contentTop {
display: flex; display: flex;
align-items: center; align-items: center;
.topIcon { .topIcon {
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
margin-right: 12rpx; margin-right: 12rpx;
} }
.topTitle { .topTitle {
font-size: 32rpx; font-size: 32rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -782,12 +890,15 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 28rpx; margin-top: 28rpx;
.sortItem { .sortItem {
display: inline-block; display: inline-block;
.sort { .sort {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-start; justify-content: flex-start;
.topName { .topName {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -795,15 +906,18 @@
color: #9A9A9A; color: #9A9A9A;
line-height: 36rpx; line-height: 36rpx;
} }
.sortIconBox { .sortIconBox {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-left: 10rpx; margin-left: 10rpx;
.upIcon { .upIcon {
width: 16rpx; width: 16rpx;
height: 12rpx; height: 12rpx;
margin-bottom: 4rpx; margin-bottom: 4rpx;
} }
.bottomIcon { .bottomIcon {
width: 16rpx; width: 16rpx;
height: 12rpx; height: 12rpx;
@ -817,6 +931,7 @@
width: 100%; width: 100%;
height: calc(100% - 70px); height: calc(100% - 70px);
margin-top: 16rpx; margin-top: 16rpx;
.listItem { .listItem {
width: 100%; width: 100%;
background: #F8F8F8; background: #F8F8F8;
@ -824,20 +939,24 @@
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx; padding: 24rpx;
margin-bottom: 24rpx; margin-bottom: 24rpx;
.listItemTop { .listItemTop {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.listItemLeft { .listItemLeft {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
.logoBox { .logoBox {
width: 80rpx; width: 80rpx;
height: 80rpx; height: 80rpx;
border-radius: 16rpx; border-radius: 16rpx;
overflow: hidden; overflow: hidden;
margin-right: 16rpx; margin-right: 16rpx;
.logo { .logo {
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -847,6 +966,7 @@
.titleBox { .titleBox {
width: calc(100% - 96rpx); width: calc(100% - 96rpx);
flex: 1; flex: 1;
.itemTitle { .itemTitle {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -859,6 +979,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
} }
.MERCHANTS_NAME { .MERCHANTS_NAME {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -876,6 +997,7 @@
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
} }
.itemTypeBox { .itemTypeBox {
.mode { .mode {
display: inline-block; display: inline-block;
@ -890,6 +1012,7 @@
font-style: normal; font-style: normal;
padding: 2rpx 8rpx; padding: 2rpx 8rpx;
} }
.type { .type {
background: #E3EFFF; background: #E3EFFF;
border-radius: 4rpx; border-radius: 4rpx;
@ -905,6 +1028,7 @@
} }
} }
} }
.listItemRight { .listItemRight {
.warningIcon { .warningIcon {
width: 40rpx; width: 40rpx;
@ -917,8 +1041,9 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.bottomValue{
} .bottomValue {}
.name { .name {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -928,6 +1053,7 @@
margin-left: 4rpx; margin-left: 4rpx;
white-space: nowrap; white-space: nowrap;
} }
.value { .value {
font-size: 28rpx; font-size: 28rpx;
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
@ -935,6 +1061,7 @@
color: #160002; color: #160002;
line-height: 32rpx; line-height: 32rpx;
} }
.add { .add {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -944,6 +1071,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.greenAdd { .greenAdd {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;

View File

@ -12,7 +12,8 @@
<view class="timeIconBox"> <view class="timeIconBox">
<image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/merchantAccount/selectIcon.svg" /> <image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/merchantAccount/selectIcon.svg" />
</view> </view>
<text class="timeText" @click="handleShowPopup">{{`${startDate}${endDate===startDate?'':`-${endDate}`}`}}</text> <text class="timeText" @click="handleShowPopup">{{ `${startDate}${endDate === startDate ? '' :
`-${endDate}`}` }}</text>
<!-- <uni-datetime-picker v-model="datetimerange" type="daterange"/>--> <!-- <uni-datetime-picker v-model="datetimerange" type="daterange"/>-->
<!-- <picker class="timeSelect" mode="date" fields="month" :end="end" onChange="handleGetStartTime(e)">{{startDate}}</picker>--> <!-- <picker class="timeSelect" mode="date" fields="month" :end="end" onChange="handleGetStartTime(e)">{{startDate}}</picker>-->
<!-- <span class="timeSelect" style="margin: 0 4rpx">-</span>--> <!-- <span class="timeSelect" style="margin: 0 4rpx">-</span>-->
@ -52,7 +53,8 @@
<text class="value">{{ sumObj['车流增加,营收增长不匹配'] || 0 }}</text> <text class="value">{{ sumObj['车流增加,营收增长不匹配'] || 0 }}</text>
</view> </view>
<view :class="selectTab===4?'contentItem selectItem':'contentItem'" style="margin-bottom: 0" @click="handleChangeWarningTab(4)"> <view :class="selectTab === 4 ? 'contentItem selectItem' : 'contentItem'" style="margin-bottom: 0"
@click="handleChangeWarningTab(4)">
<view style="display: flex;align-items: center"> <view style="display: flex;align-items: center">
<image class="itemIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/dataIcon.png" /> <image class="itemIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/dataIcon.png" />
<text class="contentText">车流减少营收降低不匹配</text> <text class="contentText">车流减少营收降低不匹配</text>
@ -62,14 +64,16 @@
<view class="descBox"> <view class="descBox">
<view class="descTitle"> <view class="descTitle">
<text>预警说明</text><view class="desc"> <text>预警说明</text>
<view class="desc">
{{ '请重点关注带' }} {{ '请重点关注带' }}
<image class="notice" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/warningIcon.png" /> <image class="notice" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/warningIcon.png" />
{{ selectTab === 1 ? '标识的服务区,入区车流增加自营商超营收同步增长,服务区整体营收呈现下降的情况!' : {{ selectTab === 1 ? '标识的服务区,入区车流增加自营商超营收同步增长,服务区整体营收呈现下降的情况!' :
selectTab === 2 ? '标识的服务区,入区车流增加自营商超营收同步增长,服务区部分门店营收呈现下降的情况!' : selectTab === 2 ? '标识的服务区,入区车流增加自营商超营收同步增长,服务区部分门店营收呈现下降的情况!' :
selectTab === 3 ? '标识的服务区,营收与车流增幅产生较大差异的服务区!增幅差额=车流增幅-营收增幅,越大越不好,倒序排列' : selectTab === 3 ? '标识的服务区,营收与车流增幅产生较大差异的服务区!增幅差额=车流增幅-营收增幅,越大越不好,倒序排列' :
selectTab === 4 ? '标识的服务区,营收与车流降幅产生较大差异的服务区!增幅差额=销售增幅-车流降幅,越大越不好,倒序排列' : '' }} selectTab === 4 ? '标识的服务区,营收与车流降幅产生较大差异的服务区!增幅差额=销售增幅-车流降幅,越大越不好,倒序排列' : '' }}
</view></view> </view>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -156,15 +160,21 @@
<view class="sortItem" style="width: 25%;justify-content: flex-end" @click="handleChangeSortName(1)"> <view class="sortItem" style="width: 25%;justify-content: flex-end" @click="handleChangeSortName(1)">
<text class="sortName">对客营收</text> <text class="sortName">对客营收</text>
<view class="sortIconBox"> <view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===1?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> <image class="upIcon" :style="{ transform: sortName === 1 ? sortType === 1 ? `` : `rotate(180deg)` : `` }"
<image class="bottomIcon" :style="{transform: sortName===1?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> :src="sortType === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg' : sortName === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
<image class="bottomIcon"
:style="{ transform: sortName === 1 ? sortType === 1 ? `` : `rotate(180deg)` : 'rotate(-180deg)' }"
:src="sortType === 1 && sortName === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
</view> </view>
</view> </view>
<view class="sortItem" style="width: 25%;justify-content: flex-end" @click="handleChangeSortName(2)"> <view class="sortItem" style="width: 25%;justify-content: flex-end" @click="handleChangeSortName(2)">
<text class="sortName">入区车流</text> <text class="sortName">入区车流</text>
<view class="sortIconBox"> <view class="sortIconBox">
<image class="upIcon" :style="{transform: sortName===2?sortType===1?``:`rotate(180deg)`:``}" :src="sortType===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg':sortName===2?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> <image class="upIcon" :style="{ transform: sortName === 2 ? sortType === 1 ? `` : `rotate(180deg)` : `` }"
<image class="bottomIcon" :style="{transform: sortName===2?sortType===1?``:`rotate(180deg)`:'rotate(-180deg)'}":src="sortType===1 && sortName===2?'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'"/> :src="sortType === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg' : sortName === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
<image class="bottomIcon"
:style="{ transform: sortName === 2 ? sortType === 1 ? `` : `rotate(180deg)` : 'rotate(-180deg)' }"
:src="sortType === 1 && sortName === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/downDesc.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/upDesc.svg'" />
</view> </view>
</view> </view>
</view> </view>
@ -173,7 +183,8 @@
<view class="listItem" v-for="(item, index) in dataList" :key="index" @click="handleGoDetail(item)"> <view class="listItem" v-for="(item, index) in dataList" :key="index" @click="handleGoDetail(item)">
<view class="itemTop"> <view class="itemTop">
<view class="itemTopLeft"> <view class="itemTopLeft">
<image v-if="index<=2" class="topItemIcon" :src="index===0?'https://eshangtech.com/ShopICO/ahyd-BID/warning/sort1st.png':index===1?'https://eshangtech.com/ShopICO/ahyd-BID/warning/sort2st.png':index===2?'https://eshangtech.com/ShopICO/ahyd-BID/warning/sort3st.png':''"/> <image v-if="index <= 2" class="topItemIcon"
:src="index === 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/warning/sort1st.png' : index === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/warning/sort2st.png' : index === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/warning/sort3st.png' : ''" />
<view class="otherIcon" v-else>{{ index + 1 }}</view> <view class="otherIcon" v-else>{{ index + 1 }}</view>
<text class="name">{{ item.ServerpartName.split('服务区')[0] || '' }}</text> <text class="name">{{ item.ServerpartName.split('服务区')[0] || '' }}</text>
<text class="unit">/服务区</text> <text class="unit">/服务区</text>
@ -199,17 +210,29 @@
<text class="itemTopName">对客营收</text> <text class="itemTopName">对客营收</text>
<text class="itemTopUnit">/万元</text> <text class="itemTopUnit">/万元</text>
</view> </view>
<image v-if="false" class="addReduce" :src="Number(item.RevenueINC.increaseRate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/examine/add.svg':Number(item.RevenueINC.increaseRate)<0?'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg':''"/> <image v-if="false" class="addReduce"
:src="Number(item.RevenueINC.increaseRate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/examine/add.svg' : Number(item.RevenueINC.increaseRate) < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg' : ''" />
</view> </view>
<!-- <view :class="item.RevenueINC.curYearData<item.RevenueINC.lYearData?'itemGreenValue':'itemValue' ">{{ item.RevenueINC.curYearData?item.RevenueINC.curYearData>0?`+${$util.getMoney(item.RevenueINC.curYearData / 10000)}`:item.RevenueINC.curYearData<0?`${$util.getMoney(item.RevenueINC.curYearData / 10000)}`:'0':'-' }}</view>--> <!-- <view :class="item.RevenueINC.curYearData<item.RevenueINC.lYearData?'itemGreenValue':'itemValue' ">{{ item.RevenueINC.curYearData?item.RevenueINC.curYearData>0?`+${$util.getMoney(item.RevenueINC.curYearData / 10000)}`:item.RevenueINC.curYearData<0?`${$util.getMoney(item.RevenueINC.curYearData / 10000)}`:'0':'-' }}</view>-->
<view class="normalValue">{{ item.RevenueINC.curYearData?item.RevenueINC.curYearData>0?`+${$util.getMoney(item.RevenueINC.curYearData / 10000)}`:item.RevenueINC.curYearData<0?`${$util.getMoney(item.RevenueINC.curYearData / 10000)}`:'0':'-' }}</view> <view class="normalValue">{{
item.RevenueINC.curYearData ? item.RevenueINC.curYearData > 0 ?
`+${$util.getMoney(item.RevenueINC.curYearData
/ 10000)}` : item.RevenueINC.curYearData < 0 ? `${$util.getMoney(item.RevenueINC.curYearData /
10000)}` : '0':'-' }}</view>
<view class="addRate" style="display: flex;align-items: center;justify-content: space-between"> <view class="addRate" style="display: flex;align-items: center;justify-content: space-between">
<!-- 增长--> <!-- 增长-->
<!-- <text :class="item.RevenueINC.increaseData>0?'redValue':item.RevenueINC.increaseData<0?'greenValue':''" style="margin-right: 8rpx">{{item.RevenueINC.increaseData?item.RevenueINC.increaseData>0?`+${$util.getMoney(item.RevenueINC.increaseData / 10000)}`:item.RevenueINC.increaseData<0?`${$util.getMoney(item.RevenueINC.increaseData / 10000)}`:'0':'-' }}</text>--> <!-- <text :class="item.RevenueINC.increaseData>0?'redValue':item.RevenueINC.increaseData<0?'greenValue':''" style="margin-right: 8rpx">{{item.RevenueINC.increaseData?item.RevenueINC.increaseData>0?`+${$util.getMoney(item.RevenueINC.increaseData / 10000)}`:item.RevenueINC.increaseData<0?`${$util.getMoney(item.RevenueINC.increaseData / 10000)}`:'0':'-' }}</text>-->
<text class="normalValue" style="margin-right: 8rpx">{{item.RevenueINC.increaseData?item.RevenueINC.increaseData>0?`+${$util.getMoney(item.RevenueINC.increaseData / 10000)}`:item.RevenueINC.increaseData<0?`${$util.getMoney(item.RevenueINC.increaseData / 10000)}`:'0':'-' }}</text> <text class="normalValue" style="margin-right: 8rpx">{{ item.RevenueINC.increaseData ?
item.RevenueINC.increaseData > 0 ? `+${$util.getMoney(item.RevenueINC.increaseData
/ 10000)}` : item.RevenueINC.increaseData < 0 ? `${$util.getMoney(item.RevenueINC.increaseData /
10000)}`:'0':'-' }}</text>
<!-- 增幅--> <!-- 增幅-->
<text :class="item.RevenueINC.increaseRate>0?'redValue':item.RevenueINC.increaseRate<0?'greenValue':''">{{item.RevenueINC.increaseRate?item.RevenueINC.increaseRate>0?`+${item.RevenueINC.increaseRate}%`:item.RevenueINC.increaseRate<0?`${item.RevenueINC.increaseRate}%`:'0':'-' }}</text> <text
:class="item.RevenueINC.increaseRate > 0 ? 'redValue' : item.RevenueINC.increaseRate < 0 ? 'greenValue' : ''">{{
item.RevenueINC.increaseRate ? item.RevenueINC.increaseRate > 0 ?
`+${item.RevenueINC.increaseRate}%` : item.RevenueINC.increaseRate < 0 ?
`${item.RevenueINC.increaseRate}%` : '0' : '-' }}</text>
</view> </view>
</view> </view>
@ -222,17 +245,29 @@
<text class="itemTopName">入区车流</text> <text class="itemTopName">入区车流</text>
<text class="itemTopUnit">/万辆</text> <text class="itemTopUnit">/万辆</text>
</view> </view>
<image v-if="false" class="addReduce" :src="Number(item.BayonetINC.increaseRate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/examine/add.svg':Number(item.BayonetINC.increaseRate)<0?'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg':''"/> <image v-if="false" class="addReduce"
:src="Number(item.BayonetINC.increaseRate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/examine/add.svg' : Number(item.BayonetINC.increaseRate) < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg' : ''" />
</view> </view>
<!-- <view :class="item.BayonetINC.curYearData<item.BayonetINC.lYearData?'itemGreenValue':'itemValue' ">{{ item.BayonetINC.curYearData?item.BayonetINC.curYearData>0?`+${$util.getMoney(item.BayonetINC.curYearData / 10000)}`:item.BayonetINC.curYearData<0?`${$util.getMoney(item.BayonetINC.curYearData / 10000)}`:'0':'-' }}</view>--> <!-- <view :class="item.BayonetINC.curYearData<item.BayonetINC.lYearData?'itemGreenValue':'itemValue' ">{{ item.BayonetINC.curYearData?item.BayonetINC.curYearData>0?`+${$util.getMoney(item.BayonetINC.curYearData / 10000)}`:item.BayonetINC.curYearData<0?`${$util.getMoney(item.BayonetINC.curYearData / 10000)}`:'0':'-' }}</view>-->
<view class="normalValue">{{ item.BayonetINC.curYearData?item.BayonetINC.curYearData>0?`+${$util.getMoney(item.BayonetINC.curYearData / 10000)}`:item.BayonetINC.curYearData<0?`${$util.getMoney(item.BayonetINC.curYearData / 10000)}`:'0':'-' }}</view> <view class="normalValue">{{
item.BayonetINC.curYearData ? item.BayonetINC.curYearData > 0 ?
`+${$util.getMoney(item.BayonetINC.curYearData
/ 10000)}` : item.BayonetINC.curYearData < 0 ? `${$util.getMoney(item.BayonetINC.curYearData /
10000)}`:'0':'-' }}</view>
<view class="addRate" style="display: flex;align-items: center;justify-content: space-between"> <view class="addRate" style="display: flex;align-items: center;justify-content: space-between">
<!-- 增长--> <!-- 增长-->
<!-- <text :class="item.BayonetINC.increaseData>0?'redValue':item.BayonetINC.increaseData<0?'greenValue':''" style="margin-right: 8rpx">{{item.BayonetINC.increaseData?item.BayonetINC.increaseData>0?`+${$util.getMoney(item.BayonetINC.increaseData / 10000)}`:item.BayonetINC.increaseData<0?`${$util.getMoney(item.BayonetINC.increaseData / 10000)}`:'0':'-' }}</text>--> <!-- <text :class="item.BayonetINC.increaseData>0?'redValue':item.BayonetINC.increaseData<0?'greenValue':''" style="margin-right: 8rpx">{{item.BayonetINC.increaseData?item.BayonetINC.increaseData>0?`+${$util.getMoney(item.BayonetINC.increaseData / 10000)}`:item.BayonetINC.increaseData<0?`${$util.getMoney(item.BayonetINC.increaseData / 10000)}`:'0':'-' }}</text>-->
<text class="normalValue" style="margin-right: 8rpx">{{item.BayonetINC.increaseData?item.BayonetINC.increaseData>0?`+${$util.getMoney(item.BayonetINC.increaseData / 10000)}`:item.BayonetINC.increaseData<0?`${$util.getMoney(item.BayonetINC.increaseData / 10000)}`:'0':'-' }}</text> <text class="normalValue" style="margin-right: 8rpx">{{ item.BayonetINC.increaseData ?
item.BayonetINC.increaseData > 0 ? `+${$util.getMoney(item.BayonetINC.increaseData
/ 10000)}` : item.BayonetINC.increaseData < 0 ? `${$util.getMoney(item.BayonetINC.increaseData
/ 10000)}`:'0':'-' }}</text>
<!-- 增幅--> <!-- 增幅-->
<text :class="item.BayonetINC.increaseRate>0?'redValue':item.BayonetINC.increaseRate<0?'greenValue':''">{{item.BayonetINC.increaseRate?item.BayonetINC.increaseRate>0?`+${item.BayonetINC.increaseRate}%`:item.BayonetINC.increaseRate<0?`${item.BayonetINC.increaseRate}%`:'':'-' }}</text> <text
:class="item.BayonetINC.increaseRate > 0 ? 'redValue' : item.BayonetINC.increaseRate < 0 ? 'greenValue' : ''">{{
item.BayonetINC.increaseRate ? item.BayonetINC.increaseRate > 0 ?
`+${item.BayonetINC.increaseRate}%` : item.BayonetINC.increaseRate < 0 ?
`${item.BayonetINC.increaseRate}%` : '' : '-' }}</text>
</view> </view>
</view> </view>
</view> </view>
@ -245,39 +280,49 @@
<view class="uniPopup"> <view class="uniPopup">
<view class="uniPopupTop"> <view class="uniPopupTop">
<text class="uniPopupTitle">筛选</text> <text class="uniPopupTitle">筛选</text>
<image @click="hidePopup" class="close" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/close.svg"></image> <image @click="hidePopup" class="close" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/close.svg">
</image>
</view> </view>
<view class="filterBox"> <view class="filterBox">
<view class="filterTitle">统计时间</view> <view class="filterTitle">统计时间</view>
<view class="filterTimeBox"> <view class="filterTimeBox">
<picker class="timeSelect" mode="date" fields="month" :start="'2024-01-01'" :end="end" @change="handleGetStartTime">{{startDate}}</picker> <picker class="timeSelect" mode="date" fields="month" :start="'2024-01-01'" :end="end"
@change="handleGetStartTime">{{ startDate }}</picker>
<span class="timeSelect" style="margin: 0 4rpx">-</span> <span class="timeSelect" style="margin: 0 4rpx">-</span>
<picker class="timeSelect" mode="date" fields="month" :start="start" :end="end" @change="handleGetEndTime">{{endDate}}</picker> <picker class="timeSelect" mode="date" fields="month" :start="start" :end="end"
@change="handleGetEndTime">{{ endDate }}</picker>
</view> </view>
</view> </view>
<view class="filterBox" style="margin-top: 48rpx"> <view class="filterBox" style="margin-top: 48rpx">
<view class="filterTitle">经营模式</view> <view class="filterTitle">经营模式</view>
<view class="filterItemList"> <view class="filterItemList">
<view :class="statisticsType===1?'filterItem selectFilterItem':'filterItem'" @click="handleChangeStaticType(1)">便利店</view> <view :class="statisticsType === 1 ? 'filterItem selectFilterItem' : 'filterItem'"
<view :class="statisticsType===2?'filterItem selectFilterItem':'filterItem'" @click="handleChangeStaticType(2)">餐饮客房</view> @click="handleChangeStaticType(1)">便利店</view>
<view :class="statisticsType===3?'filterItem selectFilterItem':'filterItem'" @click="handleChangeStaticType(3)">商铺租赁</view> <view :class="statisticsType === 2 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeStaticType(2)">餐饮客房</view>
<view :class="statisticsType === 3 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeStaticType(3)">商铺租赁</view>
</view> </view>
</view> </view>
<view class="filterBox" style="margin-top: 48rpx"> <view class="filterBox" style="margin-top: 48rpx">
<view class="filterTitle">经营业态</view> <view class="filterTitle">经营业态</view>
<view class="filterItemList"> <view class="filterItemList">
<view :class="shopTrade===item.value?'filterItem selectFilterItem':'filterItem'" v-for="(item,index) in shopTradeList" :key="index" @click="handleChangeShopTrade(item.value)">{{item.label}}</view> <view :class="shopTrade === item.value ? 'filterItem selectFilterItem' : 'filterItem'"
v-for="(item, index) in shopTradeList" :key="index" @click="handleChangeShopTrade(item.value)">
{{ item.label }}</view>
</view> </view>
</view> </view>
<view class="filterBox" style="margin-top: 48rpx"> <view class="filterBox" style="margin-top: 48rpx">
<view class="filterTitle">排行类型</view> <view class="filterTitle">排行类型</view>
<view class="filterItemList"> <view class="filterItemList">
<view :class="sorterType===1?'filterItem selectFilterItem':'filterItem'" @click="handleChangeSorterType(1)">全局排行</view> <view :class="sorterType === 1 ? 'filterItem selectFilterItem' : 'filterItem'"
<view :class="sorterType===2?'filterItem selectFilterItem':'filterItem'" @click="handleChangeSorterType(2)">管理排行</view> @click="handleChangeSorterType(1)">全局排行</view>
<view :class="sorterType === 2 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeSorterType(2)">管理排行</view>
</view> </view>
</view> </view>
@ -449,8 +494,8 @@
// //
handleGoDetail(obj) { handleGoDetail(obj) {
let date = '' let date = ''
let currentYear = new Date(this.startDate.replace('/', '-')).getFullYear()
if (this.startDate === this.endDate) { if (this.startDate === this.endDate) {
console.log('this.startDate',this.startDate)
let month = new Date(this.startDate.replace('/', '-')).getMonth() + 1 let month = new Date(this.startDate.replace('/', '-')).getMonth() + 1
console.log('month', month) console.log('month', month)
date = `${month < 10 ? '0' + month : month}` date = `${month < 10 ? '0' + month : month}`
@ -458,7 +503,7 @@
date = `${moment(this.startDate.replace('/', '-')).format('YYYYMM')}-${moment(this.endDate.replace('/', '-')).format('YYYYMM')}` date = `${moment(this.startDate.replace('/', '-')).format('YYYYMM')}-${moment(this.endDate.replace('/', '-')).format('YYYYMM')}`
} }
this.$util.toNextRoute('navigateTo', `/pages/earlyWarning/detail?obj=${JSON.stringify(obj)}&date=${date}&type=${this.selectTab}`) this.$util.toNextRoute('navigateTo', `/pages/earlyWarning/detail?obj=${JSON.stringify(obj)}&date=${date}&type=${this.selectTab}&currentYear=${currentYear}`)
}, },
// //
handleBack() { handleBack() {
@ -608,16 +653,19 @@
.earlyWarningBox { .earlyWarningBox {
width: 100%; width: 100%;
background: #F3F3F3; background: #F3F3F3;
.earlyTop { .earlyTop {
width: 100%; width: 100%;
height: 780rpx; height: 780rpx;
background: #F3F3F3; background: #F3F3F3;
position: relative; position: relative;
.earlyTopBg { .earlyTopBg {
width: 100%; width: 100%;
height: 430rpx; height: 430rpx;
background: linear-gradient(180deg, #D8E3FF 0%, #F3F3F3 100%); background: linear-gradient(180deg, #D8E3FF 0%, #F3F3F3 100%);
} }
.headerBox { .headerBox {
width: 100%; width: 100%;
position: fixed; position: fixed;
@ -629,27 +677,33 @@
//padding: 32rpx; //padding: 32rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.backIconBox { .backIconBox {
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
margin-right: 18rpx; margin-right: 18rpx;
.backIcon { .backIcon {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.timeBox { .timeBox {
display: flex; display: flex;
align-items: center; align-items: center;
.timeIconBox { .timeIconBox {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
margin-right: 12rpx; margin-right: 12rpx;
.timeIcon { .timeIcon {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.timeText { .timeText {
font-family: AlimamaShuHeiTi, AlimamaShuHeiTi; font-family: AlimamaShuHeiTi, AlimamaShuHeiTi;
font-weight: bold; font-weight: bold;
@ -659,6 +713,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.timeSelect { .timeSelect {
font-family: AlimamaShuHeiTi, AlimamaShuHeiTi; font-family: AlimamaShuHeiTi, AlimamaShuHeiTi;
font-weight: bold; font-weight: bold;
@ -668,6 +723,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.downIcon { .downIcon {
width: 30rpx; width: 30rpx;
height: 24rpx; height: 24rpx;
@ -675,12 +731,14 @@
} }
} }
} }
.errorWarning { .errorWarning {
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 0 32rpx; padding: 0 32rpx;
position: absolute; position: absolute;
left: 0; left: 0;
.errorTitle { .errorTitle {
width: 100%; width: 100%;
height: 88rpx; height: 88rpx;
@ -691,11 +749,13 @@
align-items: center; align-items: center;
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx; padding: 24rpx;
.warningIcon { .warningIcon {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
margin-right: 8rpx; margin-right: 8rpx;
} }
.title { .title {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 600; font-weight: 600;
@ -706,6 +766,7 @@
font-style: normal; font-style: normal;
} }
} }
.errorContent { .errorContent {
width: 100%; width: 100%;
//height: 328rpx; //height: 328rpx;
@ -721,12 +782,14 @@
justify-content: space-between; justify-content: space-between;
padding: 12rpx 12rpx; padding: 12rpx 12rpx;
border-radius: 12rpx; border-radius: 12rpx;
//margin-bottom: 24rpx; //margin-bottom: 24rpx;
.itemIcon { .itemIcon {
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
margin-right: 8rpx; margin-right: 8rpx;
} }
.contentText { .contentText {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -736,6 +799,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.value { .value {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-size: 28rpx; font-size: 28rpx;
@ -745,9 +809,11 @@
font-style: normal; font-style: normal;
} }
} }
.selectItem { .selectItem {
background: #D9E9FF; background: #D9E9FF;
} }
.descBox { .descBox {
width: 100%; width: 100%;
background: #F8F8F8; background: #F8F8F8;
@ -755,15 +821,18 @@
box-sizing: border-box; box-sizing: border-box;
padding: 16rpx; padding: 16rpx;
margin-top: 24rpx; margin-top: 24rpx;
.descTitle { .descTitle {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 24rpx; font-size: 24rpx;
color: gray; color: gray;
.desc { .desc {
color: red; color: red;
display: inline; display: inline;
font-size: 24rpx; font-size: 24rpx;
.notice { .notice {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
@ -784,20 +853,25 @@
background: #fff; background: #fff;
box-sizing: border-box; box-sizing: border-box;
padding: 32rpx; padding: 32rpx;
.contentTitle { .contentTitle {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.contentTitleLeft { .contentTitleLeft {
display: flex; display: flex;
align-items: center; align-items: center;
.contentIcon { .contentIcon {
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
} }
.titleBox { .titleBox {
margin-left: 12rpx; margin-left: 12rpx;
.title { .title {
font-size: 32rpx; font-size: 32rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -805,6 +879,7 @@
color: #160002; color: #160002;
line-height: 44rpx; line-height: 44rpx;
} }
.desc { .desc {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -815,6 +890,7 @@
} }
} }
} }
.contentTitleRight { .contentTitleRight {
.fixedRight { .fixedRight {
width: 138rpx; width: 138rpx;
@ -832,11 +908,13 @@
line-height: 40rpx; line-height: 40rpx;
text-align: left; text-align: left;
font-style: normal; font-style: normal;
.filterIcon { .filterIcon {
width: 24rpx; width: 24rpx;
height: 28rpx; height: 28rpx;
margin-right: 4rpx; margin-right: 4rpx;
} }
.searchCountBox { .searchCountBox {
width: 28rpx; width: 28rpx;
height: 28rpx; height: 28rpx;
@ -858,18 +936,21 @@
} }
} }
.selectBox { .selectBox {
width: 100%; width: 100%;
height: 72rpx; height: 72rpx;
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 28rpx; margin-top: 28rpx;
.scrollBox { .scrollBox {
//width: calc(100% - 140rpx); //width: calc(100% - 140rpx);
width: 100%; width: 100%;
height: 72rpx; height: 72rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
//white-space: nowrap; //white-space: nowrap;
.scrollItem { .scrollItem {
background: #F5F5F5; background: #F5F5F5;
@ -878,11 +959,13 @@
padding: 16rpx; padding: 16rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.itemImg { .itemImg {
width: 48rpx; width: 48rpx;
height: 48rpx; height: 48rpx;
margin-right: 8rpx; margin-right: 8rpx;
} }
.text { .text {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -893,13 +976,16 @@
font-style: normal; font-style: normal;
} }
} }
.selectScroll { .selectScroll {
background: #ECF2FF !important; background: #ECF2FF !important;
.text { .text {
color: #2363FF !important; color: #2363FF !important;
} }
} }
} }
.fixedRight { .fixedRight {
width: 138rpx; width: 138rpx;
height: 72rpx; height: 72rpx;
@ -915,11 +1001,13 @@
line-height: 40rpx; line-height: 40rpx;
text-align: left; text-align: left;
font-style: normal; font-style: normal;
.filterIcon { .filterIcon {
width: 24rpx; width: 24rpx;
height: 28rpx; height: 28rpx;
margin-right: 4rpx; margin-right: 4rpx;
} }
.searchCountBox { .searchCountBox {
width: 28rpx; width: 28rpx;
height: 28rpx; height: 28rpx;
@ -939,16 +1027,19 @@
} }
} }
} }
.dataList { .dataList {
width: 100%; width: 100%;
background: #fff; background: #fff;
//height: calc(100% - 200rpx); //height: calc(100% - 200rpx);
margin-top: 24rpx; margin-top: 24rpx;
.listTitle { .listTitle {
display: flex; display: flex;
align-items: center; align-items: center;
border-bottom: 1px solid #F1F1F1; border-bottom: 1px solid #F1F1F1;
padding-bottom: 16rpx; padding-bottom: 16rpx;
.titleName { .titleName {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -956,9 +1047,11 @@
color: #9A9A9A; color: #9A9A9A;
line-height: 36rpx; line-height: 36rpx;
} }
.sortItem { .sortItem {
display: flex; display: flex;
align-items: center; align-items: center;
.sortName { .sortName {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -966,15 +1059,18 @@
color: #9A9A9A; color: #9A9A9A;
line-height: 36rpx; line-height: 36rpx;
} }
.sortIconBox { .sortIconBox {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-left: 16rpx; margin-left: 16rpx;
.upIcon { .upIcon {
width: 16rpx; width: 16rpx;
height: 12rpx; height: 12rpx;
margin-bottom: 4rpx; margin-bottom: 4rpx;
} }
.bottomIcon { .bottomIcon {
width: 16rpx; width: 16rpx;
height: 12rpx; height: 12rpx;
@ -982,24 +1078,30 @@
} }
} }
} }
.listContent { .listContent {
width: 100%; width: 100%;
height: calc(100% - 60rpx); height: calc(100% - 60rpx);
margin-top: 24rpx; margin-top: 24rpx;
.listItem { .listItem {
width: 100%; width: 100%;
margin-bottom: 40rpx; margin-bottom: 40rpx;
.itemTop { .itemTop {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.itemTopLeft { .itemTopLeft {
display: flex; display: flex;
align-items: center; align-items: center;
.topItemIcon { .topItemIcon {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
} }
.otherIcon { .otherIcon {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
@ -1018,6 +1120,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.name { .name {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -1025,6 +1128,7 @@
color: #160002; color: #160002;
line-height: 40rpx; line-height: 40rpx;
} }
.unit { .unit {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -1034,6 +1138,7 @@
margin-left: 4rpx; margin-left: 4rpx;
white-space: nowrap; white-space: nowrap;
} }
.message { .message {
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
@ -1045,15 +1150,18 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
.warningNotice { .warningNotice {
display: flex; display: flex;
align-items: center; align-items: center;
margin-right: 16rpx; margin-right: 16rpx;
.notice { .notice {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
margin-right: 8rpx; margin-right: 8rpx;
} }
.shopNumber { .shopNumber {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 600; font-weight: 600;
@ -1064,6 +1172,7 @@
font-style: normal; font-style: normal;
} }
} }
.moreIcon { .moreIcon {
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
@ -1077,6 +1186,7 @@
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-top: 16rpx; margin-top: 16rpx;
.secondItem { .secondItem {
width: calc((100% - 18rpx) / 2); width: calc((100% - 18rpx) / 2);
background: #F7F8FA; background: #F7F8FA;
@ -1084,6 +1194,7 @@
padding: 16rpx 24rpx; padding: 16rpx 24rpx;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
.bg { .bg {
position: absolute; position: absolute;
bottom: 0; bottom: 0;
@ -1091,16 +1202,19 @@
width: 120rpx; width: 120rpx;
height: 120rpx; height: 120rpx;
overflow: hidden; overflow: hidden;
.bg { .bg {
width: 144rpx; width: 144rpx;
height: 144rpx height: 144rpx
} }
} }
.secondItemTop { .secondItemTop {
margin-bottom: 4rpx; margin-bottom: 4rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.itemTopName { .itemTopName {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -1108,6 +1222,7 @@
color: #160002; color: #160002;
line-height: 40rpx; line-height: 40rpx;
} }
.itemTopUnit { .itemTopUnit {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
@ -1116,6 +1231,7 @@
line-height: 36rpx; line-height: 36rpx;
margin-left: 4rpx; margin-left: 4rpx;
} }
.addReduce { .addReduce {
width: 28rpx; width: 28rpx;
height: 28rpx; height: 28rpx;
@ -1123,6 +1239,7 @@
border-radius: 50%; border-radius: 50%;
} }
} }
.normalValue { .normalValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-size: 24rpx; font-size: 24rpx;
@ -1131,6 +1248,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.itemValue { .itemValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -1140,6 +1258,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.itemGreenValue { .itemGreenValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -1149,8 +1268,10 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.addRate { .addRate {
margin-top: 4rpx; margin-top: 4rpx;
.normalValue { .normalValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-size: 24rpx; font-size: 24rpx;
@ -1159,6 +1280,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.redValue { .redValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -1168,6 +1290,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.greenValue { .greenValue {
font-family: DINAlternate, DINAlternate; font-family: DINAlternate, DINAlternate;
font-weight: bold; font-weight: bold;
@ -1177,6 +1300,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.unit { .unit {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 400; font-weight: 400;
@ -1201,11 +1325,13 @@
height: 1050rpx; height: 1050rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 32rpx; padding: 32rpx;
.uniPopupTop { .uniPopupTop {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.uniPopupTitle { .uniPopupTitle {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 600; font-weight: 600;
@ -1215,6 +1341,7 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.close { .close {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
@ -1224,6 +1351,7 @@
.filterBox { .filterBox {
margin-top: 40rpx; margin-top: 40rpx;
.filterTitle { .filterTitle {
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
font-weight: 600; font-weight: 600;
@ -1233,10 +1361,12 @@
text-align: left; text-align: left;
font-style: normal; font-style: normal;
} }
.filterItemList { .filterItemList {
margin: 24rpx; margin: 24rpx;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
.filterItem { .filterItem {
width: calc((100% - 32rpx)/3); width: calc((100% - 32rpx)/3);
display: flex; display: flex;
@ -1255,19 +1385,23 @@
border-radius: 8rpx; border-radius: 8rpx;
padding: 12rpx 0; padding: 12rpx 0;
} }
.selectFilterItem { .selectFilterItem {
color: #2363FF; color: #2363FF;
background: #ECF2FF; background: #ECF2FF;
} }
.filterItem:nth-child(3) { .filterItem:nth-child(3) {
margin-right: 0; margin-right: 0;
} }
} }
.filterTimeBox { .filterTimeBox {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-top: 24rpx; margin-top: 24rpx;
.timeSelect { .timeSelect {
width: calc((100% - 20px)/2); width: calc((100% - 20px)/2);
} }

View File

@ -386,7 +386,8 @@
<view class="contentItem"> <view class="contentItem">
租金交付已完成 租金交付已完成
<text class="money">{{ item.rentDelivery ? item.rentDelivery > 100 ? 100 : item.rentDelivery + '%' : <text class="money">{{ item.rentDelivery ? item.rentDelivery > 100 ? 100 :
item.rentDelivery.toFixed(2) + '%' :
'-' '-'
}}</text> }}</text>
</view> </view>

View File

@ -642,7 +642,8 @@ export default {
bindDateChange(e) { // bindDateChange(e) { //
// let nowDate = this.theRequest.time // let nowDate = this.theRequest.time
let selectT = new Date(e.detail.value) let selectT = new Date(e.detail.value)
if (selectT <= new Date(this.lastDay)) {
// if (selectT <= new Date(this.lastDay)) {
this.theRequest.time = e.detail.value this.theRequest.time = e.detail.value
this.theRequest.month = this.$util.cutDate(e.detail.value, 'YYYYMM') this.theRequest.month = this.$util.cutDate(e.detail.value, 'YYYYMM')
this.sevenDate = [this.$util.cutDate(selectT, 'MM.DD', -13), this.sevenDate = [this.$util.cutDate(selectT, 'MM.DD', -13),
@ -660,7 +661,7 @@ export default {
uni.hideLoading() uni.hideLoading()
}) })
// $forceUpdate // $forceUpdate
} // }
}, },
toDetail(item, provinceId) { // provinceId toDetail(item, provinceId) { // provinceId

File diff suppressed because one or more lines are too long