update
@ -67,9 +67,9 @@
|
|||||||
"postcss" : true
|
"postcss" : true
|
||||||
},
|
},
|
||||||
"plugins": {
|
"plugins": {
|
||||||
"chooseLocation": {
|
"routePlan": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.18",
|
||||||
"provider": "wx76a9a06e5b4e693e"
|
"provider": "wx50b5593e81dd937a"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"usingComponents" : true,
|
"usingComponents" : true,
|
||||||
|
|||||||
@ -124,6 +124,12 @@
|
|||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": ""
|
"navigationBarTitleText": ""
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "planDetail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
{{ baseData.LEAVE_PERSON+"【"+baseData.DEPARTMENT_NAME+"】" }}
|
{{ baseData.LEAVE_PERSON+"【"+baseData.DEPARTMENT_NAME+"】" }}
|
||||||
</view>
|
</view>
|
||||||
<view class="line-block between-circle"></view>
|
<view class="line-block between-circle"></view>
|
||||||
<image src="../../static/images/leave/spwq.png" mode="aspectFit" class="spwc-ico" v-if="baseData.FINANCEPROINST_NEXTID==9000"></image>
|
<image src="https://eshangtech.com/ShopICO/ahyd-BID/leave/spwq.png" mode="aspectFit" class="spwc-ico" v-if="baseData.FINANCEPROINST_NEXTID==9000"></image>
|
||||||
<div class="base-body card-content ">
|
<div class="base-body card-content ">
|
||||||
<view style="text-align: center; padding-bottom: 12upx;">
|
<view style="text-align: center; padding-bottom: 12upx;">
|
||||||
<view class="leave-day">{{baseData.DURATION_DAYS}}<text style="font-size: 22upx;">天</text></view>
|
<view class="leave-day">{{baseData.DURATION_DAYS}}<text style="font-size: 22upx;">天</text></view>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :labelList="labelList" :topBg="topBg" :page="page"
|
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
|
||||||
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
||||||
|
|
||||||
<div class="charts">
|
<div class="charts">
|
||||||
@ -15,7 +15,7 @@
|
|||||||
<p class="title">消费时段分析</p>
|
<p class="title">消费时段分析</p>
|
||||||
<div v-if="timePeriodList.series.length>0">
|
<div v-if="timePeriodList.series.length>0">
|
||||||
<time-period-analysis :data="timePeriodList"/>
|
<time-period-analysis :data="timePeriodList"/>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1403,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
@ -23,7 +23,7 @@
|
|||||||
<p class="title">消费水平<text class="unit">(Top 5)</text></p>
|
<p class="title">消费水平<text class="unit">(Top 5)</text></p>
|
||||||
<div v-if="levelTopList.series.length>0">
|
<div v-if="levelTopList.series.length>0">
|
||||||
<level-top :data="levelTopList"></level-top>
|
<level-top :data="levelTopList"></level-top>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1404,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
<p class="title">业态适配型</p>
|
<p class="title">业态适配型</p>
|
||||||
<div v-if="businessTypeList.series[0].data.length>0">
|
<div v-if="businessTypeList.series[0].data.length>0">
|
||||||
<business-format :data="businessTypeList"/>
|
<business-format :data="businessTypeList"/>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1405,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
@ -39,14 +39,14 @@
|
|||||||
<p class="title">消费转化对比图</p>
|
<p class="title">消费转化对比图</p>
|
||||||
<div v-if="compareList.series[0].data.length>0">
|
<div v-if="compareList.series[0].data.length>0">
|
||||||
<consumption-compare :data="compareList"/>
|
<consumption-compare :data="compareList"/>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1406,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
<p class="title">商超畅销品</p>
|
<p class="title">商超畅销品</p>
|
||||||
<bestseller-shop :data="bestsellerList"/>
|
<bestseller-shop :data="bestsellerList"/>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1407,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -87,17 +87,30 @@ export default {
|
|||||||
businessTypeList:[],//业态适配型
|
businessTypeList:[],//业态适配型
|
||||||
compareList:[],//消费转化对比图
|
compareList:[],//消费转化对比图
|
||||||
bestsellerList:[],//商超畅销品
|
bestsellerList:[],//商超畅销品
|
||||||
serviceInfo:{} //当前服务区信息
|
serviceInfo:{} ,//当前服务区信息
|
||||||
|
backType:'',//返回的页面类型
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type1: 1401,
|
||||||
|
analysisins_type2: 1402
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
console.log('option',option)
|
|
||||||
let storeServiceInfo = uni.getStorageSync('currentService')
|
|
||||||
let serviceInfo = JSON.parse(option.serviceInfo)
|
let serviceInfo = JSON.parse(option.serviceInfo)
|
||||||
this.serviceInfo = storeServiceInfo?storeServiceInfo:serviceInfo
|
this.backType = option.type
|
||||||
|
this.serviceInfo = serviceInfo
|
||||||
//跳转的时候带上时间
|
//跳转的时候带上时间
|
||||||
|
this.time = option.time
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
let storeTime = uni.getStorageSync('lastDay')
|
let storeTime = uni.getStorageSync('lastDay')
|
||||||
this.time = storeTime?storeTime:option.time
|
if (storeTime){
|
||||||
|
this.time = storeTime
|
||||||
|
}
|
||||||
|
let storeServiceInfo = uni.getStorageSync('currentService')
|
||||||
|
if (storeServiceInfo){
|
||||||
|
this.serviceInfo = storeServiceInfo
|
||||||
|
}
|
||||||
// 获取手机参数对页面进行适配
|
// 获取手机参数对页面进行适配
|
||||||
let systemInfo = uni.getSystemInfoSync()
|
let systemInfo = uni.getSystemInfoSync()
|
||||||
// 把获取到的手机参数保存
|
// 把获取到的手机参数保存
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<div class="header" :style="{backgroundImage: 'url('+ 'https://eshangtech.com/ShopICO/ahyd-BID/commercial/car.svg' +')'}">
|
<div class="header" :style="{backgroundImage: 'url('+ 'https://eshangtech.com/ShopICO/ahyd-BID/commercial/car.svg' +')'}">
|
||||||
<div class="analyse">
|
<div class="analyse">
|
||||||
<text class="title">分析</text>
|
<text class="title">分析</text>
|
||||||
<text class="content">新桥服务区入区车辆主要来自杭州市, 入车车辆主要是普通车型(30-60万)</text>
|
<text class="content">{{analyseText}}</text>
|
||||||
</div>
|
</div>
|
||||||
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px'}">
|
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px'}">
|
||||||
<div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}">
|
<div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}">
|
||||||
@ -32,7 +32,7 @@
|
|||||||
<div class="other">
|
<div class="other">
|
||||||
<div class="label">
|
<div class="label">
|
||||||
<div v-for="(item,index) in labelList" :key="index" :class="index===0?'item0 item':index===1?'item1 item':index===2?'item2 item':index===3?'item3 item':index===4?'item4 item':'item'">
|
<div v-for="(item,index) in labelList" :key="index" :class="index===0?'item0 item':index===1?'item1 item':index===2?'item2 item':index===3?'item3 item':index===4?'item4 item':'item'">
|
||||||
{{item.value}}
|
{{item}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -88,7 +88,7 @@ export default {
|
|||||||
serviceArray:["123465","123465","123465","123465","123465"], // 选择服务区的列表
|
serviceArray:["123465","123465","123465","123465","123465"], // 选择服务区的列表
|
||||||
serviceIndex:0, //选中的服务区列表的第几个
|
serviceIndex:0, //选中的服务区列表的第几个
|
||||||
area:'片区', //属于哪个片区
|
area:'片区', //属于哪个片区
|
||||||
labelList:[{value:'杭州'},{value:'小汽车'},{value:'一般消费'},{value:'温州'},{value:'30-60万'}], //标签
|
labelList:[], //标签
|
||||||
time:'',//当前时间
|
time:'',//当前时间
|
||||||
Serverpart_ID:'',//服务区id
|
Serverpart_ID:'',//服务区id
|
||||||
chartData:{},
|
chartData:{},
|
||||||
@ -106,7 +106,9 @@ export default {
|
|||||||
timeAnalysisData:[],// 车辆价值与停留时间分析
|
timeAnalysisData:[],// 车辆价值与停留时间分析
|
||||||
percentEntryData:[],//入区率占比
|
percentEntryData:[],//入区率占比
|
||||||
percentEntryDataAll:[],// 入区率占比总的
|
percentEntryDataAll:[],// 入区率占比总的
|
||||||
serviceInfo:{} //当前服务区信息
|
serviceInfo:{}, //当前服务区信息
|
||||||
|
backType:'',//返回的页面类型
|
||||||
|
analyseText:'',//分析的文字
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {PercentEntry, CarTypeTime, HomePlace, EntryZone,timeAnalysis},
|
components: {PercentEntry, CarTypeTime, HomePlace, EntryZone,timeAnalysis},
|
||||||
@ -117,13 +119,22 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(option){
|
onLoad(option){
|
||||||
console.log('option',option)
|
console.log('option',option)
|
||||||
let storeServiceInfo = uni.getStorageSync('currentService')
|
this.backType = option.type
|
||||||
let serviceInfo = JSON.parse(option.serviceInfo)
|
let serviceInfo = JSON.parse(option.serviceInfo)
|
||||||
this.serviceInfo = storeServiceInfo?storeServiceInfo:serviceInfo
|
this.serviceInfo = serviceInfo
|
||||||
console.log('this.serviceInfo',this.serviceInfo)
|
console.log('this.serviceInfo',this.serviceInfo)
|
||||||
//跳转的时候带上时间
|
//跳转的时候带上时间
|
||||||
|
this.time = option.time
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
let storeTime = uni.getStorageSync('lastDay')
|
let storeTime = uni.getStorageSync('lastDay')
|
||||||
this.time = storeTime?storeTime:option.time
|
if (storeTime){
|
||||||
|
this.time = storeTime
|
||||||
|
}
|
||||||
|
let storeServiceInfo = uni.getStorageSync('currentService')
|
||||||
|
if (storeServiceInfo){
|
||||||
|
this.serviceInfo = storeServiceInfo
|
||||||
|
}
|
||||||
// 获取手机参数对页面进行适配
|
// 获取手机参数对页面进行适配
|
||||||
let systemInfo = uni.getSystemInfoSync()
|
let systemInfo = uni.getSystemInfoSync()
|
||||||
// 把获取到的手机参数保存
|
// 把获取到的手机参数保存
|
||||||
@ -145,11 +156,50 @@ export default {
|
|||||||
this.getTimeAnalysis('')
|
this.getTimeAnalysis('')
|
||||||
//入区率占比
|
//入区率占比
|
||||||
this.getPercentEntry()
|
this.getPercentEntry()
|
||||||
|
//获得标签
|
||||||
|
this.getLabelDetail()
|
||||||
},
|
},
|
||||||
onReady(){
|
onReady(){
|
||||||
|
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
//获得标签
|
||||||
|
async getLabelDetail(){
|
||||||
|
//六个标签
|
||||||
|
let req = {
|
||||||
|
SearchParameter:{
|
||||||
|
STATISTICS_DATE:this.time,
|
||||||
|
ANALYSISINS_TYPE:1101,
|
||||||
|
ANALYSISINS_FORMAT:1000,
|
||||||
|
ANALYSISINS_STATE:1,
|
||||||
|
SERVERPART_ID:this.serviceInfo.Serverpart_ID,
|
||||||
|
},
|
||||||
|
PageIndex:1,
|
||||||
|
PageSize:10
|
||||||
|
}
|
||||||
|
//分析的文字
|
||||||
|
let reqText = {
|
||||||
|
SearchParameter:{
|
||||||
|
STATISTICS_DATE:this.time,
|
||||||
|
ANALYSISINS_TYPE:1101,
|
||||||
|
ANALYSISINS_FORMAT:2000,
|
||||||
|
ANALYSISINS_STATE:1,
|
||||||
|
SERVERPART_ID:this.serviceInfo.Serverpart_ID,
|
||||||
|
},
|
||||||
|
PageIndex:1,
|
||||||
|
PageSize:10
|
||||||
|
}
|
||||||
|
//六个标签
|
||||||
|
const data = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',req)
|
||||||
|
let list = []
|
||||||
|
data.Result_Data.List.forEach(item=>{
|
||||||
|
list.push(item.ANALYSIS_CONTENT)
|
||||||
|
})
|
||||||
|
this.labelList = list
|
||||||
|
//分析的文字
|
||||||
|
const total = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',reqText)
|
||||||
|
this.analyseText = total.Result_Data.List[0].ANALYSIS_CONTENT
|
||||||
|
},
|
||||||
//当前最近的服务区数据
|
//当前最近的服务区数据
|
||||||
async nearestService(){
|
async nearestService(){
|
||||||
let seat = uni.getStorageSync('seatInfo');
|
let seat = uni.getStorageSync('seatInfo');
|
||||||
@ -177,9 +227,15 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleBack(){
|
handleBack(){
|
||||||
|
if (this.backType==='userCenter'){
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/userCenter/userCenter'
|
||||||
|
})
|
||||||
|
}else{
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: '/pages/index/index'
|
url: '/pages/index/index'
|
||||||
})
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
//切换改变选项卡
|
//切换改变选项卡
|
||||||
// 因为只让接口调用一次 所以要把全部和不同区域的内容要放在同一个列表里面 然后通过选项卡的点击来切换展示哪一块的数据
|
// 因为只让接口调用一次 所以要把全部和不同区域的内容要放在同一个列表里面 然后通过选项卡的点击来切换展示哪一块的数据
|
||||||
|
|||||||
@ -1,17 +1,58 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<p class="title">分析</p>
|
<p class="title">分析</p>
|
||||||
<div class="text">新桥服务区入区车辆主要来自杭州市, 入车车辆主要是普通车型(30-60万)</div>
|
<div class="text">{{ analyseText }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import request from '@/util/index.js'
|
||||||
export default {
|
export default {
|
||||||
name: "analyse",
|
name: "analyse",
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
time:'',
|
||||||
|
serviceInfo:{},
|
||||||
|
analyseText:''
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
props:{
|
||||||
|
analyseInfo:{
|
||||||
|
type: Object,
|
||||||
|
default:()=>{}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
analyseInfo:{
|
||||||
|
handler(value){
|
||||||
|
console.log('analyseInfowatch',value)
|
||||||
|
this.getLabelDetail()
|
||||||
|
},
|
||||||
|
immediate:true,
|
||||||
|
deep:true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(){
|
||||||
|
this.time = uni.getStorageSync('lastDay')
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
async getLabelDetail(){
|
||||||
|
this.time = uni.getStorageSync('lastDay')
|
||||||
|
let id = uni.getStorageSync('currentService')
|
||||||
|
let req = {
|
||||||
|
SearchParameter:{
|
||||||
|
ANALYSISINS_TYPE:this.analyseInfo.analysisins_type,
|
||||||
|
ANALYSISINS_FORMAT:this.analyseInfo.analysisins_format,
|
||||||
|
ANALYSISINS_STATE:1,
|
||||||
|
SERVERPART_ID:id.Serverpart_ID,
|
||||||
|
},
|
||||||
|
PageIndex:1,
|
||||||
|
PageSize:10
|
||||||
|
}
|
||||||
|
const data = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',req)
|
||||||
|
this.analyseText = data.Result_Data.List[0].ANALYSIS_CONTENT
|
||||||
|
console.log('getLabelDetail',data)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<canvas v-if="!carTypeTimePath" class="canvas" canvas-id="carTypeTime" id="carTypeTime"/>
|
<canvas v-if="!carTypeTimePath" class="canvas" canvas-id="carTypeTime" id="carTypeTime"/>
|
||||||
<image v-if="carTypeTimePath" class="canvas" :src="carTypeTimePath"></image>
|
<image v-if="carTypeTimePath" class="canvas" :src="carTypeTimePath"></image>
|
||||||
</div>
|
</div>
|
||||||
<analyse />
|
<analyse :analyseInfo="analyseInfo"/>
|
||||||
</div>
|
</div>
|
||||||
<no-data v-if="!isShowData"/>
|
<no-data v-if="!isShowData"/>
|
||||||
</div>
|
</div>
|
||||||
@ -24,7 +24,11 @@ export default {
|
|||||||
width:0,
|
width:0,
|
||||||
isShowData:false,
|
isShowData:false,
|
||||||
info:{},
|
info:{},
|
||||||
carTypeTimePath:''//图片路径
|
carTypeTimePath:'',//图片路径
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type: 1104,
|
||||||
|
analysisins_format: 2000
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -121,7 +125,7 @@ export default {
|
|||||||
});
|
});
|
||||||
setTimeout( ()=>{
|
setTimeout( ()=>{
|
||||||
this.canvasToTempImage('carTypeTime')
|
this.canvasToTempImage('carTypeTime')
|
||||||
},2000)
|
},1000)
|
||||||
},
|
},
|
||||||
canvasToTempImage(id){
|
canvasToTempImage(id){
|
||||||
uni.canvasToTempFilePath({
|
uni.canvasToTempFilePath({
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
<image v-if="probabilityPath" class="carNum" :src="probabilityPath"></image>
|
<image v-if="probabilityPath" class="carNum" :src="probabilityPath"></image>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<analyse />
|
<analyse :analyseInfo="analyseInfo" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-if="carData.length===0"/>
|
<no-data v-if="carData.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
@ -35,6 +35,10 @@ export default {
|
|||||||
carNumPath:'',//图片路径
|
carNumPath:'',//图片路径
|
||||||
probabilityPath:'',//图片路径
|
probabilityPath:'',//图片路径
|
||||||
isShowData:false,
|
isShowData:false,
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type: 1102,
|
||||||
|
analysisins_format: 2000
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
@ -166,7 +170,7 @@ export default {
|
|||||||
setTimeout( ()=>{
|
setTimeout( ()=>{
|
||||||
this.canvasToTempImage1('carNum')
|
this.canvasToTempImage1('carNum')
|
||||||
this.canvasToTempImage2('probability')
|
this.canvasToTempImage2('probability')
|
||||||
},2000)
|
},1000)
|
||||||
},
|
},
|
||||||
canvasToTempImage1(id){
|
canvasToTempImage1(id){
|
||||||
uni.canvasToTempFilePath({
|
uni.canvasToTempFilePath({
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<analyse />
|
<analyse :analyseInfo="analyseInfo"/>
|
||||||
</div>
|
</div>
|
||||||
<no-data v-if="homeData.length===0"/>
|
<no-data v-if="homeData.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
@ -53,7 +53,11 @@ export default {
|
|||||||
homeDataisTrue:false,
|
homeDataisTrue:false,
|
||||||
homeCityisTrue:false,
|
homeCityisTrue:false,
|
||||||
homePlacePath:'',//图片路径
|
homePlacePath:'',//图片路径
|
||||||
progressList:[]//进度条数组
|
progressList:[],//进度条数组
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type: 1103,
|
||||||
|
analysisins_format: 2000
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -142,7 +146,7 @@ export default {
|
|||||||
});
|
});
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
this.canvasToTempImage('homePlace')
|
this.canvasToTempImage('homePlace')
|
||||||
},2000)
|
},1000)
|
||||||
},
|
},
|
||||||
canvasToTempImage(id){
|
canvasToTempImage(id){
|
||||||
uni.canvasToTempFilePath({
|
uni.canvasToTempFilePath({
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<analyse :analyseInfo="analyseInfo"/>
|
||||||
</div>
|
</div>
|
||||||
<no-data v-if="data.length===0"/>
|
<no-data v-if="data.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
@ -29,10 +30,11 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import NoData from "../noData.vue";
|
import NoData from "../noData.vue";
|
||||||
|
import Analyse from "../analyse.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "percentEntry",
|
name: "percentEntry",
|
||||||
components: {NoData},
|
components: {Analyse, NoData},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dataList:[{title:'总车型入区率',value:''},{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}],
|
dataList:[{title:'总车型入区率',value:''},{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}],
|
||||||
@ -41,6 +43,10 @@ export default {
|
|||||||
middle:0,//中型车
|
middle:0,//中型车
|
||||||
big:0,//大型车
|
big:0,//大型车
|
||||||
isShowData:false,
|
isShowData:false,
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type: 1106,
|
||||||
|
analysisins_format: 2000
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<div class="timeAnalysis" >
|
<div class="timeAnalysis" >
|
||||||
<canvas :style="{width:width+'px'}" class="timeAnalysis" canvas-id="timeAnalysis" id="timeAnalysis"/>
|
<canvas :style="{width:width+'px'}" class="timeAnalysis" canvas-id="timeAnalysis" id="timeAnalysis"/>
|
||||||
</div>
|
</div>
|
||||||
<analyse />
|
<analyse :analyseInfo="analyseInfo"/>
|
||||||
</div>
|
</div>
|
||||||
<no-data v-if="data.length===0"/>
|
<no-data v-if="data.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
@ -22,6 +22,10 @@ export default {
|
|||||||
return {
|
return {
|
||||||
width:0,
|
width:0,
|
||||||
isShowData: false,
|
isShowData: false,
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type: 1105,
|
||||||
|
analysisins_format: 2000
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
|||||||
@ -36,10 +36,13 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
// 处理传入的数据
|
// 处理传入的数据
|
||||||
handleCarData(value) {
|
handleCarData(value) {
|
||||||
let res = value
|
let res = value.result
|
||||||
this.drawCharts('fillDegree', res)
|
let config = {
|
||||||
|
Abundant:value.Abundant
|
||||||
|
}
|
||||||
|
this.drawCharts('fillDegree', res ,config)
|
||||||
},
|
},
|
||||||
drawCharts(id, data) {
|
drawCharts(id, data,config) {
|
||||||
const ctx = uni.createCanvasContext(id, this);
|
const ctx = uni.createCanvasContext(id, this);
|
||||||
let _this = this
|
let _this = this
|
||||||
let phoneInfo = uni.getStorageSync('phoneInfo')
|
let phoneInfo = uni.getStorageSync('phoneInfo')
|
||||||
@ -59,7 +62,7 @@ export default {
|
|||||||
dataLabel: true,
|
dataLabel: true,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
title: {
|
title: {
|
||||||
name:'盈足',
|
name:config.Abundant?'盈足':'不盈足',
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
color: "#341D00"
|
color: "#341D00"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -26,7 +26,8 @@ export default {
|
|||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
},
|
||||||
|
immediate: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@ -33,13 +33,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="analyse">
|
<div class="analyse">
|
||||||
<text class="title">分析</text>
|
<text class="title">分析</text>
|
||||||
<text class="content">新桥服务区入区车辆主要来自杭州市, 入车车辆主要是普通车型(30-60万)</text>
|
<text class="content">{{analyseText}}</text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import request from '@/util/index.js'
|
||||||
export default {
|
export default {
|
||||||
name: "headerTop",
|
name: "headerTop",
|
||||||
props:{
|
props:{
|
||||||
@ -59,10 +59,6 @@ export default {
|
|||||||
type:String,
|
type:String,
|
||||||
default: ""
|
default: ""
|
||||||
},
|
},
|
||||||
labelList:{
|
|
||||||
type:Array,
|
|
||||||
default:()=>[]
|
|
||||||
},
|
|
||||||
topBg:{
|
topBg:{
|
||||||
type:String,
|
type:String,
|
||||||
default: ""
|
default: ""
|
||||||
@ -82,25 +78,93 @@ export default {
|
|||||||
serviceInfo:{
|
serviceInfo:{
|
||||||
type:Object,
|
type:Object,
|
||||||
default:()=>{}
|
default:()=>{}
|
||||||
|
},
|
||||||
|
backType:{
|
||||||
|
type:String,
|
||||||
|
default:''
|
||||||
|
},
|
||||||
|
analyseInfo:{
|
||||||
|
type:Object,
|
||||||
|
default:()=>{}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
labelList:[],
|
||||||
|
analyseText:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(){
|
watch:{
|
||||||
|
analyseInfo:{
|
||||||
|
handler(value){
|
||||||
|
console.log('headerTop',value)
|
||||||
|
//获得标签
|
||||||
|
this.getLabelDetail()
|
||||||
},
|
},
|
||||||
|
immediate:true,
|
||||||
|
deep:true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// onLoad(){
|
||||||
|
// this.getLabelDetail()
|
||||||
|
// },
|
||||||
methods:{
|
methods:{
|
||||||
|
//获得标签
|
||||||
|
async getLabelDetail(){
|
||||||
|
let storeTime = uni.getStorageSync('lastDay')
|
||||||
|
let storeServiceInfo = uni.getStorageSync('currentService')
|
||||||
|
console.log('this.analyseInfo',this.analyseInfo)
|
||||||
|
//六个标签
|
||||||
|
let req = {
|
||||||
|
SearchParameter:{
|
||||||
|
STATISTICS_DATE:storeTime,
|
||||||
|
ANALYSISINS_TYPE:this.analyseInfo.analysisins_type1,
|
||||||
|
ANALYSISINS_FORMAT:1000,
|
||||||
|
ANALYSISINS_STATE:1,
|
||||||
|
SERVERPART_ID:storeServiceInfo.Serverpart_ID,
|
||||||
|
},
|
||||||
|
PageIndex:1,
|
||||||
|
PageSize:10
|
||||||
|
}
|
||||||
|
//分析的文字
|
||||||
|
let reqText = {
|
||||||
|
SearchParameter:{
|
||||||
|
STATISTICS_DATE:storeTime,
|
||||||
|
ANALYSISINS_TYPE:this.analyseInfo.analysisins_type2,
|
||||||
|
ANALYSISINS_FORMAT:2000,
|
||||||
|
ANALYSISINS_STATE:1,
|
||||||
|
SERVERPART_ID:storeServiceInfo.Serverpart_ID,
|
||||||
|
},
|
||||||
|
PageIndex:1,
|
||||||
|
PageSize:10
|
||||||
|
}
|
||||||
|
//六个标签
|
||||||
|
const data = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',req)
|
||||||
|
let list = []
|
||||||
|
data.Result_Data.List.forEach(item=>{
|
||||||
|
list.push(item.ANALYSIS_CONTENT)
|
||||||
|
})
|
||||||
|
this.labelList = list
|
||||||
|
//分析的文字
|
||||||
|
const total = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',reqText)
|
||||||
|
this.analyseText = total.Result_Data.List[0].ANALYSIS_CONTENT
|
||||||
|
},
|
||||||
bindPickerChange(){
|
bindPickerChange(){
|
||||||
|
|
||||||
},
|
},
|
||||||
//返回上一级s
|
//返回上一级s
|
||||||
handleBack(){
|
handleBack(){
|
||||||
|
console.log('this.backType',this.backType)
|
||||||
|
if (this.backType==='userCenter'){
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/userCenter/userCenter'
|
||||||
|
})
|
||||||
|
}else{
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: '/pages/index/index'
|
url: '/pages/index/index'
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//点击跳转服务区
|
//点击跳转服务区
|
||||||
handleGoSelectService(){
|
handleGoSelectService(){
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :labelList="labelList" :topBg="topBg" :page="page"
|
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
|
||||||
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
||||||
|
|
||||||
<div class="charts">
|
<div class="charts">
|
||||||
<div class="chartsItem">
|
<div class="chartsItem">
|
||||||
<p class="title">业态充盈度</p>
|
<p class="title">业态充盈度</p>
|
||||||
<div v-if="fillDegreeList.series[0].data.length>0">
|
<div v-if="fillDegreeList.result.series[0].data.length>0">
|
||||||
<filling-degree :data="fillDegreeList" />
|
<filling-degree :data="fillDegreeList" />
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1502,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else/>
|
<no-data v-else/>
|
||||||
</div>
|
</div>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<p class="title">品牌消费水平<text class="unit">(Top 5)</text></p>
|
<p class="title">品牌消费水平<text class="unit">(Top 5)</text></p>
|
||||||
<div v-if="bandLevelList.length>0">
|
<div v-if="bandLevelList.length>0">
|
||||||
<band-level :data="bandLevelList"/>
|
<band-level :data="bandLevelList"/>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1503,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else/>
|
<no-data v-else/>
|
||||||
</div>
|
</div>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
<p class="title">业态消费水平<text class="unit">(Top 5)</text></p>
|
<p class="title">业态消费水平<text class="unit">(Top 5)</text></p>
|
||||||
<div v-if="consumLevelList.series.length>0">
|
<div v-if="consumLevelList.series.length>0">
|
||||||
<consumption-level :data="consumLevelList" />
|
<consumption-level :data="consumLevelList" />
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1504,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else/>
|
<no-data v-else/>
|
||||||
</div>
|
</div>
|
||||||
@ -77,17 +77,30 @@ export default {
|
|||||||
{name:'省内品牌',value:3},
|
{name:'省内品牌',value:3},
|
||||||
{name:'地方特色',value:8}],//品牌指数标签列表
|
{name:'地方特色',value:8}],//品牌指数标签列表
|
||||||
brandInfoList:[],//品牌指数列表
|
brandInfoList:[],//品牌指数列表
|
||||||
serviceInfo:{} //当前服务区信息
|
serviceInfo:{}, //当前服务区信息
|
||||||
|
backType:'',//返回的页面类型
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type1: 1501,
|
||||||
|
analysisins_type2: 1502
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
console.log('option',option)
|
|
||||||
let storeServiceInfo = uni.getStorageSync('currentService')
|
|
||||||
let serviceInfo = JSON.parse(option.serviceInfo)
|
let serviceInfo = JSON.parse(option.serviceInfo)
|
||||||
this.serviceInfo = storeServiceInfo?storeServiceInfo:serviceInfo
|
this.backType = option.type
|
||||||
|
this.serviceInfo = serviceInfo
|
||||||
//跳转的时候带上时间
|
//跳转的时候带上时间
|
||||||
|
this.time = option.time
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
let storeTime = uni.getStorageSync('lastDay')
|
let storeTime = uni.getStorageSync('lastDay')
|
||||||
this.time = storeTime?storeTime:option.time
|
if (storeTime){
|
||||||
|
this.time = storeTime
|
||||||
|
}
|
||||||
|
let storeServiceInfo = uni.getStorageSync('currentService')
|
||||||
|
if (storeServiceInfo){
|
||||||
|
this.serviceInfo = storeServiceInfo
|
||||||
|
}
|
||||||
// 获取手机参数对页面进行适配
|
// 获取手机参数对页面进行适配
|
||||||
let systemInfo = uni.getSystemInfoSync()
|
let systemInfo = uni.getSystemInfoSync()
|
||||||
// 把获取到的手机参数保存
|
// 把获取到的手机参数保存
|
||||||
@ -132,7 +145,7 @@ export default {
|
|||||||
StatisticsDate:this.time,
|
StatisticsDate:this.time,
|
||||||
serverpartId:this.serviceInfo.Serverpart_ID
|
serverpartId:this.serviceInfo.Serverpart_ID
|
||||||
}
|
}
|
||||||
const data = await request.$webGet('CommercialApi//Revenue/GetBusinessTradeRevenue',req)
|
const data = await request.$webGet('CommercialApi/Revenue/GetBusinessTradeRevenue',req)
|
||||||
let res = []
|
let res = []
|
||||||
let all = 0
|
let all = 0
|
||||||
data.Result_Data.BusinessTradeRank.forEach((item,index)=>{
|
data.Result_Data.BusinessTradeRank.forEach((item,index)=>{
|
||||||
@ -151,6 +164,10 @@ export default {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
let obj = {
|
||||||
|
result:result,
|
||||||
|
Abundant:data.Result_Data.Abundant//是否盈足
|
||||||
|
}
|
||||||
// let res = {
|
// let res = {
|
||||||
// series: [
|
// series: [
|
||||||
// {
|
// {
|
||||||
@ -165,7 +182,7 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// ]
|
// ]
|
||||||
// }
|
// }
|
||||||
this.fillDegreeList = result
|
this.fillDegreeList = obj
|
||||||
},
|
},
|
||||||
async getBandLevelList(){
|
async getBandLevelList(){
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<header-top :bgUrl="bgUrl" :menu="menu" :topBg="topBg" :bgColor="bgColor" :title="title" :labelList="labelList" :page="page"
|
<header-top :bgUrl="bgUrl" :menu="menu" :topBg="topBg" :bgColor="bgColor" :title="title" :page="page" :backType="backType" :analyseInfo="analyseInfo"
|
||||||
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
||||||
|
|
||||||
<div class="charts">
|
<div class="charts">
|
||||||
<div class="chartsItem">
|
<div class="chartsItem">
|
||||||
<p class="title">客群分析</p>
|
<p class="title">客群分析</p>
|
||||||
<div v-if="customer">
|
<div v-if="customer">
|
||||||
<customer-first :data="customer" />
|
<customer-first :analyseInfo="{analysisins_type: 1202,analysisins_format: 2000}" :data="customer" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
@ -15,15 +15,15 @@
|
|||||||
<p class="title">客群分析</p>
|
<p class="title">客群分析</p>
|
||||||
<div v-if="genderBubbleList.res.length!==0">
|
<div v-if="genderBubbleList.res.length!==0">
|
||||||
<customer-second :data="genderBubbleList" />
|
<customer-second :data="genderBubbleList" />
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1203,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
<p class="title">客群消费偏好</p>
|
<p class="title">客群消费偏好</p>
|
||||||
<div v-if="consterPreferList.categories.length!==0">
|
<div v-if="consterPreferList.series.length>0">
|
||||||
<consum-prefer :data="consterPreferList" />
|
<consum-prefer :data="consterPreferList" />
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1204,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else/>
|
<no-data v-else/>
|
||||||
</div>
|
</div>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
<p class="title">客群消费水平</p>
|
<p class="title">客群消费水平</p>
|
||||||
<div v-if="consumptionLevelList.length>0">
|
<div v-if="consumptionLevelList.length>0">
|
||||||
<consumption-level :data="consumptionLevelList"/>
|
<consumption-level :data="consumptionLevelList"/>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1205,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
<p class="title">业态消费偏好</p>
|
<p class="title">业态消费偏好</p>
|
||||||
<div v-if="businessTypeList.length>0">
|
<div v-if="businessTypeList.length>0">
|
||||||
<business-type :data="businessTypeList"></business-type>
|
<business-type :data="businessTypeList"></business-type>
|
||||||
<analyse />
|
<analyse :analyseInfo="{analysisins_type: 1206,analysisins_format: 2000}" />
|
||||||
</div>
|
</div>
|
||||||
<no-data v-else />
|
<no-data v-else />
|
||||||
</div>
|
</div>
|
||||||
@ -75,17 +75,30 @@ export default {
|
|||||||
consterPreferList:{},//客群消费偏好
|
consterPreferList:{},//客群消费偏好
|
||||||
consumptionLevelList:[],//客群消费水平
|
consumptionLevelList:[],//客群消费水平
|
||||||
businessTypeList:[],//业态偏好
|
businessTypeList:[],//业态偏好
|
||||||
serviceInfo:{} //当前服务区信息
|
serviceInfo:{}, //当前服务区信息
|
||||||
|
backType:'',//返回的页面类型
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type1: 1201,
|
||||||
|
analysisins_type2: 1202
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option){
|
onLoad(option){
|
||||||
console.log('option',option)
|
|
||||||
let storeServiceInfo = uni.getStorageSync('currentService')
|
|
||||||
let serviceInfo = JSON.parse(option.serviceInfo)
|
let serviceInfo = JSON.parse(option.serviceInfo)
|
||||||
this.serviceInfo = storeServiceInfo?storeServiceInfo:serviceInfo
|
this.backType = option.type
|
||||||
|
this.serviceInfo = serviceInfo
|
||||||
//跳转的时候带上时间
|
//跳转的时候带上时间
|
||||||
|
this.time = option.time
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
let storeTime = uni.getStorageSync('lastDay')
|
let storeTime = uni.getStorageSync('lastDay')
|
||||||
this.time = storeTime?storeTime:option.time
|
if (storeTime){
|
||||||
|
this.time = storeTime
|
||||||
|
}
|
||||||
|
let storeServiceInfo = uni.getStorageSync('currentService')
|
||||||
|
if (storeServiceInfo){
|
||||||
|
this.serviceInfo = storeServiceInfo
|
||||||
|
}
|
||||||
// 获取手机参数对页面进行适配
|
// 获取手机参数对页面进行适配
|
||||||
let systemInfo = uni.getSystemInfoSync()
|
let systemInfo = uni.getSystemInfoSync()
|
||||||
// 把获取到的手机参数保存
|
// 把获取到的手机参数保存
|
||||||
@ -223,6 +236,7 @@ export default {
|
|||||||
// {name: "女", data: [190,210,105,35,27,102]}
|
// {name: "女", data: [190,210,105,35,27,102]}
|
||||||
// ]
|
// ]
|
||||||
// }
|
// }
|
||||||
|
console.log('res',res)
|
||||||
this.consterPreferList = res
|
this.consterPreferList = res
|
||||||
},
|
},
|
||||||
//客群消费水平
|
//客群消费水平
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :labelList="labelList" :topBg="topBg" :page="page"
|
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
|
||||||
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
|
||||||
|
|
||||||
<div class="charts">
|
<div class="charts">
|
||||||
@ -49,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<no-data v-else/>
|
<no-data v-else/>
|
||||||
</div>
|
</div>
|
||||||
<analyse/>
|
<analyse :analyseInfo="{analysisins_type: selectTab===0?1305:selectTab===1?1306:selectTab===2?1307:'',analysisins_format: 2000}"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
<p class="title">营收占比</p>
|
<p class="title">营收占比</p>
|
||||||
@ -57,10 +57,10 @@
|
|||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<text class="title">自营</text>
|
<text class="title">自营</text>
|
||||||
<text class="value" style="margin-left: 4px">{{revenueType.own}}%</text>
|
<text class="value" style="margin-left: 4px">{{revenueType.own?revenueType.own:''}}%</text>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<text class="value">{{revenueType.ectocyst}}%</text>
|
<text class="value">{{revenueType.ectocyst?revenueType.ectocyst:''}}%</text>
|
||||||
<text class="title" style="margin-left: 4px">外包</text>
|
<text class="title" style="margin-left: 4px">外包</text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -210,17 +210,30 @@ export default {
|
|||||||
yearAdd:'', // 年度计划增加的百分比
|
yearAdd:'', // 年度计划增加的百分比
|
||||||
showNotice:false,
|
showNotice:false,
|
||||||
showNoticeYear:false,
|
showNoticeYear:false,
|
||||||
serviceInfo:{} //当前服务区信息
|
serviceInfo:{}, //当前服务区信息
|
||||||
|
backType:'',//返回的页面类型
|
||||||
|
analyseInfo:{
|
||||||
|
analysisins_type1: 1301,
|
||||||
|
analysisins_type2: 1302
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
console.log('option',option)
|
|
||||||
let storeServiceInfo = uni.getStorageSync('currentService')
|
|
||||||
let serviceInfo = JSON.parse(option.serviceInfo)
|
let serviceInfo = JSON.parse(option.serviceInfo)
|
||||||
this.serviceInfo = storeServiceInfo?storeServiceInfo:serviceInfo
|
this.backType = option.type
|
||||||
|
this.serviceInfo = serviceInfo
|
||||||
//跳转的时候带上时间
|
//跳转的时候带上时间
|
||||||
|
this.time = option.time
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
let storeTime = uni.getStorageSync('lastDay')
|
let storeTime = uni.getStorageSync('lastDay')
|
||||||
this.time = storeTime?storeTime:option.time
|
if (storeTime){
|
||||||
|
this.time = storeTime
|
||||||
|
}
|
||||||
|
let storeServiceInfo = uni.getStorageSync('currentService')
|
||||||
|
if (storeServiceInfo){
|
||||||
|
this.serviceInfo = storeServiceInfo
|
||||||
|
}
|
||||||
// 获取手机参数对页面进行适配
|
// 获取手机参数对页面进行适配
|
||||||
let systemInfo = uni.getSystemInfoSync()
|
let systemInfo = uni.getSystemInfoSync()
|
||||||
// 把获取到的手机参数保存
|
// 把获取到的手机参数保存
|
||||||
@ -462,7 +475,8 @@ export default {
|
|||||||
monthYearPlan(){
|
monthYearPlan(){
|
||||||
const monthDate= {
|
const monthDate= {
|
||||||
Province_Code:'340000',
|
Province_Code:'340000',
|
||||||
Statistics_Date:this.time
|
Statistics_Date:this.time,
|
||||||
|
Serverpart_ID: this.serviceInfo.Serverpart_ID
|
||||||
}
|
}
|
||||||
request.$webGet('CommercialApi/Revenue/GetRevenueBudget',monthDate).then(res=>{
|
request.$webGet('CommercialApi/Revenue/GetRevenueBudget',monthDate).then(res=>{
|
||||||
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
||||||
|
|||||||
368
pages/commercialBI/planDetail.vue
Normal file
@ -0,0 +1,368 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main">
|
||||||
|
<div class="listBox" v-if="type==='year'">
|
||||||
|
<div class="list">
|
||||||
|
<div class="top">
|
||||||
|
<div class="left">
|
||||||
|
<p class="title"><text class="name">{{month}}</text>月</p>
|
||||||
|
|
||||||
|
<div class="value" >{{info.Budget_Degree}}%</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<text class="comparePlan">比计划: </text>
|
||||||
|
<div class="box2">
|
||||||
|
<image class="addIcon" :src="Number(info.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
|
<p class="text">{{info.Growth_Rate ?info.Growth_Rate + '%':''}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="progress">
|
||||||
|
<div class="have" :style="{width:info.Budget_Degree + '%'}"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div class="success">
|
||||||
|
<p>已完成:</p>
|
||||||
|
<text class="money">{{info.Revenue_Amount}}</text>
|
||||||
|
</div>
|
||||||
|
<div class="success">
|
||||||
|
<p>计划: </p>
|
||||||
|
<text class="money">{{info.Budget_Amount}}</text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list" v-for="(item,index) in dataList" :key="index">
|
||||||
|
<div class="top">
|
||||||
|
<div class="left">
|
||||||
|
<p class="title" v-if="type==='year'"><text class="name">{{item.name}}</text>{{item.unit}}</p>
|
||||||
|
<div class="value" >{{item.Budget_Degree}}%</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<text class="comparePlan">比计划: </text>
|
||||||
|
<div class="box2">
|
||||||
|
<image class="addIcon" :src="Number(item.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
|
<p class="text">{{item.Growth_Rate?item.Growth_Rate + '%':''}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="progress">
|
||||||
|
<div class="have" :style="{width:item.Budget_Degree + '%'}"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div class="success">
|
||||||
|
<p>已完成:</p>
|
||||||
|
<text class="money">{{item.Revenue_Amount}}</text>
|
||||||
|
</div>
|
||||||
|
<div class="success">
|
||||||
|
<p>计划: </p>
|
||||||
|
<text class="money">{{item.Budget_Amount }}</text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="listBox" v-if="type==='month'">
|
||||||
|
<div class="list">
|
||||||
|
<div class="top">
|
||||||
|
<div class="left">
|
||||||
|
<p class="title"><text class="name">{{item.name}}</text>{{item.unit}}</p>
|
||||||
|
<div class="value" >{{info.Budget_Degree}}%</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<text class="comparePlan">比计划: </text>
|
||||||
|
<div class="box2">
|
||||||
|
<image class="addIcon" :src="Number(info.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
|
<p class="text">{{info.Growth_Rate ?info.Growth_Rate + '%':''}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="progress">
|
||||||
|
<div class="have" :style="{width:info.Budget_Degree + '%'}"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div class="success">
|
||||||
|
<p>已完成:</p>
|
||||||
|
<text class="money">{{info.Revenue_Amount}}</text>
|
||||||
|
</div>
|
||||||
|
<div class="success">
|
||||||
|
<p>计划: </p>
|
||||||
|
<text class="money">{{info.Budget_Amount}}</text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list" v-for="(item,index) in dataList" :key="index">
|
||||||
|
<div class="top">
|
||||||
|
<div class="left">
|
||||||
|
<p class="title" ><text class="name">{{item.name}}</text>{{item.unit}}</p>
|
||||||
|
<div class="value" >{{item.Budget_Degree}}%</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<text class="comparePlan">比计划: </text>
|
||||||
|
<div class="box2">
|
||||||
|
<image class="addIcon" :src="Number(item.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
|
<p class="text">{{item.Growth_Rate?item.Growth_Rate + '%':''}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="progress">
|
||||||
|
<div class="have" :style="{width:item.Budget_Degree + '%'}"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div class="success">
|
||||||
|
<p>已完成:</p>
|
||||||
|
<text class="money">{{item.Revenue_Amount}}</text>
|
||||||
|
</div>
|
||||||
|
<div class="success">
|
||||||
|
<p>计划: </p>
|
||||||
|
<text class="money">{{item.Budget_Amount }}</text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import request from '@/util/index.js'
|
||||||
|
export default {
|
||||||
|
name: "planDetail",
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
date:'', //时间
|
||||||
|
type:'', //类别
|
||||||
|
dataList:[],
|
||||||
|
id:'',
|
||||||
|
info:{},
|
||||||
|
month:0,//传入的月份
|
||||||
|
item:{}//月份的时候传入的整个片区信息
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(option){
|
||||||
|
console.log('option',option)
|
||||||
|
this.type = option.type
|
||||||
|
if (option.id){
|
||||||
|
this.id =option.id
|
||||||
|
}
|
||||||
|
this.month = Number(option.month)
|
||||||
|
let date = new Date()
|
||||||
|
let y = date.getFullYear()
|
||||||
|
let m = date.getMonth() + 1
|
||||||
|
let d = date.getDate()
|
||||||
|
if (m<10){
|
||||||
|
m = '0'+m
|
||||||
|
}
|
||||||
|
if (d<10){
|
||||||
|
d = '0' + d
|
||||||
|
}
|
||||||
|
if (option.month){
|
||||||
|
if (m === Number(option.month)){
|
||||||
|
this.date = `${y}-${m}-${d}`
|
||||||
|
}else{
|
||||||
|
//月份不是当前月
|
||||||
|
let mayDate = `${y}-${option.month}`
|
||||||
|
let addDay = this.$util.getThisMonthDay(mayDate)
|
||||||
|
this.date = `${y}-${option.month}-${addDay}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (option.item){
|
||||||
|
this.item = JSON.parse(option.item)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.getDateList()
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
|
if (this.type==='year'){
|
||||||
|
//每个月片区的列表
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: `${this.month}月自营计划`,
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
//片区进来服务区的列表
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: `${this.item.Serverpart_Name}本月自营计划`,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
async getDateList(){
|
||||||
|
if (this.type==='year'){
|
||||||
|
let req = {
|
||||||
|
StatisticsDate:this.date,
|
||||||
|
ProvinceCode:'340000',
|
||||||
|
StatisticsType:1
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi/Revenue/GetProvinceRevenueBudget',req)
|
||||||
|
data.Result_Data.RegionBudgetList.forEach(item=>{
|
||||||
|
let num = item.Serverpart_Name.indexOf('片区')
|
||||||
|
console.log(num)
|
||||||
|
if (num!==-1){
|
||||||
|
item.name = item.Serverpart_Name.slice(0,num)
|
||||||
|
item.unit = item.Serverpart_Name.slice(num,100)
|
||||||
|
}else{
|
||||||
|
item.name = item.Serverpart_Name
|
||||||
|
}
|
||||||
|
item.Revenue_Amount = this.$util.fmoney(item.Revenue_Amount)
|
||||||
|
item.Budget_Amount = this.$util.fmoney(item.Budget_Amount)
|
||||||
|
})
|
||||||
|
this.info = data.Result_Data
|
||||||
|
this.info.Budget_Amount = this.$util.fmoney(this.info.Budget_Amount)
|
||||||
|
this.info.Revenue_Amount = this.$util.fmoney(this.info.Revenue_Amount)
|
||||||
|
this.dataList = data.Result_Data.RegionBudgetList
|
||||||
|
|
||||||
|
console.log('data',data)
|
||||||
|
}else{
|
||||||
|
let time = uni.getStorageSync('lastDay')
|
||||||
|
let req = {
|
||||||
|
StatisticsDate:time,
|
||||||
|
ProvinceCode:'340000',
|
||||||
|
StatisticsType:4,
|
||||||
|
SPRegionTypeID:this.id
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi/Revenue/GetProvinceRevenueBudget',req)
|
||||||
|
data.Result_Data.RegionBudgetList.forEach(item=>{
|
||||||
|
let num = item.Serverpart_Name.indexOf('服务区')
|
||||||
|
console.log(num)
|
||||||
|
if (num!==-1){
|
||||||
|
item.name = item.Serverpart_Name.slice(0,num)
|
||||||
|
item.unit = item.Serverpart_Name.slice(num,100)
|
||||||
|
}else{
|
||||||
|
item.name = item.Serverpart_Name
|
||||||
|
}
|
||||||
|
item.Revenue_Amount = this.$util.fmoney(item.Revenue_Amount)
|
||||||
|
item.Budget_Amount = this.$util.fmoney(item.Budget_Amount)
|
||||||
|
})
|
||||||
|
this.info = data.Result_Data
|
||||||
|
this.info.Budget_Amount = this.$util.fmoney(this.info.Budget_Amount)
|
||||||
|
this.info.Revenue_Amount = this.$util.fmoney(this.info.Revenue_Amount)
|
||||||
|
this.dataList = data.Result_Data.RegionBudgetList
|
||||||
|
|
||||||
|
console.log('data',data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.main{
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0 16px;
|
||||||
|
.listBox{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-bottom: calc(8px + env(safe-area-inset-bottom)) ;
|
||||||
|
.list{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 12px;
|
||||||
|
background: #F5F5F5;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
.top{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
.left{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.icon{
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #150002;
|
||||||
|
line-height: 20px;
|
||||||
|
.name{
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.value{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FF6D40;
|
||||||
|
line-height: 16px;
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.right{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.comparePlan{
|
||||||
|
font-size: 24rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #a69e9f;
|
||||||
|
line-height: 36rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.box2{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.text{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
|
color: #150002;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
.addIcon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.progress{
|
||||||
|
width: 100%;
|
||||||
|
height: 8px;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin: 8px 0 16px;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
.have{
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 6px;
|
||||||
|
top: 0;left: 0;
|
||||||
|
background:#FF8E5B
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 16px;
|
||||||
|
.success {
|
||||||
|
width: calc(50% - 4px);
|
||||||
|
display: flex;
|
||||||
|
p{
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #a69e9f;
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
.money {
|
||||||
|
margin-left: 8px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #160002;
|
||||||
|
line-height: 20px;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -93,11 +93,12 @@
|
|||||||
</view>
|
</view>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="list" v-for="(item,index) in dataList" :key="index">
|
<div class="listBox">
|
||||||
|
<div class="list" v-for="(item,index) in dataList" :key="index" @click="handleGoDetail(item)">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<image class="icon" :src="type==='month'?'https://eshangtech.com/ShopICO/ahyd-BID/commercial/planMonth.svg':'https://eshangtech.com/ShopICO/ahyd-BID/commercial/planYear.svg'"></image>
|
<p class="title" v-if="type==='month'"><text class="name">{{item.name}}</text>{{item.unit}}</p>
|
||||||
<p class="title">{{type==='month'?item.Serverpart_Name:item.Statistics_Month + '月'}}</p>
|
<p class="title" v-if="type==='year'"><text class="name">{{item.Statistics_Month}}</text>月</p>
|
||||||
<div class="value" :style="{color:type==='year'?'#4962FF':''}">{{item.Budget_Degree}}%</div>
|
<div class="value" :style="{color:type==='year'?'#4962FF':''}">{{item.Budget_Degree}}%</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
@ -113,12 +114,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="success">
|
<div class="success">
|
||||||
<p>本月已完成<text>/元</text></p>
|
<p>已完成:</p>
|
||||||
<p class="money">{{item.Revenue_Amount}}</p>
|
<text class="money">{{item.Revenue_Amount}}</text>
|
||||||
</div>
|
</div>
|
||||||
<div class="success">
|
<div class="success">
|
||||||
<p>本月计划<text>/元</text></p>
|
<p>计划: </p>
|
||||||
<p class="money">{{item.Budget_Amount }}</p>
|
<text class="money">{{item.Budget_Amount }}</text>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -147,6 +149,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onLoad(option){
|
onLoad(option){
|
||||||
this.lastDay = option.lastDay
|
this.lastDay = option.lastDay
|
||||||
this.type = option.type
|
this.type = option.type
|
||||||
@ -165,20 +168,47 @@ export default {
|
|||||||
this.getPlanListData(option.type)
|
this.getPlanListData(option.type)
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
async getPlanListData(type){
|
//跳转到详情页
|
||||||
|
handleGoDetail(item){
|
||||||
|
console.log('item',item)
|
||||||
|
if (this.type==='year'){
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/commercialBI/planDetail?type=${this.type}&month=${item.Statistics_Month}`
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/commercialBI/planDetail?type=${this.type}&item=${JSON.stringify(item)}&id=${item.Serverpart_ID}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
async getPlanListData(type){
|
||||||
|
console.log('type',type)
|
||||||
let req = {
|
let req = {
|
||||||
StatisticsDate:'2023-04-03',
|
StatisticsDate:'2023-04-03',
|
||||||
ProvinceCode:'340000',
|
ProvinceCode:'340000',
|
||||||
StatisticsType:type==='month'?1:type==='year'?2:''
|
StatisticsType:type==='month'?1:type==='year'?2:''
|
||||||
}
|
}
|
||||||
const data = await request.$webGet('CommercialApi/Revenue/GetProvinceRevenueBudget',req)
|
const data = await request.$webGet('CommercialApi/Revenue/GetProvinceRevenueBudget',req)
|
||||||
|
console.log('data',data)
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
data.Result_Data.RegionBudgetList.forEach(item=>{
|
data.Result_Data.RegionBudgetList.forEach(item=>{
|
||||||
|
if (type==='month'){
|
||||||
|
let num = item.Serverpart_Name.indexOf('片区')
|
||||||
|
console.log(num)
|
||||||
|
if (num!==-1){
|
||||||
|
item.name = item.Serverpart_Name.slice(0,num)
|
||||||
|
item.unit = item.Serverpart_Name.slice(num,100)
|
||||||
|
}else{
|
||||||
|
item.name = item.Serverpart_Name
|
||||||
|
}
|
||||||
|
}
|
||||||
item.Revenue_Amount = this.$util.fmoney(item.Revenue_Amount)
|
item.Revenue_Amount = this.$util.fmoney(item.Revenue_Amount)
|
||||||
item.Budget_Amount = this.$util.fmoney(item.Budget_Amount)
|
item.Budget_Amount = this.$util.fmoney(item.Budget_Amount)
|
||||||
})
|
})
|
||||||
this.info = data.Result_Data
|
this.info = data.Result_Data
|
||||||
|
this.info.Budget_Amount = this.$util.fmoney(this.info.Budget_Amount)
|
||||||
|
this.info.Revenue_Amount = this.$util.fmoney(this.info.Revenue_Amount)
|
||||||
this.dataList = data.Result_Data.RegionBudgetList
|
this.dataList = data.Result_Data.RegionBudgetList
|
||||||
console.log('data',data)
|
console.log('data',data)
|
||||||
},
|
},
|
||||||
@ -409,6 +439,10 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.listBox{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-bottom: calc(8px + env(safe-area-inset-bottom)) ;
|
||||||
.list{
|
.list{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -433,6 +467,9 @@ export default {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #150002;
|
color: #150002;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
.name{
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.value{
|
.value{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -491,35 +528,31 @@ export default {
|
|||||||
}
|
}
|
||||||
.bottom {
|
.bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-start;
|
justify-content: space-between;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
.success {
|
.success {
|
||||||
width: 50%;
|
width: calc(50% - 4px);
|
||||||
.text {
|
display: flex;
|
||||||
font-size: 28rpx;
|
p{
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-size: 12px;
|
||||||
font-weight: 400;
|
|
||||||
color: #786b6c;
|
|
||||||
line-height: 40rpx;
|
|
||||||
margin-bottom: 2px;
|
|
||||||
.unit {
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #a69e9f;
|
color: #a69e9f;
|
||||||
line-height: 40rpx;
|
line-height: 18px;
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.money {
|
.money {
|
||||||
font-size: 28rpx;
|
margin-left: 8px;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-size: 14px;
|
||||||
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #160002;
|
color: #160002;
|
||||||
line-height: 40rpx;
|
line-height: 20px;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -497,7 +497,6 @@ export default {
|
|||||||
}
|
}
|
||||||
uni.setStorageSync('seatInfo', seatInfo);
|
uni.setStorageSync('seatInfo', seatInfo);
|
||||||
this.seat = seatInfo
|
this.seat = seatInfo
|
||||||
this.nearestService()
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
@ -505,6 +504,8 @@ export default {
|
|||||||
this.nearestService()
|
this.nearestService()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取标签数据
|
||||||
|
this.getLabelDetail()
|
||||||
//设置日期选择器的开始时间和结束时间
|
//设置日期选择器的开始时间和结束时间
|
||||||
let y = date.getFullYear()
|
let y = date.getFullYear()
|
||||||
let m = date.getMonth() + 1
|
let m = date.getMonth() + 1
|
||||||
@ -529,9 +530,25 @@ export default {
|
|||||||
// 离开页面投诉建议的悬浮框隐藏掉
|
// 离开页面投诉建议的悬浮框隐藏掉
|
||||||
this.isShow = false
|
this.isShow = false
|
||||||
this.selectTab = 1
|
this.selectTab = 1
|
||||||
|
if (!this.seat){
|
||||||
|
this.nearestService()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
...mapActions(['memberLogin','getLoginCode']),
|
...mapActions(['memberLogin','getLoginCode']),
|
||||||
|
async getLabelDetail(){
|
||||||
|
let req = {
|
||||||
|
SearchParameter:{
|
||||||
|
STATISTICS_DATE:this.lastDay,
|
||||||
|
ANALYSISINS_TYPE:'',
|
||||||
|
ANALYSISINS_FORMAT:'1000'
|
||||||
|
},
|
||||||
|
PageIndex:1,
|
||||||
|
PageSize:10
|
||||||
|
}
|
||||||
|
const data = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',req)
|
||||||
|
console.log('getLabelDetail',data)
|
||||||
|
},
|
||||||
async nearestService(){
|
async nearestService(){
|
||||||
let seat = uni.getStorageSync('seatInfo');
|
let seat = uni.getStorageSync('seatInfo');
|
||||||
let req = {
|
let req = {
|
||||||
|
|||||||
@ -2,11 +2,11 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<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">
|
<div class="pickers" v-if="isShowPicker" @click="handleChangeService">
|
||||||
<div class="pick" @click="handleChangeService" :value="selectIndex" :range="array" range-key="name">
|
<div class="pick" :value="selectIndex" :range="array" range-key="name">
|
||||||
<view class="picker">
|
<view class="picker">
|
||||||
<p class="pickTitle">{{info.SERVERPART_NAME}}</p>
|
<p class="pickTitle">{{info.SERVERPART_NAME?info.SERVERPART_NAME:''}}</p>
|
||||||
{{array[selectIndex].name?array[selectIndex].name:''}}
|
{{info.SPREGIONTYPE_NAME?info.SPREGIONTYPE_NAME:''}}
|
||||||
</view>
|
</view>
|
||||||
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
|
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
|
||||||
</div>
|
</div>
|
||||||
@ -15,16 +15,18 @@
|
|||||||
<div class="topImg">
|
<div class="topImg">
|
||||||
<image class="topDefaultBg" src="https://eshangtech.com/ShopICO/ahyd-BID/service/default.png"></image>
|
<image class="topDefaultBg" src="https://eshangtech.com/ShopICO/ahyd-BID/service/default.png"></image>
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="menu">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<p class="title">{{info.SERVERPART_NAME}}</p>
|
<p class="title">{{info.SERVERPART_NAME}}</p>
|
||||||
<text class="status">营业中</text>
|
<text class="status">营业中</text>
|
||||||
</div>
|
</div>
|
||||||
<div class="iconBox">
|
<div class="iconBox" @click="handleGoMap">
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/service/map.svg"></image>
|
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/service/map.svg"></image>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="scroll">
|
||||||
|
<div class="info">
|
||||||
<p class="address">{{info.ServerpartInfo.EXPRESSWAY_NAME}}</p>
|
<p class="address">{{info.ServerpartInfo.EXPRESSWAY_NAME}}</p>
|
||||||
<div class="typeList">
|
<div class="typeList">
|
||||||
<div class="typeItem" v-for="(item,index) in typeList" :key="index" v-if="item.isShow">
|
<div class="typeItem" v-for="(item,index) in typeList" :key="index" v-if="item.isShow">
|
||||||
@ -140,6 +142,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -169,33 +174,25 @@ export default {
|
|||||||
this.menu = uni.getMenuButtonBoundingClientRect()
|
this.menu = uni.getMenuButtonBoundingClientRect()
|
||||||
if (option.isPicker==='false'){
|
if (option.isPicker==='false'){
|
||||||
this.isShowPicker = false
|
this.isShowPicker = false
|
||||||
this.getServiceList()
|
|
||||||
this.getList(option)
|
|
||||||
}else if (option.isPicker==='true'){
|
}else if (option.isPicker==='true'){
|
||||||
this.isShowPicker = true
|
this.isShowPicker = true
|
||||||
let seat = uni.getStorageSync('seatInfo')
|
|
||||||
this.handleSearch(seat.longitude,seat.latitude)
|
|
||||||
this.getServiceList()
|
|
||||||
}else{
|
|
||||||
this.getServiceList()
|
|
||||||
this.getList(option)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onShow(){
|
||||||
|
let seat = uni.getStorageSync('currentService')
|
||||||
|
this.handleSearch(seat)
|
||||||
|
let pageList = getCurrentPages()
|
||||||
|
console.log('pageList',pageList)
|
||||||
|
//清理页面栈的方法
|
||||||
|
this.clearPage()
|
||||||
|
},
|
||||||
methods:{
|
methods:{
|
||||||
async handleSearch(longitude,latitude){
|
async handleSearch(seat){
|
||||||
let req = {
|
console.log('seat',seat)
|
||||||
longitude:longitude,
|
|
||||||
Province_Code:'340000',
|
|
||||||
latitude:latitude,
|
|
||||||
}
|
|
||||||
console.log(req)
|
|
||||||
const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req)
|
|
||||||
let id =data.Result_Data.List[0].SERVERPART_ID
|
|
||||||
this.info = data.Result_Data.List[0]
|
|
||||||
let reqs = {
|
let reqs = {
|
||||||
longitude:longitude,
|
longitude:seat.longitude,
|
||||||
ServerpartId:id,
|
ServerpartId:seat.Serverpart_ID,
|
||||||
latitude:latitude
|
latitude:seat.latitude
|
||||||
}
|
}
|
||||||
const totalData = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',reqs)
|
const totalData = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',reqs)
|
||||||
this.info = totalData.Result_Data
|
this.info = totalData.Result_Data
|
||||||
@ -210,20 +207,23 @@ export default {
|
|||||||
}
|
}
|
||||||
this.typeList[1].isShow = this.info.STARTDATE
|
this.typeList[1].isShow = this.info.STARTDATE
|
||||||
},
|
},
|
||||||
//获取片区列表
|
|
||||||
async getServiceList(){
|
|
||||||
let req = {
|
|
||||||
Province_Code:'340000'
|
|
||||||
}
|
|
||||||
const data = await request.$webGet('CommercialApi/BaseInfo/GetSPRegionList',req)
|
|
||||||
console.log('data22222',data)
|
|
||||||
this.array = data.Result_Data.List
|
|
||||||
},
|
|
||||||
//选择服务区
|
//选择服务区
|
||||||
handleChangeService(e){
|
handleChangeService(){
|
||||||
uni.redirectTo({
|
let currentService = uni.getStorageSync('currentService')
|
||||||
url:'/pages/map/index'
|
let lastDay = uni.getStorageSync('lastDay')
|
||||||
|
let pageList = getCurrentPages()
|
||||||
|
console.log('pageList',pageList)
|
||||||
|
if (pageList.length>2){
|
||||||
|
if (this.isShowPicker){
|
||||||
|
uni.navigateBack({
|
||||||
|
delta: 1
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/map/index?time=${lastDay}&serviceInfo=${JSON.stringify(currentService)}`
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async getList(option){
|
async getList(option){
|
||||||
let req = {
|
let req = {
|
||||||
@ -248,10 +248,38 @@ export default {
|
|||||||
},
|
},
|
||||||
//返回上一级页面
|
//返回上一级页面
|
||||||
handleBack(){
|
handleBack(){
|
||||||
uni.navigateBack({
|
uni.switchTab({
|
||||||
delta: 1
|
url: '/pages/userCenter/userCenter'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
//点击跳转导航页
|
||||||
|
handleGoMap(){
|
||||||
|
let key='STWBZ-DKCR4-J6UUF-FRD5I-3EBN2-GDBOT'
|
||||||
|
let referer ='goMap'
|
||||||
|
//拿到用户当前的位置
|
||||||
|
let user = uni.getStorageSync('seatInfo')
|
||||||
|
let startPoint = {
|
||||||
|
name:'我的位置',
|
||||||
|
latitude:user.latitude,
|
||||||
|
longitude:user.longitude
|
||||||
|
}
|
||||||
|
//拿到当前已经选中的服务区的位置 也就是终点
|
||||||
|
let seat = uni.getStorageSync('currentService')
|
||||||
|
let endPoint = {
|
||||||
|
name:seat.SERVERPART_NAME,
|
||||||
|
latitude:seat.latitude,
|
||||||
|
longitude:seat.longitude
|
||||||
|
}
|
||||||
|
wx.navigateTo({
|
||||||
|
url: `plugin://routePlan/index?key=${key}&referer=${referer}&endPoint=${JSON.stringify(endPoint)}&startPoint=${JSON.stringify(startPoint)}`
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//清理页面栈的方法
|
||||||
|
clearPage(){
|
||||||
|
console.log(11111)
|
||||||
|
let pageList = getCurrentPages()
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -260,6 +288,8 @@ export default {
|
|||||||
.main{
|
.main{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 100vw;
|
max-width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
box-sizing: border-box;
|
||||||
position: relative;
|
position: relative;
|
||||||
.leftArrow{
|
.leftArrow{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -320,14 +350,21 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.info{
|
.menu{
|
||||||
width: 100%;
|
width:100%;
|
||||||
box-sizing: border-box;
|
height: calc(100vh - 196px);
|
||||||
background: #FFFFFF;
|
position: relative;
|
||||||
border-radius: 16px 16px 1px 1px;
|
border-radius: 16px 16px 1px 1px;
|
||||||
transform: translateY(-16px);
|
transform: translateY(-16px);
|
||||||
padding: 16px 16px 16px;
|
|
||||||
.top{
|
.top{
|
||||||
|
height: 40px;
|
||||||
|
width: calc(100% - 32px);
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-top: 16px;
|
||||||
|
left: 16px;
|
||||||
|
background: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.left{
|
.left{
|
||||||
@ -363,6 +400,17 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.scroll{
|
||||||
|
width:100%;
|
||||||
|
height: calc(100%);
|
||||||
|
overflow-y: scroll;
|
||||||
|
border-radius: 16px 16px 1px 1px;
|
||||||
|
.info{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: #FFFFFF;
|
||||||
|
padding: 16px 16px 16px;
|
||||||
|
z-index:100;
|
||||||
.address{
|
.address{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
@ -536,5 +584,8 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -84,26 +84,32 @@ export default {
|
|||||||
markers:'',//地图属性
|
markers:'',//地图属性
|
||||||
covers:'',//地图属性
|
covers:'',//地图属性
|
||||||
isFirst:true,//是否是第一次进页面
|
isFirst:true,//是否是第一次进页面
|
||||||
|
area:[],//片区列表
|
||||||
|
serviceInfo:{}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option){
|
onLoad(option){
|
||||||
console.log('option',option)
|
console.log('option',option)
|
||||||
let serviceInfo = JSON.parse(option.serviceInfo)
|
this.serviceInfo = JSON.parse(option.serviceInfo)
|
||||||
if (option.chartType){
|
if (option.chartType){
|
||||||
this.chartType = true
|
this.chartType = true
|
||||||
}
|
}
|
||||||
|
this.page = option.page
|
||||||
|
},
|
||||||
|
onShow(){
|
||||||
let userSeat = uni.getStorageSync('seatInfo')
|
let userSeat = uni.getStorageSync('seatInfo')
|
||||||
this.userLatitude = userSeat.latitude
|
this.userLatitude = userSeat.latitude
|
||||||
this.userLongitude = userSeat.longitude
|
this.userLongitude = userSeat.longitude
|
||||||
this.page = option.page
|
|
||||||
let seat = uni.getStorageSync('currentService')
|
let seat = uni.getStorageSync('currentService')
|
||||||
if (seat){
|
if (seat){
|
||||||
console.log('seat',seat)
|
console.log('seat',seat)
|
||||||
this.longitude = seat.longitude
|
this.longitude = seat.longitude
|
||||||
this.latitude = seat.latitude
|
this.latitude = seat.latitude
|
||||||
|
this.area = seat.SPREGIONTYPE_NAME
|
||||||
this.addMarkers(seat)
|
this.addMarkers(seat)
|
||||||
}else{
|
}else{
|
||||||
this.getServiceDetail(serviceInfo.Serverpart_ID)
|
this.getServiceDetail(this.serviceInfo.Serverpart_ID)
|
||||||
}
|
}
|
||||||
// 获取手机参数
|
// 获取手机参数
|
||||||
let systemInfo = uni.getSystemInfoSync()
|
let systemInfo = uni.getSystemInfoSync()
|
||||||
@ -116,20 +122,29 @@ export default {
|
|||||||
// this.getListData()
|
// this.getListData()
|
||||||
},
|
},
|
||||||
onHide(){
|
onHide(){
|
||||||
|
this.isShowMap = true
|
||||||
|
},
|
||||||
|
onUnload(){
|
||||||
this.isShowMap = false
|
this.isShowMap = false
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
//跳转到腾讯地图
|
//跳转到腾讯地图
|
||||||
handleGomap(item){
|
handleGomap(item){
|
||||||
|
let seat = uni.getStorageSync('currentService')
|
||||||
let key='STWBZ-DKCR4-J6UUF-FRD5I-3EBN2-GDBOT'
|
let key='STWBZ-DKCR4-J6UUF-FRD5I-3EBN2-GDBOT'
|
||||||
let referer ='goMap'
|
let referer ='goMap'
|
||||||
|
let startPoint = {
|
||||||
|
name:seat.SERVERPART_NAME,
|
||||||
|
latitude:seat.latitude,
|
||||||
|
longitude:seat.longitude
|
||||||
|
}
|
||||||
let endPoint={
|
let endPoint={
|
||||||
'name': item.SERVERPART_NAME,
|
'name': item.SERVERPART_NAME,
|
||||||
latitude: item.SERVERPART_Y,
|
latitude: item.SERVERPART_Y,
|
||||||
longitude: item.SERVERPART_X
|
longitude: item.SERVERPART_X
|
||||||
}
|
}
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: `plugin://chooseLocation/index?key=${key}&referer=${referer}&location=${JSON.stringify(endPoint)}`
|
url: `plugin://routePlan/index?key=${key}&referer=${referer}&endPoint=${JSON.stringify(endPoint)}&startPoint=${JSON.stringify(startPoint)}`
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//返回上一级页面
|
//返回上一级页面
|
||||||
@ -157,6 +172,14 @@ export default {
|
|||||||
}
|
}
|
||||||
const data = await request.$webGet('CommercialApi/BaseInfo/GetSPRegionList',req)
|
const data = await request.$webGet('CommercialApi/BaseInfo/GetSPRegionList',req)
|
||||||
this.array = data.Result_Data.List
|
this.array = data.Result_Data.List
|
||||||
|
console.log('this.array',this.array)
|
||||||
|
if (this.area){
|
||||||
|
this.array.forEach((item,index)=>{
|
||||||
|
if (item.name === this.area){
|
||||||
|
this.selectIndex = index
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
await this.getLocation()
|
await this.getLocation()
|
||||||
},
|
},
|
||||||
//选择服务区
|
//选择服务区
|
||||||
@ -179,7 +202,6 @@ export default {
|
|||||||
//跳转相对应的服务区详情界面
|
//跳转相对应的服务区详情界面
|
||||||
handleGoDetail(id,item){
|
handleGoDetail(id,item){
|
||||||
console.log('item',item)
|
console.log('item',item)
|
||||||
if (this.chartType){
|
|
||||||
let res = {
|
let res = {
|
||||||
SERVERPART_NAME:item.SERVERPART_NAME,//服务区
|
SERVERPART_NAME:item.SERVERPART_NAME,//服务区
|
||||||
SPREGIONTYPE_NAME:item.SPREGIONTYPE_NAME,//片区
|
SPREGIONTYPE_NAME:item.SPREGIONTYPE_NAME,//片区
|
||||||
@ -188,15 +210,20 @@ export default {
|
|||||||
latitude:item.SERVERPART_Y,
|
latitude:item.SERVERPART_Y,
|
||||||
}
|
}
|
||||||
uni.setStorageSync('currentService',res) //当前选中服务区信息
|
uni.setStorageSync('currentService',res) //当前选中服务区信息
|
||||||
let time = uni.getStorageSync('lastDay')
|
let pageList = getCurrentPages()
|
||||||
uni.redirectTo({
|
if (this.chartType){
|
||||||
url:`${this.page}?serviceInfo=${JSON.stringify(res)}&chartType=${true}&time=${time}`
|
if (pageList.length>2){
|
||||||
|
uni.navigateBack({
|
||||||
|
delta: 1
|
||||||
})
|
})
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
uni.navigateTo({
|
if (pageList.length>2){
|
||||||
url:`/pages/map/detail?SERVERPART_ID=${id}&isPicker=${false}`
|
uni.navigateBack({
|
||||||
|
delta: 1
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async getListData(){
|
async getListData(){
|
||||||
let id
|
let id
|
||||||
@ -254,11 +281,7 @@ export default {
|
|||||||
id: value.Serverpart_ID,
|
id: value.Serverpart_ID,
|
||||||
latitude: value.latitude,
|
latitude: value.latitude,
|
||||||
longitude: value.longitude,
|
longitude: value.longitude,
|
||||||
height: 30,
|
|
||||||
width: 20,
|
|
||||||
callout: {
|
callout: {
|
||||||
padding: '6',
|
|
||||||
borderRadius: '4',
|
|
||||||
display: 'ALWAYS'
|
display: 'ALWAYS'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@ -77,8 +77,10 @@ export default {
|
|||||||
console.log('item',item)
|
console.log('item',item)
|
||||||
if (item.value!==3 && item.value!==4){
|
if (item.value!==3 && item.value!==4){
|
||||||
if (item.value===2){
|
if (item.value===2){
|
||||||
this.$util.toNextRoute('navigateTo', `${item.homeUrl}?time=${this.lastDay}&Serverpart_ID=372`)
|
let currentService = uni.getStorageSync('currentService')
|
||||||
}else{
|
console.log('currentService',currentService)
|
||||||
|
this.$util.toNextRoute('navigateTo', `${item.homeUrl}?time=${this.lastDay}&serviceInfo=${JSON.stringify(currentService)}&type=userCenter`)
|
||||||
|
} else{
|
||||||
this.$util.toNextRoute('navigateTo', item.homeUrl)
|
this.$util.toNextRoute('navigateTo', item.homeUrl)
|
||||||
}
|
}
|
||||||
}else if(item.value === 3 && item.isNotice || item.value ===4 && item.isNotice){
|
}else if(item.value === 3 && item.isNotice || item.value ===4 && item.isNotice){
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 28 KiB |