Compare commits

..

No commits in common. "e56b53fb0c2cadd7c29512b74e76b5e9408e419f" and "39c03aba5a62136e51e22bb590b112b858f74506" have entirely different histories.

19 changed files with 5604 additions and 6022 deletions

View File

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

View File

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

View File

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

View File

@ -29,12 +29,9 @@
<text class="title">经营项目预警</text>
</view>
<view class="errorContent" >
<view v-for="(item, index) in topTabList" :key="index"
:class="selectTab === index + 1 ? 'errorItem selectErrorItem' : 'errorItem'"
@click="handleChangeTab(index + 1)">
<view v-for="(item,index) in topTabList" :key="index" :class="selectTab===index+1?'errorItem selectErrorItem':'errorItem'" @click="handleChangeTab(index+1)">
<view class="itemLeft">
<image class="itemLogo"
:src="'https://eshangtech.com/ShopICO/ahyd-BID/warning/error' + (index + 1) + 'st.png'" />
<image class="itemLogo" :src="'https://eshangtech.com/ShopICO/ahyd-BID/warning/error' + (index+1) + 'st.png'"/>
</view>
<view class="itemRight">
<text class="itemValue">{{item.value || '-'}}</text>
@ -223,21 +220,15 @@
<view class="sortItem" style="width: 25%;justify-content: flex-end" @click="handleChangeSortName(1)">
<text class="sortName">营收金额</text>
<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="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'" />
<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="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 class="sortItem" style="width: 25%;justify-content: flex-end" @click="handleChangeSortName(2)">
<text class="sortName">盈利金额</text>
<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="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'" />
<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="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>
@ -258,8 +249,7 @@
<view class="listItemRight">
<view class="rightTop">
<view class="rightTopLeft">
<image v-if="index <= 2" class="sortIcon"
: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="sortIcon" :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>
<text class="shopName">{{ item.SERVERPARTSHOP_NAME || '' }}</text>
</view>
@ -278,25 +268,17 @@
<view class="rightBottomMoney">
<view style="width: 50%">
<view class="moneyItem">
<text class="value">{{ item.REVENUE_AMOUNT ? $util.getMoney(item.REVENUE_AMOUNT / 10000) : '-'
}}</text>
<text class="value">{{item.REVENUE_AMOUNT?$util.getMoney(item.REVENUE_AMOUNT / 10000):'-'}}</text>
<text class="unit">营收 /万元</text>
</view>
</view>
<view style="width: 50%;position: relative" @click.stop="handleShowDetail(item)">
<view class="moneyItem">
<text class="value">{{ item.PROFIT_AMOUNT ? $util.getMoney(item.PROFIT_AMOUNT / 10000) : '-'
}}</text>
<text class="value">{{item.PROFIT_AMOUNT?$util.getMoney(item.PROFIT_AMOUNT / 10000):'-'}}</text>
<text class="unit">盈利 /万元</text>
</view>
<view class="moneyDetailFixed" v-if="item.showDetail" @click.stop="handleCloseDetail(item)">
{{ `营业金额(${item.REVENUE_AMOUNT ? $util.getMoney(item.REVENUE_AMOUNT / 10000) :
0}万元-甲方利润${item.ROYALTY_THEORY ? $util.getMoney(item.ROYALTY_THEORY / 10000) : 0}万元-
商家成本预估(20%营业额${item.LABOURS_COUNT ? `员工${item.LABOURS_COUNT ||
0}` : ''}${item.LABOURS_WAGE ? `月均${item.LABOURS_WAGE ||
0}/` : ''}${item.DEPRECIATION_EXPENSE ? `折旧费${item.DEPRECIATION_EXPENSE ||
0}万元/3` : ''}${item.OTHER_EXPENSE ? `其他运营成本${item.OTHER_EXPENSE ||
0}万元` : ''})${$util.getMoney(item.COST_AMOUNT / 10000) || 0}万元)` }}
{{`营业金额(${item.REVENUE_AMOUNT ? $util.getMoney(item.REVENUE_AMOUNT / 10000) : 0}万元)-甲方利润(${item.ROYALTY_THEORY ? $util.getMoney(item.ROYALTY_THEORY / 10000) : 0}万元)- 商家成本预估(20%营业额;${item.LABOURS_COUNT?`员工${item.LABOURS_COUNT || 0}人;`:''}${item.LABOURS_WAGE?`月均${item.LABOURS_WAGE || 0}元/人;`:''}${item.DEPRECIATION_EXPENSE?`折旧费${item.DEPRECIATION_EXPENSE || 0}万元/3年`:''}${item.OTHER_EXPENSE?`其他运营成本${item.OTHER_EXPENSE || 0}万元`:''})${$util.getMoney(item.COST_AMOUNT /10000) || 0}万元)`}}
</view>
</view>
</view>
@ -310,46 +292,35 @@
<view class="uniPopup">
<view class="uniPopupTop">
<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 class="filterBox">
<view class="filterTitle">统计时间</view>
<view class="filterTimeBox">
<picker class="timeSelect" mode="date" fields="month" :value="$moment(startDate).format('YYYY-MM')"
:start="'2024-01-01'" :end="end" @change="handleGetStartTime">{{ startDate }}</picker>
<picker class="timeSelect" mode="date" fields="month" :value="$moment(startDate).format('YYYY-MM')" :start="'2024-01-01'" :end="end" @change="handleGetStartTime">{{startDate}}</picker>
<span class="timeSelect" style="margin: 0 4rpx">-</span>
<picker class="timeSelect" mode="date" fields="month" :value="$moment(endDate).format('YYYY-MM')"
:start="start" :end="end" @change="handleGetEndTime">{{ endDate }}</picker>
<picker class="timeSelect" mode="date" fields="month" :value="$moment(endDate).format('YYYY-MM')" :start="start" :end="end" @change="handleGetEndTime">{{endDate}}</picker>
</view>
</view>
<view class="filterBox" style="margin-top: 48rpx">
<view class="filterTitle">经营状态</view>
<view class="filterItemList">
<view :class="businessStatus === 1000 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessStatus(1000)">运营中</view>
<view :class="businessStatus === 1010 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessStatus(1010)">待运营</view>
<view :class="businessStatus === 2000 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessStatus(2000)">暂停</view>
<view :class="businessStatus === 3000 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessStatus(3000)">关闭</view>
<view :class="businessStatus===1000?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessStatus(1000)">运营中</view>
<view :class="businessStatus===1010?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessStatus(1010)">待运营</view>
<view :class="businessStatus===2000?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessStatus(2000)">暂停</view>
<view :class="businessStatus===3000?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessStatus(3000)">关闭</view>
</view>
</view>
<view class="filterBox" style="margin-top: 48rpx">
<view class="filterTitle">经营模式</view>
<view class="filterItemList">
<view :class="businessType === 1000 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessType(1000)">合作经营</view>
<view :class="businessType === 2000 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessType(2000)">固定租金</view>
<view :class="businessType === 3000 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessType(3000)">保底采购</view>
<view :class="businessType === 4000 ? 'filterItem selectFilterItem' : 'filterItem'"
@click="handleChangeBusinessType(4000)">业主自营</view>
<view :class="businessType===1000?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessType(1000)">合作经营</view>
<view :class="businessType===2000?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessType(2000)">固定租金</view>
<view :class="businessType===3000?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessType(3000)">保底采购</view>
<view :class="businessType===4000?'filterItem selectFilterItem':'filterItem'" @click="handleChangeBusinessType(4000)">业主自营</view>
</view>
</view>
@ -631,18 +602,15 @@ export default {
<style scoped lang="scss">
.projectWarningBox{
background: #F3F3F3;
.earlyTop{
width: 100%;
background: #F3F3F3;
position: relative;
.earlyTopBg{
width: 100%;
height: 430rpx;
background: linear-gradient( 180deg, #D8E3FF 0%, #F3F3F3 100%);
}
.headerBox{
width: 100%;
position: fixed;
@ -654,33 +622,27 @@ export default {
//padding: 32rpx;
display: flex;
align-items: center;
.backIconBox{
width: 48rpx;
height: 48rpx;
margin-right: 18rpx;
.backIcon{
width: 100%;
height: 100%;
}
}
.timeBox{
display: flex;
align-items: center;
.timeIconBox{
width: 40rpx;
height: 40rpx;
margin-right: 12rpx;
.timeIcon{
width: 100%;
height: 100%;
}
}
.timeText{
font-family: AlimamaShuHeiTi, AlimamaShuHeiTi;
font-weight: bold;
@ -690,7 +652,6 @@ export default {
text-align: left;
font-style: normal;
}
.timeSelect{
font-family: AlimamaShuHeiTi, AlimamaShuHeiTi;
font-weight: bold;
@ -700,7 +661,6 @@ export default {
text-align: left;
font-style: normal;
}
.downIcon{
width: 30rpx;
height: 24rpx;
@ -708,14 +668,12 @@ export default {
}
}
}
.errorWarning{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
position: absolute;
left: 0;
.errorTitle{
width: 100%;
height: 88rpx;
@ -726,13 +684,11 @@ export default {
align-items: center;
box-sizing: border-box;
padding: 24rpx;
.warningIcon{
width: 40rpx;
height: 40rpx;
margin-right: 8rpx;
}
.title{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -743,7 +699,6 @@ export default {
font-style: normal;
}
}
.errorContent{
width: 100%;
background: #FFFFFF;
@ -754,7 +709,6 @@ export default {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.errorItem{
width: 50%;
display: flex;
@ -763,7 +717,6 @@ export default {
box-sizing: border-box;
padding: 12rpx;
border-radius: 16rpx;
.itemLeft{
width: 88rpx;
height: 88rpx;
@ -773,18 +726,15 @@ export default {
display: flex;
align-items: center;
justify-content: center;
.itemLogo{
width: 56rpx;
height: 56rpx;
}
}
.itemRight{
margin-left: 16rpx;
display: flex;
flex-direction: column;
.itemValue{
font-family: DINAlternate, DINAlternate;
font-weight: bold;
@ -794,7 +744,6 @@ export default {
text-align: left;
font-style: normal;
}
.itemLabel{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -806,25 +755,16 @@ export default {
}
}
}
.selectErrorItem{
background: #D9E9FF;
}
.messageBox{
margin-top: 16rpx;
background: #F8F8F8;
border-radius: 16rpx;
box-sizing: border-box;
padding: 16rpx;
width: 100%;
.messageIcon{
width: 48rpx;
height: 48rpx;
margin-right: 8rpx;
}
.messageType{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -839,7 +779,6 @@ export default {
margin-right: 16rpx;
white-space: nowrap;
}
.messageDesc{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -864,21 +803,17 @@ export default {
background: #fff;
box-sizing: border-box;
padding: 24rpx 32rpx;
.contentTitle{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.contentIcon{
width: 48rpx;
height: 48rpx;
}
.titleBox{
margin-left: 12rpx;
.title{
font-size: 32rpx;
font-family: PingFangSC, PingFang SC;
@ -886,7 +821,6 @@ export default {
color: #160002;
line-height: 44rpx;
}
.desc{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -913,13 +847,11 @@ export default {
line-height: 40rpx;
text-align: left;
font-style: normal;
.filterIcon{
width: 24rpx;
height: 28rpx;
margin-right: 4rpx;
}
.searchCountBox{
width: 28rpx;
height: 28rpx;
@ -939,16 +871,13 @@ export default {
}
}
}
.messageBox{
margin-top: 16rpx;
.messageIcon{
width: 48rpx;
height: 48rpx;
margin-right: 8rpx;
}
.messageType{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -963,7 +892,6 @@ export default {
margin-right: 16rpx;
white-space: nowrap;
}
.messageDesc{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -975,21 +903,18 @@ export default {
white-space: nowrap;
}
}
.selectBox{
width: 100%;
height: 72rpx;
display: flex;
align-items: center;
margin-top: 28rpx;
.scrollBox{
//width: calc(100% - 140rpx);
width: calc(100% - 32rpx);
height: 72rpx;
display: flex;
white-space: nowrap;
.scrollItem{
background: #F5F5F5;
border-radius: 8rpx;
@ -997,13 +922,11 @@ export default {
padding: 16rpx;
display: flex;
align-items: center;
.itemImg{
width: 48rpx;
height: 48rpx;
margin-right: 8rpx;
}
.text{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1014,16 +937,13 @@ export default {
font-style: normal;
}
}
.selectScroll{
background: #ECF2FF!important;
.text{
color: #2363FF!important;
}
}
}
.fixedRight{
width: 138rpx;
height: 72rpx;
@ -1039,13 +959,11 @@ export default {
line-height: 40rpx;
text-align: left;
font-style: normal;
.filterIcon{
width: 24rpx;
height: 28rpx;
margin-right: 4rpx;
}
.searchCountBox{
width: 28rpx;
height: 28rpx;
@ -1065,18 +983,15 @@ export default {
}
}
}
.dataList{
width: 100%;
//height: calc(100% - 200rpx);
margin-top: 24rpx;
.listTitle{
display: flex;
align-items: center;
border-bottom: 1px solid #F1F1F1;
padding-bottom: 16rpx;
.titleName{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1086,11 +1001,9 @@ export default {
text-align: left;
font-style: normal;
}
.sortItem{
display: flex;
align-items: center;
.sortName{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -1098,18 +1011,15 @@ export default {
color: #9A9A9A;
line-height: 36rpx;
}
.sortIconBox{
display: flex;
flex-direction: column;
margin-left: 16rpx;
.upIcon{
width: 16rpx;
height: 12rpx;
margin-bottom: 4rpx;
}
.bottomIcon{
width: 16rpx;
height: 12rpx;
@ -1117,12 +1027,10 @@ export default {
}
}
}
.listContent{
width: 100%;
height: calc(100% - 60rpx);
margin-top: 24rpx;
.listItem{
width: 100%;
margin-bottom: 24rpx;
@ -1134,7 +1042,6 @@ export default {
align-items: flex-start;
position: relative;
margin-bottom: 24rpx;
.bg{
width: 144rpx;
height: 144rpx;
@ -1142,7 +1049,6 @@ export default {
right: 0;
bottom: 0;
}
.listItemLeft{
.picBox{
width: 96rpx;
@ -1150,20 +1056,17 @@ export default {
border-radius: 16rpx;
margin-right: 16rpx;
overflow: hidden;
.shopLogo{
width: 96rpx;
height: 96rpx;
}
}
.stateBox{
margin-top: 40rpx;
display: flex;
align-items: center;
justify-content: center;
width: 96rpx;
.stateIcon{
width: 12rpx;
height: 12rpx;
@ -1171,7 +1074,6 @@ export default {
background: #ff4d4f;
margin-right: 12rpx;
}
.stateText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -1181,27 +1083,22 @@ export default {
}
}
}
.listItemRight{
width: calc(100% - 100rpx);
.rightTop{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
.rightTopLeft{
width: calc(100% - 32rpx);
display: flex;
align-items: center;
.sortIcon{
width: 40rpx;
height: 40rpx;
margin-right: 12rpx;
}
.otherIcon{
width: 40rpx;
height: 40rpx;
@ -1221,7 +1118,6 @@ export default {
font-style: normal;
margin-right: 12rpx;
}
.shopName{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
@ -1235,7 +1131,6 @@ export default {
overflow: hidden;
}
}
.rightTopRight{
.moreIcon{
width: 32rpx;
@ -1243,13 +1138,11 @@ export default {
}
}
}
.MERCHANTS_NAMEBox{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.MERCHANTS_NAME{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1267,7 +1160,6 @@ export default {
text-overflow: ellipsis;
overflow: hidden;
}
.type{
max-width: 25%;
font-family: PingFangSC, PingFang SC;
@ -1286,7 +1178,6 @@ export default {
.rightBottom{
margin-top: 12rpx;
.type{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1300,7 +1191,6 @@ export default {
background: #E3EFFF;
border-radius: 4rpx;
}
.endTime{
background: #FFEFEA;
border-radius: 4rpx;
@ -1314,16 +1204,13 @@ export default {
font-style: normal;
}
}
.rightBottomMoney{
display: flex;
align-items: center;
margin-top: 32rpx;
.moneyItem{
display: flex;
flex-direction: column;
.value{
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
@ -1332,7 +1219,6 @@ export default {
line-height: 32rpx;
margin-top: 8rpx;
}
.unit{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -1341,15 +1227,13 @@ export default {
line-height: 36rpx;
}
}
.moneyDetailFixed{
position: absolute;
display: inline-block;
background: #fff;
padding: 12rpx;
border-radius: 12rpx;
bottom: 40rpx;
right: 10%;
bottom: 40rpx;right: 10%;
width: 80vw;
box-shadow: 0rpx 2rpx 8rpx 0rpx rgba(231, 231, 231, 0.67);
}
@ -1365,13 +1249,11 @@ export default {
height: 976rpx;
box-sizing: border-box;
padding: 32rpx;
.uniPopupTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.uniPopupTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -1381,7 +1263,6 @@ export default {
text-align: left;
font-style: normal;
}
.close{
width: 40rpx;
height: 40rpx;
@ -1390,7 +1271,6 @@ export default {
.filterBox{
margin-top: 40rpx;
.filterTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -1400,12 +1280,10 @@ export default {
text-align: left;
font-style: normal;
}
.filterItemList{
margin: 24rpx;
display: flex;
flex-wrap: wrap;
.filterItem{
width: calc((100% - 32rpx)/3);
display: flex;
@ -1424,23 +1302,19 @@ export default {
border-radius: 8rpx;
padding: 12rpx 0;
}
.filterItem:nth-child(3){
margin-right: 0;
}
.selectFilterItem{
color: #2363FF;
background: #ECF2FF;
}
}
.filterTimeBox{
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 24rpx;
.timeSelect{
width: calc((100% - 20px)/2);
}

View File

@ -3,12 +3,10 @@
<view class="meng" v-if="showNotice || showQuestion" @click="handleCloseNotice"></view>
<view class="earlyTop"
:style="{ height: detail.BUSINESS_ENDDATE ? `calc(${menu.bottom}px + 570rpx)` : `calc(${menu.bottom}px + 490rpx)` }">
<view class="earlyTop" :style="{height: detail.BUSINESS_ENDDATE?`calc(${menu.bottom}px + 570rpx)`:`calc(${menu.bottom}px + 490rpx)`}">
<view class="earlyTopBg"></view>
<view class="headerBox" :style="{paddingTop: menu.top + 'px',height:menu.bottom + 4 +'px'}">
<view
:style="{ height: menu.height + 'px', display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '0 32rpx', width: '100%' }">
<view :style="{height:menu.height +'px',display: 'flex',alignItems: 'center',justifyContent:'space-between',padding:'0 32rpx',width:'100%'}">
<view class="backIconBox" @click="handleBack">
<image class="backIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"/>
</view>
@ -45,15 +43,13 @@
<view class="moneyBox">
<view style="width: 50%;display: inline-block">
<view class="moneyItem">
<text class="value">{{ detail.REVENUE_AMOUNT ? $util.getMoney(detail.REVENUE_AMOUNT / 10000) : '-'
}}</text>
<text class="value">{{detail.REVENUE_AMOUNT?$util.getMoney(detail.REVENUE_AMOUNT / 10000):'-'}}</text>
<text class="unit">营收 /万元</text>
</view>
</view>
<view style="width: 50%;display: inline-block">
<view class="moneyItem">
<text class="value">{{ detail.PROFIT_AMOUNT ? $util.getMoney(detail.PROFIT_AMOUNT / 10000) : '-'
}}</text>
<text class="value">{{detail.PROFIT_AMOUNT?$util.getMoney(detail.PROFIT_AMOUNT / 10000):'-'}}</text>
<text class="unit">盈利 /万元</text>
</view>
</view>
@ -69,8 +65,7 @@
</view>
<view class="line" v-if="detail.BUSINESS_ENDDATE"></view>
<view v-if="detail.BUSINESS_ENDDATE"
style="padding: 16rpx 0 24rpx 0;display: flex;align-items: center;justify-content: space-between">
<view v-if="detail.BUSINESS_ENDDATE" style="padding: 16rpx 0 24rpx 0;display: flex;align-items: center;justify-content: space-between">
<text class="overTime" >{{ `门店关闭:${detail.BUSINESS_ENDDATE}` }}</text>
<text class="type" style="margin-left: 12rpx">{{ `项目到期:${detail.ENDDATE}结束` }}</text>
</view>
@ -84,13 +79,11 @@
<view class="contentBox">
<view class="tabBox">
<view :class="selectTab===1?'tabItem selectItemLeft':'tabItem'" @click="handleChangeTab(1)">
<image class="tabItemIcon"
:src="selectTab === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab1Select.png' : 'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab1NOSelect.png'" />
<image class="tabItemIcon" :src="selectTab===1?'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab1Select.png':'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab1NOSelect.png'"/>
<text class="tabText">综合分析</text>
</view>
<view :class="selectTab===2?'tabItem selectItemRight':'tabItem'" @click="handleChangeTab(2)">
<image class="tabItemIcon"
:src="selectTab === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab2Select.png' : 'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab2NoSelect.png'" />
<image class="tabItemIcon" :src="selectTab===2?'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab2Select.png':'https://eshangtech.com/ShopICO/ahyd-BID/warning/tab2NoSelect.png'"/>
<text class="tabText">经营情况</text>
</view>
</view>
@ -99,19 +92,19 @@
<image class="descIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/warningLight.png"/>
<view class="desc">
<text class="descText">
{{ firstTabDetail.Profit / 10000 < 0 ? '商家存在' : firstTabDetail.Profit / 10000 <= 10 &&
firstTabDetail.Profit / 10000 > 0 ? '商家存在' :
{{firstTabDetail.Profit / 10000< 0 ?'商家存在':
firstTabDetail.Profit / 10000 <= 10 && firstTabDetail.Profit / 10000 > 0?'商家存在':
firstTabDetail.Profit / 10000 > 10 && firstTabDetail.Profit / 10000 < 100?'商家经营状态':
firstTabDetail.Profit / 10000 >= 100?'商家存在':''
}}
<text class="big">{{
firstTabDetail.Profit / 10000 < 0 ? '退场风险' : firstTabDetail.Profit / 10000 <= 10 &&
firstTabDetail.Profit / 10000 > 0 ? '较大经营风险' :
firstTabDetail.Profit / 10000< 0 ?'退场风险':
firstTabDetail.Profit / 10000 <= 10 && firstTabDetail.Profit / 10000 > 0?'较大经营风险':
firstTabDetail.Profit / 10000 > 10 && firstTabDetail.Profit / 10000 < 100?'良好':
firstTabDetail.Profit / 10000 >= 100?'较大的盈利优势':''
}}</text>{{
firstTabDetail.Profit / 10000 < 0 ? ',请密切关注此项目经营状态!' : firstTabDetail.Profit / 10000 <= 10 &&
firstTabDetail.Profit / 10000 > 0 ? ',请关注此项目经营状态!' :
firstTabDetail.Profit / 10000< 0 ?',请密切关注此项目经营状态!':
firstTabDetail.Profit / 10000 <= 10 && firstTabDetail.Profit / 10000 > 0?',请关注此项目经营状态!':
firstTabDetail.Profit / 10000 > 10 && firstTabDetail.Profit / 10000 < 100?',能较好的进行持续经营!':
firstTabDetail.Profit / 10000 >= 100?',建议后期项目调整保底提成!':''
}}
@ -138,27 +131,21 @@
<view class="contentItem" style="display: flex;align-items: center">
年度统计周期内
<image class="date" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/dateIcon.png"/>
<text class="time">{{ `${firstTabDetail.STATISTICS_STARTDATE}-${firstTabDetail.STATISTICS_ENDDATE}`
}}</text>
<text class="time">{{`${firstTabDetail.STATISTICS_STARTDATE}-${firstTabDetail.STATISTICS_ENDDATE}`}}</text>
</view>
<view class="contentItem">
对客营收
<text class="money">{{ firstTabDetail.PROJECT_REVENUE ? $util.getMoney(firstTabDetail.PROJECT_REVENUE
/
10000) : '-' }}</text>
<text class="money">{{ firstTabDetail.PROJECT_REVENUE?$util.getMoney(firstTabDetail.PROJECT_REVENUE / 10000):'-'}}</text>
<text class="unit">/万元</text>
商家入账
<text class="money">{{
firstTabDetail.SUBROYALTY_AMOUNT ? $util.getMoney(firstTabDetail.SUBROYALTY_AMOUNT /
10000) : '-' }}</text>
<text class="money">{{ firstTabDetail.SUBROYALTY_AMOUNT?$util.getMoney(firstTabDetail.SUBROYALTY_AMOUNT / 10000):'-'}}</text>
<text class="unit">/万元</text>
</view>
<view class="contentItem">
按合同约定支付驿达租金
<text class="money">{{ firstTabDetail.ROYALTY_THEORY ? $util.getMoney(firstTabDetail.ROYALTY_THEORY /
10000) : '-' }}</text>
<text class="money">{{ firstTabDetail.ROYALTY_THEORY?$util.getMoney(firstTabDetail.ROYALTY_THEORY / 10000):'-'}}</text>
<text class="unit">/万元</text>
</view>
@ -169,58 +156,36 @@
<!-- </view>-->
<view class="contentItem">
按对客销售的<text style="color: #FE7628;margin: 0 8rpx">{{ detail.COST_RATE ? `${detail.COST_RATE}%` : '-'
}}</text>成本预估经营成本需
<text class="money">{{ firstTabDetail.PROJECT_REVENUE ? $util.getMoney(firstTabDetail.PROJECT_REVENUE
* (detail.COST_RATE ? detail.COST_RATE / 100 : 0) / 10000) : '' }}</text><text
class="unit">/</text>
按对客销售的<text style="color: #FE7628;margin: 0 8rpx">{{ detail.COST_RATE ? `${detail.COST_RATE}%` : '-' }}</text>成本预估经营成本需
<text class="money">{{ firstTabDetail.PROJECT_REVENUE ? $util.getMoney(firstTabDetail.PROJECT_REVENUE * (detail.COST_RATE ? detail.COST_RATE / 100 : 0) / 10000) : '' }}</text><text class="unit">/万元</text>
</view>
<view class="contentItem" v-if="firstTabDetail.PROJECT_REVENUE">
人工成本<text style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_COUNT || '' }}</text>个人平均工资<text
style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_WAGE || '' }}</text>/实际发生
<text style="color: #FE7628;margin: 0 8rpx">{{ detail.MONTH_COUNT || '' }}</text>个月合计人工成本<text
class="money">{{ $util.getMoney((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) /
10000) }}</text>万元
人工成本<text style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_COUNT || '' }}</text>个人平均工资<text style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_WAGE || '' }}</text>/实际发生
<text style="color: #FE7628;margin: 0 8rpx">{{ detail.MONTH_COUNT || '' }}</text>个月合计人工成本<text class="money">{{$util.getMoney((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) / 10000)}}</text>万元
</view>
<view class="contentItem" v-if="firstTabDetail.PROJECT_REVENUE">
折旧费用按总投入<text style="color: #FE7628;margin: 0 8rpx">{{ detail.DEPRECIATION_EXPENSE ||
'' }}</text>万元<text style="color: #FE7628;margin: 0 8rpx">{{ detail.DEPRECIATION_YEAR || ''
}}</text>
年折旧实际发生<text style="color: #FE7628;margin: 0 8rpx">{{ detail.MONTH_COUNT || '' }}</text>合计折旧费用<text
class="money">{{ $util.getMoney((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) *
detail.MONTH_COUNT) }}</text>万元
折旧费用按总投入<text style="color: #FE7628;margin: 0 8rpx">{{detail.DEPRECIATION_EXPENSE || ''}}</text>万元<text style="color: #FE7628;margin: 0 8rpx">{{detail.DEPRECIATION_YEAR || ''}}</text>
年折旧实际发生<text style="color: #FE7628;margin: 0 8rpx">{{detail.MONTH_COUNT || ''}}</text>合计折旧费用<text class="money">{{$util.getMoney((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT)}}</text>万元
</view>
<view class="contentItem" v-if="firstTabDetail.PROJECT_REVENUE">
其他经营费用按每年综合经营费用<text class="money">{{detail.OTHER_EXPENSE || ''}}</text>万元预估
</view>
<view class="contentItem" v-if="firstTabDetail.PROJECT_REVENUE">
<text class="unit">实际商家经营成本 = 经营成本 + 人工成本 + 折旧费用 + 其他经营费用 = </text><text class="money">
{{ $util.getMoney((firstTabDetail.PROJECT_REVENUE * (detail.COST_RATE ? detail.COST_RATE / 100 : 0)
/ 10000) + ((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) / 10000) +
((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT) +
detail.OTHER_EXPENSE) }}
{{$util.getMoney( (firstTabDetail.PROJECT_REVENUE * (detail.COST_RATE ? detail.COST_RATE / 100 : 0) / 10000) + ((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) / 10000) + ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT) + detail.OTHER_EXPENSE )}}
</text>万元
</view>
<view class="contentItem">
商家<text style="color: #FE7628;margin: 0 8rpx">{{ firstTabDetail.SUBROYALTY_AMOUNT - (
(firstTabDetail.PROJECT_REVENUE * (detail.COST_RATE ? detail.COST_RATE / 100 : 0)) +
((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT)) + ((detail.DEPRECIATION_EXPENSE
/ detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT) + detail.OTHER_EXPENSE) < 0 ? '预计预亏' : '预计盈利'
}}</text>
商家<text style="color: #FE7628;margin: 0 8rpx">{{ firstTabDetail.SUBROYALTY_AMOUNT - ( (firstTabDetail.PROJECT_REVENUE * (detail.COST_RATE ? detail.COST_RATE / 100 : 0) ) + ((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT)) + ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT) + detail.OTHER_EXPENSE )<0?'预计预亏':'预计盈利' }}</text>
<text class="money">{{ firstTabDetail.SUBROYALTY_AMOUNT?
$util.getMoney(Math.abs(
((firstTabDetail.SUBROYALTY_AMOUNT - ((firstTabDetail.PROJECT_REVENUE * (detail.COST_RATE ?
detail.COST_RATE / 100 : 0)) + (detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT)
+ ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT * 10000) +
(detail.OTHER_EXPENSE * 10000)))) / 10000)
((firstTabDetail.SUBROYALTY_AMOUNT - ( (firstTabDetail.PROJECT_REVENUE * (detail.COST_RATE ? detail.COST_RATE / 100 : 0)) + (detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) + ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT * 10000) + (detail.OTHER_EXPENSE * 10000) ) )) / 10000)
):'-'}}</text><text class="unit">/万元</text>
</view>
<view class="contentItem" style="margin-bottom: 8rpx">
<text class="yellowBgText">{{
`${BusinessTradeIdsObj[firstTabDetail.BUSINESS_TRADE]}/${BusinessTradeIdsBigObj[firstTabDetail.BUSINESS_PTRADE]}`
}}</text>
<text class="yellowBgText">{{`${BusinessTradeIdsObj[firstTabDetail.BUSINESS_TRADE]}/${BusinessTradeIdsBigObj[firstTabDetail.BUSINESS_PTRADE]}`}}</text>
<!-- 地方特色小吃/休闲小吃-->
<text class="yellowBgText">{{ firstTabDetail.SHOPSHORTNAME || '' }}</text>
</view>
@ -228,8 +193,8 @@
<view class="contentItem" style="display: flex;align-items: center;flex-wrap: wrap;margin-bottom: 0">
{{ firstTabDetail.ACCOUNT_RATE>=80?'优于':
firstTabDetail.ACCOUNT_RATE< 80 && firstTabDetail.ACCOUNT_RATE>= 50?'优于':
firstTabDetail.ACCOUNT_RATE < 50 ? '租赁收入低于' : '' }}<text style="color: #FE7628;margin: 0 8rpx">{{
firstTabDetail.ACCOUNT_RATE ? `${firstTabDetail.ACCOUNT_RATE}%` : '' }}</text>
firstTabDetail.ACCOUNT_RATE< 50?'租赁收入低于':''
}}<text style="color: #FE7628;margin: 0 8rpx">{{ firstTabDetail.ACCOUNT_RATE?`${firstTabDetail.ACCOUNT_RATE}%`:'' }}</text>
的经营业态项目
<view style="display: flex;align-items: center;vertical-align: top;margin-left: 8rpx">
<image class="stateIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/Like.png"/>
@ -237,10 +202,10 @@
<text class="stateText">{{
firstTabDetail.ACCOUNT_RATE>=80?'优秀':
firstTabDetail.ACCOUNT_RATE<80 && firstTabDetail.ACCOUNT_RATE>= 50?'良好':
firstTabDetail.ACCOUNT_RATE < 50 ? '请关注此项目经营状况!' : '' }}</text>
firstTabDetail.ACCOUNT_RATE< 50?'请关注此项目经营状况!':''
}}</text>
<view class="questionBox">
<image class="questionIcon" @click="handleShowQuestion"
src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/noticeIcon.svg" />
<image class="questionIcon" @click="handleShowQuestion" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/noticeIcon.svg"/>
<view class="questionContent" @click="handleCloseNotice" v-if="showQuestion">
<view>{{ `>=${80} %,优秀` }}</view>
<view>{{ `<= ${80} % 且 >= ${50} %,良好` }}</view>
@ -265,12 +230,10 @@
<text class="unit">/{{ firstTabDetail.TRADE_COUNT_TYPE }}</text>
</view>
<view class="contentTitle"
style="padding-left: 14rpx;margin-top: 40rpx;display: flex;align-items: center">
<view class="contentTitle" style="padding-left: 14rpx;margin-top: 40rpx;display: flex;align-items: center">
在所有
<view class="YdBox">
<image class="YDLogo"
src="https://eshangtech.com/ShopICO/ahyd-BID/tabBar/company_active.png" />
<image class="YDLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/tabBar/company_active.png"/>
<text style="color: red;text-indent: 0">驿达旗下</text>
</view> 服务区中
</view>
@ -295,30 +258,25 @@
<view class="timeBox">
<image class="dateIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/dateIcon.png"/>
<text class="dateText" style="white-space: nowrap">{{
`${item.STARTDATE ? $moment(item.STARTDATE).format('YYYY年MM月DD日') : ''}${item.ENDDATE ?
$moment(item.ENDDATE).format('YYYY年MM月DD日') : ''}`
`${item.STARTDATE ? $moment(item.STARTDATE).format('YYYY年MM月DD日') : ''}${item.ENDDATE ? $moment(item.ENDDATE).format('YYYY年MM月DD日') : ''}`
}}</text>
</view>
</view>
<view class="contentItem">
{{ new Date().getTime() < new Date($moment(item.ENDDATE).format('YYYY-MM-DD')).getTime()
? '项目履约中...' : '项目已完成...' }} <text class="orangeText">{{ item.SUBROYALTY_PRICE >= item.MINTURNOVER
? '保底租金已交付' : '未完成保底额' }}</text>
{{new Date().getTime() < new Date($moment(item.ENDDATE).format('YYYY-MM-DD')).getTime() ? '项目履约中...' : '项目已完成...'}}
<text class="orangeText">{{ item.SUBROYALTY_PRICE >= item.MINTURNOVER ?'保底租金已交付':'未完成保底额' }}</text>
</view>
<view class="contentItem">
对客销售总额<text class="money">{{ item.REVENUE_AMOUNT ? $util.getMoney(item.REVENUE_AMOUNT /
10000) : '-' }}</text>
对客销售总额<text class="money">{{ item.REVENUE_AMOUNT?$util.getMoney(item.REVENUE_AMOUNT / 10000):'-'}}</text>
<text class="unit">/万元</text>
商家入账<text class="money">{{ item.SUBROYALTY_THEORY ? $util.getMoney(item.SUBROYALTY_THEORY /
10000) : '-' }}</text>
商家入账<text class="money">{{ item.SUBROYALTY_THEORY?$util.getMoney(item.SUBROYALTY_THEORY / 10000):'-'}}</text>
<text class="unit">/万元</text>
</view>
<view class="contentItem">
按合同约定支付驿达租金<text class="money">{{ item.ROYALTY_THEORY ? $util.getMoney(item.ROYALTY_THEORY /
10000) : '-' }}</text>
按合同约定支付驿达租金<text class="money">{{ item.ROYALTY_THEORY?$util.getMoney(item.ROYALTY_THEORY / 10000):'-'}}</text>
<text class="unit">/万元</text>
</view>
@ -329,94 +287,74 @@
<!-- <text class="unit">/万元</text>-->
<!-- </view>-->
<view class="contentItem">
按对客销售的<text style="color: #FE7628;margin: 0 8rpx">{{ detail.COST_RATE ? `${detail.COST_RATE}%` : '-'
}}</text>成本预估经营成本需
<text class="money">{{ item.REVENUE_AMOUNT ? $util.getMoney(item.REVENUE_AMOUNT * (detail.COST_RATE
? detail.COST_RATE / 100 : 0) / 10000) : '' }}</text><text class="unit">/万元</text>
按对客销售的<text style="color: #FE7628;margin: 0 8rpx">{{ detail.COST_RATE ? `${detail.COST_RATE}%` : '-' }}</text>成本预估经营成本需
<text class="money">{{ item.REVENUE_AMOUNT ? $util.getMoney(item.REVENUE_AMOUNT * (detail.COST_RATE ? detail.COST_RATE / 100 : 0) / 10000) : '' }}</text><text class="unit">/万元</text>
</view>
<view class="contentItem" v-if="item.REVENUE_AMOUNT">
人工成本<text style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_COUNT || ''
}}</text>个人平均工资<text style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_WAGE || ''
}}</text>/实际发生
<text style="color: #FE7628;margin: 0 8rpx">{{ detail.MONTH_COUNT || '' }}</text>个月合计人工成本<text
class="money">{{ $util.getMoney((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT)
/
10000) }}</text>万元
人工成本<text style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_COUNT || '' }}</text>个人平均工资<text style="color: #FE7628;margin: 0 8rpx">{{ detail.LABOURS_WAGE || '' }}</text>/实际发生
<text style="color: #FE7628;margin: 0 8rpx">{{ detail.MONTH_COUNT || '' }}</text>个月合计人工成本<text class="money">{{$util.getMoney((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) / 10000)}}</text>万元
</view>
<view class="contentItem" v-if="item.REVENUE_AMOUNT">
折旧费用按总投入<text style="color: #FE7628;margin: 0 8rpx">{{ detail.DEPRECIATION_EXPENSE ||
'' }}</text>万元<text style="color: #FE7628;margin: 0 8rpx">{{ detail.DEPRECIATION_YEAR ||
'' }}</text>
年折旧实际发生<text style="color: #FE7628;margin: 0 8rpx">{{ detail.howMonth || ''
}}</text>/合计折旧费用<text class="money">{{ $util.getMoney((detail.DEPRECIATION_EXPENSE /
detail.DEPRECIATION_YEAR / 12) *
detail.MONTH_COUNT) }}</text>万元
折旧费用按总投入<text style="color: #FE7628;margin: 0 8rpx">{{detail.DEPRECIATION_EXPENSE || ''}}</text>万元<text style="color: #FE7628;margin: 0 8rpx">{{detail.DEPRECIATION_YEAR || ''}}</text>
年折旧实际发生<text style="color: #FE7628;margin: 0 8rpx">{{detail.howMonth || ''}}</text>/合计折旧费用<text class="money">{{$util.getMoney((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT)}}</text>万元
</view>
<view class="contentItem" v-if="item.REVENUE_AMOUNT">
其他经营费用按每年综合经营费用<text class="money">{{detail.OTHER_EXPENSE || ''}}</text>万元预估
</view>
<view class="contentItem" v-if="item.REVENUE_AMOUNT">
<text class="unit">实际商家经营成本 = 经营成本 + 人工成本 + 折旧费用 + 其他经营费用 = </text><text class="money">
{{ $util.getMoney((item.REVENUE_AMOUNT * (detail.COST_RATE ? detail.COST_RATE / 100 : 0) / 10000)
+ ((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) / 10000) +
((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT) +
detail.OTHER_EXPENSE) }}
{{$util.getMoney( (item.REVENUE_AMOUNT * (detail.COST_RATE ? detail.COST_RATE / 100 : 0) / 10000) + ((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) / 10000) + ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT) + detail.OTHER_EXPENSE )}}
</text>万元
</view>
<view class="contentItem">
商家<text style="color: #FE7628;margin: 0 8rpx">{{ item.SUBROYALTY_THEORY - ((item.REVENUE_AMOUNT *
(detail.COST_RATE ? detail.COST_RATE / 100 : 0)) + ((detail.LABOURS_COUNT * detail.LABOURS_WAGE *
detail.MONTH_COUNT)) + ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) *
detail.MONTH_COUNT) + detail.OTHER_EXPENSE) < 0 ? '预计预亏' : '预计盈利' }}</text>
商家<text style="color: #FE7628;margin: 0 8rpx">{{ item.SUBROYALTY_THEORY - ( (item.REVENUE_AMOUNT * (detail.COST_RATE ? detail.COST_RATE / 100 : 0) ) + ((detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT)) + ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT) + detail.OTHER_EXPENSE )<0?'预计预亏':'预计盈利' }}</text>
<text class="money">{{ item.SUBROYALTY_THEORY?
$util.getMoney(Math.abs(
((item.SUBROYALTY_THEORY - ((item.REVENUE_AMOUNT * (detail.COST_RATE ? detail.COST_RATE / 100
: 0)) + (detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) +
((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT * 10000) +
(detail.OTHER_EXPENSE * 10000)))) / 10000)
((item.SUBROYALTY_THEORY - ( (item.REVENUE_AMOUNT * (detail.COST_RATE ? detail.COST_RATE / 100 : 0)) + (detail.LABOURS_COUNT * detail.LABOURS_WAGE * detail.MONTH_COUNT) + ((detail.DEPRECIATION_EXPENSE / detail.DEPRECIATION_YEAR / 12) * detail.MONTH_COUNT * 10000) + (detail.OTHER_EXPENSE * 10000) ) )) / 10000)
):'-'}}</text><text class="unit">/万元</text>
</view>
<view class="contentItem">
项目进度完成
<text class="money">{{ item.daySuccess ? item.daySuccess > 100 ? 100 : item.daySuccess + '%' : ''
}}</text>
<text class="money">{{ item.daySuccess ?item.daySuccess > 100 ? 100 : item.daySuccess +'%':'' }}</text>
</view>
<view class="contentItem">
租金交付已完成
<text class="money">{{ item.rentDelivery ? item.rentDelivery > 100 ? 100 :
item.rentDelivery.toFixed(2) + '%' :
'-'
}}</text>
<text class="money">{{ item.rentDelivery ?item.rentDelivery > 100 ? 100 : item.rentDelivery +'%':'-' }}</text>
</view>
<view class="contentItem">
租金交付进度 <text class="orangeText" style="margin: 0 8rpx">{{ item.rentDelivery > item.daySuccess ? '优于'
: item.rentDelivery < item.daySuccess ? '低于' : '等于' }}</text> 项目进度
租金交付进度 <text class="orangeText" style="margin: 0 8rpx">{{ item.rentDelivery > item.daySuccess ? '优于' : item.rentDelivery < item.daySuccess ? '低于' : '等于' }}</text> 项目进度
</view>
<view class="resultBox" v-if="item.daySuccess < 100">
<image class="warningLight"
src="https://eshangtech.com/ShopICO/ahyd-BID/warning/warningLight.png" />
{{ item.progressDifference <= 10 ? '项目保底' : item.progressDifference > 10 && item.progressDifference
<= 40 ? '项目能' : item.progressDifference > 40 ? '项目' :
<image class="warningLight" src="https://eshangtech.com/ShopICO/ahyd-BID/warning/warningLight.png"/>
{{ item.progressDifference <= 10 ? '项目保底' :
item.progressDifference > 10 && item.progressDifference <= 40 ?'项目能':
item.progressDifference > 40 ?'项目':
item.progressDifference <= 0 && item.progressDifference >= -10 ?'项目保底完成':
item.progressDifference <= -10 && item.progressDifference >= -40 ?'商家':
item.progressDifference < -40 ? '项目' : '' }} <text class="blueText">
{{ item.progressDifference <= 10 ? '基本能实现' : item.progressDifference > 10 &&
item.progressDifference <= 40 ? '较好的完成' : item.progressDifference > 40 ? '超预期' :
item.progressDifference < -40 ?'项目':''
}}
<text class="blueText">
{{ item.progressDifference <= 10 ? '基本能实现' :
item.progressDifference > 10 && item.progressDifference <= 40 ?'较好的完成':
item.progressDifference > 40 ?'超预期':
item.progressDifference <= 0 && item.progressDifference >= -10 ?'存在困难':
item.progressDifference <= -10 && item.progressDifference >= -40 ?'存在经营困难':
item.progressDifference < -40 ? '超预期' : '' }} </text>
{{ item.progressDifference <= 10 ? '' : item.progressDifference > 10 &&
item.progressDifference <= 40 ? '保底且实现盈利' : item.progressDifference > 40
? '后续项目可以适当提升保底营收' :
item.progressDifference < -40 ?'超预期':''
}}
</text>
{{ item.progressDifference <= 10 ? '' :
item.progressDifference > 10 && item.progressDifference <= 40 ?'保底且实现盈利':
item.progressDifference > 40 ?'后续项目可以适当提升保底营收':
item.progressDifference <= 0 && item.progressDifference >= -10 ?',请保持关注':
item.progressDifference <= -10 && item.progressDifference >= -40
? ',请密切保持关注' :
item.progressDifference < -40 ? ',商家存在退场风险' : '' }} </view>
item.progressDifference <= -10 && item.progressDifference >= -40 ?',请密切保持关注':
item.progressDifference < -40 ?',商家存在退场风险':''
}}
</view>
</view>
</view>
@ -578,8 +516,6 @@ export default {
...thirdObj,
...fourthObj,
}
console.log('this.firstTabDetailthis.firstTabDetail', this.firstTabDetail);
},
async handleGetSecondTab(){
const req = {
@ -636,27 +572,22 @@ export default {
.projectWarningDetail{
width: 100%;
background: #F3F3F3;
.meng{
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
top: 0;left: 0;
z-index: 21;
}
.earlyTop{
width: 100%;
background: #F3F3F3;
position: relative;
.earlyTopBg{
width: 100%;
height: 430rpx;
background: linear-gradient( 180deg, #D8E3FF 0%, #F3F3F3 100%);
}
.headerBox{
width: 100%;
position: fixed;
@ -669,18 +600,15 @@ export default {
display: flex;
align-items: center;
justify-content: space-between;
.backIconBox{
width: 48rpx;
height: 48rpx;
margin-right: 18rpx;
.backIcon{
width: 100%;
height: 100%;
}
}
.pageTitle{
font-family: PingFangTC, PingFangTC;
font-weight: 600;
@ -690,7 +618,6 @@ export default {
text-align: center;
font-style: normal;
}
.default{
width: 48rpx;
height: 48rpx;
@ -705,7 +632,6 @@ export default {
border-radius: 16rpx;
box-sizing: border-box;
padding: 2rpx;
.contentBox{
width: 100%;
//height: 480rpx;
@ -716,33 +642,27 @@ export default {
border-radius: 14rpx;
box-sizing: border-box;
padding: 24rpx 24rpx 0 24rpx;
.contentTop{
display: flex;
//align-items: center;
justify-content: space-between;
.topLeft{
width: 96rpx;
height: 96rpx;
border-radius: 16rpx;
overflow: hidden;
.logo{
width: 100%;
height: 100%;
}
}
.topRight{
width: calc(100% - 100rpx);
margin-left: 16rpx;
.rightTop{
display: flex;
align-items: flex-start;
justify-content: space-between;
.shopName{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -758,17 +678,14 @@ export default {
overflow: hidden;
-webkit-line-clamp: 2;
}
.fixedBox{
display: flex;
align-items: center;
.fixed{
width: 32rpx;
height: 32rpx;
margin-right: 4rpx;
}
.serverPartName{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -797,11 +714,9 @@ export default {
border-radius: 4rpx;
}
}
.MERCHANTS_NAMERightBox{
display: flex;
justify-content: flex-end;
.MERCHANTS_NAME{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -817,16 +732,13 @@ export default {
}
}
}
.contentBottom{
.moneyBox{
width: 100%;
margin-top: 48rpx;
.moneyItem{
display: flex;
flex-direction: column;
.value{
font-family: DINAlternate, DINAlternate;
font-weight: bold;
@ -836,7 +748,6 @@ export default {
text-align: left;
font-style: normal;
}
.unit{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -848,16 +759,13 @@ export default {
}
}
}
.messageBox{
margin-top: 16rpx;
.messageIcon{
width: 48rpx;
height: 48rpx;
margin-right: 8rpx;
}
.messageType{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -872,7 +780,6 @@ export default {
margin-right: 16rpx;
white-space: nowrap;
}
.messageDesc{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -884,14 +791,12 @@ export default {
white-space: nowrap;
}
}
.line{
width: 100%;
height: 2rpx;
background: #F3F3F3;
margin: 12rpx 0 0 0;
}
.overTime{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -901,7 +806,6 @@ export default {
text-align: left;
font-style: normal;
}
.type{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -926,12 +830,10 @@ export default {
border-radius: 32rpx 32rpx 0rpx 0rpx;
box-sizing: border-box;
margin-top: 32rpx;
.contentBox{
width: 100%;
//background: #fff;
padding-bottom: 40rpx;
.tabBox{
width: 100%;
height: 108rpx;
@ -942,7 +844,6 @@ export default {
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/warning/grayBg.png");
background-repeat: no-repeat;
background-size: 100% 100%;
.tabItem{
width: 50%;
height: 108rpx;
@ -950,13 +851,11 @@ export default {
align-items: center;
justify-content: center;
background: linear-gradient( 180deg, #F3F4F8 0%, #FFFFFF 100%);
.tabItemIcon{
width: 40rpx;
height: 40rpx;
margin-right: 8rpx;
}
.tabText{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -967,12 +866,10 @@ export default {
font-style: normal;
}
}
.selectItemLeft{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/warning/selectLeft.png");
background-repeat: no-repeat;
background-size: 100% 100%;
.tabText{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -983,12 +880,10 @@ export default {
font-style: normal;
}
}
.selectItemRight{
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/warning/selectRight.png");
background-repeat: no-repeat;
background-size: 100% 100%;
.tabText{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -1009,15 +904,12 @@ export default {
box-sizing: border-box;
padding: 16rpx 24rpx;
display: flex;
.descIcon{
width: 48rpx;
height: 48rpx;
}
.desc{
flex: 1;
.descText{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1027,28 +919,23 @@ export default {
text-align: left;
font-style: normal;
vertical-align: top;
.big{
color: #2363FF;
font-weight: 400;
font-size: 30rpx;
}
}
.noticeBox{
position: relative;
display: flex;
align-items: center;
.noticeIcon{
width: 32rpx;
height: 32rpx;
}
.noticeDesc{
position: absolute;
top: 32rpx;
left: 0;
top: 32rpx;left: 0;
display: inline-block;
transform: translateX(-40px);
width: 70vw;
@ -1074,7 +961,6 @@ export default {
width: calc(100% - 64rpx);
margin-left: 32rpx;
margin-top: 40rpx;
.contentTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1086,7 +972,6 @@ export default {
position: relative;
text-indent: 1rem;
margin-bottom: 20rpx;
.yellowText{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1100,7 +985,6 @@ export default {
border-radius: 4rpx;
margin: 0 8rpx;
}
.typeText{
background: linear-gradient( 134deg, #FFEED1 0%, #FFE1CD 100%);
border-radius: 4rpx;
@ -1108,18 +992,15 @@ export default {
color: #FF7E05;
margin: 0 12rpx;
}
.YdBox{
display: flex;
align-items: center;
margin: 0 12rpx;
.YDLogo{
width: 48rpx;
height: 48rpx;
margin-right: 8rpx;
}
.YDText{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1131,18 +1012,15 @@ export default {
}
}
}
.contentTitle:before{
content:'';
width: 6rpx;
height: 28rpx;
background: #3973FB;
position: absolute;
left: 0;
top: 50%;
left: 0;top: 50%;
transform: translateY(-50%);
}
.contentItem{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1152,13 +1030,11 @@ export default {
text-align: left;
font-style: normal;
margin-bottom: 16rpx;
.date{
width: 32rpx;
height: 32rpx;
margin: 0 8rpx;
}
.time{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1168,7 +1044,6 @@ export default {
text-align: left;
font-style: normal;
}
.money{
font-family: DINAlternate, DINAlternate;
font-weight: bold;
@ -1179,7 +1054,6 @@ export default {
font-style: normal;
margin: 0 4rpx;
}
.unit{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1189,7 +1063,6 @@ export default {
text-align: left;
font-style: normal;
}
.yellowBgText{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1202,13 +1075,11 @@ export default {
background: #FCF1D3;
border-radius: 4rpx;
}
.stateIcon{
width: 35rpx;
height: 35rpx;
margin-right: 8rpx;
}
.stateText{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -1218,7 +1089,6 @@ export default {
text-align: left;
font-style: normal;
}
.questionBox{
width: 20px;
height: 20px;
@ -1228,16 +1098,13 @@ export default {
align-items: center;
justify-content: center;
margin-left: 9px;
.questionIcon{
width: 20px;
height: 20px;
}
.questionContent{
position: absolute;
top: 32rpx;
right: 0;
top: 32rpx;right: 0;
display: inline-block;
transform: translateX(40px);
width: 70vw;
@ -1258,12 +1125,10 @@ export default {
}
}
}
.secondContent{
width: calc(100% - 64rpx);
margin-left: 32rpx;
margin-top: 8rpx;
.contentItem{
margin-bottom: 20rpx;
font-family: PingFangSC, PingFang SC;
@ -1273,7 +1138,6 @@ export default {
line-height: 40rpx;
text-align: left;
font-style: normal;
.indexDesc{
background: #E1F3E6;
border-radius: 4rpx;
@ -1287,17 +1151,14 @@ export default {
font-style: normal;
margin-right: 18rpx;
}
.timeBox{
display: flex;
align-items: center;
.dateIcon{
width: 32rpx;
height: 32rpx;
margin-right: 8rpx;
}
.dateText{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1308,7 +1169,6 @@ export default {
font-style: normal;
}
}
.orangeText{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
@ -1318,7 +1178,6 @@ export default {
text-align: left;
font-style: normal;
}
.money{
font-family: DINAlternate, DINAlternate;
font-weight: bold;
@ -1329,7 +1188,6 @@ export default {
font-style: normal;
margin: 0 4rpx;
}
.unit{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -1340,7 +1198,6 @@ export default {
font-style: normal;
}
}
.resultBox{
width: 100%;
background: #F7F8FA;
@ -1355,7 +1212,6 @@ export default {
height: 48rpx;
margin-right: 8rpx;
}
.blueText{
color: #2363FF;
margin-left: 8rpx;

View File

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

File diff suppressed because one or more lines are too long

View File

@ -169,16 +169,16 @@
height: menu.height + 'px',
marginLeft: '10rpx',
}">
<!-- <UniDataSelect :localdata="localdata" :value="selectVersion" :clear="false"
<UniDataSelect :localdata="localdata" :value="selectVersion" :clear="false"
@change="handleChangeVersion">
<template v-slot:content> -->
<template v-slot:content>
<!-- @click="goOldIndexPage"-->
<view class="searchIconBox">
<image class="dateIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/pageLogo.png" />
<!-- <text class="searchIconText">数智驿达</text>-->
</view>
<!-- </template> -->
<!-- </UniDataSelect> -->
</template>
</UniDataSelect>
<view class="seachBox" :style="{ height: menu.height + 'px' }" @click="handleGoMap">
<image class="searchIcon"
src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/searchIconService.svg" />
@ -234,6 +234,77 @@
<view class="moreIcon" @click.stop="changeShowRealBox">
<image class="noticeIcon"
src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/noticeIcon.svg" />
<view v-if="showRealBox" class="realBox" @click.stop="changeShowRealBox">
<div style="
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
">
<span class="noticeText">注解词说明</span>
<img class="closeIcon"
src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/closeIcon.svg"
@click.stop="changeShowRealBox" />
</div>
<span class="noticeText" style="text-indent: 2rem">
对客销售对客营收营业额
----服务区所有经营实体与客户发生的交易金额一般统计消费总量多用于外部口径</span>
<span class="noticeText" style="text-indent: 2rem">
同期服务区的对客销售额与入区车流量和服务区营效变化会呈现较强关联性属于显性短周指标</span>
<span class="noticeText" style="text-indent: 2rem">
自营销售自营经营额
----驿达自主经营的实体与客户发生的真实交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
外租销售 (商铺经营额
----合作商户经营的实体与客户发生的真实交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
应用场景口径多用与服务区同行或行业相关部门交流体现服务区商业服务能力也是考核旗下服务区商业管理水平提升的重要指标</span>
<span class="noticeText" style="text-indent: 2rem">
营业收入经营收入---驿达通过服务区场景获得的真实收入包括自主经营项目外租经营项目油站充电桩等租赁收入等多用于内部口径</span>
<span class="noticeText" style="text-indent: 2rem">
因商户租赁收入和其他固定项目收入存在财务确认时间滞后情况数字变化一般晚于对客销售额属于长周期指标</span>
<span class="noticeText" style="text-indent: 2rem">
自营营业收入
---指的是驿达自有经营门店的实际交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
租赁营业收入
---指的是驿达通过租赁商铺通过商铺交易金额按比例来获取租金的收入</span>
<span class="noticeText"
style="margin-top: 8px">一般情况下收入单纯代表交易金额如果对内财务口径一般需要后面除税来表达</span>
<span class="noticeText" style="text-indent: 2rem">
应用场景口径多用与内部分子公司任务拆解考核和集团的任务指标完成汇报是整个管理团队的长期阶段性指标结果</span>
<span class="noticeText" style="text-indent: 2rem">
同比指的是一段时间内与全年同期的数据比较一般用于反映长线经营趋势的波动</span>
<span class="noticeText" style="text-indent: 2rem">
环比指的是一段时间内与上月同期的数值比较一般用于反映短期经营趋势的比较</span>
<span class="noticeText" style="text-indent: 2rem">
因为服务区的特殊性有节假日条件约束较多会用同比来形容指标波动</span>
<!-- <view class="field">-->
<!-- <view class="label">对客销售</view>-->
<!-- <view class="value">{{showTableData.CashPay?$util.fmoney($util.getMoney(showTableData.CashPay),2):'-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label">自营销售</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[0].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label" style="padding-left: 20rpx">便利店</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[2].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label" style="padding-left: 20rpx">餐饮客房</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[3].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label">外租收入</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[1].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label" style="padding-left: 20rpx">商铺租赁</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[4].value),2) : '-'}}</view>-->
<!-- </view>-->
</view>
</view>
</view>
<view class="haveMore" @click="goToRevenueStatic">
@ -691,7 +762,77 @@
<view class="moreIcon" @click.stop="changeShowRealBox">
<image class="noticeIcon"
src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/noticeIcon.svg" />
<view v-if="showRealBox" class="realBox" @click.stop="changeShowRealBox">
<div style="
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
">
<span class="noticeText">注解词说明</span>
<img class="closeIcon"
src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/closeIcon.svg"
@click.stop="changeShowRealBox" />
</div>
<span class="noticeText" style="text-indent: 2rem">
对客销售对客营收营业额
----服务区所有经营实体与客户发生的交易金额一般统计消费总量多用于外部口径</span>
<span class="noticeText" style="text-indent: 2rem">
同期服务区的对客销售额与入区车流量和服务区营效变化会呈现较强关联性属于显性短周指标</span>
<span class="noticeText" style="text-indent: 2rem">
自营销售自营经营额
----驿达自主经营的实体与客户发生的真实交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
外租销售 (商铺经营额
----合作商户经营的实体与客户发生的真实交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
应用场景口径多用与服务区同行或行业相关部门交流体现服务区商业服务能力也是考核旗下服务区商业管理水平提升的重要指标</span>
<span class="noticeText" style="text-indent: 2rem">
营业收入经营收入---驿达通过服务区场景获得的真实收入包括自主经营项目外租经营项目油站充电桩等租赁收入等多用于内部口径</span>
<span class="noticeText" style="text-indent: 2rem">
因商户租赁收入和其他固定项目收入存在财务确认时间滞后情况数字变化一般晚于对客销售额属于长周期指标</span>
<span class="noticeText" style="text-indent: 2rem">
自营营业收入
---指的是驿达自有经营门店的实际交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
租赁营业收入
---指的是驿达通过租赁商铺通过商铺交易金额按比例来获取租金的收入</span>
<span class="noticeText"
style="margin-top: 8px">一般情况下收入单纯代表交易金额如果对内财务口径一般需要后面除税来表达</span>
<span class="noticeText" style="text-indent: 2rem">
应用场景口径多用与内部分子公司任务拆解考核和集团的任务指标完成汇报是整个管理团队的长期阶段性指标结果</span>
<span class="noticeText" style="text-indent: 2rem">
同比指的是一段时间内与全年同期的数据比较一般用于反映长线经营趋势的波动</span>
<span class="noticeText" style="text-indent: 2rem">
环比指的是一段时间内与上月同期的数值比较一般用于反映短期经营趋势的比较</span>
<span class="noticeText" style="text-indent: 2rem">
因为服务区的特殊性有节假日条件约束较多会用同比来形容指标波动</span>
<!-- <view class="field">-->
<!-- <view class="label">对客销售</view>-->
<!-- <view class="value">{{showTableData.CashPay?$util.fmoney($util.getMoney(showTableData.CashPay),2):'-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label">自营销售</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[0].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label" style="padding-left: 20rpx">便利店</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[2].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label" style="padding-left: 20rpx">餐饮客房</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[3].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label">外租收入</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[1].value),2) : '-'}}</view>-->
<!-- </view>-->
<!-- <view class="field">-->
<!-- <view class="label" style="padding-left: 20rpx">商铺租赁</view>-->
<!-- <view class="value">{{typeList && typeList.length>0?$util.fmoney($util.getMoney(typeList[4].value),2) : '-'}}</view>-->
<!-- </view>-->
</view>
</view>
</view>
<view class="haveMore" @click="goToRevenueStatic">
@ -3334,21 +3475,13 @@
</view>
<!-- 财务报表-->
<!-- <view class="funItem" @click="handleMoney">
<view class="funItem" @click="handleMoney">
<view class="funItemContent">
<view class="funIconBox">
<image class="funIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/financialState.svg" />
</view>
<text class="funText">财务报表</text>
</view>
</view> -->
<view v-if="projectWarning" class="funItem" @click="goToRobot">
<view class="funItemContent">
<view class="funIconBox">
<image class="funIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/statistics.svg" />
</view>
<text class="funText">数智助手</text>
</view>
</view>
<!-- 节日特刊-->
<view class="funItem" @click="goToNational">
@ -3420,7 +3553,14 @@
</view>
</view>
<view v-if="projectWarning" class="funItem" style="margin-top: 32rpx" @click="goToRobot">
<view class="funItemContent">
<view class="funIconBox">
<image class="funIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/statistics.svg" />
</view>
<text class="funText">数智助手</text>
</view>
</view>
<view class="funItem" style="margin-top: 32rpx" v-if="false" @click="goToBillLading">
<view class="funItemContent">
@ -3844,49 +3984,6 @@
</div>
</view>
<view v-if="showRealBox" class="realBoxPage" @click.stop="changeShowRealBox"
:style="{ left: realBoxPageX + 'px', top: realBoxPageY + 'px' }">
<div style="width: 100%;display: flex;justify-content: space-between; align-items: center;">
<span class="noticeText">注解词说明</span>
<img class="closeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/closeIcon.svg"
@click.stop="changeShowRealBox" />
</div>
<span class="noticeText" style="text-indent: 2rem">
对客销售对客营收营业额
----服务区所有经营实体与客户发生的交易金额一般统计消费总量多用于外部口径</span>
<span class="noticeText" style="text-indent: 2rem">
同期服务区的对客销售额与入区车流量和服务区营效变化会呈现较强关联性属于显性短周指标</span>
<span class="noticeText" style="text-indent: 2rem">
自营销售自营经营额
----驿达自主经营的实体与客户发生的真实交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
外租销售 (商铺经营额
----合作商户经营的实体与客户发生的真实交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
应用场景口径多用与服务区同行或行业相关部门交流体现服务区商业服务能力也是考核旗下服务区商业管理水平提升的重要指标</span>
<span class="noticeText" style="text-indent: 2rem">
营业收入经营收入---驿达通过服务区场景获得的真实收入包括自主经营项目外租经营项目油站充电桩等租赁收入等多用于内部口径</span>
<span class="noticeText" style="text-indent: 2rem">
因商户租赁收入和其他固定项目收入存在财务确认时间滞后情况数字变化一般晚于对客销售额属于长周期指标</span>
<span class="noticeText" style="text-indent: 2rem">
自营营业收入
---指的是驿达自有经营门店的实际交易金额</span>
<span class="noticeText" style="text-indent: 2rem">
租赁营业收入
---指的是驿达通过租赁商铺通过商铺交易金额按比例来获取租金的收入</span>
<span class="noticeText" style="margin-top: 8px">一般情况下收入单纯代表交易金额如果对内财务口径一般需要后面除税来表达</span>
<span class="noticeText" style="text-indent: 2rem">
应用场景口径多用与内部分子公司任务拆解考核和集团的任务指标完成汇报是整个管理团队的长期阶段性指标结果</span>
<span class="noticeText" style="text-indent: 2rem">
同比指的是一段时间内与全年同期的数据比较一般用于反映长线经营趋势的波动</span>
<span class="noticeText" style="text-indent: 2rem">
环比指的是一段时间内与上月同期的数值比较一般用于反映短期经营趋势的比较</span>
<span class="noticeText" style="text-indent: 2rem">
因为服务区的特殊性有节假日条件约束较多会用同比来形容指标波动</span>
</view>
<!--通知框-->
<!-- -->
<div class="notice" v-if="isShow" style="bottom: 200px">
@ -4239,8 +4336,6 @@ export default {
allselectVersion3Obj: {}, //
selectVersion3Obj: {}, //
smallTab: 1, //
realBoxPageX: 0, // x
realBoxPageY: 0, // y
};
},
watch: {
@ -4633,18 +4728,18 @@ export default {
},
//
handleChangeVersion(e) {
// this.selectVersion = e;
// uni.setStorageSync("version", this.selectVersion);
// if (this.selectVersion === 2) {
// this.$util.addUserBehavior({
// intoRoute: `/pages/index/old/index`,
// });
// uni.redirectTo({
// url: `/pages/index/old/index`,
// });
// } else if (this.selectVersion === 3) {
// this.handleGetSelectVersion3Data(this.oldSwiperIndex);
// }
this.selectVersion = e;
uni.setStorageSync("version", this.selectVersion);
if (this.selectVersion === 2) {
this.$util.addUserBehavior({
intoRoute: `/pages/index/old/index`,
});
uni.redirectTo({
url: `/pages/index/old/index`,
});
} else if (this.selectVersion === 3) {
this.handleGetSelectVersion3Data(this.oldSwiperIndex);
}
},
// 3
async handleGetSelectVersion3Data(month) {
@ -4896,10 +4991,7 @@ export default {
handleShowHaveNoticeBox() {
this.showHaveNotice = !this.showHaveNotice;
},
changeShowRealBox(e) {
console.log('eee', e);
this.realBoxPageX = e.detail.x;
this.realBoxPageY = e.detail.y;
changeShowRealBox() {
this.showRealBox = !this.showRealBox;
},
handleGoOtherFun(val) {
@ -6712,7 +6804,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(244, 138, 143, 0.21);
z-index: 22;
width: 75vw;
height: 70vh;
height: 250px;
overflow-y: scroll;
white-space: pre-wrap;
@ -10978,52 +11070,5 @@ $iphoneHeight: env(safe-area-inset-bottom);
}
}
}
.realBoxPage {
position: fixed;
// left: 5%;
// top: 10px;
transform: translateX(-50%);
//right: 0;bottom: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(244, 138, 143, 0.21);
z-index: 22;
width: 75vw;
height: 70vh;
// height: 250px;
overflow-y: scroll;
white-space: pre-wrap;
.noticeText {
font-size: 12px;
color: #000;
display: block;
}
.closeIcon {
width: 16px;
height: 16px;
}
.field {
text-align: right;
display: flex;
.label {
display: inline-block;
width: 160rpx;
text-align: left;
box-sizing: border-box;
}
.value {
width: 200rpx;
text-align: right;
}
}
}
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3232,59 +3232,15 @@ export default {
},
{
label: "25年国庆",
type: 6,
HolidayType: 8,
label: "25年元旦",
type: 0,
HolidayType: 1,
curYear: 2025,
compareYear: 2024,
startTime: "2025-09-30",
endTime: "2025-10-09",
lastYearStart: "2024/09/30",
lastYearEnd: "2024/10/09",
},
{
label: "25年暑运",
type: 4,
HolidayType: 6,
curYear: 2025,
compareYear: 2024,
startTime: "2025-06-30",
endTime: "2025-08-31",
lastYearStart: "2024/06/30",
lastYearEnd: "2024/08/31",
},
{
label: "25年端午",
type: 3,
HolidayType: 5,
curYear: 2025,
compareYear: 2024,
startTime: "2025-05-30",
endTime: "2025-06-03",
lastYearStart: "2024/06/09",
lastYearEnd: "2024/06/11",
},
{
label: "25年劳动",
type: 2,
HolidayType: 4,
curYear: 2025,
compareYear: 2024,
startTime: "2025-04-30",
endTime: "2025-05-06",
lastYearStart: "2024/04/30",
lastYearEnd: "2024/05/06",
},
{
label: "25年清明",
type: 1,
HolidayType: 3,
curYear: 2025,
compareYear: 2024,
startTime: "2025-04-03",
endTime: "2025-04-07",
lastYearStart: "2024/04/03",
lastYearEnd: "2024/04/07",
startTime: "2024-12-31",
endTime: "2025-01-02",
lastYearStart: "2023/12/31",
lastYearEnd: "2024/01/02",
},
{
label: "25年春运",
@ -3298,17 +3254,49 @@ export default {
lastYearEnd: "2024/03/05",
},
{
label: "25年元旦",
type: 0,
HolidayType: 1,
label: "25年清明",
type: 1,
HolidayType: 3,
curYear: 2025,
compareYear: 2024,
startTime: "2024-12-31",
endTime: "2025-01-02",
lastYearStart: "2023/12/31",
lastYearEnd: "2024/01/02",
startTime: "2025-04-03",
endTime: "2025-04-07",
lastYearStart: "2024/04/03",
lastYearEnd: "2024/04/07",
},
{
label: "25年劳动",
type: 2,
HolidayType: 4,
curYear: 2025,
compareYear: 2024,
startTime: "2025-04-30",
endTime: "2025-05-06",
lastYearStart: "2024/04/30",
lastYearEnd: "2024/05/06",
},
{
label: "25年端午",
type: 3,
HolidayType: 5,
curYear: 2025,
compareYear: 2024,
startTime: "2025-05-30",
endTime: "2025-06-03",
lastYearStart: "2024/06/09",
lastYearEnd: "2024/06/11",
},
{
label: "25年暑运",
type: 4,
HolidayType: 6,
curYear: 2025,
compareYear: 2024,
startTime: "2025-06-30",
endTime: "2025-08-31",
lastYearStart: "2024/06/30",
lastYearEnd: "2024/08/31",
},
// {
// label: "25",
// curYear: 2025,
@ -3317,72 +3305,27 @@ export default {
// startTime: "2025-01-26",
// endTime: "2025-03-05",
// },
{
label: "24年国庆",
label: "25年国庆",
type: 6,
HolidayType: 8,
curYear: 2024,
compareYear: 2023,
startTime: "2024-09-30",
endTime: "2024-10-08",
lastYearStart: "2023/09/30",
lastYearEnd: "2023/10/08",
curYear: 2025,
compareYear: 2024,
startTime: "2025-09-30",
endTime: "2025-10-09",
lastYearStart: "2024/09/30",
lastYearEnd: "2024/10/09",
},
{
label: "24年中秋",
type: 5,
HolidayType: 7,
label: "24年元旦",
type: 0,
HolidayType: 1,
curYear: 2024,
compareYear: 2023,
startTime: "2024-09-14",
endTime: "2024-09-18",
lastYearStart: "2023/09/28",
lastYearEnd: "2023/09/30",
},
{
label: "24年暑运",
type: 4,
HolidayType: 6,
curYear: 2024,
compareYear: 2023,
startTime: "2024-06-30",
endTime: "2024-08-31",
lastYearStart: "2023/06/30",
lastYearEnd: "2023/08/31",
},
{
label: "24年端午",
type: 3,
HolidayType: 5,
curYear: 2024,
compareYear: 2023,
startTime: "2024-06-07",
endTime: "2024-06-11",
lastYearStart: "2023/06/21",
lastYearEnd: "2023/06/25",
},
{
label: "24年劳动",
type: 2,
HolidayType: 4,
curYear: 2024,
compareYear: 2023,
startTime: "2024-04-30",
endTime: "2024-05-06",
lastYearStart: "2023/04/28",
lastYearEnd: "2023/05/04",
},
{
label: "24年清明",
type: 1,
HolidayType: 3,
curYear: 2024,
compareYear: 2023,
startTime: "2024-04-03",
endTime: "2024-04-07",
lastYearStart: "2023/04/04",
lastYearEnd: "2023/04/06",
startTime: "2023-12-31",
endTime: "2024-01-02",
lastYearStart: "2022/12/31",
lastYearEnd: "2022/01/02",
},
{
label: "24年春运",
@ -3396,16 +3339,71 @@ export default {
lastYearEnd: "2023/02/16",
},
{
label: "24年元旦",
type: 0,
HolidayType: 1,
label: "24年清明",
type: 1,
HolidayType: 3,
curYear: 2024,
compareYear: 2023,
startTime: "2023-12-31",
endTime: "2024-01-02",
lastYearStart: "2022/12/31",
lastYearEnd: "2022/01/02",
}
startTime: "2024-04-03",
endTime: "2024-04-07",
lastYearStart: "2023/04/04",
lastYearEnd: "2023/04/06",
},
{
label: "24年劳动",
type: 2,
HolidayType: 4,
curYear: 2024,
compareYear: 2023,
startTime: "2024-04-30",
endTime: "2024-05-06",
lastYearStart: "2023/04/28",
lastYearEnd: "2023/05/04",
},
{
label: "24年端午",
type: 3,
HolidayType: 5,
curYear: 2024,
compareYear: 2023,
startTime: "2024-06-07",
endTime: "2024-06-11",
lastYearStart: "2023/06/21",
lastYearEnd: "2023/06/25",
},
{
label: "24年暑运",
type: 4,
HolidayType: 6,
curYear: 2024,
compareYear: 2023,
startTime: "2024-06-30",
endTime: "2024-08-31",
lastYearStart: "2023/06/30",
lastYearEnd: "2023/08/31",
},
{
label: "24年中秋",
type: 5,
HolidayType: 7,
curYear: 2024,
compareYear: 2023,
startTime: "2024-09-14",
endTime: "2024-09-18",
lastYearStart: "2023/09/28",
lastYearEnd: "2023/09/30",
},
{
label: "24年国庆",
type: 6,
HolidayType: 8,
curYear: 2024,
compareYear: 2023,
startTime: "2024-09-30",
endTime: "2024-10-08",
lastYearStart: "2023/09/30",
lastYearEnd: "2023/10/08",
},
],
currentFestival: {}, //
currentIndex: 0, //

View File

@ -27,7 +27,7 @@
:src="selectTab === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/activeSecondTab.png' : 'https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/secondTab.png'" />
</div>
<div class="timeSelect">
<span class="moreText" style="font-size: 30rpx;" @click="handleShowPopup">更多筛选</span>
<span class="moreText" @click="handleShowPopup">更多筛选</span>
<!-- <uni-datetime-picker />-->
</div>
@ -91,7 +91,7 @@
}${$util.getMoney(topDetail.RevenueINC.increaseData / 10000)}` : '-' }}</span>
</span>
<span class="staticTimeText" v-if="currentScroll === 'item0'">
{{ `统计口径:${selectStart}${selectEnd}累计` }}
{{ `统计口径:${selectStart}${selectEnd}累计` }}
</span>
</view>
@ -354,7 +354,7 @@
<!-- </view>-->
</view>
</view>
<view class="amountItem" style="margin-top: 24rpx">
<view class="amountItem" style="margin-top: 56rpx">
<view class="itemTop">
<view class="itemTopLeft">
<image class="leftIcon"
@ -393,7 +393,7 @@
<!-- </view>-->
</view>
</view>
<view class="amountItem" @click="handleGoMerchantAccount" style="margin-top: 24rpx">
<view class="amountItem" @click="handleGoMerchantAccount" style="margin-top: 56rpx">
<view class="itemTop">
<view class="itemTopLeft">
<image class="leftIcon"
@ -502,7 +502,7 @@
<!-- </view>-->
</view>
</view>
<view class="amountItem" style="margin-top: 24rpx">
<view class="amountItem" style="margin-top: 56rpx">
<view class="itemTop">
<view class="itemTopLeft">
<image class="leftIcon"
@ -540,7 +540,7 @@
<!-- </view>-->
</view>
</view>
<view class="amountItem" style="margin-top: 24rpx">
<view class="amountItem" style="margin-top: 56rpx">
<view class="itemTop">
<view class="itemTopLeft">
<image class="leftIcon"
@ -595,7 +595,7 @@
<span class="contentTitle">商家营收</span>
<span class="contentUnit">/万元</span>
</view>
<view class="revenueAmount" style="margin-top: 24rpx">
<view class="revenueAmount" style="margin-top: 48rpx">
<view class="amountItem">
<view class="itemTop">
<view class="itemTopLeft">
@ -629,7 +629,7 @@
<!-- </view>-->
</view>
</view>
<view class="amountItem" style="margin-top: 24rpx">
<view class="amountItem" style="margin-top: 56rpx">
<view class="itemTop">
<view class="itemTopLeft">
<image class="leftIcon"
@ -662,7 +662,7 @@
<!-- </view>-->
</view>
</view>
<view class="amountItem" style="margin-top: 24rpx">
<view class="amountItem" style="margin-top: 56rpx">
<view class="itemTop">
<view class="itemTopLeft">
<image class="leftIcon"
@ -695,7 +695,7 @@
<!-- </view>-->
</view>
</view>
<view class="amountItem" style="margin-top: 24rpx">
<view class="amountItem" style="margin-top: 56rpx">
<view class="itemTop">
<view class="itemTopLeft">
<image class="leftIcon"
@ -741,8 +741,7 @@
<uniPopup class="popupBox" type="bottom" :round="true" :showIndex="1" :show="showPop" @hidePopup="hidePopup"
:safe-area="true">
<uniPopup class="popupBox" type="bottom" :round="true" :showIndex="1" :show="showPop" @hidePopup="hidePopup">
<view class="popupContentBox">
<view class="label">统计时间</view>
<view class="popupTitleBox">
@ -755,8 +754,8 @@
<span class="unit" style="margin: 0 4px">-</span>
<view class="timeSelectBox">
<picker mode="date" fields="month" class="screen-unit" :value="selectEnd" :start="selectStart"
:end="endSelectTime" @change="handleChangeSelectEnd($event)">
<picker mode="date" fields="month" class="screen-unit" :start="selectStart" :end="endTime"
@change="handleChangeSelectEnd($event)">
<text class="time">{{ selectEnd || '结束时间' }}</text>
</picker>
</view>
@ -833,8 +832,7 @@ export default {
let currentMonth = selectDate.getMonth() + 1
this.currentMonth = currentMonth
this.curYear = selectYear
// this.defaultStart = `${selectYear}-01`
this.defaultStart = `2024-01`
this.defaultStart = `${selectYear}-01`
this.selectStart = `${selectYear}-01`
const nowDate = new Date()
@ -861,6 +859,7 @@ export default {
}
this.selectList.unshift('累计')
}
console.log('this.selectList', this.selectList)
await this.handleGetRevenueData()
await this.handleGetTableData()
uni.hideLoading()
@ -877,14 +876,6 @@ export default {
//
async handleSearchTime() {
if (this.selectStart && this.selectEnd) {
this.selectList = []
const date = new Date(this.selectEnd)
let monthNumber = date.getMonth() + 1
for (let i = 1; i <= monthNumber; i++) {
this.selectList.push(`${i}`)
}
this.selectList.unshift('累计')
this.hidePopup()
this.currentScroll = 'item0'
uni.showLoading({
@ -899,15 +890,8 @@ export default {
async handleChangeSelectStart(e) {
console.log('e', e)
this.selectStart = e.detail.value
const date = new Date(e.detail.value)
let y = date.getFullYear()
const currentDate = new Date()
const currentYear = currentDate.getFullYear()
let currentMonth = currentDate.getMonth() + 1
if (currentMonth < 10) {
currentMonth = '0' + currentMonth
}
// let m = date.getMonth() + 1
const date = new Date(this.selectEnd)
let m = date.getMonth() + 1
// if (this.selectStart && this.selectEnd){
// uni.showLoading({
// title:''
@ -915,10 +899,6 @@ export default {
// this.handleGetPageData(m)
// uni.hideLoading()
// }
//
this.endSelectTime = `${y}-${currentYear === y ? currentMonth : 12}`
this.selectEnd = `${y}-${currentYear === y ? currentMonth : 12}`
this.curYear = y
},
//
async handleChangeSelectEnd(e) {
@ -1341,13 +1321,13 @@ export default {
align-items: center;
.moreText {
font-size: 24rpx;
font-size: 16px;
font-weight: bold;
color: #fff;
}
.time {
font-size: 24rpx;
font-size: 14px;
color: #fff;
}
}
@ -1472,9 +1452,9 @@ export default {
.contentTitle {
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 30rpx;
font-size: 32rpx;
color: #160002;
line-height: 36rpx;
line-height: 44rpx;
text-align: left;
font-style: normal;
margin-right: 4rpx;
@ -1494,12 +1474,11 @@ export default {
.sumBox {
width: 100%;
box-sizing: border-box;
padding: 24rpx 24rpx;
padding: 32rpx 24rpx;
background: #fff;
border-radius: 12rpx;
margin-top: 24rpx;
margin-top: 32rpx;
display: flex;
align-items: center;
justify-content: space-between;
.left {
@ -1526,27 +1505,27 @@ export default {
align-items: flex-end;
.sumMoney {
font-size: 30rpx;
font-size: 36rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
line-height: 44rpx;
}
.sumUnit {
margin-top: 8rpx;
font-size: 24rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 32rpx;
line-height: 40rpx;
.unit {
font-size: 24rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 32rpx;
line-height: 40rpx;
margin-left: 4rpx;
}
}
@ -1574,11 +1553,11 @@ export default {
}
.itemTitle {
font-size: 30rpx;
font-size: 32rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 36rpx;
line-height: 44rpx;
}
.itemUnit {
@ -1592,11 +1571,11 @@ export default {
}
.itemTopRight {
font-size: 30rpx;
font-size: 36rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
line-height: 44rpx;
}
}
@ -1608,20 +1587,20 @@ export default {
display: inline-block;
.bottomItemTitle {
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 30rpx;
margin-bottom: 8rpx;
}
.bottomItemValue {
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
margin-bottom: 4rpx;
}
.bottomItemValue {
font-size: 32rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 30rpx;
line-height: 40rpx;
}
}
}
@ -1741,7 +1720,7 @@ export default {
align-items: center;
.moreText {
font-size: 24rpx;
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
color: #2C99FE;
@ -1764,14 +1743,14 @@ export default {
.dataItem {
display: flex;
flex-direction: column;
margin-top: 24rpx;
margin-top: 32rpx;
.dataBigValue {
font-family: DINAlternate, DINAlternate;
font-weight: bold;
font-size: 30rpx;
font-size: 50rpx;
color: #E83944;
line-height: 36rpx;
line-height: 64rpx;
text-align: left;
font-style: normal;
}
@ -1789,9 +1768,9 @@ export default {
.dataValue {
font-family: DINAlternate, DINAlternate;
font-weight: bold;
font-size: 28rpx;
font-size: 36rpx;
color: #160002;
line-height: 36rpx;
line-height: 64rpx;
text-align: left;
font-style: normal;
}
@ -1801,7 +1780,7 @@ export default {
.addBox {
display: flex;
align-items: center;
justify-content: space-between;
// justify-content: space-between;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
@ -1816,14 +1795,14 @@ export default {
font-weight: bold;
font-size: 28rpx;
color: #E83944;
line-height: 36rpx;
line-height: 32rpx;
text-align: left;
font-style: normal;
margin-left: 8rpx;
}
.staticTimeText {
white-space: nowrap;
font-weight: 400;
font-size: 24rpx;
color: #9A9A9A;
@ -1834,7 +1813,7 @@ export default {
width: 100%;
height: 2rpx;
background: #F5F4F4;
margin: 24rpx 0;
margin: 40rpx 0;
}
.tableBox {

View File

@ -3,8 +3,7 @@
<view class="bigBg">
<view class="top" :style="{height: (menu.bottom + 18) + 'px'}">
<view class="header" :style="{height:menu.height + menu.top + 'px',top:0+'px'}">
<image :style="{ bottom: ((statusBarHeight - 24) / 4) + 'px' }" class="backArrow"
src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack" />
<image :style="{bottom: ((statusBarHeight-24)/4)+'px' }" class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
</view>
</view>
<view class="contentPage">
@ -23,8 +22,7 @@
</view>
</view>
</view>
<view v-if="pageType === 2"
style="display: flex;justify-content: flex-end;box-sizing: border-box;padding-right: 16px">
<view v-if="pageType===2" style="display: flex;justify-content: flex-end;box-sizing: border-box;padding-right: 16px">
{{selectStart || defaultStart}}-{{selectEnd || defaultEnd}}
</view>
<view class="revenueContent">
@ -32,12 +30,9 @@
<!-- <view class="allBox">-->
<!-- <view :class="currentScroll==='all'?'scrollItem selectItem':'scrollItem'" @click="handleChangeTime('all')">累计</view>-->
<!-- </view>-->
<scroll-view scroll-x="true" class="navList" :scrollIntoView="currentScroll"
:scroll-with-animation="true">
<scroll-view scroll-x="true" class="navList" :scrollIntoView="currentScroll" :scroll-with-animation="true">
<view :style="{width: `${60*scrollList.length + 40}px`,height:'100%'}">
<view :class="currentScroll === `item${index + 1}` ? 'scrollItem selectItem' : 'scrollItem'"
v-for="(item, index) in scrollList" :key="index" :id="`item${index + 1}`"
@click="handleChangeTime(index + 1)">{{ item }}</view>
<view :class="currentScroll===`item${index+1}`?'scrollItem selectItem':'scrollItem'" v-for="(item,index) in scrollList" :key="index" :id="`item${index+1}`" @click="handleChangeTime(index+1)">{{item}}</view>
</view>
</scroll-view>
</view>
@ -52,86 +47,61 @@
<view class="sortBox">
<view class="sortItem" @click="handleChangeSortName(1)">
<text class="sortText">{{ `${Number(curYear.toString().slice(2))}${type === 1 ? '销售' : type === 2 ?
'收入' : type === 3 ? '车流' : ''}` }}</text>
<text class="sortText">{{ `${Number(curYear.toString().slice(2))}${type === 1 ? '销售' : type === 2 ? '收入' : type === 3 ? '车流' : ''}` }}</text>
<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="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'" />
<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="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 class="sortItem" @click="handleChangeSortName(2)">
<text class="sortText">{{ `${Number(curYear.toString().slice(2)) - 1}${type === 1 ? '销售' : type === 2
? '收入' : type === 3 ? '车流' : ''}` }}</text>
<text class="sortText">{{ `${Number(curYear.toString().slice(2)) - 1}${type === 1 ? '销售' : type === 2 ? '收入' : type === 3 ? '车流' : ''}` }}</text>
<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="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'" />
<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="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 class="sortItem" @click="handleChangeSortName(3)">
<text class="sortText">{{ `${type === 1 ? '销售' : type === 2 ? '收入' : type === 3 ? '车流' : ''}增长`
}}</text>
<text class="sortText">{{ `${type === 1 ? '销售' : type === 2 ? '收入' : type === 3 ? '车流' : ''}增长` }}</text>
<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="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'" />
<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="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 class="sortItem" @click="handleChangeSortName(4)">
<text class="sortText">{{ `${type === 1 ? '销售' : type === 2 ? '收入' : type === 3 ? '车流' : ''}增幅`
}}</text>
<text class="sortText">{{ `${type === 1 ? '销售' : type === 2 ? '收入' : type === 3 ? '车流' : ''}增幅` }}</text>
<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="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'" />
<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="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 class="modalDetail">
<scroll-view :scroll-y="true" class="typeFirst"
:style="{ height: pageType === 1 ? 'calc(100vh - 270px)' : 'calc(100vh - 240px)' }">
<scroll-view :scroll-y="true" class="typeFirst" :style="{height: pageType===1?'calc(100vh - 270px)':'calc(100vh - 240px)'}">
<view class="listItem" v-for="(item,index) in dataList" :key="index">
<view class="itemLeft" >
<image class="bg" src="https://eshangtech.com/ShopICO/ahyd-BID/car/itemLeftBg.svg"/>
<view class="nameBox">
<text class="serviceName"
:style="{ fontSize: item.ServerpartName.split('服务区')[0].length > 4 ? '26rpx' : '30rpx' }">{{ item.ServerpartName
? item.ServerpartName.split('服务区')[0]:''}}</text>
<text class="serviceName" :style="{fontSize:item.ServerpartName.split('服务区')[0].length>4?'26rpx':'30rpx'}">{{item.ServerpartName ? item.ServerpartName.split('服务区')[0]:''}}</text>
<text class="serviceLabel">服务区</text>
</view>
</view>
<view class="contentRight">
<view class="rightTop">
<view class="rightTopLeft">
<view class="indexBox"
:style="{ backgroundImage: `url(${index === 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/1stBg.svg' : index === 1 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/2stBg.svg' : index === 2 ? 'https://eshangtech.com/ShopICO/ahyd-BID/car/3stBg.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/car/4stBg.svg'})` }">
{{ index + 1 }}</view>
<view class="indexBox" :style="{backgroundImage:`url(${index===0?'https://eshangtech.com/ShopICO/ahyd-BID/car/1stBg.svg':index===1?'https://eshangtech.com/ShopICO/ahyd-BID/car/2stBg.svg':index===2?'https://eshangtech.com/ShopICO/ahyd-BID/car/3stBg.svg':'https://eshangtech.com/ShopICO/ahyd-BID/car/4stBg.svg'})`}">{{index+1}}</view>
</view>
<view class="rightTopRight">
<text class="entryRateLabel">增幅</text>
<view class="entryRateValue">
<span
:style="{ color: type === 1 ? item.RevenueINC.increaseRate > 0 ? '#E83944' : '#0E9976' : type === 2 ? item.AccountINC.increaseRate > 0 ? '#E83944' : '#0E9976' : type === 3 ? item.BayonetINC.increaseRate > 0 ? '#E83944' : '#0E9976' : '-' }">
{{ type === 1 ? item.RevenueINC.increaseRate > 0 ? '+' : '' :
type === 2 ? item.AccountINC.increaseRate > 0 ? '+' : '' :
type===3?item.BayonetINC.increaseRate>0?'+':'':'-'}}
<span :style="{color: type===1?item.RevenueINC.increaseRate>0?'#E83944':'#0E9976': type===2?item.AccountINC.increaseRate>0?'#E83944':'#0E9976': type===3?item.BayonetINC.increaseRate>0?'#E83944':'#0E9976':'-'}">
{{type===1?item.RevenueINC.increaseRate>0?'+':'': type===2?item.AccountINC.increaseRate>0?'+':'': type===3?item.BayonetINC.increaseRate>0?'+':'':'-'}}
</span>
<span
:style="{ color: type === 1 ? item.RevenueINC.increaseRate > 0 ? '#E83944' : '#0E9976' : type === 2 ? item.AccountINC.increaseRate > 0 ? '#E83944' : '#0E9976' : type === 3 ? item.BayonetINC.increaseRate > 0 ? '#E83944' : '#0E9976' : '-' }">
<span :style="{color: type===1?item.RevenueINC.increaseRate>0?'#E83944':'#0E9976': type===2?item.AccountINC.increaseRate>0?'#E83944':'#0E9976': type===3?item.BayonetINC.increaseRate>0?'#E83944':'#0E9976':'-'}">
{{type===1?item.RevenueINC.increaseRate?item.RevenueINC.increaseRate:'-' :
type===2?item.AccountINC.increaseRate?item.AccountINC.increaseRate:'-' :
type===3?item.BayonetINC.increaseRate?item.BayonetINC.increaseRate:'-' :'-'}}%
@ -143,33 +113,25 @@
<view class="rightBottomItem">
<text class="itemLabel">{{curYear}}</text>
<text class="itemValue">
{{ type === 1 ? item.RevenueINC.curYearData ? $util.getMoney(item.RevenueINC.curYearData /
10000) : '0.00' :
type === 2 ? item.AccountINC.curYearData ? $util.getMoney(item.AccountINC.curYearData /
10000) : '0.00' :
type === 3 ? item.BayonetINC.curYearData ? $util.getMoney(item.BayonetINC.curYearData /
10000):'0.00':'-'}}
{{type===1?item.RevenueINC.curYearData?$util.getMoney(item.RevenueINC.curYearData / 10000):'0.00':
type===2?item.AccountINC.curYearData?$util.getMoney(item.AccountINC.curYearData / 10000):'0.00':
type===3?item.BayonetINC.curYearData?$util.getMoney(item.BayonetINC.curYearData / 10000):'0.00':'-'}}
</text>
</view>
<view class="rightBottomItem">
<text class="itemLabel">{{ curYear-1 }}</text>
<text class="itemValue">
{{ type === 1 ? item.RevenueINC.lYearData ? $util.getMoney(item.RevenueINC.lYearData /
10000) : '0.00' :
{{type===1?item.RevenueINC.lYearData?$util.getMoney(item.RevenueINC.lYearData / 10000):'0.00':
type===2?item.AccountINC.lYearData?$util.getMoney(item.AccountINC.lYearData / 10000):'0.00':
type === 3 ? item.BayonetINC.lYearData ? $util.getMoney(item.BayonetINC.lYearData /
10000):'0.00':'-'}}
type===3?item.BayonetINC.lYearData?$util.getMoney(item.BayonetINC.lYearData / 10000):'0.00':'-'}}
</text>
</view>
<view class="rightBottomItem">
<text class="itemLabel">增长</text>
<text class="itemValue">
{{ type === 1 ? item.RevenueINC.increaseData ? $util.getMoney(item.RevenueINC.increaseData /
10000) : '0.00' :
type === 2 ? item.AccountINC.increaseData ? $util.getMoney(item.AccountINC.increaseData /
10000) : '0.00' :
type === 3 ? item.BayonetINC.increaseData ? $util.getMoney(item.BayonetINC.increaseData /
10000):'0.00':'-'}}
{{type===1?item.RevenueINC.increaseData?$util.getMoney(item.RevenueINC.increaseData / 10000):'0.00':
type===2?item.AccountINC.increaseData?$util.getMoney(item.AccountINC.increaseData / 10000):'0.00':
type===3?item.BayonetINC.increaseData?$util.getMoney(item.BayonetINC.increaseData / 10000):'0.00':'-'}}
</text>
</view>
</view>
@ -177,12 +139,10 @@
<view class="otherCarBox" v-if="type!==3">
<view class="left">
<span class="carLabel">车流增幅</span>
<span
:style="{ color: item.BayonetINC.increaseRate > 1000 ? '' : item.BayonetINC.increaseRate > 0 ? '#E83944' : item.BayonetINC.increaseRate < 0 ? '#0E9976' : '' }">
<span :style="{color: item.BayonetINC.increaseRate>1000?'':item.BayonetINC.increaseRate>0?'#E83944':item.BayonetINC.increaseRate<0?'#0E9976':''}">
{{item.BayonetINC.increaseRate>1000?'':item.BayonetINC.increaseRate>0?'+':''}}
</span>
<span
:style="{ color: item.BayonetINC.increaseRate > 1000 ? '' : item.BayonetINC.increaseRate > 0 ? '#E83944' : item.BayonetINC.increaseRate < 0 ? '#0E9976' : '' }">
<span :style="{color: item.BayonetINC.increaseRate>1000?'':item.BayonetINC.increaseRate>0?'#E83944':item.BayonetINC.increaseRate<0?'#0E9976':''}">
{{item.BayonetINC.increaseRate?item.BayonetINC.increaseRate>1000?'-':item.BayonetINC.increaseRate:'-'}}%
</span>
</view>
@ -254,7 +214,7 @@ export default {
this.useInfo = JSON.parse(JSON.stringify(userInfo))
this.lastDay = uni.getStorageSync('lastDay')
const nowDate = new Date(query.selectEnd)
const nowDate = new Date(this.lastDay)
let nowYear = nowDate.getFullYear()
let nowMonth = nowDate.getMonth() + 1
@ -644,18 +604,15 @@ export default {
.main{
width: 100%;
background: #fff;
.bigBg{
width: 100%;
height: 100%;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/revenueBackground.png");
background-repeat: no-repeat;
background-size: 100% 640rpx;
.top{
width: 100%;
height: 324rpx;
//background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/rankBg.png");
//background-repeat: no-repeat;
//background-position: 0 0;
@ -672,7 +629,6 @@ export default {
display: flex;
align-items: center;
z-index: 2;
.backArrow{
width: 24px;
height: 24px;
@ -681,11 +637,9 @@ export default {
}
}
}
.contentPage{
width: 100%;
box-sizing: border-box;
//transform: translateY(-120rpx);
.revenueDetail{
width: 100%;
@ -693,7 +647,6 @@ export default {
border-radius: 16rpx;
box-sizing: border-box;
padding: 2rpx;
.revenueDetailTitleBox{
width: 100%;
height: 90rpx;
@ -709,7 +662,6 @@ export default {
.left{
display: flex;
align-items: center;
.contentMonth{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@ -723,7 +675,6 @@ export default {
margin-right: 8rpx;
background: #F2792E;
}
.leftText{
font-family: DingTalk, DingTalk;
font-weight: 600;
@ -733,12 +684,10 @@ export default {
text-align: left;
font-style: normal;
}
.detailLogo{
width: 178rpx;
height: 32rpx;
}
.modalUnit{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -750,7 +699,6 @@ export default {
top: 30rpx;
}
}
.right{
.typeChangeBox{
display: flex;
@ -759,7 +707,6 @@ export default {
border-radius: 6rpx;
box-sizing: border-box;
padding: 4rpx;
.normal{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -768,7 +715,6 @@ export default {
line-height: 36rpx;
padding: 6rpx 16rpx;
}
.select{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -781,23 +727,19 @@ export default {
}
}
}
.revenueContent{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx 24rpx;
.navBigList{
width: 100%;
height: 40rpx;
display: flex;
align-items: center;
margin-top: 32rpx;
.allBox{
width: 70rpx;
height: 100%;
.scrollItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
@ -805,7 +747,6 @@ export default {
color: #A69E9F;
line-height: 40rpx;
}
.selectItem{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
@ -815,11 +756,9 @@ export default {
}
}
.navList{
width: 100%;
height: 60rpx;
.scrollItem{
width: 60px;
font-size: 28rpx;
@ -830,7 +769,6 @@ export default {
display: inline-block;
text-align: center;
}
.selectItem{
display: inline-block;
width: 60px;
@ -842,7 +780,6 @@ export default {
position: relative;
line-height: 40rpx;
}
.selectItem:after{
content:'';
display: inline-block;
@ -855,7 +792,6 @@ export default {
}
}
}
.dateText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -867,7 +803,6 @@ export default {
.modalBox{
margin-top: 40rpx;
.modalTitleBox{
width: 100%;
box-sizing: border-box;
@ -876,11 +811,9 @@ export default {
display: flex;
align-items: center;
justify-content: space-between;
.modalTitleItem{
display: flex;
align-items: center;
.modalIndex{
width: 12rpx;
height: 12rpx;
@ -888,7 +821,6 @@ export default {
border-radius: 50%;
margin-right: 12rpx;
}
.modalText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -897,7 +829,6 @@ export default {
line-height: 40rpx;
margin-right: 4rpx;
}
.modalUnit{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -906,11 +837,9 @@ export default {
line-height: 36rpx;
}
}
.moreBox{
display: flex;
align-items: center;
.moreText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -918,30 +847,25 @@ export default {
color: #9A9A9A;
line-height: 36rpx;
}
.moreIcon{
width: 24rpx;
height: 36rpx;
margin-left: 4rpx;
}
}
.modalTitleItem1{
font-size: 24rpx;
text-align: center;
}
}
.sortBox{
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16rpx;
.sortItem{
display: flex;
align-items: center;
.sortText{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -949,18 +873,15 @@ export default {
color: #9A9A9A;
line-height: 36rpx;
}
.sortIconBox{
display: flex;
flex-direction: column;
margin-left: 16rpx;
.upIcon{
width: 16rpx;
height: 12rpx;
margin-bottom: 4rpx;
}
.bottomIcon{
width: 16rpx;
height: 12rpx;
@ -972,12 +893,10 @@ export default {
.modalDetail{
width: 100%;
box-sizing: border-box;
.modalDetailTitle{
display: flex;
align-items: center;
padding: 8rpx 0;
.titleItem{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -987,14 +906,12 @@ export default {
text-align: center;
}
}
.typeFirst{
.row{
margin-top: 32rpx;
display: flex;
align-items: center;
margin-top: 32rpx;
.valueItem{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -1004,12 +921,10 @@ export default {
text-align: center;
text-indent: 8rpx;
}
.bigFather{
position: relative;
font-weight: 600;
}
.bigFather:before{
position: absolute;
top: 50%;
@ -1022,12 +937,10 @@ export default {
border-radius: 50%;
background: #DB6465;
}
.father{
position: relative;
font-weight: 600;
}
.father:before{
position: absolute;
top: 50%;
@ -1044,7 +957,6 @@ export default {
.son{
position: relative;
}
.son:before{
position: absolute;
top: 50%;
@ -1057,7 +969,6 @@ export default {
border-radius: 50%;
background: orangered;
}
.compareItem{
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
@ -1065,7 +976,6 @@ export default {
line-height: 40rpx;
text-align: center;
}
.addItem{
font-size: 24rpx;
font-family: DINAlternate, DINAlternate;
@ -1074,7 +984,6 @@ export default {
text-align: center;
}
}
.listItem{
width:100%;
padding: 24rpx;
@ -1083,7 +992,6 @@ export default {
background: #F7F7F7;
margin-bottom: 24rpx;
display: flex;
.itemLeft{
width: 160rpx;
height: 160rpx;
@ -1092,21 +1000,17 @@ export default {
position: relative;
background-repeat: no-repeat;
background-size: cover;
.bg{
position: absolute;
width: 160rpx;
height: 160rpx;
top: 0;
left: 0;
top: 0;left: 0;
z-index: 1;
}
.statueBox{
position: absolute;
z-index: 2;
top: 0;
right: 0;
top: 0;right: 0;
width: 76rpx;
height: 32rpx;
font-size: 20rpx;
@ -1118,7 +1022,6 @@ export default {
background-size: 100% 100%;
text-align: center;
}
.nameBox{
position: absolute;
z-index: 2;
@ -1126,7 +1029,6 @@ export default {
left: 20rpx;
display: flex;
flex-direction: column;
.serviceName{
font-size: 30rpx;
font-family: PingFangSC, PingFang SC;
@ -1135,7 +1037,6 @@ export default {
line-height: 30rpx;
margin-bottom: 6rpx;
}
.serviceLabel{
font-size: 20rpx;
font-family: PingFangSC, PingFang SC;
@ -1145,23 +1046,19 @@ export default {
}
}
}
.contentRight{
width: calc(100% - 176rpx);
margin-left: 16rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
.rightTop{
display: flex;
align-items: center;
justify-content: space-between;
.rightTopLeft{
display: flex;
align-items: center;
.indexBox{
width: 36rpx;
height: 32rpx;
@ -1174,7 +1071,6 @@ export default {
background-repeat: no-repeat;
background-size: 100% 100%;
}
.areaName{
font-size: 28rpx;
font-family: PingFangSC, PingFang SC;
@ -1184,11 +1080,9 @@ export default {
margin-left: 8rpx;
}
}
.rightTopRight{
display: flex;
align-items: center;
.entryRateLabel{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -1196,7 +1090,6 @@ export default {
color: #9A9A9A;
line-height: 32rpx;
}
.entryRateValue{
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
@ -1207,17 +1100,14 @@ export default {
}
}
}
.rightBottom{
display: flex;
justify-content: space-between;
.rightBottomItem{
width: calc(100% / 3);
display: flex;
flex-direction: column;
align-items: flex-end;
.itemLabel{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -1226,7 +1116,6 @@ export default {
line-height: 36rpx;
text-align: right;
}
.itemValue{
font-size: 28rpx;
font-family: DINAlternate, DINAlternate;
@ -1238,13 +1127,11 @@ export default {
}
}
}
.otherCarBox{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.left{
font-size: 24rpx;
font-family: PingFangSC, PingFang SC;
@ -1252,14 +1139,12 @@ export default {
color: #9A9A9A;
line-height: 36rpx;
}
.MoreBox{
width: 30%;
height: 32rpx;
display: flex;
align-items: center;
justify-content: flex-end;
.goMoreIcon{
width: 32rpx;
height: 32rpx;
@ -1268,7 +1153,6 @@ export default {
}
}
}
.load-more {
text-align: center;
width: 100%;
@ -1277,16 +1161,13 @@ export default {
font-size: 24rpx;
}
}
.typeSecond{
.listValueBox{
width: 100%;
.row{
width: 100%;
display: flex;
margin-top: 32rpx;
.rowItem{
text-align: center;
font-size: 24rpx;

View File

@ -9,8 +9,7 @@
:topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"
:pageIndex="4" :headerBg="'linear-gradient( #d09845 0%, #ffffff 100%)'" />
<div class="charts"
:style="{ paddingTop: serviceInfo.SERVERPART_NAME === '安徽驿达' ? menu.bottom + 62 + 14 + 'px' : '' }">
<div class="charts" :style="{ paddingTop: serviceInfo.SERVERPART_NAME === '安徽驿达' ? menu.bottom + 62 + 14 + 'px' : '' }">
<div class="chartsItem">
<div style="display: flex;justify-content: space-between;align-items: center">
<p class="title">交易分析</p>
@ -832,7 +831,7 @@ export default {
}
.time {
// margin-bottom: 4px;
margin-bottom: 4px;
.thisTime {
font-size: 14px;
@ -848,10 +847,7 @@ export default {
.time {
display: flex;
align-items: center;
// margin-right: 4px;
border-radius: 28rpx;
padding: 12rpx 16rpx;
background: #f0e8dd;
margin-right: 4px;
.day {
font-size: 32rpx;

View File

@ -48,7 +48,7 @@
<div class="timeSelect">
<view style="display: flex;align-items: center">
<img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/car/dateIcon.svg" />
<picker mode="date" fields="month" :value="searchText" :end="lastDay" :start="'2023-01'"
<picker mode="date" fields="month" :value="searchText" :end="lastDay"
@change="changeAllProvinceSearch">
<view class="time">
<view class="text">{{ searchTextMonth }}</view>

View File

@ -70,7 +70,7 @@ export default {
rotateLock: false,
background: "#FFFFFF",
color: ["#1E80FF", "#00B6FF"],
padding: [15, 15, 5, 0],
padding: [15, 15, 5, 5],
dataLabel: false,
enableScroll: false,
legend: {
@ -106,8 +106,7 @@ export default {
addLine: true,
width: 2,
gradient: true,
activeType: "hollow",
dataPointShape: false //
activeType: "hollow"
}
}
}
@ -173,8 +172,7 @@ export default {
addLine: true,
width: 2,
gradient: true,
activeType: "hollow",
dataLabel: false //
activeType: "hollow"
}
}
});

View File

@ -6,11 +6,11 @@
<!-- </view>-->
<view class="scrollPage">
<scroll-view class="scrollBox" scroll-x="true"
:scroll-into-view="'item' + isYD && selectIndex === 1 ? 0 : selectIndex" scroll-with-animation>
<scroll-view class="scrollBox" scroll-x="true" :scroll-into-view="'item' + isYD && selectIndex === 1 ? 0 : selectIndex"
scroll-with-animation>
<view :style="{ display: isYD && i === 0 ? 'none' : '' }" :id="'item' + i"
:class="selectIndex === i ? `scrollItem selectScroll${selectIndex}` : 'scrollItem'"
v-for="(item, i) in pageList" :key="i" @click="handleToDetail(i)">
:class="selectIndex === i ? `scrollItem selectScroll${selectIndex}` : 'scrollItem'" v-for="(item, i) in pageList"
:key="i" @click="handleToDetail(i)">
{{ item }}
</view>
</scroll-view>
@ -21,8 +21,7 @@ export default {
name: "sliderPage",
data() {
return {
// pageList: ["", "", "", "", "", "", "", ""],
pageList: ["基础信息", "车流统计", "客群统计", "经营统计", "交易统计", "业态品牌"],
pageList: ["基础信息", "车流统计", "客群统计", "经营统计", "交易统计", "业态品牌", "考核考评", "日常巡检"],
// pageList: [],
urlList: [
'/pages/map/detail',

View File

@ -25,13 +25,12 @@
<no-data v-else />
</div>
<div class="chartsItem" style="margin-top: 32px;height: 330px">
<div class="time" style="width:100%;display: flex;justify-content: flex-end;">
<div class="time">
<div class="select">
<picker mode="date" fields="month" :value="single" :end="endData" @change="bindDateChange">
<view class="time">
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_bottom_guestPortrait.svg">
</image>
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_bottom.svg"></image>
</view>
</picker>
</div>
@ -577,7 +576,7 @@ export default {
background: #fff;
.time {
// margin-bottom: 4px;
margin-bottom: 4px;
.thisTime {
font-size: 14px;
@ -589,21 +588,17 @@ export default {
.select {
margin-left: 8px;
display: inline-block;
border-radius: 28rpx;
padding: 12rpx 16rpx;
background: #EEF7F8;
.time {
display: flex;
align-items: center;
// margin-right: 4px;
margin-right: 4px;
.day {
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
// color: #ae664e;
color: #A0D0C1;
color: #782717;
line-height: 44rpx;
margin-right: 4px;
}
@ -612,8 +607,7 @@ export default {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
// color: #ae664e;
color: #A0D0C1;
color: #ae664e;
line-height: 36rpx;
}
@ -636,20 +630,14 @@ export default {
}
.item {
border-radius: 28rpx;
padding: 12rpx 16rpx;
background: #EEF7F8;
.value {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 400;
// color: #160002;
color: #A0D0C1;
color: #160002;
line-height: 20px;
}
}
}
}
}

View File

@ -3,32 +3,16 @@
<!-- <div style="position: fixed;right: 0;top: 20%;z-index:99999999999">-->
<!-- <commercial-type :have="2"/>-->
<!-- </div>-->
<header-top ref="headerTop" :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo"
:topBg="topBg" :page="page" :backType="backType" :serverpartName="serviceInfo.SERVERPART_NAME"
:spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :topLeftBg="topLeftBg"
:topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"
:pageIndex="3" :headerBg="'linear-gradient( #a28ec3 0%, #ffffff 100%)'" />
<div class="charts"
:style="{ paddingTop: serviceInfo.SERVERPART_NAME === '安徽驿达' ? menu.bottom + 62 + 14 + 'px' : '' }">
<header-top ref="headerTop" :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType" :pageIndex="3"
:headerBg="'linear-gradient( #a28ec3 0%, #ffffff 100%)'"/>
<div class="charts" :style="{paddingTop:serviceInfo.SERVERPART_NAME==='安徽驿达'?menu.bottom + 62 + 14 + 'px':''}">
<div class="chartsItem">
<view class="titleTop" style="justify-content: space-between">
<p class="title">营收分析</p>
<!-- <text>{{ time ? $util.getThisMonthHaveHeng(time) : '' }}</text> -->
<div class="time">
<div class="select">
<picker mode="date" fields="month" :value="single" :start="startTime" :end="endData"
@change="bindDateChange">
<view class="time">
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
<image class="icon"
src="https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_bottom_managePortrait.svg"></image>
</view>
</picker>
</div>
</div>
<text>{{time?$util.getThisMonthHaveHeng(time):''}}</text>
</view>
<!-- <span class="dateText">{{lastDay}}</span>-->
<revenue-analysis :data="monthDetail"/>
@ -52,23 +36,18 @@
<view class="textTop">
<view class="left">
<p class="number">{{plan.percentageMonth?plan.percentageMonth + '%':'-'}}</p>
<p v-if="plan.percentageMonth >= 100" class="desc">
<image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/successMonth.svg"></image>
</p>
<p v-if="plan.percentageMonth>=100" class="desc"><image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/successMonth.svg"></image></p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<view class="box2">
<image class="addIcon"
:src="plan.MonthGrowth_Rate > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<image class="addIcon" :src="plan.MonthGrowth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<p class="text">{{monthAdd?monthAdd + '%':'-'}}</p>
</view>
</view>
</view>
<div class="progressPlan">
<div class="trans" :style="{ width: `${plan.percentageMonth >= 100 ? 100 : plan.percentageMonth}%` }">
</div>
<div class="trans" :style="{width:`${plan.percentageMonth>=100?100:plan.percentageMonth}%`}"></div>
<!-- <div class=pro :style="{width:(100 - plan.percentageMonth)+ '%'}"></div>-->
<!-- <view class="trans" :style="{width: plan.percentageMonth + '%'}"></view>-->
<!-- <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png"></image>-->
@ -106,23 +85,18 @@
<view class="textTop">
<view class="left">
<p class="number">{{plan.percentageYear?plan.percentageYear + '%':'-'}}</p>
<p v-if="plan.percentageYear >= 100" class="desc" style="color: #4E68FF">
<image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image>
</p>
<p v-if="plan.percentageYear>=100" class="desc" style="color: #4E68FF"><image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image></p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<div class="box2">
<image class="addIcon"
:src="plan.YearGrowth_Rate > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<image class="addIcon" :src="plan.YearGrowth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<p class="text">{{yearAdd?yearAdd + '%':''}}</p>
</div>
</view>
</view>
<div class="progressPlan">
<div class="transYear" :style="{ width: `${plan.percentageYear >= 100 ? 100 : plan.percentageYear}%` }">
</div>
<div class="transYear" :style="{width:`${plan.percentageYear>=100?100:plan.percentageYear}%`}"></div>
<!-- <image class="img" :style="{width: plan.percentageYear + '%'}" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png"></image>-->
<!-- <div class=pro :style="{width:(100 - plan.percentageYear)+ '%'}"></div>-->
</div>
@ -148,10 +122,7 @@
<div class="chartsItem" style="margin-top: 32px">
<p class="title">同比分析</p>
<view class="tab" >
<view v-for="(item, index) in tabList" :key="index"
:class="selectTab === item.value ? 'tabItem tabItemActive' : 'tabItem'"
@click="handleChangeTab(item.value)">
{{ item.name }}</view>
<view v-for="(item,index) in tabList" :key="index" :class="selectTab===item.value?'tabItem tabItemActive':'tabItem'" @click="handleChangeTab(item.value)">{{item.name}}</view>
</view>
<div class="subItem">
<p class="title">{{selectTab===0?'营收同比':selectTab===1?'客单同比':selectTab===2?'均价同比':''}}</p>
@ -161,9 +132,7 @@
<p class="sumMoney">{{revenue.data?revenue.data:'-'}}</p>
</div>
<div class="bottom">
<image class="icon"
:src="revenue.add > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/commercial/addArrow.svg' : revenue.add < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/commercial/decline.svg' : ''">
</image>
<image class="icon" :src="revenue.add>0?'https://eshangtech.com/ShopICO/ahyd-BID/commercial/addArrow.svg':revenue.add<0?'https://eshangtech.com/ShopICO/ahyd-BID/commercial/decline.svg':''"></image>
<p class="add">{{revenue.add?revenue.add+'%':'-'}}</p>
<p class="text">(相比去年同日)</p>
</div>
@ -171,8 +140,7 @@
</div>
<div class="subItem" style="height: 230px;margin-top: 20px;">
<div style="margin-bottom: 30px;display: flex;align-items: center;justify-content: space-between">
<p class="title">{{ selectTab === 0 ? '营收特征分析' : selectTab === 1 ? '客单对比' : selectTab === 2 ? '均价对比' : '' }}
</p>
<p class="title">{{selectTab===0?'营收特征分析':selectTab===1?'客单对比':selectTab===2?'均价对比':''}}</p>
<text v-if="selectTab===0" style="margin-top: 12px">单位: 万元</text>
<text v-if="selectTab===1" style="margin-top: 12px">单位: </text>
<text v-if="selectTab===2" style="margin-top: 12px">单位: </text>
@ -192,8 +160,7 @@
</div>
<!-- <no-data/>-->
</div>
<analyse
:analyseInfo="{ analysisins_type: selectTab === 0 ? 1305 : selectTab === 1 ? 1306 : selectTab === 2 ? 1307 : '', analysisins_format: 2000 }" />
<analyse :analyseInfo="{analysisins_type: selectTab===0?1305:selectTab===1?1306:selectTab===2?1307:'',analysisins_format: 2000}"/>
</div>
<div class="chartsItem" style="margin-top: 32px">
<p class="title">营收类型比例</p>
@ -240,8 +207,7 @@ export default {
name: "businessPortrait",
components: {
SliderPage,
NoData, RevenueTrends, MoneyCompare, ContractGuarantee, RevenueAnalysis, headerTop, analyse
},
NoData, RevenueTrends, MoneyCompare, ContractGuarantee, RevenueAnalysis, headerTop,analyse},
data() {
return {
topBg:'linear-gradient(180deg, #D9CCEF 0%, #DED3F2 100%);',
@ -294,11 +260,7 @@ export default {
haveFun:{},
monthDetail:{},//
serviceTypeObj:{},//
serviceInfoObj: {},
single: '',//
endData: '', //
startTime: '2023-01',//
serviceInfoObj:{}
}
},
props:{
@ -379,24 +341,6 @@ export default {
},
methods:{
timestampToTimeMonth,
//
bindDateChange(e) {
const date = new Date(e.detail.value)
const nowDate = new Date()
let y = date.getFullYear()
let m = date.getMonth() + 1
let nowYear = nowDate.getFullYear()
let nowMonth = nowDate.getMonth() + 1
if (nowYear === y && nowMonth === m) {
let d = nowDate.getDate() - 1
this.time = `${nowYear}-${nowMonth}-${d}`
} else {
let d = this.$util.getThisMonthDay(`${y}-${m}`)
this.time = `${y}-${m}-${d}`
}
this.single = this.$util.getThisMonthHave(this.time)
this.onRefresh()
},
//
handleGetPageData(){
//
@ -407,8 +351,6 @@ export default {
if (storeTime){
this.time = storeTime
}
this.single = this.$util.getThisMonthHave(this.time)
this.endData = uni.getStorageSync('lastDay')
let date = new Date(this.time)
let m = date.getMonth() + 1
if (m<10){
@ -449,28 +391,6 @@ export default {
this.getSummaryMonth()
this.handleChangeCurrent()
},
onRefresh() {
//
this.getRevenueList()
//
// this.getOrderTransaction()
//
this.getMoneyCompareList()
//
this.getTrendsList()
//
this.getRevenueType()
//
this.monthYearPlan()
//
this.handleNoticeMonth()
this.handleNoticeYear()
//
this.getServiceInfo()
//
this.getSummaryMonth()
this.handleChangeCurrent()
},
handleChangeCurrent(){
this.$refs.headerTop.handleChangeCurrent()
},
@ -966,19 +886,16 @@ export default {
.main {
width: 100vw;
height: 100vh;
.charts{
width: 100%;
box-sizing: border-box;
padding: 28px 16px 24px;
background: #fff;
.chartsItem{
.titleTop{
display: flex;
align-items: center;
position: relative;
.title {
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
@ -987,67 +904,17 @@ export default {
line-height: 44rpx;
}
.time {
// margin-bottom: 4px;
.thisTime {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 500;
color: #160002;
}
.select {
margin-left: 8px;
display: inline-block;
.time {
display: flex;
align-items: center;
// margin-right: 4px;
border-radius: 28rpx;
padding: 12rpx 16rpx;
background: #E9EFFF;
.day {
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #782717;
line-height: 44rpx;
margin-right: 4px;
}
.uni-input {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #9f74f7;
line-height: 36rpx;
}
.icon {
width: 24px;
height: 16px;
}
}
}
}
.question{
width: 16px;
height: 16px;
margin-left: 4px;
display: flex;
align-items: center;
image{
width: 100%;
height: 100%;
}
}
.titleTopNotice{
position: absolute;
padding: 12px;
@ -1056,23 +923,19 @@ export default {
background: #FFFFFF;
box-shadow: 0 10px 10px 0 rgba(22,0,2,0.1);
}
.meng{
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
top: 0;left: 0;
}
}
.title{
font-size: 17px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 24px;
.unit{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -1081,7 +944,6 @@ export default {
line-height: 20px;
margin-left: 4px;
}
.dateText{
display: inline-block;
margin-left: 16rpx;
@ -1091,28 +953,22 @@ export default {
color: #A69E9F;
}
}
.progress{
width:calc(100vw - 32px);
margin-top: 12px;
.top{
display: flex;
align-items: center;
justify-content: space-between;
.left,
.right {
.left,.right{
display: flex;
align-items: center;
.title{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #160002;
}
.value{
font-size: 18px;
font-family: DINAlternate-Bold, DINAlternate;
@ -1121,46 +977,37 @@ export default {
}
}
}
.bottom{
width: 100%;
height: 14px;
position: relative;
.first{
height: 100%;
position: absolute;
left: 0;
top: 0;
left: 0;top: 0;
background: #1E80FF;
border-radius: 2px 0 0 2px;
}
.first:after{
position: absolute;
content:'';
right: 0;
top: 0;
right: 0;top: 0;
background: #fff;
width: 1px;
height: 100%;
z-index:111;
}
.second{
height: 100%;
position: absolute;
right: 0;
top: 0;
right: 0;top: 0;
background: #00C2FF;
border-radius: 0 2px 2px 0 ;
}
.second:before{
position: absolute;
content:'';
left: 0;
top: 0;
left: 0;top: 0;
background: #fff;
width: 1px;
height: 100%;
@ -1168,7 +1015,6 @@ export default {
}
}
}
.box {
width: 100%;
padding: 12px 16px;
@ -1176,11 +1022,9 @@ export default {
border-radius: 8px;
background: #f5f2f2;
margin-top: 12px;
.top {
width: 100%;
display: flex;
.big {
width: 40px;
height: 40px;
@ -1191,26 +1035,21 @@ export default {
justify-content: center;
align-items: center;
margin-right: 8px;
.icon {
width: 20px;
height: 20px;
}
}
.text {
width: calc(100% - 60px);
padding: 2px 0;
.textTop{
display: flex;
align-items: center;
justify-content: space-between;
.left{
display: flex;
align-items: center;
.number {
font-size: 36rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -1218,14 +1057,12 @@ export default {
color: #150002;
line-height: 40rpx;
}
.desc{
display: flex;
align-items: center;
margin-left: 8px;
font-size: 14px;
color: #FF7043;
.success{
width: 20px;
height: 20px;
@ -1233,13 +1070,11 @@ export default {
}
}
}
.right{
flex: 1;
display: flex;
justify-content: flex-end;
align-items: center;
.comparePlan{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -1248,11 +1083,9 @@ export default {
line-height: 36rpx;
white-space: nowrap;
}
.box2{
display: flex;
align-items: center;
.text{
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -1261,7 +1094,6 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -1279,27 +1111,22 @@ export default {
margin-top: 8px;
position: relative;
overflow: hidden;
.trans{
height: 8px;
position: absolute;
left: 0;
top: 0;
left: 0;top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
}
.transYear{
height: 8px;
position: absolute;
left: 0;
top: 0;
left: 0;top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
}
//.img{
// width: 100%;
// height: 100%;
@ -1319,12 +1146,10 @@ export default {
}
}
}
.bottom {
display: flex;
margin-top: 16px;
padding-left: 48px;
.success {
.text {
font-size: 28rpx;
@ -1333,7 +1158,6 @@ export default {
color: #786b6c;
line-height: 40rpx;
margin-bottom: 2px;
.unit {
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -1343,7 +1167,6 @@ export default {
margin-left: 2px;
}
}
.money {
font-size: 28rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -1354,7 +1177,6 @@ export default {
}
}
}
.tab{
width: 100%;
height: 38px;
@ -1366,7 +1188,6 @@ export default {
align-items: center;
margin-bottom: 12px;
margin-top: 12px;
.tabItem{
display: flex;
justify-content: center;
@ -1379,16 +1200,13 @@ export default {
font-weight: 400;
color: #786B6C;
}
.tabItemActive{
color: #160002;
background: #FFFFFF;
}
}
.subItem{
width:100%;
.title{
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
@ -1397,24 +1215,20 @@ export default {
line-height: 20px;
margin-bottom: 8px;
}
.money{
width:calc(100% - 32px);
padding: 18px 16px;
background: #F7F7F7;
border-radius: 4px;
.top{
display: flex;
align-items: center;
margin-bottom: 4px;
.icon{
width: 20px;
height: 20px;
margin-right: 8px;
}
.sumMoney{
font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate;
@ -1423,18 +1237,15 @@ export default {
line-height: 24px;
}
}
.bottom{
display: flex;
align-items: center;
margin-left: 24px;
.icon{
width: 14px;
height: 14px;
margin-right: 4px;
}
.add{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -1443,7 +1254,6 @@ export default {
line-height: 20px;
margin-right: 4px;
}
.text{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;