diff --git a/pages.json b/pages.json index 72a8463..318fa96 100644 --- a/pages.json +++ b/pages.json @@ -295,6 +295,12 @@ "navigationStyle": "custom", "disableScroll": true } + }, + { + "path": "detail", + "style": { + "navigationBarTitleText": "" + } } ] }, diff --git a/pages/commercialBI/carPortrait.vue b/pages/commercialBI/carPortrait.vue index 3475065..cf84fe8 100644 --- a/pages/commercialBI/carPortrait.vue +++ b/pages/commercialBI/carPortrait.vue @@ -43,7 +43,7 @@
A类
-
+
查看更多
@@ -513,6 +513,10 @@ export default { this.searchText='' }, methods:{ + // 点击查看更多跳转 + handleGoServiceMessage(){ + this.$util.toNextRoute('navigateTo', `/pages/map/detail`) + }, showScoreAnimation1(copyRightItems,id) { /* cxt_arc.arc(x, y, r, sAngle, eAngle, counterclockwise); @@ -1211,6 +1215,7 @@ export default { width:100%; background: #fff; min-height: 100vh; + overflow: hidden; .header{ width: 100%; height: 648rpx; @@ -1447,6 +1452,7 @@ export default { .moreIcon{ width: 24rpx; height: 24rpx; + margin-left: 4rpx; } } } diff --git a/pages/commercialBI/commercialType.vue b/pages/commercialBI/commercialType.vue index 7aa4d0a..e45af82 100644 --- a/pages/commercialBI/commercialType.vue +++ b/pages/commercialBI/commercialType.vue @@ -1,9 +1,29 @@ @@ -19,18 +39,20 @@ export default { {img:'https://eshangtech.com/ShopICO/ahyd-BID/index/business_icon.svg',url:'/pages/commercialBI/managePortrait',text:'经营'}, {img:'https://eshangtech.com/ShopICO/ahyd-BID/index/trade.svg',url:'/pages/commercialBI/businessPortrait',text:'交易'}, {img:'https://eshangtech.com/ShopICO/ahyd-BID/index/brand.svg',url:'/pages/commercialBI/formatPortrait',text:'品牌'}, - {img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/newExamineIcon.svg',url:`/pages/newamine/index?come=index&type=${1}&time=${this.time}`,text:'考核'}, - {img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/inspectionIcon.svg',url:`/pages/newamine/index?come=index&type=${2}&time=${this.time}`,text:'巡检'}, + {img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/newExamineIcon.svg',url:`/pages/examine/detail?type=${1}`,text:'考核'}, + {img:'https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/inspectionIcon.svg',url:`/pages/examine/detail?type=${2}`,text:'巡检'}, ], showTypeList:[], - selectIndex: 5, + selectIndex: 7, pageList : [],// 页面栈数组 + expand: false,// 是否展开 + show:false, } }, props:{ have:{ type:Number, - default:5 + default:7 }, time:{ type: String, @@ -48,7 +70,10 @@ export default { } }) this.showTypeList = list - + setTimeout(()=>{ + this.show = true + console.log('this.show',this.show) + },2000) }, deep:true, immediate:true @@ -61,17 +86,20 @@ export default { }, methods:{ + handleChangeExpand(){ + this.expand = !this.expand + }, handleGo(url){ let pageList = getCurrentPages() - if (pageList.length>=2){ + if (pageList.length>=2){ uni.redirectTo({ - url:url + url:url }) - } else{ + } else{ uni.navigateTo({ - url:url + url:url }) - } + } } } } @@ -82,29 +110,101 @@ export default { position: fixed; right: 0; top: 12%; - .item{ - width: 150rpx; - height: 80rpx; - border-radius: 20px 0 0 20px; - box-sizing: border-box; - padding: 14rpx; - background: rgba(255,255,255,0.8); - display: flex; - align-items: center; - margin-bottom: 10px; - border: 1px solid #ccc; - .icon{ - width: 52.5rpx; - height: 52.5rpx; - border-radius: 50%; - margin-right: 10rpx; + .bigBox{ + width: 100%; + height: 100%; + position: relative; + .ItemBox,.ItemBox2{ + .item{ + width: 150rpx; + height: 80rpx; + border-radius: 20px 0 0 20px; + box-sizing: border-box; + padding: 14rpx; + background: rgba(255,255,255,0.8); + box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(88,82,82,0.3); + display: flex; + align-items: center; + margin-bottom: 10px; + border: 1px solid #ccc; + .icon{ + width: 52.5rpx; + height: 52.5rpx; + border-radius: 50%; + } + .iconBox{ + width: 52.5rpx; + height: 52.5rpx; + border-radius: 50%; + margin-right: 10rpx; + background: #fff; + display: flex; + align-items: center; + justify-content: center; + .icon{ + width: 30rpx; + height: 30rpx; + } + } + .text{ + font-size: 24rpx; + font-family: PingFangSC, PingFang SC; + font-weight: 400; + color: #786B6C; + line-height: 36rpx; + } + } + + .firstItem{ + animation:toLeft 2s; + } + .secondItem{ + animation:toRight 2s; + } + @keyframes toLeft { + 0%{ + transform: translateX(0px); + } + 100%{ + transform: translateX(150rpx); + } + } + @keyframes toRight { + 0%{ + transform: translateX(0px); + } + 100%{ + transform: translateX(150rpx); + } + } } - .text{ - font-size: 24rpx; - font-family: PingFangSC, PingFang SC; - font-weight: 400; - color: #786B6C; - line-height: 36rpx; + .first{ + position: absolute; + top: 0; + animation: second 1.5s; + animation-fill-mode:forwards; + } + .second{ + position: absolute; + top: 0; + animation: first 1.5s; + animation-fill-mode:forwards; + } + @keyframes first { + 0%{ + left: -150rpx; + } + 100%{ + left: 0; + } + } + @keyframes second { + 0%{ + left: 0; + } + 100%{ + left: -150rpx; + } } } } diff --git a/pages/commercialBI/components/guest/customerFirst.vue b/pages/commercialBI/components/guest/customerFirst.vue index 5e806bb..afd2487 100644 --- a/pages/commercialBI/components/guest/customerFirst.vue +++ b/pages/commercialBI/components/guest/customerFirst.vue @@ -11,7 +11,7 @@

{{ info.TicketCount?info.TicketCount:'-' }}

- {{info.TicketCount / info.TicketAvgCount?Math.abs((((info.TicketCount / info.TicketAvgCount) - 1) *100).toFixed(2)) + '%':'-' + '%'}} + {{orderTransaction+'%'}}

客单交易 /笔

@@ -21,7 +21,7 @@

{{ info.AvgTicketPrice?info.AvgTicketPrice:'-' }}

- {{info.AvgTicketPrice / info.MonthAvgTicketPrice?Math.abs((((info.AvgTicketPrice / info.MonthAvgTicketPrice) - 1) *100).toFixed(2)) + '%':'-' + '%'}} + {{orderAveragePrice+'%'}}

客单均价 /元

@@ -110,6 +110,8 @@ export default { genderList:[false,false,false], addAreaCarNumber:'',//入区车辆增长 oneCarPrice:'',//单车价值 + orderTransaction:'', + orderAveragePrice:'' } }, props: { @@ -121,10 +123,12 @@ export default { watch: { data: { handler(value) { - console.log('value',value) + console.log('value111',value) this.info = value this.addAreaCarNumber = this.info.VehicleCount ? Math.abs((this.info.VehicleCount / this.info.MonthVehicleCount - 1)*100).toFixed(2):'' this.oneCarPrice = this.info.MonthVehicleAmount?Math.abs(((this.info.AvgVehicleAmount / this.info.MonthVehicleAmount) - 1) *100).toFixed(2):'' + this.orderTransaction = this.info.TicketAvgCount? Math.abs((((this.info.TicketCount / this.info.TicketAvgCount) - 1) *100).toFixed(2)):'-' + this.orderAveragePrice = this.info.MonthAvgTicketPrice? Math.abs((((this.info.AvgTicketPrice / this.info.MonthAvgTicketPrice) - 1) *100).toFixed(2)):'-' this.$forceUpdate() }, deep:true diff --git a/pages/commercialBI/components/headerTop.vue b/pages/commercialBI/components/headerTop.vue index 6d17bfd..b0adbb5 100644 --- a/pages/commercialBI/components/headerTop.vue +++ b/pages/commercialBI/components/headerTop.vue @@ -28,7 +28,7 @@
A类
-
+
查看更多
@@ -177,6 +177,10 @@ export default { // this.getLabelDetail() // }, methods:{ + // 点击查看更多跳转 + handleGoServiceMessage(){ + this.$util.toNextRoute('navigateTo', `/pages/map/detail`) + }, //获得标签 async getLabelDetail(){ let storeTime = uni.getStorageSync('lastDay') @@ -377,6 +381,7 @@ export default { .moreIcon{ width: 24rpx; height: 24rpx; + margin-left: 4rpx; } } } diff --git a/pages/commercialBI/components/manager/revenueAnalysis.vue b/pages/commercialBI/components/manager/revenueAnalysis.vue index ad05c57..8c27159 100644 --- a/pages/commercialBI/components/manager/revenueAnalysis.vue +++ b/pages/commercialBI/components/manager/revenueAnalysis.vue @@ -1,42 +1,86 @@ @@ -61,9 +105,16 @@ export default { watch: { data: { handler(value) { - this.dataInfo = value - this.dataInfo.ContractProfitLoss = this.$util.fmoney(this.dataInfo.ContractProfitLoss) - this.dataInfo.SalesPerSquareMeter = this.$util.fmoney(this.dataInfo.SalesPerSquareMeter) + this.dataInfo = JSON.parse(JSON.stringify(value)) + this.dataInfo.CashPay = this.$util.fmoney(this.dataInfo.CashPay,2) + this.dataInfo.Different_Price_More = this.$util.fmoney(this.dataInfo.Different_Price_More,2) + this.dataInfo.Different_Price_Less = this.$util.fmoney(this.dataInfo.Different_Price_Less,2) + this.dataInfo.TotalOffAmount = this.$util.fmoney(this.dataInfo.TotalOffAmount,2) + this.dataInfo.TicketCount = this.$util.fmoney(this.dataInfo.TicketCount,2) + this.dataInfo.TotalCount = this.$util.fmoney(this.dataInfo.TotalCount,2) + this.dataInfo.average = this.$util.fmoney((value.CashPay / value.TicketCount),2) + // this.dataInfo.ContractProfitLoss = this.$util.fmoney(this.dataInfo.ContractProfitLoss) + // this.dataInfo.SalesPerSquareMeter = this.$util.fmoney(this.dataInfo.SalesPerSquareMeter) console.log('value',value) } } @@ -77,14 +128,117 @@ export default { diff --git a/pages/examine/detail.vue b/pages/examine/detail.vue new file mode 100644 index 0000000..8ca1ed2 --- /dev/null +++ b/pages/examine/detail.vue @@ -0,0 +1,1104 @@ + + + + + + + diff --git a/pages/index/components/rateCharts.vue b/pages/index/components/rateCharts.vue index ac83ce4..b2505bf 100644 --- a/pages/index/components/rateCharts.vue +++ b/pages/index/components/rateCharts.vue @@ -1,7 +1,7 @@ @@ -23,6 +23,10 @@ export default { colorList:{ type: Array, default:[] + }, + name:{ + type:String, + default:'' } }, watch:{ @@ -36,8 +40,7 @@ export default { data:[{name:'驿站营收',value:0},{name:'未完成',value:0}] }] } - console.log('res',res) - this.drawCharts('rate',res) + this.drawCharts(this.name,res) }else{ let firstRate = Number(((value[0] / sum)*100).toFixed(2)) let secondRate = 100 - Number(firstRate) @@ -46,8 +49,7 @@ export default { data:[{name:'驿站营收',value:firstRate},{name:'未完成',value:secondRate}] }] } - console.log('res',res) - this.drawCharts('rate',res) + this.drawCharts(this.name,res) } }, } @@ -95,7 +97,7 @@ export default { } }); setTimeout( ()=>{ - this.canvasToTempImage('rate') + this.canvasToTempImage(this.name) },500) }, canvasToTempImage(id){ diff --git a/pages/index/index.vue b/pages/index/index.vue index b2437aa..d5f681b 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -3,6 +3,7 @@ + @@ -102,19 +103,23 @@ - - + + + + 驿达入账:{{ydRate}}% + 商家入账:{{shopRate}}% + - + 驿达入账/万元 - - + {{currentPeriodData.Royalty_Theory?$util.fmoney(currentPeriodData.Royalty_Theory / 10000,2):'-'}} - + 商家入账/万元 - - + {{ currentPeriodData.SubRoyalty_Theory?$util.fmoney(currentPeriodData.SubRoyalty_Theory / 10000,2):'-' }} @@ -362,7 +367,7 @@ - + 服务区信息 @@ -461,7 +466,7 @@
- +
@@ -920,7 +925,11 @@ export default { trafficCurrentObj:{},// 当前月 showMonthDetail:false,//月度车流的显示框 yesObjCompared:'',//昨日营收的比较值 - moneyRateList:[] + moneyRateList:[], + currentPeriodData:{},// 本期数据 + ydModal: false,// 显示驿达百分比的具体值 + ydRate:'',// 驿达百分比 + shopRate:'',// 商家百分比 } }, watch:{ @@ -1015,9 +1024,9 @@ export default { }, onLoad(option){ const _this = this - setTimeout(()=>{ - _this.moneyRateList = [0,0] - },3000) + // setTimeout(()=>{ + // _this.moneyRateList = [0,0] + // },3000) // 顶部显示的时间 this.single = timestampToTimeMonth((new Date(this.lastDay).getTime())) // 获取手机参数对页面进行适配 主要是用于拿到胶囊的位置 @@ -1129,6 +1138,39 @@ export default { }, methods:{ ...mapActions(['memberLogin','getLoginCode']), + // 点击服务区信息跳转 + handleGoServiceMessage(){ + this.$util.toNextRoute('navigateTo', `/pages/map/detail?isPicker=${true}&come=index`) + + // let _this = this + // let currentService = uni.getStorageSync('currentService') + // let nearService = uni.getStorageSync('nearService') + // if (currentService){ + // }else if (nearService){ + // uni.setStorageSync('currentService',nearService) + // }else{ + // wx.getPrivacySetting({ + // success: res=>{ + // if (res.needAuthorization){ + // this.$util.toNextRoute('redirectTo', '/pages/register/register') + // }else{ + // wx.getFuzzyLocation({ + // type:'gcj02', + // altitude:true, + // success: (res) =>{ + // let seatInfo = { + // latitude:res.latitude, + // longitude:res.longitude + // } + // uni.setStorageSync('seatInfo', seatInfo); + // this.seat = seatInfo + // } + // }) + // } + // } + // }) + // } + }, // 拿到国庆数据 async handleGetNationalData(){ let req = { @@ -1245,14 +1287,30 @@ export default { } const data = await request.$webGet('CommercialApi/BaseInfo/GetServerpartList',req) console.log('datanearestService',data) - // let res = { - // SERVERPART_NAME:data.Result_Data.List[0].SERVERPART_NAME,//服务区 - // SPREGIONTYPE_NAME:data.Result_Data.List[0].SPREGIONTYPE_NAME,//片区 - // SPRegionType_ID:data.Result_Data.List[0].SPREGIONTYPE_ID,//片区id - // Serverpart_ID:data.Result_Data.List[0].SERVERPART_ID,//服务区id - // longitude:data.Result_Data.List[0].SERVERPART_X, - // latitude:data.Result_Data.List[0].SERVERPART_Y, - // } + let nearService = uni.getStorageSync('nearService') + if (!nearService){ + let res = { + SERVERPART_NAME:data.Result_Data.List[0].SERVERPART_NAME,//服务区 + SPREGIONTYPE_NAME:data.Result_Data.List[0].SPREGIONTYPE_NAME,//片区 + SPRegionType_ID:data.Result_Data.List[0].SPREGIONTYPE_ID,//片区id + Serverpart_ID:data.Result_Data.List[0].SERVERPART_ID,//服务区id + longitude:data.Result_Data.List[0].SERVERPART_X, + latitude:data.Result_Data.List[0].SERVERPART_Y, + } + uni.setStorageSync('nearService',res) + } + let currentService = uni.getStorageSync('currentService') + if (!currentService){ + let res = { + SERVERPART_NAME:data.Result_Data.List[0].SERVERPART_NAME,//服务区 + SPREGIONTYPE_NAME:data.Result_Data.List[0].SPREGIONTYPE_NAME,//片区 + SPRegionType_ID:data.Result_Data.List[0].SPREGIONTYPE_ID,//片区id + Serverpart_ID:data.Result_Data.List[0].SERVERPART_ID,//服务区id + longitude:data.Result_Data.List[0].SERVERPART_X, + latitude:data.Result_Data.List[0].SERVERPART_Y, + } + uni.setStorageSync('currentService',res) + } // let res = { @@ -1595,6 +1653,9 @@ export default { this.handleGetAllCarTraffic() } }, + handleShowYDModal(){ + this.ydModal = !this.ydModal + }, getCarInfo(date){ const data = { Statistics_Date:date?date:this.lastDay, @@ -1714,6 +1775,16 @@ export default { flag3 = true let result = lastData.Result_Data let progressAll = 0 + this.currentPeriodData = result.MonthRevenueModel.CurAccountRoyalty + this.moneyRateList = [this.currentPeriodData.Royalty_Theory,this.currentPeriodData.SubRoyalty_Theory] + let sum = this.currentPeriodData.Royalty_Theory+this.currentPeriodData.SubRoyalty_Theory + if(sum===0){ + this.ydRate = '-' + this.shopRate = '-' + }else{ + this.ydRate = ((this.currentPeriodData.Royalty_Theory / sum)*100).toFixed(2) + this.shopRate = ((this.currentPeriodData.SubRoyalty_Theory / sum)*100).toFixed(2) + } result.BusinessTypeList.forEach(item=>{ progressAll+=Number(item.value) @@ -2003,7 +2074,6 @@ export default { } let index1= (this.showTableData.CashPay / 10000).toString().indexOf('.') this.showTableData.CashPayChange = (this.showTableData.CashPay / 10000).toString().substring(0,index1+3) - // for (let key in this.showTableData){ // if (this.showTableData[key]){ // // 在有值的前提下 @@ -2284,7 +2354,7 @@ $iphoneHeight: env(safe-area-inset-bottom); width: 100%; box-sizing: border-box; padding: 32rpx 16rpx; - background: linear-gradient(135deg, #FFE3BA 0%, #FFF5E5 40%, #FFF1DB 78%, #FFDABC 100%); border-radius: 16rpx; + //background: linear-gradient(135deg, #FFE3BA 0%, #FFF5E5 40%, #FFF1DB 78%, #FFDABC 100%); border-radius: 16rpx; margin-top: 32rpx; .progress{ width: 100%; @@ -2311,6 +2381,7 @@ $iphoneHeight: env(safe-area-inset-bottom); border-radius: 10rpx; box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(244, 138, 143, 0.21); z-index:9; + } } .message{ @@ -2402,6 +2473,21 @@ $iphoneHeight: env(safe-area-inset-bottom); width: 144rpx; height: 144rpx; margin-right: 16rpx; + position: relative; + .haveNoticeBox{ + position: absolute; + bottom: 0;left: 0; + transform: translateY(80%); + display: inline-block; + padding: 5px 10px; + background: #fff; + border-radius: 10rpx; + box-shadow: 0rpx 0rpx 40rpx 0rpx rgba(244, 138, 143, 0.21); + z-index:9; + .label{ + display: block; + } + } } .rightBox{ flex: 1; @@ -2434,7 +2520,7 @@ $iphoneHeight: env(safe-area-inset-bottom); } .noticeMoney{ font-size: 36rpx; - font-family: DINAlternate, DINAlternate; + font-family: DINAlternate-Bold, DINAlternate; font-weight: bold; color: #160002; line-height: 44rpx; diff --git a/pages/map/commercialType.vue b/pages/map/commercialType.vue new file mode 100644 index 0000000..a09b168 --- /dev/null +++ b/pages/map/commercialType.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/pages/map/detail.vue b/pages/map/detail.vue index 9b5f1be..34422ab 100644 --- a/pages/map/detail.vue +++ b/pages/map/detail.vue @@ -1,5 +1,8 @@