3 Commits

Author SHA1 Message Date
c22eeb2787 三分钟联系客户率 2025-09-09 10:44:23 +08:00
3033ef09df 好评率好评量删除 2025-09-09 10:44:22 +08:00
b64912c982 服务商KPI 2025-09-04 09:52:37 +08:00
3 changed files with 20 additions and 22 deletions

View File

@ -101,7 +101,7 @@ export default {
const urlParams = new URLSearchParams(window.location.search);
this.driverId = urlParams.get('driverId');
this.time=timeFormat(Date.now())
this.keyword=urlParams.get('keyword') || ''
this.keyword=urlParams.get('keyWord') || ''
this.getTrainingList();
document.addEventListener('visibilitychange', async ( ) => {
let state = document.visibilityState

View File

@ -36,6 +36,9 @@
v-model="keyword"
placeholder="名称/关键词/简介"
>
<!-- <template #button>
<van-icon class="search" name="search" size="20" @click="getTrainingList"/>
</template>-->
</van-field>
</template>
<template slot="left">
@ -101,34 +104,32 @@ export default {
this.supplierId = urlParams.get('supplierId');
this.driverId = urlParams.get('driverId');
if(this.driverId){
this.keyword=urlParams.get('keyword') || ''
this.keyword=urlParams.get('keyWord') || ''
}
this.getNormalList()
},
methods:{
onRefresh() {
this.getNormalList()
if(!this.isLoading){
this.$toast('刷新成功');
}
/* setTimeout(() => {
setTimeout(() => {
this.$toast('刷新成功');
this.isLoading = false;
}, 1000);*/
}, 1000);
},
async changeTab(index) {
this.activeIndex = index
await this.getNormalList()
},
async getNormalList(){
this.isLoading = true;
this.totalList=[]
this.pageList=[]
let res= await getNormalList({
type:this.supplierId ? 2 : 1,
// type:2,
id: this.supplierId ? this.supplierId : this.driverId,
// id:this.supplierId,//33041,
text:this.keyword || '',
})
this.totalList=[]
this.pageList=[]
this.totalList=res.data.list
let result=[]
if(this.activeIndex === 0){
@ -148,7 +149,6 @@ export default {
}else {
this.showEmpty = false
}
this.isLoading = false
},
initShow(){
this.keyword= '',

View File

@ -65,8 +65,8 @@
<div class="reciceOrderIWrap" v-if="indexData">
<circle-char ref="Doughnut1" :data="indexData && indexData.complainOrderRate" :title-text="'投诉率'" :bg-color="Number(indexData?.complainOrderRate || 0) <= 0.1 ? 'green' : 'red'"
:is-store="false" @clickComplain="clickJumpHandle(7)"></circle-char>
<circle-char ref="Doughnut2" :data="indexData && indexData.pinganFavorableRate" :title-text="'平安好评率'" :is-store="false"
:bg-color="Number(indexData?.pinganFavorableRate || 0) >= 99.4 ? 'green' : 'red'"></circle-char>
<circle-char ref="Doughnut2" :data="indexData && indexData.customerSatisfaction" :title-text="'平安好评率'"
:bg-color="Number(indexData?.customerSatisfaction || 0) >= 99.4 ? 'green' : 'red'"></circle-char>
<circle-char ref="Doughnut3" :data="indexData && indexData.urgeRate" :title-text="'催促率'"
:bg-color="Number(indexData?.urgeRate || 0) >= 3 ? 'red' : 'green'"></circle-char>
</div>
@ -78,7 +78,7 @@
:is-store="false"
@clickUse="clickJumpHandle(8)"></circle-char>
<circle-char ref="Doughnut5" :data="indexData && indexData.threeMinutesContactRate" :title-text="'3联系客户率'" :bg-color="Number(indexData?.threeMinutesContactRate || 0) >= 90 ? 'green' : 'red'"></circle-char>
<circle-char ref="Doughnut6" :data="indexData && indexData.wholeJuheSuccessRate" :title-text="'总聚合成功率'" :is-store="false" :bg-color="Number(indexData?.wholeJuheSuccessRate || 0) >= 80 ? 'green' : 'red'"></circle-char>
<circle-char ref="Doughnut6" :data="indexData && indexData.polymerizationSuccessRate" :title-text="'总聚合成功率'" :bg-color="Number(indexData?.polymerizationSuccessRate || 0) >= 80 ? 'green' : 'red'"></circle-char>
</div>
</div>
<div :class="{'reciceOrder':true,'webCom':!isMobile}">
@ -90,7 +90,7 @@
</div>
<div class="line"></div>
<div class="center common">
<div class="num" :class="{'numRed': Number(indexData?.pinganJuheSuccessArriving) > 22, 'numGreen': Number(indexData?.pinganJuheSuccessArriving) <= 22 }">{{ indexData && indexData.pinganJuheSuccessArriving }}</div>
<div class="num" :class="{'numRed': Number(indexData?.polymerizationSuccessArriving) > 22, 'numGreen': Number(indexData?.polymerizationSuccessArriving) <= 22 }">{{ indexData && indexData.polymerizationSuccessArriving }}</div>
<div class="itemTitle">平安聚合成功到达时效(分)</div>
</div>
<div class="line"></div>
@ -1007,9 +1007,7 @@ export default {
'threeMinutesContactRate',
'urgeRate',
'appRate',
'polymerizationSuccessRate',
'pinganFavorableRate',
'wholeJuheSuccessRate',
'polymerizationSuccessRate'
];
for (let key in this.indexData){
if (propertiesToProcess.includes(key)) {
@ -1401,7 +1399,7 @@ export default {
if (this.value == 1) {
this.detailList?.map(item => {
this.v1.push(item.receiving)
this.v2.push(item.threeMinutesContactRate.replace('%', ''))
this.v2.push(item.threeMinutesReceivingRate.replace('%', ''))
})
} else {
this.detailList?.map(item => {
@ -1415,7 +1413,7 @@ export default {
columnObj.label = item.month // 每一列的标题的名称
columnObj.prop = props + index //自定义每一列标题字段名称
this.etlLabelList.push(columnObj)
let mappings = [ 'receiving', 'threeMinutesContactRate', 'arriving','fortyMinutesArrivalRate','polymerizationSuccessArriving'];
let mappings = [ 'receiving', 'threeMinutesReceivingRate', 'arriving','fortyMinutesArrivalRate','polymerizationSuccessArriving'];
for (let i = 0; i < mappings.length; i++) {
this.$set(this.etlDetailList[i], columnObj.prop, item[mappings[i]]);
}
@ -1423,7 +1421,7 @@ export default {
} else {
this.detailList?.map(item => {
this.v1.push(item.receiving)
this.v2.push(item.threeMinutesContactRate.replace('%', ''))
this.v2.push(item.threeMinutesReceivingRate.replace('%', ''))
})
if (this.swithVal) {
this.detailList?.map(item => {
@ -1442,7 +1440,7 @@ export default {
this.labelList = [
{label: '月份', prop: 'month'},
{label: '接单时效', prop: 'receiving'},
{label: '3分钟联系客户率', prop: 'threeMinutesContactRate'},
{label: '3分钟联系客户率', prop: 'threeMinutesReceivingRate'},
{label: '到达时效', prop: 'arriving'},
{label: '平安聚合成功到达时效', prop: 'pinganJuheSuccessArriving'},
]