Kaynağa Gözat

替换接口

master
yangteng 7 ay önce
ebeveyn
işleme
45f6e45545
25 değiştirilmiş dosya ile 930 ekleme ve 208 silme
  1. 50
    12
      components/verification-code/verification-code.vue
  2. 14
    1
      pages.json
  3. 1
    1
      pages/user/user.vue
  4. 1
    1
      subpackage/after-sale/activation-once-again/select-car.vue
  5. 22
    22
      subpackage/after-sale/card-Renewal/renewal-confirm.vue
  6. 3
    3
      subpackage/after-sale/js/publicRequest.ts
  7. 8
    14
      subpackage/after-sale/replace-equipment/form.vue
  8. 10
    17
      subpackage/after-sale/replace-equipment/replace-equipment-confirm.vue
  9. 8
    11
      subpackage/after-sale/replace-equipment/verification.vue
  10. 21
    17
      subpackage/orders/addAddress.vue
  11. 6
    10
      subpackage/orders/editAddress.vue
  12. 4
    4
      subpackage/orders/essential-information-two.vue
  13. 22
    22
      subpackage/orders/essential-information.vue
  14. 2
    3
      subpackage/orders/interestsList.vue
  15. 6
    6
      subpackage/orders/invoiceApply/invoice-content.vue
  16. 6
    6
      subpackage/orders/invoiceApply/invoice-step1.vue
  17. 7
    22
      subpackage/personal-center/setting/addressManager.vue
  18. 181
    0
      subpackage/personal-center/setting/personal-information/change-phone-newphone.vue
  19. 20
    18
      subpackage/personal-center/setting/personal-information/change-phone.vue
  20. 3
    3
      subpackage/personal-center/setting/personal-information/choice-phone.vue
  21. 8
    5
      subpackage/personal-center/setting/personal-information/choice-verification-way.vue
  22. 500
    0
      subpackage/personal-center/setting/personal-information/user-card-ETC.vue
  23. 2
    2
      subpackage/personal-center/setting/personal-information/user-card.vue
  24. 2
    2
      subpackage/personal-center/setting/personal-information/user-change-list.vue
  25. 23
    6
      utils/network/api.js

+ 50
- 12
components/verification-code/verification-code.vue Dosyayı Görüntüle

@@ -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();
});
}
};

/* 倒计时 */

+ 14
- 1
pages.json Dosyayı Görüntüle

@@ -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": {

+ 1
- 1
pages/user/user.vue Dosyayı Görüntüle

@@ -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']) {

+ 1
- 1
subpackage/after-sale/activation-once-again/select-car.vue Dosyayı Görüntüle

@@ -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") {

+ 22
- 22
subpackage/after-sale/card-Renewal/renewal-confirm.vue Dosyayı Görüntüle

@@ -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) => {

})
}

+ 3
- 3
subpackage/after-sale/js/publicRequest.ts Dosyayı Görüntüle

@@ -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

+ 8
- 14
subpackage/after-sale/replace-equipment/form.vue Dosyayı Görüntüle

@@ -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]

+ 10
- 17
subpackage/after-sale/replace-equipment/replace-equipment-confirm.vue Dosyayı Görüntüle

@@ -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) => {

+ 8
- 11
subpackage/after-sale/replace-equipment/verification.vue Dosyayı Görüntüle

@@ -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,

+ 21
- 17
subpackage/orders/addAddress.vue Dosyayı Görüntüle

@@ -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({

+ 6
- 10
subpackage/orders/editAddress.vue Dosyayı Görüntüle

@@ -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);
});

+ 4
- 4
subpackage/orders/essential-information-two.vue Dosyayı Görüntüle

@@ -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 = {

+ 22
- 22
subpackage/orders/essential-information.vue Dosyayı Görüntüle

@@ -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)

+ 2
- 3
subpackage/orders/interestsList.vue Dosyayı Görüntüle

@@ -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);
});

+ 6
- 6
subpackage/orders/invoiceApply/invoice-content.vue Dosyayı Görüntüle

@@ -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, "通行");
});

+ 6
- 6
subpackage/orders/invoiceApply/invoice-step1.vue Dosyayı Görüntüle

@@ -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}`)

+ 7
- 22
subpackage/personal-center/setting/addressManager.vue Dosyayı Görüntüle

@@ -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, "列表数组");
}


+ 181
- 0
subpackage/personal-center/setting/personal-information/change-phone-newphone.vue Dosyayı Görüntüle

@@ -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>

+ 20
- 18
subpackage/personal-center/setting/personal-information/change-phone.vue Dosyayı Görüntüle

@@ -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>

+ 3
- 3
subpackage/personal-center/setting/personal-information/choice-phone.vue Dosyayı Görüntüle

@@ -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>


+ 8
- 5
subpackage/personal-center/setting/personal-information/choice-verification-way.vue Dosyayı Görüntüle

@@ -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>


+ 500
- 0
subpackage/personal-center/setting/personal-information/user-card-ETC.vue Dosyayı Görüntüle

@@ -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>

+ 2
- 2
subpackage/personal-center/setting/personal-information/user-card.vue Dosyayı Görüntüle

@@ -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;

+ 2
- 2
subpackage/personal-center/setting/personal-information/user-change-list.vue Dosyayı Görüntüle

@@ -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预留手机号",)
}

+ 23
- 6
utils/network/api.js Dosyayı Görüntüle

@@ -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" // 注销验证


Loading…
İptal
Kaydet