From d29a5fc4e790d7afe77ed7ae9145b1eeb86fc7cd Mon Sep 17 00:00:00 2001 From: cclu <1106109051@qq.com> Date: Wed, 12 Apr 2023 19:06:57 +0800 Subject: [PATCH] update --- pages.json | 3 +- pages/commercialBI/carPortrait.vue | 249 +++++++++++++++--- pages/commercialBI/components/analyse.vue | 1 - .../components/car/carTypeTime.vue | 8 +- .../commercialBI/components/car/entryZone.vue | 75 +++--- .../commercialBI/components/car/homePlace.vue | 29 +- .../components/car/monthTotal.vue | 139 ++++++++++ .../components/car/percentEntry.vue | 57 +++- .../components/car/timeAnalysis.vue | 82 +++--- .../components/guest/consumPrefer.vue | 9 +- .../components/guest/consumptionLevel.vue | 25 +- .../components/guest/customerSecond.vue | 19 +- .../components/manager/moneyCompare.vue | 56 ++-- .../components/manager/revenueAnalysis.vue | 1 - .../components/manager/revenueTrends.vue | 38 ++- pages/commercialBI/guestPortrait.vue | 43 +-- pages/commercialBI/managePortrait.vue | 43 ++- pages/commercialBI/planDetail.vue | 8 +- pages/commercialBI/planMonth.vue | 6 +- .../everdayRenven/components/CarAnalysis.vue | 21 +- pages/index/index.vue | 207 ++++++++++----- pages/map/index.vue | 13 +- 22 files changed, 785 insertions(+), 347 deletions(-) create mode 100644 pages/commercialBI/components/car/monthTotal.vue diff --git a/pages.json b/pages.json index ed95128..9d11088 100644 --- a/pages.json +++ b/pages.json @@ -5,7 +5,8 @@ "style": { "navigationBarTitleText": "驿达数智化看板", - "navigationStyle": "custom" + "navigationStyle": "custom", + "enablePullDownRefresh": true } }, { diff --git a/pages/commercialBI/carPortrait.vue b/pages/commercialBI/carPortrait.vue index 343c15f..82afff2 100644 --- a/pages/commercialBI/carPortrait.vue +++ b/pages/commercialBI/carPortrait.vue @@ -43,7 +43,6 @@

入区车流分析

- 日期: {{time}}
@@ -54,9 +53,18 @@ + +
+

{{thisMonth?thisMonth:'-'}}月入区车辆累计

+
+ + +
+
+
- 统计月份: +
@@ -67,10 +75,12 @@
- {{item.name}}{{index!==0?'区':''}} + {{item.name}} + +

{{thisMonth?thisMonth:'-'}}月车辆归属地

-
+
@@ -86,16 +96,23 @@

{{thisMonth?thisMonth:'-'}}月车车辆类型-停留时间(日均)

-
+ +
-
+

{{thisMonth?thisMonth:'-'}}月入区率占比

- {{allEntry?allEntry:'-'}}% +
+ {{allEntry?allEntry:'-'}}% + + + {{addAllEntry?Math.abs(addAllEntry) + '%':'-' + '%'}} + +
@@ -121,7 +138,7 @@ import HomePlace from "./components/car/homePlace.vue"; import CarTypeTime from "./components/car/carTypeTime.vue"; import timeAnalysis from "./components/car/timeAnalysis.vue"; import PercentEntry from "./components/car/percentEntry.vue"; -import {timestampToTime} from "../../util/dateTime"; +import MonthTotal from "./components/car/monthTotal.vue"; import NoData from "./components/noData.vue"; import Analyse from "./components/analyse.vue"; export default { @@ -139,8 +156,9 @@ export default { chartData:{}, selectTab: 0, tabIsTrue: true, - tabList:[{name:'全部',value:0},{name:'东',value:1},{name:'西',value:2}],//选项卡列表 + tabList:[],//选项卡列表 carNumAll : 0,//一共的入区车流数 + monthTotalList:[],//月累计 carData:[],//入区车流的数据 homePlaceAll:[],//车辆归属地两区总和列表 homePlace:[],//车辆归属地 @@ -159,17 +177,17 @@ export default { endTime:'', thisMonth:'',//几月 allEntry:'',//一共的入区率占比 - endData:''//截止日期 + addAllEntry:'',//相较上月增加的入区率 + endData:'',//截止日期 } }, - components: {Analyse, NoData, PercentEntry, CarTypeTime, HomePlace, EntryZone,timeAnalysis}, + components: {Analyse, NoData, PercentEntry, CarTypeTime, HomePlace, EntryZone,timeAnalysis,MonthTotal}, computed:{ isHaveData(){ return true } }, onLoad(option){ - console.log('option',option) this.backType = option.type }, onShow(){ @@ -207,7 +225,10 @@ export default { }else{ this.serviceInfo = storeServiceInfo } - console.log('this.serviceInfo',this.serviceInfo) + //获取服务区基本信息 + this.getServiceInfo() + //月累计 + this.getMonthTotalList() // 入区车流分析 this.getCarData() // 车辆归属地 @@ -225,6 +246,27 @@ export default { }, methods:{ + //获取服务区基本信息 + async getServiceInfo(){ + let id = '' + let currentService = uni.getStorageSync('currentService') + let nearService = uni.getStorageSync('nearService') + if (!currentService){ + id = nearService.Serverpart_ID + }else{ + id = currentService.Serverpart_ID + } + let req = { + ServerpartId:id + } + const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req) + console.log('totalsdskadja',total) + let tabList = [{name:'全部',value:0}] + total.Result_Data.RegionInfo.forEach((item,index)=>{ + tabList.push({name:item.SERVERPART_REGIONNAME,value:index+1}) + }) + this.tabList = tabList + }, // 时间选择器改变的时间 bindDateChange(e){ const date = new Date(e.detail.value) @@ -325,20 +367,53 @@ export default { // if (this.tabIsTrue){ this.selectTab = value // 车辆归属地 - this.homePlace = this.homePlaceAll[this.selectTab] - this.cityPlace = this.cityPlaceAll[this.selectTab] + this.homePlace = this.homePlaceAll[this.selectTab]?this.homePlaceAll[this.selectTab]:[] + + this.cityPlace = this.cityPlaceAll[this.selectTab]?this.cityPlaceAll[this.selectTab]:[] // 车辆类型占比与停留时间 - this.carTypeTimeData = this.carTypeTimeDataAll[this.selectTab] + this.carTypeTimeData = this.carTypeTimeDataAll[this.selectTab]?this.carTypeTimeDataAll[this.selectTab]:[] // 车辆价值与停留时间分析 this.getTimeAnalysis(Serverpart_Region) //入区率占比 - this.percentEntryData = this.percentEntryDataAll[this.selectTab] - // this.tabIsTrue = false - // setTimeout(()=>{ - // this.tabIsTrue = true - // },2000) + this.getPercentEntry(this.tabList[this.selectTab].name) // } + }, + async getMonthTotalList(){ + const req = { + StatisticsDate:this.endTime?this.endTime:this.time, + Serverpart_ID:this.serviceInfo.Serverpart_ID + } + const data = await request.$webGet('CommercialApi/BigData/GetMonthAnalysis',req) + let monthList = [] + let carCount = [] + let moneyCount = [] + let info = [] + data.Result_Data.List.forEach(item=>{ + monthList.push(item.Statistics_Month + '月') + carCount.push(Number((item.Vehicle_Count / 10000).toFixed(0))) + moneyCount.push(Number((item.RevenueAmount / 10000).toFixed(0))) + // showTip要展示的信息 + info.push({ + allCarCount : item.Vehicle_Count, + region:item.RegionList, + rate:item.Entry_Rate, + money:item.RevenueAmount + }) + }) + + let res = { + categories: monthList, + series:[{name:'车流量',data:carCount,type:'column',index:0,info:info}, + {name:'交易金额',data:moneyCount,type:'line',index:1}] + } + + this.monthTotalList = res + // categories: ["小型车","中型车","大货车","新能源车"], + // series: [{name:'新能源',data:[30,38,20,10]}, + // {name:'燃油车',data:[20,17,23,32]}, + // {name:'停留时间',data:[62,38,50,84]}] + }, getCarData(){ request.$webGet('CommercialApi/Revenue/GetBayonetEntryList',{ @@ -362,6 +437,7 @@ export default { Serverpart_ID:this.serviceInfo.Serverpart_ID, ContainWhole:true }).then(res=>{ + console.log('resfdkfjdks',res) // 因为只让接口调用一次 所以要把全部和不同区域的内容要放在同一个列表里面 然后通过选项卡的点击来切换展示哪一块的数据 let result = res.Result_Data.List result.forEach(item=>{ @@ -390,9 +466,11 @@ export default { }) //城市 this.cityPlaceAll = cityList + console.log('this.cityPlaceAll',this.cityPlaceAll) this.cityPlace = cityList[this.selectTab] //省份 this.homePlaceAll = dataList + console.log('this.homePlaceAll',this.homePlaceAll) this.homePlace = dataList[this.selectTab] }) @@ -456,17 +534,39 @@ export default { TimeSpan: 2 }).then(res=>{ let result = res.Result_Data.List - this.timeAnalysisData = result + // this.timeAnalysisData = result + let categories = [0,2,4,6,8,10,12,14,16,18,20,22] + let series = [] + result.forEach(item=>{ + let obj = {name:'',data:[]} + obj.name = item.name + let valueList = [] + item.data.forEach(subItem=>{ + valueList.push(Number((subItem[1] * 60).toFixed(0))) + }) + obj.data = valueList + series.push(obj) + }) + let list = { + categories:categories, + series:series + } + this.timeAnalysisData = list + console.log('this.timeAnalysisData',this.timeAnalysisData) }) - // let res = [ - // {name:'小型车',data:[[3,3,10],[10,1.5,10],[18,0.5,5],[22,2.5,10]]}, - // {name:'中型车',data:[[3,1.5,10],[4,2.7,10],[14,2.3,10],[18,1.4,0.50]]}, - // {name:'大型车',data:[[2,0.7,2],[5,0.2,1],[7,0.7,3],[22,1.9,6]]} - // ] + // res = { + // categories: ["2018","2019","2020","2021","2022","2023"], + // series: [ + // {name: "成交量A", data: [35,8,25,37,4,20]}, + // {name: "成交量B", data: [70,40,65,100,44,68]}, + // {name: "成交量C", data: [100,80,95,150,112,132]} + // ] + // } + }, - getPercentEntry(){ + getPercentEntry(type){ const date = new Date(this.single) const nowDate = new Date() let nowMonth = nowDate.getMonth() + 1 @@ -479,21 +579,36 @@ export default { }else{ endTime = this.endTime } - request.$webGet('CommercialApi/Revenue/GetSPBayonetList',{ - Statistics_Date: this.endTime?endTime:this.time, - Province_Code:'340000', - Serverpart_ID :this.serviceInfo.Serverpart_ID, - GroupType:2 - }).then(res=>{ - this.percentEntryDataAll = [ res.Result_Data.List, [res.Result_Data.List[0]], [res.Result_Data.List[1]]] - this.percentEntryData = this.percentEntryDataAll[this.selectTab] - let Vehicle_CountAll=0 - let SectionFlow_CountAll=0 - this.percentEntryData.forEach(item=>{ - Vehicle_CountAll+= item.Vehicle_Count - SectionFlow_CountAll+= item.SectionFlow_Count - }) - this.allEntry = ((Vehicle_CountAll/SectionFlow_CountAll)*100).toFixed(2) + + let req = {} + if (type==='全部' || !type){ + req = { + Statistics_Date: this.endTime?endTime:this.time, + Province_Code:'340000', + Serverpart_ID :this.serviceInfo.Serverpart_ID, + GroupType:2, + ShowGrowthRate:true + } + }else{ + req = { + Statistics_Date: this.endTime?endTime:this.time, + Province_Code:'340000', + Serverpart_ID :this.serviceInfo.Serverpart_ID, + GroupType:2, + ShowGrowthRate:true, + Serverpart_Region:type.slice(0,1) + } + } + request.$webGet('CommercialApi/Revenue/GetSPBayonetList',req).then(res=>{ + this.percentEntryData = res.Result_Data.List + if (this.percentEntryData.length>0){ + this.allEntry = res.Result_Data.List[0].Entry_Rate + this.addAllEntry = res.Result_Data.List[0].Entry_GrowthRate + }else{ + this.allEntry = '' + this.addAllEntry = '' + } + }) } } @@ -728,6 +843,54 @@ export default { line-height: 20px; } } + .topItem{ + display: flex; + justify-content: space-between; + align-items: center; + .title{ + font-size: 17px; + font-family: PingFangSC-Semibold, PingFang SC; + font-weight: 600; + color: #160002; + line-height: 24px; + } + .box{ + display: flex; + align-items: center; + .value{ + font-size: 16px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 600; + color: #000; + line-height: 20px; + } + .right{ + margin-left: 4px; + display: flex; + align-items: center; + .arrowTop { + width: 14px; + height: 14px; + margin-right: 4px; + } + .text { + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #782717; + line-height: 20px; + margin-right: 4px; + } + .compare { + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #c97e64; + line-height: 20px; + } + } + } + } .time{ margin-bottom: 4px; .thisTime{ diff --git a/pages/commercialBI/components/analyse.vue b/pages/commercialBI/components/analyse.vue index d607d58..fc58ca2 100644 --- a/pages/commercialBI/components/analyse.vue +++ b/pages/commercialBI/components/analyse.vue @@ -25,7 +25,6 @@ export default { watch:{ analyseInfo:{ handler(value){ - console.log('analyseInfowatch',value) this.getLabelDetail() }, immediate:true, diff --git a/pages/commercialBI/components/car/carTypeTime.vue b/pages/commercialBI/components/car/carTypeTime.vue index 17bb24b..852e5e3 100644 --- a/pages/commercialBI/components/car/carTypeTime.vue +++ b/pages/commercialBI/components/car/carTypeTime.vue @@ -37,7 +37,6 @@ export default { watch: { data: { handler(value) { - console.log('value232312',value) this.info = value this.carTypeTimePath='' this.handleCarData(value) @@ -51,10 +50,6 @@ export default { handleTap(e){ uChartsInstance[e.target.id].showToolTip(e,{ formatter: (item, category, index, opts) =>{ - console.log('item',item) - console.log('opts',opts) - console.log('category',category) - console.log('index',index) if (this.num===0){ this.num++ return item.name + ":" + opts.series[0].valueList[index] + '辆'; @@ -64,6 +59,7 @@ export default { } } }); + uChartsInstance[e.target.id].touchLegend(e); }, // 处理传入的数据 handleCarData(value) { @@ -113,7 +109,7 @@ export default { min: 0, max: 100, titleOffsetY: -5, - axisLineColor:"#F2F2F5" + axisLineColor:"#F2F2F5" }, { title:'单位: 分钟', diff --git a/pages/commercialBI/components/car/entryZone.vue b/pages/commercialBI/components/car/entryZone.vue index ca640bd..1f62355 100644 --- a/pages/commercialBI/components/car/entryZone.vue +++ b/pages/commercialBI/components/car/entryZone.vue @@ -1,47 +1,47 @@ @@ -85,7 +85,6 @@ export default { watch:{ carData:{ handler(value){ - console.log('valuefirst',value) if (value.length>0){ this.isShowData = true } @@ -161,8 +160,6 @@ export default { title:this.entryRate, subtitle:"昨日入区率" } - console.log('res1111',res) - console.log('probabilityRes1111',probabilityRes) this.drawCharts('carNum' , res,configCarNum ) this.drawCharts2('probability',probabilityRes,config) }, @@ -170,12 +167,10 @@ export default { const ctx = uni.createCanvasContext(id, this); let _this = this let phoneInfo = uni.getStorageSync('phoneInfo') - this.width = (phoneInfo.screenWidth ) / 2 - console.log('this.width',this.width) uChartsInstance[id] = new uCharts({ type: "ring", context: ctx, - width: _this.width, + width: 200, height: 208, series: data.series, animation: false, @@ -227,7 +222,7 @@ export default { uChartsInstance[id] = new uCharts({ type: "ring", context: ctx, - width: 215, + width: 210, height: 208, series: data.series, animation: false, diff --git a/pages/commercialBI/components/car/homePlace.vue b/pages/commercialBI/components/car/homePlace.vue index 32eb651..d5f5942 100644 --- a/pages/commercialBI/components/car/homePlace.vue +++ b/pages/commercialBI/components/car/homePlace.vue @@ -6,12 +6,12 @@
-
-
-
-
-
-
+ + + + + +

{{item.name}}

@@ -22,14 +22,14 @@ {{item.value}}辆
-
- 0% - 20% - 40% - 60% - 80% - 100% -
+ + + + + + + +
@@ -104,7 +104,6 @@ export default { }, // 处理传入的数据 handleCarData(value) { - console.log('value',value) let list = [] value.forEach(item=>{ list.push(item.data) diff --git a/pages/commercialBI/components/car/monthTotal.vue b/pages/commercialBI/components/car/monthTotal.vue new file mode 100644 index 0000000..2f7cd04 --- /dev/null +++ b/pages/commercialBI/components/car/monthTotal.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/pages/commercialBI/components/car/percentEntry.vue b/pages/commercialBI/components/car/percentEntry.vue index ee0cc29..a1ae19a 100644 --- a/pages/commercialBI/components/car/percentEntry.vue +++ b/pages/commercialBI/components/car/percentEntry.vue @@ -21,7 +21,7 @@
- 大车型 + 大型车 {{big}}%
@@ -32,10 +32,16 @@
-
+

{{item.title}}

-

{{item.value + '%'}}

+
+

{{item.value + '%'}}

+ + + {{item.addValue?Math.abs(item.addValue) + '%':'-' + '%'}} + +
@@ -51,8 +57,9 @@ export default { components: {Analyse, NoData}, data() { return { - dataList:[{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}], + dataList:[{title:'小型车',value:'',addValue:''},{title:'中型车',value:'',addValue:''},{title:'大型车',value:'',addValue:''}], progress:0,//入区率总比 + addProgress:0,//总增长 min:0,//小型车 middle:0,//中型车 big:0,//大型车 @@ -73,7 +80,7 @@ export default { watch: { data: { handler(value) { - this.dataList = [{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}] + this.dataList = [{title:'小型车',value:''},{title:'中型车',value:''},{title:'大型车',value:''}] this.handleCarData(value) }, immediate:true, @@ -91,7 +98,6 @@ export default { }, // 处理传入的数据 handleCarData(value) { - console.log('value',value) let Vehicle_CountAll=0 let SectionFlow_CountAll=0 let minAll = 0 @@ -112,7 +118,18 @@ export default { this.dataList[0].value = (minAll / Vehicle_CountAll*100).toFixed(2) this.dataList[1].value = (middleAll / Vehicle_CountAll*100).toFixed(2) this.dataList[2].value = (bigAll / Vehicle_CountAll*100).toFixed(2) + this.dataList[0].addValue = value[0].MinVehicleEntry_Rate + this.dataList[1].addValue = value[0].MediumVehicleEntry_Rate + this.dataList[2].addValue = value[0].LargeVehicleEntry_GrowthRate + let list = [] + this.dataList.forEach(item=>{ + if (Number(item.value)===0){ + }else{ + list.push(item) + } + }) + this.dataList = list for (let i=1;iNumber(this.dataList[j].value)){ @@ -122,7 +139,6 @@ export default { } } } - }, } } @@ -281,6 +297,33 @@ export default { color: #160002; line-height: 20px; } + .right{ + width: 70px; + margin-left: 4px; + display: flex; + align-items: center; + justify-content: flex-end; + .arrowTop { + width: 14px; + height: 14px; + margin-right: 4px; + } + .text { + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #782717; + line-height: 20px; + margin-right: 4px; + } + .compare { + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #c97e64; + line-height: 20px; + } + } } } } diff --git a/pages/commercialBI/components/car/timeAnalysis.vue b/pages/commercialBI/components/car/timeAnalysis.vue index a93d4dd..a988789 100644 --- a/pages/commercialBI/components/car/timeAnalysis.vue +++ b/pages/commercialBI/components/car/timeAnalysis.vue @@ -26,13 +26,14 @@ export default { }, props: { data: { - type: Array, - default: () => [] + type: Object, + default: () => {} } }, watch: { data: { handler(value) { + console.log('valueWatch',value) this.handleCarData(value) }, immediate:true, @@ -47,27 +48,11 @@ export default { }, // 处理传入的数据 handleCarData(value) { - let list = [] - value.forEach(item=>{ - list.push({name:item.name,data:item.data}) - }) - value.forEach(item=>{ - item.data.forEach(item=>{ - item[1] = Number(item[1]) - item[2] = item[1]*5 - }) - }) - console.log('list',list) - - let res = { - series: - list - // [{name:'小型车',data:[[3,3,10],[10,1.5,10],[18,0.5,5],[22,2.5,10]]}, - // {name:'中型车',data:[[3,1.5,10],[4,2.7,10],[14,2.3,10],[18,1.4,0.50]]}, - // {name:'大型车',data:[[2,0.7,2],[5,0.2,1],[7,0.7,3],[22,1.9,6]]}] + categories:value.categories, + series:value.series } - console.log('res',res) + console.log('res123123',res) this.drawCharts('timeAnalysis', res) }, drawCharts(id, data) { @@ -76,10 +61,11 @@ export default { let phoneInfo = uni.getStorageSync('phoneInfo') this.width = phoneInfo.screenWidth - 16 uChartsInstance[id] = new uCharts({ - type: "bubble", + type: "line", context: ctx, width: _this.width, - height: 170, + height: 240, + categories: data.categories, series: data.series, animation: false, rotate: false, @@ -87,33 +73,33 @@ export default { rotateLock: false, background: "#FFFFFF", color: ["#1E80FF", "#00B6FF","#0FC862"], - padding: [10, 30, 5, 5], + padding: [15, 30, 5, 5], dataLabel: false, enableScroll: false, xAxis: { disableGrid: true, - gridType: "solid", - splitNumber: 6, - boundaryGap: "justify", - min: 0, - max: 24, - axisLineColor:"#F2F2F5", + formatter:(val)=>{ + if (val===0 || val===4 || val===8 || val===12 || val===16 || val===20 || val===23){ + if (val===23){ + return '24:00' + }else{ + return `${val}:00` + } + }else{ + return '' + } + } }, yAxis: { - disabled: false, - disableGrid: false, - gridType: "solid", - splitNumber: 5, - gridColor:'#F2F2F5', - data: [ - { - min: 0, - max: 5, - unit:'h', - axisLineColor:"#F2F2F5", - - } - ] + gridType: "dash", + dashLength: 2, + showTitle:true, + data:[{ + title:'单位: 分钟', + titleOffsetY: -5, + min:0, + max:180, + }] }, legend: { show: true, @@ -123,9 +109,10 @@ export default { }, extra: { - bubble: { - border: 1, - opacity: 0.25 + line: { + type: "curve", + width: 2, + activeType: "hollow" } } }); @@ -141,6 +128,7 @@ export default { width: 100%; .timeAnalysis{ width: 100%; + height: 220px; margin-top: 12px; } } diff --git a/pages/commercialBI/components/guest/consumPrefer.vue b/pages/commercialBI/components/guest/consumPrefer.vue index 2518235..ec78b18 100644 --- a/pages/commercialBI/components/guest/consumPrefer.vue +++ b/pages/commercialBI/components/guest/consumPrefer.vue @@ -1,7 +1,7 @@ @@ -31,6 +31,9 @@ export default { } }, methods: { + tap(e){ + uChartsInstance[e.target.id].touchLegend(e); + }, // 处理传入的数据 handleCarData(value) { console.log('value11111',value) @@ -77,7 +80,7 @@ export default { } }); setTimeout( ()=>{ - this.canvasToTempImage('prefer') + // this.canvasToTempImage('prefer') },2000) }, canvasToTempImage(id){ diff --git a/pages/commercialBI/components/guest/consumptionLevel.vue b/pages/commercialBI/components/guest/consumptionLevel.vue index 287e530..054bba5 100644 --- a/pages/commercialBI/components/guest/consumptionLevel.vue +++ b/pages/commercialBI/components/guest/consumptionLevel.vue @@ -6,23 +6,23 @@

{{item.name}}

-
{{item.small<16?'':item.small + '%'}} +
{{item.small<16?'':item.small + '%'}}
-
+
低消费 {{item.small}}%
-
{{item.normal<16?'':item.normal+'%'}} +
{{item.normal<16?'':item.normal+'%'}}
-
+
普通消费 {{item.normal}}%
-
{{item.big<16?'':item.big + '%'}} +
{{item.big<16?'':item.big + '%'}}
-
+
高消费 {{item.big}}%
@@ -32,15 +32,15 @@
-
+

低消费

-
+

普通消费

-
+

高消费

@@ -96,9 +96,6 @@ export default { this.genderList[1].showList[number] = true } this.$forceUpdate() - console.log('index',index) - console.log('number',number) - console.log('this.genderList',this.genderList) } } } @@ -178,7 +175,6 @@ export default { .icon{ width: 10px; height: 10px; - background: #1E80FF; margin-right: 4px; } } @@ -230,7 +226,8 @@ export default { border-radius:2px 0 0 2px; .text{ position: absolute; - padding: 0 5px; + width: 130px; + height: 26px; z-index: 9; left: 50px;top: -25px; background: rgba(0,0,0,0.6); diff --git a/pages/commercialBI/components/guest/customerSecond.vue b/pages/commercialBI/components/guest/customerSecond.vue index 949082c..a73495f 100644 --- a/pages/commercialBI/components/guest/customerSecond.vue +++ b/pages/commercialBI/components/guest/customerSecond.vue @@ -26,8 +26,8 @@
- - + +
@@ -63,6 +63,9 @@ export default { } }, methods:{ + tap(e){ + uChartsInstance[e.target.id].touchLegend(e); + }, handleShow(num){ let list = [] this.genderList.forEach(()=>{ @@ -89,7 +92,7 @@ export default { type: "bubble", context: ctx, width: _this.width, - height: 183, + height: 240, series: data.series, animation: false, rotate: false, @@ -109,13 +112,13 @@ export default { xAxis: { disableGrid: true, gridType: "solid", - splitNumber:4, + splitNumber: 5, boundaryGap: "justify", title:'年龄: /岁', titleOffsetY: 15, titleOffsetX: -30, - min: 0, - max: 80, + min: 10, + max: 60, axisLineColor:'#F2F2F5' }, yAxis: { @@ -144,7 +147,7 @@ export default { } }); setTimeout( ()=>{ - this.canvasToTempImage('gender') + // this.canvasToTempImage('gender') },2000) }, canvasToTempImage(id){ @@ -276,7 +279,7 @@ export default { .charts{ margin-top: 20px; width: 100%; - height: 180px; + height: 220px; .sexRatio{ width: 100%; height: 100%; diff --git a/pages/commercialBI/components/manager/moneyCompare.vue b/pages/commercialBI/components/manager/moneyCompare.vue index 5152c74..e61b2a7 100644 --- a/pages/commercialBI/components/manager/moneyCompare.vue +++ b/pages/commercialBI/components/manager/moneyCompare.vue @@ -1,7 +1,7 @@ @@ -25,6 +25,7 @@ export default { watch: { data: { handler(value) { + console.log('营收对比value',value) this.comparePath = '' this.handleCarData(value) }, @@ -33,40 +34,20 @@ export default { } }, methods: { + tap(e){ + uChartsInstance[e.target.id].showToolTip(e, { + formatter: (item, category, index, opts) => { + return item.name + ":" + item.data; + } + }); + uChartsInstance[e.target.id].touchLegend(e); + }, // 处理传入的数据 handleCarData(value) { - console.log('value1',value) let res = value - let config = { - price:'', - max:0 - } - if (value.type===0){ - config.price = '单位: 万元' - config.max = this.getNumberHundred(value.max) - }else if(value.type===1){ - config.price = '单位: 笔' - config.max = this.getNumber(value.max) - }else if(value.type===2){ - config.price = '单位: 元' - config.max = this.getNumber(value.max) - } - console.log('config',config) - this.drawCharts('compare', res,config) + this.drawCharts('compare', res) }, - getNumber(value){ - let number = Number(value) / 20 - number = Math.ceil(number) - console.log('number',number) - return number * 20 - }, - getNumberHundred(value){ - let number = Number(value) / 2000 - number = Math.ceil(number) - console.log(number) - return number * 2000 - }, - drawCharts(id, data,config) { + drawCharts(id, data) { const ctx = uni.createCanvasContext(id, this); let _this = this let phoneInfo = uni.getStorageSync('phoneInfo') @@ -94,19 +75,20 @@ export default { }, xAxis: { - disableGrid: true + disableGrid: true, + axisLineColor:'#F2F2F5' }, yAxis: { - showTitle:true, + showTitle:false, splitNumber:4, + gridColor:'#F2F2F5', data: [ { min: 0, - max: config.max, - title: config.price, titleOffsetX:15, titleOffsetY:-5, fontSize:12, + axisLineColor:'#F2F2F5' } ] }, @@ -122,7 +104,7 @@ export default { } }); setTimeout( ()=>{ - this.canvasToTempImage('compare') + // this.canvasToTempImage('compare') },2000) }, canvasToTempImage(id){ diff --git a/pages/commercialBI/components/manager/revenueAnalysis.vue b/pages/commercialBI/components/manager/revenueAnalysis.vue index 02828ef..a6073f0 100644 --- a/pages/commercialBI/components/manager/revenueAnalysis.vue +++ b/pages/commercialBI/components/manager/revenueAnalysis.vue @@ -47,7 +47,6 @@ export default { watch: { data: { handler(value) { - console.log('carDatawatch', value) this.handleCarData(value) } } diff --git a/pages/commercialBI/components/manager/revenueTrends.vue b/pages/commercialBI/components/manager/revenueTrends.vue index 058570e..289f051 100644 --- a/pages/commercialBI/components/manager/revenueTrends.vue +++ b/pages/commercialBI/components/manager/revenueTrends.vue @@ -1,7 +1,6 @@ @@ -24,13 +23,32 @@ export default { watch: { data: { handler(value) { - console.log('carDatawatch', value) + this.trendsPath = '' this.handleCarData(value) }, immediate: true } }, methods: { + handleTap(e){ + console.log('e',e) + uChartsInstance[e.target.id].showToolTip(e,{ + formatter: (item, category, index, opts) => { + const date = new Date() + let month = date.getMonth() + 1 + if (item.name === '今年'){ + if (index + 1 <= month){ + return item.name + ":" + item.data + ',' + `同比增长${((opts.series[0].data[index] - opts.series[1].data[index]) /opts.series[1].data[index] * 100).toFixed(2)}%`; + }else{ + return item.name + ":" + item.data + } + }else{ + return item.name + ":" + item.data; + } + } + }); + uChartsInstance[e.target.id].touchLegend(e); + }, // 处理传入的数据 handleCarData(value) { let res = value @@ -39,7 +57,6 @@ export default { getNumber(value){ let number = value / 40 number = Math.ceil(number) - console.log(number) return number * 40 }, drawCharts(id, data) { @@ -58,12 +75,12 @@ export default { rotate: false, rotateLock: false, background: "#FFFFFF", - color: ["#1E80FF"], + color: ["#1E80FF","#00B6FF"], padding: [15, 15, 5, 5], dataLabel: false, enableScroll: false, legend: { - show: false, + show: true, position: "bottom", lineHeight: 25, float: 'center' @@ -71,21 +88,20 @@ export default { }, xAxis: { disableGrid: true, - axisLineColor:'#F2F2F5' + axisLineColor:'#F2F2F5' }, yAxis: { splitNumber:4, - showTitle:true, + showTitle:false, gridColor:'#F2F2F5', data:[ { min:0, max:_this.getNumber(data.max), - title:'单位: 万', titleOffsetY:-5, titleOffsetX:-5, fontSize:12, - axisLineColor:'#F2F2F5' + axisLineColor:'#F2F2F5' } ] }, @@ -101,7 +117,7 @@ export default { } }); setTimeout( ()=>{ - this.canvasToTempImage('trends') + // this.canvasToTempImage('trends') },2000) }, canvasToTempImage(id){ diff --git a/pages/commercialBI/guestPortrait.vue b/pages/commercialBI/guestPortrait.vue index b7c1cb2..6068ec7 100644 --- a/pages/commercialBI/guestPortrait.vue +++ b/pages/commercialBI/guestPortrait.vue @@ -4,25 +4,28 @@ :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"/>
-
- 统计月份: -
- - - {{ single }} - - - -
-
-

{{thisMonth?thisMonth:'-'}}月客群分析

+
+

{{thisMonth?thisMonth:'-'}}月客单分析

+
+ {{time}} +
+
+
+
+ + + {{ single }} + + + +

{{thisMonth?thisMonth:'-'}}月客群分析

@@ -31,6 +34,7 @@
+

{{thisMonth?thisMonth:'-'}}月客群消费偏好

@@ -93,6 +97,7 @@ export default { }, single:'',//显示时间 thisMonth:'',//几月 + endData:'', // 结束时间 } }, onLoad(option){ @@ -101,6 +106,7 @@ export default { this.serviceInfo = serviceInfo //跳转的时候带上时间 this.time = option.time + this.endData = new Date() }, onShow(){ let storeTime = uni.getStorageSync('lastDay') @@ -157,8 +163,6 @@ export default { }, //重新调一遍页面数据的方法 onRefresh(){ - //customer - this.getCustomer() //客群分析男女的气泡图 this.getGenderBubbleList() //客群消费偏好 @@ -338,7 +342,7 @@ export default { const data = await request.$webGet('CommercialApi/Customer/GetCustomerConsumeRatio',req) let res = [] data.Result_Data.List.forEach(item=>{ - res.push({name:item.name,big:item.data[3].toFixed(2),normal:(item.data[1]+item.data[2]).toFixed(2),small:item.data[0].toFixed(2)}) + res.push({name:item.name,big:(item.data[3]+item.data[2]).toFixed(2),normal:(item.data[1]).toFixed(2),small:item.data[0].toFixed(2)}) }) // let res=[{name:'男',big:'14.8',normal:'41.7',small:'43.5'}, @@ -455,6 +459,15 @@ export default { color: #160002; line-height: 24px; } + .item{ + .value{ + font-size: 14px; + font-family: PingFangSC-Semibold, PingFang SC; + font-weight: 400; + color: #160002; + line-height: 20px; + } + } } } } diff --git a/pages/commercialBI/managePortrait.vue b/pages/commercialBI/managePortrait.vue index ae93e79..8e871e0 100644 --- a/pages/commercialBI/managePortrait.vue +++ b/pages/commercialBI/managePortrait.vue @@ -36,14 +36,22 @@
-

{{selectTab===0?'营收对比':selectTab===1?'客单对比':selectTab===2?'均价对比':''}}

+
+

{{selectTab===0?'营收对比':selectTab===1?'客单对比':selectTab===2?'均价对比':''}}

+ 单位: 元 + 单位: 笔 + 单位: 元 +
-

营收趋势

+
+

营收趋势

+ 单位: 万元 +
@@ -95,7 +103,7 @@ 比计划: -

{{monthAdd?monthAdd + '%':'-'}}

+

{{monthAdd?Math.abs(monthAdd) + '%':'-'}}

@@ -144,7 +152,7 @@ 比计划:
-

{{yearAdd?yearAdd + '%':''}}

+

{{yearAdd?Math.abs(yearAdd) + '%':''}}

@@ -314,9 +322,7 @@ export default { Province_Code:'340000', latitude:seat.latitude, } - console.log('req',req) const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req) - console.log('nearestService',data) let res = { SERVERPART_NAME:data.Result_Data.List[0].SERVERPART_NAME,//服务区 SPREGIONTYPE_NAME:data.Result_Data.List[0].SPREGIONTYPE_NAME,//片区 @@ -346,7 +352,6 @@ export default { SPRegionType_ID:this.serviceInfo.SPRegionType_ID } let totalData = await request.$webGet('CommercialApi/Contract/GetContractAnalysis',req) - console.log('totalData123',totalData) this.revenueList = { ContractProfitLoss:totalData.Result_Data.ContractProfitLoss, ShopCount:totalData.Result_Data.ShopCount, @@ -381,7 +386,6 @@ export default { this.selectTab = value this.revenue = this.revenueAll[this.selectTab] this.moneyCompareList = this.revenue.list - console.log('this.moneyCompareList',this.moneyCompareList) }, async getMoneyCompareList(){ let req = { @@ -389,7 +393,6 @@ export default { ServerpartId:this.serviceInfo.Serverpart_ID } const data = await request.$webGet('CommercialApi/Revenue/GetRevenueCompare',req) - console.log('data123123123',data) let RevenueAmount = [] //营收金额 let RevenueMax = 0 let TicketCountList = [] // 客单量 @@ -399,7 +402,7 @@ export default { data.Result_Data.RevenueAmountList.forEach(item=>{ let list = [] item.data.forEach(subItem=>{ - let number = (subItem[1] /10000).toFixed(0) + let number = (subItem[1] ).toFixed(0) if (number>RevenueMax){ RevenueMax = number } @@ -409,7 +412,6 @@ export default { }) data.Result_Data.TicketCountList.forEach(item=>{ let list = [] - console.log('data.Result_Data.TicketCountList',data.Result_Data.TicketCountList) item.data.forEach(subItem=>{ let number = (subItem[1]).toFixed(0) if (number > TicketMax){ @@ -419,7 +421,6 @@ export default { }) TicketCountList.push({name:item.name,data:list}) }) - console.log('TicketMax',TicketMax) data.Result_Data.AvgTicketAmountList .forEach(item=>{ let list = [] item.data.forEach(subItem=>{ @@ -465,7 +466,6 @@ export default { } ] this.revenue = this.revenueAll[this.selectTab] - console.log('this.revenueAll',this.revenueAll) // let res = { // categories: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"], // series: [ @@ -494,7 +494,14 @@ export default { StatisticsType:1, ServerpartId:this.serviceInfo.Serverpart_ID } + let yesReq = { + ProvinceCode:'340000', + StatisticsDate:y - 1, + StatisticsType:1, + ServerpartId:this.serviceInfo.Serverpart_ID + } const data = await request.$webGet('CommercialApi/Revenue/GetRevenueTrend',req) + const yesData = await request.$webGet('CommercialApi/Revenue/GetRevenueTrend',yesReq) let list = [] let max = 0 data.Result_Data.List.forEach(item=>{ @@ -504,11 +511,19 @@ export default { } list.push(item.value) }) + let yesList = [] + yesData.Result_Data.List.forEach(item=>{ + item.value = Number((item.value/10000).toFixed(1)) + yesList.push(item.value) + }) let res={ categories: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"], series:[{ - name: "", + name: "今年", data: list + },{ + name: "去年", + data: yesList }], max:max } diff --git a/pages/commercialBI/planDetail.vue b/pages/commercialBI/planDetail.vue index 96633f0..aaf8bf4 100644 --- a/pages/commercialBI/planDetail.vue +++ b/pages/commercialBI/planDetail.vue @@ -25,7 +25,7 @@ 比计划: -

{{info.Growth_Rate ?info.Growth_Rate + '%':'-'}}

+

{{info.Growth_Rate ?Math.abs(info.Growth_Rate) + '%':'-'}}

@@ -56,7 +56,7 @@ 比计划:
-

{{item.Growth_Rate?item.Growth_Rate + '%':''}}

+

{{item.Growth_Rate?Math.abs(item.Growth_Rate) + '%':''}}

@@ -100,7 +100,7 @@ 比计划: -

{{info.Growth_Rate ?info.Growth_Rate + '%':'-'}}

+

{{info.Growth_Rate ?Math.abs(info.Growth_Rate) + '%':'-'}}

@@ -131,7 +131,7 @@ 比计划:
-

{{item.Growth_Rate?item.Growth_Rate + '%':''}}

+

{{item.Growth_Rate?Math.abs(item.Growth_Rate) + '%':''}}

diff --git a/pages/commercialBI/planMonth.vue b/pages/commercialBI/planMonth.vue index c056e49..1f4e8d4 100644 --- a/pages/commercialBI/planMonth.vue +++ b/pages/commercialBI/planMonth.vue @@ -24,7 +24,7 @@ 比计划: -

{{info.Growth_Rate ?info.Growth_Rate + '%':'-'}}

+

{{info.Growth_Rate ?Math.abs(info.Growth_Rate) + '%':'-'}}

@@ -69,7 +69,7 @@ 比计划:
-

{{info.Growth_Rate?info.Growth_Rate + '%':''}}

+

{{info.Growth_Rate?Math.abs(info.Growth_Rate) + '%':''}}

@@ -105,7 +105,7 @@ 比计划:
-

{{item.Growth_Rate?item.Growth_Rate + '%':''}}

+

{{item.Growth_Rate?Math.abs(item.Growth_Rate) + '%':''}}

diff --git a/pages/everdayRenven/components/CarAnalysis.vue b/pages/everdayRenven/components/CarAnalysis.vue index 1701879..a6cd503 100644 --- a/pages/everdayRenven/components/CarAnalysis.vue +++ b/pages/everdayRenven/components/CarAnalysis.vue @@ -38,7 +38,7 @@
车辆归属地
- + {{ thisDay }} {{ single }} @@ -18,7 +19,8 @@

对客营收

- 门店上传: {{showTableData.Revenue_Upload?showTableData.Revenue_Upload:'-'}}/{{allShopCount?allShopCount:'-'}} + {{plan.RevenueMonth_Amount?plan.RevenueMonth_Amount:'-'}}({{thisMonth?thisMonth:'-'}}月累计) +
@@ -27,10 +29,10 @@ - {{thisMonth?thisMonth:'-'}}月累计:{{plan.RevenueMonth_Amount?plan.RevenueMonth_Amount:'-'}} + - - {{showTableData.compared?showTableData.compared + '%':'-' + '%'}} + + {{showTableData.compared?Math.abs(showTableData.compared) + '%':'-' + '%'}} (相比昨日) @@ -77,12 +79,18 @@

{{showTableData.TotalOffAmount?showTableData.TotalOffAmount:'-' }}

- -

- 分润到账/元 -

-

{{detailTypeList[1].yesterValue?detailTypeList[1].yesterValue:'-' }}

-
+ +

+ 门店上传 +

+

{{showTableData.Revenue_Upload?showTableData.Revenue_Upload:'-'}}/{{allShopCount?allShopCount:'-'}}

+
+ + + + + +

商品出售/件 @@ -142,7 +150,7 @@

{{ item.yesterValue }}

- {{ item.add>0?'+' + item.add:item.add }} + {{ item.add?Math.abs(item.add):'' }} (相比昨日) @@ -261,7 +269,7 @@ 比计划: -

{{monthAdd?monthAdd + '%':'-'}}

+

{{monthAdd?Math.abs(monthAdd) + '%':'-'}}

@@ -310,7 +318,7 @@ 比计划:
-

{{yearAdd?yearAdd + '%':''}}

+

{{yearAdd?Math.abs(yearAdd) + '%':''}}

@@ -437,6 +445,7 @@ export default { monthNoticeText:'', yearNoticeText:'', thisMonth:0,//拿到当前月份 + isSuccess:false,//首页这些接口是否全部调用成功 } }, watch:{ @@ -538,6 +547,16 @@ export default { this.startDate = `${y}-${m}-${d - 8}` } this.endData = new Date() + + setTimeout(()=>{ + if (!this.isSuccess){ + uni.showToast({ + title: '加载失败,请下拉刷新重新加载', + icon: 'none', + duration: 3000 + }) + } + },10000) }, onShow(){ // 隐藏掉小程序本身自带的 tabbar 让自定义的tabbar出现 @@ -548,6 +567,10 @@ export default { this.isShow = false this.selectTab = 1 }, + onPullDownRefresh:function(){ + this.getData(this.option) + uni.stopPullDownRefresh(); + }, methods:{ ...mapActions(['memberLogin','getLoginCode']), // @@ -561,7 +584,7 @@ export default { //本月的 let req = { SearchParameter:{ - STATISTICS_DATE:`${y}-${m}`, + // STATISTICS_DATE:`${y}-${m}`, ANALYSISINS_TYPE:'1011', ANALYSISINS_FORMAT:'3000' }, @@ -581,7 +604,7 @@ export default { //本年 let reqYear = { SearchParameter:{ - STATISTICS_DATE:`${y}`, + // STATISTICS_DATE:`${y}`, ANALYSISINS_TYPE:'1012', ANALYSISINS_FORMAT:'3000' }, @@ -590,6 +613,7 @@ export default { } const totalData = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',reqYear) this.yearNoticeText = totalData.Result_Data.List[0].ANALYSIS_CONTENT + console.log('this.yearNoticeText ',this.yearNoticeText ) }, async nearestService(){ let seat = uni.getStorageSync('seatInfo'); @@ -730,6 +754,9 @@ export default { }) }, initYesterdayData(){ + let flag1 = false + let flag2 = false + let flag3 = false let _this = this // 传入最近的有效日期就可以拿到当前有效日期的前一天的日期 let yesterday = handleYesterday(this.lastDay) @@ -757,12 +784,13 @@ export default { }) // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 _this.yesterdayAllPay = cashPay + flag1 = true }) //昨日的分润门店 - request.$webGet('CommercialApi/Revenue/GetMobileShare',data).then(res=>{ - // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 - this.ShareShopCountYes = res.Result_Data.ShareShop_Count - }) + // request.$webGet('CommercialApi/Revenue/GetMobileShare',data).then(res=>{ + // // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 + // this.ShareShopCountYes = res.Result_Data.ShareShop_Count + // }) const date = new Date(this.lastDay) const y = date.getFullYear() @@ -777,10 +805,10 @@ export default { StatisticsStartDate:`${y}-${m}-01`, StatisticsEndDate:this.lastDay, } - request.$webGet('CommercialApi/Revenue/GetMobileShare',monthDate).then(res=>{ - // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 - this.monthPrice = res.Result_Data.Royalty_Price - }) + // request.$webGet('CommercialApi/Revenue/GetMobileShare',monthDate).then(res=>{ + // // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 + // this.monthPrice = res.Result_Data.Royalty_Price + // }) //这一日的订单配送 const todayData = { @@ -795,37 +823,38 @@ export default { this.detailTypeList[2].add = this.lastDayBillCount.DeliverBillGrowth_Count this.detailTypeList[3].value = this.$util.fmoney(this.lastDayBillCount.MonthDeliver_Price ) this.detailTypeList[3].yesterValue = this.$util.fmoney(this.lastDayBillCount.Deliver_Price) + flag2 = true }) - //昨日的订单配送 - const deliveData = { - Province_Code:'340000', - Statistics_Date: yesterday - } - request.$webGet('CommercialApi/Revenue/GetMallDeliver',deliveData).then(res=>{ - // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 - this.yesterdayBillCount = res.Result_Data.DeliverBill_Count - }) - //昨日采购金额 - const buyPriceYes = { - Province_Code:'340000', - Statistics_Date: yesterday - } - request.$webGet('CommercialApi/Revenue/GetMallDeliver',buyPriceYes).then(res=>{ - // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 - this.buyPriceYes = res.Result_Data.Deliver_Price - }) + // //昨日的订单配送 + // const deliveData = { + // Province_Code:'340000', + // Statistics_Date: yesterday + // } + // request.$webGet('CommercialApi/Revenue/GetMallDeliver',deliveData).then(res=>{ + // // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 + // this.yesterdayBillCount = res.Result_Data.DeliverBill_Count + // }) + // //昨日采购金额 + // const buyPriceYes = { + // Province_Code:'340000', + // Statistics_Date: yesterday + // } + // request.$webGet('CommercialApi/Revenue/GetMallDeliver',buyPriceYes).then(res=>{ + // // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 + // this.buyPriceYes = res.Result_Data.Deliver_Price + // }) - //一个月的采购金额 - const buyPrice = { - Province_Code:'340000', - StatisticsStartDate:`${y}-${m}-01`, - StatisticsEndDate:this.lastDay - } - request.$webGet('CommercialApi/Revenue/GetMallDeliver',buyPrice).then(res=>{ - // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 - this.buyPriceMonth = res.Result_Data.Deliver_Price - }) + // //一个月的采购金额 + // const buyPrice = { + // Province_Code:'340000', + // StatisticsStartDate:`${y}-${m}-01`, + // StatisticsEndDate:this.lastDay + // } + // request.$webGet('CommercialApi/Revenue/GetMallDeliver',buyPrice).then(res=>{ + // // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 + // this.buyPriceMonth = res.Result_Data.Deliver_Price + // }) // 获取营收推送汇总数据 const allPriceData = { pushProvinceCode:'340000', @@ -833,6 +862,7 @@ export default { ShowCompareRate: true } request.$webGet('CommercialApi/Revenue/GetSummaryRevenue',allPriceData).then(res=>{ + flag3 = true // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 let result = res.Result_Data for(let key in result){ @@ -852,12 +882,15 @@ export default { }) } } + this.modelProgress = result.BusinessTypeList this.regionProgress = result.BusinessTradeList this.areaProgress = result.SPRegionList this.showTableData = result.RevenuePushModel this.showTableData.compared = result.GrowthRate - this.todayAmount() + if (flag1 && flag2 && flag3 ){ + this.todayAmount() + } }) }, defaultMsg() { @@ -883,12 +916,34 @@ export default { }, // 顶部的时间组件切换时间触发的方法 bindDateChange(e){ - const date = new Date(e.detail.value).getTime() - this.single = timestampToTime(date) - this.lastDay = e.detail.value - uni.setStorageSync('lastDay',this.lastDay) - this.thisDay = getThisDay(new Date(e.detail.value).getDay()) - this.onRefresh() + let isOnRefresh = false + let startTime = new Date(this.startDate).getTime() + let endTime = new Date(this.lastDay).getTime() - 8 * 3600 * 1000 //结束时间戳 + const date = new Date(e.detail.value).getTime() - 8 * 3600 * 1000 + let startDate = new Date(this.startDate) + let startMonth = startDate.getMonth() + 1 + let startDay = startDate.getDate() + let endDate = new Date(this.lastDay) + let endMonth = endDate.getMonth() + 1 + let endDay = endDate.getDate() + if (date > endTime || date < startTime){ + isOnRefresh = false + }else{ + isOnRefresh = true + } + if (isOnRefresh){ + this.single = timestampToTime(date) + this.lastDay = e.detail.value + uni.setStorageSync('lastDay',this.lastDay) + this.thisDay = getThisDay(new Date(e.detail.value).getDay()) + this.onRefresh() + }else{ + uni.showToast({ + title: `数据看板仅支持查看${startMonth}.${startDay}-${endMonth}.${endDay}的数据`, + icon:'none', + duration:3000 + }); + } }, showPie(obj) { let data = { @@ -1077,6 +1132,7 @@ export default { } } uni.hideLoading() + this.isSuccess = true _this.$forceUpdate() }) }, @@ -1209,6 +1265,22 @@ $iphoneHeight: env(safe-area-inset-bottom); line-height: 40rpx; margin-left: 8px; } + .smallTitle{ + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #782717; + line-height: 20px; + margin-right: 4px; + .month{ + margin-left: 4px; + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #c97e64; + line-height: 20px; + } + } } @keyframes allPriceAnimation { @@ -1227,8 +1299,8 @@ $iphoneHeight: env(safe-area-inset-bottom); width: 100%; display: flex; align-items: center; - justify-content: center; - margin: 4px 0; + justify-content: flex-start; + margin: 12px 0 0; .allPrice { font-size: 56rpx; font-family: DINAlternate-Bold, DINAlternate; @@ -1250,7 +1322,7 @@ $iphoneHeight: env(safe-area-inset-bottom); .addBox { width: 100%; - margin-top: 5px; + margin-top: 12px; display: flex; justify-content: space-between; align-items: center; @@ -1258,8 +1330,17 @@ $iphoneHeight: env(safe-area-inset-bottom); font-size: 14px; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; - color: #c97e64; + color: #782717; line-height: 20px; + margin-right: 4px; + .month{ + margin-left: 4px; + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #c97e64; + line-height: 20px; + } } .right{ display: flex; diff --git a/pages/map/index.vue b/pages/map/index.vue index 8c8f217..a0290ed 100644 --- a/pages/map/index.vue +++ b/pages/map/index.vue @@ -138,11 +138,11 @@ export default { methods:{ //跳转到腾讯地图 handleGomap(item){ - let seat = uni.getStorageSync('currentService') + let seat = uni.getStorageSync('seatInfo') let key='STWBZ-DKCR4-J6UUF-FRD5I-3EBN2-GDBOT' let referer ='goMap' let startPoint = { - name:seat.SERVERPART_NAME, + name:'我的位置', latitude:seat.latitude, longitude:seat.longitude } @@ -192,6 +192,7 @@ export default { }, //选择服务区 handleChangeService(e){ + console.log('this.array',this.array) this.selectIndex = Number(e.detail.value) console.log('this.selectIndex',this.selectIndex) this.getListData() @@ -238,10 +239,10 @@ export default { async getListData(){ let id let user = uni.getStorageSync('seatInfo') - if (!this.selectIndex){ + let current = uni.getStorageSync('currentService') + let nearService = uni.getStorageSync('nearService') + if (!this.selectIndex && this.selectIndex!==0){ console.log('user',user.latitude) - let current = uni.getStorageSync('currentService') - let nearService = uni.getStorageSync('nearService') if (!current){ id = nearService.SPRegionType_ID }else{ @@ -261,9 +262,11 @@ export default { // id = this.array[this.selectIndex].value // } // } + console.log('id12213123',id) let req = { Province_Code: '340000', SPRegionType_ID: id, + Serverpart_ID:current.Serverpart_ID, longitude:user.longitude, latitude:user.latitude }