yangteng 6 місяці тому
джерело
коміт
bd6d6be5ba

+ 2
- 2
components/nav-bar/nav-bar2.vue Переглянути файл

}) })
const back = (title, type, userType, orderId) => { const back = (title, type, userType, orderId) => {
console.log("555555555", title, type, userType, orderId) console.log("555555555", title, type, userType, orderId)
if (title == "九州ETC" && type) {
if (title == "九州ETC" && type ) {
console.log("九州ETC",type,userType) console.log("九州ETC",type,userType)
uni.navigateBack({ uni.navigateBack({
delta:1 delta:1
// uni.redirectTo({ // uni.redirectTo({
// url: `/subpackage/orders/choice-product?vanType=${type}&&userType=${userType}` // url: `/subpackage/orders/choice-product?vanType=${type}&&userType=${userType}`
// }) // })
} else if (title == "ETC开户新办申请-个人" || title == "ETC开户新办申请-单位" || title == "行驶证信息上传" || title == "微信车主服务" || title == "加购权益产品" || title == "产品详情" || title == "支付账户签约") {
} else if ( title == "加购权益产品" ) {
uni.showModal({ uni.showModal({
content: '当前ETC正在办理中,中断后续可在订单管理中继续办理。', content: '当前ETC正在办理中,中断后续可在订单管理中继续办理。',
success: function (res) { success: function (res) {

+ 65
- 45
pages/bluetooth/bluetooth.vue Переглянути файл

<template> <template>
<view class="devices"> <view class="devices">
<view class="device" v-for="(item, index) in deviceList" :key="index" @click="connectDevice(item)"> <view class="device" v-for="(item, index) in deviceList" :key="index" @click="connectDevice(item)">
<image :src="`${$imgUrl}bluetooth/card1.png`" class="head" mode="aspectFill"></image>
<image :src="`${$imgUrl}bluetooth/card1s.png`" class="head" mode="aspectFill"></image>
<view class="center"> <view class="center">
<view class="name">{{ item._name }}</view> <view class="name">{{ item._name }}</view>
<view class="desc">编号 {{ item.name }}</view> <view class="desc">编号 {{ item.name }}</view>
</view> </view>
<image :src="item.selected ? selectedUrl : unSelectedUrl" class="icon" mode="aspectFill"></image>
<image :src=" item.selected ? selectedUrl : unSelectedUrl" class="icon" mode="aspectFill"></image>
</view> </view>


<view class="hint"> <view class="hint">
<view class="orange-txt as-layout-horizontal as-gravity-center-start">
<image :src="`${$imgUrl}common/icon-hint.png`" mode="aspectFill"></image>
<view class="txt">
<image :src="`${$imgUrl}bluetooth/waring.png`" mode="aspectFill" class="imgs"></image>
<view>温馨提示:</view> <view>温馨提示:</view>
</view> </view>
<view class="grey-txt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <view class="grey-txt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
指令执行过程中,请勿关闭蓝牙,勿将手机远离电子标签,以免导致写卡、写签失败。</view> 指令执行过程中,请勿关闭蓝牙,勿将手机远离电子标签,以免导致写卡、写签失败。</view>
</view> </view>


<view class="btn">
<!-- <view class="btn">
<submit-button title="点击重新搜索蓝牙" @submit="load"></submit-button> <submit-button title="点击重新搜索蓝牙" @submit="load"></submit-button>
</view> -->
<view class="action">
<button type="default" class="ui-btn" @click="load">
点击重新搜索蓝牙
</button>
</view> </view>
</view> </view>
</template> </template>




const imgURL = `${fileURL}image/`; const imgURL = `${fileURL}image/`;
const selectedUrl = "common/selected.png`";
const unSelectedUrl = "common/unselected.png`";
const selectedUrl = imgURL + "bluetooth/select-icons.png";
const unSelectedUrl = imgURL + "bluetooth/unselected_xin.png";


const jyApi = require("../../static/etc/JYAPI/GenvictBleUtil.js"); const jyApi = require("../../static/etc/JYAPI/GenvictBleUtil.js");
const jlQZApi = require("../../static/etc/JLQZAPI/JLObuSDK.js"); const jlQZApi = require("../../static/etc/JLQZAPI/JLObuSDK.js");
{ {
id: "1", id: "1",
image: imgURL + "bluetooth/card1.png`", image: imgURL + "bluetooth/card1.png`",
name: "聚力",
number: "235564444558855",
_name: "聚力",
name: "235564444558855",
}, },
], ],
connectSuccess: 1, connectSuccess: 1,
difference: "",//区分routeType5 1二次激活 2余额补领 difference: "",//区分routeType5 1二次激活 2余额补领
vehicleId: "", vehicleId: "",
refundBalance: "", refundBalance: "",
vehPosImgUrl:"",
vehNegImgUrl:"",
isAfter:''
vehPosImgUrl: "",
vehNegImgUrl: "",
isAfter: ''
}); });
const deviceList = ref([]); const deviceList = ref([]);
const connectPrefixName = ref(null); const connectPrefixName = ref(null);
if (option.refundBalance) { if (option.refundBalance) {
state.refundBalance = option.refundBalance; state.refundBalance = option.refundBalance;
} }
if (option.vehPosImgUrl) { if (option.vehPosImgUrl) {
state.vehPosImgUrl = option.vehPosImgUrl; state.vehPosImgUrl = option.vehPosImgUrl;
} }
state.vehNegImgUrl = option.vehNegImgUrl; state.vehNegImgUrl = option.vehNegImgUrl;
} }
if (option.isAfter) { if (option.isAfter) {
state.isAfter =option.isAfter;
state.isAfter = option.isAfter;
} }
console.log("传过来的参数", option) console.log("传过来的参数", option)
}); });


_name = "智载"; _name = "智载";
break; break;
case "ETC": case "ETC":
if (name.split("-")[1] == "KC" || name.split("-")[1].indexOf('C')>0 || name.split("-")[1].indexOf('K')>0) {
if (name.split("-")[1] == "KC" || name.split("-")[1].indexOf('C') > 0 || name.split("-")[1].indexOf('K') > 0) {
_name = "前装-科畅"; _name = "前装-科畅";
console.log("前装-科畅") console.log("前装-科畅")
} else if (name.split("-")[1] == "JL") { } else if (name.split("-")[1] == "JL") {
); );
break; break;
case "ETC": case "ETC":
console.log("device.name=====", device.name, device.name.includes("KC"),device.name.includes("JY"),device.name.includes("KC") || device.name.includes("K") || device.name.includes("C"))
console.log("device.name=====", device.name, device.name.includes("KC"), device.name.includes("JY"), device.name.includes("KC") || device.name.includes("K") || device.name.includes("C"))
if (device.name.includes("KC") || device.name.includes("K")) { if (device.name.includes("KC") || device.name.includes("K")) {
kcApi.connectDevice( kcApi.connectDevice(
device, device,
function oks() { function oks() {
//routeType 1.激活(订单来) 2.圈存 (/pages/recharge/recharge来)3.ping码解锁 4.信息读取 5从哪里来回哪里去监听bluetoothLink 7消费明细去圈存 8单位账户圈存 9对公账户修复 //routeType 1.激活(订单来) 2.圈存 (/pages/recharge/recharge来)3.ping码解锁 4.信息读取 5从哪里来回哪里去监听bluetoothLink 7消费明细去圈存 8单位账户圈存 9对公账户修复
if (routeType.value == "1") { if (routeType.value == "1") {
if(state.isAfter=='1'){
if (state.isAfter == '1') {
uni.navigateTo({ uni.navigateTo({
url: `/subpackage/after-sale/activation/activate-SH`, url: `/subpackage/after-sale/activation/activate-SH`,
}); });
}else{
} else {
uni.navigateTo({ uni.navigateTo({
url: `/subpackage/after-sale/activation/activate?transfer=${state.transfer}`, url: `/subpackage/after-sale/activation/activate?transfer=${state.transfer}`,
}); });
} }
} else if (routeType.value == "2") { } else if (routeType.value == "2") {
uni.navigateTo({ uni.navigateTo({
url: `/subpackage/carPark/recharge/recharge-weixin?connectSuccess=${state.connectSuccess}`, url: `/subpackage/carPark/recharge/recharge-weixin?connectSuccess=${state.connectSuccess}`,
uni.navigateTo({ uni.navigateTo({
url: `/subpackage/personal-center/trapping-and-repairing-account/recharge-two?rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}&&accountId=${state.accountId}`, url: `/subpackage/personal-center/trapping-and-repairing-account/recharge-two?rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}&&accountId=${state.accountId}`,
}); });
} else if (routeType.value == "10") {
} else if (routeType.value == "10") {
uni.navigateTo({ uni.navigateTo({
url: `/subpackage/personal-center/car-message-change?vehicleId=${state.vehicleId}`, url: `/subpackage/personal-center/car-message-change?vehicleId=${state.vehicleId}`,
}); });
console.log(res.msg); console.log(res.msg);
} }
}; };
function etcOks() {
function etcOks() {
if (routeType.value == "4") { if (routeType.value == "4") {
uni.navigateTo({ uni.navigateTo({
url: "/subpackage/carPark/etc/etcDeviceInfo", url: "/subpackage/carPark/etc/etcDeviceInfo",


<style lang="scss" scoped> <style lang="scss" scoped>
.devices { .devices {
min-height: 100vh;
box-sizing: border-box;
padding-bottom: 160rpx;
position: relative;
padding-top: 30rpx;
background: #E9EDF0;
.action {
position: absolute;
bottom: 0rpx;
left: 0;
height: 128rpx;
background-color: #fff;
border-radius: 30rpx 30rpx 0 0;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.device { .device {
width: calc(100% - 30rpx);
margin-left: 30rpx;
margin: 0 auto;
width: 701rpx;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
margin-top: 30rpx;
background: white; background: white;
padding: 25rpx 20rpx; padding: 25rpx 20rpx;
border-top-left-radius: 20rpx;
border-bottom-left-radius: 20rpx;
box-shadow: 0px 10px 10rpx 10rpx rgba(223, 223, 223, 0.3);
box-sizing: border-box;
background: #FFFFFF;
box-shadow: 2rpx 6rpx 6rpx 6rpx #DFDFDF;
border-radius: 12rpx;


.head { .head {
width: 120rpx; width: 120rpx;
} }


.icon { .icon {
width: 43rpx;
height: 43rpx;
margin-right: 10rpx;
width: 38rpx;
height: 38rpx;
margin-right: 12rpx;
} }
} }


.hint { .hint {
margin: 60rpx 30rpx 0px; margin: 60rpx 30rpx 0px;


.orange-txt {
font-size: 26rpx;
color: #ff8000;
.txt {
font-family: MicrosoftYaHei;
font-size: 28rpx;
color: #111111;
line-height: 40rpx;
display: flex;
align-items: center;


image {
.imgs {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
margin-right: 10rpx; margin-right: 10rpx;
} }


.grey-txt { .grey-txt {
font-size: 26rpx;
color: #666666;
font-size: 28rpx;
color: #999;
line-height: 40rpx; line-height: 40rpx;
margin-top: 16rpx; margin-top: 16rpx;
} }
} }




.red {
display: inline-block;
color: red;
background-color: red;
width: 26rpx;
height: 26rpx;
border-radius: 100%;
}
</style> </style>

+ 47
- 33
pages/order/components/order-list-item-new.vue Переглянути файл

<!-- 新办订单item <!-- 新办订单item
新办订单状态:待支付、审核中、审核不通过、待发货、待收货、待激活、已完成、已取消、已结束、退货、换货--> 新办订单状态:待支付、审核中、审核不通过、待发货、待收货、待激活、已完成、已取消、已结束、退货、换货-->
<template> <template>
<view :class="item.orderStatus == OrderStatus.已取消 ? 'item finished' : 'item'"
@click.stop="gotoOrderDetails(item,1)">
<view :class="item.orderStatus == OrderStatus.已取消 ? 'item finished' : 'item'" @click.stop="gotoOrderDetails(item,1)">
<view class="head"> <view class="head">
<view class="name"> <view class="name">
<image :src="`${$imgUrl}order/icon-car.png`" class="icon" mode="aspectFit"></image> <image :src="`${$imgUrl}order/icon-car.png`" class="icon" mode="aspectFit"></image>
<text class="title">{{item.vehiclePlate ?item.vehiclePlate: ''}}</text> <text class="title">{{item.vehiclePlate ?item.vehiclePlate: ''}}</text>
</view> </view>
<view v-if="item.promotionModes==1" class="xiao">小程序</view> <view v-if="item.promotionModes==1" class="xiao">小程序</view>
<view v-else class="xianxia">线下网点</view>
<view v-else class="xianxia">线下网点</view>
</view> </view>
<view> <view>
</view> </view>
<view class="content"> <view class="content">
<view class="picture"> <view class="picture">
</view> </view>
<view> <view>
<view v-if="item.orderStatus == OrderStatus.已取消"> <view v-if="item.orderStatus == OrderStatus.已取消">
<image class="tupian" :src="`${$imgUrl}order/yiquxiao.png`" mode="aspectFill"></image>
<image class="tupian" :src="`${$imgUrl}order/yiquxiao.png`" mode="aspectFill"></image>
</view> </view>
<!--异地 orderStatus=-1,你判断这个remoteStatus 是字符串7,就显示审核未通过 --> <!--异地 orderStatus=-1,你判断这个remoteStatus 是字符串7,就显示审核未通过 -->
<view v-else-if="item.orderStatus == OrderStatus.已取消 && item.remoteStatus=='7' && item.deviceType == deviceType">
<image class="tupian" :src="`${$imgUrl}order/nopass.png`" mode="aspectFill"></image>
<view
v-else-if="item.orderStatus == OrderStatus.已取消 && item.remoteStatus=='7' && item.deviceType == deviceType">
<image class="tupian" :src="`${$imgUrl}order/nopass.png`" mode="aspectFill"></image>
</view> </view>
<view v-else <view v-else
:class="{'text-orange':item.orderStep == OrderStatus.已完成 || item.orderStep == OrderStatus.已结束
:class="{'text-orange':item.orderStep == OrderStatus.已完成 || item.orderStep == OrderStatus.已结束
|| item.orderStep == OrderStatus['换货-设备已回收'] || item.orderStep == OrderStatus.退款成功 || item.orderStep == OrderStatus.退货成功}"> || item.orderStep == OrderStatus['换货-设备已回收'] || item.orderStep == OrderStatus.退款成功 || item.orderStep == OrderStatus.退货成功}">
<image class="tupian" v-if="item.orderStep==12 && item.reshipment==1" :src="`${$imgUrl}order/buhuozhong.png`" mode="aspectFill"></image>
<image class="tupian" v-else :src="`${$imgUrl}order/${getOrderStatusNameNew(item.orderStep)}.png`" mode="aspectFill"></image>
<image class="tupian" v-if="item.orderStep==12 && item.reshipment==1"
:src="`${$imgUrl}order/buhuozhong.png`" mode="aspectFill"></image>
<image class="tupian" v-else :src="`${$imgUrl}order/${getOrderStatusNameNew(item.orderStep)}.png`"
mode="aspectFill"></image>
</view> </view>
</view> </view>
</view> </view>
<view class="btns" v-else-if="item.orderStep == OrderStatus.待收货"> <view class="btns" v-else-if="item.orderStep == OrderStatus.待收货">
<view class="btn btn-normal" @click.stop="gotoCheckLogistics(item)">查看物流</view> <view class="btn btn-normal" @click.stop="gotoCheckLogistics(item)">查看物流</view>
<!-- 待收货异地 发货之后确认收货之前可以补货 --> <!-- 待收货异地 发货之后确认收货之前可以补货 -->
<view class="btn btn-normal" @click.stop="gotoReplenishmentOrder(item)" v-if="item.deviceType == deviceType">申请补货</view>
<view class="btn btn-normal" @click.stop="gotoReplenishmentOrder(item)" v-if="item.deviceType == deviceType">
申请补货</view>
<view class="btn btn-normal" @click.stop="gotoReturnOrder(item)" v-else>申请退货</view> <view class="btn btn-normal" @click.stop="gotoReturnOrder(item)" v-else>申请退货</view>
<view class="btn btn-primary" @click.stop="gotoConfirmReceipt(item)">确认收货</view> <view class="btn btn-primary" @click.stop="gotoConfirmReceipt(item)">确认收货</view>
<view class="btn btn-primary" @click.stop="closeOrder(item)" v-if="item.finishOrder">结束订单</view> <view class="btn btn-primary" @click.stop="closeOrder(item)" v-if="item.finishOrder">结束订单</view>
</view> </view>


<!-- 待激活 --> <!-- 待激活 -->
<view class="btns" v-else-if="item.orderStep == OrderStatus.待激活"> <view class="btns" v-else-if="item.orderStep == OrderStatus.待激活">
<view class="btn btn-normal" @click.stop="gotoReturnOrder(item)" v-if="item.applyReturn || item.deviceType == deviceType">申请退货</view>
<view class="btn btn-normal" @click.stop="gotoReturnOrder(item)"
v-if="item.applyReturn || item.deviceType == deviceType">申请退货</view>
<view class="btn btn-normal" @click.stop="gotoExchangeOrder(item)">申请换货</view> <view class="btn btn-normal" @click.stop="gotoExchangeOrder(item)">申请换货</view>
<view class="btn btn-normal" @click.stop="gotoReplenishmentOrder(item)" v-if="item.deviceType == deviceType">申请补货</view>
<view class="btn btn-normal" @click.stop="gotoReplenishmentOrder(item)" v-if="item.deviceType == deviceType">
申请补货</view>
<view class="btn btn-primary" @click.stop="gotoActiveOrder(item)">去激活</view> <view class="btn btn-primary" @click.stop="gotoActiveOrder(item)">去激活</view>
<view class="btn btn-primary" @click.stop="closeOrder(item)" v-if="item.finishOrder">结束订单</view> <view class="btn btn-primary" @click.stop="closeOrder(item)" v-if="item.finishOrder">结束订单</view>
</view> </view>
ORDER_STEP_33(33, "异地-售前换货"), 33包含换货和补货 如果item.orderType=='REPLENISHMENT'是补货 就不展示换货 ORDER_STEP_33(33, "异地-售前换货"), 33包含换货和补货 如果item.orderType=='REPLENISHMENT'是补货 就不展示换货
ORDER_STEP_34(34, "异地-售前换货后确认收货"), ORDER_STEP_34(34, "异地-售前换货后确认收货"),
ORDER_STEP_35(35, "异地-下单--> ORDER_STEP_35(35, "异地-下单-->
<view class="btns" v-else-if="item.orderStep == 31">
<view class="btn btn-primary" @click.stop="gotoReturnOrder(item)" >退货</view>
<view class="btns" v-else-if="item.orderStep == 31">
<view class="btn btn-primary" @click.stop="gotoReturnOrder(item)">退货</view>
</view> </view>
<view class="btns" v-else-if="item.orderStep==33"> <view class="btns" v-else-if="item.orderStep==33">
<view class="btn btn-primary" @click.stop="gotoExchangeOrder(item)" v-if="item.orderType!='REPLENISHMENT'">换货</view>
<view class="btn btn-primary" @click.stop="gotoExchangeOrder(item)" v-if="item.orderType!='REPLENISHMENT'">换货
</view>
</view> </view>
<view class="btns" v-else-if="item.orderStep == 35"> <view class="btns" v-else-if="item.orderStep == 35">
<view class="btn btn-primary" @click.stop="placeAnOrder(item)" >下单</view>
<view class="btn btn-primary" @click.stop="placeAnOrder(item)">下单</view>
</view> </view>
<!-- 已完成 售后订单不允许评价产品,储值卡转记账卡除外--> <!-- 已完成 售后订单不允许评价产品,储值卡转记账卡除外-->
<!-- 发行产品 isProduct=0; 业务员 isStaff=0; 权益 isEquity=0 业务服务 isService=0; --> <!-- 发行产品 isProduct=0; 业务员 isStaff=0; 权益 isEquity=0 业务服务 isService=0; -->
gotoActiveOrder(item); gotoActiveOrder(item);
showActiveOrder.value = false; showActiveOrder.value = false;
} }

//获取车牌颜色文字 //获取车牌颜色文字
const getVehiclePlateColor = (id : number) => { const getVehiclePlateColor = (id : number) => {
console.log("id",id)
console.log("id", id)
const colors = vehiclePlateColor.filter(item => item.id == id); const colors = vehiclePlateColor.filter(item => item.id == id);
return colors[0].color return colors[0].color
} }
align-items: center; align-items: center;
padding: 20rpx 0; padding: 20rpx 0;
border-bottom: 1px solid #dcdcdc; border-bottom: 1px solid #dcdcdc;
width:95%;
margin: 0 auto;
width: 95%;
margin: 0 auto;
} }


.item .head { .item .head {
} }


.btn-primary { .btn-primary {
color:white;
background-color: #133850 ;
color: white;
background-color: #133850;
} }


.btn-disable { .btn-disable {
} }


.btn-normal { .btn-normal {
border: 1px solid #133850 ;
color: #133850 ;
border: 1px solid #133850;
color: #133850;
} }


.evaluation { .evaluation {
display: flex; display: flex;
} }
.content{

.content {
font-size: 26rpx; font-size: 26rpx;
padding: 6rpx 20rpx; padding: 6rpx 20rpx;
} }
.all{

.all {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
align-items: center; align-items: center;
margin-top: 10rpx; margin-top: 10rpx;
} }
.picture{

.picture {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin: 10rpx 0; margin: 10rpx 0;
} }
.picture>view:first-child{

.picture>view:first-child {
width: 65%; width: 65%;
} }
.xiao{

.xiao {
background: #42D175; background: #42D175;
border-radius: 5rpx 5rpx 5rpx 5rpx; border-radius: 5rpx 5rpx 5rpx 5rpx;
color: white; color: white;
font-size: 20rpx; font-size: 20rpx;
padding: 4rpx 6rpx; padding: 4rpx 6rpx;
} }
.xianxia{

.xianxia {
background: #CCB375; background: #CCB375;
border-radius: 5rpx 5rpx 5rpx 5rpx; border-radius: 5rpx 5rpx 5rpx 5rpx;
color: white; color: white;
font-size: 20rpx; font-size: 20rpx;
padding: 4rpx 6rpx; padding: 4rpx 6rpx;
} }
.tupian{

.tupian {
width: 90rpx; width: 90rpx;
height: 80rpx;
height: 80rpx;
} }
</style> </style>

+ 0
- 2
pages/order/order.vue Переглянути файл

<empty-view v-if="!data.login" mode="permission" content="请先登录再查看订单" btnTxt="立即登录" <empty-view v-if="!data.login" mode="permission" content="请先登录再查看订单" btnTxt="立即登录"
@btnClick="$util.navTo('/login/login')"> @btnClick="$util.navTo('/login/login')">
</empty-view> </empty-view>

<view class="list-wrapper" v-else> <view class="list-wrapper" v-else>
<view class="top-content"> <view class="top-content">
<order-tabbar ref="tabbarRef" :tabs="data.tabsList" v-model:curIndex="data.tabIndex" <order-tabbar ref="tabbarRef" :tabs="data.tabsList" v-model:curIndex="data.tabIndex"
v-if="data.tabsList.length > 0"></order-tabbar> v-if="data.tabsList.length > 0"></order-tabbar>
</view> </view>

<order-list-item ref="mescrollItem" :index="data.tabIndex" <order-list-item ref="mescrollItem" :index="data.tabIndex"
:refresh="data.refresh"> :refresh="data.refresh">
</order-list-item> </order-list-item>

+ 1
- 1
static/css/common.scss Переглянути файл

height: 88rpx; height: 88rpx;
background: radial-gradient(at 0% 0%, #01243A 0%, #004576 100%); background: radial-gradient(at 0% 0%, #01243A 0%, #004576 100%);
border-radius: 40rpx; border-radius: 40rpx;
font-size: 32rpx;
font-size: 30rpx;
font-weight: 400; font-weight: 400;
color: #fff!important; color: #fff!important;
line-height: 88rpx; line-height: 88rpx;

+ 76
- 55
subpackage/after-sale/activation/operation-tips.vue Переглянути файл

<!-- 设备激活1-操作提示 --> <!-- 设备激活1-操作提示 -->
<template> <template>
<view class="main"> <view class="main">
<view class="center">
<image class="center-bg" :src="`${$imgUrl}bluetooth/device-active-bg.png`" mode="widthFix"
style="width: 100%;"></image>
<view class="dialog-content first">
<image :src="`${$imgUrl}bluetooth/device-active-left.png`" mode="widthFix"></image>
<view class="dialog-text">
<text class="orange" space="emsp"> &nbsp;&nbsp;&nbsp;&nbsp;撕掉双面胶背面贴纸</text>
贴在汽车前挡风玻璃并用力按紧。
<view class="t-card">
<view class="center">
<image class="center-bg" :src="`${$imgUrl}bluetooth/device-active-bg.png`" mode="widthFix" style="width: 100%;">
</image>
<view class="dialog-content first">
<image :src="`${$imgUrl}bluetooth/device-active-left.png`" mode="widthFix"></image>
<view class="dialog-text">
<text class="orange" space="emsp"> &nbsp;&nbsp;&nbsp;&nbsp;撕掉双面胶背面贴纸</text>
贴在汽车前挡风玻璃并用力按紧。
</view>
</view> </view>
</view>
<view class="dialog-content second">
<image :src="`${$imgUrl}bluetooth/device-active-top.png`" mode="widthFix"></image>
<view class="dialog-text">
&nbsp;&nbsp;&nbsp;&nbsp;请你在<text class="orange">激活前</text>将<text
class="green">OBU</text>贴在申办车辆挡风玻璃<text class="orange">后视镜附近阴影区域</text>。
<view class="dialog-content second">
<image :src="`${$imgUrl}bluetooth/device-active-top.png`" mode="widthFix"></image>
<view class="dialog-text">
&nbsp;&nbsp;&nbsp;&nbsp;请你在<text class="orange">激活前</text>将<text class="green">OBU</text>贴在申办车辆挡风玻璃<text
class="orange">后视镜附近阴影区域</text>。
</view>
</view> </view>
</view> </view>

</view> </view>

<!-- <view class="hint"> <!-- <view class="hint">
<image :src="`${$imgUrl}common/icon-hint.png`" class="icon"></image> <image :src="`${$imgUrl}common/icon-hint.png`" class="icon"></image>
<view>激活时,确保OBU蓝牙和手机蓝牙处于打开状态。</view> <view>激活时,确保OBU蓝牙和手机蓝牙处于打开状态。</view>
</view> --> </view> -->
<view class="hint"> <view class="hint">
<view class="orange-txt ">
<text class="red"></text>
<view style="margin: 0 24rpx;">重要提示</view>
<text class="red"></text>
<view class="txt">
<view>重要提示</view>
</view> </view>
<view class="grey-txt">1.激活前必须将ETC设备安装到相应车辆上,确保安装车辆信息与激活后OBU内信息一致后才能正常使用。</view>
<view class="grey-txt">2.如因激活的ETC设备未安装到对应车辆上产生的异常扣费,我司不承担任何赔偿责任。</view>
<view class="grey-txt">3.激活时,需要录入您的车牌号和手机号并确保OBU蓝牙和手机蓝牙处于打开状态。</view>
<view class="grey-txt"><view class="point"></view>激活前必须将ETC设备安装到相应车辆上,确保安装车辆信息与激活后OBU内信息一致后才能正常使用。</view>
<view class="grey-txt"><view class="point"></view>如因激活的ETC设备未安装到对应车辆上产生的异常扣费,我司不承担任何赔偿责任。</view>
<view class="grey-txt"><view class="point"></view>激活时,需要录入您的车牌号和手机号并确保OBU蓝牙和手机蓝牙处于打开状态。</view>
</view> </view>
<view class="btn">
<submit-button @submit="gotoNextStep" title="已知悉,下一步"></submit-button>
<view class="action">
<button type="default" class="ui-btn" @click="gotoNextStep">
已知悉,下一步
</button>
</view> </view>
</view> </view>
</template> </template>
}) })
}); });
}, },
fail(err){
fail(err) {
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '请打开小程序蓝牙权限和微信蓝牙权限', content: '请打开小程序蓝牙权限和微信蓝牙权限',
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
uni.openSetting({ uni.openSetting({
success(res) {
console.log("2222")
console.log(res.authSetting)
}
success(res) {
console.log("2222")
console.log(res.authSetting)
}
}); });
} else if (res.cancel) { } else if (res.cancel) {
console.log('用户点击取消'); console.log('用户点击取消');


<style lang="scss" scoped> <style lang="scss" scoped>
.main { .main {
padding-bottom: 40rpx;
padding-bottom: 200rpx;
background: #E9EDF0;
position: relative;
min-height: 100vh;
box-sizing: border-box;
.action {
position: absolute;
bottom: 0rpx;
left: 0;
height: 128rpx;
background-color: #fff;
border-radius: 30rpx 30rpx 0 0;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}


.title { .title {
font-size: 36rpx; font-size: 36rpx;
padding: 48rpx 0px; padding: 48rpx 0px;
} }


.t-card {
padding-top: 70rpx;
background-color: #fff;
}

.center { .center {
width: 100%; width: 100%;
height: auto; height: auto;
margin-top: 70rpx;
position: relative; position: relative;


.center-bg { .center-bg {
} }


.hint { .hint {
margin: 0rpx 30rpx 0px;
margin: 40rpx 30rpx 0px;


.orange-txt {
font-size: 30rpx;
color: #ff8000;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 50rpx;

image {
width: 30rpx;
height: 30rpx;
margin-right: 10rpx;
}
.txt {
font-family: MicrosoftYaHei;
font-size: 32rpx;
color: #111111;
line-height: 35rpx;
} }


.grey-txt { .grey-txt {
font-size: 26rpx;
color: #666666;
line-height: 40rpx;
margin-top: 16rpx;
font-family: MicrosoftYaHei;
font-size: 28rpx;
color: #999999;
line-height: 48rpx;
display: flex;
margin-top: 20rpx;
.point{
margin-top: 19rpx;
flex-shrink: 0;
width: 10rpx;
height: 10rpx;
background: #A0A0A0;
margin-right: 16rpx;
border-radius: 50%;
}
} }
} }


} }




.grey-txt {
font-size: 26rpx;
color: #666666;
line-height: 40rpx;
margin-top: 16rpx;
}


.red { .red {
display: inline-block; display: inline-block;

+ 152
- 89
subpackage/after-sale/activation/operation-upload.vue Переглянути файл

<!-- 设备激活2-上传图片 --> <!-- 设备激活2-上传图片 -->
<template> <template>
<view class="main" :style="{height: height+'px'}">
<view class="main" :style="{minHeight: height+'px'}">

<view class="item-row"> <view class="item-row">
<view class="item-left"> <view class="item-left">
<view class="title">车身照</view> <view class="title">车身照</view>
<view class="flag"><text>拍摄示例</text> </view> <view class="flag"><text>拍摄示例</text> </view>
</view> </view>
<view class="item-right" @click="chooseImage(1)"> <view class="item-right" @click="chooseImage(1)">
<view class="empty-node"></view>
<image :src="state.headstockImg ?state.headstockImg: defHeadstockImg" <image :src="state.headstockImg ?state.headstockImg: defHeadstockImg"
:data-url="state.headstockImg ?state.headstockImg: defHeadstockImg"> :data-url="state.headstockImg ?state.headstockImg: defHeadstockImg">
</image> </image>
<view class="flag"><text>拍摄示例</text> </view> <view class="flag"><text>拍摄示例</text> </view>
</view> </view>
<view class="item-right" @click="chooseImage(2)"> <view class="item-right" @click="chooseImage(2)">
<view class="empty-node"></view>
<image :src="state.installImg ?state.installImg: defInstallImg"></image> <image :src="state.installImg ?state.installImg: defInstallImg"></image>
</view> </view>
</view> </view>
<view>请打开手机蓝牙后再进行下一步操作。</view> <view>请打开手机蓝牙后再进行下一步操作。</view>
</view> </view>
<view class="open-tips"> <view class="open-tips">
<view>开启蓝牙</view>
<view class="tip-title">开启蓝牙</view>
<view class="item-tips"> <view class="item-tips">
<view>方式一</view>
<view>&nbsp;&nbsp;1.打开手机的【设置】菜单。</view>
<view>&nbsp;&nbsp;2.在【设置】菜单中,找到【蓝牙】选项。</view>
<view>&nbsp;&nbsp;3.点击【蓝牙】选项,然后打开蓝牙开关。</view>
<view class="item-title">方式一</view>
<view class="item">
<view class="point"></view>打开手机的【设置】菜单。
</view>
<view class="item">
<view class="point"></view>在【设置】菜单中,找到【蓝牙】选项。
</view>
<view class="item">
<view class="point"></view>点击【蓝牙】选项,然后打开蓝牙开关。
</view>
</view> </view>
<view class="item-tips"> <view class="item-tips">
<view>方式二</view>
<view>&nbsp;&nbsp;1.下拉打开通知栏。</view>
<view>&nbsp;&nbsp;2.然后打开蓝牙开关。</view>
<view class="item-title">方式二</view>
<view class="item">
<view class="point"></view>下拉打开通知栏。
</view>
<view class="item">
<view class="point"></view>然后打开蓝牙开关。
</view>
</view> </view>
</view> </view>


<view class="btn">
<submit-button @submit="gotoNextStep" title="下一步"></submit-button>
<view class="action">
<button type="default" class="ui-btn" @click="gotoNextStep">
下一步
</button>
</view> </view>
</view> </view>
</template> </template>
} from '@dcloudio/uni-app' } from '@dcloudio/uni-app'
const height = uni.getSystemInfoSync().windowHeight const height = uni.getSystemInfoSync().windowHeight


const defHeadstockImg = imgURL + "bluetooth/device-active-img1.png";
const defInstallImg = imgURL + "bluetooth/device-active-img2.png";
const defHeadstockImg = imgURL + "issuance/chetou.png";
const defInstallImg = imgURL + "issuance/shebei.png";


const state = reactive({ const state = reactive({
headstockImg: null, //车头照 headstockImg: null, //车头照
orderId: null, orderId: null,
openId: null, openId: null,
transfer: 0, transfer: 0,
isAfter:''
isAfter: ''
}); });
onLoad((option) => { onLoad((option) => {
//读取传入 存储的数据orderInfo //读取传入 存储的数据orderInfo
}; };


requestNew(activeImgUpload, options).then((res) => { requestNew(activeImgUpload, options).then((res) => {
navTo(`/pages/bluetooth/bluetooth?routeType=1&transfer=${state.transfer}&isAfter=${state.isAfter}`) navTo(`/pages/bluetooth/bluetooth?routeType=1&transfer=${state.transfer}&isAfter=${state.isAfter}`)
}); });


</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.main { .main {
overflow: hidden;

background: #E9EDF0;
padding-bottom:160rpx;
position: relative;
box-sizing: border-box;
.action {
position: absolute;
bottom: 0rpx;
left: 0;
height: 128rpx;
background-color: #fff;
border-radius: 30rpx 30rpx 0 0;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.item-row { .item-row {
width: calc(100% - 60rpx);
margin-left: 30rpx;
width: 690rpx;
height: 240rpx;
margin: 30rpx auto 0;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 30rpx;
background: white; background: white;
padding: 30rpx; padding: 30rpx;
border-radius: 20rpx; border-radius: 20rpx;
box-shadow: 0rpx 4rpx 13rpx 3rpx rgba(223, 223, 223, 0.8);
box-sizing: border-box;


.item-left { .item-left {
.title { .title {
font-size: 34rpx;
color: #333;
margin-top: 24rpx;
font-size: 32rpx;
color: #111;
font-weight: bold; font-weight: bold;
} }


.desc { .desc {
font-size: 24rpx; font-size: 24rpx;
color: #999; color: #999;
margin: 10rpx 0;
margin-top: 6rpx;
} }


.flag { .flag {
width: 110rpx;
height: 45rpx;
line-height: 42rpx;
color: #0A8F8A;
margin-top: 16rpx;
border-radius: 6rpx;
width: 100rpx;
height: 30rpx;
line-height: 30rpx;
margin-top: 20rpx;
border-radius: 5rpx;
text-align: center; text-align: center;
font-size: 20rpx; font-size: 20rpx;
background: #D9F8F1;
border: 1rpx solid #CCB375;
font-family: SourceHanSansSC, SourceHanSansSC;
color: #CCB375;
} }
} }


.item-right { .item-right {
width: 295rpx;
height: 188rpx;
width: 288rpx;
height: 174rpx;
position: relative; position: relative;


image { image {
position: relative; position: relative;
z-index: 10; z-index: 10;
width: 100%; width: 100%;
height: 188rpx;
height: 174rpx;
} }


&::before {
content: '';
position: absolute;
width: 22rpx;
height: 22rpx;
border: 4rpx solid #21BEB1;
border-bottom: none;
border-right: none;
z-index: 0;
left: -4rpx;
top: -4rpx;
}
// &::before {
// content: '';
// position: absolute;
// width: 22rpx;
// height: 22rpx;
// border: 4rpx solid #21BEB1;
// border-bottom: none;
// border-right: none;
// z-index: 0;
// left: -4rpx;
// top: -4rpx;
// }


&::after {
content: '';
position: absolute;
width: 22rpx;
height: 22rpx;
border: 4rpx solid #21BEB1;
border-top: none;
border-right: none;
z-index: 0;
left: -4rpx;
bottom: -4rpx;
}
// &::after {
// content: '';
// position: absolute;
// width: 22rpx;
// height: 22rpx;
// border: 4rpx solid #21BEB1;
// border-top: none;
// border-right: none;
// z-index: 0;
// left: -4rpx;
// bottom: -4rpx;
// }
} }


.empty-node { .empty-node {
width: 100%; width: 100%;
height: 100%; height: 100%;


&::before {
content: '';
position: absolute;
width: 22rpx;
height: 22rpx;
border: 4rpx solid #21BEB1;
border-left: none;
border-bottom: none;
z-index: 0;
right: -4rpx;
top: -4rpx;
}
// &::before {
// content: '';
// position: absolute;
// width: 22rpx;
// height: 22rpx;
// border: 4rpx solid #21BEB1;
// border-left: none;
// border-bottom: none;
// z-index: 0;
// right: -4rpx;
// top: -4rpx;
// }


&::after {
content: '';
position: absolute;
width: 22rpx;
height: 22rpx;
border: 4rpx solid #21BEB1;
border-top: none;
border-left: none;
z-index: 0;
right: -4rpx;
bottom: -4rpx;
}
// &::after {
// content: '';
// position: absolute;
// width: 22rpx;
// height: 22rpx;
// border: 4rpx solid #21BEB1;
// border-top: none;
// border-left: none;
// z-index: 0;
// right: -4rpx;
// bottom: -4rpx;
// }
} }
} }


display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: center; justify-content: center;
font-size: 26rpx;
color: #666666;
font-size: 28rpx;
color: #545454;
padding: 0px 30rpx; padding: 0px 30rpx;
margin-top: 60rpx;
margin-top: 40rpx;
align-items: center;


.icon { .icon {
width: 36rpx;
height: 36rpx;
width: 30rpx;
height: 30rpx;
margin-right: 10rpx; margin-right: 10rpx;
} }


width: 94%; width: 94%;
margin: 20rpx auto; margin: 20rpx auto;
font-size: 30rpx; font-size: 30rpx;

.tip-title {
font-family: MicrosoftYaHei;
font-size: 32rpx;
color: #111111;
line-height: 35px;
}
} }


.item-tips { .item-tips {
margin-top: 10rpx; margin-top: 10rpx;
overflow: hidden;

.item-title {
font-family: MicrosoftYaHei;
font-size: 28rpx;
color: #111111;
line-height: 35rpx;
}

.item {
font-family: MicrosoftYaHei;
font-size: 28rpx;
color: #999999;
line-height: 48rpx;
display: flex;
align-items: center;
margin-top: 10rpx;

.point {
flex-shrink: 0;
width: 10rpx;
height: 10rpx;
background: #A0A0A0;
margin-right: 16rpx;
border-radius: 50%;
}
}
} }

</style> </style>

+ 1
- 1
subpackage/orders/car-release.vue Переглянути файл

}; };
requestNew(vehicleUpload, options) requestNew(vehicleUpload, options)
.then((res) => { .then((res) => {
uni.redirectTo({
uni.navigateTo({
url: `/subpackage/orders/product-detail?orderId=${state.form.orderId}&&clientFee=${getItem("clientFee")}&&id=${getItem("productId")}&&isValueCard=${getItem("isValueCard")}&vehicleId=${state.form.vehicleId}`, url: `/subpackage/orders/product-detail?orderId=${state.form.orderId}&&clientFee=${getItem("clientFee")}&&id=${getItem("productId")}&&isValueCard=${getItem("isValueCard")}&vehicleId=${state.form.vehicleId}`,
}); });
}) })

+ 3
- 2
subpackage/orders/choice-product.vue Переглянути файл

<view class="l-money"> <view class="l-money">
<text>¥</text> <text class="fee">{{ item.fee * 0.01 }}</text> <text>¥</text> <text class="fee">{{ item.fee * 0.01 }}</text>
</view> </view>
<view class="c-line">
<view class="c-line" v-if='item.remarks'>
</view> </view>
<view class="r-desc"> <view class="r-desc">
产品权益专用,2%加息10天
{{item.remarks}}
<!-- 产品权益专用,2%加息10天 -->
</view> </view>
</view> </view>
</view> </view>

+ 3
- 3
subpackage/orders/equity/equityList.vue Переглянути файл

{{item.productName}} {{item.productName}}
</view> </view>
<view class="tip-list"> <view class="tip-list">
<view class="tip-item">
标签
<view class="tip-item" v-for='ele in item.labels'>
{{ele}}
</view> </view>
</view> </view>
<view class="b-con"> <view class="b-con">
padding: 5rpx 8rpx; padding: 5rpx 8rpx;
font-size: 20rpx; font-size: 20rpx;
color: #CCB375; color: #CCB375;
margin-right: 8rpx;
margin-right: 10rpx;
} }
} }



+ 1
- 1
subpackage/orders/equity/interestsList.vue Переглянути файл

) )
} else { } else {
// 正常流程 // 正常流程
uni.redirectTo({
uni.navigateTo({
url: `/subpackage/orders/essential-information?userType=${state.userType}&vanType=${state.vanType}&isValueCard=${state.isValueCard}&cardType=${state.cardType}&totalAmount=${state.totalAmount}&equityId=${state.equityId}&productId=${state.productId}`, url: `/subpackage/orders/essential-information?userType=${state.userType}&vanType=${state.vanType}&isValueCard=${state.isValueCard}&cardType=${state.cardType}&totalAmount=${state.totalAmount}&equityId=${state.equityId}&productId=${state.productId}`,
}); });
} }

+ 2
- 1
subpackage/orders/essential-information.vue Переглянути файл

} }
}); });
} }
let addKey = false //表示未添加
const nextAddress = () => { const nextAddress = () => {
var data = state.data; var data = state.data;
// #ifdef MP-ALIPAY // #ifdef MP-ALIPAY
// productReCodeAction(data.orderId).then((result) => { // productReCodeAction(data.orderId).then((result) => {
// 加购权益产品 // 加购权益产品
// addProductRequest().then((res) => { //接口直接不要了 // addProductRequest().then((res) => { //接口直接不要了
addKey = true
var vehicleId = state.data.vehiclePlate + "_" + state.data.vehiclePlateColor var vehicleId = state.data.vehiclePlate + "_" + state.data.vehiclePlateColor
console.log("state.data.vehiclePlate", state.data.vehiclePlate, state.data.vehiclePlateColor, vehicleId) console.log("state.data.vehiclePlate", state.data.vehiclePlate, state.data.vehiclePlateColor, vehicleId)
if (state.data.userType == 1) { if (state.data.userType == 1) {

+ 1
- 1
subpackage/orders/opening-account-people.vue Переглянути файл

}; };
requestNew(userUpload, options).then((res) => { requestNew(userUpload, options).then((res) => {
console.log(res); console.log(res);
uni.redirectTo({
uni.navigateTo({
url: `/subpackage/orders/car-release?orderId=${state.orderId}&vehiclePlateColor=${state.vehiclePlateColor}&vanType=${state.vanType}&isSign=${state.isSign}&vehicleId=${state.vehicleId}`, url: `/subpackage/orders/car-release?orderId=${state.orderId}&vehiclePlateColor=${state.vehiclePlateColor}&vanType=${state.vanType}&isSign=${state.isSign}&vehicleId=${state.vehicleId}`,
}); });
}); });

+ 1
- 13
subpackage/orders/opening-account-unit.vue Переглянути файл

}; };
requestNew(userUpload, options).then((res) => { requestNew(userUpload, options).then((res) => {
const data = res; const data = res;
uni.redirectTo({
uni.navigateTo({
url: `/subpackage/orders/car-release?orderId=${state.orderId}&vehiclePlateColor=${state.vehiclePlateColor}&vanType=${state.vanType}&vehicleId=${state.vehicleId}`, url: `/subpackage/orders/car-release?orderId=${state.orderId}&vehiclePlateColor=${state.vehiclePlateColor}&vanType=${state.vanType}&vehicleId=${state.vehicleId}`,
}); });
}); });
line-height: 30rpx; 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;
}

} }


::v-deep .u-input__input { ::v-deep .u-input__input {

+ 2
- 2
subpackage/orders/order_payment.vue Переглянути файл

url: "/pages/order/order" url: "/pages/order/order"
}) })
} else { } else {
uni.redirectTo({
uni.navigateTo({
url: `/subpackage/orders/release-products?orderId=${state.orderId}`, url: `/subpackage/orders/release-products?orderId=${state.orderId}`,
}); });
} }
url: "/pages/order/order" url: "/pages/order/order"
}) })
} else { } else {
uni.redirectTo({
uni.navigateTo({
url: `/subpackage/orders/release-products?orderId=${state.orderId}`, url: `/subpackage/orders/release-products?orderId=${state.orderId}`,
}); });
} }

+ 2
- 2
subpackage/orders/release-products.vue Переглянути файл

{ {
icon: imgURL + "issuance/zfb.png", icon: imgURL + "issuance/zfb.png",
title: "支付宝签约", title: "支付宝签约",
tip: "服务费是每笔交易金额的0.05%",
// tip: "服务费是每笔交易金额的0.05%",
tag1: "支付宝代付", tag1: "支付宝代付",
tag2: "支付宝便捷支付", tag2: "支付宝便捷支付",
tag: "tag1", tag: "tag1",
{ {
icon: imgURL + "issuance/weixin.png", icon: imgURL + "issuance/weixin.png",
title: "微信签约", title: "微信签约",
tip: "服务费是每笔交易金额的0.05%",
// tip: "服务费是每笔交易金额的0.05%",
tag1: "微信代付", tag1: "微信代付",
tag2: "微信便捷支付", tag2: "微信便捷支付",
tag: "tag1", tag: "tag1",

Завантаження…
Відмінити
Зберегти