From 918e83d73f4475f9e2ed1ccea2de41cdd73ff3a1 Mon Sep 17 00:00:00 2001 From: cclu <1106109051@qq.com> Date: Wed, 27 Dec 2023 18:43:41 +0800 Subject: [PATCH] update --- pages.json | 7 + pages/commercialBI/businessPortrait.vue | 78 ++- pages/commercialBI/carPortrait.vue | 10 +- .../components/bussiness/bestsellerShop.vue | 4 +- pages/commercialBI/components/sliderPage.vue | 97 ++++ pages/commercialBI/formatPortraitBI.vue | 65 ++- pages/commercialBI/guestPortrait.vue | 50 +- pages/commercialBI/managePortrait.vue | 156 ++++-- pages/commercialBI/serviceMessage.vue | 500 ++++++++++++++++++ pages/examine/detail.vue | 82 ++- pages/examine/sliderPage.vue | 54 ++ pages/index/index.vue | 18 + pages/index/new_file.html | 0 pages/map/detail.vue | 22 +- pages/map/index.vue | 55 +- pages/map/sliderPage.vue | 50 ++ 16 files changed, 1108 insertions(+), 140 deletions(-) create mode 100644 pages/commercialBI/components/sliderPage.vue create mode 100644 pages/commercialBI/serviceMessage.vue create mode 100644 pages/examine/sliderPage.vue create mode 100644 pages/index/new_file.html create mode 100644 pages/map/sliderPage.vue diff --git a/pages.json b/pages.json index e2084ba..1aa627e 100644 --- a/pages.json +++ b/pages.json @@ -201,6 +201,13 @@ "navigationStyle": "custom" } }, + { + "path": "serviceMessage", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom" + } + }, { "path": "planMonth", "style": { diff --git a/pages/commercialBI/businessPortrait.vue b/pages/commercialBI/businessPortrait.vue index 8deb502..cd76017 100644 --- a/pages/commercialBI/businessPortrait.vue +++ b/pages/commercialBI/businessPortrait.vue @@ -7,7 +7,7 @@ :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/> - +
@@ -30,7 +30,7 @@

{{month}}月消费转化对比图

-
+
@@ -39,7 +39,7 @@

{{month}}月消费时段分析

-
+
@@ -47,7 +47,7 @@

{{month}}月消费水平

-
+
@@ -55,7 +55,7 @@

{{month}}月品牌消费水平

-
+
@@ -63,7 +63,7 @@

{{month}}月业态交易值占比

-
+
@@ -92,10 +92,12 @@ import NoData from "./components/noData.vue"; import BandLevel from "./components/format/bandLevel.vue"; import commercialType from "./commercialType.vue"; import {getFieldEnum} from "../../util/dateTime"; +import SliderPage from "./components/sliderPage.vue"; export default { name: "businessPortrait", components: { + SliderPage, BandLevel, NoData, BestsellerShop, @@ -126,7 +128,7 @@ export default { }, time: '',//跳转携带的时间 menu: {},//手机配置信息 - transactionList:[],//交易分析数据 + transactionList:{},//交易分析数据 timePeriodList:[],//消费时段分析 levelTopList:[],//消费水平排行 bandLevelList:[],//品牌消费水平 @@ -370,11 +372,20 @@ export default { console.log('this.transactionList',this.transactionList) }, async getTimePeriodList(){ - let req = { + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { Province_Code:'340000', Statistics_Date:this.time, - Serverpart_ID:this.serviceInfo.Serverpart_ID|| '', TimeSpan:1 + } + }else{ + req = { + Province_Code:'340000', + Statistics_Date:this.time, + Serverpart_ID:this.serviceInfo.Serverpart_ID || '', + TimeSpan:1 + } } let totalData = await request.$webGet('CommercialApi/Revenue/GetTransactionTimeAnalysis',req) let list = [] //客单占比 @@ -421,11 +432,20 @@ export default { }, async getLevelTopList(){ - let req = { + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { + ProvinceCode:'340000', + StatisticsDate:this.time, + ShowWholeTrade:false + } + }else{ + req = { ProvinceCode:'340000', StatisticsDate:this.time, ServerpartId:this.serviceInfo.Serverpart_ID|| '', ShowWholeTrade:false + } } let res = { categories:[], @@ -464,11 +484,20 @@ export default { }, async getBandLevelList(){ - let req = { + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { + ProvinceCode:'340000', + StatisticsDate:this.time, + ShowWholeBrand:false + } + }else{ + req = { ProvinceCode:'340000', StatisticsDate:this.time, ServerpartId:this.serviceInfo.Serverpart_ID|| '', ShowWholeBrand:false + } } let res =[] let totalData = await request.$webGet('CommercialApi/Revenue/GetBusinessBrandLevel',req) @@ -498,11 +527,20 @@ export default { }, async getBusinessTypeList(){ - const req = { + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { + ProvinceCode:'340000', + StatisticsDate:this.time, + BusinessTradeIds:-1 + } + }else{ + req = { ProvinceCode:'340000', StatisticsDate:this.time, serverpartId:this.serviceInfo.Serverpart_ID|| '', BusinessTradeIds:-1 + } } const data = await request.$webGet('CommercialApi/Revenue/GetBusinessTradeRevenue',req) let res = [] @@ -532,11 +570,19 @@ export default { }, async getCompareList(){ - const req = { - Province_Code:'340000', - Statistics_Date:this.time, - Serverpart_ID:this.serviceInfo.Serverpart_ID|| '' + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { + Province_Code:'340000', + Statistics_Date:this.time, } + }else{ + req = { + Province_Code:'340000', + Statistics_Date:this.time, + Serverpart_ID:this.serviceInfo.Serverpart_ID || '' + } + } const data = await request.$webGet('CommercialApi/Revenue/GetTransactionConvert',req) let customerOrder = [] let customerMax = 0 diff --git a/pages/commercialBI/carPortrait.vue b/pages/commercialBI/carPortrait.vue index 6d39d78..33ed81d 100644 --- a/pages/commercialBI/carPortrait.vue +++ b/pages/commercialBI/carPortrait.vue @@ -149,6 +149,7 @@ +
@@ -244,7 +245,7 @@
-
+
车流数据
@@ -386,12 +387,13 @@ 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 MonthTotal from "./components/car/monthTotal.vue"; +// import MonthTotal from "./components/car/monthTotal.vue"; import NoData from "./components/noData.vue"; import Analyse from "./components/analyse.vue"; import CommercialType from "./commercialType.vue"; // import shopCell from "../everdayRenven/components/listUnit.vue"; import EntryRate from "./components/car/entryRate.vue"; +import SliderPage from "./components/sliderPage.vue"; import anhuiYestodayRevenueData from "../everdayRenven/components/anhuiYestodayRevenueData"; import {getFieldEnum} from "../../util/dateTime"; export default { @@ -455,7 +457,7 @@ export default { components: { // shopCell, CommercialType,EntryRate, - Analyse, NoData, PercentEntry, CarTypeTime, HomePlace, EntryZone,timeAnalysis,MonthTotal}, + Analyse, NoData, PercentEntry, CarTypeTime, HomePlace, EntryZone,timeAnalysis,SliderPage}, computed:{ isHaveData(){ return true @@ -1000,6 +1002,7 @@ export default { let moneyCountYes = [] let monetCountMaxYes = 0 let infoYes = [] + console.log('dataYes.Result_Data',dataYes.Result_Data) dataYes.Result_Data.List.forEach(item=>{ monthListYes.push(item.Statistics_Month + '月') if (carCountMaxYes0){ this.drawCharts('hotSales', res[0],{color:["#1E80FF","#E5E8EF"],title:'39.8%',subTitle:'热销商品'}) this.drawCharts('unsalableGoods', res[1],{color:["#00C2FF","#E5E8EF"],title:'21.6%',subTitle:'滞销商品'}) + } }, drawCharts(id, data,config) { const ctx = uni.createCanvasContext(id, this); diff --git a/pages/commercialBI/components/sliderPage.vue b/pages/commercialBI/components/sliderPage.vue new file mode 100644 index 0000000..9f75bff --- /dev/null +++ b/pages/commercialBI/components/sliderPage.vue @@ -0,0 +1,97 @@ + + + + diff --git a/pages/commercialBI/formatPortraitBI.vue b/pages/commercialBI/formatPortraitBI.vue index 7a382ad..cdd56c1 100644 --- a/pages/commercialBI/formatPortraitBI.vue +++ b/pages/commercialBI/formatPortraitBI.vue @@ -7,7 +7,7 @@ :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/> - +

品牌指数

@@ -74,10 +74,13 @@ import BandNumber from "./components/format/bandNumber.vue"; import NoData from "./components/noData.vue"; import commercialType from "./commercialType.vue"; import {getFieldEnum} from "../../util/dateTime"; +import SliderPage from "./components/sliderPage.vue"; export default { name: "businessPortrait", - components: {NoData, BandNumber, ConsumptionLevel, BandLevel, FillingDegree, analyse, headerTop,commercialType}, + components: { + SliderPage, + NoData, BandNumber, ConsumptionLevel, BandLevel, FillingDegree, analyse, headerTop,commercialType}, data() { return { topBg:'linear-gradient(180deg, #C6C1F0 0%, #CECBF3 100%);',//顶部组件的悬浮背景色 @@ -262,12 +265,17 @@ export default { } const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req) this.serviceInfoObj = total.Result_Data - this.haveFun = { - car:total.Result_Data.HASPILOTLOUNGE, - charge:total.Result_Data.HASCHARGE , - bady:total.Result_Data.HASMOTHER , - gusetHome:total.Result_Data.HASGUESTROOM + if (total.Result_Data){ + this.haveFun = { + car:total.Result_Data.HASPILOTLOUNGE, + charge:total.Result_Data.HASCHARGE , + bady:total.Result_Data.HASMOTHER , + gusetHome:total.Result_Data.HASGUESTROOM + } + }else{ + this.haveFun = {} } + }, async changeLabel(item){ console.log('item',item) @@ -412,11 +420,20 @@ export default { uni.setStorageSync('currentService',res) }, async getFillDegreeList(){ - const req = { - ProvinceCode:'340000', - StatisticsDate:this.time, - serverpartId:this.serviceInfo.Serverpart_ID, - BusinessTradeIds:-1 + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { + ProvinceCode:'340000', + StatisticsDate:this.time, + BusinessTradeIds:-1 + } + }else{ + req = { + ProvinceCode:'340000', + StatisticsDate:this.time, + serverpartId:this.serviceInfo.Serverpart_ID, + BusinessTradeIds:-1 + } } const data = await request.$webGet('CommercialApi/Revenue/GetBusinessTradeRevenue',req) let res = [] @@ -526,16 +543,24 @@ export default { this.consumLevelList = res }, async getBrandInfoList(){ - let req = { - ProvinceCode:'340000', - Serverpart_ID:this.serviceInfo.Serverpart_ID, - Statistics_Date:this.time + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { + ProvinceCode:'340000', + Statistics_Date:this.time + } + }else{ + req = { + ProvinceCode:'340000', + Serverpart_ID:this.serviceInfo.Serverpart_ID, + Statistics_Date:this.time + } } let totalData = await request.$webGet('CommercialApi/BaseInfo/GetBrandAnalysis',req) - this.brandLabelList = totalData.Result_Data.BrandTag - this.brandLabelListNoChange = totalData.Result_Data.BrandTag - this.brandInfoList =totalData.Result_Data.ShopBrandList - this.brandInfoListNoChange = totalData.Result_Data.ShopBrandList + this.brandLabelList = totalData && totalData.Result_Data && totalData.Result_Data.BrandTag?totalData.Result_Data.BrandTag:'' + this.brandLabelListNoChange = totalData && totalData.Result_Data && totalData.Result_Data.BrandTag?totalData.Result_Data.BrandTag:'' + this.brandInfoList = totalData && totalData.Result_Data && totalData.Result_Data.ShopBrandList?totalData.Result_Data.ShopBrandList:'' + this.brandInfoListNoChange = totalData && totalData.Result_Data && totalData.Result_Data.ShopBrandList?totalData.Result_Data.ShopBrandList:'' console.log('this.brandInfoList',this.brandInfoList) // let res = [{icon:'',name:'老娘舅',company:'老娘舅餐饮股份有限公司',type:0,time:'2019.03-2022.03',label:["中式快餐","30-40岁男性"],info:[9,8,8]}, diff --git a/pages/commercialBI/guestPortrait.vue b/pages/commercialBI/guestPortrait.vue index c5d18d7..469bc1c 100644 --- a/pages/commercialBI/guestPortrait.vue +++ b/pages/commercialBI/guestPortrait.vue @@ -7,7 +7,7 @@ :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/> - +
@@ -33,7 +33,7 @@

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

-
+
@@ -41,7 +41,7 @@

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

-
+
@@ -49,7 +49,7 @@

{{thisMonth?thisMonth:'-'}}月客群消费水平

-
+
@@ -57,7 +57,7 @@

{{thisMonth?thisMonth:'-'}}月业态客单偏好

-
+
@@ -79,9 +79,12 @@ import BusinessType from "./components/guest/businessType.vue"; import NoData from "./components/noData.vue"; import commercialType from "./commercialType.vue"; import {getFieldEnum} from "../../util/dateTime"; +import SliderPage from "./components/sliderPage.vue"; export default { name: "guestPortrait", - components:{NoData, BusinessType, ConsumptionLevel, ConsumPrefer, analyse, headerTop,customerFirst,customerSecond,commercialType}, + components:{ + SliderPage, + NoData, BusinessType, ConsumptionLevel, ConsumPrefer, analyse, headerTop,customerFirst,customerSecond,commercialType}, data() { return { topBg:'linear-gradient(180deg, #A1D0C1 0%, #B1D9CD 100%);',//顶部组件的悬浮背景色 @@ -273,7 +276,7 @@ export default { const req = { Province_Code:'340000', Statistics_Date:time, - Serverpart_ID:this.serviceInfo.Serverpart_ID || '', + Serverpart_ID:this.serviceInfo.SERVERPART_NAME==='安徽驿达'?null:this.serviceInfo.Serverpart_ID, ShowConsumptionLevel:true, ShowConvertRate:true } @@ -304,7 +307,7 @@ export default { const req = { statisticsType:1, provinceCode:'340000', - serverpartId:this.serviceInfo.Serverpart_ID||'', + serverpartId:this.serviceInfo.SERVERPART_NAME==='安徽驿达'?null:this.serviceInfo.Serverpart_ID, statisticsMonth:this.$util.getThisMonth(time) } let totalData = await request.$webGet('CommercialApi/Customer/GetCustomerRatio',req) @@ -318,7 +321,7 @@ export default { }) const bubbleReq = { provinceCode:'340000', - serverpartId:this.serviceInfo.Serverpart_ID||'', + serverpartId:this.serviceInfo.SERVERPART_NAME==='安徽驿达'?null:this.serviceInfo.Serverpart_ID, statisticsMonth:this.$util.getThisMonth(time) } @@ -350,13 +353,22 @@ export default { }else{ time = this.endTime } - - const req = { + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { statisticsType:1, startMonth:this.$util.getThisMonth(time), endMonth:this.$util.getThisMonth(time), provinceCode: '340000', - serverpartId: this.serviceInfo.Serverpart_ID||'' + } + }else{ + req = { + statisticsType:1, + startMonth:this.$util.getThisMonth(time), + endMonth:this.$util.getThisMonth(time), + provinceCode: '340000', + serverpartId: this.serviceInfo.Serverpart_ID || '' + } } const data = await request.$webGet('CommercialApi/Customer/GetCustomerSaleRatio',req) let res = { @@ -403,7 +415,7 @@ export default { } const req = { provinceCode:'340000', - serverpartId:this.serviceInfo.Serverpart_ID||'', + serverpartId:this.serviceInfo.SERVERPART_NAME==='安徽驿达'?null:this.serviceInfo.Serverpart_ID, statisticsMonth:this.$util.getThisMonth(time) } const data = await request.$webGet('CommercialApi/Customer/GetCustomerConsumeRatio',req) @@ -430,10 +442,18 @@ export default { }else{ time = this.endTime } - const req = { + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { ProvinceCode:'340000', StatisticsDate:time, - serverpartId:this.serviceInfo.Serverpart_ID || '' + } + }else{ + req = { + ProvinceCode:'340000', + StatisticsDate:time, + serverpartId:this.serviceInfo.Serverpart_ID + } } const data = await request.$webGet('CommercialApi/Revenue/GetBusinessTradeRevenue',req) let res = [] diff --git a/pages/commercialBI/managePortrait.vue b/pages/commercialBI/managePortrait.vue index 39e71d0..be57fb8 100644 --- a/pages/commercialBI/managePortrait.vue +++ b/pages/commercialBI/managePortrait.vue @@ -7,7 +7,7 @@ :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj" :pageType="pageType"/> - +

营收分析{{lastDay}}

@@ -141,7 +141,7 @@ 单位: 笔 单位: 元
-
+
@@ -151,7 +151,7 @@

营收同比分析

单位: 万元
-
+
@@ -198,10 +198,13 @@ import request from '@/util/index.js' import NoData from "./components/noData.vue"; import commercialType from "./commercialType.vue"; import {getFieldEnum} from "../../util/dateTime"; +import SliderPage from "./components/sliderPage.vue"; export default { name: "businessPortrait", - components: {NoData, RevenueTrends, MoneyCompare, ContractGuarantee, RevenueAnalysis, headerTop,analyse,commercialType}, + components: { + SliderPage, + NoData, RevenueTrends, MoneyCompare, ContractGuarantee, RevenueAnalysis, headerTop,analyse,commercialType}, data() { return { topBg:'linear-gradient(180deg, #D9CCEF 0%, #DED3F2 100%);', @@ -415,7 +418,9 @@ export default { PageSize:10 } const data = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',req) - this.monthNoticeText = data.Result_Data.List[0].ANALYSIS_CONTENT + if (data.Result_Data.List && data.Result_Data.List.length>0){ + this.monthNoticeText = data.Result_Data.List[0].ANALYSIS_CONTENT + } }, @@ -437,7 +442,9 @@ export default { PageSize:10 } const totalData = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',reqYear) - this.yearNoticeText = totalData.Result_Data.List[0].ANALYSIS_CONTENT + if (totalData.Result_Data.List && totalData.Result_Data.List.length>0){ + this.yearNoticeText = totalData.Result_Data.List[0].ANALYSIS_CONTENT + } }, async nearestService(){ let seat = uni.getStorageSync('seatInfo'); @@ -469,7 +476,7 @@ export default { this.showNoticeYear = false }, async getSummaryMonth(){ - let currentService = uni.getStorageSync('currentService') + // let currentService = uni.getStorageSync('currentService') console.log('this.time',this.time) const date = new Date(this.time) let y = date.getFullYear() @@ -485,7 +492,7 @@ export default { pushProvinceCode:'340000', Statistics_StartDate:`${y}-${m}-01`, Statistics_Date:`${y}-${m}-${d}`, - Serverpart_ID:currentService.Serverpart_ID + Serverpart_ID:this.serviceInfo.SERVERPART_NAME==='安徽驿达'?null:this.serviceInfo.Serverpart_ID } const data = await request.$webGet('CommercialApi/Revenue/GetSummaryRevenue',req) console.log('data22222',data) @@ -542,10 +549,18 @@ export default { this.moneyCompareList = this.revenue.list }, async getMoneyCompareList(){ - let req = { - StatisticsDate:this.time, - ServerpartId:this.serviceInfo.Serverpart_ID || '' + let req + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req = { + StatisticsDate:this.time, } + }else{ + req = { + StatisticsDate:this.time, + ServerpartId:this.serviceInfo.Serverpart_ID ||'' + } + } + const data = await request.$webGet('CommercialApi/Revenue/GetRevenueCompare',req) let RevenueAmount = [] //营收金额 除以10000的金额 let normalAmount = [] //不除以10000的金额 @@ -555,48 +570,54 @@ export default { let TicketMax = 0 let AvgTicketAmountList = [] // 客单均价 let AvgTicketMax = 0 - data.Result_Data.RevenueAmountList.forEach(item=>{ + if (data.Result_Data.RevenueAmountList && data.Result_Data.RevenueAmountList.length>0){ + data.Result_Data.RevenueAmountList.forEach(item=>{ let list = [] let listNormal = [] let qoqAddList = [] //环比增加 item.data.forEach(subItem=>{ - let number = (subItem[1] / 10000 ).toFixed(2) - if (number>RevenueMax){ - RevenueMax = number - } - list.push(number) - qoqAddList.push(subItem[2]) - listNormal.push(subItem[1]) + let number = (subItem[1] / 10000 ).toFixed(2) + if (number>RevenueMax){ + RevenueMax = number + } + list.push(number) + qoqAddList.push(subItem[2]) + listNormal.push(subItem[1]) }) normalAmount.push({name:item.name,data:listNormal}) RevenueAmount.push({name:item.name,data:list,qoqAdd:qoqAddList,holiday: item.value}) - }) - data.Result_Data.TicketCountList.forEach(item=>{ + }) + } + if (data.Result_Data.TicketCountList && data.Result_Data.TicketCountList.length>0){ + data.Result_Data.TicketCountList.forEach(item=>{ let list = [] let qoqAddList = [] //环比增加 item.data.forEach(subItem=>{ - let number = (subItem[1]).toFixed(0) - if (number > TicketMax){ - TicketMax = Number(number) - } - qoqAddList.push(subItem[2]) - list.push(number) + let number = (subItem[1]).toFixed(0) + if (number > TicketMax){ + TicketMax = Number(number) + } + qoqAddList.push(subItem[2]) + list.push(number) }) TicketCountList.push({name:item.name,data:list,qoqAdd:qoqAddList,holiday: item.value}) - }) - data.Result_Data.AvgTicketAmountList .forEach(item=>{ + }) + } + if (data.Result_Data.AvgTicketAmountList && data.Result_Data.AvgTicketAmountList.length>0){ + data.Result_Data.AvgTicketAmountList .forEach(item=>{ let list = [] let qoqAddList = [] //环比增加 item.data.forEach(subItem=>{ - let number = (subItem[1]).toFixed(2) - if (number>AvgTicketMax){ - AvgTicketMax = number - } - list.push(number) - qoqAddList.push(subItem[2]) + let number = (subItem[1]).toFixed(2) + if (number>AvgTicketMax){ + AvgTicketMax = number + } + list.push(number) + qoqAddList.push(subItem[2]) }) AvgTicketAmountList.push({name:item.name,data:list,qoqAdd:qoqAddList,holiday: item.value}) - }) + }) + } // 因为有三个选项卡 把三种情况要展示的内容 放在一个对象里面 三个对象放一个数组里面 点击选项卡切换显示的对象就可以了 this.revenueAll = [ { @@ -655,18 +676,37 @@ export default { let date = new Date(this.time) let y = date.getFullYear() // 查今年去年两年的数据 - let req = { + let req + let yesReq + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + req={ ProvinceCode:'340000', StatisticsDate:y, StatisticsType:1, - ServerpartId:this.serviceInfo.Serverpart_ID || '' - } - let yesReq = { + } + }else{ + req ={ ProvinceCode:'340000', - StatisticsDate:y - 1, + StatisticsDate:y, StatisticsType:1, - ServerpartId:this.serviceInfo.Serverpart_ID || '' + ServerpartId:this.serviceInfo.Serverpart_ID ||'' + } } + if (this.serviceInfo.SERVERPART_NAME==='安徽驿达'){ + yesReq={ + ProvinceCode:'340000', + StatisticsDate:y - 1, + StatisticsType:1, + } + }else{ + 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 = [] @@ -714,34 +754,43 @@ export default { pushProvinceCode:'340000', Statistics_StartDate:`${y}-${m}-01`, Statistics_Date:this.time, - Serverpart_ID:this.serviceInfo.Serverpart_ID || '' + Serverpart_ID:this.serviceInfo.SERVERPART_NAME==='安徽驿达'?null:this.serviceInfo.Serverpart_ID } const data = await request.$webGet('CommercialApi/Revenue/GetSummaryRevenue',req) let all = 0 - data.Result_Data.BusinessTypeList.forEach(item=>{ + if (data.Result_Data && data.Result_Data.BusinessTypeList && data.Result_Data.BusinessTypeList.length>0){ + data.Result_Data.BusinessTypeList.forEach(item=>{ all +=Number(item.value) - }) - data.Result_Data.BusinessTypeList.forEach(item=>{ + }) + data.Result_Data.BusinessTypeList.forEach(item=>{ item.rate = ((Number(item.value) / all)*100).toFixed(2) - }) - let res={ + }) + let res={ own:data.Result_Data.BusinessTypeList[1].rate, ectocyst:data.Result_Data.BusinessTypeList[0].rate + } + this.revenueType = res + }else{ + this.revenueType = null } - this.revenueType = res }, monthYearPlan(){ const monthDate= { Province_Code:'340000', - Serverpart_ID:this.serviceInfo.Serverpart_ID || '', + Serverpart_ID:this.serviceInfo.SERVERPART_NAME==='安徽驿达'?null:this.serviceInfo.Serverpart_ID, Statistics_Date:this.time } request.$webGet('CommercialApi/Revenue/GetRevenueBudget',monthDate).then(res=>{ // 赋值给data中的这个对象 在请求完之后会进行统一的数据处理 this.plan = res.Result_Data - this.plan.percentageMonth = (res.Result_Data.RevenueMonth_Amount / res.Result_Data.BudgetMonth_Amount*100).toFixed(2) + if (this.plan){ + if (this.plan && this.plan.RevenueMonth_Amount){ + this.plan.percentageMonth = (res.Result_Data.RevenueMonth_Amount / res.Result_Data.BudgetMonth_Amount*100).toFixed(2) + } + if (this.plan && this.plan.RevenueYear_Amount){ + this.plan.percentageYear = (res.Result_Data.RevenueYear_Amount / res.Result_Data.BudgetYear_Amount*100).toFixed(2) + } // this.plan.percentageMonth = 80 - this.plan.percentageYear = (res.Result_Data.RevenueYear_Amount / res.Result_Data.BudgetYear_Amount*100).toFixed(2) // let date = new Date(this.time) // let nowDay = date.getDate() // let day = this.$util.getThisMonthDay(this.time) @@ -749,7 +798,7 @@ export default { // let oneDay = 100/day // // 到了当天的应该有的百分比 // let thisDayShould= oneDay*nowDay - // 由于显示的时候 正负号由图片表示 所以要区绝对值展现在页面上 + // 由于显示的时候 正负号由图片表示 所以要区绝对值展现在页面上 this.monthAdd = Math.abs(this.plan.MonthGrowth_Rate) this.yearAdd = Math.abs(this.plan.YearGrowth_Rate) //处理数据 保留小数 @@ -757,6 +806,7 @@ export default { this.plan.BudgetMonth_Amount = this.$util.fmoney(res.Result_Data.BudgetMonth_Amount) this.plan.RevenueYear_Amount = this.$util.fmoney(res.Result_Data.RevenueYear_Amount) this.plan.BudgetYear_Amount = this.$util.fmoney(res.Result_Data.BudgetYear_Amount) + } }) } } diff --git a/pages/commercialBI/serviceMessage.vue b/pages/commercialBI/serviceMessage.vue new file mode 100644 index 0000000..277a3da --- /dev/null +++ b/pages/commercialBI/serviceMessage.vue @@ -0,0 +1,500 @@ + + + + diff --git a/pages/examine/detail.vue b/pages/examine/detail.vue index 4472eda..cbf6907 100644 --- a/pages/examine/detail.vue +++ b/pages/examine/detail.vue @@ -24,7 +24,9 @@ - + + + @@ -37,7 +39,7 @@ - + {{item.SERVERPART_NAME}} @@ -78,7 +80,7 @@ - + {{item.SERVERPART_NAME}} @@ -219,8 +221,10 @@ import request from '@/util/index.js' import uniPopup from '@/components/uni-popup' import CommercialType from "./commercialType.vue"; +import SliderPage from "./sliderPage.vue"; export default { components:{ + SliderPage, CommercialType, uniPopup }, @@ -342,10 +346,18 @@ export default { if (d<10){ d = '0'+d } - const req = { - SearchStartDate:`${y}-${m}-01`, - SearchEndDate:`${y}-${m}-${d}`, - Serverpart_ID:this.currentService.Serverpart_ID + let req + if (this.currentService.SERVERPART_NAME==='安徽驿达'){ + req = { + SearchStartDate:`${y}-${m}-01`, + SearchEndDate:`${y}-${m}-${d}`, + } + }else{ + req = { + SearchStartDate:`${y}-${m}-01`, + SearchEndDate:`${y}-${m}-${d}`, + Serverpart_ID:this.currentService.Serverpart_ID + } } const total = await request.$webGet(`CommercialApi/Examine/WeChat_GetExamineList`,req) this.serviceList = total.Result_Data @@ -426,29 +438,41 @@ export default { if (d<10){ d = '0'+d } - const res = await request.$webGet(`CommercialApi/Examine/WeChat_GetPatrolList`,{ - SearchStartDate:`${y}-${m}-01`,// 巡检日期(开始时间) - SearchEndDate:`${y}-${m}-${d}`,// 巡检日期(结束时间) - SPRegionType_ID:'',// 片区内码,多个片区用","隔开 - Serverpart_ID:this.currentService.Serverpart_ID,// 服务区内码,多个服务区用","隔开 - }) - this.inspectionList = res.Result_Data + let req + if (this.currentService.SERVERPART_NAME==='安徽驿达'){ + req = { + SearchStartDate:`${y}-${m}-01`,// 巡检日期(开始时间) + SearchEndDate:`${y}-${m}-${d}`,// 巡检日期(结束时间) + SPRegionType_ID:'',// 片区内码,多个片区用","隔开 + } + }else{ + req = { + SearchStartDate:`${y}-${m}-01`,// 巡检日期(开始时间) + SearchEndDate:`${y}-${m}-${d}`,// 巡检日期(结束时间) + SPRegionType_ID:'',// 片区内码,多个片区用","隔开 + Serverpart_ID:this.currentService.Serverpart_ID,// 服务区内码,多个服务区用","隔开 + } + } - this.inspectionList.forEach(item=>{ - item.list.forEach(subItem=>{ - let i = 0 - subItem.SERVERPARTList.forEach(thirdItem=>{ - if (thirdItem.COMPLETE_STATE===0){ - i++ + const res = await request.$webGet(`CommercialApi/Examine/WeChat_GetPatrolList`,req) + this.inspectionList = res.Result_Data + if (this.inspectionList && this.inspectionList.length>0){ + this.inspectionList.forEach(item=>{ + item.list.forEach(subItem=>{ + let i = 0 + subItem.SERVERPARTList.forEach(thirdItem=>{ + if (thirdItem.COMPLETE_STATE===0){ + i++ + } + }) + if (i>0){ + subItem.warning=false + }else{ + subItem.warning=true } }) - if (i>0){ - subItem.warning=false - }else{ - subItem.warning=true - } }) - }) + } console.log('inspectionList',this.inspectionList) uni.hideLoading() }, @@ -536,7 +560,11 @@ export default { position: absolute; top: 0;left: 0; z-index:1; - + .sliderBox{ + width: 100%; + position: absolute; + bottom: 20px; + } } } } diff --git a/pages/examine/sliderPage.vue b/pages/examine/sliderPage.vue new file mode 100644 index 0000000..82d4338 --- /dev/null +++ b/pages/examine/sliderPage.vue @@ -0,0 +1,54 @@ + + + + diff --git a/pages/index/index.vue b/pages/index/index.vue index 2980c5b..89de15c 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1246,6 +1246,15 @@ export default { ...mapActions(['memberLogin','getLoginCode']), // 点击服务区信息跳转 handleGoServiceMessage(){ + let YD = { + SERVERPART_NAME: "安徽驿达", + SPREGIONTYPE_NAME: "", + SPRegionType_ID: null, + Serverpart_ID: 424, + latitude: 32, + longitude: 117, + } + uni.setStorageSync('currentService',YD) this.$util.toNextRoute('navigateTo', `/pages/map/detail?isPicker=${true}&come=index`) // let _this = this @@ -1469,6 +1478,15 @@ export default { } }, handleGoTab(item){ + let YD = { + SERVERPART_NAME: "安徽驿达", + SPREGIONTYPE_NAME: "", + SPRegionType_ID: null, + Serverpart_ID: 424, + latitude: 32, + longitude: 117, + } + uni.setStorageSync('currentService',YD) if (!this.isReturn){ this.$util.toNextRoute('navigateTo', `${item.path}?time=${this.lastDay}&serviceInfo=${JSON.stringify(this.nearServiceInfo)}`) } else{ diff --git a/pages/index/new_file.html b/pages/index/new_file.html new file mode 100644 index 0000000..e69de29 diff --git a/pages/map/detail.vue b/pages/map/detail.vue index 18dc9a5..a575497 100644 --- a/pages/map/detail.vue +++ b/pages/map/detail.vue @@ -34,6 +34,9 @@ + + +
@@ -179,9 +182,10 @@ + +