CRM_26-07-30#story#9040,平安聚合案件失败后在调度端App中显示被聚合师傅的人员与车辆信息,以及未接单原因

This commit is contained in:
zxl
2026-07-22 16:28:01 +08:00
parent 5cb0f8f44d
commit 4888d4964b
+65
View File
@@ -99,6 +99,29 @@
<span class="driverPoiBtn" v-if="orderDetailInfo.beforeDispatchImages && orderDetailInfo.beforeDispatchImages.length > 0" @click="environmentPhoto">环境照片</span> <span class="driverPoiBtn" v-if="orderDetailInfo.beforeDispatchImages && orderDetailInfo.beforeDispatchImages.length > 0" @click="environmentPhoto">环境照片</span>
</span> </span>
</div> </div>
<div v-if="orderDetailInfo.firstAggregateFailInfo" class="aggregate-fail-card">
<div class="aggregate-fail-card__title"> 首次聚合未接单</div>
<div class="aggregate-fail-card__row">
<span class="aggregate-fail-card__label">师傅姓名</span>
<span class="aggregate-fail-card__value">{{ orderDetailInfo.firstAggregateFailInfo.driverName || '—' }}</span>
</div>
<div class="aggregate-fail-card__row">
<span class="aggregate-fail-card__label">师傅手机号</span>
<span class="aggregate-fail-card__value">{{ orderDetailInfo.firstAggregateFailInfo.driverPhone || '—' }}</span>
</div>
<div class="aggregate-fail-card__row">
<span class="aggregate-fail-card__label">车辆</span>
<span class="aggregate-fail-card__value">{{ aggregateFailVehicle }}</span>
</div>
<div class="aggregate-fail-card__row">
<span class="aggregate-fail-card__label">失败原因</span>
<span class="aggregate-fail-card__value aggregate-fail-card__value--warning">{{ orderDetailInfo.firstAggregateFailInfo.failReason || '—' }}</span>
</div>
<div class="aggregate-fail-card__row">
<span class="aggregate-fail-card__label">聚合时间</span>
<span class="aggregate-fail-card__value">{{ orderDetailInfo.firstAggregateFailInfo.dispatchTime || '—' }}</span>
</div>
</div>
</div> </div>
</div> </div>
<div class="serviceInfo common" v-if="orderDetailInfo.batteryNo"> <div class="serviceInfo common" v-if="orderDetailInfo.batteryNo">
@@ -154,6 +177,16 @@ export default {
carTypeList: [] carTypeList: []
} }
}, },
computed:{
aggregateFailVehicle(){
const info = this.orderDetailInfo.firstAggregateFailInfo
if(!info) return '—'
const plate = info.licensePlate || ''
const type = info.vehicleTypeName || ''
if(plate && type) return `${plate}${type}`
return plate || type || '—'
}
},
async mounted() { async mounted() {
// 获取当前 URL // 获取当前 URL
const urlParams = new URLSearchParams(window.location.search); const urlParams = new URLSearchParams(window.location.search);
@@ -418,6 +451,38 @@ export default {
} }
} }
} }
.aggregate-fail-card{
margin-top: 12px;
padding: 12px;
background: #FFF7F0;
border: 1px solid #FFBB96;
border-radius: 6px;
&__title{
@include fontWeightSize(bold,13px);
color: #FA541C;
margin-bottom: 8px;
}
&__row{
display: flex;
align-items: baseline;
line-height: 22px;
}
&__label{
width: 78px;
flex-shrink: 0;
@include fontWeightSize(400,12px);
color: #000000;
opacity: .65;
}
&__value{
flex: 1;
@include fontWeightSize(bold,12px);
color: #000000;
&--warning{
color: #FA541C;
}
}
}
.title{ .title{
@include fontWeightSize(bold,14px); @include fontWeightSize(bold,14px);
@include colorOpa(#323643,0.6); @include colorOpa(#323643,0.6);