story#7189,回程车小程序司机端-迁移认证页面

This commit is contained in:
2025-09-09 13:33:44 +08:00
parent e7b0cfb006
commit 781ef75913
6 changed files with 56 additions and 51 deletions

View File

@ -126,6 +126,8 @@
.content { .content {
font-size: 0; font-size: 0;
padding-bottom: 80px; padding-bottom: 80px;
height: 100%;
overflow-y: auto;
} }
.audit_list { .audit_list {
padding: 20px 30px; padding: 20px 30px;

View File

@ -133,6 +133,10 @@
page { page {
background: #F4F5F7; background: #F4F5F7;
} }
.content{
height: 100%;
overflow-y: auto;
}
.navBar{ .navBar{
margin-bottom: 46px; margin-bottom: 46px;
} }

View File

@ -192,6 +192,10 @@
page { page {
background: #F4F5F7; background: #F4F5F7;
} }
.content{
height: 100%;
overflow-y: auto;
}
.navBar{ .navBar{
margin-bottom: 46px; margin-bottom: 46px;
} }

View File

@ -15,17 +15,14 @@
<div class="titleWrap"> <div class="titleWrap">
<div class="natureWrap"> <div class="natureWrap">
<span class="title"><span class="star">*</span>业务性质</span> <span class="title"><span class="star">*</span>业务性质</span>
<radio-group @change="radioChange" class="flexWrap"> <van-radio-group @change="radioChange" v-model="form.businessNature" class="flexWrap">
<label class="flexWrap labelWrap1" v-for="(item, index) in options" :key="item.value"> <van-radio name="1">国跑圈业务</van-radio>
<div class="flexWrap center"><radio :value="item.value" :checked="(index+1) === Number(form.businessNature)" />{{item.name}}</div> <van-radio name="2">固定区域救援业务</van-radio>
</label> </van-radio-group>
</radio-group>
</div> </div>
<div class="natureWrap regionWrap" v-if="form.businessNature == 2"> <div class="natureWrap regionWrap" v-if="form.businessNature == 2" >
<span class="title"><span class="star">*</span>所在地区</span> <span class="title"><span class="star">*</span>所在地区</span>
<picker class="pickerWrap" mode="region" @change="bindRegionChange" :value="region"> <div class="pickerWrap picker" @click="areaShow = true" >{{regionText}}</div>
<div class="picker">{{regionspan}}</div>
</picker>
</div> </div>
</div> </div>
<photo-item title="上传行驶证" :left-url="form.vehicleLicenseFront || driveFront" :right-url="form.vehicleLicenseBack || driveBack" v-if="type != 'simple'" <photo-item title="上传行驶证" :left-url="form.vehicleLicenseFront || driveFront" :right-url="form.vehicleLicenseBack || driveBack" v-if="type != 'simple'"
@ -37,11 +34,9 @@
<div class="titleWrap"> <div class="titleWrap">
<div class="natureWrap"> <div class="natureWrap">
<span class="title"><span class="star">*</span>随车小轮个数</span> <span class="title"><span class="star">*</span>随车小轮个数</span>
<radio-group @change="wheelChange" class="flexWrap"> <van-radio-group v-model="form.wheelNum" class="flexWrap">
<label class="flexWrap labelWrap2" v-for="(item, index) in tyreOptions" :key="item.value"> <van-radio v-for="item in tyreOptions" :key="item.value" :name="item.value" >{{item.name}}</van-radio>
<div class="flexWrap center"><radio :value="item.value" :checked="(index*2) === Number(form.wheelNum)" />{{item.name}}</div> </van-radio-group>
</label>
</radio-group>
</div> </div>
</div> </div>
<div class="carInfo" v-if="type != 'simple'"> <div class="carInfo" v-if="type != 'simple'">
@ -132,29 +127,36 @@
</div> </div>
</div> </div>
<fixed-button @myClick="clickHandler" v-if="showFun()" :noBg="true"></fixed-button> <fixed-button @myClick="clickHandler" v-if="showFun()" :noBg="true"></fixed-button>
<!-- <protocol-dialog></protocol-dialog>--> <van-popup
v-model="areaShow"
position="bottom"
>
<van-area title="标题" :area-list="areaList" :columns-num="3" closeable="true" :value="form.areaCode ? String(form.areaCode) : ''"
@cancel="areaShow = false" @confirm="confirmHandle"/>
</van-popup>
</div> </div>
</template> </template>
<script> <script>
// import protocolDialog from "./component/protocolDialog";
import fixedButton from "./component/fixedButton"; import fixedButton from "./component/fixedButton";
import photoItem from "./component/photoItem"; import photoItem from "./component/photoItem";
import tipBar from "./component/tipBar"; import tipBar from "./component/tipBar";
import { ocrRecognize, driverInfoVerify, driverInfoVerifyDetail } from '@/api/authentication.js' import { ocrRecognize, driverInfoVerify, driverInfoVerifyDetail } from '@/api/authentication.js'
import { leftCopy } from '@/utils/common.js' import { leftCopy } from '@/utils/common.js'
import { myMixins } from '@/utils/myMixins.js' import { myMixins } from '@/utils/myMixins.js'
import {areaList} from "@vant/area-data";
export default { export default {
name: "carInfoAudit", name: "carInfoAudit",
components: { components: {
tipBar, tipBar,
photoItem, photoItem,
fixedButton, fixedButton,
// protocolDialog
}, },
mixins: [myMixins], mixins: [myMixins],
data() { data() {
return { return {
areaList: areaList,
areaShow:false,
region: [], region: [],
driveFront: require('@/assets/authentication/carInfo_icon1.png'), driveFront: require('@/assets/authentication/carInfo_icon1.png'),
driveBack: require('@/assets/authentication/carInfo_icon2.png'), driveBack: require('@/assets/authentication/carInfo_icon2.png'),
@ -205,21 +207,20 @@
}, },
methods: { methods: {
bindRegionChange(e){ confirmHandle(val){
this.region=e?.detail?.value this.region=[]
let code=e?.detail?.code val?.forEach(item => this.region.push(item.name))
let code=[]
val?.forEach(item => code.push(item.code))
this.form.areaCode=code[code.length - 1] this.form.areaCode=code[code.length - 1]
this.areaShow=false
}, },
radioChange(val){ radioChange(){
this.form.businessNature=val?.detail?.value
if(this.form.businessNature==1){ if(this.form.businessNature==1){
this.region=[] this.region=[]
this.form.areaCode='' this.form.areaCode=''
} }
}, },
wheelChange(val){
this.form.wheelNum=val?.detail?.value
},
async getDetail() { // 认证详情 async getDetail() { // 认证详情
let res = await driverInfoVerifyDetail( { let res = await driverInfoVerifyDetail( {
verifyType: 3 verifyType: 3
@ -230,13 +231,10 @@
this.region=res?.data?.vehicleInfoData?.region this.region=res?.data?.vehicleInfoData?.region
if(this.region[0].includes('市')){ if(this.region[0].includes('市')){
this.region?.unshift(this.region[0]) this.region?.unshift(this.region[0])
// console.log('第一个包含市')
} }
}else { }else {
this.region=[] this.region=[]
} }
// this.form.hasInsurancePhoto=1
// this.form.carrierLiabilityInsurancePhoto=['http://file.sino-assist.com/group1/M00/07/78/wKgBzGij5QSAFO1hAAEBNU8G9Ww026.jpg?date=2025-08-19','http://file.sino-assist.com/group1/M00/07/78/wKgBzGij5QqADCNWAAZMtM4Se54125.png?date=2025-08-19']
}, },
async clickHandler() { async clickHandler() {
if( this.type != 'simple' ) { if( this.type != 'simple' ) {
@ -381,6 +379,8 @@
} }
.content { .content {
/*padding-bottom: 86px;*/ /*padding-bottom: 86px;*/
height: 100%;
overflow-y: auto;
} }
.carInfo .title { .carInfo .title {
width: 100% !important; width: 100% !important;
@ -413,21 +413,10 @@
} }
.flexWrap{ .flexWrap{
display:flex; display:flex;
}
.labelWrap1{
margin-left: 10px;
}
.labelWrap2{
margin-left: 15px;
}
radio{
width: 24px;
transform: scale(0.7);
transform-origin: center; /* 保持中心点不变 */
}
.center{
align-items: center; align-items: center;
justify-content: center;
} }
} }
::v-deep .van-radio__icon{
transform: scale(0.8) !important;
}
</style> </style>

View File

@ -3,11 +3,15 @@
<template v-if="title.indexOf('责任险/货物') !== -1"> <template v-if="title.indexOf('责任险/货物') !== -1">
<div class="photo_title custom-title"> <div class="photo_title custom-title">
<span><span class="star">*</span>{{title}}</span> <span><span class="star">*</span>{{title}}</span>
<radio-group @change="radioChange" class="flexWrap"> <van-radio-group @change="radioChange" v-model="form.isInsure" class="flexWrap">
<van-radio name="0"></van-radio>
<van-radio name="1"></van-radio>
</van-radio-group>
<!-- <radio-group @change="radioChange" class="flexWrap">
<label class="flexWrap labelWrap" v-for="(item, index) in options" :key="item.value"> <label class="flexWrap labelWrap" v-for="(item, index) in options" :key="item.value">
<div class="flexWrap center"><radio :value="item.value" :checked="index == inSure" />{{item.name}}</div> <div class="flexWrap center"><radio :value="item.value" :checked="index == inSure" />{{item.name}}</div>
</label> </label>
</radio-group> </radio-group>-->
</div> </div>
<div class="photoWrap" v-if="inSure == 1"> <div class="photoWrap" v-if="inSure == 1">
<template v-if="urlList.length>0"> <template v-if="urlList.length>0">
@ -79,7 +83,7 @@ export default {
type: Array, type: Array,
}, },
inSure:{ inSure:{
type:Number, type:String || Number,
} }
}, },
data() { data() {
@ -98,7 +102,7 @@ export default {
}, },
methods: { methods: {
radioChange(e){ radioChange(e){
this.form.isInsure=e?.detail?.value // this.form.isInsure=e?.detail?.value
if(this.form.isInsure==0){ if(this.form.isInsure==0){
this.form.urlList=[] this.form.urlList=[]
this.$emit('urlList', this.form.urlList) this.$emit('urlList', this.form.urlList)
@ -208,15 +212,15 @@ export default {
justify-content: space-between; justify-content: space-between;
.flexWrap{ .flexWrap{
display:flex; display:flex;
::v-deep .van-radio__icon{
//width: 24px;
transform: scale(0.8);
transform-origin: center; /* 保持中心点不变 */
}
} }
.labelWrap{ .labelWrap{
margin-left: 10px; margin-left: 10px;
} }
radio{
width: 24px;
transform: scale(0.7);
transform-origin: center; /* 保持中心点不变 */
}
.center{ .center{
align-items: center; align-items: center;
justify-content: center; justify-content: center;

View File

@ -244,5 +244,7 @@
} }
.content { .content {
padding-bottom: 86px; padding-bottom: 86px;
height: 100%;
overflow-y: auto;
} }
</style> </style>