|
|
@@ -1,255 +1,512 @@ |
|
|
|
<template> |
|
|
|
<view class="selectCar-box"> |
|
|
|
<view class="details"> |
|
|
|
<view class="title"> 基础信息 </view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 订单编号: </view> |
|
|
|
<text>123234350000001</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 用户名称: </view> |
|
|
|
<text>xxxxx</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 用户证件类型: </view> |
|
|
|
<text>居民身份证</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 用户证件号: </view> |
|
|
|
<text>44504049343434001</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 订单车牌号: </view> |
|
|
|
<text style="color: #00b38b ;">贵A12345</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 收费车型: </view> |
|
|
|
<text>客车</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="title"> 卡信号 </view> |
|
|
|
<view class="card"> |
|
|
|
<view class="card-left"> |
|
|
|
<image :src="`${$imgUrl}card2.png`" mode=""></image> |
|
|
|
<view class="card-center"> |
|
|
|
<view class="card-center-head"> 2023022700012 </view> |
|
|
|
<view class="tips"> |
|
|
|
<text>储蓄卡</text> |
|
|
|
<text class="tips-card">正常</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="choose-item"> |
|
|
|
有效期:xxxx-xx-xx |
|
|
|
</view> --> |
|
|
|
</view> |
|
|
|
<!-- <view class="title"> |
|
|
|
OBU设备信息 |
|
|
|
</view> --> |
|
|
|
<!-- <view class="card"> |
|
|
|
<view class="selectCar-box"> |
|
|
|
<view class="details"> |
|
|
|
<view class="title"> 基础信息 </view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 订单编号: </view> |
|
|
|
<text>{{ orderInfos.orderId }}</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 用户名称: </view> |
|
|
|
<text>{{ orderInfos.ownerName }}</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 用户证件类型: </view> |
|
|
|
<text>{{ getCredentialType(orderInfos.ownerIdtype) }}</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 用户证件号: </view> |
|
|
|
<text>{{ orderInfos.ownerIdnum }}</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 订单车牌号: </view> |
|
|
|
<text style="color: #00b38b">{{ orderInfos.vehiclePlate }}</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 车牌颜色: </view> |
|
|
|
<text style="color: #00b38b">{{ |
|
|
|
orderInfos.vehiclePlateColorStr |
|
|
|
}}</text> |
|
|
|
</view> |
|
|
|
<view class="details-item"> |
|
|
|
<view> 收费车型: </view> |
|
|
|
<text>{{ orderInfos.vehicleType }}</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="title"> 卡信息 </view> |
|
|
|
<view class="card"> |
|
|
|
<view class="card-left"> |
|
|
|
<image src="../../static/image/card1.png" mode=""></image> |
|
|
|
<image :src="`${$imgUrl}card2.png`" mode=""></image> |
|
|
|
<view class="card-center"> |
|
|
|
<view class="card-center-head"> |
|
|
|
2023022700012 |
|
|
|
</view> |
|
|
|
<view class="card-center-head"> {{orderInfos.cardId}} </view> |
|
|
|
<view class="tips"> |
|
|
|
<text class="tips-card">正常</text> |
|
|
|
<text>储蓄卡</text> |
|
|
|
<text class="tips-card">{{getEtcCardStatus(orderInfos.cardStatus)}}</text> |
|
|
|
</view> |
|
|
|
<view class="choose-item"> 有效期:{{orderInfos.cardEnableTime }}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="choose-item"> |
|
|
|
有效期:xxxx-xx-xx |
|
|
|
</view> |
|
|
|
<button class="submit" @click="toPage" v-show="!state.flag" :disabled="state.disabled">卡PIN码解锁</button> |
|
|
|
<button class="submit" @click="toBack" v-show="state.flag">返回服务中心</button> |
|
|
|
|
|
|
|
<view class="mask" v-show="state.showPopup"> |
|
|
|
<view class="main"> |
|
|
|
<view class="top"> |
|
|
|
<image class="icon-close" :src="`${$imgUrl}common/icon-close.png`" @click="cancel"></image> |
|
|
|
</view> |
|
|
|
<image class="icon-success" :src="`${$imgUrl}bluetooth/device-active-success.png`"></image> |
|
|
|
<view class="title">设备升级成功!</view> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
<view class="title"> 注意事项 </view> |
|
|
|
<view class="remark"> |
|
|
|
<view> 1.xxxxxxxx </view> |
|
|
|
<view> 2.xxxxxxxx </view> |
|
|
|
<view> 3.xxxxxxxx </view> |
|
|
|
<view> 4.xxxxxxxx </view> |
|
|
|
</view> |
|
|
|
<button class="submit" @click="toPage">下一步</button> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script lang="ts" setup> |
|
|
|
import { reactive, ref } from "vue"; |
|
|
|
import { navTo } from "@/utils/utils"; |
|
|
|
const toPage = () => { |
|
|
|
navTo("/pages/bluetooth/bluetooth"); |
|
|
|
// if (flag.length == 0) { |
|
|
|
// uni.showToast({ |
|
|
|
// title: '请至少勾选一项', |
|
|
|
// }); |
|
|
|
// } else { |
|
|
|
// // wx.showModal({ |
|
|
|
// // title: '设备挂失', |
|
|
|
// // content: '请确认是否执行挂失操作', |
|
|
|
// // success: function(res) { |
|
|
|
// // if (res.confirm) { |
|
|
|
// // console.log('用户点击确定'); |
|
|
|
// // navTo('/after-sale/card-loss-reporting/cardloss') |
|
|
|
// // } else if (res.cancel) { |
|
|
|
// // console.log('用户点击取消'); |
|
|
|
// // } |
|
|
|
// // } |
|
|
|
// // }); |
|
|
|
// } |
|
|
|
}; |
|
|
|
|
|
|
|
const flag = reactive([]); |
|
|
|
const choose = (data) => { |
|
|
|
if (!flag.includes(data)) { |
|
|
|
flag.push(data); |
|
|
|
console.log(flag); |
|
|
|
} else { |
|
|
|
flag.splice(flag.indexOf(data), 1); |
|
|
|
console.log(flag); |
|
|
|
} |
|
|
|
}; |
|
|
|
<script setup> |
|
|
|
import { |
|
|
|
reactive |
|
|
|
} from "vue"; |
|
|
|
import { |
|
|
|
navTo, |
|
|
|
getFormatDate |
|
|
|
} from "@/utils/utils"; |
|
|
|
import { |
|
|
|
onLoad, |
|
|
|
onUnload, |
|
|
|
onShow |
|
|
|
} from "@dcloudio/uni-app"; |
|
|
|
import { |
|
|
|
request |
|
|
|
} from "@/utils/network/request.js"; |
|
|
|
import { |
|
|
|
orderDetail, |
|
|
|
pinCodeUnlock, |
|
|
|
writeCardBack, |
|
|
|
cardModifyConfirm |
|
|
|
} from "@/utils/network/api.js"; |
|
|
|
|
|
|
|
import { |
|
|
|
getCredentialType |
|
|
|
} from "@/datas/credentialType.js"; |
|
|
|
import { |
|
|
|
getEtcCardStatus |
|
|
|
} from "@/datas/etcCardStatus.js"; |
|
|
|
import { |
|
|
|
getObuStatus |
|
|
|
} from "@/datas/obuStatus.js"; |
|
|
|
|
|
|
|
import { |
|
|
|
stringToJson |
|
|
|
} from "@/utils/network/encryption"; |
|
|
|
const tools = require("../../static/etcUtil/tools.js"); |
|
|
|
const bluetoothUtil = require("../../static/etcUtil/index.js"); |
|
|
|
const state = reactive({ |
|
|
|
showPopup: false, |
|
|
|
flag: false, |
|
|
|
disabled:false, |
|
|
|
}) |
|
|
|
const orderInfos = reactive({ |
|
|
|
orderId: "", |
|
|
|
ownerName: "", |
|
|
|
ownerIdtype: "", |
|
|
|
ownerIdnum: "", |
|
|
|
vehiclePlate: "", |
|
|
|
vehiclePlateColorStr: "", |
|
|
|
vehiclePlateColor: "", |
|
|
|
vehicleType: "", |
|
|
|
cardId: "", |
|
|
|
cardStatus: "", |
|
|
|
obuId: "", |
|
|
|
obuStatus: "", |
|
|
|
cardEnableTime: "", |
|
|
|
obuEnableTime: "", |
|
|
|
}); |
|
|
|
|
|
|
|
onLoad((option) => { |
|
|
|
//请求订单详情 |
|
|
|
queryOrderDetail(option.id); |
|
|
|
}); |
|
|
|
|
|
|
|
onShow((option) => { |
|
|
|
uni.$on('bluetoothLink', res => { |
|
|
|
console.log(res); |
|
|
|
if (res.status) { |
|
|
|
tools.showLoadingAlert("正在执行指令"); |
|
|
|
state.disabled = true; |
|
|
|
getPinCodeUnlock() |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
onUnload(() => { |
|
|
|
//移除监听 |
|
|
|
uni.$off('bluetoothLink') |
|
|
|
}) |
|
|
|
//获取订单详情 |
|
|
|
const queryOrderDetail = (id) => { |
|
|
|
const options = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
id: id, |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
request(orderDetail, options).then((res) => { |
|
|
|
let orderInfo = JSON.parse(res.bizContent); |
|
|
|
console.log(orderInfo); |
|
|
|
orderInfos.orderId = orderInfo.orderId; |
|
|
|
orderInfos.ownerName = orderInfo.ownerName; |
|
|
|
orderInfos.ownerIdtype = orderInfo.ownerIdtype; |
|
|
|
orderInfos.ownerIdnum = orderInfo.ownerIdnum; |
|
|
|
orderInfos.vehiclePlate = orderInfo.vehiclePlate; |
|
|
|
orderInfos.vehiclePlateColorStr = orderInfo.vehiclePlateColorStr; |
|
|
|
orderInfos.vehiclePlateColor = orderInfo.vehiclePlateColor; |
|
|
|
orderInfos.vehicleType = orderInfo.vehicleType; |
|
|
|
orderInfos.cardId = orderInfo.cardId; |
|
|
|
orderInfos.cardStatus = orderInfo.cardStatus; |
|
|
|
orderInfos.obuId = orderInfo.obuId; |
|
|
|
orderInfos.obuStatus = orderInfo.obuStatus; |
|
|
|
orderInfos.cardEnableTime = orderInfo.cardEnableTime.substring(0, 10); |
|
|
|
orderInfos.obuEnableTime = orderInfo.obuEnableTime.substring(0, 10); |
|
|
|
}); |
|
|
|
}; |
|
|
|
//PIN解锁 请求 |
|
|
|
const getPinCodeUnlock = (command=null,cosResponse=null,pinType=null) => { |
|
|
|
const options = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
cardId: orderInfos.cardId, |
|
|
|
command:command, |
|
|
|
cosResponse:cosResponse, |
|
|
|
pinType: pinType, |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
request(pinCodeUnlock, options).then((res) => { |
|
|
|
tools.hideLoadingAlert(); |
|
|
|
let result = stringToJson(res.bizContent); |
|
|
|
console.log("&&&&&&&&&&&&",result); |
|
|
|
|
|
|
|
let cmdArray = result.command ? result.command.split(",") : ""; |
|
|
|
|
|
|
|
if (cmdArray.length > 0) { |
|
|
|
tools.showLoadingAlert("正在执行指令"); |
|
|
|
bluetoothUtil.transCmd(cmdArray, "10", function(res) { |
|
|
|
tools.hideLoadingAlert(); |
|
|
|
let status = res[cmdArray.length - 1].substring(res[cmdArray.length - 1].length - |
|
|
|
4, res[cmdArray.length - 1].length); |
|
|
|
if (status == "9000") { |
|
|
|
getCommandBack(result.command, result.cosRecordId, res.toString()); |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}; |
|
|
|
|
|
|
|
const getCommandBack = (command=null,cosResponse=null,pinType=null) => { |
|
|
|
const options = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
cardId: orderInfos.cardId, |
|
|
|
command:command, |
|
|
|
cosResponse:cosResponse, |
|
|
|
pinType: pinType, |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
request(pinCodeUnlock, options).then((res) => { |
|
|
|
tools.hideLoadingAlert(); |
|
|
|
let result = stringToJson(res.bizContent); |
|
|
|
console.log("&&&&&&&&&&&&",result); |
|
|
|
|
|
|
|
let cmdArray = result.command ? result.command.split(",") : ""; |
|
|
|
|
|
|
|
if (cmdArray.length > 0) { |
|
|
|
tools.showLoadingAlert("正在执行指令"); |
|
|
|
bluetoothUtil.transCmd(cmdArray, "10", function(res) { |
|
|
|
tools.hideLoadingAlert(); |
|
|
|
let status = res[cmdArray.length - 1].substring(res[cmdArray.length - 1].length - |
|
|
|
4, res[cmdArray.length - 1].length); |
|
|
|
if (status == "9000") { |
|
|
|
state.showPopup = true; |
|
|
|
// getCommandBack(result.command, result.cosRecordId, res.toString()); |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}; |
|
|
|
|
|
|
|
/** |
|
|
|
* 写卡指令返回 请求 |
|
|
|
*/ |
|
|
|
// const getCommandBack = (command, cosRecordId, response) => { |
|
|
|
// console.log('======循环写卡指令中======') |
|
|
|
// tools.showLoadingAlert("加载中"); |
|
|
|
// let options = { |
|
|
|
// type: 2, //type: 2,JSON格式提交数据(默认表单形式提交) |
|
|
|
// data: { |
|
|
|
// cardId: orderInfos.cardId, |
|
|
|
// orderId: orderInfos.orderId, |
|
|
|
// command: command, |
|
|
|
// response: response, |
|
|
|
// cosRecordId: cosRecordId, |
|
|
|
// cosType: 2 |
|
|
|
// }, //请求参数 |
|
|
|
// method: "POST", //提交方式(默认POST) |
|
|
|
// showLoading: true, //是否显示加载中(默认显示) |
|
|
|
// }; |
|
|
|
|
|
|
|
// //调用方式 |
|
|
|
// request(writeCardBack, options) |
|
|
|
// .then((res) => { |
|
|
|
// tools.hideLoadingAlert(); |
|
|
|
// let result = JSON.parse(res.bizContent); |
|
|
|
// if (result.orderStatus == 1 || result.orderStatus == "1") { |
|
|
|
// tools.showLoadingAlert("执行指令中"); |
|
|
|
// bluetoothUtil.transCmd(result.command.split(","), "10", function(res) { |
|
|
|
// tools.hideLoadingAlert(); |
|
|
|
// let response = res.toString(); |
|
|
|
// getCommandBack(result.command, cosRecordId, response); |
|
|
|
// }); |
|
|
|
// } else { |
|
|
|
// getCardModifyConfirm(cosRecordId); |
|
|
|
// } |
|
|
|
// }) |
|
|
|
// }; |
|
|
|
|
|
|
|
// //卡信息变更确认 |
|
|
|
// const getCardModifyConfirm = (cosRecordId) => { |
|
|
|
// const options = { |
|
|
|
// type: 2, |
|
|
|
// data: { |
|
|
|
// cardId: orderInfos.cardId, |
|
|
|
// operation: 4, |
|
|
|
// cosRecordId: cosRecordId |
|
|
|
// }, |
|
|
|
// method: "POST", |
|
|
|
// showLoading: true, |
|
|
|
// }; |
|
|
|
// request(cardModifyConfirm, options).then((res) => { |
|
|
|
// console.log(res); |
|
|
|
// state.showPopup = true; |
|
|
|
// }) |
|
|
|
// }; |
|
|
|
|
|
|
|
//去连接蓝牙 |
|
|
|
const toPage = () => { |
|
|
|
// getPinCodeUnlock() |
|
|
|
navTo("/pages/bluetooth/bluetooth?routeType=5"); //去连接蓝牙 |
|
|
|
}; |
|
|
|
|
|
|
|
//返回列表 |
|
|
|
const toBack = () => { |
|
|
|
// navTo("/pages/service/service") |
|
|
|
uni.navigateBack({ |
|
|
|
delta:2 |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//关闭弹窗 |
|
|
|
const cancel = () => { |
|
|
|
state.flag = true; |
|
|
|
state.showPopup = false; |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style> |
|
|
|
page { |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
background-color: #fff; |
|
|
|
} |
|
|
|
page { |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
background-color: #fff; |
|
|
|
} |
|
|
|
</style> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.selectCar-box { |
|
|
|
// width: 100%; |
|
|
|
// height: 100%; |
|
|
|
padding: 30rpx; |
|
|
|
|
|
|
|
.title { |
|
|
|
font-size: 30rpx; |
|
|
|
font-family: Microsoft YaHei UI; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.details { |
|
|
|
.title { |
|
|
|
font-size: 30rpx; |
|
|
|
font-family: Microsoft YaHei UI; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.details-item { |
|
|
|
display: flex; |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #999999; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
|
|
|
|
text { |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.card { |
|
|
|
height: 150rpx; |
|
|
|
background: #ffffff; |
|
|
|
box-shadow: 0rpx 4rpx 13rpx 3rpx rgba(223, 223, 223, 0.8); |
|
|
|
border-radius: 20rpx; |
|
|
|
padding: 30rpx; |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
align-items: center; |
|
|
|
margin-bottom: 60rpx; |
|
|
|
|
|
|
|
.card-left { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
image { |
|
|
|
width: 100rpx; |
|
|
|
height: 90rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.card-center { |
|
|
|
margin-left: 30rpx; |
|
|
|
|
|
|
|
.card-center-head { |
|
|
|
font-size: 32rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
} |
|
|
|
|
|
|
|
.tips { |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #666666; |
|
|
|
|
|
|
|
.tips-card { |
|
|
|
width: 70rpx; |
|
|
|
height: 40rpx; |
|
|
|
background: #d3f2ef; |
|
|
|
border-radius: 6rpx; |
|
|
|
font-size: 20rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #0a8f8a; |
|
|
|
padding: 5rpx 10rpx; |
|
|
|
margin-left: 20rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.choose-item { |
|
|
|
margin-right: 20rpx; |
|
|
|
/* width: 50rpx; */ |
|
|
|
height: 50rpx; |
|
|
|
/* border: 1rpx solid #00B38B; */ |
|
|
|
border-radius: 50%; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
align-items: center; |
|
|
|
font-size: 25rpx; |
|
|
|
align-self: end; |
|
|
|
|
|
|
|
.active { |
|
|
|
width: 38rpx; |
|
|
|
height: 38rpx; |
|
|
|
background: #00b38b; |
|
|
|
border-radius: 50%; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.remark { |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Microsoft YaHei UI; |
|
|
|
font-weight: 400; |
|
|
|
color: #666666; |
|
|
|
text-indent: 30rpx; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.submit { |
|
|
|
margin-top: 100rpx; |
|
|
|
width: 670rpx; |
|
|
|
height: 80rpx; |
|
|
|
background: linear-gradient(-90deg, #43a1e0 0%, #13e7c1 100%); |
|
|
|
border-radius: 40rpx; |
|
|
|
font-size: 32rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
line-height: 80rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
.mask { |
|
|
|
background: rgba(0, 0, 0, .35); |
|
|
|
position: fixed; |
|
|
|
left: 0; |
|
|
|
top: 0; |
|
|
|
bottom: 0; |
|
|
|
right: 0; |
|
|
|
} |
|
|
|
|
|
|
|
.main { |
|
|
|
width: 560rpx; |
|
|
|
padding: 25rpx 20rpx 55rpx; |
|
|
|
text-align: center; |
|
|
|
background: #fff; |
|
|
|
position: absolute; |
|
|
|
left: 50%; |
|
|
|
top: 50%; |
|
|
|
transform: translate(-50%, -50%); |
|
|
|
border-radius: 20rpx; |
|
|
|
|
|
|
|
.top { |
|
|
|
text-align: right; |
|
|
|
|
|
|
|
.icon-close { |
|
|
|
width: 48rpx; |
|
|
|
height: 48rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.icon-success { |
|
|
|
width: 500rpx; |
|
|
|
height: 320rpx; |
|
|
|
margin-top: 22rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.title { |
|
|
|
color: #333333; |
|
|
|
font-size: 40rpx; |
|
|
|
font-weight: 600; |
|
|
|
text-align: center; |
|
|
|
margin-top: 55rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.selectCar-box { |
|
|
|
// width: 100%; |
|
|
|
// height: 100%; |
|
|
|
padding: 30rpx; |
|
|
|
|
|
|
|
.title { |
|
|
|
font-size: 30rpx; |
|
|
|
font-family: Microsoft YaHei UI; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.details { |
|
|
|
.title { |
|
|
|
font-size: 30rpx; |
|
|
|
font-family: Microsoft YaHei UI; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.details-item { |
|
|
|
display: flex; |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #999999; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
|
|
|
|
text { |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.card { |
|
|
|
height: 150rpx; |
|
|
|
background: #ffffff; |
|
|
|
box-shadow: 0rpx 4rpx 13rpx 3rpx rgba(223, 223, 223, 0.8); |
|
|
|
border-radius: 20rpx; |
|
|
|
padding: 30rpx; |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
align-items: center; |
|
|
|
margin-bottom: 60rpx; |
|
|
|
|
|
|
|
.card-left { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
image { |
|
|
|
width: 100rpx; |
|
|
|
height: 90rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.card-center { |
|
|
|
margin-left: 30rpx; |
|
|
|
|
|
|
|
.card-center-head { |
|
|
|
font-size: 32rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
} |
|
|
|
|
|
|
|
.tips { |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #666666; |
|
|
|
|
|
|
|
.tips-card { |
|
|
|
width: 70rpx; |
|
|
|
height: 40rpx; |
|
|
|
background: #d3f2ef; |
|
|
|
border-radius: 6rpx; |
|
|
|
font-size: 20rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #0a8f8a; |
|
|
|
padding: 5rpx 10rpx; |
|
|
|
margin-left: 20rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.choose-item { |
|
|
|
margin-right: 20rpx; |
|
|
|
/* width: 50rpx; */ |
|
|
|
height: 50rpx; |
|
|
|
/* border: 1rpx solid #00B38B; */ |
|
|
|
border-radius: 50%; |
|
|
|
display: flex; |
|
|
|
justify-content: start; |
|
|
|
align-items: center; |
|
|
|
font-size: 25rpx; |
|
|
|
align-self: end; |
|
|
|
|
|
|
|
.active { |
|
|
|
width: 38rpx; |
|
|
|
height: 38rpx; |
|
|
|
background: #00b38b; |
|
|
|
border-radius: 50%; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.remark { |
|
|
|
font-size: 26rpx; |
|
|
|
font-family: Microsoft YaHei UI; |
|
|
|
font-weight: 400; |
|
|
|
color: #666666; |
|
|
|
text-indent: 30rpx; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.submit { |
|
|
|
margin-top: 100rpx; |
|
|
|
width: 670rpx; |
|
|
|
height: 80rpx; |
|
|
|
background: linear-gradient(-90deg, #43a1e0 0%, #13e7c1 100%); |
|
|
|
border-radius: 40rpx; |
|
|
|
font-size: 32rpx; |
|
|
|
font-family: Noto Sans S Chinese; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
line-height: 80rpx; |
|
|
|
} |
|
|
|
.submit::after{ |
|
|
|
border: 0; |
|
|
|
} |
|
|
|
.submit[disabled] { |
|
|
|
background: #f0f0f0; |
|
|
|
color: #333; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |