Compare commits
42 Commits
d1726e3041
...
prod-25-09
| Author | SHA1 | Date | |
|---|---|---|---|
| beb97a0762 | |||
| 425c4c2043 | |||
| 2e9f2a6fa1 | |||
| 93aaaacd06 | |||
| 4fd27cfa0e | |||
| f4a2c6d6fa | |||
| 5592ad773e | |||
| ff53323c3f | |||
| 1df54434c9 | |||
| 210eb41ca6 | |||
| 436a35ddb5 | |||
| b33522708e | |||
| a9938d03fa | |||
| e7ce0721ca | |||
| 3cab49c0d4 | |||
| 0d14a9add6 | |||
| 6bc78f76ad | |||
| fe5e85b8d5 | |||
| d799cf7b93 | |||
| 64240414b5 | |||
| 0aac318448 | |||
| 121435ff3e | |||
| 2dbf353113 | |||
| 728063ca86 | |||
| ad548db437 | |||
| ad5f16acc9 | |||
| 39921aa2bb | |||
| 3d56f91575 | |||
| fda0139a06 | |||
| 620e6b5ad4 | |||
| 4c0ad71e89 | |||
| 7f8c482df1 | |||
| ceff5e008c | |||
| 16924fb22e | |||
| 6a8b6b7730 | |||
| bdc78351e4 | |||
| 25cc195f1e | |||
| 97ba1500ff | |||
| 93f0e9317c | |||
| 2c83b1ea60 | |||
| 872021eca5 | |||
| 6beda9f6f1 |
@ -32,10 +32,6 @@
|
|||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.AutoComplete,AMap.PlaceSearch,AMap.Geolocation,AMap.Geocoder,AMap.Marker,AMap.Driving"></script>
|
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=2560bbf04daef66c810c5e6a97e8c508&plugin=AMap.AutoComplete,AMap.PlaceSearch,AMap.Geolocation,AMap.Geocoder,AMap.Marker,AMap.Driving"></script>
|
||||||
<!-- <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>-->
|
<!-- <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>-->
|
||||||
<script>
|
|
||||||
window.selfLink = window.location.href;
|
|
||||||
window.selfSearch = window.location.search;
|
|
||||||
</script>
|
|
||||||
<script>
|
<script>
|
||||||
// VConsole 默认会挂载到 `window.VConsole` 上
|
// VConsole 默认会挂载到 `window.VConsole` 上
|
||||||
// let vConsole = new window.VConsole();
|
// let vConsole = new window.VConsole();
|
||||||
|
|||||||
@ -72,7 +72,7 @@
|
|||||||
<div class="itemContent">
|
<div class="itemContent">
|
||||||
<div class="titleType">
|
<div class="titleType">
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
<img class="startImg" src="@/assets/start.png" />
|
||||||
<span>车辆类别</span>
|
<span>车辆类型</span>
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<select
|
<select
|
||||||
@ -95,7 +95,6 @@
|
|||||||
multiple
|
multiple
|
||||||
:multiple-limit="isMultiple ? 2 : 1"
|
:multiple-limit="isMultiple ? 2 : 1"
|
||||||
v-model="selectedOption"
|
v-model="selectedOption"
|
||||||
:disabled="vehicleInfoDisabled"
|
|
||||||
value-key="name"
|
value-key="name"
|
||||||
class="elSelect"
|
class="elSelect"
|
||||||
collapse-tags="collapse-tags"
|
collapse-tags="collapse-tags"
|
||||||
@ -112,30 +111,6 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="itemContent">
|
|
||||||
<div class="titleType">
|
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
|
||||||
<span>车辆属性</span>
|
|
||||||
</div>
|
|
||||||
<el-select
|
|
||||||
v-model="virtualVehicle"
|
|
||||||
value-key="name"
|
|
||||||
class="elSelect"
|
|
||||||
collapse-tags="collapse-tags"
|
|
||||||
:disabled="vehicleInfoDisabled"
|
|
||||||
placeholder="请选择" style="width: 55%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in virtualVehicleOptions"
|
|
||||||
:key="item.name"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.value"
|
|
||||||
>
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="lineBot"></div>
|
|
||||||
<div class="itemContent">
|
<div class="itemContent">
|
||||||
<div class="titleType">
|
<div class="titleType">
|
||||||
<span>牌照</span>
|
<span>牌照</span>
|
||||||
@ -159,7 +134,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="lineBot"></div>
|
<div class="lineBot"></div>
|
||||||
<!--<div class="itemContent">
|
<div class="itemContent">
|
||||||
<div class="titleType">
|
<div class="titleType">
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
<img class="startImg" src="@/assets/start.png" />
|
||||||
<span>是否参与聚合</span>
|
<span>是否参与聚合</span>
|
||||||
@ -185,115 +160,7 @@
|
|||||||
</van-radio-group>
|
</van-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="lineBot"></div>-->
|
|
||||||
<div class="itemContent">
|
|
||||||
<div class="titleType">
|
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
|
||||||
<span>车辆状态</span>
|
|
||||||
</div>
|
|
||||||
<div class="isJoin">
|
|
||||||
<van-radio-group v-model="vehicleStatus" :class="{ 'disabled-tree': vehicleInfoDisabled }" :disabled="vehicleInfoDisabled" @change="isVehicleChange" class="joinWrap">
|
|
||||||
<van-radio :name="1" style="margin-right: 26px">
|
|
||||||
启用
|
|
||||||
<img
|
|
||||||
slot="icon"
|
|
||||||
slot-scope="props"
|
|
||||||
:src="props.checked ? activeIcon : inactiveIcon"
|
|
||||||
>
|
|
||||||
</van-radio>
|
|
||||||
<van-radio :name="2">
|
|
||||||
停用
|
|
||||||
<img
|
|
||||||
slot="icon"
|
|
||||||
slot-scope="props"
|
|
||||||
:src="props.checked ? activeIcon : inactiveIcon"
|
|
||||||
>
|
|
||||||
</van-radio>
|
|
||||||
</van-radio-group>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="itemContent">
|
|
||||||
<div class="titleType">
|
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
|
||||||
<span>救援职业责任险</span>
|
|
||||||
</div>
|
|
||||||
<div class="isJoin">
|
|
||||||
<van-radio-group v-model="hasLiabilityInsurance" @change="isChange" class="joinWrap">
|
|
||||||
<van-radio :name="1" style="margin-right: 26px">
|
|
||||||
有
|
|
||||||
<img
|
|
||||||
slot="icon"
|
|
||||||
slot-scope="props"
|
|
||||||
:src="props.checked ? activeIcon : inactiveIcon"
|
|
||||||
>
|
|
||||||
</van-radio>
|
|
||||||
<van-radio :name="0">
|
|
||||||
无
|
|
||||||
<img
|
|
||||||
slot="icon"
|
|
||||||
slot-scope="props"
|
|
||||||
:src="props.checked ? activeIcon : inactiveIcon"
|
|
||||||
>
|
|
||||||
</van-radio>
|
|
||||||
</van-radio-group>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="lineBot"></div>
|
<div class="lineBot"></div>
|
||||||
<template v-if="hasLiabilityInsurance == 1">
|
|
||||||
<div class="itemContent">
|
|
||||||
<div class="titleType">
|
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
|
||||||
<span>保单</span>
|
|
||||||
</div>
|
|
||||||
<van-uploader
|
|
||||||
v-model="insurancePictureFiles"
|
|
||||||
:after-read="insurancePictureFilesHandler"
|
|
||||||
max-count="1"
|
|
||||||
:preview-size="54"
|
|
||||||
accept="image "
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="lineBot"></div>
|
|
||||||
<div class="itemContent">
|
|
||||||
<div class="titleType">
|
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
|
||||||
<span>承保保司</span>
|
|
||||||
</div>
|
|
||||||
<el-select
|
|
||||||
v-model="insuranceCorp"
|
|
||||||
value-key="name"
|
|
||||||
class="elSelect"
|
|
||||||
collapse-tags="collapse-tags"
|
|
||||||
placeholder="请选择" style="width: 55%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in insuranceOptions"
|
|
||||||
:key="item.name"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.value"
|
|
||||||
>
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
<div class="lineBot"></div>
|
|
||||||
<div class="itemContent">
|
|
||||||
<div class="titleType">
|
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
|
||||||
<span>保险有效期</span>
|
|
||||||
</div>
|
|
||||||
<el-input style="width: 55%" readonly @focus="showDatePicker = true" v-model="dateVal" placeholder="请选择发布日期" :class="{'customSel':true,'customInput':true , 'has-value': dateVal }" >
|
|
||||||
<template #suffix>
|
|
||||||
<i
|
|
||||||
v-if="dateVal"
|
|
||||||
class="el-icon-circle-close el-input__icon"
|
|
||||||
@click="dateVal = ''"
|
|
||||||
></i>
|
|
||||||
</template>
|
|
||||||
</el-input>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="itemContent">
|
<div class="itemContent">
|
||||||
<div class="titleType">
|
<div class="titleType">
|
||||||
<img class="startImg" src="@/assets/start.png" />
|
<img class="startImg" src="@/assets/start.png" />
|
||||||
@ -301,17 +168,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="serviceType">
|
<div class="serviceType">
|
||||||
<el-tree
|
|
||||||
show-checkbox
|
<div class="trailerService" v-for="(item,index) in supplierServiceList" :key="index">
|
||||||
node-key="id"
|
|
||||||
ref="tree"
|
|
||||||
:highlight-current="true"
|
|
||||||
:expand-on-click-node="false"
|
|
||||||
:class="{ 'disabled-tree': vehicleInfoDisabled }"
|
|
||||||
:data="supplierServiceList"
|
|
||||||
:props="defaultProps">
|
|
||||||
</el-tree>
|
|
||||||
<!--<div class="trailerService" v-for="(item,index) in supplierServiceList" :key="index">
|
|
||||||
<div class="serviceline" @click="loadAll(index)">
|
<div class="serviceline" @click="loadAll(index)">
|
||||||
<img :ref="'serviceline' + index" :src="imageUrl" style="width: 20px;height: 15px" >
|
<img :ref="'serviceline' + index" :src="imageUrl" style="width: 20px;height: 15px" >
|
||||||
<span class="service">{{ item.name }}:</span>
|
<span class="service">{{ item.name }}:</span>
|
||||||
@ -322,19 +180,16 @@
|
|||||||
<van-checkbox class="item" :name="item2.id">{{item2.name }}</van-checkbox>
|
<van-checkbox class="item" :name="item2.id">{{item2.name }}</van-checkbox>
|
||||||
</van-checkbox-group>
|
</van-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
</div>-->
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<two-common-btn class="btn" @cancelClick="h5GoBack" @submitClick="submitBtn" />
|
<two-common-btn class="btn" @cancelClick="h5GoBack" @submitClick="submitBtn" />
|
||||||
<van-calendar v-model="showDatePicker" :min-date="minDate"
|
|
||||||
:max-date="maxDate" type="range" @confirm="onConfirm" />
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// uploadImage
|
// uploadImage
|
||||||
import {Dialog} from "vant";
|
|
||||||
import {formatDate1} from "@/utils/common"
|
|
||||||
import {myMixins} from "@/utils/myMixins"
|
import {myMixins} from "@/utils/myMixins"
|
||||||
import {vehicleTypeList,saveVehicle,getInfoById,supplierServiceTree, uploadImage, ocrHandler} from "@/api/mine"
|
import {vehicleTypeList,saveVehicle,getInfoById,supplierServiceTree, uploadImage, ocrHandler} from "@/api/mine"
|
||||||
import TwoCommonBtn from "@/components/twoBtnCommon.vue"
|
import TwoCommonBtn from "@/components/twoBtnCommon.vue"
|
||||||
@ -344,20 +199,8 @@ export default {
|
|||||||
mixins:[myMixins],
|
mixins:[myMixins],
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
defaultProps: {
|
|
||||||
children: 'children',
|
|
||||||
label: 'name'
|
|
||||||
},
|
|
||||||
minDate: new Date(1970, 0, 1), // 设置最小可选日期(1970年1月1日)
|
|
||||||
maxDate: new Date(2099, 11, 31), // 设置最大可选日期(2099年12月31日)
|
|
||||||
checkList: [],
|
|
||||||
virtualVehicle: '',
|
|
||||||
vehicleStatus: '',
|
|
||||||
showDatePicker: false,
|
|
||||||
dateVal: '',
|
|
||||||
trailerService: '',//拖车服务
|
trailerService: '',//拖车服务
|
||||||
isJoin:'',//是否参与
|
isJoin:'',//是否参与
|
||||||
hasLiabilityInsurance: '', // 有无责任险
|
|
||||||
activeIcon: require('@/assets/check.png'),
|
activeIcon: require('@/assets/check.png'),
|
||||||
inactiveIcon: require('@/assets/uncheck.png'),
|
inactiveIcon: require('@/assets/uncheck.png'),
|
||||||
// result: [],
|
// result: [],
|
||||||
@ -375,19 +218,15 @@ export default {
|
|||||||
vehicleLicenseBackList: [],
|
vehicleLicenseBackList: [],
|
||||||
vehicleLicenseCarPhotoList: [],
|
vehicleLicenseCarPhotoList: [],
|
||||||
vehicleFrontPhotoList: [],
|
vehicleFrontPhotoList: [],
|
||||||
insurancePictureFiles: [],
|
|
||||||
vehicleLicenseFront: '', // 行驶证首页
|
vehicleLicenseFront: '', // 行驶证首页
|
||||||
vehicleLicenseBack: '', // 行驶证副页
|
vehicleLicenseBack: '', // 行驶证副页
|
||||||
vehicleLicenseCarPhoto: '', // 行驶证车辆照片
|
vehicleLicenseCarPhoto: '', // 行驶证车辆照片
|
||||||
vehicleFrontPhoto: '', // 车头照
|
vehicleFrontPhoto: '', // 车头照
|
||||||
insurancePicturePhoto: '', // 保单照片
|
|
||||||
vehicleLicenseInfo: {},
|
vehicleLicenseInfo: {},
|
||||||
vehicleLicenseBackOcrFlag: false, // 行驶证副页 修改时默认不需要 ocr识别
|
vehicleLicenseBackOcrFlag: false, // 行驶证副页 修改时默认不需要 ocr识别
|
||||||
isMultiple: false, // 是否支持多选
|
isMultiple: false, // 是否支持多选
|
||||||
vehicleLicense:'',//牌照
|
vehicleLicense:'',//牌照
|
||||||
vehicleFrontLicensePlate:'',//车头照车牌号码
|
vehicleFrontLicensePlate:'',//车头照车牌号码
|
||||||
insuranceCorp: '',
|
|
||||||
auditStatus: '',
|
|
||||||
vehicleTypes:[{
|
vehicleTypes:[{
|
||||||
name: '小修车',
|
name: '小修车',
|
||||||
value: 1
|
value: 1
|
||||||
@ -405,7 +244,7 @@ export default {
|
|||||||
name:'牵引车',
|
name:'牵引车',
|
||||||
value: 5 },
|
value: 5 },
|
||||||
{
|
{
|
||||||
name:'随车吊平板车',
|
name:'大力神',
|
||||||
value:6},
|
value:6},
|
||||||
{
|
{
|
||||||
name:'充电车',
|
name:'充电车',
|
||||||
@ -436,70 +275,9 @@ export default {
|
|||||||
}, {
|
}, {
|
||||||
name: '其他',
|
name: '其他',
|
||||||
value: 5
|
value: 5
|
||||||
}],
|
|
||||||
virtualVehicleOptions: [{
|
|
||||||
name: '自有车辆',
|
|
||||||
value: 1
|
|
||||||
}, {
|
|
||||||
name: '挂靠车辆',
|
|
||||||
value: 2
|
|
||||||
}, {
|
|
||||||
name: '虚拟车辆',
|
|
||||||
value: 3
|
|
||||||
}, {
|
|
||||||
name: '借入车辆',
|
|
||||||
value: 4
|
|
||||||
}],
|
|
||||||
insuranceOptions: [{
|
|
||||||
name: '太平洋',
|
|
||||||
value: 1
|
|
||||||
}, {
|
|
||||||
name: '人保',
|
|
||||||
value: 2
|
|
||||||
}, {
|
|
||||||
name: '平安',
|
|
||||||
value: 3
|
|
||||||
}, {
|
|
||||||
name: '中华联合',
|
|
||||||
value: 4
|
|
||||||
}, {
|
|
||||||
name: '大地',
|
|
||||||
value: 5
|
|
||||||
}, {
|
|
||||||
name: '阳光',
|
|
||||||
value: 6
|
|
||||||
}, {
|
|
||||||
name: '太平',
|
|
||||||
value: 7
|
|
||||||
}, {
|
|
||||||
name: '人寿',
|
|
||||||
value: 8
|
|
||||||
}, {
|
|
||||||
name: '永安',
|
|
||||||
value: 9
|
|
||||||
}, {
|
|
||||||
name: '华安',
|
|
||||||
value: 10
|
|
||||||
}, {
|
|
||||||
name: '申能',
|
|
||||||
value: 11
|
|
||||||
}, {
|
|
||||||
name: '大家',
|
|
||||||
value: 12
|
|
||||||
}, {
|
|
||||||
name: '富德',
|
|
||||||
value: 13
|
|
||||||
}, {
|
|
||||||
name: '其他',
|
|
||||||
value: 14
|
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
|
||||||
vehicleInfoDisabled() {
|
|
||||||
return [1,2].includes(this.auditStatus)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
watch:{
|
watch:{
|
||||||
selectedOption(newVal){
|
selectedOption(newVal){
|
||||||
if(newVal == 4){
|
if(newVal == 4){
|
||||||
@ -519,7 +297,7 @@ export default {
|
|||||||
this.vehicleTypes[8].disabled=false
|
this.vehicleTypes[8].disabled=false
|
||||||
this.vehicleTypes[9].disabled=false
|
this.vehicleTypes[9].disabled=false
|
||||||
}
|
}
|
||||||
if (newVal == 1 || newVal == 7 || newVal == 9){
|
if (newVal == 1 || newVal == 7){
|
||||||
let arr = []
|
let arr = []
|
||||||
this.supplierServiceList.forEach((item)=>{
|
this.supplierServiceList.forEach((item)=>{
|
||||||
if(!(item.name == '拖车服务' || item.name == '大型车救援')){
|
if(!(item.name == '拖车服务' || item.name == '大型车救援')){
|
||||||
@ -543,25 +321,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
formatDate(date) {
|
|
||||||
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
|
|
||||||
},
|
|
||||||
onConfirm(date) {
|
|
||||||
const [start, end] = date;
|
|
||||||
this.showDatePicker = false;
|
|
||||||
this.dateVal = `${this.formatDate(start)} - ${this.formatDate(end)}`;
|
|
||||||
},
|
|
||||||
formatDateTimeRange(str) {
|
|
||||||
const [startStr, endStr] = str.split(' - ').map(s => s.trim());
|
|
||||||
const startDate = new Date(startStr);
|
|
||||||
const startTime = `${startDate.getFullYear()}-${(startDate.getMonth() + 1).toString().padStart(2, '0')}-${startDate.getDate().toString().padStart(2, '0')} 00:00:00`;
|
|
||||||
const endDate = new Date(endStr);
|
|
||||||
const endTime = `${endDate.getFullYear()}-${(endDate.getMonth() + 1).toString().padStart(2, '0')}-${endDate.getDate().toString().padStart(2, '0')} 23:59:59`;
|
|
||||||
return {
|
|
||||||
startTime,
|
|
||||||
endTime
|
|
||||||
};
|
|
||||||
},
|
|
||||||
setDefault() {
|
setDefault() {
|
||||||
if( this.vehicleLicenseInfo?.vehicleType?.includes('小型') || this.vehicleLicenseInfo?.vehicleType?.includes('微型') || this.vehicleLicenseInfo?.vehicleType?.includes('普通') || this.vehicleLicenseInfo?.vehicleType?.includes('摩托') ) {
|
if( this.vehicleLicenseInfo?.vehicleType?.includes('小型') || this.vehicleLicenseInfo?.vehicleType?.includes('微型') || this.vehicleLicenseInfo?.vehicleType?.includes('普通') || this.vehicleLicenseInfo?.vehicleType?.includes('摩托') ) {
|
||||||
this.vehicleTypes.map(item => {
|
this.vehicleTypes.map(item => {
|
||||||
@ -620,12 +379,6 @@ export default {
|
|||||||
this.vehicleFrontPhoto = res.data;
|
this.vehicleFrontPhoto = res.data;
|
||||||
await this.ocrCarFrontHandler()
|
await this.ocrCarFrontHandler()
|
||||||
},
|
},
|
||||||
async insurancePictureFilesHandler(file) {
|
|
||||||
const formData = new FormData();
|
|
||||||
formData.append("file" , file.file);
|
|
||||||
let res = await uploadImage(formData);
|
|
||||||
this.insurancePicturePhoto = res.data;
|
|
||||||
},
|
|
||||||
async ocrCarFrontHandler() { // 车辆正面 orc 识别
|
async ocrCarFrontHandler() { // 车辆正面 orc 识别
|
||||||
let res = await ocrHandler({
|
let res = await ocrHandler({
|
||||||
ocrType: 10,
|
ocrType: 10,
|
||||||
@ -740,23 +493,14 @@ export default {
|
|||||||
this.selectedOption=result.vehicleType?.split(',').map((item)=>{
|
this.selectedOption=result.vehicleType?.split(',').map((item)=>{
|
||||||
return Number(item);
|
return Number(item);
|
||||||
});
|
});
|
||||||
this.auditStatus = result.auditStatus;
|
this.serviceIds=result.serviceIds
|
||||||
this.virtualVehicle = result.virtualVehicle;
|
|
||||||
this.$refs.tree.setCheckedKeys(result.serviceIds)
|
|
||||||
this.vehicleStatus = result.vehicleStatus
|
|
||||||
this.vehicleLicenseFront = result.vehicleLicenseFront;
|
this.vehicleLicenseFront = result.vehicleLicenseFront;
|
||||||
this.vehicleLicenseBack = result.vehicleLicenseBack;
|
this.vehicleLicenseBack = result.vehicleLicenseBack;
|
||||||
this.vehicleFrontPhoto = result.vehicleFrontPhoto;
|
this.vehicleFrontPhoto = result.vehicleFrontPhoto;
|
||||||
this.insurancePicturePhoto = result.insurancePicturePhoto;
|
|
||||||
this.vehicleLicenseInfo = result.vehicleLicenseInfo;
|
this.vehicleLicenseInfo = result.vehicleLicenseInfo;
|
||||||
this.vehicleLicenseCarPhoto = result.vehicleLicenseCarPhoto;
|
this.vehicleLicenseCarPhoto = result.vehicleLicenseCarPhoto;
|
||||||
this.vehicleLicense = result.vehicleLicense;
|
this.vehicleLicense = result.vehicleLicense;
|
||||||
this.vehicleFrontLicensePlate = result.vehicleFrontLicensePlate;
|
this.vehicleFrontLicensePlate = result.vehicleFrontLicensePlate;
|
||||||
this.hasLiabilityInsurance = result.hasLiabilityInsurance
|
|
||||||
this.insuranceCorp = result.insuranceCorp;
|
|
||||||
if(this.insurancePicturePhoto) {
|
|
||||||
this.insurancePictureFiles = [{url: this.insurancePicturePhoto}]
|
|
||||||
}
|
|
||||||
if( this.vehicleLicenseFront ) {
|
if( this.vehicleLicenseFront ) {
|
||||||
this.vehicleLicenseFrontList = [{ url : this.vehicleLicenseFront }];
|
this.vehicleLicenseFrontList = [{ url : this.vehicleLicenseFront }];
|
||||||
}
|
}
|
||||||
@ -769,28 +513,9 @@ export default {
|
|||||||
if(this.vehicleLicenseCarPhoto) {
|
if(this.vehicleLicenseCarPhoto) {
|
||||||
this.vehicleLicenseCarPhotoList = [{ url : this.vehicleLicenseCarPhoto }];
|
this.vehicleLicenseCarPhotoList = [{ url : this.vehicleLicenseCarPhoto }];
|
||||||
}
|
}
|
||||||
if(this.vehicleLicenseCarPhoto) {
|
|
||||||
this.vehicleLicenseCarPhotoList = [{ url : this.vehicleLicenseCarPhoto }];
|
|
||||||
}
|
|
||||||
if( result.liabilityInsuranceEndTime && result.liabilityInsuranceStartTime ) {
|
|
||||||
this.dateVal = formatDate1(result.liabilityInsuranceStartTime) + ' - ' + formatDate1(result.liabilityInsuranceEndTime)
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
isChange(e){
|
isChange(e){
|
||||||
this.hasLiabilityInsurance=e
|
this.isJoin=e
|
||||||
if (e === 0) {
|
|
||||||
Dialog.confirm({
|
|
||||||
title: '提醒',
|
|
||||||
message: '有救援职业责任险车辆会提升案件聚合能力和接单能力。',
|
|
||||||
confirmButtonText: '我已知晓', // 确认按钮文字,默认为“确认”
|
|
||||||
showCancelButton: false // 是否显示取消按钮,默认为 true。如果不需要取消按钮,可以设置为 false。
|
|
||||||
})
|
|
||||||
.then(() => { /* 确认后的操作 */ })
|
|
||||||
.catch(() => { /* 取消后的操作 */ });
|
|
||||||
}
|
|
||||||
},
|
|
||||||
isVehicleChange(e) {
|
|
||||||
this.vehicleStatus=e
|
|
||||||
},
|
},
|
||||||
async submitBtn(){
|
async submitBtn(){
|
||||||
if( !this.vehicleLicenseFront ) {
|
if( !this.vehicleLicenseFront ) {
|
||||||
@ -818,47 +543,18 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(!(this.selectedOption.length > 0)){
|
if(!(this.selectedOption.length > 0)){
|
||||||
this.$toast('车辆类别不能为空')
|
this.$toast('车辆类型不能为空')
|
||||||
return
|
|
||||||
}
|
|
||||||
if( !this.virtualVehicle ) {
|
|
||||||
this.$toast('车辆属性不能为空')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if( !this.vehicleStatus ) {
|
|
||||||
this.$toast('车辆状态不能为空')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if(this.hasLiabilityInsurance === null || this.hasLiabilityInsurance === undefined || this.hasLiabilityInsurance === '') { // 有职业责任险,就需要有保单照片
|
|
||||||
this.$toast('救援职业责任险不能为空')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if(!this.insurancePicturePhoto && this.hasLiabilityInsurance == 1) { // 有职业责任险,就需要有保单照片
|
|
||||||
this.$toast('保单照片不能为空')
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(this.selectedOption?.length==1 && this.selectedOption.includes(1)){//选择小修车时需清除原本的拖车服务类型
|
if(this.selectedOption?.length==1 && this.selectedOption.includes(1)){//选择小修车时需清除原本的拖车服务类型
|
||||||
let data=this.oldSupplierServiceList.filter(item => item.name ==='拖车服务')
|
let data=this.oldSupplierServiceList.filter(item => item.name ==='拖车服务')
|
||||||
this.serviceIds = this.serviceIds.filter(item => !data[0].children.some(obj => obj.id === item));
|
this.serviceIds = this.serviceIds.filter(item => !data[0].children.some(obj => obj.id === item));
|
||||||
}
|
}
|
||||||
if(!this.insuranceCorp && this.hasLiabilityInsurance == 1) { // 有职业责任险,就需要有保单照片
|
|
||||||
this.$toast('承保保司不能为空')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if(!this.dateVal && this.hasLiabilityInsurance == 1) { // 有职业责任险,就需要有保单照片
|
|
||||||
this.$toast('保单有效期不能为空')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
let timeObj;
|
|
||||||
if(this.dateVal) {
|
|
||||||
timeObj = this.formatDateTimeRange(this.dateVal)
|
|
||||||
}
|
|
||||||
this.serviceIds = this.$refs.tree.getCheckedKeys(true)
|
|
||||||
await saveVehicle({
|
await saveVehicle({
|
||||||
vehicleId:this.id ? this.id : '',
|
vehicleId:this.id ? this.id : '',
|
||||||
plateNumber:this.carNum ? this.carNum :'',
|
plateNumber:this.carNum ? this.carNum :'',
|
||||||
vehicleType:this.selectedOption?.length>0 ? this.selectedOption.join(',') : '',
|
vehicleType:this.selectedOption?.length>0 ? this.selectedOption.join(',') : '',
|
||||||
// hasPolymerization:this.isJoin,
|
hasPolymerization:this.isJoin,
|
||||||
serviceIds:this.serviceIds ? this.serviceIds : [],
|
serviceIds:this.serviceIds ? this.serviceIds : [],
|
||||||
vehicleLicenseFront: this.vehicleLicenseFront,
|
vehicleLicenseFront: this.vehicleLicenseFront,
|
||||||
vehicleLicenseBack: this.vehicleLicenseBack,
|
vehicleLicenseBack: this.vehicleLicenseBack,
|
||||||
@ -867,12 +563,6 @@ export default {
|
|||||||
vehicleLicenseCarPhoto: this.vehicleLicenseCarPhoto,
|
vehicleLicenseCarPhoto: this.vehicleLicenseCarPhoto,
|
||||||
vehicleLicense: this.vehicleLicense,
|
vehicleLicense: this.vehicleLicense,
|
||||||
vehicleFrontLicensePlate:this.vehicleFrontLicensePlate,
|
vehicleFrontLicensePlate:this.vehicleFrontLicensePlate,
|
||||||
hasLiabilityInsurance: this.hasLiabilityInsurance,
|
|
||||||
insurancePicturePhoto: this.hasLiabilityInsurance == 1 ? this.insurancePicturePhoto : '',
|
|
||||||
insuranceCorp: this.hasLiabilityInsurance == 1 ? this.insuranceCorp : '',
|
|
||||||
liabilityInsuranceStartTime: this.hasLiabilityInsurance == 1 ? (timeObj?.startTime || '' ) : '',
|
|
||||||
liabilityInsuranceEndTime: this.hasLiabilityInsurance == 1 ? (timeObj?.endTime || '') : '',
|
|
||||||
virtualVehicle: this.virtualVehicle,
|
|
||||||
})
|
})
|
||||||
if(this.id){
|
if(this.id){
|
||||||
this.$toast('修改成功')
|
this.$toast('修改成功')
|
||||||
@ -995,8 +685,4 @@ export default {
|
|||||||
border: none !important;
|
border: none !important;
|
||||||
text-align: right !important;
|
text-align: right !important;
|
||||||
}
|
}
|
||||||
.disabled-tree {
|
|
||||||
pointer-events: none;
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -18,57 +18,6 @@
|
|||||||
</template>
|
</template>
|
||||||
</van-nav-bar>
|
</van-nav-bar>
|
||||||
</div>
|
</div>
|
||||||
<van-search
|
|
||||||
v-model="searchVal"
|
|
||||||
show-action
|
|
||||||
placeholder="车辆名称/车牌号/车架号"
|
|
||||||
@search="resetHandler"
|
|
||||||
>
|
|
||||||
<template #action>
|
|
||||||
<div @click="resetHandler">搜索</div>
|
|
||||||
</template>
|
|
||||||
</van-search>
|
|
||||||
<div class="filterWrap">
|
|
||||||
<!-- <div >-->
|
|
||||||
<!--<el-input v-model="searchVal" @blur="resetHandler" placeholder="车辆名称/车牌号/车架号" :class="{'customSel':true,'customInput':true , 'has-value': searchVal }" >
|
|
||||||
<template #suffix>
|
|
||||||
<i
|
|
||||||
v-if="searchVal"
|
|
||||||
class="el-icon-circle-close el-input__icon"
|
|
||||||
@click="searchVal = ''"
|
|
||||||
></i>
|
|
||||||
</template>
|
|
||||||
</el-input>-->
|
|
||||||
<el-select @change="resetHandler" multiple :collapse-tags="true" v-model="inputStatusList" placeholder="录入状态" :class="{'customSel':true , 'has-value': inputStatusList }" clearable>
|
|
||||||
<el-option
|
|
||||||
v-for="item in inputStatusListOptions"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- <div>-->
|
|
||||||
<el-select @change="resetHandler" multiple :collapse-tags="true" v-model="authStates" placeholder="认证状态" :class="{'customSel':true , 'has-value': authStates }" clearable>
|
|
||||||
<el-option
|
|
||||||
v-for="item in authStatesOptions"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
<el-select @change="resetHandler" multiple :collapse-tags="true" v-model="liabilityInsuranceAuditList" placeholder="职业责任险" :class="{'customSel':true , 'has-value': liabilityInsuranceAuditList }" clearable>
|
|
||||||
<el-option
|
|
||||||
v-for="item in insuresOptions"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
<!-- </div>-->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="wrap_cls">
|
|
||||||
<van-pull-refresh v-model="isLoading" @refresh="onRefresh">
|
<van-pull-refresh v-model="isLoading" @refresh="onRefresh">
|
||||||
<van-list
|
<van-list
|
||||||
v-model="loading"
|
v-model="loading"
|
||||||
@ -76,43 +25,29 @@
|
|||||||
finished-text="没有更多了"
|
finished-text="没有更多了"
|
||||||
@load="onLoad"
|
@load="onLoad"
|
||||||
>
|
>
|
||||||
<div class="carItem" v-for="(item,index) in vehicleList" :key="index" @click="updateVehicle(item)">
|
<div class="carItem" v-for="(item,index) in vehicleList" :key="index">
|
||||||
<div class="carCode">
|
<div class="carCode">
|
||||||
<div class="codeLeft">{{item.plateNumber}} / {{item.vehicleTypeString}}
|
<div class="codeLeft">{{item.plateNumber}} / {{item.vehicleTypeString}}</div>
|
||||||
<span class="ml10" v-if="item.vehicleStatus" :class="{'insuranceSuccess': item.vehicleStatus == 1, 'insuranceDanger': item.vehicleStatus != 1}">{{ item.vehicleStatus == 1 ? '启用' : '停用' }} </span>
|
<div class="twoBtn">
|
||||||
|
<button v-if="permissonList.includes('vehicleAddBtn')" class="del" @click="deleteItem(item.vehicleId)">删除</button>
|
||||||
|
<button v-if="permissonList.includes('vehicleModifyBtn')" class="revise" @click="updateVehicle(item)">修改</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="juhe flex-between">
|
<div class="carType">{{ item.serviceName }}</div>
|
||||||
<span class="zdJuhe">核验认证</span>
|
<div class="juhe">
|
||||||
<span class="flex-right">
|
<span class="zdJuhe">是否参与中道聚合: </span>
|
||||||
<span class="common_cls" v-if="item.inputStatusString" :class="getClass(item.inputStatusString)?.className">{{item.inputStatusString}}</span>
|
<span :class="item.hasPolymerization.code == 0 ? 'isYes' :'isNo'">{{item.hasPolymerization.label}}</span>
|
||||||
<span class="common_cls" v-if="item.authStateString" :class="getClass(item.authStateString)?.className">{{item.authStateString}}</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="juhe flex-between">
|
|
||||||
<span class="zdJuhe">救援责任险</span>
|
|
||||||
<span class="flex-right" v-if="item.rescueInsurance">
|
|
||||||
<span class="common_cls" @click.stop="showTip(item.liabilityInsuranceAuditMsg)" :class="getClass(item.rescueInsurance)?.className">{{item.rescueInsurance}}</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="juhe flex-between">
|
|
||||||
<span class="zdJuhe">最近登录时间</span>
|
|
||||||
<span class="flex-right">{{item.lastLoginTime}}</span>
|
|
||||||
</div>
|
|
||||||
<van-icon class="arrow_position" v-if="permissonList.includes('vehicleModifyBtn')" name="arrow" />
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</van-list>
|
</van-list>
|
||||||
</van-pull-refresh>
|
</van-pull-refresh>
|
||||||
</div>
|
|
||||||
|
|
||||||
<van-dialog v-model="show" title="确定删除吗" show-cancel-button @confirm="handleConfirm"></van-dialog>
|
<van-dialog v-model="show" title="确定删除吗" show-cancel-button @confirm="handleConfirm"></van-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {Dialog} from "vant";
|
|
||||||
import { myMixins} from "@/utils/myMixins";
|
import { myMixins} from "@/utils/myMixins";
|
||||||
import {supplierVehicleList,deleteVehicle,userOperationPermissions} from "@/api/mine"
|
import {supplierVehicleList,deleteVehicle,userOperationPermissions} from "@/api/mine"
|
||||||
export default {
|
export default {
|
||||||
@ -129,106 +64,14 @@ export default {
|
|||||||
isLoading: false,
|
isLoading: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
finished: false,
|
finished: false,
|
||||||
showPopover: false,
|
|
||||||
permissonList:[],
|
permissonList:[],
|
||||||
inputStatusList: [],
|
|
||||||
searchVal: '',
|
|
||||||
authStates: [],
|
|
||||||
liabilityInsuranceAuditList: [],
|
|
||||||
inputStatusListOptions: [{
|
|
||||||
name: '行驶证未录入',
|
|
||||||
value: 0
|
|
||||||
},{
|
|
||||||
name: '行驶证核验通过',
|
|
||||||
value: 1
|
|
||||||
},{
|
|
||||||
name: '行驶证核验不通过',
|
|
||||||
value: 2
|
|
||||||
}],
|
|
||||||
authStatesOptions: [{
|
|
||||||
name: '车头照片未录入',
|
|
||||||
value: 1
|
|
||||||
},{
|
|
||||||
name: '车头照片认证通过',
|
|
||||||
value: 2
|
|
||||||
},{
|
|
||||||
name: '车头照片认证不通过',
|
|
||||||
value: 3
|
|
||||||
}],
|
|
||||||
insuresOptions: [{
|
|
||||||
name: '待审核',
|
|
||||||
value: 1
|
|
||||||
},{
|
|
||||||
name: '有责任险',
|
|
||||||
value: 2
|
|
||||||
},{
|
|
||||||
name: '有货物险',
|
|
||||||
value: 3
|
|
||||||
},{
|
|
||||||
name: '未通过',
|
|
||||||
value: 4
|
|
||||||
},{
|
|
||||||
name: '无',
|
|
||||||
value: 5
|
|
||||||
},{
|
|
||||||
name: '空',
|
|
||||||
value: 6
|
|
||||||
}],
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
// this.getVehicleList();
|
||||||
this.getPermissions();
|
this.getPermissions();
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
showTip(msg) {
|
|
||||||
Dialog.alert({
|
|
||||||
title: '未通过原因',
|
|
||||||
message: msg,
|
|
||||||
}).then(() => {
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getClass(id) {
|
|
||||||
const ids = String(id)
|
|
||||||
const steps = {
|
|
||||||
'待审核': {
|
|
||||||
className: 'main_cls'
|
|
||||||
},
|
|
||||||
'有责任险': {
|
|
||||||
className: 'success_cls'
|
|
||||||
},
|
|
||||||
'有货物险': {
|
|
||||||
className: 'info_cls'
|
|
||||||
},
|
|
||||||
'未通过': {
|
|
||||||
className: 'danger_cls'
|
|
||||||
},
|
|
||||||
'无': {
|
|
||||||
className: 'default_cls'
|
|
||||||
},
|
|
||||||
'空': {
|
|
||||||
className: 'default_cls'
|
|
||||||
},
|
|
||||||
'行驶证未录入': {
|
|
||||||
className: 'default_cls'
|
|
||||||
},
|
|
||||||
'行驶证核验通过': {
|
|
||||||
className: 'success_cls'
|
|
||||||
},
|
|
||||||
'行驶证核验不通过': {
|
|
||||||
className: 'danger_cls'
|
|
||||||
},
|
|
||||||
'车头照未录入': {
|
|
||||||
className: 'default_cls'
|
|
||||||
},
|
|
||||||
'车头照认证通过': {
|
|
||||||
className: 'success_cls'
|
|
||||||
},
|
|
||||||
'车头照认证不通过': {
|
|
||||||
className: 'danger_cls'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return steps[ids] || { className: 'default_cls' }
|
|
||||||
},
|
|
||||||
async onLoad(){
|
async onLoad(){
|
||||||
await this.getVehicleList()
|
await this.getVehicleList()
|
||||||
this.pageNum++;
|
this.pageNum++;
|
||||||
@ -237,12 +80,11 @@ export default {
|
|||||||
// 数据全部加载完成
|
// 数据全部加载完成
|
||||||
if (this.vehicleList.length >= this.total) {
|
if (this.vehicleList.length >= this.total) {
|
||||||
this.finished = true;
|
this.finished = true;
|
||||||
} else {
|
|
||||||
this.finished = false;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async onRefresh() {
|
onRefresh() {
|
||||||
await this.resetHandler()
|
this.pageNum=1
|
||||||
|
// this.getVehicleList()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.$toast('刷新成功');
|
this.$toast('刷新成功');
|
||||||
this.isLoading = false;
|
this.isLoading = false;
|
||||||
@ -251,11 +93,7 @@ export default {
|
|||||||
async getVehicleList(){
|
async getVehicleList(){
|
||||||
let result = await supplierVehicleList({
|
let result = await supplierVehicleList({
|
||||||
pageNum:this.pageNum,
|
pageNum:this.pageNum,
|
||||||
pageSize:this.pageSize,
|
pageSize:this.pageSize
|
||||||
searchVal: this.searchVal,
|
|
||||||
inputStatusList: this.inputStatusList,
|
|
||||||
authStates: this.authStates,
|
|
||||||
liabilityInsuranceAuditList: this.liabilityInsuranceAuditList,
|
|
||||||
})
|
})
|
||||||
this.total=result.total
|
this.total=result.total
|
||||||
if(this.pageNum == 1){// 第一页直接赋值
|
if(this.pageNum == 1){// 第一页直接赋值
|
||||||
@ -283,22 +121,13 @@ export default {
|
|||||||
this.pageNum=1
|
this.pageNum=1
|
||||||
await this.getVehicleList();
|
await this.getVehicleList();
|
||||||
},
|
},
|
||||||
async resetHandler() {
|
|
||||||
this.pageNum=1
|
|
||||||
this.finished = false;
|
|
||||||
this.total = 0;
|
|
||||||
// this.vehicleList = [];
|
|
||||||
await this.getVehicleList();
|
|
||||||
},
|
|
||||||
updateVehicle(item){//修改
|
updateVehicle(item){//修改
|
||||||
if( this.permissonList.includes('vehicleModifyBtn') ) {
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name:'vehicleAdd',
|
name:'vehicleAdd',
|
||||||
params:{
|
params:{
|
||||||
id:item.vehicleId
|
id:item.vehicleId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -308,41 +137,12 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@import "@/styles/mixin.scss";
|
@import "@/styles/mixin.scss";
|
||||||
@import "@/styles/common.scss";
|
@import "@/styles/common.scss";
|
||||||
.ml10 {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
.wrap{
|
.wrap{
|
||||||
background: #F4F5F7;
|
background: #F4F5F7;
|
||||||
|
@include sizingPadding(13px,13px);
|
||||||
@include wh(100%, 100%);
|
@include wh(100%, 100%);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.wrap_cls {
|
|
||||||
width: 100%;
|
|
||||||
padding-left: 13px;
|
|
||||||
padding-right: 13px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.common_cls {
|
|
||||||
color: #fff;
|
|
||||||
padding: 4px 8px;
|
|
||||||
border-radius: 3px;
|
|
||||||
margin-right: 6px;
|
|
||||||
}
|
|
||||||
.default_cls {
|
|
||||||
background-color: #B0BEC5;
|
|
||||||
}
|
|
||||||
.danger_cls {
|
|
||||||
background-color: red;
|
|
||||||
}
|
|
||||||
.success_cls {
|
|
||||||
background-color: #4CAF50;
|
|
||||||
}
|
|
||||||
.info_cls {
|
|
||||||
background-color: #FF9800;
|
|
||||||
}
|
|
||||||
.main_cls {
|
|
||||||
background-color: #6C9BFF;
|
|
||||||
}
|
|
||||||
.navBar{
|
.navBar{
|
||||||
margin-bottom: 46px;
|
margin-bottom: 46px;
|
||||||
.rightWrap{
|
.rightWrap{
|
||||||
@ -361,14 +161,13 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.carItem{
|
.carItem{
|
||||||
@include wh(100%,120px);
|
@include wh(100%,86px);
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
box-shadow: 0px 2px 10px 0px rgba(216,216,216,0.5);
|
box-shadow: 0px 2px 10px 0px rgba(216,216,216,0.5);
|
||||||
@include radiusSizing(6px);
|
@include radiusSizing(6px);
|
||||||
padding: 11px 13px 11px 15px;
|
padding: 11px 13px 11px 15px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
@include flexBetween;
|
@include flexBetween;
|
||||||
position: relative;
|
|
||||||
.carCode{
|
.carCode{
|
||||||
@include flexColBet;
|
@include flexColBet;
|
||||||
.codeLeft{
|
.codeLeft{
|
||||||
@ -376,7 +175,6 @@ export default {
|
|||||||
}
|
}
|
||||||
.twoBtn{
|
.twoBtn{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
|
||||||
button{
|
button{
|
||||||
border: none;
|
border: none;
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
@ -404,11 +202,6 @@ export default {
|
|||||||
opacity: .7;
|
opacity: .7;
|
||||||
@include fontWeightSize(400,12px)
|
@include fontWeightSize(400,12px)
|
||||||
}
|
}
|
||||||
.zdJuhe {
|
|
||||||
width: 80px;
|
|
||||||
text-align: right;
|
|
||||||
margin-left: -10px;
|
|
||||||
}
|
|
||||||
.isYes{
|
.isYes{
|
||||||
color: #09B820;
|
color: #09B820;
|
||||||
@include fontWeightSize(400,12px);
|
@include fontWeightSize(400,12px);
|
||||||
@ -418,122 +211,4 @@ export default {
|
|||||||
@include fontWeightSize(400,12px);
|
@include fontWeightSize(400,12px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.arrow_position {
|
|
||||||
position: absolute;
|
|
||||||
right: 5px;
|
|
||||||
top: 50px;
|
|
||||||
font-size: 20px;
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
.mr10 {
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
.insuranceMain {
|
|
||||||
color: #354D93;
|
|
||||||
}
|
|
||||||
.insuranceSuccess {
|
|
||||||
color: green;
|
|
||||||
}
|
|
||||||
.insuranceTip {
|
|
||||||
color: orange;
|
|
||||||
}
|
|
||||||
.insuranceDanger {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
.flex-between {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.filterWrap {
|
|
||||||
width: 100%;
|
|
||||||
padding-right: 13px;
|
|
||||||
padding-left: 13px;
|
|
||||||
display: flex;
|
|
||||||
overflow-x: auto; /* 允许横向滚动 */
|
|
||||||
white-space: nowrap; /* 防止子元素换行 */
|
|
||||||
padding-bottom: 10px;
|
|
||||||
-webkit-overflow-scrolling: touch; /* 在iOS上平滑滚动 */
|
|
||||||
scrollbar-width: none; /* Firefox */
|
|
||||||
padding-bottom: 10px;
|
|
||||||
/*padding: 10px;*/
|
|
||||||
margin-bottom: 10px;
|
|
||||||
background-color: #fff;
|
|
||||||
box-sizing: border-box;
|
|
||||||
&::-webkit-scrollbar {
|
|
||||||
display: none; /* Chrome/Safari */
|
|
||||||
}
|
|
||||||
.customSel {
|
|
||||||
flex: 0 0 auto; /* 防止子元素被压缩 */
|
|
||||||
width: calc(33% - 5px);
|
|
||||||
/*width: 100%;*/
|
|
||||||
height: 25px;
|
|
||||||
background: #F5F5F5;
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 10px;
|
|
||||||
color: #323233;
|
|
||||||
margin-right: 5px;
|
|
||||||
::v-deep .el-input__inner{
|
|
||||||
padding: 0 2px;
|
|
||||||
height: 25px;
|
|
||||||
font-size: 10px;
|
|
||||||
background: #F5F5F5;
|
|
||||||
border-radius: 4px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
::v-deep .el-input__icon{
|
|
||||||
line-height: 25px;
|
|
||||||
font-size: 10px;
|
|
||||||
width: 18px;
|
|
||||||
color: #2A5094;
|
|
||||||
}
|
|
||||||
::v-deep .el-input__suffix{
|
|
||||||
right: 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.customInput{
|
|
||||||
/*width: 49%;*/
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
.has-value ::v-deep .el-input__inner{
|
|
||||||
background: #F1F6FF ;
|
|
||||||
color: #007BE9;
|
|
||||||
font-weight: bold;
|
|
||||||
padding-left: 8px;
|
|
||||||
}
|
|
||||||
.has-value ::v-deep .el-input__icon{
|
|
||||||
color: #007BE9;
|
|
||||||
}
|
|
||||||
.priceSel{
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
color: #C0C4CC;
|
|
||||||
.iconSpan{
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
font-size: 8px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.has-price{
|
|
||||||
color: #007BE9 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .el-select .el-select__tags>span {
|
|
||||||
display: flex;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.flex-right {
|
|
||||||
display: flex;
|
|
||||||
flex: 1;
|
|
||||||
justify-content: flex-start;
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@ -112,28 +112,38 @@
|
|||||||
<circle-char v-show="showScoreChart" ref="Doughnut7" :data="indexData && indexData.score" :bg-color="Number(indexData?.score || 0) >= 60 ? 'green' : 'red'" :is-store="true"></circle-char>
|
<circle-char v-show="showScoreChart" ref="Doughnut7" :data="indexData && indexData.score" :bg-color="Number(indexData?.score || 0) >= 60 ? 'green' : 'red'" :is-store="true"></circle-char>
|
||||||
<div v-show="!showScoreChart" class="detailScore">
|
<div v-show="!showScoreChart" class="detailScore">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<!-- <div><span class="defen">接单得分:</span></div>-->
|
<div>
|
||||||
<div><span class="defen">接单时效得分:</span></div>
|
<span class="defen">接单得分:</span>
|
||||||
<div><span class="defen">到达时效得分:</span></div>
|
</div>
|
||||||
<div><span class="defen">聚合成功率得分:</span></div>
|
<div>
|
||||||
<div><span class="defen">APP使用率得分:</span></div>
|
<span class="defen">接单时效得分:</span>
|
||||||
<div><span class="defen">催促率得分:</span></div>
|
</div>
|
||||||
<div><span class="defen">投诉率得分:</span></div>
|
<div>
|
||||||
<div><span class="defen">超时率得分:</span></div>
|
<span class="defen">接单时效得分:</span>
|
||||||
<div><span class="defen">拒单率得分:</span></div>
|
</div>
|
||||||
<div><span class="defen">3'联系率得分:</span></div>
|
<div><span class="defen">聚合成功率得分:</span>
|
||||||
|
</div>
|
||||||
|
<div><span class="defen">APP使用率得分:</span>
|
||||||
|
</div>
|
||||||
|
<div><span class="defen">催促率得分:</span>
|
||||||
|
</div>
|
||||||
|
<div><span class="defen">投诉率得分:</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<!-- <div><span>{{ indexData.orderScore }}</span></div>-->
|
<div>
|
||||||
<div><span>{{ indexData.orderAgeingScore }}</span></div>
|
<span>{{ indexData.orderScore }}</span>
|
||||||
<div><span>{{ indexData.arriveAgeingScore }}</span></div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>{{ indexData.orderAgeingScore }}</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>{{ indexData.arriveAgeingScore }}</span>
|
||||||
|
</div>
|
||||||
<div> <span>{{ indexData.polymerizationSuccessScore }}</span></div>
|
<div> <span>{{ indexData.polymerizationSuccessScore }}</span></div>
|
||||||
<div> <span>{{ indexData.appUseScore }}</span></div>
|
<div> <span>{{ indexData.appUseScore }}</span></div>
|
||||||
<div> <span>{{ indexData.urgeScore }}</span></div>
|
<div> <span>{{ indexData.urgeScore }}</span></div>
|
||||||
<div><span>{{ indexData.urgeScore }}</span></div>
|
<div><span>{{ indexData.urgeScore }}</span></div>
|
||||||
<div> <span>{{ indexData.timeOutScore }}</span></div>
|
|
||||||
<div> <span>{{ indexData.refuseOrderScore }}</span></div>
|
|
||||||
<div><span>{{ indexData.threeMinutesContactSocre }}</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -190,8 +200,8 @@
|
|||||||
<noFit-table v-else :active='active' :is-mobile='isMobile' :table-data="detailList" :label-list="labelList"></noFit-table>
|
<noFit-table v-else :active='active' :is-mobile='isMobile' :table-data="detailList" :label-list="labelList"></noFit-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-loading="loadingData" class="contentWrap monthTotal" v-if="[2,3,4].includes(active)">
|
<div v-loading="loadingData" class="contentWrap monthTotal" v-if="[2,4,5].includes(active)">
|
||||||
<div class="searchDriverName" v-if="[3,4].includes(active)">
|
<div class="searchDriverName" v-if="[5,4].includes(active)">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="driverName"
|
v-model="driverName"
|
||||||
filterable
|
filterable
|
||||||
@ -213,12 +223,12 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div :class="{'tabWrap':true,'webTabWrap':!isMobile,'mobileTab':isMobile}">
|
<div :class="{'tabWrap':true,'webTabWrap':!isMobile,'mobileTab':isMobile}">
|
||||||
<div v-for="(item,index) in (active===3 ? driverList : list)" :class="activeIndex===index ? 'active' : ''"
|
<div v-for="(item,index) in (active===4 ? driverList : list)" :class="activeIndex===index ? 'active' : ''"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="changeTab(index)">{{ item.name }}
|
@click="changeTab(index)">{{ item.name }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div :class="{'comTab':active !== 3,'comTabActive3':active === 3}">
|
<div :class="{'comTab':active !== 4,'comTabActive3':active === 4}">
|
||||||
<noFit-table :active='active' :is-mobile='isMobile' :table-data="detailList" :label-list="labelList"></noFit-table>
|
<noFit-table :active='active' :is-mobile='isMobile' :table-data="detailList" :label-list="labelList"></noFit-table>
|
||||||
</div>
|
</div>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@ -233,7 +243,7 @@
|
|||||||
:total="total">
|
:total="total">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</div>
|
</div>
|
||||||
<div v-loading="loadingData" class="contentWrap monthTotal" v-if="[5,6,7,8,9,10, 11].includes(active)">
|
<div v-loading="loadingData" class="contentWrap monthTotal" v-if="[3,6,7,8,9,10, 11].includes(active)">
|
||||||
<div :class="{'comTab':true,'detailTable':isMobile}">
|
<div :class="{'comTab':true,'detailTable':isMobile}">
|
||||||
<noFit-table :active='active' :is-mobile='isMobile' :table-data="detailList" :label-list="labelList"
|
<noFit-table :active='active' :is-mobile='isMobile' :table-data="detailList" :label-list="labelList"
|
||||||
></noFit-table>
|
></noFit-table>
|
||||||
@ -262,9 +272,8 @@ import {
|
|||||||
getStatisticsKpi,
|
getStatisticsKpi,
|
||||||
getSupplierId,
|
getSupplierId,
|
||||||
getDriverName,getDriverStatisticsKpi,
|
getDriverName,getDriverStatisticsKpi,
|
||||||
getRecentSupplierKpi,
|
getRecentSupplierKpi, querySupplierDriverStatisticsScore
|
||||||
} from "@/api/kpi.js"
|
} from "@/api/kpi.js"
|
||||||
// querySupplierDriverStatisticsScore
|
|
||||||
import {myMixins} from "@/utils/myMixins"
|
import {myMixins} from "@/utils/myMixins"
|
||||||
import CircleChar from "@/views/kpi/components/circleChar.vue";
|
import CircleChar from "@/views/kpi/components/circleChar.vue";
|
||||||
import NoFitTable from "@/views/kpi/components/noFit-table.vue";
|
import NoFitTable from "@/views/kpi/components/noFit-table.vue";
|
||||||
@ -280,13 +289,11 @@ export default {
|
|||||||
activeIndex: 0,
|
activeIndex: 0,
|
||||||
//
|
//
|
||||||
tabArr: [
|
tabArr: [
|
||||||
{name: '总览',value:0}, {name: '月/总'}, {name: '日/总'},{name: '月/师傅'}, {name: '日/师傅'}, {name: '拒单明细'},
|
{name: '总览'}, {name: '月/总'}, {name: '日/总'},{name: '师傅满意度'},{name: '月/师傅'}, {name: '日/师傅'}, {name: '拒单明细'},
|
||||||
{name: '超时明细'}, {name: '催促明细'},{name: '投诉明细'}, {name: '不使用APP案件明细'}, {name: '车辆在线情况'} , {name: '聚合失败案件明细'}
|
{name: '超时明细'}, {name: '投诉明细'}, {name: '不使用APP案件明细'}, {name: '车辆在线情况'} , {name: '聚合失败案件明细'}
|
||||||
],
|
],
|
||||||
list: [{name: '接单指标'}, {name: '服务评价'}, {name: 'APP使用情况'}, {name: ' 时效 '}],
|
list: [{name: '接单指标'}, {name: '客户评价'}, {name: 'APP使用'}, {name: ' 时效 '}],
|
||||||
// driverList: [{name: '得分总览'},{name: '接单情况'}, {name: '服务评价'}, {name: 'APP使用情况'}, {name: '时效 '}],
|
driverList: [{name: '得分总览'},{name: '接单情况'}, {name: '服务评价'}, {name: 'APP使用情况'}, {name: '时效 '}],
|
||||||
driverList: [{name: '接单情况'}, {name: '服务评价'}, {name: 'APP使用情况'}, {name: '时效 '}],//story#7149,要求暂时隐藏得分总览
|
|
||||||
|
|
||||||
startMonthTime: '',
|
startMonthTime: '',
|
||||||
startTime: '',
|
startTime: '',
|
||||||
endTime: '',
|
endTime: '',
|
||||||
@ -309,6 +316,7 @@ export default {
|
|||||||
isMobile: false,
|
isMobile: false,
|
||||||
isZd: '',
|
isZd: '',
|
||||||
current:'2024-10',
|
current:'2024-10',
|
||||||
|
// current: dayjs(new Date()).format('M'),
|
||||||
supplierName:'',
|
supplierName:'',
|
||||||
value: '1',
|
value: '1',
|
||||||
options: [
|
options: [
|
||||||
@ -362,13 +370,21 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
monthChangeHandle(value){
|
monthChangeHandle(value){
|
||||||
|
console.log('valuevaluevalue', dayjs(new Date(value)).format('YYYY-MM-DD'))
|
||||||
if (value) {
|
if (value) {
|
||||||
this.current = dayjs(new Date(value)).format('YYYY-MM')
|
this.current = dayjs(new Date(value)).format('YYYY-MM')
|
||||||
const _tempDate = dayjs(new Date(value)).format('YYYY-MM-DD')
|
const _tempDate = dayjs(new Date(value)).format('YYYY-MM-DD')
|
||||||
const lastDay = dayjs(_tempDate).endOf('month');
|
const lastDay = dayjs(_tempDate).endOf('month');
|
||||||
|
|
||||||
|
/*const year = value.getFullYear();
|
||||||
|
const month = value.getMonth() + 1; // 月份从 0 开始,需要加 1
|
||||||
|
const yearAndMonth = year + '-' + (month > 9 ? month : '0' + month);
|
||||||
|
this.current = dayjs(new Date(yearAndMonth)).format('YYYY-MM')*/
|
||||||
this.startTime = `${this.current}-01 00:00:00`;
|
this.startTime = `${this.current}-01 00:00:00`;
|
||||||
|
// const lastDay = new Date(year, month, 0).getDate(); // 获取该月的最后一天
|
||||||
this.endTime = `${this.current}-${this.padZero(lastDay.date())} 23:59:59`;
|
this.endTime = `${this.current}-${this.padZero(lastDay.date())} 23:59:59`;
|
||||||
this.startMonthTime=this.getStartTimeFromEndTime(this.endTime)
|
this.startMonthTime=this.getStartTimeFromEndTime(this.endTime)
|
||||||
|
console.log(" this.startMonthTime", this.startMonthTime)
|
||||||
this.selectSupplierNameHandle();
|
this.selectSupplierNameHandle();
|
||||||
if(this.active===1){
|
if(this.active===1){
|
||||||
this.tabClickHandle()
|
this.tabClickHandle()
|
||||||
@ -384,7 +400,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.$refs.Doughnut1.initCircle()
|
this.$refs.Doughnut1.initCircle()
|
||||||
// this.$refs.Doughnut2.initCircle()
|
this.$refs.Doughnut2.initCircle()
|
||||||
this.$refs.Doughnut3.initCircle()
|
this.$refs.Doughnut3.initCircle()
|
||||||
this.$refs.Doughnut4.initCircle()
|
this.$refs.Doughnut4.initCircle()
|
||||||
this.$refs.Doughnut5.initCircle()
|
this.$refs.Doughnut5.initCircle()
|
||||||
@ -969,7 +985,7 @@ export default {
|
|||||||
async getKpiData() {
|
async getKpiData() {
|
||||||
try {
|
try {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
if (this.active === 0) {//总览
|
if (this.active === 0) {
|
||||||
await this.allDataChart()
|
await this.allDataChart()
|
||||||
let res = await getStatisticsKpiByMonth({
|
let res = await getStatisticsKpiByMonth({
|
||||||
startTime: this.startTime,
|
startTime: this.startTime,
|
||||||
@ -1000,7 +1016,7 @@ export default {
|
|||||||
this.indexData[key] = this.processPercentage(this.indexData[key]);
|
this.indexData[key] = this.processPercentage(this.indexData[key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ([1, 2].includes(this.active)) {//月总 日总
|
} else if ([1, 2].includes(this.active)) {
|
||||||
let res = await getStatisticsKpi({
|
let res = await getStatisticsKpi({
|
||||||
startTime: this.active === 1 ? this.startMonthTime : this.startTime,
|
startTime: this.active === 1 ? this.startMonthTime : this.startTime,
|
||||||
endTime: this.endTime,
|
endTime: this.endTime,
|
||||||
@ -1031,6 +1047,8 @@ export default {
|
|||||||
item.minorFortyMinutesArrivalRate=this.formatPercentage(item.minorFortyMinutesArrivalRate) ;
|
item.minorFortyMinutesArrivalRate=this.formatPercentage(item.minorFortyMinutesArrivalRate) ;
|
||||||
let formatVal = dayjs(item.statisticsDate).format('DD');
|
let formatVal = dayjs(item.statisticsDate).format('DD');
|
||||||
let formatVal1 = dayjs(item.statisticsDate).format('M');
|
let formatVal1 = dayjs(item.statisticsDate).format('M');
|
||||||
|
// console.log("formatVal1",formatVal1)
|
||||||
|
// return {...item, date: formatVal, month: (formatVal1 == this.current) ? '本月' : (formatVal1 + '月')};
|
||||||
return {...item, date: formatVal, month: formatVal1 + '月'};
|
return {...item, date: formatVal, month: formatVal1 + '月'};
|
||||||
});
|
});
|
||||||
this.loading = false
|
this.loading = false
|
||||||
@ -1038,8 +1056,33 @@ export default {
|
|||||||
this.xAxisArr.push(item.month)
|
this.xAxisArr.push(item.month)
|
||||||
this.xAxisArr = [...new Set(this.xAxisArr)]; // 去重
|
this.xAxisArr = [...new Set(this.xAxisArr)]; // 去重
|
||||||
})
|
})
|
||||||
|
console.log(" this.xAxisArr", this.xAxisArr)
|
||||||
|
// this.xAxisArr[this.xAxisArr.length - 1] = '本月'
|
||||||
await this.twoTabHanldeData()
|
await this.twoTabHanldeData()
|
||||||
} else if ([3,4].includes(this.active)) {//月师傅 日师傅
|
}else if (this.active === 3) {
|
||||||
|
let res = await querySupplierDriverStatisticsScore({
|
||||||
|
startTime: this.startTime ,
|
||||||
|
endTime: this.endTime,
|
||||||
|
statisticsType: 1,
|
||||||
|
supplierId: this.supplierId,
|
||||||
|
driverId: this.driverId,
|
||||||
|
driverName:this.driverName,
|
||||||
|
pageNum: this.pageNum,
|
||||||
|
pageSize: this.pageSize
|
||||||
|
})
|
||||||
|
this.total = res.total
|
||||||
|
this.detailList = res.data?.map(item => {
|
||||||
|
let formatVal = dayjs(item.statisticsDate).format('DD');
|
||||||
|
return {...item, date: formatVal};
|
||||||
|
});
|
||||||
|
this.labelList = [
|
||||||
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
|
{label: '案件总量', prop: 'orderCount'},
|
||||||
|
{label: '满意度得分 ', prop: 'driverSatisfaction'},
|
||||||
|
]
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
else if ([4,5].includes(this.active)) {
|
||||||
let res = await getDriverStatisticsKpi({
|
let res = await getDriverStatisticsKpi({
|
||||||
startTime: this.startTime ,
|
startTime: this.startTime ,
|
||||||
endTime: this.endTime,
|
endTime: this.endTime,
|
||||||
@ -1070,32 +1113,13 @@ export default {
|
|||||||
return {...item, date: formatVal};
|
return {...item, date: formatVal};
|
||||||
});
|
});
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
/* if(this.active===5 && !this.driverName){
|
if(this.active===5 && !this.driverName){
|
||||||
this.detailList=[]
|
this.detailList=[]
|
||||||
this.total=0
|
this.total=0
|
||||||
}*/
|
}
|
||||||
await this.twoTabHanldeData();
|
await this.twoTabHanldeData();
|
||||||
}
|
}
|
||||||
/* else if (this.active ===7) {
|
else if ([ 6, 7, 8,9,10, 11].includes(this.active)) {
|
||||||
let res = await querySupplierDriverStatisticsScore({
|
|
||||||
startTime: this.startTime ,
|
|
||||||
endTime: this.endTime,
|
|
||||||
statisticsType: 1,
|
|
||||||
supplierId: this.supplierId,
|
|
||||||
driverId: this.driverId,
|
|
||||||
driverName:this.driverName,
|
|
||||||
pageNum: this.pageNum,
|
|
||||||
pageSize: this.pageSize
|
|
||||||
})
|
|
||||||
this.total = res.total
|
|
||||||
this.detailList = res.data?.map(item => {
|
|
||||||
let formatVal = dayjs(item.statisticsDate).format('DD');
|
|
||||||
return {...item, date: formatVal};
|
|
||||||
});
|
|
||||||
|
|
||||||
this.loading = false;
|
|
||||||
} */
|
|
||||||
else if ([ 5,6,7, 8,9,10,11].includes(this.active)) {
|
|
||||||
this.detailList = []
|
this.detailList = []
|
||||||
this.labelList = []
|
this.labelList = []
|
||||||
let result = await getKpiDetailsData({
|
let result = await getKpiDetailsData({
|
||||||
@ -1112,7 +1136,7 @@ export default {
|
|||||||
return {...item, date: formatVal};
|
return {...item, date: formatVal};
|
||||||
});
|
});
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (this.active === 5) {//拒单明细
|
if (this.active === 6) {//拒单明细
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '案件编号', prop: 'orderCode'},
|
{label: '案件编号', prop: 'orderCode'},
|
||||||
{label: '服务内容', prop: 'serviceName'},
|
{label: '服务内容', prop: 'serviceName'},
|
||||||
@ -1122,7 +1146,7 @@ export default {
|
|||||||
{label: '拒绝时间', prop: 'time'},
|
{label: '拒绝时间', prop: 'time'},
|
||||||
{label: '拒单原因', prop: 'reason'},
|
{label: '拒单原因', prop: 'reason'},
|
||||||
]
|
]
|
||||||
} else if (this.active === 6) {//超时明细
|
} else if (this.active === 7) {//超时明细
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '案件编号', prop: 'orderCode'},
|
{label: '案件编号', prop: 'orderCode'},
|
||||||
{label: '服务内容', prop: 'serviceName'},
|
{label: '服务内容', prop: 'serviceName'},
|
||||||
@ -1132,23 +1156,6 @@ export default {
|
|||||||
{label: '超时时间', prop: 'time'},
|
{label: '超时时间', prop: 'time'},
|
||||||
{label: '超时原因', prop: 'reason'},
|
{label: '超时原因', prop: 'reason'},
|
||||||
]
|
]
|
||||||
} else if (this.active === 7) {//催促明细
|
|
||||||
this.labelList = [
|
|
||||||
{label: '案件编号', prop: 'orderCode'},
|
|
||||||
{label: '二级合同名称', prop: 'contractName'},
|
|
||||||
{label: '案件创建时间', prop: 'orderCreateTime'},
|
|
||||||
{label: '催促创建时间 ', prop: 'urgeTime'},
|
|
||||||
{label: '服务商接单时间 ', prop: 'taskAcceptTime'},
|
|
||||||
{label: '备注内容(催促内容) ', prop: 'urgeRemark'},
|
|
||||||
{label: '催促次数', prop: 'urgeCount'},//无催促次数,催促一次生成一条新的
|
|
||||||
{label: '服务商名称', prop: 'supplierName'},
|
|
||||||
{label: '服务车辆', prop: 'vehicleName'},
|
|
||||||
{label: '服务完成状况', prop: 'orderStatusString'},
|
|
||||||
{label: '案件完成时间', prop: 'finishTime'},
|
|
||||||
{label: '省(B)', prop: 'bProvince'},
|
|
||||||
{label: '市(B)', prop: 'bCity'},
|
|
||||||
{label: '区(B)', prop: 'area'},
|
|
||||||
]
|
|
||||||
} else if (this.active === 8) {//投诉明细
|
} else if (this.active === 8) {//投诉明细
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '案件编号', prop: 'orderCode'},
|
{label: '案件编号', prop: 'orderCode'},
|
||||||
@ -1169,14 +1176,15 @@ export default {
|
|||||||
]
|
]
|
||||||
} else if (this.active === 10) {//车辆在线情况
|
} else if (this.active === 10) {//车辆在线情况
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
// {label: '总车辆数', prop: 'totalCount'},
|
{label: '日期', prop: 'date'},
|
||||||
{label: '在线车辆数(取每日的12点)', prop: 'twelveClockVehicleCount'},
|
{label: '0点在线车辆数量', prop: 'zeroClockVehicleCount'},
|
||||||
{label: '在线拖车数(12点)', prop: 'trailCount'},
|
{label: '8点在线车辆数量', prop: 'eightClockVehicleCount'},
|
||||||
{label: '在线小修车数(12点)', prop: 'minorCount'},
|
{label: '12点在线车辆数量', prop: 'twelveClockVehicleCount'},
|
||||||
{label: '在线率(在线车辆数/总车辆数)', prop: 'onlineRate'},
|
{label: '16点在线车辆数量', prop: 'sixteenClockVehicleCount'},
|
||||||
// {label: '车辆平均在线时长', prop: ''},
|
{label: '20点在线车辆数量', prop: 'twentyClockVehicleCount'},
|
||||||
|
{label: '22点在线车辆数量', prop: 'twentyTwoClockVehicleCount'},
|
||||||
]
|
]
|
||||||
} else if (this.active === 11) {//聚合失败案件明细
|
} else if (this.active === 11) {//车辆在线情况
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '案件编号', prop: 'orderCode'},
|
{label: '案件编号', prop: 'orderCode'},
|
||||||
{label: '服务内容', prop: 'serviceName'},
|
{label: '服务内容', prop: 'serviceName'},
|
||||||
@ -1200,6 +1208,22 @@ export default {
|
|||||||
},
|
},
|
||||||
// 初始化获取当月日期
|
// 初始化获取当月日期
|
||||||
initDate() {
|
initDate() {
|
||||||
|
/*let year=''
|
||||||
|
let month=''
|
||||||
|
if( this.current ) {
|
||||||
|
year = new Date(this.current).getFullYear();
|
||||||
|
month = new Date(this.current).getMonth() + 1;
|
||||||
|
} else {
|
||||||
|
year = new Date().getFullYear();
|
||||||
|
month = new Date().getMonth() + 1;
|
||||||
|
}
|
||||||
|
let yearAndMonth = year + '-' + (month > 9 ? month : '0' + month);
|
||||||
|
this.current = dayjs(new Date(yearAndMonth)).format('YYYY-MM')
|
||||||
|
this.startTime = dayjs(new Date()).format('YYYY-MM') + '-01 00:00:00'
|
||||||
|
this.endTime = dayjs(new Date()).format('YYYY-MM') + '-' + this.getDayLen()+' 23:59:59'*/
|
||||||
|
// test
|
||||||
|
// let _testDate = new Date('2024-11-01 00:00:01')
|
||||||
|
|
||||||
const today = dayjs(); // 获取当前日期
|
const today = dayjs(); // 获取当前日期
|
||||||
const currentDay = today.date(); // 获取今天是几号(1-31)
|
const currentDay = today.date(); // 获取今天是几号(1-31)
|
||||||
let targetMonth = today; // 默认目标月份是当前月
|
let targetMonth = today; // 默认目标月份是当前月
|
||||||
@ -1216,6 +1240,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.endTime = endTime.format('YYYY-MM-DD HH:mm:ss');
|
this.endTime = endTime.format('YYYY-MM-DD HH:mm:ss');
|
||||||
this.startMonthTime=this.getStartTimeFromEndTime(this.endTime)
|
this.startMonthTime=this.getStartTimeFromEndTime(this.endTime)
|
||||||
|
console.log(" this.startMonthTime", this.startMonthTime,this.startTime)
|
||||||
},
|
},
|
||||||
// 获取当月天数
|
// 获取当月天数
|
||||||
getDayLen() {
|
getDayLen() {
|
||||||
@ -1270,7 +1295,7 @@ export default {
|
|||||||
twoTabHanldeData() {
|
twoTabHanldeData() {
|
||||||
this.etlDetailList=[]
|
this.etlDetailList=[]
|
||||||
this.etlLabelList=[]
|
this.etlLabelList=[]
|
||||||
if (this.active === 1) {//月总
|
if (this.active === 1) {
|
||||||
const columnObj = {} //创建标题数组中第一个对象
|
const columnObj = {} //创建标题数组中第一个对象
|
||||||
columnObj.label = 'KPI' //第一个标题名称
|
columnObj.label = 'KPI' //第一个标题名称
|
||||||
columnObj.prop = 'month' //第一个标题名称对应的字段
|
columnObj.prop = 'month' //第一个标题名称对应的字段
|
||||||
@ -1313,6 +1338,7 @@ export default {
|
|||||||
]
|
]
|
||||||
} else if (this.activeIndex === 1) {
|
} else if (this.activeIndex === 1) {
|
||||||
this.etlDetailList=[{ 'month': '投诉量' },{ 'month': '投诉率(%)' },{ 'month': '平安好评量' }, { 'month': '平安好评率' }]
|
this.etlDetailList=[{ 'month': '投诉量' },{ 'month': '投诉率(%)' },{ 'month': '平安好评量' }, { 'month': '平安好评率' }]
|
||||||
|
console.log('detailList', this.detailList)
|
||||||
let props = 'prop' //自定义字段名称
|
let props = 'prop' //自定义字段名称
|
||||||
this.detailList?.map((item,index) => {
|
this.detailList?.map((item,index) => {
|
||||||
this.v1.push(item.complainOrderCount)
|
this.v1.push(item.complainOrderCount)
|
||||||
@ -1421,7 +1447,7 @@ export default {
|
|||||||
{label: '平安聚合成功到达时效', prop: 'pinganJuheSuccessArriving'},
|
{label: '平安聚合成功到达时效', prop: 'pinganJuheSuccessArriving'},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
} else if (this.active === 2) {//日总
|
} else if (this.active === 2) {
|
||||||
if (this.activeIndex === 0) {//接单指标
|
if (this.activeIndex === 0) {//接单指标
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '日', prop: 'date'},
|
{label: '日', prop: 'date'},
|
||||||
@ -1465,8 +1491,12 @@ export default {
|
|||||||
{label: '平安聚合成功到达时效(分)', prop: 'pinganJuheSuccessArriving'},
|
{label: '平安聚合成功到达时效(分)', prop: 'pinganJuheSuccessArriving'},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
} else if (this.active === 3) {//月师傅
|
}
|
||||||
/* if (this.activeIndex === 0) {
|
/* else if(this.active === 3){
|
||||||
|
|
||||||
|
} */
|
||||||
|
else if (this.active === 4) {
|
||||||
|
if (this.activeIndex === 0) {
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: '总分', prop: 'score'},
|
{label: '总分', prop: 'score'},
|
||||||
@ -1494,65 +1524,60 @@ export default {
|
|||||||
{label: '新手入列得分', prop: 'listedScore'},
|
{label: '新手入列得分', prop: 'listedScore'},
|
||||||
{label: '星级评分', prop: 'starRank'},
|
{label: '星级评分', prop: 'starRank'},
|
||||||
]
|
]
|
||||||
}else*/
|
}if (this.activeIndex === 1) {
|
||||||
if (this.activeIndex === 0) {
|
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: '派单量', prop: 'dispatchOrderCount'},
|
{label: '承接案件量', prop: 'receiveOrderCount'},
|
||||||
{label: '接单量', prop: 'receiveOrderCount'},
|
|
||||||
{label: '拒单量', prop: 'refuseOrderCount'},
|
{label: '拒单量', prop: 'refuseOrderCount'},
|
||||||
{label: '拒单率(%)', prop: 'refuseOrderRate'},
|
{label: '拒单率(%)', prop: 'refuseOrderRate'},
|
||||||
{label: '超时量', prop: 'timeoutOrderCount'},
|
{label: '超时接单量', prop: 'timeoutOrderCount'},
|
||||||
{label: '超时率(%)', prop: 'timeoutOrderRate'},
|
{label: '超时率(%)', prop: 'timeoutOrderRate'},
|
||||||
]
|
]
|
||||||
} else if (this.activeIndex === 1) {
|
|
||||||
this.labelList = [
|
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
|
||||||
// {label: '承接案件量', prop: 'receiveOrderCount'},
|
|
||||||
{label: '投诉量', prop: 'complainOrderCount'},
|
|
||||||
{label: '投诉率(%)', prop: 'complainOrderRate'},
|
|
||||||
{label: '平安评价量', prop: 'pinganEvaluateCount'},
|
|
||||||
{label: '平安评价率(%)', prop: 'pinganEvaluateRate'},
|
|
||||||
{label: '平安好评量', prop: 'pinganFavorableCount'},
|
|
||||||
{label: '平安好评率(%)', prop: 'pinganFavorableRate'},
|
|
||||||
// {label: '催促率(%)', prop: 'urgeRate'},
|
|
||||||
]
|
|
||||||
} else if (this.activeIndex === 2) {
|
} else if (this.activeIndex === 2) {
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: 'App使用量', prop: 'appUseCount'},
|
{label: '承接案件量', prop: 'receiveOrderCount'},
|
||||||
{label: 'App使用率(%)', prop: 'appRate'},
|
{label: '投诉量', prop: 'complainOrderCount'},
|
||||||
// {label: '3′联系客户率(%)', prop: 'threeMinutesContactRate'},
|
{label: '投诉率(%)', prop: 'complainOrderRate'},
|
||||||
{label: '平安聚合成功量', prop: 'pinganPolymerizationSuccessCount'},
|
{label: '客户满意度(%)', prop: 'customerSatisfaction'},
|
||||||
{label: '平安聚合成功率(%)', prop: 'pinganPolymerizationSuccessRate'},
|
{label: '客户评价率(%)', prop: 'customerEvaluateRate'},
|
||||||
{label: '中华联合聚合成功量', prop: 'zhonghuaPolymerizationSuccessCount'},
|
{label: '催促率(%)', prop: 'urgeRate'},
|
||||||
{label: '中华联合聚合成功率(%)', prop: 'zhonghuaPolymerizationSuccessRate'},
|
|
||||||
// {label: '中道聚合成功率(%)', prop: 'zdPolymerizationSuccessRate'},
|
|
||||||
{label: '整体聚合成功量', prop: 'wholeJuheSuccessCount'},
|
|
||||||
{label: '整体聚合成功率(%)', prop: 'wholeJuheSuccessRate'},
|
|
||||||
// {label: '日均在线时长(h)', prop: 'onlineDuration'},
|
|
||||||
]
|
]
|
||||||
} else if (this.activeIndex === 3) {
|
} else if (this.activeIndex === 3) {
|
||||||
|
this.labelList = [
|
||||||
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
|
{label: '承接案件量', prop: 'receiveOrderCount'},
|
||||||
|
{label: 'App使用率(%)', prop: 'appRate'},
|
||||||
|
{label: '3′联系客户率(%)', prop: 'threeMinutesContactRate'},
|
||||||
|
{label: '平安聚合成功率(%)', prop: 'pinganPolymerizationSuccessRate'},
|
||||||
|
{label: '中华聚合成功率(%)', prop: 'zhonghuaPolymerizationSuccessRate'},
|
||||||
|
{label: '中道聚合成功率(%)', prop: 'zdPolymerizationSuccessRate'},
|
||||||
|
{label: '总聚合成功率(%)', prop: 'polymerizationSuccessRate'},
|
||||||
|
{label: '日均在线时长(h)', prop: 'onlineDuration'},
|
||||||
|
]
|
||||||
|
} else if (this.activeIndex === 4) {
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: '接单时效(分)', prop: 'receiving'},
|
{label: '接单时效(分)', prop: 'receiving'},
|
||||||
{label: '3′联系客户率(%)', prop: 'threeMinutesReceivingRate'},
|
{label: '3′接单率(%)', prop: 'threeMinutesReceivingRate'},
|
||||||
{label: '到达时效(分)', prop: 'arriving'},
|
{label: '到达时效(分)', prop: 'arriving'},
|
||||||
// {label: '40′到达率(%)', prop: 'fortyMinutesArrivalRate'},
|
{label: '40′到达率(%)', prop: 'fortyMinutesArrivalRate'},
|
||||||
{label: '平安聚合成功到达时效(分)', prop: 'pinganJuheSuccessArriving'},
|
{label: '聚合成功到达时效(分)', prop: 'polymerizationSuccessArriving'},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
} else if (this.active === 4) {//日师傅
|
} else if (this.active === 5) {
|
||||||
if (this.activeIndex === 0) {//接单指标
|
if (this.activeIndex === 0) {//接单指标
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '日', prop: 'date'},
|
{label: '日', prop: 'date'},
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: '派单量', prop: 'dispatchOrderCount'},
|
{label: '派遣案件量', prop: 'dispatchOrderCount'},
|
||||||
{label: '接单量', prop: 'receiveOrderCount'},
|
{label: '承接案件量', prop: 'receiveOrderCount'},
|
||||||
|
{label: '完成量', prop: 'finishOrderCount'},
|
||||||
{label: '拒单量', prop: 'refuseOrderCount'},
|
{label: '拒单量', prop: 'refuseOrderCount'},
|
||||||
{label: '拒单率(%)', prop: 'refuseOrderRate'},
|
{label: '拒单率(%)', prop: 'refuseOrderRate'},
|
||||||
{label: '超时量', prop: 'timeoutOrderCount'},
|
{label: '超时接单量', prop: 'timeoutOrderCount'},
|
||||||
{label: '超时率(%)', prop: 'timeoutOrderRate'},
|
{label: '超时率(%)', prop: 'timeoutOrderRate'},
|
||||||
|
{label: '客户取消率(%)', prop: 'cancelRate'},
|
||||||
]
|
]
|
||||||
} else if (this.activeIndex === 1) {
|
} else if (this.activeIndex === 1) {
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
@ -1560,32 +1585,31 @@ export default {
|
|||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: '投诉量', prop: 'complainOrderCount'},
|
{label: '投诉量', prop: 'complainOrderCount'},
|
||||||
{label: '投诉率(%)', prop: 'complainOrderRate'},
|
{label: '投诉率(%)', prop: 'complainOrderRate'},
|
||||||
{label: '平安评价量', prop: 'pinganEvaluateCount'},
|
{label: '客户满意度(%)', prop: 'customerSatisfaction'},
|
||||||
{label: '平安评价率(%)', prop: 'pinganEvaluateRate'},
|
{label: '客户评价率(%)', prop: 'customerEvaluateRate'},
|
||||||
{label: '平安好评量', prop: 'pinganFavorableCount'},
|
{label: '催促率(%)', prop: 'urgeRate'},
|
||||||
{label: '平安好评率(%)', prop: 'pinganFavorableRate'},
|
|
||||||
]
|
]
|
||||||
} else if (this.activeIndex === 2) {
|
} else if (this.activeIndex === 2) {
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '日', prop: 'date'},
|
{label: '日', prop: 'date'},
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: 'App使用量', prop: 'appUseCount'},
|
{label: '使用率(%)', prop: 'appRate'},
|
||||||
{label: 'App使用率(%)', prop: 'appRate'},
|
{label: '3′联系客户率(%)', prop: 'threeMinutesContactRate'},
|
||||||
{label: '平安聚合成功量', prop: 'pinganPolymerizationSuccessCount'},
|
|
||||||
{label: '平安聚合成功率(%)', prop: 'pinganPolymerizationSuccessRate'},
|
{label: '平安聚合成功率(%)', prop: 'pinganPolymerizationSuccessRate'},
|
||||||
{label: '中华联合聚合成功量', prop: 'zhonghuaPolymerizationSuccessCount'},
|
{label: '中华聚合成功率(%)', prop: 'zhonghuaPolymerizationSuccessRate'},
|
||||||
{label: '中华联合聚合成功率(%)', prop: 'zhonghuaPolymerizationSuccessRate'},
|
{label: '中道聚合成功率(%)', prop: 'zdPolymerizationSuccessRate'},
|
||||||
{label: '整体聚合成功量', prop: 'wholeJuheSuccessCount'},
|
{label: '总聚合成功率(%)', prop: 'polymerizationSuccessRate'},
|
||||||
{label: '整体聚合成功率(%)', prop: 'wholeJuheSuccessRate'},
|
{label: '日均在线时长(h)', prop: 'onlineDuration'},
|
||||||
]
|
]
|
||||||
} else if (this.activeIndex === 3) {
|
} else if (this.activeIndex === 3) {
|
||||||
this.labelList = [
|
this.labelList = [
|
||||||
{label: '日', prop: 'date'},
|
{label: '日', prop: 'date'},
|
||||||
{label: '师傅姓名', prop: 'driverName'},
|
{label: '师傅姓名', prop: 'driverName'},
|
||||||
{label: '接单时效(分)', prop: 'receiving'},
|
{label: '接单时效(分)', prop: 'receiving'},
|
||||||
{label: '3′联系客户率(%)', prop: 'threeMinutesReceivingRate'},
|
{label: '3′接单率(%)', prop: 'threeMinutesReceivingRate'},
|
||||||
{label: '到达时效(分)', prop: 'arriving'},
|
{label: '到达时效(分)', prop: 'arriving'},
|
||||||
{label: '平安聚合成功到达时效(分)', prop: 'pinganJuheSuccessArriving'},
|
{label: '40′到达率(%)', prop: 'fortyMinutesArrivalRate'},
|
||||||
|
{label: '聚合成功到达时效(分)', prop: 'polymerizationSuccessArriving'},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1597,12 +1621,10 @@ export default {
|
|||||||
},
|
},
|
||||||
setType(type) {
|
setType(type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 5:
|
|
||||||
return 1;
|
|
||||||
case 6:
|
case 6:
|
||||||
return 2;
|
return 1;
|
||||||
case 7:
|
case 7:
|
||||||
return 7;
|
return 2;
|
||||||
case 8:
|
case 8:
|
||||||
return 3;
|
return 3;
|
||||||
case 9:
|
case 9:
|
||||||
|
|||||||
@ -109,7 +109,7 @@
|
|||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
console.log('window.location',window.location)
|
console.log('window.location',window.location)
|
||||||
// console.log("urlParams",urlParams)
|
// console.log("urlParams",urlParams)
|
||||||
console.log("decodeURIComponent( window.location.href)",decodeURIComponent( window.location.href))
|
// console.log("decodeURIComponent( window.location.href)",decodeURIComponent( window.location.href))
|
||||||
this.esignFlag = urlParams.get('esignFlag') || localStorage.getItem("esignFlag")
|
this.esignFlag = urlParams.get('esignFlag') || localStorage.getItem("esignFlag")
|
||||||
if(window.location.search){
|
if(window.location.search){
|
||||||
console.log('有参数')
|
console.log('有参数')
|
||||||
|
|||||||
Reference in New Issue
Block a user