yangteng преди 11 месеца
родител
ревизия
b3826c0008

+ 1
- 1
components/form-builder/form-builder.vue Целия файл

@@ -236,7 +236,7 @@
<view><text class="red">*</text>申请退货需将原设备寄回</view>
<view>寄回信息:</view>
<view>收件人:ETC售后 联系电话:18798751224(此电话仅用于ETC售后收取快递,如需咨询业务请致电4008008787)</view>
<view>寄回地址:贵州省贵阳市云岩区普天广场11楼</view>
<view>寄回地址:{{config.address}}</view>
</view>
<view class="subBtn">
<submit-button :title="config ? config.submitName : '提交'" form-type="submit"

+ 0
- 14
pages.json Целия файл

@@ -544,13 +544,6 @@
"enablePullDownRefresh": false
}
},
{
"path": "pin-code-deblocking/select-car",
"style": {
"navigationBarTitleText": "卡pin码解锁",
"enablePullDownRefresh": false
}
},
{
"path": "pin-code-deblocking/pin-code-confirm",
"style": {
@@ -880,13 +873,6 @@
"enablePullDownRefresh": false
}
},
{
"path": "to-bookkeeping-card/select-car",
"style": {
"navigationBarTitleText": "储值卡转记账卡-选择车辆",
"enablePullDownRefresh": false
}
},
{
"path": "to-bookkeeping-card/confirm",
"style": {

+ 16
- 4
subpackage/after-sale/activation-once-again/select-car.vue Целия файл

@@ -26,7 +26,8 @@
import { deviceType } from "@/utils/network/difference";
const state = reactive({
list: [],
type: "",//1 OBU重新激活 2 卡签注销 3 更换设备 4卡签续期 5挂失解挂 6增补设备
type: "",//1 OBU重新激活 2 卡签注销 3 更换设备 4卡签续期 5挂失解挂 6增补设备
// 30 储值卡转记账卡 31卡pin码解锁
});
onLoad((options) => {
console.log("options", options)
@@ -51,7 +52,16 @@ import { deviceType } from "@/utils/network/difference";
uni.setNavigationBarTitle({
title: '增补设备-选择车辆'
});
}else if (options.type == "30") {
uni.setNavigationBarTitle({
title: '储值卡转记账卡-选择车辆'
});
}else if (options.type == "31") {
uni.setNavigationBarTitle({
title: '卡pin码解锁-选择车辆'
});
}
quanCheckActionTrue().then((item : any) => {
state.list = item.data;
console.log(item);
@@ -99,9 +109,6 @@ import { deviceType } from "@/utils/network/difference";
if (item.deviceType == deviceType) {
// OBU重新激活跳转
const params = encodeURIComponent(JSON.stringify(item))
if(state.type=="5"){
}
jump(state.type, params)
} else {
if (state.type == "1") {
@@ -125,7 +132,12 @@ import { deviceType } from "@/utils/network/difference";
navTo(`/subpackage/after-sale/card-loss-reporting/cardloss-confirm?id=${item.id}`)
}else if (state.type == "6") {
navTo(`/subpackage/after-sale/additional-equipment/additional-equipment-confirm?id=${item.id}`)
}else if (state.type == "30") {
navTo(`/subpackage/after-sale/to-bookkeeping-card/confirm?id=${item.id}`)
}else if (state.type == "31") {
navTo(`/subpackage/after-sale/pin-code-deblocking/pin-code-confirm?id=${item.id}`);
}
}



+ 21
- 1
subpackage/after-sale/js/publicRequest.ts Целия файл

@@ -1,6 +1,6 @@
import { stringToJson } from "@/utils/network/encryption";
import { request } from "@/utils/network/request";
import { searchVehicleInfo } from "@/utils/network/api.js";
import { searchVehicleInfo,getMailingAddressApi } from "@/utils/network/api.js";
// 154接口获取车辆信息
export const searchVehicleInfoQuery = (vehicleId,random) => {
const options = {
@@ -22,4 +22,24 @@ export const searchVehicleInfoQuery = (vehicleId,random) => {
}).catch((error) => {
reject(error);
});
}

export const getMailingAddress = (orderId) => {
var data = {
orderId: orderId,
};
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};
return new Promise(async (resolve, reject) => {
const res = await request(getMailingAddressApi, options);
const data = stringToJson(res.bizContent).address;
console.log("获取邮寄地址", data)
resolve(data);
}).catch((error) => {
reject(error);
});
}

+ 0
- 147
subpackage/after-sale/pin-code-deblocking/select-car.vue Целия файл

@@ -1,147 +0,0 @@
<template>
<view class="selectCar-box">
<view v-if="state.list.length > 0" @click="choose(i, item)" class="item" v-for="(item, i) in state.list"
:key="i">
<view class="iten-left">
<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image>
<text>{{ item.vehiclePlate }}</text>
</view>
<view class="choose-item">
<view class="active" v-if="flag == i"> </view>
</view>
</view>
<view v-else class="flex"> 暂无车辆订单信息 </view>
</view>
</template>

<script lang="ts" setup>
import { reactive, ref } from "vue";
import { navTo } from "@/utils/utils";
import { onLoad, onShow } from "@dcloudio/uni-app";
import { orderList } from "@/utils/network/api.js";
import { request } from "@/utils/network/request.js";
import { msg } from "@/utils/utils";
import { getItem, StorageKeys, setItem } from "@/utils/storage";
import { stringToJson } from "@/utils/network/encryption";

const state = reactive({
list: [],
});
onLoad(() => {
quanCheckActionTrue().then((item : any) => {
state.list = item.data;
console.log(item);
});
});

const quanCheckActionTrue = () => {
let source = ""
// #ifdef MP-ALIPAY
source = "ALI"
// #endif
// #ifdef MP-WEIXIN
source = "WECHAT"
// #endif
var data = {
opId: getItem(StorageKeys.OpenId),
source: source,
tabIndex: "0",
orderStep: "11",
isValueCard: "",
orderStatus: "1",
isAfter: true,
};
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};
return new Promise(async (resolve, reject) => {
const res = await request(orderList, options);
const data = stringToJson(res.bizContent);

resolve(data);
}).catch((error) => {
reject(error);
});
};
const flag = ref("0");

const choose = (i, item) => {
console.log(item.cardId);
navTo(
`/subpackage/after-sale/pin-code-deblocking/pin-code-confirm?id=${item.id}`
);
};
</script>

<style>
page {
width: 100%;
height: 100%;
background-color: #eef7f7;
}
</style>
<style lang="scss" scoped>
.flex {
display: flex;
justify-content: center;
}

.selectCar-box {
// width: 100%;
height: 100%;
padding: 30rpx;

.item {
padding: 20rpx;
display: flex;
justify-content: space-between;
align-items: center;
height: 130rpx;
background: #ffffff;
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8);
border-radius: 20rpx;
margin-bottom: 30rpx;

.iten-left {
display: flex;
align-items: center;

image {
width: 150rpx;
height: 90rpx;
}

text {
margin-left: 20rpx;
font-size: 32rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #333333;
}
}

.choose-item {
width: 44rpx;
height: 44rpx;
background: #ffffff;
border: 2rpx solid #00b38b;
border-radius: 50%;
margin-right: 20rpx;
display: flex;
justify-content: center;
align-items: center;
box-sizing: content-box;
}

.active {
width: 34rpx;
height: 34rpx;
background: #00b38b;
border-radius: 50%;
}
}
}
</style>

+ 2
- 1
subpackage/after-sale/progress-query/progress-query-business-details.vue Целия файл

@@ -11,7 +11,8 @@
<!-- <view><text>是否逾期:</text><text>{{state.params['over']?'逾期':"未逾期"}}</text></view> -->
<view><text>状态:</text><text>{{state.params['statusC']}}</text></view>
<view v-if="state.params['reason']"><text>原因:</text><text>{{state.params['reason']}}</text></view>
<view><text>申请时间:</text><text>{{state.params['insertTime']}}</text>
<view><text>申请时间:</text><text>{{state.params['insertTime']}}</text></view>
<view v-if="state.params['address']"><text>邮寄地址:</text><text>{{state.params['address']}}</text>
</view>
</view>
</view>

+ 9
- 19
subpackage/after-sale/replace-equipment/form.vue Целия файл

@@ -156,7 +156,7 @@
addressQuery,
changeCardInfo,
changeCardQueryCancle,
getMailingAddressApi
// getMailingAddressApi
} from "@/utils/network/api.js";
import {
stringToJson
@@ -165,6 +165,9 @@
getItem,
StorageKeys
} from "@/utils/storage";
import {
getMailingAddress
} from "@/subpackage/after-sale/js/publicRequest";
import {
wechatPayConfigId,

@@ -261,25 +264,12 @@
console.log("radiolist1.value", radiolist1.value)
getexpresslist();
getAddressList();
getMailingAddress(option.orderId)
getMailingAddress(option.orderId).then((address) => {
console.log("address",address)
form.goodsAddress=address
})

});
const getMailingAddress = (orderId) => {
var data = {
orderId: orderId,
};
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};
request(getMailingAddressApi, options).then((res) => {
const data = stringToJson(res.bizContent);
form.goodsAddress=data.address
console.log("获取邮寄地址", data)
});
};
const goToAddAddress = () => {
uni.navigateTo({
url: "/subpackage/orders/addAddress",
@@ -443,7 +433,7 @@
applyRes: form.applyRes,
cardExpire: params.cardExpire,
obuExpire: params.obuExpire,
goodsAddress:""
goodsAddress:form.goodsAddress
};
const options = {
type: 2,

+ 0
- 169
subpackage/after-sale/to-bookkeeping-card/select-car.vue Целия файл

@@ -1,169 +0,0 @@
<template>
<view class="selectCar-box">
<view v-if="state.list&&state.list.length>0" @click="choose(i,item)" class="item" v-for="(item,i) in state.list"
:key="i">
<view class="iten-left">
<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image>
<text>{{item.vehiclePlate}}</text>
</view>
<view class="choose-item">
<view class="active" v-if="flag==i">
</view>
</view>
</view>

<view v-else>
<empty title='暂无找到相关车辆信息' />
</view>
</view>
</template>

<script lang="ts" setup>
import empty from "@/components/empty/empty.vue";
import {
reactive,
ref
} from "vue"
import {
navTo
} from "@/utils/utils"
import {
onLoad,
} from "@dcloudio/uni-app";
import {
orderList
} from "@/utils/network/api.js";
import {
request
} from "@/utils/network/request.js";
import {
getItem,
StorageKeys,
} from "@/utils/storage";
import {
stringToJson
} from "@/utils/network/encryption";

const state = reactive({
list: [] //车辆list
});
const flag = ref('0') //默认选择0

onLoad(() => {
quanCheckActionTrue().then((item: any) => {
state.list = item.data
})
});

const quanCheckActionTrue = () => {
let source = ""
// #ifdef MP-ALIPAY
source ="ALI"
// #endif
// #ifdef MP-WEIXIN
source ="WECHAT"
// #endif
var data = {
opId: getItem(StorageKeys.OpenId),
source: source, //渠道为小程序
tabIndex: '0', //0全部
orderStep: '11', //11 为已完成”
isValueCard: '1',
title:'1',
isAfter: true,
};
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};

return new Promise(async (resolve, reject) => {
const res = await request(orderList, options);
const data = stringToJson(res.bizContent);
resolve(data);
}).catch((error) => {
reject(error);
});
}

const choose = (i, item) => {
flag.value = i
navTo(`/subpackage/after-sale/to-bookkeeping-card/confirm?id=${item.id}`)
}
</script>

<style>
page {
width: 100%;
height: 100%;
background-color: #EEF7F7;
}
</style>
<style lang="scss" scoped>
.flex {
display: flex;
justify-content: center;
}

.selectCar-box {
// width: 100%;
height: 100%;
padding: 30rpx;

.item {
padding: 20rpx;
display: flex;
justify-content: space-between;
align-items: center;
height: 130rpx;
background: #FFFFFF;
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8);
border-radius: 20rpx;
margin-bottom: 30rpx;

.iten-left {
display: flex;
align-items: center;

image {
width: 150rpx;
height: 90rpx;

}

text {
margin-left: 20rpx;
font-size: 32rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #333333;
}
}

.choose-item {
width: 44rpx;
height: 44rpx;
background: #FFFFFF;
border: 2rpx solid #00B38B;
border-radius: 50%;
margin-right: 20rpx;
display: flex;
justify-content: center;
align-items: center;
box-sizing: content-box;
}

.active {
width: 34rpx;
height: 34rpx;
background: #00B38B;
border-radius: 50%;
}

}


}
</style>

+ 15
- 5
subpackage/orders/apply-ex-goods-step1.vue Целия файл

@@ -1,6 +1,6 @@
<template>
<view class="oderPage">
<u-form :model="form" ref="myForm" :error-type="errorType">
<u-form :model="form" :error-type="errorType">
<view class="from">

<u-form-item prop="applyType">
@@ -21,7 +21,7 @@
<view><text class="red">*</text>设备更换需将原设备寄回</view>
<view>寄回信息:</view>
<view>收件人:ETC售后 联系电话:18798751224(此电话仅用于ETC售后收取快递,如需咨询业务请致电4008008787)</view>
<view>寄回地址:贵州省贵阳市云岩区普天广场11楼</view>
<view>寄回地址:{{state.address}}</view>
</view>
<button class="submit" @click="submit">下一步</button>
<!-- 自提网点弹窗 -->
@@ -46,13 +46,19 @@
import {
onLoad
} from "@dcloudio/uni-app";

import {
getMailingAddress
} from "@/subpackage/orders/js/publicRequest";
// 表单数据
const form = reactive({
orderId: '',
applyType: '',
operation: ''

})
const state = reactive({
address: '',
})
//接受通过该id查询订单详情
const oldId = ref('')
@@ -84,7 +90,7 @@
// 设置验证规则
const myForm = ref(null)
onReady(() => {
myForm.value.setRules(rules)
// myForm.value.setRules(rules)
})

let show = ref(false)
@@ -112,7 +118,7 @@
const submit = () => {
if (form.applyType) {
console.log('验证通过', form);
navTo(`/subpackage/orders/apply-ex-goods?orderId=${oldId.value}`) //测试用
navTo(`/subpackage/orders/apply-ex-goods?orderId=${oldId.value}&address=${state.address}`) //测试用
} else {
uni.showToast({
title: "请选择申请类型",
@@ -125,6 +131,10 @@
form.orderId = option.orderId
oldId.value = option.id
console.log(form);
getMailingAddress(option.orderId).then((address) => {
console.log("address",address)
state.address=address
})
});
</script>


+ 3
- 0
subpackage/orders/apply-ex-goods.vue Целия файл

@@ -26,6 +26,7 @@
};

const state = reactive({
address:"",
//订单信息
orderInfo: {} as any,
//网点信息
@@ -468,6 +469,7 @@
address: e.address,
postalCode: e.postalCode,
opId: getItem(StorageKeys.OpenId),
goodsAddress:state.address
},
method: "POST",
showLoading: true,
@@ -497,6 +499,7 @@
getOrderDetails(option.orderId);
getLogisticsList();
getOutletList();
state.address=option.address
});
</script>


+ 9
- 1
subpackage/orders/apply-return-goods.vue Целия файл

@@ -14,11 +14,15 @@
import { getLogistics, orderReturn, outletList } from "@/utils/network/api";
import { stringToJson } from "@/utils/network/encryption";
import { getItem, StorageKeys } from "@/utils/storage";
import {
getMailingAddress
} from "@/subpackage/orders/js/publicRequest";

const config = {
submitName: "申请退货",
titleWidth: 160,
divider: true,
address:""
};

const state = reactive({
@@ -198,11 +202,11 @@
returnLogisticsNumber: e.returnLogisticsNumber,
returnReason: e.returnReason,
opId: getItem(StorageKeys.OpenId),
address:config.address
},
method: "POST",
showLoading: true,
};

request(orderReturn, options).then((res) => {
confirm(
"您申办的ETC订单已申请退货,待审核,请到【查询服务】的【业务审核查询】查看进度",
@@ -233,6 +237,10 @@

//获取退货网点
getOutletList();
getMailingAddress(state.orderInfo.orderId).then((address) => {
console.log("address",address)
config.address=address
})
});
</script>


+ 23
- 0
subpackage/orders/js/publicRequest.ts Целия файл

@@ -0,0 +1,23 @@
import { stringToJson } from "@/utils/network/encryption";
import { request } from "@/utils/network/request";
import {getMailingAddressApi } from "@/utils/network/api.js";

export const getMailingAddress = (orderId) => {
var data = {
orderId: orderId,
};
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};
return new Promise(async (resolve, reject) => {
const res = await request(getMailingAddressApi, options);
const data = stringToJson(res.bizContent).address;
console.log("获取邮寄地址", data)
resolve(data);
}).catch((error) => {
reject(error);
});
}

Loading…
Отказ
Запис