Przeglądaj źródła

车牌变更

修改样式逻辑
yangteng 1 miesiąc temu
rodzic
commit
69bf132d2c

+ 13
- 8
subpackage/personal-center/vehicle-change/vehicle-change-cheliangmsg-write.vue Wyświetl plik

@@ -73,9 +73,12 @@
/>
</u-form-item>
<u-form-item label="整备质量(kg)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入整备质量" v-model="state.form.maintenaceMass"
<u-input inputAlign="right" placeholder="请输入整备质量" v-model="state.form.maintenanceMass"
maxlength="7" />
</u-form-item>
<u-form-item label="准牵引总质量(kg)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' v-if="state.form.permittedTowWeight">
<u-input inputAlign="right" placeholder="请输入牵引质量" v-model="state.form.permittedTowWeight"/>
</u-form-item>
<u-form-item label="变更车轴数(轴)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入车轴数" v-model="state.form.axleCount"/>
</u-form-item>
@@ -243,7 +246,7 @@
<u-form-item label="验证码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<view style="display: flex;align-items: center;flex-shrink: 0;">
<u-input v-model="state.code" input-align='right'/>
<u-input v-model="state.code" input-align='right' maxlength="6"/>
<text @click="getCode" v-if="waitTime==0" class="search">获取验证码</text>
<text class="search" v-else>{{waitTime}}后重试</text>
</view>
@@ -314,7 +317,7 @@ import {
ownerAddress:"",
vehicleType:"",
totalMass:"",
maintenaceMass:"",
maintenanceMass:"",
axleCount:"",
vehicleDimensions:"",
approvedCount:"",
@@ -342,6 +345,7 @@ import {
vehPosImgOcrId:"",//行驶证正面orcId
vehNegImgOcrId:"",//行驶证反面orcId
userType:1,//1个人 2单位
permittedTowWeight:"",//准牵引总质量
},
ownerIdTypeRange: [],
isTakePhotoModeShow: false, //选择拍照方式是否出来
@@ -410,7 +414,7 @@ import {
// 判断客货类型
judgeVanType()
state.form.totalMass=res.info.totalMass
state.form.maintenaceMass=res.info.maintenaceMass
state.form.maintenanceMass=res.info.maintenanceMass
state.form.axleCount=res.info.axleCount
state.form.vehicleDimensions=res.info.vehicleDimensions.slice(0,-2)
state.form.approvedCount=res.info.approvedCount
@@ -534,7 +538,7 @@ import {
msg("请输入总质量");
return;
}
if(!state.form.maintenaceMass){
if(!state.form.maintenanceMass){
msg("请输入整备质量");
return;
}
@@ -719,12 +723,13 @@ import {
judgeVanType()
} else {
state.form.approvedCount = data.apc.slice(0,-1);
state.form.maintenaceMass = data.unladen.slice(0,-2);
state.form.maintenanceMass = data.unladen.slice(0,-2);
let overall=data.overall.replaceAll("x", "X")
state.form.vehicleDimensions = overall.slice(0,-2);
state.form.totalMass = data.gross ? data.gross.slice(0,-2) : 0;
state.form.vehNegImgUrl = data.imageUrl;
state.form.vehNegImgOcrId = data.ocrResultId;
state.form.permittedTowWeight=data.towing.slice(0,-2)
// 计算收费车型
calculateVehicleType(state.form.approvedCount,state.form.axleCount,state.form.vehicleDimensions,state.form.totalMass,state.form.vanType, function (res) {
state.form.vehicleTypeNew=res
@@ -755,8 +760,8 @@ import {
const radioChangeqyc = (evt) => {
console.log("evt.detail.value", evt.detail.value)
for (let i = 0; i < state.itemsqyc.length; i++) {
if (state.items[i].value == evt.detail.value) {
state.form.isTractor = i;
if (state.itemsqyc[i].value == evt.detail.value) {
state.form.isTractor = state.itemsqyc[i].value;
break;
}
}

+ 372
- 162
subpackage/personal-center/vehicle-change/vehicle-change-chepai-write.vue Wyświetl plik

@@ -68,10 +68,10 @@
borderBottom>
<u-input v-model="state.form.ownerName" input-align='right'/>
</u-form-item>
<!-- <u-form-item label="变更车辆类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
<u-form-item label="车辆类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.vehicleType" input-align='right'/>
</u-form-item> -->
</u-form-item>
<u-form-item label="证件类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.ownerIdTypeStr" type="select" @click="show1 = true" input-align='right'/>
@@ -84,31 +84,38 @@
borderBottom>
<u-input v-model="state.form.ownerAddress" input-align='right'/>
</u-form-item>
<u-form-item label="发证日期" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.issueDate" input-align='right'/>
</u-form-item>
<u-form-item label="总质量(kg)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入总质量" v-model="state.form.totalMass"
/>
</u-form-item>
<u-form-item label="整备质量(kg)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入整备质量" v-model="state.form.maintenaceMass"
maxlength="7" />
<u-input inputAlign="right" placeholder="请输入整备质量" v-model="state.form.maintenanceMass" />
</u-form-item>
<u-form-item label="准牵引总质量(kg)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' v-if="state.form.permittedTowWeight">
<u-input inputAlign="right" placeholder="请输入牵引质量" v-model="state.form.permittedTowWeight"/>
</u-form-item>
<u-form-item label="车轴数(轴)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入车轴数" v-model="state.form.axleCount"/>
<u-input inputAlign="right" placeholder="请输入车轴数" v-model="state.form.axleCount" @blur="changeAxleCount"/>
</u-form-item>
<u-form-item label="外廓尺寸(mm)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入外廓尺寸" v-model="state.form.vehicleDimensions" />
</u-form-item>
<u-form-item label="核定载人数(人)" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入核定载人数" v-model="state.form.approvedCount"
maxlength="3" />
<u-input inputAlign="right" placeholder="请输入核定载人数" v-model="state.form.approvedCount" />
</u-form-item>
<u-form-item label="发动机号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入发动机号码" v-model="state.form.engineNum"
maxlength="20" />
<u-input inputAlign="right" placeholder="请输入发动机号码" v-model="state.form.engineNum" />
</u-form-item>
<u-form-item label="车辆识别号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="请输入车辆识别号" v-model="state.form.vin"
maxlength="20" />
<u-input inputAlign="right" placeholder="请输入车辆识别号" v-model="state.form.vin"/>
</u-form-item>
<u-form-item label="车辆用户类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.vehicleCustomerTypeName" type="select" @click="show4 = true" input-align='right'/>
</u-form-item>
<view class="picture-wrapper" @click="cardFileImageUpdate(1)">
<view class="bg1">
@@ -126,7 +133,7 @@
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="cardFileImageUpdate(1)">
<view class="picture-wrapper" @click="cardFileImageUpdate(2)">
<view class="bg1">
<view class="">
<view class="name"> 车头照 </view>
@@ -135,14 +142,14 @@
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.vehBodyUrl" class="icon" :src="`${$imgUrl}issuance/chetou45.png`"
<image v-if="!state.form.vehFrontUrl" class="icon" :src="`${$imgUrl}issuance/chetou45.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.vehBodyUrl)"
<image v-else class="icon" :src="strReplace(state.form.vehFrontUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<u-form-item label="是否本人办理" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-form-item label="是否本人办理" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' v-if="state.form.userType==1">
<view class="right-show">
<radio-group @change="radioChange">
<label style="margin-right: 60rpx;" class="uni-list-cell uni-list-cell-pd "
@@ -152,8 +159,8 @@
</radio-group>
</view>
</u-form-item>
<view v-if="state.form.isMyselfHandle==1">
<view class="picture-wrapper" @click="cardFileImageUpdate(1)" >
<view v-if="state.form.userType==1">
<view class="picture-wrapper" @click="takePhotoMode(1)" >
<view class="bg1">
<view class="">
<view class="name"> 人像面 </view>
@@ -169,7 +176,7 @@
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="cardFileImageUpdate(2)">
<view class="picture-wrapper" @click="takePhotoMode(2)">
<view class="bg1">
<view class="">
<view class="name"> 国徽面 </view>
@@ -186,20 +193,35 @@
</view>
</view>
<u-form-item label="用户姓名" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' borderBottom>
<u-input v-model="state.form.name" placeholder='用户姓名'
<u-input v-model="state.form.userName" placeholder='用户姓名'
maxlength="20" inputAlign="right"/>
</u-form-item>
<u-form-item label="用户证件类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' borderBottom>
<u-input placeholder='请选择用户证件类型' type="idcard" v-model="state.form.customerIdNum1"
maxlength="18" inputAlign="right"/>
<u-input v-model="state.form.userIdTypeStr" type="select" @click="show2 = true" input-align='right'/>
</u-form-item>
<u-form-item label="用户证件号码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' borderBottom>
<u-input placeholder='请输入用户证件号码' type="idcard" v-model="state.form.customerIdNum"
<u-input placeholder='请输入用户证件号码' type="idcard" v-model="state.form.userIdNum"
maxlength="18" inputAlign="right"/>
</u-form-item>
<view class="picture-wrapper" @click="cardFileImageUpdate(3)" v-if="state.form.isMyselfHandle==2">
<view class="bg1">
<view class="">
<view class="name"> 开户人授权书 </view>
<view class="value"> 上传授权书 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.ownerLetterOfAuthorizationImgUrl" class="icon" :src="`${$imgUrl}issuance/weituo.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.ownerLetterOfAuthorizationImgUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
</view>
<view v-if="state.form.isMyselfHandle==2">
<view class="picture-wrapper" @click="cardFileImageUpdate(1)" >
<view v-if="state.form.userType==2">
<view class="picture-wrapper" @click="takePhotoMode(1)" >
<view class="bg1">
<view class="">
<view class="name"> 人像面 </view>
@@ -208,14 +230,14 @@
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.ownerPosImgUrl" class="icon" :src="`${$imgUrl}issuance/sfz.png`"
<image v-if="!state.form.agentPosImgurl" class="icon" :src="`${$imgUrl}issuance/sfz.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.ownerPosImgUrl)"
<image v-else class="icon" :src="strReplace(state.form.agentPosImgurl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="cardFileImageUpdate(2)">
<view class="picture-wrapper" @click="takePhotoMode(2)">
<view class="bg1">
<view class="">
<view class="name"> 国徽面 </view>
@@ -224,65 +246,46 @@
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.ownerNegImgUrl" class="icon" :src="`${$imgUrl}issuance/sff.png`"
<image v-if="!state.form.agentNegImgurl" class="icon" :src="`${$imgUrl}issuance/sff.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.ownerNegImgUrl)"
<image v-else class="icon" :src="strReplace(state.form.agentNegImgurl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}"></image>
</view>
</view>
<u-form-item label="经办人姓名" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' borderBottom>
<u-input v-model="state.form.name" placeholder='经办人姓名'
<u-input v-model="state.form.agentName" placeholder='经办人姓名'
maxlength="20" inputAlign="right"/>
</u-form-item>
<u-form-item label="经办人证件类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' borderBottom>
<u-input placeholder='请输入证件号码' type="idcard" v-model="state.form.customerIdNum1"
maxlength="18" inputAlign="right"/>
<u-input v-model="state.form.agentIdTypeStr" type="select" @click="show3 = true" input-align='right'/>
</u-form-item>
<u-form-item label="经办人证号号码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' borderBottom>
<u-input placeholder='请输入证件号码' type="idcard" v-model="state.form.customerIdNum"
<u-input placeholder='请输入证件号码' type="idcard" v-model="state.form.agentIdNum"
maxlength="18" inputAlign="right"/>
</u-form-item>
<u-form-item label="部门" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' borderBottom>
<u-input placeholder='请输入部门' type="number" v-model="state.form.part"
maxlength="11" inputAlign="right"/>
<u-input placeholder='请输入部门' v-model="state.form.department" inputAlign="right"/>
</u-form-item>
</view>
<view class="picture-wrapper" @click="cardFileImageUpdate(3)" v-if="state.form.isMyselfHandle==2 && state.form.userType==1">
<view class="bg1">
<view class="">
<view class="name"> 开户人授权书 </view>
<view class="value"> 上传授权书 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
<view class="picture-wrapper" @click="cardFileImageUpdate(4)">
<view class="bg1">
<view class="">
<view class="name"> 单位授权书 </view>
<view class="value"> 上传授权书 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.unitAuthorizationLetterImgUrl" class="icon" :src="`${$imgUrl}issuance/weituo.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.unitAuthorizationLetterImgUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
<image v-if="!state.form.ownerLetterOfAuthorizationImgUrl" class="icon" :src="`${$imgUrl}issuance/weituo.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.ownerLetterOfAuthorizationImgUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="cardFileImageUpdate(4)" v-if="state.form.isMyselfHandle==2 && state.form.userType==2">
<view class="bg1">
<view class="">
<view class="name"> 开户人授权书 </view>
<view class="value"> 上传授权书 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.unitAuthorizationLetterImgUrl" class="icon" :src="`${$imgUrl}issuance/weituo.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.unitAuthorizationLetterImgUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<u-form-item label="是否牵引车" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' v-if="state.form.vanType==2">
<u-form-item label="是否牵引车" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' v-if="state.form.vanType==2 || state.form.vanType==3">
<radio-group @change="radioChangeqyc">
<view class="right-show">
<label style="margin-right: 60rpx;" class="uni-list-cell uni-list-cell-pd "
@@ -292,7 +295,7 @@
</view>
</radio-group>
</u-form-item>
<view class="picture-wrapper" @click="cardFileImageUpdate(2)" v-if="state.form.isTractor==1">
<view class="picture-wrapper" @click="cardFileImageUpdate(5)" v-if="state.form.isTractor==1">
<view class="bg1">
<view class="">
<view class="name"> 道路运输许可证 </view>
@@ -308,23 +311,6 @@
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<!-- <view class="picture-wrapper" @click="cardFileImageUpdate(2)">
<view class="bg1">
<view class="">
<view class="name"> 授权书 </view>
<view class="value"> 上传授权书 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.vehBodyUrl" class="icon" :src="`${$imgUrl}issuance/weituo.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.vehBodyUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view> -->
</u-form>
</view>
@@ -332,14 +318,14 @@
<u-form label-width="230" :model="state.form" ref="uForm" :label-style='labelStyle'>
<u-form-item label="手机号码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.vehiclePlateColorStr" input-align='right'/>
<u-input v-model="state.form.ownerTel" input-align='right' disabled/>
</u-form-item>
<u-form-item label="验证码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<view style="display: flex;align-items: center;flex-shrink: 0;">
<u-input v-model="state.form.vehiclePlateColorStr" input-align='right'/>
<u-input v-model="state.code" input-align='right' maxlength="6"/>
<text @click="getCode" v-if="waitTime==0" class="search">获取验证码</text>
<text class="btn" v-else>{{waitTime}}后重试</text>
<text class="search" v-else>{{waitTime}}后重试</text>
</view>
</u-form-item>
</u-form>
@@ -351,6 +337,11 @@
</view>
<!-- 选择证件类型 -->
<u-select v-model="show1" :list="state.ownerIdTypeRange" @confirm="changeOwnerIdType"></u-select>
<!-- 用户证件类型 -->
<u-select v-model="show2" :list="state.ownerIdTypeRange" @confirm="changeUserIdType"></u-select>
<!-- 经办人证件类型 -->
<u-select v-model="show3" :list="state.ownerIdTypeRange" @confirm="changeAgentIdType"></u-select>
<u-select v-model="show4" :list="state.vehicleCustomerTypeRange" @confirm="vehicleCustomerTypeType"></u-select>
<view class="choice-takePhoto-wrap" v-if="state.isTakePhotoModeShow" @click="cancle">
<view class="choice-takePhoto">
<view @click.stop="takePhoto(state.choiceIndex)" style="border-radius: 20rpx 20rpx 0 0;">拍照</view>
@@ -363,12 +354,12 @@
</template>

<script setup lang="ts">
import { navTo,uploadFile,strReplace,msg,chooseImageCompress} from "@/utils/utils";
import { navTo,uploadFile,strReplace,msg,chooseImageCompress,checkStr} from "@/utils/utils";
import { reactive,ref } from "vue";
import carNumberInput from "@/components/car-number-input/car-number-input.vue";
import { onLoad } from "@dcloudio/uni-app";
import { getItem } from "@/utils/storage.ts"
import {selfServiceView,selfServiceUserUpload,newMobileSmsCode,vehicleLicenseOcr} from "@/utils/network/api.js";
import {vehicleLicenseOcr,licenseInforChangeApply,idCardOcr,sendMessage,messageValid,vehicleInfoChangeApply,vehicleInformationChange} from "@/utils/network/api.js";
import {requestNew} from "@/utils/network/request.js";
import viewfinder from "../../../components/viewfinder.vue"
import {
@@ -390,17 +381,11 @@ import {
}
const show1 = ref(false)
const show2 = ref(false)
const show3 = ref(false)
const show4 = ref(false)
const state = reactive({
form: {
customerName: "",
customerTel: "",
vehiclePlateColorStr:"",//车牌颜色中文
name:"",
part:"",
customerIdNum:"",
customerIdNum1:"",
userImagesUrl1:"",
userImagesUrl2:"",
vehiclePlate: "",//车牌号
vehiclePlateColor: "",//车牌颜色
@@ -409,12 +394,12 @@ import {
vehiclePlateColorNew:"",//变更后车牌颜色
cardId:"",
obuId:"",
isVehiclePlateChange:"",//是否车牌变更 否_0,是_1
isVehiclePlateChange:1,//是否车牌变更 否_0,是_1
vanType:"",//客货类型,1-客车 2-货车 3-作业车
isMyselfHandle:1,//本人办理_1,代理人办理_2
userType:1,//1个人 2单位
ownerNegImgUrl:"",//经办人身份证反面URL
ownerPosImgUrl:"",//经办人身份证正面URL
ownerNegImgUrl:"",//经办人身份证反面URL
ownerLetterOfAuthorizationImgUrl:"",//开户人授权书URL
unitAuthorizationLetterImgUrl:"",//单位授权书URL
isTractor:0,//是否牵引车 否_0,是_1
@@ -425,40 +410,52 @@ import {
ownerIdNum:"",
ownerAddress:"",
totalMass:"",
maintenaceMass:"",
maintenanceMass:"",
axleCount:"",
vehicleDimensions:"",
approvedCount:"",
vin:"",
engineNum:"",
vehBodyUrl:"",
vehFrontUrl:"",
vehPosImgUrl:"",
vehNegImgUrl:"",
vehPosImgOcrId:"",//行驶证正面orcId
vehNegImgOcrId:"",//行驶证反面orcId
ownerTel:"",
userName:"",
userIdNum:"",
permittedTowWeight:"",//准牵引总质量
userIdTypeStr:"",
userIdType:"",
vehicleTypeNew:"",//收费车型
agentPosImgurl:"",//经办人身份证正面照
agentNegImgurl:"",//经办人身份证反面照
agentName:"",//经办人姓名
agentIdNum:"",
agentIdType:"",//经办人证件类型
agentIdTypeStr:"",//经办人证件类型
department:"",//部门
vehicleType:"",//行驶证车辆类型
vehicleCustomerType:"",
vehicleCustomerTypeName:"",
issueDate:""
},
questionTypeRange:[
{value: 1, label: "工单1"},
{value: 2, label: "工单2"},
],
etcUserRange:[
{value: 1, label: "是"},
{value: 0, label: "否"},
],
isTakePhotoModeShow: false, //选择拍照方式是否出来
choiceIndex: 1, // 1 身份证正面 2 身份证反面
phoneType: 0, // 1 身份证正面 2 身份证反面 3行驶证正面 4行驶证反面
images: '',
showImg: true,
items: [{
value: 1,
name: '是',
checked: 'true'
},
{
value: 2,
name: '否',
}],
value: 1,
name: '是',
checked: 'true'
},
{
value: 2,
name: '否',
}],
itemsqyc: [{
value: 0,
name: '否',
@@ -469,9 +466,10 @@ import {
name: '是',
}],
ownerIdTypeRange: [],
code:"",
vehicleCustomerTypeRange:[]
})
onLoad((option : any) => {
let getColor = getItem('key')['VEHICLE_COLOR_TYPE'];
let type = getItem('key')['CERTIFICATE_TYPE'];
for (var k = 0; k < type.length; k++) {
let obj = {};
@@ -488,28 +486,180 @@ import {
state.form.vehiclePlateColorNew=params.vehiclePlateColorNew
state.form.cardId=params.cardId
state.form.obuId=params.obuId
state.form.isVehiclePlateChange=params.isVehiclePlateChange
// state.form.isVehiclePlateChange=params.isVehiclePlateChange
state.form.vanType=params.vanType
getCarDetails()
});
const getCarDetails = () => {
const options = {
type: 2,
data: {
vehicleId:state.form.vehicleId
},
method: "POST",
showLoading: true,
};
//调用方式
requestNew(vehicleInformationChange, options)
.then((res) => {
console.log('车辆信息', res)
state.form.ownerTel=res.info.customerInfo.customerTel
state.form.userType=res.userType
if(state.form.userType==2){
state.form.isMyselfHandle=2
}
// 判断车辆用户类型
judgeUseUserType()
})
.catch((err) => {
console.log(err);
});
}
// 判断车辆用户类型
const judgeUseUserType=()=>{
if(state.form.vanType=='1'){
state.vehicleCustomerTypeRange=[
{
'value':0,
'label':"普通车"
}
]
}else{
state.vehicleCustomerTypeRange=[
{
'value':0,
'label':"普通车"
},
{
'value': "道路运输证经营范围仅有“货物专用运输(集装箱) ”的牵引车办理J类型集装箱",
'label': 24,
},
{
'value': "道路运输证经营范围不含“货物专用运输(集装箱)”的牵引车",
'label': 27,
},
{
'value': '道路运输证经营范围除“货物专用运输 (集装 箱)"外,还有“普通货运”等其他项目的牵引车办理J2类型集装箱',
'label': 28,
}
]
}
}
//车牌号输入
const carNumber = (val : any) => {
state.form.vehiclePlate = val.trim();
};
const savaHandle = () => {
if(!state.form.vehPosImgUrl){
msg("请上传新车牌行驶证主页");
return;
}
if(!state.form.vehNegImgUrl){
msg("请上传新车牌行驶证副页");
return;
}
if(!state.form.ownerIdType){
msg("请选择证件类型");
return;
}
if(!checkStr(state.form.ownerIdNum, "card")){
msg("请输入正确变更证件号码");
return;
}
if(!state.form.ownerAddress){
msg("请输入变更地址");
return;
}
if(!state.form.totalMass){
msg("请输入总质量");
return;
}
if(!state.form.maintenanceMass){
msg("请输入整备质量");
return;
}
if(!state.form.axleCount){
msg("请输入车轴数");
return;
}
if(!state.form.vehicleDimensions){
msg("请输入外廓尺寸");
return;
}
if(!state.form.approvedCount){
msg("请输入核定载人数");
return;
}
if(!state.form.engineNum){
msg("请输入发动机号码");
return;
}
if(!state.form.vin){
msg("请输入车辆识别号");
return;
}
if(!state.form.vehicleCustomerType){
msg("请选择车辆用户类型");
return;
}
// 测完放开
// checkCodeRequest().then((val : any) => {
const options = {
type: 2,
data: {
...state.form
},
method: "POST",
showLoading: true,
};
//调用方式
requestNew(licenseInforChangeApply, options)
.then((res) => {
console.log("res",res)
msg(res.msg)
setTimeout(() => {
uni.navigateBack({
delta: 2
})
}, 2000)
})
.catch((err) => {
console.log(err);
});
// })
}
const changeColor = (item) => {
state.form.vehiclePlateColor = item[0].value
state.form.vehiclePlateColorStr = item[0].label
console.log(item)
const checkCodeRequest = () => {
if(!state.code){
msg("请输入验证码");
return;
}
const options = {
type: 2,
data: {
mobile: state.form.ownerTel,
code: state.code
},
method: "POST",
showLoading: true,
};
return new Promise(async (resolve, reject) => {
const res = await requestNew(messageValid, options);
const data = res;
resolve(data);
}).catch((error) => {
reject(error);
});
}
const takePhotoMode = (index) => {
console.log("index", index)
state.isTakePhotoModeShow = true
state.choiceIndex = index
}
// val 1 经办人身份证正面URL 2 办人身份证反面URL 3开户人授权书URL
// val 1 车身45°照 2车头照 3开户人授权书URL 4单位授权书URL 5道路运输证
const cardFileImageUpdate = (val) => {
uni.chooseImage({
count: 1, //只能选取一张照片
@@ -518,13 +668,15 @@ import {
success: function (res) {
uploadFile(res.tempFilePaths[0], "", "").then((data) => {
if (val == 1) {
state.form.ownerPosImgUrl = data;
state.form.vehBodyUrl = data;
} else if(val == 2) {
state.form.ownerNegImgUrl = data;
state.form.vehFrontUrl = data;
}else if(val == 3) {
state.form.ownerLetterOfAuthorizationImgUrl = data;
}else if(val == 4) {
state.form.unitAuthorizationLetterImgUrl = data;
}else if(val == 5) {
state.form.roadTransportPermitPicUrl = data;
}
})
},
@@ -543,7 +695,7 @@ import {
}
const getCode = () => {
console.log(123);
if (checkStr(state.form.newMobile, "mobile")) {
if (checkStr(state.form.ownerTel, "mobile")) {
sendCodeApi()
codeInterval()
} else {
@@ -560,14 +712,14 @@ import {
let options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
data: {
mobile: ""
mobile: state.form.ownerTel
}, //请求参数
method: "POST", //提交方式(默认POST)
showLoading: true, //是否显示加载中(默认显示)
};
//调用方式
requestNew(newMobileSmsCode, options)
requestNew(sendMessage, options)
.then((res) => {
let data = res
console.log(data, "#################");
@@ -582,40 +734,75 @@ import {
}
const confirmReturn = (val) => {
console.log("进来了")
if (state.choiceIndex == 3) {
var imageType = 1;
} else {
var imageType = 2;
}
state.phoneType = 0
state.isTakePhotoModeShow = false
uploadFile(val.tempImagePath, imageType, vehicleLicenseOcr).then((data) => {
console.log('输出内容=====================', state.choiceIndex)
if(state.choiceIndex==1 || state.choiceIndex==2){
var imageType=state.choiceIndex
uploadFile(val.tempImagePath, imageType, idCardOcr).then((data) => {
console.log("身份证上传", data)
if(state.form.userType==1){
// 个人
if (state.choiceIndex == 1) {
state.form.userName = data.name;
state.form.userIdNum = data.idno;
state.form.ownerPosImgUrl = data.imageUrl;
} else {
state.form.ownerNegImgUrl = data.imageUrl;
}
}else{
// 单位
if (state.choiceIndex == 1) {
state.form.agentName = data.name;
state.form.agentIdNum = data.idno;
state.form.agentPosImgurl = data.imageUrl;
} else {
state.form.agentNegImgurl = data.imageUrl;
}
}
state.isTakePhotoModeShow = false
})
}else{
if (state.choiceIndex == 3) {
state.form.ownerName = data.man;
state.form.ownerAddress = data.address;
// state.form.vehicleType = data.vehicle;
state.form.vin = data.vin;
state.form.engineNum = data.engine;
state.form.vehPosImgUrl = data.imageUrl;
state.form.vehPosImgOcrId = data.ocrResultId;
var imageType = 1;
} else {
state.form.approvedCount = data.apc.slice(0,-1);
state.form.maintenaceMass = data.unladen.slice(0,-2);
let overall=data.overall.replaceAll("x", "X")
state.form.vehicleDimensions = overall.slice(0,-2);
state.form.totalMass = data.gross ? data.gross.slice(0,-2) : 0;
state.form.vehNegImgUrl = data.imageUrl;
state.form.vehNegImgOcrId = data.ocrResultId;
// 计算收费车型
calculateVehicleType(state.form.approvedCount,state.form.axleCount,state.form.vehicleDimensions,state.form.totalMass,state.form.vanType, function (res) {
state.form.vehicleTypeNew=res
});
console.log('=====================', state.form.vehNegImgUrl, state)
var imageType = 2;
}
state.isTakePhotoModeShow = false
})
uploadFile(val.tempImagePath, imageType, vehicleLicenseOcr).then((data) => {
console.log('输出内容=====================', state.choiceIndex)
if (state.choiceIndex == 3) {
state.form.ownerName = data.man;
state.form.ownerAddress = data.address;
state.form.vehicleType = data.vehicle;
state.form.vin = data.vin;
state.form.engineNum = data.engine;
state.form.vehPosImgUrl = data.imageUrl;
state.form.vehPosImgOcrId = data.ocrResultId;
state.form.issueDate = data.issue;
} else {
state.form.approvedCount = data.apc.slice(0,-1);
state.form.maintenanceMass = data.unladen.slice(0,-2);
let overall=data.overall.replaceAll("x", "X")
state.form.vehicleDimensions = overall.slice(0,-2);
state.form.totalMass = data.gross ? data.gross.slice(0,-2) : 0;
state.form.vehNegImgUrl = data.imageUrl;
state.form.vehNegImgOcrId = data.ocrResultId;
state.form.permittedTowWeight=data.towing.slice(0,-2)
// 计算收费车型
if(state.form.axleCount){
calculateVehicleType(state.form.approvedCount,state.form.axleCount,state.form.vehicleDimensions,state.form.totalMass,state.form.vanType, function (res) {
state.form.vehicleTypeNew=res
});
}
console.log('=====================', state.form.vehNegImgUrl, state)
}
state.isTakePhotoModeShow = false
})
}
console.log("图片地址val", val.tempImagePath)
}
const camera = () => {
@@ -657,8 +844,9 @@ import {
const radioChangeqyc = (evt) => {
console.log("evt.detail.value", evt.detail.value)
for (let i = 0; i < state.itemsqyc.length; i++) {
if (state.items[i].value == evt.detail.value) {
state.form.isTractor = i;
if (state.itemsqyc[i].value == evt.detail.value) {
console.log("1",state.itemsqyc[i].value,evt.detail.value,state.itemsqyc[i].value == evt.detail.value,i)
state.form.isTractor = state.itemsqyc[i].value;
break;
}
}
@@ -669,6 +857,28 @@ import {
state.form.ownerIdTypeStr = item[0].label
console.log(item)
}
const changeUserIdType = (item) => {
state.form.userIdType = item[0].value
state.form.userIdTypeStr = item[0].label
console.log(item)
}
const changeAgentIdType = (item) => {
state.form.agentIdType = item[0].value
state.form.agentIdTypeStr = item[0].label
console.log(item)
}
const changeAxleCount=(e)=>{
console.log("e",e)
calculateVehicleType(state.form.approvedCount,e,state.form.vehicleDimensions,state.form.totalMass,state.form.vanType, function (res) {
state.form.vehicleTypeNew=res
});
}
const vehicleCustomerTypeType = (item) => {
state.form.vehicleCustomerType = item[0].value
state.form.vehicleCustomerTypeName = item[0].label
console.log(item)
}
</script>

<style lang="scss" scoped>

+ 1
- 0
subpackage/personal-center/vehicle-change/vehicle-change-choiceType.vue Wyświetl plik

@@ -94,6 +94,7 @@
}
//设备预检结果回传
function preDeviceCheckResRequest(){
tools.showLoadingAlert('设备检测')
const options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
showLoading: true,

+ 2
- 1
utils/network/api.js Wyświetl plik

@@ -477,10 +477,11 @@ export const cardBlackListQuery = "/iaw/api/afterSale/cardBlack/cardBlackListQue
//车辆信息变更
// export const vehicleInfoChangeChangeApply = "/iaw/aftersale/vehicleInfoChange/changeApply" //车辆信息变更申请(姚哥得)
export const vehicleInfoChangeQuery = "/iaw/aftersale/vehicleInfoChange/query" //车辆详情信息查询

export const preDeviceCheck = "/iaw/aftersale/deviceUpgrade/preDeviceCheck" //设备预检
export const preDeviceCheckRes = "/iaw/aftersale/deviceUpgrade/preDeviceCheckRes" //设备预检结果回传
export const vehicleInformationChange = "/iaw/aftersale/vehicleInformationChange/vehicleView" //车辆详细信息
export const vehicleInfoChangeApply = "/iaw/aftersale/vehicleInformationChange/vehicleInfoChangeApply" //车辆信息变更申请
export const licenseInforChangeApply = "/iaw/aftersale/vehicleInformationChange/licenseInforChangeApply" //车牌信息变更申请


export const vehicleTypeCount = "/iaw/aftersale/vehicleInformationChange/vehicleTypeCount" //车型计算

Ładowanie…
Anuluj
Zapisz