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