update
This commit is contained in:
parent
93251d869e
commit
e96e4d3347
@ -295,6 +295,12 @@
|
|||||||
"navigationStyle": "custom",
|
"navigationStyle": "custom",
|
||||||
"disableScroll": true
|
"disableScroll": true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
<div class="detailBox">
|
<div class="detailBox">
|
||||||
<div class="detailTop">
|
<div class="detailTop">
|
||||||
<div class="topLeft">A类</div>
|
<div class="topLeft">A类</div>
|
||||||
<div class="topRight">
|
<div class="topRight" @click="handleGoServiceMessage">
|
||||||
<span class="rightText">查看更多</span>
|
<span class="rightText">查看更多</span>
|
||||||
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
|
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
|
||||||
</div>
|
</div>
|
||||||
@ -513,6 +513,10 @@ export default {
|
|||||||
this.searchText=''
|
this.searchText=''
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
// 点击查看更多跳转
|
||||||
|
handleGoServiceMessage(){
|
||||||
|
this.$util.toNextRoute('navigateTo', `/pages/map/detail`)
|
||||||
|
},
|
||||||
showScoreAnimation1(copyRightItems,id) {
|
showScoreAnimation1(copyRightItems,id) {
|
||||||
/*
|
/*
|
||||||
cxt_arc.arc(x, y, r, sAngle, eAngle, counterclockwise);
|
cxt_arc.arc(x, y, r, sAngle, eAngle, counterclockwise);
|
||||||
@ -1211,6 +1215,7 @@ export default {
|
|||||||
width:100%;
|
width:100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
overflow: hidden;
|
||||||
.header{
|
.header{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 648rpx;
|
height: 648rpx;
|
||||||
@ -1447,6 +1452,7 @@ export default {
|
|||||||
.moreIcon{
|
.moreIcon{
|
||||||
width: 24rpx;
|
width: 24rpx;
|
||||||
height: 24rpx;
|
height: 24rpx;
|
||||||
|
margin-left: 4rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,29 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="typeBigList">
|
<div class="typeBigList">
|
||||||
<div class="item" v-for="(item,index) in showTypeList" :key="index" @click="handleGo(item.url)">
|
<view class="bigBox">
|
||||||
<image class="icon" :src="item.img"/>
|
<view :class="expand?'ItemBox second':'ItemBox first'">
|
||||||
<text class="text">{{item.text}}</text>
|
<view class="item" @click="handleChangeExpand">
|
||||||
</div>
|
<view class="iconBox">
|
||||||
|
<image class="icon" src="/static/images/user/expand.svg"/>
|
||||||
|
</view>
|
||||||
|
<text class="text">展开</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view :class="expand?'ItemBox first':'ItemBox second'" :style="{opacity: show?1:0}">
|
||||||
|
<div class="item" @click="handleChangeExpand">
|
||||||
|
<view class="iconBox">
|
||||||
|
<image style="transform: rotate(-180deg)" class="icon" src="/static/images/user/expand.svg"/>
|
||||||
|
</view>
|
||||||
|
<text class="text">隐藏</text>
|
||||||
|
</div>
|
||||||
|
<div class="item" v-for="(item,index) in showTypeList" :key="index" @click="handleGo(item.url)">
|
||||||
|
<image class="icon" :src="item.img"/>
|
||||||
|
<text class="text">{{item.text}}</text>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -19,18 +39,20 @@ export default {
|
|||||||
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/business_icon.svg',url:'/pages/commercialBI/managePortrait',text:'经营'},
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/business_icon.svg',url:'/pages/commercialBI/managePortrait',text:'经营'},
|
||||||
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/trade.svg',url:'/pages/commercialBI/businessPortrait',text:'交易'},
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/trade.svg',url:'/pages/commercialBI/businessPortrait',text:'交易'},
|
||||||
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/brand.svg',url:'/pages/commercialBI/formatPortrait',text:'品牌'},
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/brand.svg',url:'/pages/commercialBI/formatPortrait',text:'品牌'},
|
||||||
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/newExamineIcon.svg',url:`/pages/newamine/index?come=index&type=${1}&time=${this.time}`,text:'考核'},
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/newExamineIcon.svg',url:`/pages/examine/detail?type=${1}`,text:'考核'},
|
||||||
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/inspectionIcon.svg',url:`/pages/newamine/index?come=index&type=${2}&time=${this.time}`,text:'巡检'},
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/inspectionIcon.svg',url:`/pages/examine/detail?type=${2}`,text:'巡检'},
|
||||||
],
|
],
|
||||||
showTypeList:[],
|
showTypeList:[],
|
||||||
selectIndex: 5,
|
selectIndex: 7,
|
||||||
pageList : [],// 页面栈数组
|
pageList : [],// 页面栈数组
|
||||||
|
expand: false,// 是否展开
|
||||||
|
show:false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
have:{
|
have:{
|
||||||
type:Number,
|
type:Number,
|
||||||
default:5
|
default:7
|
||||||
},
|
},
|
||||||
time:{
|
time:{
|
||||||
type: String,
|
type: String,
|
||||||
@ -48,7 +70,10 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.showTypeList = list
|
this.showTypeList = list
|
||||||
|
setTimeout(()=>{
|
||||||
|
this.show = true
|
||||||
|
console.log('this.show',this.show)
|
||||||
|
},2000)
|
||||||
},
|
},
|
||||||
deep:true,
|
deep:true,
|
||||||
immediate:true
|
immediate:true
|
||||||
@ -61,17 +86,20 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
handleChangeExpand(){
|
||||||
|
this.expand = !this.expand
|
||||||
|
},
|
||||||
handleGo(url){
|
handleGo(url){
|
||||||
let pageList = getCurrentPages()
|
let pageList = getCurrentPages()
|
||||||
if (pageList.length>=2){
|
if (pageList.length>=2){
|
||||||
uni.redirectTo({
|
uni.redirectTo({
|
||||||
url:url
|
url:url
|
||||||
})
|
})
|
||||||
} else{
|
} else{
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:url
|
url:url
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,29 +110,101 @@ export default {
|
|||||||
position: fixed;
|
position: fixed;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 12%;
|
top: 12%;
|
||||||
.item{
|
.bigBox{
|
||||||
width: 150rpx;
|
width: 100%;
|
||||||
height: 80rpx;
|
height: 100%;
|
||||||
border-radius: 20px 0 0 20px;
|
position: relative;
|
||||||
box-sizing: border-box;
|
.ItemBox,.ItemBox2{
|
||||||
padding: 14rpx;
|
.item{
|
||||||
background: rgba(255,255,255,0.8);
|
width: 150rpx;
|
||||||
display: flex;
|
height: 80rpx;
|
||||||
align-items: center;
|
border-radius: 20px 0 0 20px;
|
||||||
margin-bottom: 10px;
|
box-sizing: border-box;
|
||||||
border: 1px solid #ccc;
|
padding: 14rpx;
|
||||||
.icon{
|
background: rgba(255,255,255,0.8);
|
||||||
width: 52.5rpx;
|
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(88,82,82,0.3);
|
||||||
height: 52.5rpx;
|
display: flex;
|
||||||
border-radius: 50%;
|
align-items: center;
|
||||||
margin-right: 10rpx;
|
margin-bottom: 10px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
.icon{
|
||||||
|
width: 52.5rpx;
|
||||||
|
height: 52.5rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.iconBox{
|
||||||
|
width: 52.5rpx;
|
||||||
|
height: 52.5rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
background: #fff;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.icon{
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: 24rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786B6C;
|
||||||
|
line-height: 36rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.firstItem{
|
||||||
|
animation:toLeft 2s;
|
||||||
|
}
|
||||||
|
.secondItem{
|
||||||
|
animation:toRight 2s;
|
||||||
|
}
|
||||||
|
@keyframes toLeft {
|
||||||
|
0%{
|
||||||
|
transform: translateX(0px);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: translateX(150rpx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes toRight {
|
||||||
|
0%{
|
||||||
|
transform: translateX(0px);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: translateX(150rpx);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.text{
|
.first{
|
||||||
font-size: 24rpx;
|
position: absolute;
|
||||||
font-family: PingFangSC, PingFang SC;
|
top: 0;
|
||||||
font-weight: 400;
|
animation: second 1.5s;
|
||||||
color: #786B6C;
|
animation-fill-mode:forwards;
|
||||||
line-height: 36rpx;
|
}
|
||||||
|
.second{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
animation: first 1.5s;
|
||||||
|
animation-fill-mode:forwards;
|
||||||
|
}
|
||||||
|
@keyframes first {
|
||||||
|
0%{
|
||||||
|
left: -150rpx;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes second {
|
||||||
|
0%{
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
left: -150rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
<p class="price">{{ info.TicketCount?info.TicketCount:'-' }}</p>
|
<p class="price">{{ info.TicketCount?info.TicketCount:'-' }}</p>
|
||||||
<view class="right" v-if="info.TicketCount">
|
<view class="right" v-if="info.TicketCount">
|
||||||
<image class="arrowTop" :src="Number((info.TicketCount / info.TicketAvgCount)-1)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
<image class="arrowTop" :src="Number((info.TicketCount / info.TicketAvgCount)-1)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
<text class="text">{{info.TicketCount / info.TicketAvgCount?Math.abs((((info.TicketCount / info.TicketAvgCount) - 1) *100).toFixed(2)) + '%':'-' + '%'}}</text>
|
<text class="text">{{orderTransaction+'%'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</div>
|
</div>
|
||||||
<p class="text">客单交易 <text class="unit">/笔</text></p>
|
<p class="text">客单交易 <text class="unit">/笔</text></p>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<p class="price">{{ info.AvgTicketPrice?info.AvgTicketPrice:'-' }}</p>
|
<p class="price">{{ info.AvgTicketPrice?info.AvgTicketPrice:'-' }}</p>
|
||||||
<view class="right" v-if="info.AvgTicketPrice">
|
<view class="right" v-if="info.AvgTicketPrice">
|
||||||
<image class="arrowTop" :src="Number((info.AvgTicketPrice / info.MonthAvgTicketPrice)-1)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
<image class="arrowTop" :src="Number((info.AvgTicketPrice / info.MonthAvgTicketPrice)-1)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
<text class="text">{{info.AvgTicketPrice / info.MonthAvgTicketPrice?Math.abs((((info.AvgTicketPrice / info.MonthAvgTicketPrice) - 1) *100).toFixed(2)) + '%':'-' + '%'}}</text>
|
<text class="text">{{orderAveragePrice+'%'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</div>
|
</div>
|
||||||
<p class="text">客单均价 <text class="unit">/元</text></p>
|
<p class="text">客单均价 <text class="unit">/元</text></p>
|
||||||
@ -110,6 +110,8 @@ export default {
|
|||||||
genderList:[false,false,false],
|
genderList:[false,false,false],
|
||||||
addAreaCarNumber:'',//入区车辆增长
|
addAreaCarNumber:'',//入区车辆增长
|
||||||
oneCarPrice:'',//单车价值
|
oneCarPrice:'',//单车价值
|
||||||
|
orderTransaction:'',
|
||||||
|
orderAveragePrice:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -121,10 +123,12 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('value',value)
|
console.log('value111',value)
|
||||||
this.info = value
|
this.info = value
|
||||||
this.addAreaCarNumber = this.info.VehicleCount ? Math.abs((this.info.VehicleCount / this.info.MonthVehicleCount - 1)*100).toFixed(2):''
|
this.addAreaCarNumber = this.info.VehicleCount ? Math.abs((this.info.VehicleCount / this.info.MonthVehicleCount - 1)*100).toFixed(2):''
|
||||||
this.oneCarPrice = this.info.MonthVehicleAmount?Math.abs(((this.info.AvgVehicleAmount / this.info.MonthVehicleAmount) - 1) *100).toFixed(2):''
|
this.oneCarPrice = this.info.MonthVehicleAmount?Math.abs(((this.info.AvgVehicleAmount / this.info.MonthVehicleAmount) - 1) *100).toFixed(2):''
|
||||||
|
this.orderTransaction = this.info.TicketAvgCount? Math.abs((((this.info.TicketCount / this.info.TicketAvgCount) - 1) *100).toFixed(2)):'-'
|
||||||
|
this.orderAveragePrice = this.info.MonthAvgTicketPrice? Math.abs((((this.info.AvgTicketPrice / this.info.MonthAvgTicketPrice) - 1) *100).toFixed(2)):'-'
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
},
|
},
|
||||||
deep:true
|
deep:true
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
<div class="detailBox" :style="{background: detailBoxBg}">
|
<div class="detailBox" :style="{background: detailBoxBg}">
|
||||||
<div class="detailTop">
|
<div class="detailTop">
|
||||||
<div class="topLeft" :style="{background:topLeftBg,color:topLeftColor}">A类</div>
|
<div class="topLeft" :style="{background:topLeftBg,color:topLeftColor}">A类</div>
|
||||||
<div class="topRight">
|
<div class="topRight" @click="handleGoServiceMessage">
|
||||||
<span class="rightText">查看更多</span>
|
<span class="rightText">查看更多</span>
|
||||||
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
|
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
|
||||||
</div>
|
</div>
|
||||||
@ -177,6 +177,10 @@ export default {
|
|||||||
// this.getLabelDetail()
|
// this.getLabelDetail()
|
||||||
// },
|
// },
|
||||||
methods:{
|
methods:{
|
||||||
|
// 点击查看更多跳转
|
||||||
|
handleGoServiceMessage(){
|
||||||
|
this.$util.toNextRoute('navigateTo', `/pages/map/detail`)
|
||||||
|
},
|
||||||
//获得标签
|
//获得标签
|
||||||
async getLabelDetail(){
|
async getLabelDetail(){
|
||||||
let storeTime = uni.getStorageSync('lastDay')
|
let storeTime = uni.getStorageSync('lastDay')
|
||||||
@ -377,6 +381,7 @@ export default {
|
|||||||
.moreIcon{
|
.moreIcon{
|
||||||
width: 24rpx;
|
width: 24rpx;
|
||||||
height: 24rpx;
|
height: 24rpx;
|
||||||
|
margin-left: 4rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,42 +1,86 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="revenueAnalysisMain">
|
<div class="revenueAnalysisMain">
|
||||||
<div class="revenueAnalysis">
|
<div class="revenueAnalysis">
|
||||||
<div class="item">
|
<div class="revenueTop">
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/agreement.svg"></image>
|
<div class="revenueTopLeft">
|
||||||
<div class="info" style="margin-bottom: 24px;">
|
<image class="revenueLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/managerLogo.svg"/>
|
||||||
<p class="title">合同总金额<text class="unit">/万元</text></p>
|
<div class="revenueTopMoney">
|
||||||
<p class="value">{{dataInfo.ContractProfitLoss}}</p>
|
<div class="moneyBox">
|
||||||
|
<text class="text">{{dataInfo.CashPay}}</text>
|
||||||
|
<image class="moneyIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/managerGood.svg"/>
|
||||||
|
</div>
|
||||||
|
<text class="labelText">实收总额<text class="labelUnit">/元</text></text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="revenueTopRight">
|
||||||
|
<!-- <span class="addText">+8.24%</span>-->
|
||||||
|
<!-- <span class="addType">比计划</span>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" style="margin-bottom: 24px;">
|
<div class="revenueDetailList">
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/shopNumber.svg"></image>
|
<div class="revenueDetailItem">
|
||||||
<div class="info">
|
<text class="itemValue">{{dataInfo.Different_Price_More}}</text>
|
||||||
<p class="title">店铺数量<text class="unit">/个</text></p>
|
<text class="itemLabel">长款金额<text class="itemUnit">/元</text></text>
|
||||||
<p class="value">{{dataInfo.ShopCount}}</p>
|
</div>
|
||||||
</div>
|
<div class="revenueDetailItem">
|
||||||
</div>
|
<text class="itemValue">{{dataInfo.Different_Price_Less}}</text>
|
||||||
<div class="item">
|
<text class="itemLabel">短款金额<text class="itemUnit">/元</text></text>
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/add.svg"></image>
|
</div>
|
||||||
<div class="info">
|
<div class="revenueDetailItem">
|
||||||
<p class="title">欠款金额<text class="unit">/万元</text></p>
|
<text class="itemValue">{{dataInfo.TotalOffAmount}}</text>
|
||||||
<p class="value">{{dataInfo.SalesPerSquareMeter}}</p>
|
<text class="itemLabel">优惠金额<text class="itemUnit">/元</text></text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="revenueDetailItem" style="margin-top: 32rpx">
|
||||||
<div class="item">
|
<text class="itemValue">{{dataInfo.TicketCount}}</text>
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/overShop.svg"></image>
|
<text class="itemLabel">客单数量<text class="itemUnit">/笔</text></text>
|
||||||
<div class="info">
|
</div>
|
||||||
<p class="title">半年到期合同<text class="unit">/个</text></p>
|
<div class="revenueDetailItem" style="margin-top: 32rpx">
|
||||||
<p class="value">{{dataInfo.ExpiredShopCount}}</p>
|
<text class="itemValue">{{dataInfo.TotalCount}}</text>
|
||||||
|
<text class="itemLabel">商品出售<text class="itemUnit">/件</text></text>
|
||||||
|
</div>
|
||||||
|
<div class="revenueDetailItem" style="margin-top: 32rpx">
|
||||||
|
<text class="itemValue">{{dataInfo.average}}</text>
|
||||||
|
<text class="itemLabel">商品均价<text class="itemUnit">/元</text></text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <div class="item">-->
|
||||||
|
<!-- <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/agreement.svg"></image>-->
|
||||||
|
<!-- <div class="info" style="margin-bottom: 24px;">-->
|
||||||
|
<!-- <p class="title">合同总金额<text class="unit">/万元</text></p>-->
|
||||||
|
<!-- <p class="value">{{dataInfo.ContractProfitLoss}}</p>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="item" style="margin-bottom: 24px;">-->
|
||||||
|
<!-- <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/shopNumber.svg"></image>-->
|
||||||
|
<!-- <div class="info">-->
|
||||||
|
<!-- <p class="title">店铺数量<text class="unit">/个</text></p>-->
|
||||||
|
<!-- <p class="value">{{dataInfo.ShopCount}}</p>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="item">-->
|
||||||
|
<!-- <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/add.svg"></image>-->
|
||||||
|
<!-- <div class="info">-->
|
||||||
|
<!-- <p class="title">欠款金额<text class="unit">/万元</text></p>-->
|
||||||
|
<!-- <p class="value">{{dataInfo.SalesPerSquareMeter}}</p>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="item">-->
|
||||||
|
<!-- <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/overShop.svg"></image>-->
|
||||||
|
<!-- <div class="info">-->
|
||||||
|
<!-- <p class="title">半年到期合同<text class="unit">/个</text></p>-->
|
||||||
|
<!-- <p class="value">{{dataInfo.ExpiredShopCount}}</p>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="list" v-if="id">
|
<!-- <div class="list" v-if="id">-->
|
||||||
<!-- <p class="bigTitle" v-if="dataInfo.ContractList.length>0">即将到期合同列表: </p>-->
|
<!--<!– <p class="bigTitle" v-if="dataInfo.ContractList.length>0">即将到期合同列表: </p>–>-->
|
||||||
<div class="item" v-for="(item,index) in dataInfo.ContractList" :key="index">
|
<!-- <div class="item" v-for="(item,index) in dataInfo.ContractList" :key="index">-->
|
||||||
<div class="title">{{item.name}}</div>
|
<!-- <div class="title">{{item.name}}</div>-->
|
||||||
<div class="value">{{item.value}}到期</div>
|
<!-- <div class="value">{{item.value}}到期</div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -61,9 +105,16 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
this.dataInfo = value
|
this.dataInfo = JSON.parse(JSON.stringify(value))
|
||||||
this.dataInfo.ContractProfitLoss = this.$util.fmoney(this.dataInfo.ContractProfitLoss)
|
this.dataInfo.CashPay = this.$util.fmoney(this.dataInfo.CashPay,2)
|
||||||
this.dataInfo.SalesPerSquareMeter = this.$util.fmoney(this.dataInfo.SalesPerSquareMeter)
|
this.dataInfo.Different_Price_More = this.$util.fmoney(this.dataInfo.Different_Price_More,2)
|
||||||
|
this.dataInfo.Different_Price_Less = this.$util.fmoney(this.dataInfo.Different_Price_Less,2)
|
||||||
|
this.dataInfo.TotalOffAmount = this.$util.fmoney(this.dataInfo.TotalOffAmount,2)
|
||||||
|
this.dataInfo.TicketCount = this.$util.fmoney(this.dataInfo.TicketCount,2)
|
||||||
|
this.dataInfo.TotalCount = this.$util.fmoney(this.dataInfo.TotalCount,2)
|
||||||
|
this.dataInfo.average = this.$util.fmoney((value.CashPay / value.TicketCount),2)
|
||||||
|
// this.dataInfo.ContractProfitLoss = this.$util.fmoney(this.dataInfo.ContractProfitLoss)
|
||||||
|
// this.dataInfo.SalesPerSquareMeter = this.$util.fmoney(this.dataInfo.SalesPerSquareMeter)
|
||||||
console.log('value',value)
|
console.log('value',value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -77,14 +128,117 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.revenueAnalysisMain{
|
.revenueAnalysisMain{
|
||||||
.revenueAnalysis{
|
.revenueAnalysis{
|
||||||
width: calc(100%);
|
width: 100%;
|
||||||
background: #F7F7F7;
|
background: #FAF9FC;
|
||||||
border-radius: 4px;
|
border-radius: 16rpx;
|
||||||
padding: 12px;
|
padding: 32rpx 24rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: wrap;
|
flex-flow: wrap;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
|
.revenueTop{
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
.revenueTopLeft{
|
||||||
|
display: flex;
|
||||||
|
height: 88rpx;
|
||||||
|
.revenueLogo{
|
||||||
|
width: 88rpx;
|
||||||
|
height: 88rpx;
|
||||||
|
margin-right: 16rpx;
|
||||||
|
}
|
||||||
|
.revenueTopMoney{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 88rpx;
|
||||||
|
.moneyBox{
|
||||||
|
height: 48rpx;
|
||||||
|
.text{
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-family: DINAlternate, DINAlternate;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #160002;
|
||||||
|
line-height: 48rpx;
|
||||||
|
}
|
||||||
|
.moneyIcon{
|
||||||
|
width: 32rpx;
|
||||||
|
height: 32rpx;
|
||||||
|
margin-left: 12rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.labelText{
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786B6C;
|
||||||
|
line-height: 40rpx;
|
||||||
|
.labelUnit{
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #A69E9F;
|
||||||
|
line-height: 40rpx;
|
||||||
|
margin-left: 4rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.revenueTopRight{
|
||||||
|
height: 88rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-end;
|
||||||
|
justify-content: space-between;
|
||||||
|
.addText{
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-family: DINAlternate, DINAlternate;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #E83944;
|
||||||
|
line-height: 48rpx;
|
||||||
|
}
|
||||||
|
.addType{
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #A69E9F;
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.revenueDetailList{
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 48rpx;
|
||||||
|
.revenueDetailItem{
|
||||||
|
display: inline-block;
|
||||||
|
width: calc(100% / 3);
|
||||||
|
.itemValue{
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: DINAlternate, DINAlternate;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #341D00;
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
.itemLabel{
|
||||||
|
display: block;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786B6C;
|
||||||
|
line-height: 40rpx;
|
||||||
|
.itemUnit{
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #A69E9F;
|
||||||
|
line-height: 40rpx;
|
||||||
|
margin-left: 4rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.item{
|
.item{
|
||||||
width: 50%;
|
width: 50%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999">
|
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999">
|
||||||
|
<commercial-type :have="4"/>
|
||||||
|
</div>
|
||||||
|
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999">
|
||||||
<!-- <commercial-type :have="4"/>-->
|
<!-- <commercial-type :have="4"/>-->
|
||||||
</div>
|
</div>
|
||||||
<!-- <header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"-->
|
<!-- <header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"-->
|
||||||
|
|||||||
@ -10,8 +10,8 @@
|
|||||||
|
|
||||||
<div class="charts">
|
<div class="charts">
|
||||||
<div class="chartsItem">
|
<div class="chartsItem">
|
||||||
<p class="title">合同执行情况</p>
|
<p class="title">营收分析</p>
|
||||||
<revenue-analysis :data="revenueList"/>
|
<revenue-analysis :data="monthDetail"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
<p class="title">合同保底</p>
|
<p class="title">合同保底</p>
|
||||||
@ -34,7 +34,7 @@
|
|||||||
<p class="sumMoney">{{revenue.data?revenue.data:'-'}}</p>
|
<p class="sumMoney">{{revenue.data?revenue.data:'-'}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/addArrow.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="add">{{revenue.add?revenue.add+'%':'-'}}</p>
|
||||||
<p class="text">(相比去年同日)</p>
|
<p class="text">(相比去年同日)</p>
|
||||||
</div>
|
</div>
|
||||||
@ -246,7 +246,8 @@ export default {
|
|||||||
yearNoticeText:'',
|
yearNoticeText:'',
|
||||||
lastDay:'',
|
lastDay:'',
|
||||||
month:'',
|
month:'',
|
||||||
haveFun:{}
|
haveFun:{},
|
||||||
|
monthDetail:{},// 月度汇总信息 头部的内容
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
@ -283,7 +284,6 @@ export default {
|
|||||||
}
|
}
|
||||||
//营收分析
|
//营收分析
|
||||||
this.getRevenueList()
|
this.getRevenueList()
|
||||||
|
|
||||||
//客流客单交易
|
//客流客单交易
|
||||||
// this.getOrderTransaction()
|
// this.getOrderTransaction()
|
||||||
//营收对比
|
//营收对比
|
||||||
@ -299,6 +299,8 @@ export default {
|
|||||||
this.handleNoticeYear()
|
this.handleNoticeYear()
|
||||||
// 服务区基本信息
|
// 服务区基本信息
|
||||||
this.getServiceInfo()
|
this.getServiceInfo()
|
||||||
|
// 月度汇总信息
|
||||||
|
this.getSummaryMonth()
|
||||||
},
|
},
|
||||||
onUnload() {
|
onUnload() {
|
||||||
this.$util.addUserBehavior()
|
this.$util.addUserBehavior()
|
||||||
@ -439,6 +441,23 @@ export default {
|
|||||||
handleNoShowNoticeYear(){
|
handleNoShowNoticeYear(){
|
||||||
this.showNoticeYear = false
|
this.showNoticeYear = false
|
||||||
},
|
},
|
||||||
|
async getSummaryMonth(){
|
||||||
|
console.log('this.time',this.time)
|
||||||
|
const date = new Date(this.time)
|
||||||
|
let y = date.getFullYear()
|
||||||
|
let m = date.getMonth() + 1
|
||||||
|
if (m<10){
|
||||||
|
m = '0'+m
|
||||||
|
}
|
||||||
|
const req= {
|
||||||
|
pushProvinceCode:'340000',
|
||||||
|
StatisticsMonth:`${y}${m}`,
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi/Revenue/GetSummaryRevenueMonth',req)
|
||||||
|
console.log('data22222',data)
|
||||||
|
this.monthDetail = data.Result_Data.MonthRevenueModel
|
||||||
|
},
|
||||||
|
|
||||||
async getRevenueList(){
|
async getRevenueList(){
|
||||||
let req = {
|
let req = {
|
||||||
statisticsDate:this.time,
|
statisticsDate:this.time,
|
||||||
|
|||||||
211
pages/examine/commercialType.vue
Normal file
211
pages/examine/commercialType.vue
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
<template>
|
||||||
|
<div class="typeBigList">
|
||||||
|
<view class="bigBox">
|
||||||
|
<view :class="expand?'ItemBox second':'ItemBox first'">
|
||||||
|
<view class="item" @click="handleChangeExpand">
|
||||||
|
<view class="iconBox">
|
||||||
|
<image class="icon" src="/static/images/user/expand.svg"/>
|
||||||
|
</view>
|
||||||
|
<text class="text">展开</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view :class="expand?'ItemBox first':'ItemBox second'" :style="{opacity: show?1:0}">
|
||||||
|
<div class="item" @click="handleChangeExpand">
|
||||||
|
<view class="iconBox">
|
||||||
|
<image style="transform: rotate(-180deg)" class="icon" src="/static/images/user/expand.svg"/>
|
||||||
|
</view>
|
||||||
|
<text class="text">隐藏</text>
|
||||||
|
</div>
|
||||||
|
<div class="item" v-for="(item,index) in showTypeList" :key="index" @click="handleGo(item.url)">
|
||||||
|
<image class="icon" :src="item.img"/>
|
||||||
|
<text class="text">{{item.text}}</text>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "commercialType",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
typeList:[
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/car.svg',url:'/pages/commercialBI/carPortrait',text:'车流'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/guest.svg',url:'/pages/commercialBI/guestPortrait',text:'客群'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/business_icon.svg',url:'/pages/commercialBI/managePortrait',text:'经营'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/trade.svg',url:'/pages/commercialBI/businessPortrait',text:'交易'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/brand.svg',url:'/pages/commercialBI/formatPortrait',text:'品牌'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/newExamineIcon.svg',url:`/pages/examine/detail?type=${1}`,text:'考核'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/inspectionIcon.svg',url:`/pages/examine/detail?type=${2}`,text:'巡检'},
|
||||||
|
],
|
||||||
|
showTypeList:[],
|
||||||
|
selectIndex: 7,
|
||||||
|
pageList : [],// 页面栈数组
|
||||||
|
expand: false,// 是否展开
|
||||||
|
show:false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props:{
|
||||||
|
have:{
|
||||||
|
type:Number,
|
||||||
|
default:7
|
||||||
|
},
|
||||||
|
time:{
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
have:{
|
||||||
|
handler(value){
|
||||||
|
this.selectIndex = value
|
||||||
|
let list = []
|
||||||
|
this.typeList.forEach((item,index)=>{
|
||||||
|
if (index !== this.selectIndex){
|
||||||
|
list.push(item)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.showTypeList = list
|
||||||
|
setTimeout(()=>{
|
||||||
|
this.show = true
|
||||||
|
console.log('this.show',this.show)
|
||||||
|
},2000)
|
||||||
|
},
|
||||||
|
deep:true,
|
||||||
|
immediate:true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(){
|
||||||
|
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
|
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleChangeExpand(){
|
||||||
|
this.expand = !this.expand
|
||||||
|
},
|
||||||
|
handleGo(url){
|
||||||
|
let pageList = getCurrentPages()
|
||||||
|
if (pageList.length>=2){
|
||||||
|
uni.redirectTo({
|
||||||
|
url:url
|
||||||
|
})
|
||||||
|
} else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:url
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.typeBigList{
|
||||||
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
|
top: 12%;
|
||||||
|
.bigBox{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
.ItemBox,.ItemBox2{
|
||||||
|
.item{
|
||||||
|
width: 150rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
border-radius: 20px 0 0 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 14rpx;
|
||||||
|
background: rgba(255,255,255,0.8);
|
||||||
|
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(88,82,82,0.3);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
.icon{
|
||||||
|
width: 52.5rpx;
|
||||||
|
height: 52.5rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.iconBox{
|
||||||
|
width: 52.5rpx;
|
||||||
|
height: 52.5rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
background: #fff;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.icon{
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: 24rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786B6C;
|
||||||
|
line-height: 36rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.firstItem{
|
||||||
|
animation:toLeft 2s;
|
||||||
|
}
|
||||||
|
.secondItem{
|
||||||
|
animation:toRight 2s;
|
||||||
|
}
|
||||||
|
@keyframes toLeft {
|
||||||
|
0%{
|
||||||
|
transform: translateX(0px);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: translateX(150rpx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes toRight {
|
||||||
|
0%{
|
||||||
|
transform: translateX(0px);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: translateX(150rpx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.first{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
animation: second 1.5s;
|
||||||
|
animation-fill-mode:forwards;
|
||||||
|
}
|
||||||
|
.second{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
animation: first 1.5s;
|
||||||
|
animation-fill-mode:forwards;
|
||||||
|
}
|
||||||
|
@keyframes first {
|
||||||
|
0%{
|
||||||
|
left: -150rpx;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes second {
|
||||||
|
0%{
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
left: -150rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
1104
pages/examine/detail.vue
Normal file
1104
pages/examine/detail.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="rateMain">
|
<view class="rateMain">
|
||||||
<image v-if="preferPath" style="width: 144rpx;height: 144rpx" :src="preferPath"></image>
|
<image v-if="preferPath" style="width: 144rpx;height: 144rpx" :src="preferPath"></image>
|
||||||
<canvas style="width: 144rpx;height: 144rpx;position:fixed;left: 100%" canvas-id="rate" id="rate"/>
|
<canvas v-if="name" style="width: 144rpx;height: 144rpx;position:fixed;left: 100%" :canvas-id="name" :id="name"/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -23,6 +23,10 @@ export default {
|
|||||||
colorList:{
|
colorList:{
|
||||||
type: Array,
|
type: Array,
|
||||||
default:[]
|
default:[]
|
||||||
|
},
|
||||||
|
name:{
|
||||||
|
type:String,
|
||||||
|
default:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
@ -36,8 +40,7 @@ export default {
|
|||||||
data:[{name:'驿站营收',value:0},{name:'未完成',value:0}]
|
data:[{name:'驿站营收',value:0},{name:'未完成',value:0}]
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
console.log('res',res)
|
this.drawCharts(this.name,res)
|
||||||
this.drawCharts('rate',res)
|
|
||||||
}else{
|
}else{
|
||||||
let firstRate = Number(((value[0] / sum)*100).toFixed(2))
|
let firstRate = Number(((value[0] / sum)*100).toFixed(2))
|
||||||
let secondRate = 100 - Number(firstRate)
|
let secondRate = 100 - Number(firstRate)
|
||||||
@ -46,8 +49,7 @@ export default {
|
|||||||
data:[{name:'驿站营收',value:firstRate},{name:'未完成',value:secondRate}]
|
data:[{name:'驿站营收',value:firstRate},{name:'未完成',value:secondRate}]
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
console.log('res',res)
|
this.drawCharts(this.name,res)
|
||||||
this.drawCharts('rate',res)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -95,7 +97,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
setTimeout( ()=>{
|
setTimeout( ()=>{
|
||||||
this.canvasToTempImage('rate')
|
this.canvasToTempImage(this.name)
|
||||||
},500)
|
},500)
|
||||||
},
|
},
|
||||||
canvasToTempImage(id){
|
canvasToTempImage(id){
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
<view class="meng" v-if="showRealBox" @click="changeShowRealBox"></view>
|
<view class="meng" v-if="showRealBox" @click="changeShowRealBox"></view>
|
||||||
<view class="meng" v-if="showHaveNotice" @click.stop="handleShowHaveNoticeBox"></view>
|
<view class="meng" v-if="showHaveNotice" @click.stop="handleShowHaveNoticeBox"></view>
|
||||||
<view class="meng" v-if="showMonthDetail" @click.stop="handleShowTrafficDetail"></view>
|
<view class="meng" v-if="showMonthDetail" @click.stop="handleShowTrafficDetail"></view>
|
||||||
|
<view class="meng" v-if="ydModal" @click.stop="handleShowYDModal"></view>
|
||||||
<!-- 根据要显示的内容 切换高度 -->
|
<!-- 根据要显示的内容 切换高度 -->
|
||||||
<view :class="1<=selectMonth && selectMonth<=3?'header':4<=selectMonth && selectMonth<=6?'header secondHeader':7<=selectMonth && selectMonth<=9?'header thirdHeader':8<=selectMonth && selectMonth<=12?'header forthHeader':'header'"
|
<view :class="1<=selectMonth && selectMonth<=3?'header':4<=selectMonth && selectMonth<=6?'header secondHeader':7<=selectMonth && selectMonth<=9?'header thirdHeader':8<=selectMonth && selectMonth<=12?'header forthHeader':'header'"
|
||||||
>
|
>
|
||||||
@ -102,19 +103,23 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="moneyRate">
|
<view class="moneyRate">
|
||||||
<view class="leftBox">
|
<view class="leftBox" @click="handleShowYDModal">
|
||||||
<rateCharts :success="moneyRateList" :colorList="['#A66A37','#DCA858']"/>
|
<rateCharts :success="moneyRateList" :colorList="['#A66A37','#DCA858']" :name="`${selectMonth}rate`"/>
|
||||||
|
<view class="haveNoticeBox" v-if="ydModal" @click.stop="handleShowYDModal">
|
||||||
|
<text class="label">驿达入账:<text class="value">{{ydRate}}%</text></text>
|
||||||
|
<text class="label">商家入账:<text class="value">{{shopRate}}%</text></text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="rightBox">
|
<view class="rightBox">
|
||||||
<view class="noticeItem">
|
<view class="noticeItem">
|
||||||
<view class="noticeTop"></view>
|
<view class="noticeTop" :style="{background:1<=selectMonth && selectMonth<=3?'#DB573B':4<=selectMonth && selectMonth<=6?'#137BBD':7<=selectMonth && selectMonth<=9?'#3663CB':'#A66A37'}"></view>
|
||||||
<view class="noticeText">驿达入账<span class="noticeSmallText">/万元</span></view>
|
<view class="noticeText">驿达入账<span class="noticeSmallText">/万元</span></view>
|
||||||
<view class="noticeMoney">-</view>
|
<text class="noticeMoney">{{currentPeriodData.Royalty_Theory?$util.fmoney(currentPeriodData.Royalty_Theory / 10000,2):'-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="noticeItem">
|
<view class="noticeItem">
|
||||||
<view class="noticeTop" style="background: #DCA858"></view>
|
<view class="noticeTop" :style="{background:1<=selectMonth && selectMonth<=3?'#FFAB30':4<=selectMonth && selectMonth<=6?'#5DC1E0':7<=selectMonth && selectMonth<=9?'#7CADF8':'#DCA858'}"></view>
|
||||||
<view class="noticeText">商家入账<span class="noticeSmallText">/万元</span></view>
|
<view class="noticeText">商家入账<span class="noticeSmallText">/万元</span></view>
|
||||||
<view class="noticeMoney">-</view>
|
<text class="noticeMoney">{{ currentPeriodData.SubRoyalty_Theory?$util.fmoney(currentPeriodData.SubRoyalty_Theory / 10000,2):'-' }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -362,7 +367,7 @@
|
|||||||
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/1stTypeImg.svg"/>
|
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/1stTypeImg.svg"/>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="report" >
|
<view class="report" @click="handleGoServiceMessage">
|
||||||
<text class="reportTitle">服务区信息</text>
|
<text class="reportTitle">服务区信息</text>
|
||||||
<image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/2stTypeImg.svg"/>
|
<image class="timeIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/2stTypeImg.svg"/>
|
||||||
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/serviceCar.svg"/>
|
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex2/serviceCar.svg"/>
|
||||||
@ -461,7 +466,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</view>
|
</view>
|
||||||
<!-- 人流预警-->
|
<!-- 人流预警-->
|
||||||
<view class="peopleWarning" >
|
<view class="peopleWarning" v-if="false">
|
||||||
<div class="carWarningTop">
|
<div class="carWarningTop">
|
||||||
<div class="warningBox">
|
<div class="warningBox">
|
||||||
<image class="warningIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/personIcon.svg"/>
|
<image class="warningIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/personIcon.svg"/>
|
||||||
@ -920,7 +925,11 @@ export default {
|
|||||||
trafficCurrentObj:{},// 当前月
|
trafficCurrentObj:{},// 当前月
|
||||||
showMonthDetail:false,//月度车流的显示框
|
showMonthDetail:false,//月度车流的显示框
|
||||||
yesObjCompared:'',//昨日营收的比较值
|
yesObjCompared:'',//昨日营收的比较值
|
||||||
moneyRateList:[]
|
moneyRateList:[],
|
||||||
|
currentPeriodData:{},// 本期数据
|
||||||
|
ydModal: false,// 显示驿达百分比的具体值
|
||||||
|
ydRate:'',// 驿达百分比
|
||||||
|
shopRate:'',// 商家百分比
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
@ -1015,9 +1024,9 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(option){
|
onLoad(option){
|
||||||
const _this = this
|
const _this = this
|
||||||
setTimeout(()=>{
|
// setTimeout(()=>{
|
||||||
_this.moneyRateList = [0,0]
|
// _this.moneyRateList = [0,0]
|
||||||
},3000)
|
// },3000)
|
||||||
// 顶部显示的时间
|
// 顶部显示的时间
|
||||||
this.single = timestampToTimeMonth((new Date(this.lastDay).getTime()))
|
this.single = timestampToTimeMonth((new Date(this.lastDay).getTime()))
|
||||||
// 获取手机参数对页面进行适配 主要是用于拿到胶囊的位置
|
// 获取手机参数对页面进行适配 主要是用于拿到胶囊的位置
|
||||||
@ -1129,6 +1138,39 @@ export default {
|
|||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
...mapActions(['memberLogin','getLoginCode']),
|
...mapActions(['memberLogin','getLoginCode']),
|
||||||
|
// 点击服务区信息跳转
|
||||||
|
handleGoServiceMessage(){
|
||||||
|
this.$util.toNextRoute('navigateTo', `/pages/map/detail?isPicker=${true}&come=index`)
|
||||||
|
|
||||||
|
// let _this = this
|
||||||
|
// let currentService = uni.getStorageSync('currentService')
|
||||||
|
// let nearService = uni.getStorageSync('nearService')
|
||||||
|
// if (currentService){
|
||||||
|
// }else if (nearService){
|
||||||
|
// uni.setStorageSync('currentService',nearService)
|
||||||
|
// }else{
|
||||||
|
// wx.getPrivacySetting({
|
||||||
|
// success: res=>{
|
||||||
|
// if (res.needAuthorization){
|
||||||
|
// this.$util.toNextRoute('redirectTo', '/pages/register/register')
|
||||||
|
// }else{
|
||||||
|
// wx.getFuzzyLocation({
|
||||||
|
// type:'gcj02',
|
||||||
|
// altitude:true,
|
||||||
|
// success: (res) =>{
|
||||||
|
// let seatInfo = {
|
||||||
|
// latitude:res.latitude,
|
||||||
|
// longitude:res.longitude
|
||||||
|
// }
|
||||||
|
// uni.setStorageSync('seatInfo', seatInfo);
|
||||||
|
// this.seat = seatInfo
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
},
|
||||||
// 拿到国庆数据
|
// 拿到国庆数据
|
||||||
async handleGetNationalData(){
|
async handleGetNationalData(){
|
||||||
let req = {
|
let req = {
|
||||||
@ -1245,14 +1287,30 @@ export default {
|
|||||||
}
|
}
|
||||||
const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req)
|
const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req)
|
||||||
console.log('datanearestService',data)
|
console.log('datanearestService',data)
|
||||||
// let res = {
|
let nearService = uni.getStorageSync('nearService')
|
||||||
// SERVERPART_NAME:data.Result_Data.List[0].SERVERPART_NAME,//服务区
|
if (!nearService){
|
||||||
// SPREGIONTYPE_NAME:data.Result_Data.List[0].SPREGIONTYPE_NAME,//片区
|
let res = {
|
||||||
// SPRegionType_ID:data.Result_Data.List[0].SPREGIONTYPE_ID,//片区id
|
SERVERPART_NAME:data.Result_Data.List[0].SERVERPART_NAME,//服务区
|
||||||
// Serverpart_ID:data.Result_Data.List[0].SERVERPART_ID,//服务区id
|
SPREGIONTYPE_NAME:data.Result_Data.List[0].SPREGIONTYPE_NAME,//片区
|
||||||
// longitude:data.Result_Data.List[0].SERVERPART_X,
|
SPRegionType_ID:data.Result_Data.List[0].SPREGIONTYPE_ID,//片区id
|
||||||
// latitude:data.Result_Data.List[0].SERVERPART_Y,
|
Serverpart_ID:data.Result_Data.List[0].SERVERPART_ID,//服务区id
|
||||||
// }
|
longitude:data.Result_Data.List[0].SERVERPART_X,
|
||||||
|
latitude:data.Result_Data.List[0].SERVERPART_Y,
|
||||||
|
}
|
||||||
|
uni.setStorageSync('nearService',res)
|
||||||
|
}
|
||||||
|
let currentService = uni.getStorageSync('currentService')
|
||||||
|
if (!currentService){
|
||||||
|
let res = {
|
||||||
|
SERVERPART_NAME:data.Result_Data.List[0].SERVERPART_NAME,//服务区
|
||||||
|
SPREGIONTYPE_NAME:data.Result_Data.List[0].SPREGIONTYPE_NAME,//片区
|
||||||
|
SPRegionType_ID:data.Result_Data.List[0].SPREGIONTYPE_ID,//片区id
|
||||||
|
Serverpart_ID:data.Result_Data.List[0].SERVERPART_ID,//服务区id
|
||||||
|
longitude:data.Result_Data.List[0].SERVERPART_X,
|
||||||
|
latitude:data.Result_Data.List[0].SERVERPART_Y,
|
||||||
|
}
|
||||||
|
uni.setStorageSync('currentService',res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// let res = {
|
// let res = {
|
||||||
@ -1595,6 +1653,9 @@ export default {
|
|||||||
this.handleGetAllCarTraffic()
|
this.handleGetAllCarTraffic()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handleShowYDModal(){
|
||||||
|
this.ydModal = !this.ydModal
|
||||||
|
},
|
||||||
getCarInfo(date){
|
getCarInfo(date){
|
||||||
const data = {
|
const data = {
|
||||||
Statistics_Date:date?date:this.lastDay,
|
Statistics_Date:date?date:this.lastDay,
|
||||||
@ -1714,6 +1775,16 @@ export default {
|
|||||||
flag3 = true
|
flag3 = true
|
||||||
let result = lastData.Result_Data
|
let result = lastData.Result_Data
|
||||||
let progressAll = 0
|
let progressAll = 0
|
||||||
|
this.currentPeriodData = result.MonthRevenueModel.CurAccountRoyalty
|
||||||
|
this.moneyRateList = [this.currentPeriodData.Royalty_Theory,this.currentPeriodData.SubRoyalty_Theory]
|
||||||
|
let sum = this.currentPeriodData.Royalty_Theory+this.currentPeriodData.SubRoyalty_Theory
|
||||||
|
if(sum===0){
|
||||||
|
this.ydRate = '-'
|
||||||
|
this.shopRate = '-'
|
||||||
|
}else{
|
||||||
|
this.ydRate = ((this.currentPeriodData.Royalty_Theory / sum)*100).toFixed(2)
|
||||||
|
this.shopRate = ((this.currentPeriodData.SubRoyalty_Theory / sum)*100).toFixed(2)
|
||||||
|
}
|
||||||
|
|
||||||
result.BusinessTypeList.forEach(item=>{
|
result.BusinessTypeList.forEach(item=>{
|
||||||
progressAll+=Number(item.value)
|
progressAll+=Number(item.value)
|
||||||
@ -2003,7 +2074,6 @@ export default {
|
|||||||
}
|
}
|
||||||
let index1= (this.showTableData.CashPay / 10000).toString().indexOf('.')
|
let index1= (this.showTableData.CashPay / 10000).toString().indexOf('.')
|
||||||
this.showTableData.CashPayChange = (this.showTableData.CashPay / 10000).toString().substring(0,index1+3)
|
this.showTableData.CashPayChange = (this.showTableData.CashPay / 10000).toString().substring(0,index1+3)
|
||||||
|
|
||||||
// for (let key in this.showTableData){
|
// for (let key in this.showTableData){
|
||||||
// if (this.showTableData[key]){
|
// if (this.showTableData[key]){
|
||||||
// // 在有值的前提下
|
// // 在有值的前提下
|
||||||
@ -2284,7 +2354,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 32rpx 16rpx;
|
padding: 32rpx 16rpx;
|
||||||
background: linear-gradient(135deg, #FFE3BA 0%, #FFF5E5 40%, #FFF1DB 78%, #FFDABC 100%); border-radius: 16rpx;
|
//background: linear-gradient(135deg, #FFE3BA 0%, #FFF5E5 40%, #FFF1DB 78%, #FFDABC 100%); border-radius: 16rpx;
|
||||||
margin-top: 32rpx;
|
margin-top: 32rpx;
|
||||||
.progress{
|
.progress{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -2311,6 +2381,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
|||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(244, 138, 143, 0.21);
|
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(244, 138, 143, 0.21);
|
||||||
z-index:9;
|
z-index:9;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.message{
|
.message{
|
||||||
@ -2402,6 +2473,21 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
|||||||
width: 144rpx;
|
width: 144rpx;
|
||||||
height: 144rpx;
|
height: 144rpx;
|
||||||
margin-right: 16rpx;
|
margin-right: 16rpx;
|
||||||
|
position: relative;
|
||||||
|
.haveNoticeBox{
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;left: 0;
|
||||||
|
transform: translateY(80%);
|
||||||
|
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:9;
|
||||||
|
.label{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.rightBox{
|
.rightBox{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
@ -2434,7 +2520,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
|||||||
}
|
}
|
||||||
.noticeMoney{
|
.noticeMoney{
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
font-family: DINAlternate, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #160002;
|
color: #160002;
|
||||||
line-height: 44rpx;
|
line-height: 44rpx;
|
||||||
|
|||||||
211
pages/map/commercialType.vue
Normal file
211
pages/map/commercialType.vue
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
<template>
|
||||||
|
<div class="typeBigList">
|
||||||
|
<view class="bigBox">
|
||||||
|
<view :class="expand?'ItemBox second':'ItemBox first'">
|
||||||
|
<view class="item" @click="handleChangeExpand">
|
||||||
|
<view class="iconBox">
|
||||||
|
<image class="icon" src="/static/images/user/expand.svg"/>
|
||||||
|
</view>
|
||||||
|
<text class="text">展开</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view :class="expand?'ItemBox first':'ItemBox second'" :style="{opacity: show?1:0}">
|
||||||
|
<div class="item" @click="handleChangeExpand">
|
||||||
|
<view class="iconBox">
|
||||||
|
<image style="transform: rotate(-180deg)" class="icon" src="/static/images/user/expand.svg"/>
|
||||||
|
</view>
|
||||||
|
<text class="text">隐藏</text>
|
||||||
|
</div>
|
||||||
|
<div class="item" v-for="(item,index) in showTypeList" :key="index" @click="handleGo(item.url)">
|
||||||
|
<image class="icon" :src="item.img"/>
|
||||||
|
<text class="text">{{item.text}}</text>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "commercialType",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
typeList:[
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/car.svg',url:'/pages/commercialBI/carPortrait',text:'车流'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/guest.svg',url:'/pages/commercialBI/guestPortrait',text:'客群'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/business_icon.svg',url:'/pages/commercialBI/managePortrait',text:'经营'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/trade.svg',url:'/pages/commercialBI/businessPortrait',text:'交易'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/index/brand.svg',url:'/pages/commercialBI/formatPortrait',text:'品牌'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/newExamineIcon.svg',url:`/pages/examine/detail?type=${1}`,text:'考核'},
|
||||||
|
{img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/inspectionIcon.svg',url:`/pages/examine/detail?type=${2}`,text:'巡检'},
|
||||||
|
],
|
||||||
|
showTypeList:[],
|
||||||
|
selectIndex: 7,
|
||||||
|
pageList : [],// 页面栈数组
|
||||||
|
expand: false,// 是否展开
|
||||||
|
show:false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props:{
|
||||||
|
have:{
|
||||||
|
type:Number,
|
||||||
|
default:7
|
||||||
|
},
|
||||||
|
time:{
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
have:{
|
||||||
|
handler(value){
|
||||||
|
this.selectIndex = value
|
||||||
|
let list = []
|
||||||
|
this.typeList.forEach((item,index)=>{
|
||||||
|
if (index !== this.selectIndex){
|
||||||
|
list.push(item)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.showTypeList = list
|
||||||
|
setTimeout(()=>{
|
||||||
|
this.show = true
|
||||||
|
console.log('this.show',this.show)
|
||||||
|
},2000)
|
||||||
|
},
|
||||||
|
deep:true,
|
||||||
|
immediate:true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(){
|
||||||
|
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
|
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleChangeExpand(){
|
||||||
|
this.expand = !this.expand
|
||||||
|
},
|
||||||
|
handleGo(url){
|
||||||
|
let pageList = getCurrentPages()
|
||||||
|
if (pageList.length>=2){
|
||||||
|
uni.redirectTo({
|
||||||
|
url:url
|
||||||
|
})
|
||||||
|
} else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:url
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.typeBigList{
|
||||||
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
|
top: 12%;
|
||||||
|
.bigBox{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
.ItemBox,.ItemBox2{
|
||||||
|
.item{
|
||||||
|
width: 150rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
border-radius: 20px 0 0 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 14rpx;
|
||||||
|
background: rgba(255,255,255,0.8);
|
||||||
|
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(88,82,82,0.3);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
.icon{
|
||||||
|
width: 52.5rpx;
|
||||||
|
height: 52.5rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.iconBox{
|
||||||
|
width: 52.5rpx;
|
||||||
|
height: 52.5rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
background: #fff;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.icon{
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: 24rpx;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786B6C;
|
||||||
|
line-height: 36rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.firstItem{
|
||||||
|
animation:toLeft 2s;
|
||||||
|
}
|
||||||
|
.secondItem{
|
||||||
|
animation:toRight 2s;
|
||||||
|
}
|
||||||
|
@keyframes toLeft {
|
||||||
|
0%{
|
||||||
|
transform: translateX(0px);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: translateX(150rpx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes toRight {
|
||||||
|
0%{
|
||||||
|
transform: translateX(0px);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: translateX(150rpx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.first{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
animation: second 1.5s;
|
||||||
|
animation-fill-mode:forwards;
|
||||||
|
}
|
||||||
|
.second{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
animation: first 1.5s;
|
||||||
|
animation-fill-mode:forwards;
|
||||||
|
}
|
||||||
|
@keyframes first {
|
||||||
|
0%{
|
||||||
|
left: -150rpx;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes second {
|
||||||
|
0%{
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
left: -150rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -1,5 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
|
<div style="position: fixed;right: 0;top: 20%;z-index:99999999999">
|
||||||
|
<commercial-type :have="7"/>
|
||||||
|
</div>
|
||||||
<div class="leftArrow" :style="{top:(menu.top + ((menu.height - 24)/2) )+ 'px'}" >
|
<div class="leftArrow" :style="{top:(menu.top + ((menu.height - 24)/2) )+ 'px'}" >
|
||||||
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg" @click="handleBack"></image>
|
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg" @click="handleBack"></image>
|
||||||
<div class="pickers" v-if="isShowPicker" @click="handleChangeService">
|
<div class="pickers" v-if="isShowPicker" @click="handleChangeService">
|
||||||
@ -160,8 +163,10 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import request from '@/util/index.js'
|
import request from '@/util/index.js'
|
||||||
|
import commercialType from "./commercialType.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "detail",
|
name: "detail",
|
||||||
|
components: {commercialType},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
info:{},
|
info:{},
|
||||||
@ -255,6 +260,10 @@ export default {
|
|||||||
uni.navigateBack({
|
uni.navigateBack({
|
||||||
delta: 1
|
delta: 1
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/map/index?time=${lastDay}&serviceInfo=${JSON.stringify(currentService)}`
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@ -289,10 +298,14 @@ export default {
|
|||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: '/pages/index/index'
|
url: '/pages/index/index'
|
||||||
})
|
})
|
||||||
}else{
|
}else if (this.come==='user'){
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: '/pages/userCenter/userCenter'
|
url: '/pages/userCenter/userCenter'
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
uni.navigateBack({
|
||||||
|
delta: 1
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1363,9 +1363,12 @@ export default {
|
|||||||
// 滑动swiper的方法
|
// 滑动swiper的方法
|
||||||
handleChangeSwiper(e){
|
handleChangeSwiper(e){
|
||||||
this.selectMonth = e.target.current
|
this.selectMonth = e.target.current
|
||||||
|
console.log('this.selectMonth',this.selectMonth)
|
||||||
this.thisMonth = this.monthList[this.selectMonth]
|
this.thisMonth = this.monthList[this.selectMonth]
|
||||||
this.single = `${this.thisYear}-${this.thisMonth<10?'0'+this.thisMonth:this.thisMonth}`
|
this.single = `${this.thisYear}-${this.thisMonth<10?'0'+this.thisMonth:this.thisMonth}`
|
||||||
|
console.log('this.single',this.single)
|
||||||
// this.currentResult = this.monthResult[this.selectMonth]
|
// this.currentResult = this.monthResult[this.selectMonth]
|
||||||
|
console.log('11111')
|
||||||
this.handleGetPageData()
|
this.handleGetPageData()
|
||||||
},
|
},
|
||||||
// 拿到数据的方法
|
// 拿到数据的方法
|
||||||
@ -1377,13 +1380,16 @@ export default {
|
|||||||
Month:this.thisMonth
|
Month:this.thisMonth
|
||||||
}
|
}
|
||||||
const data = await request.$webGetTest('EShangApiMain/Budget/GetbudgetProjectReport',req)
|
const data = await request.$webGetTest('EShangApiMain/Budget/GetbudgetProjectReport',req)
|
||||||
|
console.log('data',data)
|
||||||
this.currentResult = data.Result_Data
|
this.currentResult = data.Result_Data
|
||||||
let sum = 0
|
let sum = 0
|
||||||
|
console.log('this.currentResult',this.currentResult)
|
||||||
if (this.currentResult.outList && this.currentResult.outList.length>0){
|
if (this.currentResult.outList && this.currentResult.outList.length>0){
|
||||||
this.currentResult.outList.forEach(item=>{
|
this.currentResult.outList.forEach(item=>{
|
||||||
sum+=item.expenditureCostThisYearNumber
|
sum+=item.expenditureCostThisYearNumber
|
||||||
})
|
})
|
||||||
this.outAll = sum
|
this.outAll = sum
|
||||||
|
console.log('this.outAll',this.outAll)
|
||||||
this.outFirst = (this.currentResult.outList[0].expenditureCostThisYearNumber/sum)*100
|
this.outFirst = (this.currentResult.outList[0].expenditureCostThisYearNumber/sum)*100
|
||||||
this.outSecond = (this.currentResult.outList[1].expenditureCostThisYearNumber/sum)*100
|
this.outSecond = (this.currentResult.outList[1].expenditureCostThisYearNumber/sum)*100
|
||||||
this.outThird = (this.currentResult.outList[2].expenditureCostThisYearNumber/sum)*100
|
this.outThird = (this.currentResult.outList[2].expenditureCostThisYearNumber/sum)*100
|
||||||
|
|||||||
@ -228,12 +228,12 @@
|
|||||||
|
|
||||||
<view class="revenueBox otherData" style="margin-top: 24rpx">
|
<view class="revenueBox otherData" style="margin-top: 24rpx">
|
||||||
<view class="revenueBoxHeader">
|
<view class="revenueBoxHeader">
|
||||||
<view class="headerTitle">其他数据</view>
|
<view class="headerTitle" >其他数据</view>
|
||||||
<image class="revenueImg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/expenditure.png"/>
|
<image class="revenueImg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/expenditure.png"/>
|
||||||
<view class="revenueContent">
|
<view class="revenueContent">
|
||||||
|
|
||||||
|
|
||||||
<view class="revenueAmount">
|
<view class="revenueAmount" style="margin-top: 48rpx">
|
||||||
<view class="amountItem">
|
<view class="amountItem">
|
||||||
<view class="itemTop">
|
<view class="itemTop">
|
||||||
<view class="itemTopLeft">
|
<view class="itemTopLeft">
|
||||||
@ -608,7 +608,7 @@ export default {
|
|||||||
|
|
||||||
.ydRevenue{
|
.ydRevenue{
|
||||||
.revenueBoxHeader{
|
.revenueBoxHeader{
|
||||||
background: linear-gradient(#FCF3E5 0%, #FDF6EC 22%,#FFFFFF 30%, #FFFFFF 100%);
|
background: linear-gradient(#FCF3E5 0%, #FDF6EC 22%,#FFFFFF 40%, #FFFFFF 100%);
|
||||||
.headerTitle{
|
.headerTitle{
|
||||||
color: #EC6C00;
|
color: #EC6C00;
|
||||||
}
|
}
|
||||||
@ -616,7 +616,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.merchantRevenue{
|
.merchantRevenue{
|
||||||
.revenueBoxHeader{
|
.revenueBoxHeader{
|
||||||
background: linear-gradient(#E9F5F9 0%, #E9F5F9 22%,#FFFFFF 30%, #FFFFFF 100%);
|
background: linear-gradient(#E9F5F9 0%, #E9F5F9 22%,#FFFFFF 40%, #FFFFFF 100%);
|
||||||
.headerTitle{
|
.headerTitle{
|
||||||
color: #018ABD;
|
color: #018ABD;
|
||||||
}
|
}
|
||||||
@ -626,6 +626,9 @@ export default {
|
|||||||
.revenueBoxHeader{
|
.revenueBoxHeader{
|
||||||
height: 530px;
|
height: 530px;
|
||||||
background: linear-gradient(#F1F7FF 0%, #FFFFFF 20% , #FFFFFF 100%);
|
background: linear-gradient(#F1F7FF 0%, #FFFFFF 20% , #FFFFFF 100%);
|
||||||
|
.headerTitle{
|
||||||
|
color: #096EF7;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -236,7 +236,7 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
|
|||||||
{
|
{
|
||||||
id:'',
|
id:'',
|
||||||
name: '基础信息',
|
name: '基础信息',
|
||||||
homeUrl: '/pages/map/detail',
|
homeUrl: '/pages/map/detail?come=user',
|
||||||
imagePath: 'https://eshangtech.com/ShopICO/ahyd-BID/user/basicInformation.svg',
|
imagePath: 'https://eshangtech.com/ShopICO/ahyd-BID/user/basicInformation.svg',
|
||||||
isNotice:true,
|
isNotice:true,
|
||||||
notice:0,
|
notice:0,
|
||||||
|
|||||||
1
static/images/user/expand.svg
Normal file
1
static/images/user/expand.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1702525217291" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16726" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M511.12 880c-12.28 0-24.57-4.69-33.94-14.06l-320-320c-18.74-18.75-18.74-49.14 0-67.88l320-320c18.75-18.74 49.14-18.74 67.88 0 18.74 18.75 18.74 49.14 0 67.88L259 512l286.06 286.06c18.74 18.75 18.74 49.14 0 67.88-9.37 9.37-21.65 14.06-33.94 14.06z" fill="#8a8a8a" p-id="16727"></path><path d="M831.12 880c-12.28 0-24.57-4.69-33.94-14.06l-320-320c-18.74-18.75-18.74-49.14 0-67.88l320-320c18.75-18.74 49.14-18.74 67.88 0 18.74 18.75 18.74 49.14 0 67.88L579 512l286.06 286.06c18.74 18.75 18.74 49.14 0 67.88-9.37 9.37-21.65 14.06-33.94 14.06z" fill="#8a8a8a" p-id="16728"></path></svg>
|
||||||
|
After Width: | Height: | Size: 915 B |
Loading…
x
Reference in New Issue
Block a user