Pārlūkot izejas kodu

车辆信息变更

修改样式逻辑
yangteng pirms 1 mēnesi
vecāks
revīzija
925372283b

+ 21
- 7
pages.json Parādīt failu

@@ -1622,6 +1622,27 @@
{
"root": "subpackage/personal-center", //个人中心
"pages": [
{
"path": "vehicle-change/car-details",
"style": {
"navigationBarTitleText": "车辆详情",
"enablePullDownRefresh": false
}
},
{
"path": "vehicle-change/vehicle-change-cheliangmsg-write",
"style": {
"navigationBarTitleText": "车辆信息变更",
"enablePullDownRefresh": false
}
},
{
"path": "vehicle-change/vehicle-change-chepai-write",
"style": {
"navigationBarTitleText": "车牌变更填写",
"enablePullDownRefresh": false
}
},
{
"path": "vehicle-change/vehicle-change-chepai",
"style": {
@@ -1692,13 +1713,6 @@
"enablePullDownRefresh": false
}
},
{
"path": "car-details",
"style": {
"navigationBarTitleText": "车辆详情",
"enablePullDownRefresh": false
}
},
{
"path": "get-code",
"style": {

+ 1
- 1
pages/bluetooth/bluetooth.vue Parādīt failu

@@ -727,7 +727,7 @@
});
} else if (routeType.value == "10") {
uni.navigateTo({
url: `/subpackage/personal-center/car-message-change?vehicleId=${state.vehicleId}`,
url: `/subpackage/personal-center/vehicle-change/vehicle-change-choiceType?vehicleId=${state.vehicleId}`,
});
} else {
return;

+ 4
- 5
pages/user/user.vue Parādīt failu

@@ -160,9 +160,9 @@
</view>
</view>
<view class="car-item" v-for="(item,index) in state.list">
<image @click="carDetails(item)" :src="`${$imgUrl}myImage/car.png`" class="car-pic" mode="widthFix">
<image @click="carDetails(item.vehicleId)" :src="`${$imgUrl}myImage/car.png`" class="car-pic" mode="widthFix">
</image>
<view class="car-info" @click="carDetails(item)">
<view class="car-info" @click="carDetails(item.vehicleId)">
<view class="car-no">
<text class="no">{{item.vehiclePlate}}</text>
<text class="color" :style="{ background: item.showColor}">{{item.color}}</text>
@@ -253,10 +253,9 @@
console.log("state.data.opId",state.data.opId)
mobile.value = getItem("mobile");
});
const carDetails = (item) => {
const params = encodeURIComponent(JSON.stringify(item))
const carDetails = (vehicleId) => {
uni.navigateTo({
url: `/subpackage/personal-center/car-details?params=${params}`
url: `/subpackage/personal-center/vehicle-change/car-details?vehicleId=${vehicleId}`
})
}
const goTrajectory = () => {

+ 1
- 1
subpackage/after-sale/activation-once-again/select-car.vue Parādīt failu

@@ -221,7 +221,7 @@ import {getVehiclePlateColor,vehiclePlateColorPai} from "@/datas/vehiclePlateCol
})
}else if (state.type == "38") {
uni.navigateTo({
url: `/subpackage/personal-center/vehicle-change/vehicle-change-choiceType`
url: `/subpackage/personal-center/vehicle-change/vehicle-change-choiceType?vehicleId=${item.vehicleId}&vehiclePlate=${item.vehiclePlate}`
})
}else{
if (item.deviceType == deviceType) {

+ 61
- 6
subpackage/after-sale/blacklist-query/addCar.vue Parādīt failu

@@ -7,25 +7,33 @@
</view>
<!-- 车牌颜色 -->
<view class="chepai-lane">
<view class="title">车牌颜色 <text class='tips'></text></view>
<view class="title">车牌颜色</view>
<numberplate-color :numberplate="state.vehiclePlate"
:numberplateCor='state.vehiclePlateColor' @numberplateResult="checkNumberplateColor">
</numberplate-color>
</view>
<view class="chepai-lane" v-if="state.isBand">
<view class="title">选择卡号</view>
<picker mode="selector" :value="state.index" :range="state.array" @change="choiceCard" class="picker">
<view>{{state.index<0?'请选择':state.array[state.index]}} </view>
</picker>
</view>
</view>
<view class="action">
<button type="default" class="ui-btn" @click="add()">
<button type="default" class="ui-btn" @click="add()" v-if="state.isBand">
绑定
</button>
<button type="default" class="ui-btn" @click="search()" v-else>
查询
</button>
</view>
</template>
<script setup lang="ts">
import { reactive } from "vue";
import { onLoad } from "@dcloudio/uni-app";
import {vehicleBind } from "@/utils/network/api.js";
import {vehicleBind,queryCardInfo } from "@/utils/network/api.js";
import {requestNew } from "@/utils/network/request.js";
import {getItem,StorageKeys } from "@/utils/storage";
import carNumberInput from "../components/car-number-input.vue";
@@ -33,7 +41,11 @@
import {msg} from "@/utils/utils";
const state = reactive({
vehiclePlate: "",
vehiclePlateColor: ""
vehiclePlateColor: "",
index:-1,
array:[],
arrayAll:[],
isBand:false
});
onLoad((option : any) => {
@@ -45,13 +57,23 @@
const checkNumberplateColor = (item : any) => {
state.vehiclePlateColor = item;
};
const search=()=>{
cardList()
}
const add = () => {
if(state.index<0){
msg('请选择卡号');
return;
}
const options = {
type: 2,
data: {
"vehiclePlate": state.vehiclePlate,
"vehiclePlateColor": state.vehiclePlateColor,
"operaterId":getItem(StorageKeys.OpenId)
"operaterId":getItem(StorageKeys.OpenId),
"cardId": state.arrayAll[state.index]['cardId'],
"cardStatus": state.arrayAll[state.index]['cardStatus'],
"cardType": state.arrayAll[state.index]['cardType'],
},
method: 'POST',
showLoading: true,
@@ -65,6 +87,35 @@
})
}
const cardList = () => {
if(!state.vehiclePlate){
msg('请输入车牌号');
return;
}
const options = {
type: 2,
data: {
"vehiclePlate": state.vehiclePlate,
"vehiclePlateColor": state.vehiclePlateColor,
},
method: 'POST',
showLoading: true,
}
requestNew(queryCardInfo, options).then((res) => {
console.log("卡信息",res)
if(res.length>0){
state.isBand=true
state.arrayAll=res
for(var i=0;i<res.length;i++){
state.array.push(res[i]['cardId'])
}
}
})
}
const choiceCard=(e)=>{
console.log("e",e.detail.value)
state.index=e.detail.value
}
</script>

<style scoped lang="scss">
@@ -99,4 +150,8 @@
flex-direction: column;
margin-top: 20rpx;
}
.picker{
border: 1rpx solid #E9EDF0;
padding:10rpx;
}
</style>

+ 12
- 7
subpackage/after-sale/rescind-carId/rescind-carId-select.vue Parādīt failu

@@ -102,11 +102,15 @@
<u-input inputAlign="right" placeholder="请输入所有人" v-model="state.form.vehicleOwnerName" maxlength="20" />
</u-form-item>
<u-form-item label="车牌颜色" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<uni-data-select v-model="state.form.vehiclePlateColor" :localdata="state.colorRange" @change="changeColor"
:clear="false"></uni-data-select>
<!-- <uni-data-select v-model="state.form.vehiclePlateColor" :localdata="state.colorRange" @change="changeColor"
:clear="false"></uni-data-select> -->
<u-input v-model="state.form.vehiclePlateColorStr" type="select" @click="show1 = true" input-align='right'/>
</u-form-item>
</u-form>
</view>
<!-- 选择车牌颜色 -->
<u-select v-model="show1" :list="state.colorRange" @confirm="changeColor"></u-select>
<view class="bg" v-if="state.form.applyType=='2'">
<view class="title"> 单位资料信息 </view>
<view class="picture-wrapper" @click="cardImageOcrYY()">
@@ -316,6 +320,7 @@
orgId:"",//单位证件编号
orgName:"",
orgIdClass:"",//营业执照203
vehiclePlateColorStr:""
},
colorRange: [],
ownerInfo:false,//非本人 个人 车主信息true ==== 本人 个人 false
@@ -328,9 +333,10 @@
const changeisSelf=(e)=>{
state.form.isSelf = e
}
const changeColor = (e) => {
state.form.vehiclePlateColor = e
console.log(e)
const changeColor = (item) => {
state.form.vehiclePlateColor = item[0].value
state.form.vehiclePlateColorStr = item[0].label
console.log(item)
}
//车牌号输入
const carNumber = (val : any) => {
@@ -433,7 +439,7 @@
for (var k = 0; k < getColor.length; k++) {
let obj = {};
obj['value'] = getColor[k]['code']
obj['text'] = getColor[k]['name']
obj['label'] = getColor[k]['name']
state.colorRange.push(obj)
}
});
@@ -591,7 +597,6 @@
text-align: center;
width: 100rpx;
height: 30rpx;
// background: rgba(204, 179, 117);
border-radius: 6rpx;
border: 1rpx solid #CCB375;

+ 0
- 103
subpackage/personal-center/car-details.vue Parādīt failu

@@ -1,103 +0,0 @@
<template>
<view class="allContent">
<view class="list-item">
<view><text>车牌号:</text><text>{{state.tableData['vehiclePlate']}}</text></view>
<view><text>车牌颜色:</text><text>{{state.tableData['color']}}</text></view>
<view><text>所有人:</text><text>{{state.tableData['ownerName']}}</text></view>
<view><text>车辆类型:</text><text>{{state.tableData['vehicleType']}}</text></view>
<view><text>车辆识别代号:</text><text>{{state.tableData['vin']}}</text></view>
<view><text>发动机号码:</text><text>{{state.tableData['engineNum']}}</text></view>
<view><text>核定载人数:</text><text>{{state.tableData['approvedCount']}}人</text></view>
<view><text>整备质量:</text><text>{{state.tableData['maintenaceMass']}}kg</text></view>
<view><text>外廊尺寸:</text><text>{{state.tableData['vehicleDimensions']}}</text></view>
<view><text>总质量:</text><text>{{state.tableData['totalMass']}}Kg</text></view>
<view><text>车轴数:</text><text>{{state.tableData['axleCount']?state.tableData['axleCount']:2}}轴</text></view>
<!-- <view><text>状态:</text><text>{{state.tableData['status']}}</text></view> -->
<view><text>行驶证主页:</text>
<image mode="widthFix" :src="state.tableData['vehPosImgUrl']"></image>
</view>
<view><text>行驶证副页:</text>
<image mode="widthFix" :src="state.tableData['vehNegImgUrl']"></image>
</view>
<view><text>车头照:</text>
<image mode="widthFix" :src="state.tableData['vehBodyUrl']"></image>
</view>
<button v-if="state.tableData['status']=='已办理' && source=='WECHAT'" class="submit"
@click="carChange(state.tableData['vehicleId'])">车辆信息变更</button>
<!-- <button class="submit" @click="carChange(state.tableData['vehicleId'])">车辆信息变更</button> -->
</view>
</view>

</template>

<script setup lang="ts">
import { reactive } from "vue";
import { onLoad } from "@dcloudio/uni-app";
import {navTo} from "@/utils/utils";
import { source } from "@/utils/network/difference";
const state = reactive({
tableData: {}, //上一个页面传递过来的参数
});
onLoad((options) => {
state.tableData = JSON.parse(decodeURIComponent(options.params))
console.log("options.promoteId", 1111, state.tableData)
})
const carChange = (vehicleId) => {
navTo(`/pages/bluetooth/bluetooth?routeType=10&vehicleId=${vehicleId}`)
// uni.navigateTo({
// url: `/subpackage/personal-center/car-message-change?vehicleId=${vehicleId}`
// })
}
</script>

<style scoped>
.allContent {
background-color: #EEF7F7;
overflow: hidden;
}

.list-item {
width: 95%;
border-radius: 10rpx;
font-size: 28rpx;
border: 1rpx solid #ccc;
padding: 12rpx;
box-sizing: border-box;
background-color: white;
margin: 20rpx auto;
}

.list-item>view {
margin-bottom: 20rpx;
display: flex;
align-items: center;
}

.list-item>view>text:first-child {
width: 30%;
display: inline-block;
}

.list-item>view>text:last-child {
width: 70%;
display: inline-block;
word-break: break-all;
}

image {
width: 220rpx;
}

.submit {
margin-top: 100rpx;
width: 670rpx;
height: 80rpx;
background: linear-gradient(to right,#01243A,#004576);
border-radius: 40rpx;
font-size: 32rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #FFFFFF;
line-height: 80rpx;
}
</style>

+ 295
- 0
subpackage/personal-center/vehicle-change/car-details.vue Parādīt failu

@@ -0,0 +1,295 @@
<template>
<view class="bg">
<view class="title_wrap"><text class="title">车辆信息</text></view>
<u-form label-width="230" :model="state.msg" ref="uForm" :label-style='labelStyle'>
<u-form-item label="卡号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input v-model="state.msg['cardId']" input-align='right'/>
</u-form-item>
<u-form-item label="签号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input v-model="state.msg['obuId']" input-align='right'/>
</u-form-item>
<u-form-item label="车辆所有人信息" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
<u-input v-model="state.msg['info']['ownerName']" input-align='right'/>
</u-form-item>
<u-form-item label="车辆所有人证件类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon' v-if="state.msg.info.ownerIdType">
<text>{{getCodeName('CERTIFICATE_TYPE', state.msg.info.ownerIdType)}}</text>
</u-form-item>
<!-- <u-form-item label="车辆所有人证件号码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.msg.info.ownerIdNum" 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.msg.info.ownerName" 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.msg.info.vehiclePlate" inputAlign="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.msg.info.vehicleType" inputAlign="right"/>
</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.msg.info.vin"/>
</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.msg.info.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.msg.info.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.msg.info.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.msg.info.totalMass"/>
</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.msg.info.maintenanceMass"/>
</u-form-item>
<u-form-item label="核定载质量" v-if="state.msg.info.permittedWeight" :left-icon='`${$imgUrl}issuance/point-form.png`'
:left-icon-style='leftIcon'>
<u-input inputAlign="right" placeholder="核定载质量" v-model="state.msg.info.permittedWeight"/>
</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.msg.info.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.msg.info.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.msg.info.wheelCount"/>
</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.msg.info.axleCount"/>
</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.msg.info.useCharacter" />
</u-form-item>
</u-form>
<view class="picture-wrapper" @click="see(strReplace(state.msg.info.vehPosImgUrl))">
<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.msg.info.vehPosImgUrl" class="icon" :src="`${$imgUrl}issuance/xz.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.msg.info.vehPosImgUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="see(strReplace(state.msg.info.vehNegImgUrl))">
<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.msg.info.vehNegImgUrl" class="icon" :src="`${$imgUrl}issuance/xf.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.msg.info.vehNegImgUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="see(state.msg.info.vehBodyUrl)">
<view class="bg1">
<view class="">
<view class="name"> 车头照 </view>
<view class="value"> 上传汽车的45度车头照片 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.msg.info.vehBodyUrl" class="icon" :src="`${$imgUrl}issuance/chetou.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.msg.info.vehBodyUrl)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<button type="default" class="ui-btn" @click="carChange(state.msg.info.vehicleId)" style="width: 638rpx;margin-top: 40rpx;">车辆信息变更</button>
</view>

</template>

<script setup lang="ts">
import { getCodeName } from "@/datas/queryKey.js";
import { reactive } from "vue";
import { onLoad } from "@dcloudio/uni-app";
import {navTo,strReplace} from "@/utils/utils";
import { source } from "@/utils/network/difference";
import {vehicleInformationChange} from "@/utils/network/api.js";
import {requestNew} from "@/utils/network/request.js";
const labelStyle = {
color: "#004576",
fontSize: "28rpx",
}
const leftIcon = {
height: '100%',
width: '8rpx',
display: 'flex',
'align-items': 'center',
'margin-right': '4rpx',
}
const state = reactive({
form: {
customerName: "",
customerTel: "",
vehiclePlate: "",
vehiclePlateColor: "",
vehiclePlateColorStr:"",//车牌颜色中文
questionType:"",
questionTypeStr:"",
etcUser:"",
etcUserStr:"",
eventOccurrenceDate:"",//2016-09-01 00:00:00
supportingMaterialsUrlShow:[],
insertTime:"",
vehicleImagesUrl1:"",
vehicleImagesUrl2:"",
name:"",
part:"",
customerIdNum:"",
customerIdNum1:"",
userImagesUrl1:"",
userImagesUrl2:"",
vin:"",
engineNum:"",
vehBodyUrl:"",
},
vehicleId:"",
msg:{},//所有数据
});
onLoad((options) => {
state.vehicleId=options.vehicleId
getCarDetails()
})
const getCarDetails = () => {
const options = {
type: 2,
data: {
vehicleId:state.vehicleId
},
method: "POST",
showLoading: true,
};
//调用方式
requestNew(vehicleInformationChange, options)
.then((res) => {
console.log('车辆信息', res)
state.msg=res
})
.catch((err) => {
console.log(err);
});
}
const carChange = (vehicleId) => {
navTo(`/pages/bluetooth/bluetooth?routeType=10&vehicleId=${vehicleId}`)
}
const see=(item)=>{
uni.previewImage({
urls:[item],
longPressActions: {
itemList: ['发送给朋友', '保存图片', '收藏'],
success: function(data) {
console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
},
fail: function(err) {
console.log(err.errMsg);
}
}
});
}
</script>

<style scoped lang="scss">
.bg {
background-color: white;
width: 90%;
margin: 0 auto;
margin-top: 20rpx;
border-radius: 12px;
border: 1px solid #FFFFFF;
padding: 30rpx 20rpx;
overflow: hidden;
box-sizing: border-box;
.title_wrap {
display: flex;
font-weight: 400;
justify-content: space-between;
.title {
font-size: 30rpx;
color: #01243A;
}
}
}
.picture-wrapper {
margin-top: 30rpx;
.bg1 {
background: #F5F9FB;
border-radius: 10rpx;
padding: 40rpx 30rpx;
display: flex;
width: 100%;
justify-content: space-between;
box-sizing: border-box;
.name {
padding-top: 30rpx;
font-size: 32rpx;
font-family: SourceHanSansSC, SourceHanSansSC;
font-weight: 500;
color: #111;
line-height: 34rpx;
}
.value {
margin-top: 20rpx;
font-size: 22rpx;
font-family: SourceHanSansSC, SourceHanSansSC;
font-weight: 400;
color: #999999;
line-height: 24rpx;
}
.tip {
margin-top: 20rpx;
text-align: center;
width: 100rpx;
height: 30rpx;
// background: rgba(204, 179, 117);
border-radius: 6rpx;
border: 1rpx solid #CCB375;
.tip-value {
font-size: 20rpx;
font-family: Microsoft YaHei;
font-weight: 400;
color: #CCB375;
line-height: 30rpx;
opacity: 1;
}
}
}
.icon {
width: 304rpx;
height: 190rpx;
background-image: var(--bgimg);
background-size: 100% 100%;
background-repeat: no-repeat;
}
}
</style>

+ 553
- 0
subpackage/personal-center/vehicle-change/vehicle-change-cheliangmsg-write.vue Parādīt failu

@@ -0,0 +1,553 @@
<template>
<view class="bg">
<view class="title_wrap"><text class="title">变更基本信息</text></view>
<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'disabled/>
</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.vehiclePlateColorStr" input-align='right'disabled/>
</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.vehiclePlateColorStr" input-align='right'disabled/>
</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.vehiclePlateColorStr" input-align='right'disabled/>
</u-form-item>
<u-form-item label="OBU卡号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.customerName" inputAlign="right" disabled/>
</u-form-item>
<u-form-item label="ETC卡号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.customerTel" inputAlign="right" disabled/>
</u-form-item>
<view class="picture-wrapper" @click="takePhotoMode('3')">
<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.vehicleImagesUrl1" class="icon" :src="`${$imgUrl}issuance/xz.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.vehicleImagesUrl1)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="takePhotoMode('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.vehicleImagesUrl2" class="icon" :src="`${$imgUrl}issuance/xf.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.vehicleImagesUrl2)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
</u-form>
</view>
<view class="bg">
<view class="title"> 经办人信息 </view>
<view class="picture-wrapper" @click="takePhotoMode('1',false)">
<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.userImagesUrl1" 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.userImagesUrl1)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="takePhotoMode('2',false)">
<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.userImagesUrl2" 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.userImagesUrl2)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}"></image>
</view>
</view>
<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.name" 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-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"
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-form-item>
</u-form>
</view>
<view class="bg">
<view class="title_wrap"><text class="title">车辆信息</text></view>
<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-form-item>
<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-form-item>
<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-form-item>
<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-form-item>
<u-form-item label="车辆号码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.customerName" inputAlign="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.customerTel" inputAlign="right"/>
</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="50" />
</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-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-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="3" />
</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"
/>
</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="7" />
</u-form-item>
<u-form-item label="核定载质量" v-if="state.form.engineNum" :left-icon='`${$imgUrl}issuance/point-form.png`'
:left-icon-style='leftIcon'>
<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.engineNum"
maxlength="7" />
</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="7" />
</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" type="number"
maxlength="2" />
</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" type="number"
maxlength="2" />
</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" type="number"
maxlength="2" />
</u-form-item>
</u-form>
<view class="picture-wrapper" @click="cardFileImageUpdate(1)">
<view class="bg1">
<view class="">
<view class="name"> 车身45°照 </view>
<view class="value"> 上传汽车的45°照 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.vehBodyUrl" class="icon" :src="`${$imgUrl}issuance/chetou.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>
<view class="picture-wrapper" @click="cardFileImageUpdate(1)">
<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/chetou45.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>
<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 class="down" @click="downAuthD">模板下载</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>
</view>
<view class="bg">
<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-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'/>
<text @click="getCode" v-if="waitTime==0" class="search">获取验证码</text>
<text class="btn" v-else>{{waitTime}}后重试</text>
</view>
</u-form-item>
</u-form>
</view>
<view class="action">
<button type="default" class="ui-btn" @click="savaHandle()">
提交
</button>
</view>
<!-- 选择车牌颜色 -->
<u-select v-model="show1" :list="state.colorRange" @confirm="changeColor"></u-select>
</template>

<script setup lang="ts">
import { navTo,uploadFile,strReplace,msg} 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} from "@/utils/network/api.js";
import {requestNew} from "@/utils/network/request.js";
const labelStyle = {
color: "#004576",
fontSize: "28rpx",
}
const leftIcon = {
height: '100%',
width: '8rpx',
display: 'flex',
'align-items': 'center',
'margin-right': '4rpx',
}
const show1 = ref(false)
const show2 = ref(false)
const state = reactive({
form: {
customerName: "",
customerTel: "",
vehiclePlate: "",
vehiclePlateColor: "",
vehiclePlateColorStr:"",//车牌颜色中文
questionType:"",
questionTypeStr:"",
etcUser:"",
etcUserStr:"",
eventOccurrenceDate:"",//2016-09-01 00:00:00
supportingMaterialsUrlShow:[],
insertTime:"",
vehicleImagesUrl1:"",
vehicleImagesUrl2:"",
name:"",
part:"",
customerIdNum:"",
customerIdNum1:"",
userImagesUrl1:"",
userImagesUrl2:"",
vin:"",
engineNum:"",
vehBodyUrl:"",
},
colorRange: [],
questionTypeRange:[
{value: 1, label: "工单1"},
{value: 2, label: "工单2"},
],
etcUserRange:[
{value: 1, label: "是"},
{value: 0, label: "否"},
],
isTakePhotoModeShow: false, //选择拍照方式是否出来
choiceIndex: 1, // 1 身份证正面 2 身份证反面
ownerInfo:false,//非本人 个人 车主信息true ==== 本人 个人 false
})
onLoad((option : any) => {
let getColor = getItem('key')['VEHICLE_COLOR_TYPE'];
for (var k = 0; k < getColor.length; k++) {
let obj = {};
obj['value'] = getColor[k]['code']
obj['label'] = getColor[k]['name']
state.colorRange.push(obj)
}
console.log("state.colorRange",state.colorRange,option)
});
//车牌号输入
const carNumber = (val : any) => {
state.form.vehiclePlate = val.trim();
};
const savaHandle = () => {
}
const changeColor = (item) => {
state.form.vehiclePlateColor = item[0].value
state.form.vehiclePlateColorStr = item[0].label
console.log(item)
}
const takePhotoMode = (index,ownerInfo) => {
console.log("index", index)
state.isTakePhotoModeShow = true
state.choiceIndex = index
state.ownerInfo=ownerInfo
}
//车头照图片上传 val 1 车头照 2 道路运输证
const cardFileImageUpdate = (val) => {
uni.chooseImage({
count: 1, //只能选取一张照片
sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有
sourceType: ["camera", "album"], //从相册选择
success: function (res) {
uploadFile(res.tempFilePaths[0], "", "").then((data) => {
// if (val == 1) {
// state.form.vehBodyUrl = data;
// } else {
// state.form.roadTransportPermitPicUrl = data;
// }
})
},
});
};
let waitTime = ref(0)
//倒计时函数
const codeInterval = () => {
waitTime.value = 60
let timer = setInterval(() => {
if (waitTime.value == 1) {
clearInterval(timer)
}
waitTime.value -= 1
}, 1000)
}
const getCode = () => {
console.log(123);
if (checkStr(state.form.newMobile, "mobile")) {
sendCodeApi()
codeInterval()
} else {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none'
});
}
}
// 发送验证码
const sendCodeApi = () => {
//参数说明
let options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
data: {
mobile: ""
}, //请求参数
method: "POST", //提交方式(默认POST)
showLoading: true, //是否显示加载中(默认显示)
};
//调用方式
requestNew(newMobileSmsCode, options)
.then((res) => {
let data = res
console.log(data, "#################");
if (data.info == "成功") {
msg("发送成功")
console.log('######################CCCCCCCCCCCCCCCCC');
}
})
.catch((err) => {
console.log(err);
});
}
</script>

<style lang="scss" scoped>
.bg {
background-color: white;
width: 90%;
margin: 0 auto;
margin-top: 20rpx;
border-radius: 12px;
border: 1px solid #FFFFFF;
padding: 30rpx 20rpx;
overflow: hidden;
box-sizing: border-box;

.title_wrap {
display: flex;
font-weight: 400;
justify-content: space-between;
.title {
font-size: 30rpx;
color: #01243A;
}
}

.des {
font-weight: 400;
font-size: 28rpx;
color: #01243A;
line-height: 56rpx;
margin-top: 10rpx;
text-indent: 1rem;
}
}

.action {
position: absolute;
left: 0;
height: 160rpx;
background-color: #fff;
border-radius: 30rpx 30rpx 0 0;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
margin-top: 20rpx;
}
.card{
display: flex;
align-items: center;
image{
width: 120rpx;
height: 120rpx;
margin-right: 20rpx;
}
.details view:first-child{
margin-bottom: 10rpx;
}
}
.picture-wrapper {
margin-top: 30rpx;
.bg1 {
background: #F5F9FB;
border-radius: 10rpx;
padding: 40rpx 30rpx;
display: flex;
// align-items: center;
justify-content: space-between;
.name {
padding-top: 30rpx;
font-size: 32rpx;
font-family: SourceHanSansSC, SourceHanSansSC;
font-weight: 500;
color: #111;
line-height: 34rpx;
}
.value {
margin-top: 20rpx;
font-size: 22rpx;
font-family: SourceHanSansSC, SourceHanSansSC;
font-weight: 400;
color: #999999;
line-height: 24rpx;
}
.tip {
margin-top: 20rpx;
text-align: center;
width: 100rpx;
height: 30rpx;
border-radius: 6rpx;
border: 1rpx solid #CCB375;
.tip-value {
font-size: 20rpx;
font-family: Microsoft YaHei;
font-weight: 400;
color: #CCB375;
line-height: 30rpx;
opacity: 1;
}
}
}
.icon {
width: 304rpx;
height: 190rpx;
background-image: var(--bgimg);
background-size: 100% 100%;
background-repeat: no-repeat;
}
}
.search{
background: #F8F4E7;
border-radius: 10rpx;
border: 1px solid #CCB375;
font-size: 24rpx;
color: #CCB375;
padding: 0rpx 14rpx;
flex-shrink: 0;
height: 60rpx;
line-height: 60rpx;
margin-left: 20rpx;
}
</style>

+ 553
- 0
subpackage/personal-center/vehicle-change/vehicle-change-chepai-write.vue Parādīt failu

@@ -0,0 +1,553 @@
<template>
<view class="bg">
<view class="title_wrap"><text class="title">变更基本信息</text></view>
<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'disabled/>
</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.vehiclePlateColorStr" input-align='right'disabled/>
</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.vehiclePlateColorStr" input-align='right'disabled/>
</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.vehiclePlateColorStr" input-align='right'disabled/>
</u-form-item>
<u-form-item label="OBU卡号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.customerName" inputAlign="right" disabled/>
</u-form-item>
<u-form-item label="ETC卡号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.customerTel" inputAlign="right" disabled/>
</u-form-item>
<view class="picture-wrapper" @click="takePhotoMode('3')">
<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.vehicleImagesUrl1" class="icon" :src="`${$imgUrl}issuance/xz.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.vehicleImagesUrl1)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="takePhotoMode('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.vehicleImagesUrl2" class="icon" :src="`${$imgUrl}issuance/xf.png`"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
</image>
<image v-else class="icon" :src="strReplace(state.form.vehicleImagesUrl2)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
</view>
</view>
</u-form>
</view>
<view class="bg">
<view class="title"> 经办人信息 </view>
<view class="picture-wrapper" @click="takePhotoMode('1',false)">
<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.userImagesUrl1" 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.userImagesUrl1)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}"></image>
</view>
</view>
<view class="picture-wrapper" @click="takePhotoMode('2',false)">
<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.userImagesUrl2" 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.userImagesUrl2)"
:style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png`}"></image>
</view>
</view>
<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.name" 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-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"
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-form-item>
</u-form>
</view>
<view class="bg">
<view class="title_wrap"><text class="title">车辆信息</text></view>
<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-form-item>
<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-form-item>
<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-form-item>
<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-form-item>
<u-form-item label="车辆号码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
borderBottom>
<u-input v-model="state.form.customerName" inputAlign="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.customerTel" inputAlign="right"/>
</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="50" />
</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-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-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="3" />
</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"
/>
</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="7" />
</u-form-item>
<u-form-item label="核定载质量" v-if="state.form.engineNum" :left-icon='`${$imgUrl}issuance/point-form.png`'
:left-icon-style='leftIcon'>
<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.engineNum"
maxlength="7" />
</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="7" />
</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" type="number"
maxlength="2" />
</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" type="number"
maxlength="2" />
</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" type="number"
maxlength="2" />
</u-form-item>
</u-form>
<view class="picture-wrapper" @click="cardFileImageUpdate(1)">
<view class="bg1">
<view class="">
<view class="name"> 车身45°照 </view>
<view class="value"> 上传汽车的45°照 </view>
<view class="tip">
<view class="tip-value"> 拍摄规范 </view>
</view>
</view>
<image v-if="!state.form.vehBodyUrl" class="icon" :src="`${$imgUrl}issuance/chetou.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>
<view class="picture-wrapper" @click="cardFileImageUpdate(1)">
<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/chetou45.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>
<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 class="down" @click="downAuthD">模板下载</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>
</view>
<view class="bg">
<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-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'/>
<text @click="getCode" v-if="waitTime==0" class="search">获取验证码</text>
<text class="btn" v-else>{{waitTime}}后重试</text>
</view>
</u-form-item>
</u-form>
</view>
<view class="action">
<button type="default" class="ui-btn" @click="savaHandle()">
提交
</button>
</view>
<!-- 选择车牌颜色 -->
<u-select v-model="show1" :list="state.colorRange" @confirm="changeColor"></u-select>
</template>

<script setup lang="ts">
import { navTo,uploadFile,strReplace,msg} 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} from "@/utils/network/api.js";
import {requestNew} from "@/utils/network/request.js";
const labelStyle = {
color: "#004576",
fontSize: "28rpx",
}
const leftIcon = {
height: '100%',
width: '8rpx',
display: 'flex',
'align-items': 'center',
'margin-right': '4rpx',
}
const show1 = ref(false)
const show2 = ref(false)
const state = reactive({
form: {
customerName: "",
customerTel: "",
vehiclePlate: "",
vehiclePlateColor: "",
vehiclePlateColorStr:"",//车牌颜色中文
questionType:"",
questionTypeStr:"",
etcUser:"",
etcUserStr:"",
eventOccurrenceDate:"",//2016-09-01 00:00:00
supportingMaterialsUrlShow:[],
insertTime:"",
vehicleImagesUrl1:"",
vehicleImagesUrl2:"",
name:"",
part:"",
customerIdNum:"",
customerIdNum1:"",
userImagesUrl1:"",
userImagesUrl2:"",
vin:"",
engineNum:"",
vehBodyUrl:"",
},
colorRange: [],
questionTypeRange:[
{value: 1, label: "工单1"},
{value: 2, label: "工单2"},
],
etcUserRange:[
{value: 1, label: "是"},
{value: 0, label: "否"},
],
isTakePhotoModeShow: false, //选择拍照方式是否出来
choiceIndex: 1, // 1 身份证正面 2 身份证反面
ownerInfo:false,//非本人 个人 车主信息true ==== 本人 个人 false
})
onLoad((option : any) => {
let getColor = getItem('key')['VEHICLE_COLOR_TYPE'];
for (var k = 0; k < getColor.length; k++) {
let obj = {};
obj['value'] = getColor[k]['code']
obj['label'] = getColor[k]['name']
state.colorRange.push(obj)
}
console.log("state.colorRange",state.colorRange,option)
});
//车牌号输入
const carNumber = (val : any) => {
state.form.vehiclePlate = val.trim();
};
const savaHandle = () => {
}
const changeColor = (item) => {
state.form.vehiclePlateColor = item[0].value
state.form.vehiclePlateColorStr = item[0].label
console.log(item)
}
const takePhotoMode = (index,ownerInfo) => {
console.log("index", index)
state.isTakePhotoModeShow = true
state.choiceIndex = index
state.ownerInfo=ownerInfo
}
//车头照图片上传 val 1 车头照 2 道路运输证
const cardFileImageUpdate = (val) => {
uni.chooseImage({
count: 1, //只能选取一张照片
sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有
sourceType: ["camera", "album"], //从相册选择
success: function (res) {
uploadFile(res.tempFilePaths[0], "", "").then((data) => {
// if (val == 1) {
// state.form.vehBodyUrl = data;
// } else {
// state.form.roadTransportPermitPicUrl = data;
// }
})
},
});
};
let waitTime = ref(0)
//倒计时函数
const codeInterval = () => {
waitTime.value = 60
let timer = setInterval(() => {
if (waitTime.value == 1) {
clearInterval(timer)
}
waitTime.value -= 1
}, 1000)
}
const getCode = () => {
console.log(123);
if (checkStr(state.form.newMobile, "mobile")) {
sendCodeApi()
codeInterval()
} else {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none'
});
}
}
// 发送验证码
const sendCodeApi = () => {
//参数说明
let options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
data: {
mobile: ""
}, //请求参数
method: "POST", //提交方式(默认POST)
showLoading: true, //是否显示加载中(默认显示)
};
//调用方式
requestNew(newMobileSmsCode, options)
.then((res) => {
let data = res
console.log(data, "#################");
if (data.info == "成功") {
msg("发送成功")
console.log('######################CCCCCCCCCCCCCCCCC');
}
})
.catch((err) => {
console.log(err);
});
}
</script>

<style lang="scss" scoped>
.bg {
background-color: white;
width: 90%;
margin: 0 auto;
margin-top: 20rpx;
border-radius: 12px;
border: 1px solid #FFFFFF;
padding: 30rpx 20rpx;
overflow: hidden;
box-sizing: border-box;

.title_wrap {
display: flex;
font-weight: 400;
justify-content: space-between;
.title {
font-size: 30rpx;
color: #01243A;
}
}

.des {
font-weight: 400;
font-size: 28rpx;
color: #01243A;
line-height: 56rpx;
margin-top: 10rpx;
text-indent: 1rem;
}
}

.action {
position: absolute;
left: 0;
height: 160rpx;
background-color: #fff;
border-radius: 30rpx 30rpx 0 0;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
margin-top: 20rpx;
}
.card{
display: flex;
align-items: center;
image{
width: 120rpx;
height: 120rpx;
margin-right: 20rpx;
}
.details view:first-child{
margin-bottom: 10rpx;
}
}
.picture-wrapper {
margin-top: 30rpx;
.bg1 {
background: #F5F9FB;
border-radius: 10rpx;
padding: 40rpx 30rpx;
display: flex;
// align-items: center;
justify-content: space-between;
.name {
padding-top: 30rpx;
font-size: 32rpx;
font-family: SourceHanSansSC, SourceHanSansSC;
font-weight: 500;
color: #111;
line-height: 34rpx;
}
.value {
margin-top: 20rpx;
font-size: 22rpx;
font-family: SourceHanSansSC, SourceHanSansSC;
font-weight: 400;
color: #999999;
line-height: 24rpx;
}
.tip {
margin-top: 20rpx;
text-align: center;
width: 100rpx;
height: 30rpx;
border-radius: 6rpx;
border: 1rpx solid #CCB375;
.tip-value {
font-size: 20rpx;
font-family: Microsoft YaHei;
font-weight: 400;
color: #CCB375;
line-height: 30rpx;
opacity: 1;
}
}
}
.icon {
width: 304rpx;
height: 190rpx;
background-image: var(--bgimg);
background-size: 100% 100%;
background-repeat: no-repeat;
}
}
.search{
background: #F8F4E7;
border-radius: 10rpx;
border: 1px solid #CCB375;
font-size: 24rpx;
color: #CCB375;
padding: 0rpx 14rpx;
flex-shrink: 0;
height: 60rpx;
line-height: 60rpx;
margin-left: 20rpx;
}
</style>

+ 1
- 2
subpackage/personal-center/vehicle-change/vehicle-change-chepai.vue Parādīt failu

@@ -22,7 +22,7 @@
borderBottom>
</u-form-item>
<view class="card">
<image :src='`${$imgUrl}issuance/obuPicture.png`' mode=""></image>
<image :src='`${$imgUrl}issuance/cardPicture.png`' mode=""></image>
<view class="details">
<view>储蓄卡</view>
<view>卡号:100101010101</view>
@@ -158,7 +158,6 @@ import {requestNew} from "@/utils/network/request.js";
.title_wrap {
display: flex;
font-weight: 400;
margin-bottom: 40rpx;
justify-content: space-between;
.title {
font-size: 30rpx;

+ 89
- 8
subpackage/personal-center/vehicle-change/vehicle-change-choiceType.vue Parādīt failu

@@ -1,13 +1,13 @@
<template>
<view class="content">
<view class="tilte">贵A12345</view>
<view class="tilte">{{state.vehiclePlate}}</view>
<view class="list">
<radio-group @change="radioChange">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in state.items" :key="item.value">
<view class="item">
<image :src='`${$imgUrl}${item.url}`' mode=""></image>
<text class="name">{{item.name}}</text>
<radio :value="item.value" :checked="index === state.current" />
<radio :value="item.value" :checked="index === state.isVehiclePlateChange" />
</view>
</label>
</radio-group>
@@ -32,31 +32,112 @@
import {navTo} from "@/utils/utils";
import {reactive} from "vue";
import {onLoad} from "@dcloudio/uni-app";
import {preDeviceCheck,preDeviceCheckRes} from "@/utils/network/api.js";
const tools = require("../../../static/etcUtil/tools.js");
const bluetoothUtil = require("../../../static/etcUtil/index.js");
import {requestNew} from "@/utils/network/request.js";
const state = reactive({
items: [{
value: 'USA',
value: 0,
name: 'ETC车辆信息变更',
checked: 'true',
url:"issuance/carmsg.png"
},
{
value: 'CHN',
value: 1,
name: 'ETC车牌变更',
url:"issuance/carmsg1.png"
},
],
current: 0
isVehiclePlateChange: 0,
vehicleId:"",
vehiclePlate:""
});
onLoad((options) => {
state.vehicleId=options.vehicleId
state.vehiclePlate=options.vehicleId.split("_")[0]
getDeviceUpgradeNew()
console.log("options",options)
})
function getDeviceUpgradeNew(){
tools.showLoadingAlert('设备检测')
const options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
showLoading: true,
data: {}, //请求参数
method: "POST", //提交方式(默认POST)
};
console.log("options2222", options)
requestNew(preDeviceCheck, options)
.then((res) => {
console.log("设备预检成功", res);
bluetoothUtil.transCmd(res.cardCmd.split(','), '10', function(rescard) {
state.cardCmdResult=rescard.toString()
console.log("res卡",rescard)
bluetoothUtil.transCmd(res.obuCmd.split(','), '20', function(resobu) {
state.obuCmdResult=resobu.toString()
preDeviceCheckResRequest()
}, () => {
tools.hideLoadingAlert();
});
}, () => {
tools.hideLoadingAlert();
});
})
.catch((err) => {
console.log(err);
tools.hideLoadingAlert();
});
}
//设备预检结果回传
function preDeviceCheckResRequest(){
const options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
showLoading: true,
data: {
cardCmdResult:state.cardCmdResult,
obuCmdResult:state.obuCmdResult
}, //请求参数
method: "POST", //提交方式(默认POST)
};
console.log("options2222", options)
requestNew(preDeviceCheckRes, options)
.then((res) => {
console.log("设备预检结果回传", res);
tools.hideLoadingAlert();
if(!res.cardCheckPass){
msg("请更换卡")
return;
}
if(!res.obuCheckPass){
msg("请更换签")
return;
}
if(!res.cardCheckPass && !res.obuCheckPass){
msg("请更换卡签")
return;
}
if(res.cardCheckPass && res.obuCheckPass){
console.log("成功")
}
})
.catch((err) => {
console.log(err);
tools.hideLoadingAlert();
});
}
const radioChange=(evt) =>{
console.log("evt.detail.value",evt.detail.value)
for (let i = 0; i < state.items.length; i++) {
if (state.items[i].value === evt.detail.value) {
state.current = i;
if (state.items[i].value == evt.detail.value) {
state.isVehiclePlateChange = i;
break;
}
}
console.log("state.isVehiclePlateChange",state.isVehiclePlateChange)
}
const savaHandle=()=>{
navTo(`/subpackage/personal-center/vehicle-change/vehicle-change-direction`)
navTo(`/subpackage/personal-center/vehicle-change/vehicle-change-direction?vehicleId=${state.vehicleId}&isVehiclePlateChange=${state.isVehiclePlateChange}`)
}
</script>


+ 28
- 14
subpackage/personal-center/vehicle-change/vehicle-change-direction.vue Parādīt failu

@@ -1,7 +1,7 @@
<template>
<view>
<view class="top-tip">
<image src="/static/image/myx.png" mode=""></image>
<image :src="`${$imgUrl}issuance/vehicle1.png`" mode=""></image>
<view>
<view style="margin-bottom: 6rpx;">使用场景</view>
<view>需要变更车辆信息,包括信息修改及车牌变更。</view>
@@ -10,7 +10,7 @@
<view class="bg" style="margin-top: -10rpx;">
<view class="title"> 需要准备的材料 </view>
<view class="cailiao">
<view class="list" v-for="(item,index) in list">
<view class="list" v-for="(item,index) in list" :key="index">
<view>{{item.name}}</view>
<view class="tip">{{item.tip}}</view>
<image class="icon" :src="`${$imgUrl}${item.img}`"
@@ -39,48 +39,49 @@
</view>
<view class="dot_wrap_right">
<view class="item">
<image :src="`${$imgUrl}issuance/direction1.png`"></image>
<image :src="`${$imgUrl}issuance/ydy1.png`"></image>
<view class="destion">
<view class="destion1">选择变更车辆</view>
<view class="destion2">辅助说明。</view>
</view>
<image :src="`${$imgUrl}issuance/direction4.png`"></image>
<image :src="`${$imgUrl}issuance/ydy2.png`"></image>
</view>
<view class="item">
<image :src="`${$imgUrl}issuance/direction2.png`"></image>
<image :src="`${$imgUrl}issuance/ydy3.png`"></image>
<view class="destion">
<view class="destion1">选择变更类型</view>
<view class="destion2">辅助说明</view>
</view>
<image :src="`${$imgUrl}issuance/ydy4.png`"></image>
</view>
<view class="item">
<image :src="`${$imgUrl}issuance/direction3.png`"></image>
<image :src="`${$imgUrl}issuance/ydy5.png`"></image>
<view class="destion">
<view class="destion1">设备预检</view>
<view class="destion2">辅助说明</view>
</view>
</view>
<view class="item">
<image :src="`${$imgUrl}issuance/direction1.png`"></image>
<image :src="`${$imgUrl}issuance/ydy6.png`"></image>
<view class="destion">
<view class="destion1">资料提交</view>
<view class="destion2">根据实际使用和购买产品产生。</view>
</view>
<image :src="`${$imgUrl}issuance/direction4.png`"></image>
</view>
<view class="item">
<image :src="`${$imgUrl}issuance/direction2.png`"></image>
<image :src="`${$imgUrl}issuance/ydy9.png`"></image>
<view class="destion">
<view class="destion1">资料审核</view>
<view class="destion2">辅助说明</view>
</view>
</view>
<view class="item" style="margin-bottom: 0;">
<image :src="`${$imgUrl}issuance/direction3.png`"></image>
<image :src="`${$imgUrl}issuance/ydy7.png`"></image>
<view class="destion">
<view class="destion1">设备升级</view>
<view class="destion2">辅助说明</view>
</view>
<image :src="`${$imgUrl}issuance/ydy8.png`"></image>
</view>
</view>
</view>
@@ -97,9 +98,12 @@

<script setup lang="ts">
import {navTo} from "@/utils/utils";
import {
ref
} from "vue";
import {reactive,ref} from "vue";
import {onLoad} from "@dcloudio/uni-app";
const state = reactive({
isVehiclePlateChange: 0,
vehicleId:"",
});
const list=ref([
{'name':"申请人身份证正面",'img':"issuance/sfz.png"},
{'name':"车辆行驶证",'img':"issuance/xz.png"},
@@ -108,8 +112,18 @@
{'name':"单位授权书",'img':"issuance/weituo.png","tip":"(单位必传)"},
{'name':"营业执照",'img':"issuance/zhizhaoNew.png","tip":"(单位必传)"},
])
onLoad((options) => {
state.vehicleId=options.vehicleId
state.isVehiclePlateChange=options.isVehiclePlateChange
console.log("options",options)
})
const savaHandle = () => {
navTo(`/subpackage/after-sale/rescind-carId/rescind-carId-select`)
if(state.isVehiclePlateChange==1){
navTo(`/subpackage/personal-center/vehicle-change/vehicle-change-chepai?vehicleId=${state.vehicleId}&isVehiclePlateChange=${state.isVehiclePlateChange}`)
}else{
navTo(`/subpackage/personal-center/vehicle-change/vehicle-change-cheliangmsg-write?vehicleId=${state.vehicleId}&isVehiclePlateChange=${state.isVehiclePlateChange}`)
}
}
const progressQuery = () => {
}

+ 9
- 6
utils/network/api.js Parādīt failu

@@ -369,18 +369,13 @@ export const etcSmsCodeValid = "/iaw/aftersale/etcMobileChange/etcSmsCodeValid"
export const newMobileSmsCode = "/iaw/aftersale/etcMobileChange/newMobileSmsCode" //ETC预留手机号修改-新手机验证码发送
export const newMobileSmsCodeValid = "/iaw/aftersale/etcMobileChange/newMobileSmsCodeValid" //ETC预留手机号修改-验证码验证(新手机号)
export const mobileChangeProfile = "/iaw/aftersale/etcMobileChange/mobileChangeProfile" //ETC预留手机号修改-ocr识别记录上传
//车辆信息变更
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 secondActiveInstallApply = "/iaw/api/secondActive/installApply" // OBU安装申请
export const vfjObuActive = "/iaw/vfj/obuActive" // VFJ-OBU激活申请
export const vfjCfmActive = "/iaw/vfj/cfmActive" // VFJ-OBU激活确认
export const issueConfirm = "/iaw/api/secondActive/issueConfirm" // OBU发行确认接口
export const reactivateQuery = "/iaw/api/obu/reactivate/query" // 重新激活记录
export const reactivateConfirm = "/iaw/api/obu/reactivate/confirm" // 重新激活新增记录
export const reactivateQuery = "/iaw/api/obu/reactivate/query" // 重新激活记录
// 设备更换(售后)
export const changeCardObuApply = "/iaw/api/afterSale/changeCardObu/apply" // 卡签更换申请
export const changeCardObuCancel = "/iaw/api/afterSale/changeCardObu/cancel" // 卡签更换申请取消
@@ -476,5 +471,13 @@ export const selfServiceUserUpload = "/iaw/api/afterSale/selfService/userUpload"
export const vehicleBind = "/iaw/api/vehicle/bind" //车辆绑定(所有售后)
export const queryVehicleBind = "/iaw/api/vehicle/page" //车辆绑定列表查询
export const vehicleUnBind = "/iaw/api/vehicle/unBind" //车辆解绑
export const queryCardInfo = "/iaw/api/vehicle/queryCardInfo" //etc卡信息查询
// 黑名单
export const cardBlackListQuery = "/iaw/api/afterSale/cardBlack/cardBlackListQuery" //黑名单列表查询
//车辆信息变更
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" //车辆详细信息

Notiek ielāde…
Atcelt
Saglabāt