diff --git a/src/views/kpi/kpiIndex.vue b/src/views/kpi/kpiIndex.vue index 8720097c..82563672 100644 --- a/src/views/kpi/kpiIndex.vue +++ b/src/views/kpi/kpiIndex.vue @@ -751,14 +751,14 @@ export default { }); this.indexData = res.data; this.supplierName=res.data?.supplierName - this.indexData.refuseOrderRate=this.indexData.refuseOrderRate*100?.toFixed(2) - this.indexData.timeoutOrderRate=this.indexData.timeoutOrderRate*100?.toFixed(2) - this.indexData.complainOrderRate=this.indexData.complainOrderRate*100?.toFixed(2) - this.indexData.customerSatisfaction=this.indexData.customerSatisfaction*100?.toFixed(2) - this.indexData.threeMinutesContactRate=this.indexData.threeMinutesContactRate*100?.toFixed(2) - this.indexData.urgeRate=this.indexData.urgeRate*100?.toFixed(2) - this.indexData.appRate=this.indexData.appRate*100?.toFixed(2) - this.indexData.polymerizationSuccessRate=this.indexData.polymerizationSuccessRate*100?.toFixed(2) + this.indexData.refuseOrderRate=this.indexData.refuseOrderRate*100 + this.indexData.timeoutOrderRate=this.indexData.timeoutOrderRate*100 + this.indexData.complainOrderRate=this.indexData.complainOrderRate*100 + this.indexData.customerSatisfaction=this.indexData.customerSatisfaction*100 + this.indexData.threeMinutesContactRate=this.indexData.threeMinutesContactRate*100 + this.indexData.urgeRate=this.indexData.urgeRate*100 + this.indexData.appRate=this.indexData.appRate*100 + this.indexData.polymerizationSuccessRate=this.indexData.polymerizationSuccessRate*100 } else if ([1, 2].includes(this.active)) { let res = await getStatisticsKpi({ startTime: this.active === 1 ? this.startMonthTime : this.startTime, @@ -767,21 +767,21 @@ export default { supplierId: this.supplierId, }) this.detailList = res.data?.map(item => { - item.refuseOrderRate=item.refuseOrderRate*100?.toFixed(2)+'%' - item.timeoutOrderRate=item.timeoutOrderRate*100?.toFixed(2)+'%' - item.cancelRate=item.cancelRate*100?.toFixed(2)+'%' - item.urgeRate=item.urgeRate*100?.toFixed(2)+'%' - item.complainOrderRate=item.complainOrderRate*100?.toFixed(2)+'%' - item.customerEvaluateRate=item.customerEvaluateRate*100?.toFixed(2)+'%' - item.appRate=item.appRate*100?.toFixed(2)+'%' - item.threeMinutesContactRate=item.threeMinutesContactRate*100?.toFixed(2)+'%' - item.pinganPolymerizationSuccessRate=item.pinganPolymerizationSuccessRate*100?.toFixed(2)+'%' - item.zhonghuaPolymerizationSuccessRate=item.zhonghuaPolymerizationSuccessRate*100?.toFixed(2)+'%' - item.zdPolymerizationSuccessRate=item.zdPolymerizationSuccessRate*100?.toFixed(2)+'%' - item.polymerizationSuccessRate=item.polymerizationSuccessRate*100?.toFixed(2)+'%' - item.threeMinutesReceivingRate=item.threeMinutesReceivingRate*100?.toFixed(2)+'%' - item.fortyMinutesArrivalRate=item.fortyMinutesArrivalRate*100?.toFixed(2)+'%' - item.customerSatisfaction=item.customerSatisfaction*100?.toFixed(2)+'%' + item.refuseOrderRate=this.formatPercentage(item.refuseOrderRate) ; + item.timeoutOrderRate=this.formatPercentage(item.timeoutOrderRate) ; + item.cancelRate=this.formatPercentage(item.cancelRate) ; + item.urgeRate=this.formatPercentage(item.urgeRate) ; + item.complainOrderRate=this.formatPercentage(item.complainOrderRate) ; + item.customerEvaluateRate=this.formatPercentage(item.customerEvaluateRate) ; + item.appRate=this.formatPercentage(item.appRate) ; + item.threeMinutesContactRate=this.formatPercentage(item.threeMinutesContactRate) ; + item.pinganPolymerizationSuccessRate=this.formatPercentage(item.pinganPolymerizationSuccessRate) ; + item.zhonghuaPolymerizationSuccessRate=this.formatPercentage(item.zhonghuaPolymerizationSuccessRate) ; + item.zdPolymerizationSuccessRate=this.formatPercentage(item.zdPolymerizationSuccessRate) ; + item.polymerizationSuccessRate=this.formatPercentage(item.polymerizationSuccessRate) ; + item.threeMinutesReceivingRate=this.formatPercentage(item.threeMinutesReceivingRate) ; + item.fortyMinutesArrivalRate=this.formatPercentage(item.fortyMinutesArrivalRate) ; + item.customerSatisfaction=this.formatPercentage(item.customerSatisfaction) ; let formatVal = dayjs(item.statisticsDate).format('DD'); let formatVal1 = dayjs(item.statisticsDate).format('M'); return {...item, date: formatVal, month: (formatVal1 == this.current) ? '本月' : (formatVal1 + '月')}; @@ -806,22 +806,23 @@ export default { // this.detailList = res.data this.total = res.total this.detailList = res.data?.map(item => { - item.refuseOrderRate=item.refuseOrderRate*100?.toFixed(2)+'%' - item.timeoutOrderRate=item.timeoutOrderRate*100?.toFixed(2)+'%' - item.cancelRate=item.cancelRate*100?.toFixed(2)+'%' - item.complainOrderRate=item.complainOrderRate*100?.toFixed(2)+'%' - item.customerEvaluateRate=item.customerEvaluateRate*100?.toFixed(2)+'%' - item.appRate=item.appRate*100?.toFixed(2)+'%' - item.threeMinutesContactRate=item.threeMinutesContactRate*100?.toFixed(2)+'%' - item.pinganPolymerizationSuccessRate=item.pinganPolymerizationSuccessRate*100?.toFixed(2)+'%' - item.zhonghuaPolymerizationSuccessRate=item.zhonghuaPolymerizationSuccessRate*100?.toFixed(2)+'%' - item.zdPolymerizationSuccessRate=item.zdPolymerizationSuccessRate*100?.toFixed(2)+'%' - item.polymerizationSuccessRate=item.polymerizationSuccessRate*100?.toFixed(2)+'%' - item.threeMinutesReceivingRate=item.threeMinutesReceivingRate*100?.toFixed(2)+'%' - item.fortyMinutesArrivalRate=item.fortyMinutesArrivalRate*100?.toFixed(2)+'%' - item.trailFortyMinutesArrivalRate=item.trailFortyMinutesArrivalRate*100?.toFixed(2)+'%' - item.minorFortyMinutesArrivalRate=item.minorFortyMinutesArrivalRate*100?.toFixed(2)+'%' - item.customerSatisfaction=item.customerSatisfaction*100?.toFixed(2)+'%' + item.refuseOrderRate=this.formatPercentage(item.refuseOrderRate) ; + item.timeoutOrderRate=this.formatPercentage(item.timeoutOrderRate) ; + item.cancelRate=this.formatPercentage(item.cancelRate) ; + // item.urgeRate=this.formatPercentage(item.urgeRate) ; + item.complainOrderRate=this.formatPercentage(item.complainOrderRate) ; + item.customerEvaluateRate=this.formatPercentage(item.customerEvaluateRate) ; + item.appRate=this.formatPercentage(item.appRate) ; + item.threeMinutesContactRate=this.formatPercentage(item.threeMinutesContactRate) ; + item.pinganPolymerizationSuccessRate=this.formatPercentage(item.pinganPolymerizationSuccessRate) ; + item.zhonghuaPolymerizationSuccessRate=this.formatPercentage(item.zhonghuaPolymerizationSuccessRate) ; + item.zdPolymerizationSuccessRate=this.formatPercentage(item.zdPolymerizationSuccessRate) ; + item.polymerizationSuccessRate=this.formatPercentage(item.polymerizationSuccessRate) ; + item.threeMinutesReceivingRate=this.formatPercentage(item.threeMinutesReceivingRate) ; + item.fortyMinutesArrivalRate=this.formatPercentage(item.fortyMinutesArrivalRate) ; + item.customerSatisfaction=this.formatPercentage(item.customerSatisfaction) ; + item.trailFortyMinutesArrivalRate=this.formatPercentage(item.trailFortyMinutesArrivalRate) ; + item.minorFortyMinutesArrivalRate=this.formatPercentage(item.minorFortyMinutesArrivalRate) ; let formatVal = dayjs(item.statisticsDate).format('DD'); return {...item, date: formatVal}; }); @@ -892,6 +893,14 @@ export default { this.loading = false } }, + formatPercentage(value) { + let result = value * 100; + if (Number.isInteger(result)) { + return result.toString() + '%'; + } else { + return result.toFixed(2) + '%'; + } + }, checkMobile() { const userAgent = navigator.userAgent || navigator.vendor || window.opera; this.isMobile = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent);