"navigationBarTitleText": "设置-个人信息-变更" | "navigationBarTitleText": "设置-个人信息-变更" | ||||
} | } | ||||
}, | }, | ||||
{ | |||||
"path": "setting/personal-information/choice-verification-way", | |||||
"style": { | |||||
"navigationBarTitleText": "选择验证方式" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "setting/personal-information/etc-phone", | |||||
"style": { | |||||
"navigationBarTitleText": "验证" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "setting/personal-information/change-phone", | |||||
"style": { | |||||
"navigationBarTitleText": "修改手机号" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "setting/personal-information/choice-phone", | |||||
"style": { | |||||
"navigationBarTitleText": "选择修改手机号" | |||||
} | |||||
}, | |||||
{ | { | ||||
"path": "setting/personal-information/user-change", | "path": "setting/personal-information/user-change", | ||||
"style": { | "style": { |
// #ifdef MP-WEIXIN | // #ifdef MP-WEIXIN | ||||
if (state.difference == "1") { | if (state.difference == "1") { | ||||
uni.navigateTo({ | uni.navigateTo({ | ||||
url: `/subpackage/after-sale/activation-once-again/activation-once-again?status=true&state=true&id=${state.id}&vehPosImgUrl=${state.vehPosImgUrl}&vehNegImgUrl=${state.vehNegImgUrl}`, | |||||
url: `/subpackage/after-sale/activation-once-again/activation-once-again?status=true&state=true&vehicleId=${state.vehicleId}&vehPosImgUrl=${state.vehPosImgUrl}&vehNegImgUrl=${state.vehNegImgUrl}`, | |||||
}); | }); | ||||
} else if (state.difference == "2") { | } else if (state.difference == "2") { | ||||
uni.navigateTo({ | uni.navigateTo({ |
import navBar from "../../components/nav-bar/nav-bar2.vue"; | import navBar from "../../components/nav-bar/nav-bar2.vue"; | ||||
import { onLoad, onShow, onPageScroll } from "@dcloudio/uni-app"; | import { onLoad, onShow, onPageScroll } from "@dcloudio/uni-app"; | ||||
import { | import { | ||||
userInfoIndex, selectCarInfo, delCarInfo, showEquityListApi | |||||
userInfoIndex, vehicleInfoChangeEditablePage, delCarInfo, showEquityListApi | |||||
} from "@/utils/network/api.js"; | } from "@/utils/network/api.js"; | ||||
import { | import { | ||||
request | |||||
request,requestNew | |||||
} from "@/utils/network/request.js"; | } from "@/utils/network/request.js"; | ||||
import { | import { | ||||
stringToJson | stringToJson | ||||
showLoading: true, | showLoading: true, | ||||
}; | }; | ||||
//调用方式 | //调用方式 | ||||
request(selectCarInfo, options).then((res) => { | |||||
requestNew(vehicleInfoChangeEditablePage, options).then((res) => { | |||||
const data = (stringToJson(res.bizContent).vehicleManages) | const data = (stringToJson(res.bizContent).vehicleManages) | ||||
for (var i = 0; i < data.length; i++) { | for (var i = 0; i < data.length; i++) { | ||||
for (var j = 0; j < vehiclePlateColorPai.length; j++) { | for (var j = 0; j < vehiclePlateColorPai.length; j++) { |
strReplace, | strReplace, | ||||
uploadFile, | uploadFile, | ||||
desensitization, | desensitization, | ||||
compressImage, | |||||
chooseImageCompress | chooseImageCompress | ||||
} from "@/utils/utils"; | } from "@/utils/utils"; | ||||
import { | import { | ||||
onLoad, onShow | |||||
onLoad | |||||
} from '@dcloudio/uni-app' | } from '@dcloudio/uni-app' | ||||
import { | import { | ||||
request | |||||
request,requestNew | |||||
} from "@/utils/network/request.js"; | } from "@/utils/network/request.js"; | ||||
import { | import { | ||||
stringToJson | stringToJson | ||||
getCodeName | getCodeName | ||||
} from "@/datas/queryKey.js"; | } from "@/datas/queryKey.js"; | ||||
import { agentId } from "@/utils/network/difference"; | import { agentId } from "@/utils/network/difference"; | ||||
import { secondActiveInstallApply,writeActiveInfo,issueConfirm,commGetDetail,reactivateQuery} from "@/utils/network/api"; | |||||
const state = reactive({ | const state = reactive({ | ||||
phoneType: 0, // 1 身份证正面 2 身份证反面 3行驶证正面 4行驶证反面 | phoneType: 0, // 1 身份证正面 2 身份证反面 3行驶证正面 4行驶证反面 | ||||
vehicleIdNumB: '' | vehicleIdNumB: '' | ||||
}, | }, | ||||
activationNum: "",//激活次数 | activationNum: "",//激活次数 | ||||
vehicleId:"" | |||||
}) | }) | ||||
//订单 | //订单 | ||||
onLoad((option) => { | onLoad((option) => { | ||||
ids = option.id; | ids = option.id; | ||||
state.vehicleId = option.vehicleId; | |||||
if (option.status) { | if (option.status) { | ||||
state.form.vehPosImgUrl=option.vehPosImgUrl | state.form.vehPosImgUrl=option.vehPosImgUrl | ||||
state.form.vehNegImgUrl=option.vehNegImgUrl | state.form.vehNegImgUrl=option.vehNegImgUrl | ||||
queryOrderDetail(option.id, () => { getObuId() }) | |||||
queryOrderDetail(option.vehicleId, () => { getObuId() }) | |||||
} else { | } else { | ||||
queryOrderDetail(option.id, () => { }) | |||||
queryOrderDetail(option.vehicleId, () => { }) | |||||
} | } | ||||
}); | }); | ||||
const cancel = () => { | const cancel = () => { | ||||
state.showPopup = false; | state.showPopup = false; | ||||
}; | }; | ||||
activationRecordQuery().then((val) => { | activationRecordQuery().then((val) => { | ||||
console.log("激活次数", val) | console.log("激活次数", val) | ||||
if (val.limit) { | if (val.limit) { | ||||
navTo(`/pages/bluetooth/bluetooth?routeType=5&id=${ids}&difference=1&vehPosImgUrl=${state.form.vehPosImgUrl}&vehNegImgUrl=${state.form.vehNegImgUrl}`); | |||||
navTo(`/pages/bluetooth/bluetooth?routeType=5&vehicleId=${state.vehicleId}&difference=1&vehPosImgUrl=${state.form.vehPosImgUrl}&vehNegImgUrl=${state.form.vehNegImgUrl}`); | |||||
} else { | } else { | ||||
msg("一年内到达激活次数上限5次") | msg("一年内到达激活次数上限5次") | ||||
} | } | ||||
}; | }; | ||||
//获取订单详情 | //获取订单详情 | ||||
const queryOrderDetail = (id : string, caback) => { | |||||
const queryOrderDetail = (vehicleId : string, caback) => { | |||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
data: { | data: { | ||||
id: id, | |||||
vehicleId | |||||
}, | }, | ||||
method: "POST", | method: "POST", | ||||
showLoading: true, | showLoading: true, | ||||
}; | }; | ||||
request(IFCODE.orderDetail, options).then((res) => { | |||||
let orderInfo = JSON.parse(res.bizContent); | |||||
requestNew(commGetDetail, options).then((res) => { | |||||
let orderInfo = res; | |||||
console.log(orderInfo); | console.log(orderInfo); | ||||
orderInfos.orderId = orderInfo.orderId; | orderInfos.orderId = orderInfo.orderId; | ||||
orderInfos.customerName = orderInfo.customerName; | orderInfos.customerName = orderInfo.customerName; | ||||
showLoading: true, //是否显示加载中(默认显示) | showLoading: true, //是否显示加载中(默认显示) | ||||
}; | }; | ||||
//调用方式 | //调用方式 | ||||
request(IFCODE.installApply, options) | |||||
requestNew(secondActiveInstallApply, options) | |||||
.then(() => { | .then(() => { | ||||
tools.hideLoadingAlert(); | tools.hideLoadingAlert(); | ||||
//再次获取随机数 | //再次获取随机数 | ||||
showLoading: true, //是否显示加载中(默认显示) | showLoading: true, //是否显示加载中(默认显示) | ||||
}; | }; | ||||
//调用方式 | //调用方式 | ||||
request(IFCODE.obuActivation, options) | |||||
requestNew(writeActiveInfo, options) | |||||
.then((res) => { | .then((res) => { | ||||
tools.hideLoadingAlert(); | tools.hideLoadingAlert(); | ||||
console.log("在线激活 请求"); | console.log("在线激活 请求"); | ||||
showLoading: true, //是否显示加载中(默认显示) | showLoading: true, //是否显示加载中(默认显示) | ||||
}; | }; | ||||
//调用方式 | //调用方式 | ||||
request(IFCODE.obuInstall, options) | |||||
requestNew(issueConfirm, options) | |||||
.then(() => { | .then(() => { | ||||
tools.hideLoadingAlert(); | tools.hideLoadingAlert(); | ||||
state.showPopup = true; | state.showPopup = true; | ||||
}; | }; | ||||
return new Promise(async (resolve, reject) => { | return new Promise(async (resolve, reject) => { | ||||
const res = await request(IFCODE.activationRecordApi, options); | |||||
const data = stringToJson(res.bizContent); | |||||
const res = await requestNew(reactivateQuery, options); | |||||
const data = res; | |||||
resolve(data); | resolve(data); | ||||
}).catch((error) => { | }).catch((error) => { | ||||
reject(error); | reject(error); |
} from "@dcloudio/uni-app"; | } from "@dcloudio/uni-app"; | ||||
import { | import { | ||||
orderList, | orderList, | ||||
workOrderList, | |||||
deviceUpgradeOrderCheck, | |||||
searchVehicleInfo | searchVehicleInfo | ||||
} from "@/utils/network/api.js"; | } from "@/utils/network/api.js"; | ||||
import { | import { | ||||
request | |||||
request, requestNew | |||||
} from "@/utils/network/request.js"; | } from "@/utils/network/request.js"; | ||||
import { | import { | ||||
getItem, | getItem, | ||||
showLoading: true, | showLoading: true, | ||||
}; | }; | ||||
return new Promise(async (resolve, reject) => { | return new Promise(async (resolve, reject) => { | ||||
const res = await request(workOrderList, options); | |||||
const res = await requestNew(deviceUpgradeOrderCheck, options); | |||||
const data = stringToJson(res.bizContent); | const data = stringToJson(res.bizContent); | ||||
resolve(data); | resolve(data); | ||||
}).catch((error) => { | }).catch((error) => { |
obuWriteAgain, | obuWriteAgain, | ||||
changeWorkOrderStatus, | changeWorkOrderStatus, | ||||
preDeviceCheck, | preDeviceCheck, | ||||
preDeviceCheckRes,deviceUpgradeApply,deviceUpgradeOrderConfirm | |||||
preDeviceCheckRes,deviceUpgradeApply,deviceUpgradeOrderConfirm,commGetDetail | |||||
} from "@/utils/network/api.js"; | } from "@/utils/network/api.js"; | ||||
import { | import { | ||||
getVehiclePlateColor | getVehiclePlateColor | ||||
method: "POST", | method: "POST", | ||||
showLoading: true, | showLoading: true, | ||||
}; | }; | ||||
request(orderDetail, options).then((res) => { | |||||
let orderInfo = JSON.parse(res.bizContent); | |||||
requestNew(commGetDetail, options).then((res) => { | |||||
let orderInfo = res; | |||||
console.log(orderInfo); | console.log(orderInfo); | ||||
orderInfos.orderId = orderInfo.orderId; | orderInfos.orderId = orderInfo.orderId; | ||||
orderInfos.customerName = orderInfo.customerName; | orderInfos.customerName = orderInfo.customerName; | ||||
method: "POST", | method: "POST", | ||||
showLoading: true, | showLoading: true, | ||||
}; | }; | ||||
request(orderDetail, options).then((res) => { | |||||
orderInfo = JSON.parse(res.bizContent); | |||||
requestNew(commGetDetail, options).then((res) => { | |||||
orderInfo =res; | |||||
console.log("orderInfo", orderInfo); | console.log("orderInfo", orderInfo); | ||||
console.log("orderInfores", res); | console.log("orderInfores", res); | ||||
if (orderInfo) { | if (orderInfo) { |
msg, | msg, | ||||
checkStr, | checkStr, | ||||
strReplace, | strReplace, | ||||
uploadFile, hasLogin, | |||||
uploadFile, | |||||
chooseImageCompress | chooseImageCompress | ||||
} from "@/utils/utils"; | } from "@/utils/utils"; | ||||
import { | import { | ||||
} from "@dcloudio/uni-app"; | } from "@dcloudio/uni-app"; | ||||
import { | import { | ||||
etcOcrCard, | etcOcrCard, | ||||
register, | |||||
ocrAllQuery, | |||||
etcCarOcrCard, | etcCarOcrCard, | ||||
searchVehicleInfo, | |||||
carChangeApi, | |||||
creactWorkOrder | |||||
vehicleInfoChangeQuery, | |||||
creactWorkOrder, | |||||
vehicleInfoChangeChangeApply | |||||
} from "@/utils/network/api.js"; | } from "@/utils/network/api.js"; | ||||
import { | import { | ||||
request | |||||
request,requestNew | |||||
} from "@/utils/network/request.js"; | } from "@/utils/network/request.js"; | ||||
import { | import { | ||||
method: "POST", | method: "POST", | ||||
showLoading: true, | showLoading: true, | ||||
}; | }; | ||||
request(searchVehicleInfo, options).then((res) => { | |||||
requestNew(vehicleInfoChangeQuery, options).then((res) => { | |||||
let result = stringToJson(res.bizContent); | let result = stringToJson(res.bizContent); | ||||
writeMsg(result.vehicles[0]) | writeMsg(result.vehicles[0]) | ||||
}); | }); | ||||
showLoading: true, | showLoading: true, | ||||
}; | }; | ||||
console.log("state.form",state.form) | console.log("state.form",state.form) | ||||
request(carChangeApi, options) | |||||
requestNew(vehicleInfoChangeChangeApply, options) | |||||
.then((res) => { | .then((res) => { | ||||
const data = stringToJson(res.bizContent); | const data = stringToJson(res.bizContent); | ||||
// 创建工单 | // 创建工单 |
<view class="detail"> | <view class="detail"> | ||||
<view class="orders"> | <view class="orders"> | ||||
<view class="order-text"> | <view class="order-text"> | ||||
<text class="type">新办单号:</text> | |||||
<text class="value">{{item.orderId}}</text> | |||||
<text class="type">卡号:</text> | |||||
<text class="value">{{item.cardId}}</text> | |||||
</view> | </view> | ||||
<view class="order-text odd"> | |||||
<view class="order-text"> | |||||
<text class="type">签号:</text> | |||||
<text class="value">{{item.obuId}}</text> | |||||
</view> | |||||
<!-- <view class="order-text odd"> | |||||
<text class="type">业务类型:</text> | <text class="type">业务类型:</text> | ||||
<text class="value">{{getOrderTypeName(item.orderType)}}</text> | <text class="value">{{getOrderTypeName(item.orderType)}}</text> | ||||
</view> | |||||
</view> --> | |||||
<view class="order-text odd"> | <view class="order-text odd"> | ||||
<text class="type">订单车牌号:</text> | <text class="type">订单车牌号:</text> | ||||
<text class="value">{{item.vehiclePlate}}</text> | <text class="value">{{item.vehiclePlate}}</text> | ||||
</view> | </view> | ||||
<view class="btns"> | <view class="btns"> | ||||
<view class="btn btn-primary as-gravity-center" @click="gotoConfirmReceipt(item)" | <view class="btn btn-primary as-gravity-center" @click="gotoConfirmReceipt(item)" | ||||
v-if="item.orderStep==9 && item.orderStatus=='0'">确认收货</view> | |||||
v-if="item.status==2">确认收货</view> | |||||
<view class="btn btn-primary as-gravity-center" @click="gotoActiveOrder(item)" | <view class="btn btn-primary as-gravity-center" @click="gotoActiveOrder(item)" | ||||
v-if="item.orderStep==10 && item.orderStatus=='0'">去激活</view> | |||||
v-if="item.status==1">去激活</view> | |||||
<view class="btn btn-primary as-gravity-center" @click="gotoOnceActivate(item)" | <view class="btn btn-primary as-gravity-center" @click="gotoOnceActivate(item)" | ||||
v-if="item.orderStep==11 && item.orderStatus=='1'">OBU重新激活</view> | |||||
v-if="item.status==3">OBU重新激活</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
const params = encodeURIComponent(JSON.stringify(item)) | const params = encodeURIComponent(JSON.stringify(item)) | ||||
jump("1", params) | jump("1", params) | ||||
} else { | } else { | ||||
interceptND(item.vehicleId).then(()=>{ | |||||
let vehicleId=item.vehiclePlate+"_"+item.vehiclePlateColor | |||||
interceptND(vehicleId).then(()=>{ | |||||
// #ifdef MP-WEIXIN | // #ifdef MP-WEIXIN | ||||
navTo( | navTo( | ||||
`/subpackage/after-sale/activation-once-again/activation-once-again?id=${item.id}` | |||||
`/subpackage/after-sale/activation-once-again/activation-once-again?id=${item.vehicleId}` | |||||
); | ); | ||||
// #endif | // #endif | ||||
// #ifdef MP-ALIPAY | // #ifdef MP-ALIPAY | ||||
navTo( | navTo( | ||||
`/subpackage/after-sale/activation-once-again/activation-once-again-ali?id=${item.id}` | |||||
`/subpackage/after-sale/activation-once-again/activation-once-again-ali?id=${item.vehicleId}` | |||||
); | ); | ||||
// #endif | // #endif | ||||
}) | }) | ||||
params.total = data.data; | params.total = data.data; | ||||
console.log("res====", params.total) | console.log("res====", params.total) | ||||
if (data.activeList.length > 0 || data.receiveList.length > 0 || data.secondActiveList.length > 0) { | if (data.activeList.length > 0 || data.receiveList.length > 0 || data.secondActiveList.length > 0) { | ||||
const curList = [...data.activeList,...data.receiveList,...data.secondActiveList] || []; | |||||
// status 1 首次激活车辆信息列表 2确认收货车辆信息列表 3二次激活车辆信息列表 | |||||
var activeList=data.activeList | |||||
var receiveList=data.receiveList | |||||
var secondActiveList=data.secondActiveList | |||||
if (data.activeList.length > 0){ | |||||
for(var i=0;i<activeList.length;i++){ | |||||
activeList[i]['status']=1 | |||||
} | |||||
} | |||||
if (data.receiveList.length > 0){ | |||||
for(var i=0;i<receiveList.length;i++){ | |||||
receiveList[i]['status']=2 | |||||
} | |||||
} | |||||
if (data.secondActiveList.length > 0){ | |||||
for(var i=0;i<secondActiveList.length;i++){ | |||||
secondActiveList[i]['status']=3 | |||||
} | |||||
} | |||||
const curList = [...activeList,...receiveList,...secondActiveList] || []; | |||||
params.ordersList = params.reload ? curList : params.ordersList.concat(curList); | params.ordersList = params.reload ? curList : params.ordersList.concat(curList); | ||||
params.reload = false; | params.reload = false; | ||||
} | } | ||||
if (params.total === params.ordersList.length) { | if (params.total === params.ordersList.length) { | ||||
params.reload = false; | params.reload = false; | ||||
params.status = 'noMore'; | params.status = 'noMore'; |
<!-- 注册第1步 --> | |||||
<template> | |||||
<view class="register-main"> | |||||
<view class="title">修改手机号</view> | |||||
<view class="hint">请输入新的手机号</view> | |||||
<view class="form-input"> | |||||
<view> +86</view> | |||||
<image :src="`${$imgUrl}common/arror_down_black.png`" class="arror" /> | |||||
<input class="input" v-model="state.phone" focus placeholder="请输入手机号" placeholder-class="form-placeholder" | |||||
type="number" maxlength="11" /> | |||||
</view> | |||||
<view class="tips">* 仅修改账号手机号,不能修改etc预留手机号</view> | |||||
<view class="agreement"> | |||||
<checkbox-group @change="checkboxChange" class="group"> | |||||
<checkbox :checked="state.checked" color="#00B38B" style="transform:scale(0.85)"> | |||||
</checkbox> | |||||
<label>我已阅读并同意</label> | |||||
</checkbox-group> | |||||
<view class="txt-green" @click="toRead">《平台用户服务隐私协议》</view> | |||||
</view> | |||||
</view> | |||||
<view class="btn"> | |||||
<submit-button title="同意协议并获取验证码" @submit="nextStep"></submit-button> | |||||
</view> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import uCheckBox from "@/uni_modules/vk-uview-ui/components/u-checkbox/u-checkbox.vue"; | |||||
import { | |||||
reactive | |||||
} from "vue"; | |||||
import { | |||||
checkStr, | |||||
msg, | |||||
navTo | |||||
} from "@/utils/utils"; | |||||
import { | |||||
sendMessage | |||||
} from "@/utils/network/api.js"; | |||||
import {requestNew} from "@/utils/network/request.js"; | |||||
const state = reactive({ | |||||
phone: "", //电话 | |||||
checked: false, //是否勾选阅读协议 | |||||
}); | |||||
const checkboxChange = (e) => { | |||||
console.log(e); | |||||
state.checked = !state.checked; | |||||
}; | |||||
// 去协议页面 | |||||
const toRead = () => { | |||||
navTo("/login/agreement") | |||||
} | |||||
/* 下一步 */ | |||||
const nextStep = () => { | |||||
if (!state.phone) { | |||||
msg("请输入手机号!"); | |||||
return; | |||||
} | |||||
if (!checkStr(state.phone, "mobile")) { | |||||
msg("请输入正确的手机号!"); | |||||
return; | |||||
} | |||||
if (!state.checked) { | |||||
msg("请勾选我已阅读并同意《平台用户服务隐私协议》"); | |||||
return; | |||||
} | |||||
const options = { | |||||
type: 2, | |||||
data: { | |||||
mobile: state.phone | |||||
}, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
requestNew(sendMessage, options) | |||||
.then((res) => { | |||||
msg("验证码发送成功!"); | |||||
// #ifdef MP-ALIPAY | |||||
navTo(`/subpackage/personal-center/setting/change-phone-code-ali?phone=${state.phone}`); | |||||
// #endif | |||||
// #ifdef MP-WEIXIN | |||||
navTo(`/subpackage/personal-center/setting/change-phone-code?phone=${state.phone}`); | |||||
// #endif | |||||
}) | |||||
.catch((err) => { | |||||
console.log(err); | |||||
}); | |||||
}; | |||||
</script> | |||||
<style lang="scss" scoped> | |||||
.tips { | |||||
color: red; | |||||
padding: 30rpx 20rpx 0rpx 0rpx; | |||||
font-size: 30rpx; | |||||
} | |||||
.group { | |||||
display: flex; | |||||
align-items: center; | |||||
} | |||||
.register-main { | |||||
border-top: 1rpx solid #dcdcdc; | |||||
padding: 78rpx 30rpx 50rpx; | |||||
.title { | |||||
font-size: 32rpx; | |||||
color: #333333; | |||||
font-weight: 600; | |||||
} | |||||
.hint { | |||||
font-size: 24rpx; | |||||
color: #999999; | |||||
margin-top: 20rpx; | |||||
} | |||||
.form-input { | |||||
margin-top: 80rpx; | |||||
display: flex; | |||||
flex-direction: row; | |||||
align-items: center; | |||||
height: 90rpx; | |||||
border-bottom: 1rpx solid #dcdcdc; | |||||
padding: 0rpx 12rpx; | |||||
font-size: 28rpx; | |||||
color: #333333; | |||||
&:last-child { | |||||
margin-top: 50rpx; | |||||
} | |||||
.input { | |||||
flex: 1; | |||||
padding-right: 48rpx; | |||||
background: transparent; | |||||
} | |||||
.arror { | |||||
width: 28rpx; | |||||
height: 25rpx; | |||||
margin-left: 16rpx; | |||||
margin-right: 40rpx; | |||||
} | |||||
.eye { | |||||
width: 48rpx; | |||||
height: 48rpx; | |||||
} | |||||
} | |||||
.form-placeholder { | |||||
color: #999999; | |||||
} | |||||
.agreement { | |||||
font-size: 24rpx; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 60rpx; | |||||
.txt-grey { | |||||
color: #666666; | |||||
} | |||||
.txt-green { | |||||
color: #00b38b; | |||||
} | |||||
:deep(.u-checkbox) { | |||||
margin-right: -20rpx; | |||||
} | |||||
} | |||||
} | |||||
.btn { | |||||
margin: 200rpx 40rpx 0px; | |||||
} | |||||
</style> |
<!-- 注册第1步 --> | |||||
<template> | |||||
<view class="register-main"> | |||||
<view class="title">修改手机号</view> | |||||
<view class="hint">请输入ETC预留手机号</view> | |||||
<view class="form-input"> | |||||
<view> +86</view> | |||||
<image :src="`${$imgUrl}common/arror_down_black.png`" class="arror" /> | |||||
<input class="input" v-model="state.phone" focus placeholder="请输入ETC预留手机号" placeholder-class="form-placeholder" | |||||
type="number" maxlength="11" /> | |||||
</view> | |||||
<view class="form-input"> | |||||
<input class="input" v-model="state.code" focus placeholder="请输入验证码" placeholder-class="form-placeholder" | |||||
type="number" maxlength="6" /> | |||||
<verification-code :mobile="state.phone"></verification-code> | |||||
</view> | |||||
</view> | |||||
<view class="btn"> | |||||
<submit-button title="下一步" @submit="nextStep"></submit-button> | |||||
</view> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import { | |||||
reactive | |||||
} from "vue"; | |||||
import { | |||||
checkStr, | |||||
msg, | |||||
navTo | |||||
} from "@/utils/utils"; | |||||
import { | |||||
sendMessage | |||||
} from "@/utils/network/api.js"; | |||||
import {requestNew} from "@/utils/network/request.js"; | |||||
const state = reactive({ | |||||
phone: "", //电话 | |||||
checked: false, //是否勾选阅读协议 | |||||
code:"" | |||||
}); | |||||
const checkboxChange = (e) => { | |||||
console.log(e); | |||||
state.checked = !state.checked; | |||||
}; | |||||
// 去协议页面 | |||||
const toRead = () => { | |||||
navTo("/login/agreement") | |||||
} | |||||
/* 下一步 */ | |||||
const nextStep = () => { | |||||
if (!state.phone) { | |||||
msg("请输入手机号!"); | |||||
return; | |||||
} | |||||
if (!checkStr(state.phone, "mobile")) { | |||||
msg("请输入正确的手机号!"); | |||||
return; | |||||
} | |||||
if (!state.checked) { | |||||
msg("请勾选我已阅读并同意《平台用户服务隐私协议》"); | |||||
return; | |||||
} | |||||
const options = { | |||||
type: 2, | |||||
data: { | |||||
mobile: state.phone | |||||
}, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
requestNew(sendMessage, options) | |||||
.then((res) => { | |||||
msg("验证码发送成功!"); | |||||
// #ifdef MP-ALIPAY | |||||
navTo(`/subpackage/personal-center/setting/change-phone-code-ali?phone=${state.phone}`); | |||||
// #endif | |||||
// #ifdef MP-WEIXIN | |||||
navTo(`/subpackage/personal-center/setting/change-phone-code?phone=${state.phone}`); | |||||
// #endif | |||||
}) | |||||
.catch((err) => { | |||||
console.log(err); | |||||
}); | |||||
}; | |||||
</script> | |||||
<style lang="scss" scoped> | |||||
.tips { | |||||
color: red; | |||||
padding: 30rpx 20rpx 0rpx 0rpx; | |||||
font-size: 30rpx; | |||||
} | |||||
.group { | |||||
display: flex; | |||||
align-items: center; | |||||
} | |||||
.register-main { | |||||
border-top: 1rpx solid #dcdcdc; | |||||
padding: 78rpx 30rpx 50rpx; | |||||
.title { | |||||
font-size: 32rpx; | |||||
color: #333333; | |||||
font-weight: 600; | |||||
} | |||||
.hint { | |||||
font-size: 24rpx; | |||||
color: #999999; | |||||
margin-top: 20rpx; | |||||
} | |||||
.form-input { | |||||
margin-top: 80rpx; | |||||
display: flex; | |||||
flex-direction: row; | |||||
align-items: center; | |||||
height: 90rpx; | |||||
border-bottom: 1rpx solid #dcdcdc; | |||||
padding: 0rpx 12rpx; | |||||
font-size: 28rpx; | |||||
color: #333333; | |||||
&:last-child { | |||||
margin-top: 50rpx; | |||||
} | |||||
.input { | |||||
flex: 1; | |||||
padding-right: 48rpx; | |||||
background: transparent; | |||||
} | |||||
.arror { | |||||
width: 28rpx; | |||||
height: 25rpx; | |||||
margin-left: 16rpx; | |||||
margin-right: 40rpx; | |||||
} | |||||
.eye { | |||||
width: 48rpx; | |||||
height: 48rpx; | |||||
} | |||||
} | |||||
.form-placeholder { | |||||
color: #999999; | |||||
} | |||||
.agreement { | |||||
font-size: 24rpx; | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 60rpx; | |||||
.txt-grey { | |||||
color: #666666; | |||||
} | |||||
.txt-green { | |||||
color: #00b38b; | |||||
} | |||||
:deep(.u-checkbox) { | |||||
margin-right: -20rpx; | |||||
} | |||||
} | |||||
} | |||||
.btn { | |||||
margin: 200rpx 40rpx 0px; | |||||
} | |||||
</style> |
<template> | |||||
<template v-for="(col,index) in list" :key="index"> | |||||
<view class="title">{{col.title}}</view> | |||||
<u-cell-group> | |||||
<u-cell-item :title="item.title" v-for="(item,i) in col.columns" :key="i" @click="itemClick(item)" | |||||
:titleStyle="titleStyle"></u-cell-item> | |||||
</u-cell-group> | |||||
</template> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import { msg, navTo } from '@/utils/utils'; | |||||
import { onLoad } from "@dcloudio/uni-app" | |||||
import { | |||||
reactive | |||||
} from "vue"; | |||||
const titleStyle = { fontSize: '28rpx', color: '#333333' }; | |||||
const basePath = "/subpackage/personal-center/setting/"; | |||||
const list = [ | |||||
{ | |||||
columns: [ | |||||
{ title: 'ETC预留经办人手机号', path: 'personal-information/user-change', login: true }, | |||||
{ title: '对公账户手机号', path: 'personal-information/user-change', login: true }, | |||||
] | |||||
}, | |||||
] | |||||
const state = reactive({ | |||||
userType:1 //1个人 2单位 | |||||
}) | |||||
onLoad((options) => { | |||||
state.userType=options.userType | |||||
}) | |||||
/* item点击 */ | |||||
const itemClick = (item) => { | |||||
navTo(basePath + item.path, item.login); | |||||
} | |||||
</script> | |||||
<style> | |||||
page { | |||||
background: #EEF7F7; | |||||
} | |||||
</style> | |||||
<style lang="scss" scoped> | |||||
.title { | |||||
font-size: 26rpx; | |||||
font-family: Microsoft YaHei; | |||||
font-weight: 400; | |||||
color: #666666; | |||||
height: 20rpx; | |||||
padding-left: 30rpx | |||||
} | |||||
</style> |
<template> | |||||
<template v-for="(col,index) in list" :key="index"> | |||||
<view class="title">{{col.title}}</view> | |||||
<u-cell-group> | |||||
<u-cell-item :title="item.title" v-for="(item,i) in col.columns" :key="i" @click="itemClick(item)" | |||||
:titleStyle="titleStyle"></u-cell-item> | |||||
</u-cell-group> | |||||
</template> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import { msg, navTo } from '@/utils/utils'; | |||||
import { onLoad } from "@dcloudio/uni-app" | |||||
import { | |||||
reactive | |||||
} from "vue"; | |||||
const titleStyle = { fontSize: '28rpx', color: '#333333' }; | |||||
const basePath = "/subpackage/personal-center/setting/"; | |||||
const list = [ | |||||
{ | |||||
columns: [ | |||||
{ title: 'ETC预留手机号验证', path: 'personal-information/change-phone', login: true }, | |||||
{ title: '上传审核资料', path: 'personal-information/up-idcard', login: true }, | |||||
] | |||||
}, | |||||
] | |||||
const state = reactive({ | |||||
userType:1 //1个人 2单位 | |||||
}) | |||||
onLoad((options) => { | |||||
state.userType=options.userType | |||||
}) | |||||
/* item点击 */ | |||||
const itemClick = (item) => { | |||||
navTo(basePath + item.path, item.login); | |||||
} | |||||
</script> | |||||
<style> | |||||
page { | |||||
background: #EEF7F7; | |||||
} | |||||
</style> | |||||
<style lang="scss" scoped> | |||||
.title { | |||||
font-size: 26rpx; | |||||
font-family: Microsoft YaHei; | |||||
font-weight: 400; | |||||
color: #666666; | |||||
height: 20rpx; | |||||
padding-left: 30rpx | |||||
} | |||||
</style> |
title: '账号信息', | title: '账号信息', | ||||
columns: [ | columns: [ | ||||
{ title: '账号手机号修改', path: 'change-phone', login: true }, | { title: '账号手机号修改', path: 'change-phone', login: true }, | ||||
{ title: '修改EC预留手机号', path: 'personal-information/user-change-list?type=1', login: true }, | |||||
] | ] | ||||
}, | }, | ||||
{ | { | ||||
title: '基础信息', | title: '基础信息', | ||||
columns: [ | columns: [ | ||||
{ title: '用户信息变更', path: 'personal-information/user-change-list', login: true }, | |||||
{ title: '用户信息变更', path: 'personal-information/user-change-list?type=2', login: true }, | |||||
// {title:'补传身份证',path:'personal-information/user-card',login:true}, | // {title:'补传身份证',path:'personal-information/user-card',login:true}, | ||||
] | ] | ||||
}, | }, |
<template> | |||||
<template v-for="(col,index) in list" :key="index"> | |||||
<view class="title">{{col.title}}</view> | |||||
<u-cell-group> | |||||
<u-cell-item :title="item.title" v-for="(item,i) in col.columns" :key="i" @click="itemClick(item)" | |||||
:titleStyle="titleStyle"></u-cell-item> | |||||
</u-cell-group> | |||||
</template> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import { msg, navTo } from '@/utils/utils'; | |||||
import { onLoad } from "@dcloudio/uni-app" | |||||
import { | |||||
reactive | |||||
} from "vue"; | |||||
const titleStyle = { fontSize: '28rpx', color: '#333333' }; | |||||
const basePath = "/subpackage/personal-center/setting/"; | |||||
const list = [ | |||||
{ | |||||
columns: [ | |||||
{ title: 'ETC预留手机号验证', path: 'personal-information/change-phone', login: true }, | |||||
{ title: '上传审核资料', path: 'personal-information/user-change-list?type=1', login: true }, | |||||
] | |||||
}, | |||||
] | |||||
const state = reactive({ | |||||
userType:1 //1个人 2单位 | |||||
}) | |||||
onLoad((options) => { | |||||
state.userType=options.userType | |||||
}) | |||||
/* item点击 */ | |||||
const itemClick = (item) => { | |||||
navTo(basePath + item.path, item.login); | |||||
} | |||||
</script> | |||||
<style> | |||||
page { | |||||
background: #EEF7F7; | |||||
} | |||||
</style> | |||||
<style lang="scss" scoped> | |||||
.title { | |||||
font-size: 26rpx; | |||||
font-family: Microsoft YaHei; | |||||
font-weight: 400; | |||||
color: #666666; | |||||
height: 20rpx; | |||||
padding-left: 30rpx | |||||
} | |||||
</style> |
<template> | <template> | ||||
<view v-for="(item,index) in state.customerInfoList" @click="change(item.customerId)"> | |||||
<view v-for="(item,index) in state.customerInfoList" @click="change(item.customerId,item.userType)"> | |||||
<view class="content">{{item.agentName}}</view> | <view class="content">{{item.agentName}}</view> | ||||
</view> | </view> | ||||
</template> | </template> | ||||
}, | }, | ||||
customerId: '', | customerId: '', | ||||
customerInfoList:[] | |||||
customerInfoList:[], | |||||
type:1 //1修改EC预留手机号 2用户信息变更 | |||||
}) | }) | ||||
const getUserinfo = () => { | const getUserinfo = () => { | ||||
}); | }); | ||||
} | } | ||||
const change = (customerId) => { | |||||
navTo(`/subpackage/personal-center/setting/personal-information/user-change?customerId=${customerId}`) | |||||
const change = (customerId,userType) => { | |||||
if(state.type==2){ | |||||
navTo(`/subpackage/personal-center/setting/personal-information/user-change?customerId=${customerId}`) | |||||
}else{ | |||||
if(userType==1){ | |||||
navTo(`/subpackage/personal-center/setting/personal-information/choice-verification-way?userType=${userType}`) | |||||
}else{ | |||||
navTo(`/subpackage/personal-center/setting/personal-information/choice-phone?userType=${userType}`) | |||||
} | |||||
console.log("state.修改EC预留手机号",) | |||||
} | |||||
} | } | ||||
onLoad(() => { | |||||
onLoad((options) => { | |||||
getUserinfo() | getUserinfo() | ||||
state.type=options.type | |||||
}) | }) | ||||
</script> | </script> | ||||
export const deviceUpgradeApply = "/iaw/aftersale/deviceUpgrade/apply" //指令申请 | export const deviceUpgradeApply = "/iaw/aftersale/deviceUpgrade/apply" //指令申请 | ||||
export const deviceUpgradeOrderConfirm = "/iaw/aftersale/deviceUpgrade/orderConfirm" //设备升级指令回传 | export const deviceUpgradeOrderConfirm = "/iaw/aftersale/deviceUpgrade/orderConfirm" //设备升级指令回传 | ||||
export const deviceUpgradeConfirm = "/iaw/aftersale/deviceUpgrade/confirm" //设备升级指令回传 | export const deviceUpgradeConfirm = "/iaw/aftersale/deviceUpgrade/confirm" //设备升级指令回传 | ||||
export const deviceUpgradeOrderCheck = "/iaw/aftersale/deviceUpgrade/orderCheck" //设备升级订单检查 | |||||
//用户信息变更 | //用户信息变更 | ||||
export const customerInfoChange = "/iaw/aftersale/customerInfoChange/query" //用户信息查询 | export const customerInfoChange = "/iaw/aftersale/customerInfoChange/query" //用户信息查询 | ||||
export const etcMobileChangeSmsCode = "/iaw/aftersale/customerInfoChange/etcMobileChangeSmsCode" //验证码发送(ETC预留手机号) | export const etcMobileChangeSmsCode = "/iaw/aftersale/customerInfoChange/etcMobileChangeSmsCode" //验证码发送(ETC预留手机号) | ||||
export const changeApply = "/iaw/aftersale/customerInfoChange/changeApply" //用户信息变更申请 | export const changeApply = "/iaw/aftersale/customerInfoChange/changeApply" //用户信息变更申请 | ||||
export const editablePage = "/iaw/aftersale/customerInfoChange/editablePage" //可修改个人用户信息列表查询 | |||||
export const editablePage = "/iaw/aftersale/customerInfoChange/editablePage" //可修改个人用户信息列表查询 | |||||
//车辆信息变更 | |||||
export const vehicleInfoChangeChangeApply = "/iaw/aftersale/vehicleInfoChange/changeApply" //车辆信息变更申请 | |||||
export const vehicleInfoChangeEditablePage = "/iaw/aftersale/vehicleInfoChange/editablePage" //可修改信息列表查询 | |||||
export const vehicleInfoChangeQuery = "/iaw/aftersale/vehicleInfoChange/query" //车辆详情信息查询 | |||||
// 二次激活 | |||||
export const secondActiveInstallApply = "/iaw/api/secondActive/installApply" // OBU安装申请 | |||||
export const writeActiveInfo = "/iaw/api/secondActive/writeActiveInfo" // VFJ-写激活信息(普通车)接口 | |||||
export const issueConfirm = "/iaw/api/secondActive/issueConfirm" // OBU发行确认接口 | |||||
export const reactivateQuery = "/api/obu/reactivate/query" // 重新激活记录 |