This commit is contained in:
cclu 2023-04-07 19:07:56 +08:00
parent 5137dcd55f
commit 6584176b3a
32 changed files with 1369 additions and 624 deletions

View File

@ -67,9 +67,9 @@
"postcss" : true
},
"plugins": {
"chooseLocation": {
"version": "1.0.10",
"provider": "wx76a9a06e5b4e693e"
"routePlan": {
"version": "1.0.18",
"provider": "wx50b5593e81dd937a"
}
},
"usingComponents" : true,

View File

@ -124,6 +124,12 @@
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "planDetail",
"style": {
"navigationBarTitleText": ""
}
}
]
},

View File

@ -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>

View File

@ -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()
//

View File

@ -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'
})
}
},
//
//

View File

@ -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>

View File

@ -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({

View File

@ -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({

View File

@ -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({

View File

@ -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: {

View File

@ -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: {

View File

@ -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"
},

View File

@ -26,7 +26,8 @@ export default {
data: {
handler(value) {
this.handleCarData(value)
}
},
immediate: true
}
},
methods: {

View File

@ -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(){

View File

@ -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(){

View File

@ -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
},
//

View File

@ -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

View 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>

View File

@ -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>

View File

@ -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 = {

View File

@ -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>

View File

@ -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'
}
})

View File

@ -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){

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB