update
This commit is contained in:
parent
eccadb25fb
commit
b3d2593da4
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="main">
|
||||
<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="showMonthDetail" @click.stop="handleShowTrafficDetail"></view>
|
||||
<view class="meng" v-if="ydModal" @click.stop="handleShowYDModal"></view>
|
||||
@ -146,30 +146,45 @@
|
||||
<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">
|
||||
<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>
|
||||
<span class="noticeText">注解词说明:</span>
|
||||
<span class="noticeText">对客销售(对客营收、营业额) ----服务区所有经营实体与客户发生的交易金额,一般统计消费总量,多用于外部口径;</span>
|
||||
<span class="noticeText">同期服务区的对客销售额与入区车流量和服务区营效变化会呈现较强关联性,属于显性短周指标。</span>
|
||||
<span class="noticeText">自营销售(自营经营额) ----驿达自主经营的实体与客户发生的真实交易金额;</span>
|
||||
<span class="noticeText">外租销售 (商铺经营额) ----合作商户经营的实体与客户发生的真实交易金额;</span>
|
||||
<span class="noticeText">应用场景:口径多用与服务区同行或行业相关部门交流,体现服务区商业服务能力,也是考核旗下服务区商业管理水平提升的重要指标。</span>
|
||||
<span class="noticeText">营业收入(经营收入)---驿达通过服务区场景获得的真实收入,包括自主经营项目、外租经营项目、油站充电桩等租赁收入等,多用于内部口径;</span>
|
||||
<span class="noticeText">因商户租赁收入和其他固定项目收入,存在财务确认时间滞后情况,数字变化一般晚于对客销售额,属于长周期指标;</span>
|
||||
<span class="noticeText">自营营业收入 ---指的是驿达自有经营门店的实际交易金额;</span>
|
||||
<span class="noticeText">租赁营业收入 ---指的是驿达通过租赁商铺,通过商铺交易金额按比例来获取租金的收入;</span>
|
||||
<span class="noticeText">一般情况下,收入单纯代表交易金额,如果对内财务口径一般需要后面(除税)来表达。</span>
|
||||
<span class="noticeText">应用场景:口径多用与内部分子公司任务拆解考核和集团的任务指标完成汇报,是整个管理团队的长期阶段性指标结果。</span>
|
||||
<span class="noticeText">同比,指的是一段时间内与全年同期的数据比较,一般用于反映长线经营趋势的波动;</span>
|
||||
<span class="noticeText">环比,指的是一段时间内与上月同期的数值比较,一般用于反映短期经营趋势的比较。</span>
|
||||
<span class="noticeText">因为服务区的特殊性,有节假日条件约束,较多会用同比来形容指标波动。</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>
|
||||
@ -321,8 +336,8 @@
|
||||
<view class="accountRevenue">
|
||||
<view class="accountItem" style="margin-bottom: 24rpx">
|
||||
<view class="itemTop">
|
||||
<view class="itemName">对客销售<span class="unit">/亿元</span></view>
|
||||
<view class="itemType">累计</view>
|
||||
<view class="itemName">24年累计对客销售<span class="unit">/亿元</span></view>
|
||||
<!-- <view class="itemType">累计</view>-->
|
||||
</view>
|
||||
<view class="itemBottom">
|
||||
<span class="revenueNum">{{showTableData.YearRevenueAmount?$util.getMoney(showTableData.YearRevenueAmount/100000000):''}}</span>
|
||||
@ -333,8 +348,8 @@
|
||||
|
||||
<view class="accountItem">
|
||||
<view class="itemTop">
|
||||
<view class="itemName">营业收入<span class="unit">/亿元</span></view>
|
||||
<view class="itemType">除税累计</view>
|
||||
<view class="itemName">24年累计营业收入<span class="unit">/亿元</span></view>
|
||||
<!-- <view class="itemType">除税累计</view>-->
|
||||
</view>
|
||||
<view class="itemBottom">
|
||||
<span class="revenueNum">{{showTableData.YearAccountRoyalty?$util.getMoney(showTableData.YearAccountRoyalty/100000000):''}}</span>
|
||||
@ -996,6 +1011,47 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 车流预警-->
|
||||
<view class="bigCarBox" style="margin-top: 24rpx" v-if="special">
|
||||
<view class="carWarning" @click="handleGoWarning">
|
||||
<div class="carWarningTop">
|
||||
<!-- @click="handleGoWarning" -->
|
||||
<div class="warningBox" >
|
||||
<image class="warningIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/carIcon.svg"/>
|
||||
<div class="trafficBox">
|
||||
<text class="trafficCar">车流预警</text>
|
||||
<text class="trafficUnit"> /Top3</text>
|
||||
<!-- <image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/carMoreIcon.svg"/>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="moreStoreBox" >
|
||||
<!-- <span class="moreText">更多记录</span>-->
|
||||
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/goMore.svg"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contentList" >
|
||||
<div class="contentItem" v-for="(item,index) in warningList" :key="index">
|
||||
<div class="index">
|
||||
<div class="boxBg" v-if="index<=2"></div>
|
||||
<span class="indexText" :style="{fontWeight:index<=2?'bold':'normal',color:index<=2?'#160002':'#786B6C'}">{{index + 1}}</span>
|
||||
</div>
|
||||
<div class="serviceBox">
|
||||
<span class="name">{{item.name}}</span>
|
||||
<span class="position">{{item.SERVERPART_REGION}}区</span>
|
||||
</div>
|
||||
<div class="numberBox">
|
||||
<span class="number">{{item.VEHICLE_COUNT}}</span>
|
||||
<span class="unit">/辆</span>
|
||||
</div>
|
||||
<div class="addBox">
|
||||
<image class="addIcon" :src="Number(item.VEHICLE_RATE)>100?'https://eshangtech.com/ShopICO/ahyd-BID/examine/add.svg':Number(item.VEHICLE_RATE)===100?'':'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg'"/>
|
||||
<span class="add">{{item.VEHICLE_RATE}}%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 八个有背景的导航栏-->
|
||||
<view class="funBox">
|
||||
|
||||
@ -1112,46 +1168,7 @@
|
||||
|
||||
</view>
|
||||
|
||||
<!-- 车流预警-->
|
||||
<view class="bigCarBox" style="margin-top: 24rpx" v-if="special">
|
||||
<view class="carWarning" @click="handleGoWarning">
|
||||
<div class="carWarningTop">
|
||||
<!-- @click="handleGoWarning" -->
|
||||
<div class="warningBox" >
|
||||
<image class="warningIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/carIcon.svg"/>
|
||||
<div class="trafficBox">
|
||||
<text class="trafficCar">车流预警</text>
|
||||
<text class="trafficUnit"> /Top3</text>
|
||||
<!-- <image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex/carMoreIcon.svg"/>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="moreStoreBox" >
|
||||
<!-- <span class="moreText">更多记录</span>-->
|
||||
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/goMore.svg"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contentList" >
|
||||
<div class="contentItem" v-for="(item,index) in warningList" :key="index">
|
||||
<div class="index">
|
||||
<div class="boxBg" v-if="index<=2"></div>
|
||||
<span class="indexText" :style="{fontWeight:index<=2?'bold':'normal',color:index<=2?'#160002':'#786B6C'}">{{index + 1}}</span>
|
||||
</div>
|
||||
<div class="serviceBox">
|
||||
<span class="name">{{item.name}}</span>
|
||||
<span class="position">{{item.SERVERPART_REGION}}区</span>
|
||||
</div>
|
||||
<div class="numberBox">
|
||||
<span class="number">{{item.VEHICLE_COUNT}}</span>
|
||||
<span class="unit">/辆</span>
|
||||
</div>
|
||||
<div class="addBox">
|
||||
<image class="addIcon" :src="Number(item.VEHICLE_RATE)>100?'https://eshangtech.com/ShopICO/ahyd-BID/examine/add.svg':Number(item.VEHICLE_RATE)===100?'':'https://eshangtech.com/ShopICO/ahyd-BID/examine/reduce.svg'"/>
|
||||
<span class="add">{{item.VEHICLE_RATE}}%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <span @click="handleGoProject">111</span>-->
|
||||
|
||||
<!-- 四个画像-->
|
||||
@ -2027,7 +2044,7 @@ export default {
|
||||
SERVERPART_NAME: "安徽驿达",
|
||||
SPREGIONTYPE_NAME: "",
|
||||
SPRegionType_ID: null,
|
||||
Serverpart_ID: 424,
|
||||
Serverpart_ID: null,
|
||||
latitude: 32,
|
||||
longitude: 117,
|
||||
}
|
||||
@ -2398,6 +2415,7 @@ export default {
|
||||
}
|
||||
console.log('12312312req',req)
|
||||
request.$webGet('CommercialApi/BigData/GetBayonetWarning',req).then(res=>{
|
||||
console.log('车流预警',res)
|
||||
if (res.Result_Data.List && res.Result_Data.List.length>0){
|
||||
this.special = true
|
||||
}
|
||||
@ -3593,7 +3611,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
||||
}
|
||||
.realBox{
|
||||
position: absolute;
|
||||
left: 0;top: 10px;
|
||||
left: 5%;top: 10px;
|
||||
transform: translateX(-50%);
|
||||
//right: 0;bottom: 0;
|
||||
display: inline-block;
|
||||
@ -3601,8 +3619,16 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(244, 138, 143, 0.21);
|
||||
z-index:21;
|
||||
width: 360rpx;
|
||||
z-index: 22;
|
||||
width: 75vw;
|
||||
height: 250px;
|
||||
overflow-y: scroll;
|
||||
white-space: pre-wrap;
|
||||
.noticeText{
|
||||
font-size: 12px;
|
||||
color:#000;
|
||||
display: block;
|
||||
}
|
||||
.field{
|
||||
text-align: right;
|
||||
display: flex;
|
||||
|
||||
@ -535,7 +535,7 @@
|
||||
<div class="funList" v-if="showPortrait">
|
||||
<view class="san"></view>
|
||||
|
||||
<div class="funItem" v-for="(item,index) in tabTypeList" :key="index" @click="handleGoTab(item)">
|
||||
<div class="funItem" v-for="(item,index) in tabTypeList" :key="index" @click="handleGoTab(item,index)">
|
||||
<view class="iconBox">
|
||||
<image class="funItemIcon" :src="item.imgUrl"/>
|
||||
</view>
|
||||
@ -920,10 +920,10 @@ export default {
|
||||
{title:'车流增幅Top1',unit:'',value:'',bg:'https://eshangtech.com/ShopICO/ahyd-BID/nationalDay/add.png'},
|
||||
],
|
||||
tabTypeList:[
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/car.svg', path: '/pages/commercialBINew/carPortrait', name: '车流'},
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/guest.svg', path: '/pages/commercialBI/guestPortrait', name: '客群' },
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/business_icon.svg', path: '/pages/commercialBI/managePortrait', name: '经营' },
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/trade.svg', path: '/pages/commercialBI/businessPortrait', name: '交易' }
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/car.svg', path: '/pages/summaryOfPortraits/index?index=1&isPicker=${true}&come=index', name: '车流'},
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/guest.svg', path: '/pages/summaryOfPortraits/index?index=2&isPicker=${true}&come=index', name: '客群' },
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/business_icon.svg', path: '/pages/summaryOfPortraits/index?index=3&isPicker=${true}&come=index', name: '经营' },
|
||||
{ imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/trade.svg', path: '/pages/summaryOfPortraits/index?index=4&isPicker=${true}&come=index', name: '交易' }
|
||||
],
|
||||
// { imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/brand.svg', path: '/pages/commercialBI/formatPortrait', name: '业态品牌' }
|
||||
detailTypeList:[{ name: '分润门店', unit: '/个', value: '-',yesterValue:'-', add: '', imgIcon: 'https://eshangtech.com/ShopICO/ahyd-BID/index/store.svg' },
|
||||
@ -1289,7 +1289,7 @@ export default {
|
||||
longitude: 117,
|
||||
}
|
||||
uni.setStorageSync('currentService',YD)
|
||||
this.$util.toNextRoute('navigateTo', `/pages/map/detail?isPicker=${true}&come=index`)
|
||||
this.$util.toNextRoute('navigateTo', `/pages/summaryOfPortraits/index?isPicker=${true}&come=index`)
|
||||
|
||||
// let _this = this
|
||||
// let currentService = uni.getStorageSync('currentService')
|
||||
@ -1336,10 +1336,12 @@ export default {
|
||||
this.$util.toNextRoute('navigateTo', `/pages/revenueStatistics/index?time=${this.lastDay}&month=${this.single}`)
|
||||
},
|
||||
goToNational(){
|
||||
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/index?time=${this.lastDay}`)
|
||||
// this.$util.toNextRoute('navigateTo', `/pages/nationalPage/index?time=${this.lastDay}`)
|
||||
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/springTravel?selectType=2`)
|
||||
},
|
||||
handleShowTrafficDetail(){
|
||||
// this.showMonthDetail = !this.showMonthDetail
|
||||
this.$util.toNextRoute('navigateTo', `/pages/summaryOfPortraits/index?isPicker=${true}&come=index`)
|
||||
},
|
||||
// 点击月份详情卡片进度条 显示的详情
|
||||
handleShowHaveNoticeBox(){
|
||||
@ -1522,7 +1524,8 @@ export default {
|
||||
}
|
||||
uni.setStorageSync('currentService',YD)
|
||||
if (!this.isReturn){
|
||||
this.$util.toNextRoute('navigateTo', `${item.path}?time=${this.lastDay}&serviceInfo=${JSON.stringify(this.nearServiceInfo)}`)
|
||||
this.$util.toNextRoute('navigateTo', item.path)
|
||||
// this.$util.toNextRoute('navigateTo', `${item.path}?time=${this.lastDay}&serviceInfo=${JSON.stringify(this.nearServiceInfo)}`)
|
||||
} else{
|
||||
uni.showToast({
|
||||
title: '暂无权限请联系管理员',
|
||||
@ -1661,7 +1664,8 @@ export default {
|
||||
this.$util.toNextRoute('navigateTo', `/pages/operatingStatements/index?time=${this.single}`)
|
||||
},
|
||||
changeShowPortrait(){
|
||||
this.showPortrait = !this.showPortrait
|
||||
this.$util.toNextRoute('navigateTo', `/pages/summaryOfPortraits/index?isPicker=${true}&come=index`)
|
||||
// this.showPortrait = !this.showPortrait
|
||||
},
|
||||
handleFestival(){
|
||||
this.$util.toNextRoute('navigateTo', `/pages/commercialBI/formatPortrait?time=${this.lastDay}&serviceInfo=${JSON.stringify(this.nearServiceInfo)}`)
|
||||
|
||||
@ -104,7 +104,7 @@ export default {
|
||||
wx.getFuzzyLocation({
|
||||
type:'gcj02',
|
||||
altitude:true,
|
||||
success: (res) =>{
|
||||
success: async (res) =>{
|
||||
let seatInfo = {
|
||||
latitude:res.latitude,
|
||||
longitude:res.longitude
|
||||
@ -114,7 +114,7 @@ export default {
|
||||
let userSeat = uni.getStorageSync('seatInfo')
|
||||
this.userLatitude = userSeat.latitude
|
||||
this.userLongitude = userSeat.longitude
|
||||
this.getServiceList()
|
||||
await this.getServiceList()
|
||||
}
|
||||
})
|
||||
if (option.serviceInfo){
|
||||
@ -133,7 +133,9 @@ export default {
|
||||
if (seat && !seat.latitude){
|
||||
JSON.parse(seat)
|
||||
}
|
||||
if (seat){
|
||||
if(seat.SERVERPART_NAME==='安徽驿达'){
|
||||
this.getServiceList()
|
||||
}else if (seat){
|
||||
this.longitude = seat.longitude
|
||||
this.latitude = seat.latitude
|
||||
this.area = seat.SPREGIONTYPE_NAME
|
||||
@ -164,15 +166,16 @@ export default {
|
||||
},
|
||||
watch:{
|
||||
// 监听经纬度
|
||||
latitude:{
|
||||
handler(value){
|
||||
if (value){
|
||||
this.getListData()
|
||||
}
|
||||
},
|
||||
deep:true,
|
||||
immediate:true
|
||||
}
|
||||
// latitude:{
|
||||
// handler(value){
|
||||
// if (value){
|
||||
// console.log('value',value)
|
||||
// this.getListData()
|
||||
// }
|
||||
// },
|
||||
// deep:true,
|
||||
// immediate:true
|
||||
// }
|
||||
},
|
||||
methods:{
|
||||
// 点击驿达表示 默认选择驿达
|
||||
@ -252,11 +255,12 @@ export default {
|
||||
// list.push({name:item.name,value:item.value})
|
||||
// })
|
||||
let seat = uni.getStorageSync('currentService')
|
||||
this.array = list
|
||||
if (seat && seat.SERVERPART_NAME==='安徽驿达'){
|
||||
this.selectIndex = 0
|
||||
this.serviceMessage = seat
|
||||
}
|
||||
this.array = list
|
||||
await this.getListData()
|
||||
if (this.area){
|
||||
this.array.forEach((item,index)=>{
|
||||
if (item.name === this.area){
|
||||
@ -348,6 +352,7 @@ export default {
|
||||
let user = uni.getStorageSync('seatInfo')
|
||||
let current = uni.getStorageSync('currentService')
|
||||
let nearService = uni.getStorageSync('nearService')
|
||||
console.log('this.array',this.array)
|
||||
if (!this.selectIndex && this.selectIndex!==0){
|
||||
if (!current){
|
||||
id = nearService.SPRegionType_ID
|
||||
@ -371,14 +376,27 @@ export default {
|
||||
let req = {
|
||||
Province_Code: '340000',
|
||||
SPRegionType_ID: id,
|
||||
Serverpart_ID:current.Serverpart_ID,
|
||||
Serverpart_ID:current.SERVERPART_NAME==='安徽驿达'?'': current.Serverpart_ID,
|
||||
longitude:user.longitude,
|
||||
latitude:user.latitude
|
||||
}
|
||||
console.log('req',req)
|
||||
const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req)
|
||||
this.serviceList = data.Result_Data.List
|
||||
console.log(' this.serviceList', this.serviceList)
|
||||
console.log(' this.serviceMessage', this.serviceMessage)
|
||||
if (this.serviceMessage && this.serviceMessage.SERVERPART_NAME){
|
||||
if(this.serviceMessage.SERVERPART_NAME === '安徽驿达'){
|
||||
let seat = {
|
||||
SERVERPART_NAME: this.serviceList[0].SERVERPART_NAME,
|
||||
SPREGIONTYPE_NAME: this.serviceList[0].SPREGIONTYPE_NAME,
|
||||
SPRegionType_ID: this.serviceList[0].SPRegionType_ID,
|
||||
Serverpart_ID: this.serviceList[0].Serverpart_ID,
|
||||
latitude: this.serviceList[0].SERVERPART_Y,
|
||||
longitude: this.serviceList[0].SERVERPART_X,
|
||||
}
|
||||
this.addMarkers(seat)
|
||||
}
|
||||
if (this.serviceList && this.serviceList.length>0){
|
||||
this.longitude = this.serviceList[0].SERVERPART_X
|
||||
this.latitude = this.serviceList[0].SERVERPART_Y
|
||||
|
||||
@ -191,7 +191,7 @@
|
||||
|
||||
|
||||
<uni-popup ref="popup" type="bottom" style="background: #fff" >
|
||||
<div class="popupBox" style="box-sizing:border-box;height: 430px">
|
||||
<div class="popupBox" style="box-sizing:border-box;height: 550px">
|
||||
<!-- <div style="display: flex;align-items: center;justify-content: space-between">-->
|
||||
<!-- <text class="title">查询配置</text>-->
|
||||
<!-- <img src="/static/images/recons/delete.svg" alt="" class="delete" @click="handleClosePopup">-->
|
||||
@ -209,6 +209,15 @@
|
||||
<view class="timeList">
|
||||
<view :class="selectTimeOther?'timeItem timeSelectItem':'timeItem'" @click="handleTimeOther">自定义</view>
|
||||
</view>
|
||||
|
||||
<view class="popupTitle">业态类型</view>
|
||||
<view class="timeList">
|
||||
<view :class="BusinessTrade===item.value?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in tradeList" :key="index" @click="handleChangeTrade(item.value,index)">{{item.label}}</view>
|
||||
</view>
|
||||
<view class="timeList" v-if="bigTradeIndex>=0 && tradeList[bigTradeIndex] && tradeList[bigTradeIndex].children && tradeList[bigTradeIndex].children.length>0">
|
||||
<view :class="BusinessSmallTrade.indexOf(item.value)!==-1 ?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in tradeList[bigTradeIndex].children" :key="index" @click="handleChangeSmallTrade(item.value)">{{item.label}}</view>
|
||||
</view>
|
||||
|
||||
<view class="popupTitle">经营模式</view>
|
||||
<view class="timeList">
|
||||
<view :class="BusinessTypeValue===item.value?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in BusinessTypeList" :key="index" @click="handleChangeBusiness(item.value)">{{item.label}}</view>
|
||||
@ -286,6 +295,10 @@
|
||||
checkChange:['MerchantName','Brand','Shop','Serverpart'],// checkBox里面选择了 但是没点确定的
|
||||
BusinessTypeList:[],// 经营模式列表
|
||||
BusinessTypeValue:0,// 经营模式的选择项
|
||||
BusinessTrade:0,//选择的业态类型
|
||||
BusinessSmallTrade: [],// 小类业态
|
||||
bigTradeIndex:null,// 大类的第几项
|
||||
tradeList: [],//业态类型数据
|
||||
SettlementModeList:[],// 结算模式列表
|
||||
SettlementModeValue:0,// 结算模式的选择项
|
||||
timeTypeList:[{label:'近1周',value:1},{label:'近1月',value:2},{label:'近3月',value:3},{label:'近半年',value:4}],
|
||||
@ -330,6 +343,35 @@
|
||||
}
|
||||
this.BusinessTypeValue = value
|
||||
},
|
||||
// 改变小类业态
|
||||
handleChangeSmallTrade(value){
|
||||
if(this.BusinessSmallTrade.indexOf(Number(value))=== -1){
|
||||
this.BusinessSmallTrade.push(Number(value))
|
||||
}else{
|
||||
let list = []
|
||||
this.BusinessSmallTrade.forEach(item=>{
|
||||
if(Number(value) === item){
|
||||
|
||||
}else{
|
||||
list.push(item)
|
||||
}
|
||||
})
|
||||
this.BusinessSmallTrade = list
|
||||
}
|
||||
|
||||
},
|
||||
// 选择业态类型
|
||||
handleChangeTrade(value,index){
|
||||
if(this.BusinessTrade === value){
|
||||
this.BusinessTrade = 0
|
||||
this.BusinessSmallTrade = []
|
||||
this.bigTradeIndex = null
|
||||
}else{
|
||||
this.BusinessTrade = value
|
||||
this.BusinessSmallTrade = []
|
||||
this.bigTradeIndex = index
|
||||
}
|
||||
},
|
||||
// 给悬浮框的自定义时间赋初始值
|
||||
// 选择了自定义时间
|
||||
handleTimeOther(){
|
||||
@ -439,6 +481,7 @@
|
||||
},
|
||||
// 页面请求的主要方法
|
||||
getList(){
|
||||
console.log('this.BusinessSmallTrade',this.BusinessSmallTrade)
|
||||
// copySearchText 是要显示在经营报表下方的红色字 每次请求前要清空 不能和searchText同源 不然清空搜索框 显示的文字也会消失
|
||||
this.copySearchText= ''
|
||||
uni.showLoading({
|
||||
@ -457,11 +500,36 @@
|
||||
}
|
||||
})
|
||||
let req;
|
||||
|
||||
|
||||
console.log('BusinessSmallTrade',this.BusinessSmallTrade)
|
||||
console.log('BusinessTrade',this.BusinessTrade)
|
||||
console.log('tradeList',this.tradeList)
|
||||
let tradeId = ''
|
||||
if(this.BusinessSmallTrade && this.BusinessSmallTrade.length>0){
|
||||
tradeId = this.BusinessSmallTrade.toString()
|
||||
}else if(this.BusinessTrade){
|
||||
let list = []
|
||||
this.tradeList.forEach(item=>{
|
||||
if(Number(item.value) === Number(this.BusinessTrade)){
|
||||
if(item.children && item.children.length>0){
|
||||
item.children.forEach(subItem=>{
|
||||
list.push(Number(subItem.value))
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
if(list && list.length>0){
|
||||
tradeId = list.toString()
|
||||
}
|
||||
}
|
||||
console.log('tradeId',tradeId)
|
||||
req = {
|
||||
startTime: searchTime[0],
|
||||
endTime: searchTime[1],
|
||||
SearchKeyName:searchName,
|
||||
SearchKeyValue:this.searchText,
|
||||
BusinessTrade: tradeId,
|
||||
BusinessType:this.searchText?'':this.BusinessTypeValue?this.BusinessTypeValue:'',
|
||||
SettlementMode:this.searchText?'':this.SettlementModeValue?this.SettlementModeValue:'',
|
||||
}
|
||||
@ -515,6 +583,33 @@
|
||||
_this.pageData.isLoading =false
|
||||
_this.$forceUpdate()
|
||||
})
|
||||
},
|
||||
|
||||
// 拿业态枚举
|
||||
async handleGetTradeList(){
|
||||
const data = await request.$webGet('EShangApiMain/BaseInfo/GetBusinessTradeTree',{})
|
||||
const treeTable = wrapTreeNode(data.Result_Data.List);
|
||||
console.log('treeTable',treeTable)
|
||||
let list = []
|
||||
if(treeTable && treeTable.length>0){
|
||||
treeTable.forEach(item=>{
|
||||
let children = []
|
||||
if(item.children && item.children.length>0){
|
||||
item.children.forEach(subItem=>{
|
||||
children.push({
|
||||
label: subItem.AUTOSTATISTICS_NAME,
|
||||
value: subItem.AUTOSTATISTICS_ID
|
||||
})
|
||||
})
|
||||
}
|
||||
list.push({
|
||||
label: item.AUTOSTATISTICS_NAME,
|
||||
value: item.AUTOSTATISTICS_ID,
|
||||
children: children
|
||||
})
|
||||
})
|
||||
}
|
||||
this.tradeList = list
|
||||
}
|
||||
},
|
||||
async onLoad(query) {
|
||||
@ -549,6 +644,8 @@
|
||||
// 用枚举方法拿到枚举数组
|
||||
this.BusinessTypeList = await this.handleEnumeration('BUSINESS_TYPE')
|
||||
this.SettlementModeList = await this.handleEnumeration('SETTLEMENT_MODES')
|
||||
await this.handleGetTradeList()
|
||||
|
||||
// 调用接口拿到页面数据的方法
|
||||
this.getList()
|
||||
}
|
||||
|
||||
@ -46,6 +46,9 @@
|
||||
</div>
|
||||
<div class="chartsItem" style="height:300px;margin-top: 32px">
|
||||
<p class="title">消费水平<text class="unit"></text></p>
|
||||
<span class="notice">
|
||||
{{ '注:低消费 < 30, 30 <= 普通消费 <= 60, 高消费 > 60' }}
|
||||
</span>
|
||||
<div>
|
||||
<level-top :data="levelTopList"></level-top>
|
||||
<analyse :analyseInfo="{analysisins_type: 1404,analysisins_format: 2000}" />
|
||||
@ -61,7 +64,7 @@
|
||||
</div>
|
||||
<div class="chartsItem" style="height:280px;margin-top: 32px">
|
||||
<p class="title">业态交易值占比</p>
|
||||
<div v-if="businessTypeList && businessTypeList.length>0">
|
||||
<div v-if="businessTypeList.series && businessTypeList.series.length>0">
|
||||
<business-format :data="businessTypeList"/>
|
||||
<analyse :analyseInfo="{analysisins_type: 1405,analysisins_format: 2000}" />
|
||||
</div>
|
||||
@ -610,6 +613,7 @@ export default {
|
||||
const data = await request.$webGet('CommercialApi/Revenue/GetBusinessTradeRevenue',req)
|
||||
let res = []
|
||||
let all = 0
|
||||
console.log('data323232',data)
|
||||
if (data.Result_Data){
|
||||
data.Result_Data.BusinessTradeRank.forEach((item,index)=>{
|
||||
if (index<=10){
|
||||
@ -628,6 +632,7 @@ export default {
|
||||
}
|
||||
]
|
||||
};
|
||||
console.log('result',result)
|
||||
this.businessTypeList = result
|
||||
}else{
|
||||
this.businessTypeList = []
|
||||
@ -817,6 +822,10 @@ export default {
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
.notice{
|
||||
font-size: 12px;
|
||||
color: #786B6C;
|
||||
}
|
||||
.time{
|
||||
margin-bottom: 4px;
|
||||
.thisTime{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="businessFormat" v-if="isShow">
|
||||
<div class="businessFormat" >
|
||||
<QiunDataCharts
|
||||
type="ring"
|
||||
:opts="opts"
|
||||
|
||||
@ -248,7 +248,8 @@ const cfu = {
|
||||
if (item.name === '客单数'){
|
||||
return item.name + ':'+ item.data + '笔'
|
||||
}else{
|
||||
return item.name + ':'+ item.data + '辆,交易概率: ' + ((opts.series[0].data[index] / opts.series[1].data[index])*100).toFixed(2) + '%'
|
||||
return item.name + ':'+ item.data + '辆'
|
||||
// ,交易概率: ' + ((opts.series[0].data[index] / opts.series[1].data[index])*100).toFixed(2) + '%'
|
||||
}
|
||||
},
|
||||
consumptionCompareFormat:function (val){
|
||||
|
||||
@ -55,7 +55,11 @@ export default {
|
||||
},
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
let seat = uni.getStorageSync('currentService')
|
||||
if(seat.SERVERPART_NAME==='安徽驿达'){
|
||||
this.pageList = [ "","车流统计", "客群统计", "经营统计", "交易统计", "业态品牌", "考核考评", "日常巡检"]
|
||||
console.log('this.pageList ',this.pageList )
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleToDetail(i) {
|
||||
|
||||
@ -84,7 +84,7 @@ export default {
|
||||
components:{mapDetail,carPortrait,guestPortrait,managePortrait,businessPortrait,formatPortraitBI,newAmine,sliderPage,formatPortrait},
|
||||
data(){
|
||||
return {
|
||||
selectPortrait:0,// 选择要看的商业画像
|
||||
selectPortrait: 0,// 选择要看的商业画像
|
||||
query:'',// 传入的页面元素
|
||||
isShowSwiper:false,// 是否显示滑动块
|
||||
menu:{},
|
||||
@ -97,6 +97,7 @@ export default {
|
||||
if (query.index){
|
||||
this.selectPortrait = Number(query.index)
|
||||
}
|
||||
this.query = query
|
||||
console.log('onLoad')
|
||||
this.menu = uni.getMenuButtonBoundingClientRect()
|
||||
|
||||
@ -107,6 +108,7 @@ export default {
|
||||
let seat = uni.getStorageSync('currentService')
|
||||
console.log('seat',seat)
|
||||
this.serviceInfo = seat
|
||||
this.selectPortrait = this.query.index ? this.query.index: seat.SERVERPART_NAME==='安徽驿达' ? 1:0
|
||||
},
|
||||
onHide(){
|
||||
this.isShowSwiper = false
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user