@@ -10,8 +10,8 @@ | |||
<script setup lang="ts"> | |||
import { reactive } from "vue"; | |||
import { checkStr, msg } from "@/utils/utils"; | |||
import { request } from "@/utils/network/request"; | |||
import { sendCode } from "@/utils/network/api"; | |||
import { request,requestNew } from "@/utils/network/request"; | |||
import { sendCode,etcMobileChangeSmsCodeEtc,newMobileSmsCode} from "@/utils/network/api"; | |||
const props = defineProps({ | |||
//手机号 | |||
@@ -33,6 +33,14 @@ const props = defineProps({ | |||
return true; | |||
}, | |||
}, | |||
type: { | |||
type: String, | |||
default: "1", //1正常发验证码 2 ETC预留手机号验证码发送 | |||
}, | |||
customerId: { | |||
type: String, | |||
default: "", //1正常发验证码 2 ETC预留手机号验证码发送 3 ETC预留手机号修改-新手机验证码发送 | |||
}, | |||
}); | |||
let interval = null; | |||
@@ -61,16 +69,46 @@ const sendSmsCode = async () => { | |||
msg("手机号码格式不正确!"); | |||
return; | |||
} | |||
const options = { | |||
type: 2, | |||
data: { mobile: props.mobile }, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(sendCode, options).then((res) => { | |||
msg("验证码发送成功!"); | |||
countdown(); | |||
}); | |||
if(props.type=="1"){ | |||
const options = { | |||
type: 2, | |||
data: { mobile: props.mobile }, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(sendCode, options).then((res) => { | |||
msg("验证码发送成功!"); | |||
countdown(); | |||
}); | |||
}else if(props.type=="2"){ | |||
const options1 = { | |||
type: 2, | |||
data: { mobile: props.mobile, | |||
customerId:props.customerId | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(etcMobileChangeSmsCodeEtc, options1).then((res) => { | |||
msg("验证码发送成功!"); | |||
countdown(); | |||
}); | |||
}else{ | |||
const options1 = { | |||
type: 2, | |||
data: { mobile: props.mobile, | |||
customerId:props.customerId | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(newMobileSmsCode, options1).then((res) => { | |||
msg("验证码发送成功!"); | |||
countdown(); | |||
}); | |||
} | |||
}; | |||
/* 倒计时 */ |
@@ -1616,7 +1616,14 @@ | |||
{ | |||
"path": "setting/personal-information/change-phone", | |||
"style": { | |||
"navigationBarTitleText": "修改手机号" | |||
"navigationBarTitleText": "预留手机号修改" | |||
} | |||
}, | |||
{ | |||
"path": "setting/personal-information/change-phone-newphone", | |||
"style": { | |||
"navigationBarTitleText": "预留手机号修改" | |||
} | |||
}, | |||
{ | |||
@@ -1643,6 +1650,12 @@ | |||
"navigationBarTitleText": "设置-个人信息-身份证" | |||
} | |||
}, | |||
{ | |||
"path": "setting/personal-information/user-card-ETC", | |||
"style": { | |||
"navigationBarTitleText": "设置-上传用户资料" | |||
} | |||
}, | |||
{ | |||
"path": "setting/car-information/car-manage", | |||
"style": { |
@@ -313,7 +313,7 @@ | |||
}; | |||
//调用方式 | |||
requestNew(vehicleInfoChangeEditablePage, options).then((res) => { | |||
const data = (stringToJson(res.bizContent).vehicleManages) | |||
const data = res.vehicleInfoList | |||
for (var i = 0; i < data.length; i++) { | |||
for (var j = 0; j < vehiclePlateColorPai.length; j++) { | |||
if (data[i].vehiclePlateColor == vehiclePlateColorPai[j]['id']) { |
@@ -174,7 +174,7 @@ import { deviceType } from "@/utils/network/difference"; | |||
} else if (state.type == "3") { | |||
navTo(`/subpackage/after-sale/replace-equipment/replace-equipment-confirm?vehicleId=${item.vehicleId}`) | |||
} else if (state.type == "4") { | |||
navTo(`/subpackage/after-sale/card-Renewal/renewal-confirm?id=${item.id}&orderId=${item.orderId}`) | |||
navTo(`/subpackage/after-sale/card-Renewal/renewal-confirm?vehicleId=${item.vehicleId}`) | |||
} else if (state.type == "5") { | |||
navTo(`/subpackage/after-sale/card-loss-reporting/cardloss-confirm?vehicleId=${item.vehicleId}`) | |||
}else if (state.type == "6") { |
@@ -107,14 +107,14 @@ | |||
request,requestNew | |||
} from "@/utils/network/request.js"; | |||
import { | |||
orderDetailQuery, | |||
cardRenewalFromWechat, | |||
cardCosConfirm, | |||
cardRenewalConfirm, | |||
obuRenewalFromWechat, | |||
commGetDetail, | |||
renewaCard, | |||
writeCardReturn, | |||
cardInfoChangeConfirm, | |||
renewalObu, | |||
modifyObuVehicleInfo, | |||
obuActivation, | |||
renewalTimeApi | |||
cardRenewalConfirm | |||
} from "@/utils/network/api.js"; | |||
import { | |||
getVehiclePlateColor | |||
@@ -192,8 +192,8 @@ | |||
let orderInfo = {}; | |||
onLoad((option) => { | |||
//请求订单详情 | |||
queryOrderDetail(option.id); | |||
getOrderDetails(option.id) | |||
queryOrderDetail(option.vehicleId); | |||
getOrderDetails(option.vehicleId) | |||
}); | |||
onShow((option) => { | |||
@@ -247,16 +247,16 @@ | |||
} | |||
//获取订单详情 | |||
const queryOrderDetail = (id) => { | |||
const queryOrderDetail = (vehicleId) => { | |||
const options = { | |||
type: 2, | |||
data: { | |||
id: id, | |||
vehicleId | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(orderDetailQuery, options).then((res) => { | |||
requestNew(commGetDetail, options).then((res) => { | |||
let orderInfo = res; | |||
console.log("orderInfo", orderInfo); | |||
orderInfos.orderId = orderInfo.orderId; | |||
@@ -289,8 +289,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(cardRenewalFromWechat, options).then((res) => { | |||
let result = res; | |||
requestNew(renewaCard, options).then((res) => { | |||
let result = stringToJson(res.bizContent); | |||
let cmdArray = result.command.split(","); | |||
console.log(cmdArray); | |||
console.log(result.cosRecordId); | |||
@@ -329,10 +329,10 @@ | |||
}; | |||
//调用方式 | |||
requestNew(cardCosConfirm, options) | |||
requestNew(writeCardReturn, options) | |||
.then((res) => { | |||
tools.hideLoadingAlert(); | |||
let result = res; | |||
let result = JSON.parse(res.bizContent); | |||
if (result.orderStatus == 1 || result.orderStatus == "1") { | |||
tools.showLoadingAlert("执行指令中"); | |||
bluetoothUtil.transCmd(result.command.split(","), "10", function(res) { | |||
@@ -358,7 +358,7 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(cardRenewalConfirm, options).then((res) => { | |||
requestNew(cardInfoChangeConfirm, options).then((res) => { | |||
// 只写卡 | |||
if (flag.length == 1) { | |||
sure(1) | |||
@@ -419,8 +419,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(obuRenewalFromWechat, options).then((res) => { | |||
let datas = res; | |||
requestNew(renewalObu, options).then((res) => { | |||
let datas = stringToJson(res.bizContent); | |||
console.log("899", datas, datas.data.APDU); | |||
if (datas.data.APDU) { | |||
tools.showLoadingAlert("正在执行指令"); | |||
@@ -546,17 +546,17 @@ | |||
}); | |||
}; | |||
//获取订单详情 | |||
const getOrderDetails = (id) => { | |||
const getOrderDetails = (vehicleId) => { | |||
console.log('======获取订单信息======') | |||
const options = { | |||
type: 2, | |||
data: { | |||
id: id, | |||
vehicleId | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(orderDetailQuery, options).then((res) => { | |||
requestNew(commGetDetail, options).then((res) => { | |||
orderInfo = res; | |||
console.log("orderInfo", orderInfo); | |||
console.log("orderInfores", res); | |||
@@ -607,7 +607,7 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(renewalTimeApi, options).then((res) => { | |||
request(cardRenewalConfirm, options).then((res) => { | |||
}) | |||
} |
@@ -1,6 +1,6 @@ | |||
import { stringToJson } from "@/utils/network/encryption"; | |||
import { request } from "@/utils/network/request"; | |||
import { searchVehicleInfo,getMailingAddressApi } from "@/utils/network/api.js"; | |||
import { request,requestNew} from "@/utils/network/request"; | |||
import { vehicleInfoQuery,getMailingAddressApi } from "@/utils/network/api.js"; | |||
// 154接口获取车辆信息 | |||
export const searchVehicleInfoQuery = (vehicleId,random) => { | |||
const options = { | |||
@@ -13,7 +13,7 @@ export const searchVehicleInfoQuery = (vehicleId,random) => { | |||
showLoading: true, | |||
}; | |||
return new Promise(async (resolve, reject) => { | |||
const res = await request(searchVehicleInfo, options); | |||
const res = await requestNew(vehicleInfoQuery, options); | |||
const data = stringToJson(res.bizContent).vehicles[0]; | |||
if(stringToJson(res.bizContent).fileData){ | |||
data['fileData']=stringToJson(res.bizContent).fileData |
@@ -142,24 +142,18 @@ | |||
} from "vue"; | |||
import { | |||
onLoad, | |||
onShow, | |||
onReady | |||
onShow | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
navTo | |||
} from "@/utils/utils"; | |||
import { requestNew} from "@/utils/network/request.js"; | |||
import { | |||
request, requestNew | |||
} from "@/utils/network/request.js"; | |||
import { | |||
getLogistics, | |||
addressQuery, | |||
commQueryCourier, | |||
addressQueryNew, | |||
changeCardObuFill, | |||
changeCardObuCancel | |||
} from "@/utils/network/api.js"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption.js"; | |||
import { | |||
getItem, | |||
StorageKeys | |||
@@ -364,10 +358,10 @@ | |||
}; | |||
//调用方式 | |||
request(getLogistics, options) | |||
requestNew(commQueryCourier, options) | |||
.then((res) => { | |||
console.log("物流", res) | |||
stringToJson(res.bizContent).forEach((item) => { | |||
res.forEach((item) => { | |||
list.push({ | |||
value: item, | |||
label: item, | |||
@@ -388,8 +382,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(addressQuery, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
requestNew(addressQueryNew, options).then((res) => { | |||
const data = res; | |||
address.list = data.data; | |||
if (address.list.length > 0) { | |||
var defaultAddress = address.list[0] |
@@ -4,17 +4,17 @@ | |||
<view class="title"> | |||
基础信息 | |||
</view> | |||
<view class="details-item"> | |||
<!-- <view class="details-item"> | |||
<view> | |||
订单编号: | |||
</view> | |||
<text>{{state.data.orderId}}</text> | |||
</view> | |||
</view> --> | |||
<view class="details-item"> | |||
<view> | |||
用户名称: | |||
</view> | |||
<text>{{state.data.customerName}}</text> | |||
<text>{{state.data.name}}</text> | |||
</view> | |||
<view class="details-item"> | |||
<view> | |||
@@ -26,7 +26,7 @@ | |||
<view> | |||
用户证件号: | |||
</view> | |||
<text>{{desensitization(state.data.customerIdnum)}}</text> | |||
<text>{{desensitization(state.data.idNum)}}</text> | |||
</view> | |||
<view class="details-item"> | |||
<view> | |||
@@ -84,8 +84,7 @@ | |||
<script lang="ts" setup> | |||
import { | |||
reactive, | |||
ref | |||
reactive | |||
} from "vue" | |||
import { | |||
navTo,desensitization | |||
@@ -94,12 +93,10 @@ | |||
onLoad, | |||
onUnload | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
request,requestNew | |||
} from "@/utils/network/request.js"; | |||
import {requestNew} from "@/utils/network/request.js"; | |||
import { | |||
commGetDetail, | |||
changeCardQuery | |||
changeCardObuFillQuery | |||
} from "@/utils/network/api.js"; | |||
import { | |||
getCredentialType | |||
@@ -112,10 +109,6 @@ | |||
getObuStatus | |||
} from "@/subpackage/after-sale/js/obuStatus.js"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption"; | |||
const state = reactive({ | |||
data: { | |||
cardStatus: undefined, | |||
@@ -172,7 +165,7 @@ | |||
//查询申请单 | |||
const changeCardQueryAction = () => { | |||
var data = { | |||
orderId: state.data.orderId | |||
vehicleId: state.data.vehicleId | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -181,8 +174,8 @@ | |||
showLoading: true, | |||
}; | |||
return new Promise(async (resolve, reject) => { | |||
const res = await request(changeCardQuery, options); | |||
const data = stringToJson(res.bizContent); | |||
const res = await requestNew(changeCardObuFillQuery, options); | |||
const data = res; | |||
console.log("data===", data) | |||
resolve(data); | |||
}).catch((error) => { |
@@ -68,17 +68,12 @@ | |||
onLoad, | |||
onShow, | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
request,requestNew | |||
} from "@/utils/network/request.js"; | |||
import {requestNew} from "@/utils/network/request.js"; | |||
import { | |||
sendMessage, | |||
changeCardObuApply, | |||
changeCardQuery, | |||
changeCardObuFillQuery | |||
} from "@/utils/network/api.js"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption"; | |||
import { | |||
msg | |||
} from "@/utils/utils"; | |||
@@ -240,7 +235,7 @@ | |||
//查询申请单 | |||
const changeCardQueryAction = () => { | |||
var data = { | |||
orderId: params.orderId | |||
vehicleId: state.vehicleId | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -248,8 +243,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(changeCardQuery, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
requestNew(changeCardObuFillQuery, options).then((res) => { | |||
const data = res; | |||
if (data) { | |||
apply.data = data; | |||
apply.data.status = data.status; | |||
@@ -270,7 +265,9 @@ | |||
orderId: params.orderId, | |||
applyType: form.applyType, | |||
damageMode: form.damageMode,//0 --- 人为损坏 1 --- 自然损坏 当为换卡签的时候必传 | |||
fileUrl: state.imageList.toString() | |||
fileUrl: state.imageList.toString(), | |||
vehicleId:state.vehicleId, | |||
}; | |||
const options = { | |||
type: 2, |
@@ -39,8 +39,8 @@ | |||
<script setup lang="ts"> | |||
import { reactive } from "vue"; | |||
import { onLoad } from "@dcloudio/uni-app"; | |||
import { addOrEditAddressQuery, addressToOrder } from "@/utils/network/api.js"; | |||
import { request } from "@/utils/network/request.js"; | |||
import { addressAdd, addressToOrder } from "@/utils/network/api.js"; | |||
import { request, requestNew } from "@/utils/network/request.js"; | |||
import { getItem, StorageKeys } from "@/utils/storage"; | |||
import { msg, checkStr } from "@/utils/utils"; | |||
const btnGetCode = { | |||
@@ -102,7 +102,7 @@ | |||
} | |||
state.formData.openId = getItem(StorageKeys.OpenId); | |||
queryAddOrEditAddress(addOrEditAddressQuery, state.formData); | |||
queryAddOrEditAddress(addressAdd, state.formData); | |||
}; | |||
/* 新增/编辑收货地址 */ | |||
@@ -115,19 +115,23 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(code, options).then((res) => { | |||
let options2 = { | |||
type: 2, | |||
data: state.formData, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(addressToOrder, options2).then((res) => { | |||
console.log(res); | |||
uni.redirectTo({ | |||
url: `/subpackage/orders/release-products?orderId=${state.formData.orderId}&clientFee=${getItem('clientFee')}&&id=${getItem('productId')}`, | |||
}); | |||
}) | |||
requestNew(code, options).then((res) => { | |||
uni.redirectTo({ | |||
url: `/subpackage/orders/release-products?orderId=${state.formData.orderId}&clientFee=${getItem('clientFee')}&&id=${getItem('productId')}`, | |||
}); | |||
// let options2 = { | |||
// type: 2, | |||
// data: state.formData, | |||
// method: "POST", | |||
// showLoading: true, | |||
// }; | |||
// 不用调531 | |||
// request(addressToOrder, options2).then((res) => { | |||
// console.log(res); | |||
// uni.redirectTo({ | |||
// url: `/subpackage/orders/release-products?orderId=${state.formData.orderId}&clientFee=${getItem('clientFee')}&&id=${getItem('productId')}`, | |||
// }); | |||
// }) | |||
}) | |||
.catch((err) => { | |||
console.log(err); | |||
@@ -147,7 +151,7 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(code, options) | |||
requestNew(code, options) | |||
.then((res) => { | |||
msg("新增地址成功"); | |||
uni.navigateBack({ |
@@ -44,11 +44,11 @@ | |||
onLoad | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
addOrEditAddressQuery, | |||
addressDelete | |||
addressAdd, | |||
addressDeleteNew | |||
} from "@/utils/network/api.js"; | |||
import { | |||
request | |||
request, requestNew | |||
} from "@/utils/network/request.js"; | |||
import { | |||
getItem, | |||
@@ -96,7 +96,7 @@ | |||
const savaHandle = () => { | |||
state.formData.openId = getItem(StorageKeys.OpenId); | |||
queryAddOrEditAddress(addOrEditAddressQuery, state.formData); | |||
queryAddOrEditAddress(addressAdd, state.formData); | |||
}; | |||
const deleteHandle = () => { | |||
@@ -109,7 +109,7 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(addressDelete, options).then((res) => { | |||
requestNew(addressDeleteNew, options).then((res) => { | |||
msg("删除地址成功"); | |||
uni.navigateBack({ | |||
delta: 1, | |||
@@ -131,7 +131,7 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(code, options).then((res) => { | |||
requestNew(code, options).then((res) => { | |||
msg("编辑地址成功"); | |||
setTimeout(() => { | |||
uni.navigateBack({ | |||
@@ -146,10 +146,6 @@ | |||
}); | |||
} | |||
}; | |||
onLoad((option) => { | |||
state.formData = JSON.parse(option.content); | |||
}); |
@@ -94,7 +94,7 @@ | |||
import navBar from "@/components/nav-bar/nav-bar2.vue"; | |||
import { onLoad, onShow, onPageScroll, onUnload } from "@dcloudio/uni-app"; | |||
import { | |||
addressQuery, | |||
addressQueryNew, | |||
productReCode, | |||
addProduct, | |||
orderAdd,orderDetailQuery | |||
@@ -302,10 +302,10 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(addressQuery, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
requestNew(addressQueryNew, options).then((res) => { | |||
const data = res; | |||
console.log("111", data); | |||
state.addressArray = data.data ? data.data : []; | |||
state.addressArray = data.result ? data.result : []; | |||
for (var i = 0; i < state.addressArray.length; i++) { | |||
if (state.addressArray[i]['defaultAddress'] == 1) { | |||
state.data = { |
@@ -219,28 +219,28 @@ | |||
var data = { | |||
openId: getItem(StorageKeys.OpenId), | |||
}; | |||
if (getItem(StorageKeys.OpenId)) { | |||
const options = { | |||
type: 2, | |||
data: data, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(addressQuery, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
console.log("111", data); | |||
state.addressArray = data.data ? data.data : []; | |||
for (var i = 0; i < state.addressArray.length; i++) { | |||
if (state.addressArray[i]['defaultAddress'] == 1) { | |||
state.data = { | |||
...state.data, | |||
...state.addressArray[i], | |||
}; | |||
} | |||
} | |||
}); | |||
} | |||
// if (getItem(StorageKeys.OpenId)) { | |||
// const options = { | |||
// type: 2, | |||
// data: data, | |||
// method: "POST", | |||
// showLoading: true, | |||
// }; | |||
// request(addressQuery, options).then((res) => { | |||
// const data = stringToJson(res.bizContent); | |||
// console.log("111", data); | |||
// state.addressArray = data.data ? data.data : []; | |||
// for (var i = 0; i < state.addressArray.length; i++) { | |||
// if (state.addressArray[i]['defaultAddress'] == 1) { | |||
// state.data = { | |||
// ...state.data, | |||
// ...state.addressArray[i], | |||
// }; | |||
// } | |||
// } | |||
// }); | |||
// } | |||
uni.$on('updateData', function (data) { | |||
var arr = []; | |||
arr.push(data) |
@@ -12,7 +12,6 @@ | |||
<script setup lang="ts"> | |||
import { onLoad} from "@dcloudio/uni-app"; | |||
import { reactive, ref } from "vue"; | |||
import { stringToJson } from "@/utils/network/encryption"; | |||
import {requestNew } from "@/utils/network/request"; | |||
import { navTo } from "@/utils/utils"; | |||
import { jump } from "@/datas/9901Jump.js"; | |||
@@ -131,9 +130,9 @@ import { deviceType } from "@/utils/network/difference"; | |||
}; | |||
// #ifdef MP-WEIXIN | |||
requestNew(getOpenId, options).then((res) => { | |||
const result = stringToJson(res.bizContent); | |||
const result = res; | |||
console.log("获取微信小程序openid", result); | |||
const openidData = stringToJson(result.data); | |||
const openidData = result.data; | |||
state.openid = openidData.openid; | |||
setItem("QYorder", state); | |||
}); |
@@ -74,9 +74,9 @@ | |||
} from "@/utils/utils"; | |||
import { reactive, ref } from "vue"; | |||
import { onLoad, onReachBottom} from "@dcloudio/uni-app"; | |||
import { queryEtcOrderApi, getUserMsg, trafficFlowApi } from "@/utils/network/api.js"; | |||
import { billQueryProductOrder, getUserMsg, passageFlowingWaterOrderPageQuery } from "@/utils/network/api.js"; | |||
import { stringToJson } from "@/utils/network/encryption"; | |||
import { request } from "@/utils/network/request.js"; | |||
import { request, requestNew } from "@/utils/network/request.js"; | |||
import { | |||
getItem | |||
} from "@/utils/storage"; | |||
@@ -154,8 +154,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(queryEtcOrderApi, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
requestNew(billQueryProductOrder, options).then((res) => { | |||
const data = res; | |||
state.data = data.orders | |||
console.log(data, "查询ETC产品订单"); | |||
}); | |||
@@ -179,8 +179,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(trafficFlowApi, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
requestNew(passageFlowingWaterOrderPageQuery, options).then((res) => { | |||
const data = res; | |||
state.data = data.orders | |||
console.log(data, "通行"); | |||
}); |
@@ -33,9 +33,9 @@ | |||
} from "vue"; | |||
import { onLoad, onShow } from "@dcloudio/uni-app"; | |||
import { navTo, msg } from "@/utils/utils" | |||
import { ETCProductInvoiceApi, flowServiceFee } from "@/utils/network/api.js"; | |||
import { mergeInvoicing, batchInvoice } from "@/utils/network/api.js"; | |||
import { stringToJson } from "@/utils/network/encryption"; | |||
import { request } from "@/utils/network/request.js"; | |||
import { request, requestNew } from "@/utils/network/request.js"; | |||
const state = reactive({ | |||
type: '', | |||
params: "", | |||
@@ -89,8 +89,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(ETCProductInvoiceApi, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
requestNew(mergeInvoicing, options).then((res) => { | |||
const data = res; | |||
msg("开票申请成功") | |||
setTimeout(() => { | |||
// uni.navigateBack({ | |||
@@ -114,8 +114,8 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(flowServiceFee, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
requestNew(batchInvoice, options).then((res) => { | |||
const data =res; | |||
msg("开票申请成功") | |||
setTimeout(() => { | |||
navTo(`/subpackage/orders/invoiceApply/invoiceList?userMobile=${state.userMobile}`) |
@@ -36,29 +36,18 @@ | |||
</template> | |||
<script setup lang="ts"> | |||
import navBgCar from "./components/nav-bg-car1"; | |||
import carNumberInput from "@/components/car-number-input/car-number-input.vue"; | |||
import numberplateColor from "./components/layout-numberplate-color"; | |||
import { | |||
getItem, | |||
StorageKeys | |||
} from "@/utils/storage"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption"; | |||
import navBar from "@/components/nav-bar/nav-bar2.vue"; | |||
import { | |||
onLoad, | |||
onShow | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
addressQuery, | |||
etcCreatOrder, | |||
addressQueryNew, | |||
} from "@/utils/network/api.js"; | |||
import { | |||
request | |||
} from "@/utils/network/request.js"; | |||
import { requestNew} from "@/utils/network/request.js"; | |||
import { | |||
reactive, | |||
} from "vue"; | |||
@@ -88,11 +77,6 @@ | |||
delta: 1 | |||
}); | |||
} | |||
// state.data = { | |||
// ...state.data, | |||
// ...val | |||
// } | |||
// state.show = false; | |||
}; | |||
onShow(() => { | |||
@@ -105,14 +89,15 @@ | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(addressQuery, options).then((res) => { | |||
requestNew(addressQueryNew, options).then((res) => { | |||
console.log("/iaw/api/address/query",res) | |||
state.addressArray = [] | |||
const data = stringToJson(res.bizContent); | |||
if (data.data == null) { | |||
const data = res; | |||
if (data.result.length==0) { | |||
console.log("这是空"); | |||
state.addressArray = [] | |||
} else { | |||
state.addressArray = data.data; | |||
state.addressArray = data.result; | |||
console.log(state.addressArray, "列表数组"); | |||
} | |||
@@ -0,0 +1,181 @@ | |||
<!-- 注册第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="form-input"> | |||
<input class="input" v-model="state.code" focus placeholder="请输入验证码" placeholder-class="form-placeholder" | |||
type="number" maxlength="6" /> | |||
<verification-code :mobile="state.phone" :type="3" :customerId="state.customerId"></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 { | |||
newMobileSmsCodeValid | |||
} from "@/utils/network/api.js"; | |||
import {requestNew} from "@/utils/network/request.js"; | |||
import { onLoad } from "@dcloudio/uni-app" | |||
const state = reactive({ | |||
phone: "", //电话 | |||
checked: false, //是否勾选阅读协议 | |||
code:"", | |||
orderId:"" | |||
}); | |||
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; | |||
} | |||
const options = { | |||
type: 2, | |||
data: { | |||
mobile: state.phone, | |||
code: state.code, | |||
orderId:state.orderId | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(newMobileSmsCodeValid, options) | |||
.then((res) => { | |||
msg('验证通过,已将手机号修改为'+state.phone) | |||
}) | |||
.catch((err) => { | |||
console.log(err); | |||
}); | |||
}; | |||
onLoad((options) => { | |||
state.orderId=options.orderId | |||
}) | |||
</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> |
@@ -13,7 +13,7 @@ | |||
<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> | |||
<verification-code :mobile="state.phone" :type="2" :customerId="state.customerId"></verification-code> | |||
</view> | |||
</view> | |||
@@ -32,14 +32,17 @@ | |||
navTo | |||
} from "@/utils/utils"; | |||
import { | |||
sendMessage | |||
etcSmsCodeValid | |||
} from "@/utils/network/api.js"; | |||
import {requestNew} from "@/utils/network/request.js"; | |||
import { onLoad } from "@dcloudio/uni-app" | |||
const state = reactive({ | |||
phone: "", //电话 | |||
checked: false, //是否勾选阅读协议 | |||
code:"" | |||
code:"", | |||
customerId:"", | |||
userType:"", | |||
changeMobileType:"",// 修改手机号类型 | |||
}); | |||
@@ -63,34 +66,33 @@ | |||
msg("请输入正确的手机号!"); | |||
return; | |||
} | |||
if (!state.checked) { | |||
msg("请勾选我已阅读并同意《平台用户服务隐私协议》"); | |||
return; | |||
} | |||
const options = { | |||
type: 2, | |||
data: { | |||
mobile: state.phone | |||
mobile: state.phone, | |||
customerId: state.customerId, | |||
code: state.code, | |||
changeMobileType: state.changeMobileType, | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(sendMessage, options) | |||
requestNew(etcSmsCodeValid, 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 | |||
navTo(`/subpackage/personal-center/personal-information/setting/change-phone-newphone?phone=${state.phone}&orderId=${res.orderId}`); | |||
}) | |||
.catch((err) => { | |||
console.log(err); | |||
}); | |||
}; | |||
onLoad((options) => { | |||
state.customerId=options.customerId | |||
state.userType=options.userType | |||
state.changeMobileType=options.changeMobileType | |||
}) | |||
</script> | |||
<style lang="scss" scoped> |
@@ -19,8 +19,8 @@ | |||
const list = [ | |||
{ | |||
columns: [ | |||
{ title: 'ETC预留经办人手机号', path: 'personal-information/user-change', login: true }, | |||
{ title: '对公账户手机号', path: 'personal-information/user-change', login: true }, | |||
{ title: 'ETC预留经办人手机号', path: 'personal-information/choice-verification-way?changeMobileType="ETC_MOBILE"', login: true }, | |||
{ title: '对公账户手机号', path: 'personal-information/choice-verification-way?changeMobileType="ENTERPRISE_ACCOUNT_MOBILE"', login: true }, | |||
] | |||
}, | |||
] | |||
@@ -32,7 +32,7 @@ | |||
}) | |||
/* item点击 */ | |||
const itemClick = (item) => { | |||
navTo(basePath + item.path, item.login); | |||
navTo(basePath + item.path+`userType=${state.userType}`, item.login); | |||
} | |||
</script> | |||
@@ -9,7 +9,7 @@ | |||
</template> | |||
<script setup lang="ts"> | |||
import { msg, navTo } from '@/utils/utils'; | |||
import { navTo } from '@/utils/utils'; | |||
import { onLoad } from "@dcloudio/uni-app" | |||
import { | |||
reactive | |||
@@ -19,20 +19,23 @@ | |||
const list = [ | |||
{ | |||
columns: [ | |||
{ title: 'ETC预留手机号验证', path: 'personal-information/change-phone', login: true }, | |||
{ title: '上传审核资料', path: 'personal-information/up-idcard', login: true }, | |||
{ title: 'ETC预留手机号验证', path: 'personal-information/change-phone?changeMobileType="ETC_MOBILE"', login: true }, | |||
{ title: '上传审核资料', path: 'personal-information/user-card-ETC?', login: true }, | |||
] | |||
}, | |||
] | |||
const state = reactive({ | |||
userType:1 //1个人 2单位 | |||
userType:1 ,//1个人 2单位 | |||
customerId:"" | |||
}) | |||
onLoad((options) => { | |||
state.userType=options.userType | |||
state.customerId=options.customerId | |||
}) | |||
/* item点击 */ | |||
const itemClick = (item) => { | |||
navTo(basePath + item.path, item.login); | |||
navTo(basePath + item.path+`customerId=${state.customerId}&userType=${state.userType}`, item.login); | |||
} | |||
</script> | |||
@@ -0,0 +1,500 @@ | |||
<template> | |||
<view class="main" :style="{height: height+'px'}"> | |||
<view class="content"> | |||
<view class="item-tips"> | |||
<view class="title"> 上传后请核对识别信息 </view> | |||
<view class="tip"> 如有错误请及时手动修改 </view> | |||
</view> | |||
<view class="picture-wrapper" @click="takePhotoMode('1')"> | |||
<view class="bg"> | |||
<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.userPosImgUrl" class="icon" :src="`${$imgUrl}applyCard/renxiang.png`"> | |||
</image> | |||
<image v-else class="icon" :src="strReplace(state.form.userPosImgUrl)"></image> | |||
</view> | |||
</view> | |||
<view class="picture-wrapper" @click="takePhotoMode('2')"> | |||
<view class="bg"> | |||
<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.userNegImgUrl" class="icon" :src="`${$imgUrl}applyCard/guohui.png`"> | |||
</image> | |||
<image v-else class="icon" :src="strReplace(state.form.userNegImgUrl)"></image> | |||
</view> | |||
</view> | |||
<view class="shibie-wrapper"> | |||
<view class="title"> 识别内容如下 </view> | |||
<u-form label-width="200" :model="state.form" ref="uForm"> | |||
<!-- <u-form-item label="姓名"> | |||
<u-input v-model="state.form.customerName" placeholder='请输入姓名' /> | |||
</u-form-item> | |||
<u-form-item label="地址"> | |||
<u-input placeholder='请输入地址' height='38' type='textarea' :autoHeight='true' | |||
v-model="state.form.address" /> | |||
</u-form-item> --> | |||
<u-form-item label="手机号" class="phoneBox"> | |||
<u-input placeholder='手机号' type="number" v-model="state.form.newMobile" maxlength="11" /> | |||
<text @click="getCode" v-if="waitTime==0" class="search">获取验证码</text> | |||
<text class="btn" v-else>{{waitTime}}后重试</text> | |||
</u-form-item> | |||
<u-form-item label="验证码"> | |||
<u-input placeholder='请输入验证码' type="number" v-model="state.form.newMobileCode" /> | |||
</u-form-item> | |||
</u-form> | |||
</view> | |||
<view class="green-tip"> | |||
如识别信息有误,请手动修改,确认无误后,点击下一步! | |||
</view> | |||
<view class="action"> | |||
<button type="default" class="button" @click="savaHandle()"> | |||
下一步 | |||
</button> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="choice-takePhoto-wrap" v-if="state.isTakePhotoModeShow" @click="cancle"> | |||
<view class="choice-takePhoto"> | |||
<view @click.stop="takePhoto(state.choiceIndex)" style="border-radius: 20rpx 20rpx 0 0;">拍照</view> | |||
<view @click.stop="xiangce(state.choiceIndex)">从手机相册选择</view> | |||
<view @click.stop="cancle">取消</view> | |||
</view> | |||
</view> | |||
<viewfinder v-if="state.phoneType" :phoneType="state.phoneType" :images="state.images" | |||
:showStartPhoto="state.showImg" @confirmReturn="confirmReturn" @camera="camera"></viewfinder> | |||
</template> | |||
<script lang="ts" setup> | |||
import { | |||
getItem | |||
} from "@/utils/storage.ts" | |||
import { | |||
reactive, | |||
ref | |||
} from "vue"; | |||
import { | |||
msg, | |||
checkStr, | |||
strReplace, | |||
uploadFile, | |||
chooseImageCompress | |||
} from "@/utils/utils"; | |||
import { | |||
onLoad | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
idCardOcr, | |||
mobileChangeProfile, | |||
newMobileSmsCode, | |||
} from "@/utils/network/api.js"; | |||
import { requestNew} from "@/utils/network/request.js"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption.js"; | |||
import { | |||
fileURL | |||
} from "@/datas/fileURL.js"; | |||
import viewfinder from "../../../../components/viewfinder.vue" | |||
const height = uni.getSystemInfoSync().windowHeight | |||
const defHeadstockImg = `${fileURL}image/applyCard/renxiang.png`; | |||
const defInstallImg = `${fileURL}image/applyCard/guohui.png`; | |||
const state = reactive({ | |||
phoneType: 0, // 1 身份证正面 2 身份证反面 3行驶证正面 4行驶证反面 | |||
choiceIndex: 1, // 1 身份证正面 2 身份证反面 | |||
isTakePhotoModeShow: false, //选择拍照方式是否出来 | |||
showImg: true, | |||
images: "", | |||
genderList: [{ | |||
value: '男', | |||
label: '男' | |||
}, | |||
{ | |||
value: '女', | |||
label: '女' | |||
} | |||
], | |||
codeTips: "获取验证码", | |||
form: { | |||
customerId: '', //用户编号 | |||
customerName: "", //开户人姓名 | |||
openId: getItem('openId'), | |||
userPosImgUrl: "", //身份证正面 | |||
userNegImgUrl: "", //身份证反面 | |||
newMobile: "", //开户人手机号 | |||
address: "", //开户人地址 | |||
newMobileCode: "" //手机号验证码 | |||
} | |||
}) | |||
const getCode = () => { | |||
console.log(123); | |||
if (checkStr(state.form.newMobile, "mobile")) { | |||
sendCodeApi() | |||
codeInterval() | |||
} else { | |||
uni.showToast({ | |||
title: '请输入正确的手机号', | |||
icon: 'none' | |||
}); | |||
} | |||
} | |||
let waitTime = ref(0) | |||
//倒计时函数 | |||
const codeInterval = () => { | |||
waitTime.value = 60 | |||
let timer = setInterval(() => { | |||
if (waitTime.value == 1) { | |||
clearInterval(timer) | |||
} | |||
waitTime.value -= 1 | |||
}, 1000) | |||
} | |||
// 发送验证码 | |||
const sendCodeApi = () => { | |||
//参数说明 | |||
let options = { | |||
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交) | |||
data: { | |||
mobile: state.form.newMobile | |||
}, //请求参数 | |||
method: "POST", //提交方式(默认POST) | |||
showLoading: true, //是否显示加载中(默认显示) | |||
}; | |||
//调用方式 | |||
requestNew(newMobileSmsCode, options) | |||
.then((res) => { | |||
let data = stringToJson(res.bizContent) | |||
console.log(data, "#################"); | |||
if (data.info == "成功.") { | |||
console.log('######################CCCCCCCCCCCCCCCCC'); | |||
} | |||
}) | |||
.catch((err) => { | |||
console.log(err); | |||
}); | |||
} | |||
//下一步 | |||
const savaHandle = () => { | |||
console.log(state.form); | |||
if (!state.form.userPosImgUrl) { | |||
msg("请上传身份证正面") | |||
return; | |||
} | |||
if (!state.form.userNegImgUrl) { | |||
msg("请上传身份证反面") | |||
return; | |||
} | |||
// if (!state.form.customerName) { | |||
// msg("请输入姓名") | |||
// return; | |||
// } | |||
// if (!state.form.address) { | |||
// msg("请输入地址") | |||
// return; | |||
// } | |||
if (!checkStr(state.form.newMobile, "mobile")) { | |||
msg("请输入正确的手机号") | |||
return; | |||
} | |||
if (!state.form.newMobileCode) { | |||
msg("请输入验证码") | |||
return; | |||
} | |||
const options = { | |||
type: 2, | |||
data: state.form, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
requestNew(mobileChangeProfile, options).then((res) => { | |||
const data = JSON.parse(res.bizContent) | |||
msg('个人信息变更成功') | |||
setTimeout(() => { | |||
uni.navigateBack({ | |||
delta: 1 | |||
}); | |||
}, 1500) | |||
console.log(data); | |||
}); | |||
} | |||
onLoad((options) => { | |||
console.log(options.customerId); | |||
state.form.customerId = options.customerId | |||
}) | |||
const takePhotoMode = (index) => { | |||
console.log("index", index) | |||
state.isTakePhotoModeShow = true | |||
state.choiceIndex = index | |||
} | |||
const camera = () => { | |||
state.phoneType = 0 | |||
} | |||
const xiangce = (val) => { | |||
console.log("val", val) | |||
var imageType = val; | |||
chooseImageCompress((res)=>{ | |||
state.images = res.tempFilePath?res.tempFilePath:res.tempFilePaths[0] | |||
state.showImg = false | |||
state.phoneType = state.choiceIndex | |||
state.isTakePhotoModeShow = false | |||
}) | |||
} | |||
const takePhoto = (val) => { | |||
console.log("拍照", val) | |||
state.phoneType = val; | |||
state.showImg = true; | |||
} | |||
const confirmReturn = (val) => { | |||
state.phoneType = 0 | |||
state.isTakePhotoModeShow = false | |||
var imageType = state.choiceIndex; | |||
console.log("图片地址val", val.tempImagePath) | |||
uploadFile(val.tempImagePath, imageType, idCardOcr).then((data) => { | |||
if (state.choiceIndex === "1") { | |||
state.form.customerName = data.name; | |||
state.form.userPosImgUrl = data.imageUrl; | |||
state.form.address = data.address; | |||
} else { | |||
state.form.customerIdVld = data.enddate; | |||
state.form.userNegImgUrl = data.imageUrl; | |||
} | |||
state.isTakePhotoModeShow = false | |||
}) | |||
} | |||
const cancle = () => { | |||
state.isTakePhotoModeShow = false | |||
} | |||
</script> | |||
<style> | |||
page { | |||
background: #eef7f7; | |||
} | |||
</style> | |||
<style lang="scss" scoped> | |||
::v-deep .u-size-mini { | |||
white-space: nowrap; | |||
} | |||
.main { | |||
.content { | |||
padding: 50rpx 30rpx 50rpx 30rpx; | |||
.action { | |||
padding-left: 20rpx; | |||
padding-right: 20rpx; | |||
padding-bottom: 30rpx; | |||
.button { | |||
height: 80rpx; | |||
background: linear-gradient(-90deg, #43a1e0 0%, #13e7c1 100%); | |||
border-radius: 40rpx; | |||
font-size: 32rpx; | |||
font-weight: 400; | |||
color: #ffffff; | |||
line-height: 80rpx; | |||
} | |||
} | |||
.item-tips { | |||
.title { | |||
font-size: 30rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #000000; | |||
line-height: 24rpx; | |||
} | |||
.tip { | |||
margin-top: 16rpx; | |||
font-size: 24rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #999999; | |||
line-height: 24rpx; | |||
} | |||
} | |||
.picture-wrapper { | |||
margin-top: 40rpx; | |||
.bg { | |||
background: #ffffff; | |||
box-shadow: 0rpx 4rpx 13rpx 3rpx rgba(223, 223, 223, 0.8); | |||
border-radius: 20rpx; | |||
padding: 40rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
.name { | |||
font-size: 34rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #000000; | |||
line-height: 34rpx; | |||
} | |||
.value { | |||
margin-top: 20rpx; | |||
font-size: 24rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #999999; | |||
line-height: 24rpx; | |||
} | |||
.tip { | |||
margin-top: 20rpx; | |||
text-align: center; | |||
width: 110rpx; | |||
height: 40rpx; | |||
background: rgba(33, 190, 177, 0.2); | |||
border-radius: 6rpx; | |||
.tip-value { | |||
font-size: 20rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #0a8f8a; | |||
line-height: 40rpx; | |||
opacity: 1; | |||
} | |||
} | |||
} | |||
.icon { | |||
width: 294rpx; | |||
height: 188rpx; | |||
} | |||
} | |||
.shibie-wrapper { | |||
margin-top: 40rpx; | |||
background: #fff; | |||
padding: 40rpx 30rpx; | |||
border-radius: 20rpx; | |||
box-shadow: 0 4rpx 13rpx 3rpx rgba(223, 223, 223, .8); | |||
.title { | |||
font-size: 30rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #000000; | |||
line-height: 30rpx; | |||
} | |||
.phoneBox { | |||
::v-deep .u-form-item--right__content__slot { | |||
display: flex; | |||
.btn { | |||
flex: 1; | |||
background: transparent; | |||
font-size: 30rpx; | |||
color: #15E5C1; | |||
z-index: 999; | |||
} | |||
} | |||
} | |||
} | |||
.buchong-wrapper { | |||
margin-top: 60rpx; | |||
.title { | |||
font-size: 30rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #000000; | |||
line-height: 30rpx; | |||
} | |||
} | |||
.green-tip { | |||
margin-top: 50rpx; | |||
font-size: 24rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #00b38b; | |||
line-height: 24rpx; | |||
margin-bottom: 60rpx; | |||
} | |||
} | |||
} | |||
.choice-takePhoto { | |||
position: absolute; | |||
bottom: 0; | |||
background-color: white; | |||
width: 100%; | |||
border-radius: 20rpx 20rpx 0 0; | |||
} | |||
.choice-takePhoto>view:first-child { | |||
text-align: center; | |||
height: 80rpx; | |||
line-height: 80rpx; | |||
border-bottom: 1rpx solid rgba(127, 127, 127, 0.3); | |||
background-color: white; | |||
} | |||
.choice-takePhoto>view:last-child { | |||
text-align: center; | |||
height: 80rpx; | |||
line-height: 80rpx; | |||
border-top: 6rpx solid rgba(127, 127, 127, 0.1); | |||
background-color: white; | |||
} | |||
.choice-takePhoto>view { | |||
text-align: center; | |||
height: 80rpx; | |||
line-height: 80rpx; | |||
background-color: white; | |||
} | |||
.choice-takePhoto-wrap { | |||
width: 100%; | |||
height: 100vh; | |||
background-color: rgba(127, 127, 127, 0.2); | |||
position: fixed; | |||
left: 0; | |||
top: 0; | |||
z-index: 11111; | |||
} | |||
.search{ | |||
color: #ffffff; | |||
border-color: #19be6b; | |||
background-color: #19be6b; | |||
font-size: 28rpx !important; | |||
padding: 8px 30rpx !important; | |||
white-space: nowrap; | |||
height: 30rpx; | |||
line-height: 30rpx; | |||
border-radius: 16rpx; | |||
} | |||
</style> |
@@ -97,7 +97,7 @@ | |||
onShow | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
userUpload, | |||
idCardOcr, | |||
changeApply, | |||
etcMobileChangeSmsCode, | |||
} from "@/utils/network/api.js"; | |||
@@ -275,7 +275,7 @@ | |||
state.isTakePhotoModeShow = false | |||
var imageType = state.choiceIndex; | |||
console.log("图片地址val", val.tempImagePath) | |||
uploadFile(val.tempImagePath, imageType, userUpload).then((data) => { | |||
uploadFile(val.tempImagePath, imageType, idCardOcr).then((data) => { | |||
if (state.choiceIndex === "1") { | |||
state.form.customerName = data.name; | |||
state.form.userPosImgUrl = data.imageUrl; |
@@ -60,9 +60,9 @@ | |||
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}`) | |||
navTo(`/subpackage/personal-center/setting/personal-information/choice-verification-way?userType=${userType}&customerId=${customerId}`) | |||
}else{ | |||
navTo(`/subpackage/personal-center/setting/personal-information/choice-phone?userType=${userType}`) | |||
navTo(`/subpackage/personal-center/setting/personal-information/choice-phone?userType=${userType}&customerId=${customerId}`) | |||
} | |||
console.log("state.修改EC预留手机号",) | |||
} |
@@ -343,6 +343,12 @@ export const singleEquityDetail= "/iaw/ass/equity/singleEquityDetail" //单项 | |||
export const obuFileDataDecrypt= "/iaw/ass/issueBase/obuFileDataDecrypt" //OBU系统信息在线解密 | |||
export const updateShippingAddress= "/iaw/issue/order/updateShippingAddress" //订单修改收货地址 | |||
export const vehicleInfoQuery= "/iaw/app/issue/vehicleInfo/query" //获取车辆信息 | |||
// 公用得接口 | |||
export const commQueryCourier= "/iaw/api/afterSale/comm/queryCourier" //获取快递公司列表 | |||
// 收货地址管理 | |||
export const addressQueryNew= "/iaw/api/address/query" //地址列表查询 | |||
export const addressAdd= "/iaw/api/address/add" //地址添加 | |||
export const addressDeleteNew= "/iaw/api/address/delete" //地址删除 | |||
// 通行流水记录查询 | |||
export const cardinformationquery= "/iaw/app/issue/cardAnnounce/cardinformationquery" //卡信息查询 | |||
export const detaildownload= "/iaw/app/issue/cardAnnounce/detaildownload" //明细下载 | |||
@@ -366,11 +372,16 @@ export const billRaiseInsert = "/iaw/invoice/bill/billRaiseInsert" // 新增发 | |||
export const billRaiseUpdate = "/iaw/invoice/bill/billRaiseUpdate" // 修改发票抬头 | |||
export const billRaiseDelete = "/iaw/invoice/bill/billRaiseDelete" // 删除发票抬头 | |||
export const billQueryBill = "/iaw/invoice/bill/queryBill" // 发票查询 | |||
export const billQueryProductOrder = "/iaw/invoice/bill/queryProductOrder" // 查询ETC产品订单 | |||
export const passageFlowingWaterOrderPageQuery = "/iaw/invoice/bill/passageFlowingWaterOrderPageQuery" // 查询通行流水服务费订单 | |||
export const mergeInvoicing = "/iaw/invoice/bill/mergeInvoicing" // ETC产品合并开票 | |||
export const batchInvoice = "/iaw/invoice/bill/batchInvoice" // 通行流水服务费批量开票 | |||
// 卡签续期 | |||
export const cardRenewalFromWechat = "/iaw/api/afterSale/renewal/cardRenewal/fromWechat" //小程序卡续期 | |||
export const cardRenewalConfirm = "/iaw/api/afterSale/renewal/cardRenewal/confirm" //卡续期确认 | |||
export const obuRenewalFromWechat = "/iaw/api/afterSale/renewal/obuRenewal/fromWechat" //小程序签续期 | |||
export const cardCosConfirm = "/iaw/api/active/cardCos/confirm" //写卡指令结果返回 | |||
export const renewaCard = "/iaw/api/afterSale/renewal/card" //ASS-卡续期 | |||
export const renewalObu = "/iaw/api/afterSale/renewal/obu" //签续期 | |||
export const cardRenewalConfirm = "/iaw/api/afterSale/renewal/cardRenewal/confirm" //卡签续期确认 | |||
export const writeCardReturn = "/iaw/api/afterSale/renewal/writeCardReturn" //卡签续期 - 写卡指令返回 | |||
export const cardInfoChangeConfirm = "/iaw/api/afterSale/renewal/cardInfoChangeConfirm" //卡签续期 - 卡变更确认 | |||
// 售后车辆列表查询,替代原先的36、500接口 | |||
export const afterSaleCommQuery = "/iaw/api/afterSale/comm/query" //车辆列表查询,替代原先的36、500接口 | |||
export const commGetDetail = "/iaw/api/afterSale/comm/getDetail" //售后详情展示页 | |||
@@ -396,9 +407,15 @@ export const deviceUpgradeOrderCheck = "/iaw/aftersale/deviceUpgrade/orderCheck" | |||
export const deviceUpgradePage = "/iaw/aftersale/deviceUpgrade/page" //设备升级订单分页查询 | |||
//用户信息变更 | |||
export const customerInfoChange = "/iaw/aftersale/customerInfoChange/query" //用户信息查询 | |||
export const etcMobileChangeSmsCode = "/iaw/aftersale/customerInfoChange/etcMobileChangeSmsCode" //验证码发送(ETC预留手机号) | |||
export const etcMobileChangeSmsCode = "/iaw/aftersale/customerInfoChange/etcMobileSmsCode" //验证码发送(ETC预留手机号) | |||
export const changeApply = "/iaw/aftersale/customerInfoChange/changeApply" //用户信息变更申请 | |||
export const editablePage = "/iaw/aftersale/customerInfoChange/editablePage" //可修改个人用户信息列表查询 | |||
// ETC预留手机号变更 | |||
export const etcMobileChangeSmsCodeEtc = "/iaw/aftersale/etcMobileChange/etcMobileChangeSmsCode" //ETC预留手机号验证码发送 | |||
export const etcSmsCodeValid = "/iaw/aftersale/etcMobileChange/etcSmsCodeValid" //ETC预留手机号修改-验证码验证 | |||
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 vehicleInfoChangeEditablePage = "/iaw/aftersale/vehicleInfoChange/editablePage" //可修改信息列表查询 | |||
@@ -412,7 +429,7 @@ export const reactivateQuery = "/api/obu/reactivate/query" // 重新激活记录 | |||
export const changeCardObuApply = "/iaw/api/afterSale/changeCardObu/apply" // 卡签更换申请 | |||
export const changeCardObuCancel = "/iaw/api/afterSale/changeCardObu/cancel" // 卡签更换申请取消 | |||
export const changeCardObuFill = "/iaw/api/afterSale/changeCardObu/fill" // 卡签更换申请补充信息 | |||
export const changeCardObuExchangeFill = "/iaw/api/afterSale/changeCardObu/exchangeFill" // 卡签更换换货申请补充信息 | |||
export const changeCardObuFillQuery = "/iaw/api/afterSale/changeCardObu/query" // 卡签更换订单查询 | |||
// 卡签注销 | |||
export const cancelValid = "/iaw/aftersale/cancel/valid" // 注销验证 | |||