<template>
|
<view class="cert-details-page">
|
<view class="cert-details-page__status-card" :class="'cert-details-page__status-card--' + statusType">
|
<view class="cert-details-page__status-head">
|
<image class="cert-details-page__status-icon" :src="statusIcon" mode="aspectFit"></image>
|
<text class="cert-details-page__status-title" :class="'cert-details-page__status-title--' + statusType">{{ statusTitle }}</text>
|
</view>
|
<text v-if="statusDesc" class="cert-details-page__status-desc">{{ statusDesc }}</text>
|
</view>
|
|
<view class="cert-details-page__section">
|
<text class="cert-details-page__section-title">基本信息</text>
|
|
<view class="cert-details-page__info-list">
|
<view v-for="item in basicInfo" :key="item.label" class="cert-details-page__info-item">
|
<text class="cert-details-page__info-label">{{ item.label }}</text>
|
<text class="cert-details-page__info-value">{{ item.value }}</text>
|
</view>
|
</view>
|
|
<view class="cert-details-page__upload-group">
|
<text class="cert-details-page__upload-title">身份证正反面</text>
|
<view class="cert-details-page__upload-list">
|
<view class="cert-details-page__upload-card">
|
|
</view>
|
<view class="cert-details-page__upload-card">
|
|
</view>
|
</view>
|
</view>
|
</view>
|
|
<view class="cert-details-page__section cert-details-page__section--last">
|
<text class="cert-details-page__section-title">车辆信息</text>
|
|
<view class="cert-details-page__info-list">
|
<view v-for="item in vehicleInfo" :key="item.label" class="cert-details-page__info-item">
|
<text class="cert-details-page__info-label">{{ item.label }}</text>
|
<text class="cert-details-page__info-value">{{ item.value }}</text>
|
</view>
|
</view>
|
|
<view class="cert-details-page__upload-group">
|
<text class="cert-details-page__upload-title">车辆照片</text>
|
<view class="cert-details-page__upload-list">
|
<view class="cert-details-page__upload-img">
|
|
</view>
|
<view class="cert-details-page__upload-img">
|
|
</view>
|
</view>
|
</view>
|
|
<view class="cert-details-page__upload-group">
|
<text class="cert-details-page__upload-title">驾驶证照片</text>
|
<view class="cert-details-page__upload-list cert-details-page__upload-list--single">
|
<view class="cert-details-page__upload-img">
|
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
statusType: 'review',
|
basicInfo: [
|
{ label: '注册手机号', value: '18155114565' },
|
{ label: '司机姓名', value: '苏熙熙' },
|
{ label: '婚姻状况', value: '未婚' },
|
{ label: '居住城市', value: '安徽省/合肥市/庐阳区' },
|
{ label: '详细地址', value: '九华山路201号' },
|
{ label: '支付宝账号', value: '18155114565' },
|
{ label: '身份证号', value: '3482938472937838902' }
|
],
|
vehicleInfo: [
|
{ label: '车牌号', value: '皖BD23189' },
|
{ label: '车辆类型', value: '面包车' },
|
{ label: '车辆颜色', value: '白色' },
|
{ label: '驾驶证有效期', value: '2016年1月1日至2036年1月1日' }
|
]
|
}
|
},
|
computed: {
|
statusTitle() {
|
const titleMap = {
|
review: '平台审核中',
|
approved: '司机认证已通过',
|
rejected: '司机认证已拒绝'
|
}
|
|
return titleMap[this.statusType] || titleMap.review
|
},
|
statusDesc() {
|
const descMap = {
|
review: '审核结果将通过短信/订单消息通知您',
|
approved: '',
|
rejected: '驾驶证过期,请重新提交审核'
|
}
|
|
return descMap[this.statusType] || ''
|
},
|
statusIcon() {
|
const iconMap = {
|
review: '/static/image/ic_renzhengzhong@2x.png',
|
approved: '/static/image/ic_pass@2x.png',
|
rejected: '/static/image/ic_fail@2x.png'
|
}
|
|
return iconMap[this.statusType] || iconMap.review
|
}
|
},
|
onLoad(options) {
|
this.statusType = options && options.status ? options.status : 'review'
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.cert-details-page {
|
background: #ffffff;
|
|
&__status-card {
|
width: 100%;
|
height: 248rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
flex-direction: column;
|
background: linear-gradient(180deg, #fff3e7 0%, #fff7f0 100%);
|
text-align: center;
|
|
&--approved {
|
background: linear-gradient(180deg, #ecfff3 0%, #f5fff9 100%);
|
}
|
|
&--rejected {
|
background: linear-gradient(180deg, #fff1f1 0%, #fff7f7 100%);
|
}
|
}
|
|
&__status-head {
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
gap: 12rpx;
|
}
|
|
&__status-icon {
|
width: 60rpx;
|
height: 60rpx;
|
flex-shrink: 0;
|
}
|
|
&__status-title {
|
font-weight: 600;
|
font-size: 40rpx;
|
color: #FA8010;
|
|
&--approved {
|
color: #18c86d;
|
}
|
|
&--rejected {
|
color: #ff2f2f;
|
}
|
}
|
|
&__status-desc {
|
display: block;
|
margin-top: 14rpx;
|
font-weight: 400;
|
font-size: 28rpx;
|
color: #333333;
|
}
|
|
&__section {
|
padding: 24rpx 30rpx;
|
box-sizing: border-box;
|
|
&--last {
|
padding-bottom: calc(env(safe-area-inset-bottom) + 28rpx);
|
}
|
}
|
|
&__section-title {
|
display: block;
|
font-weight: 600;
|
font-size: 36rpx;
|
color: #222222;
|
}
|
|
&__info-list {
|
margin-top: 14rpx;
|
}
|
|
&__info-item {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
gap: 20rpx;
|
padding: 30rpx 0;
|
box-sizing: border-box;
|
border-bottom: 1rpx solid #E5E5E5;
|
}
|
|
&__info-label {
|
font-weight: 400;
|
font-size: 30rpx;
|
color: #777777;
|
flex-shrink: 0;
|
}
|
|
&__info-value {
|
font-weight: 400;
|
font-size: 30rpx;
|
color: #222222;
|
text-align: right;
|
}
|
|
&__upload-group {
|
padding-top: 24rpx;
|
}
|
|
&__upload-title {
|
display: block;
|
font-weight: 400;
|
font-size: 30rpx;
|
color: #777777;
|
}
|
|
&__upload-list {
|
display: flex;
|
flex-wrap: wrap;
|
gap: 20rpx;
|
margin-top: 30rpx;
|
|
&--single {
|
justify-content: flex-start;
|
}
|
}
|
|
&__upload-card {
|
flex: 1;
|
height: 216rpx;
|
border-radius: 10rpx;
|
overflow: hidden;
|
background: #f7f8fa;
|
border: 1rpx solid #eef1f5;
|
|
&--license {
|
height: 124rpx;
|
}
|
}
|
|
&__upload-img {
|
width: 144rpx;
|
height: 144rpx;
|
background-color: #333333;
|
}
|
|
&__id-avatar {
|
width: 36rpx;
|
height: 42rpx;
|
margin-left: auto;
|
margin-top: -34rpx;
|
border-radius: 8rpx;
|
background: linear-gradient(180deg, #ffd39a 0%, #ffc56d 100%);
|
}
|
|
&__id-emblem,
|
&__id-emblem-sub {
|
display: block;
|
font-size: 14rpx;
|
font-weight: 700;
|
color: #9b6e67;
|
}
|
|
&__id-emblem-sub {
|
margin-top: 6rpx;
|
letter-spacing: 2rpx;
|
}
|
|
&__car-photo {
|
position: relative;
|
width: 144rpx;
|
height: 144rpx;
|
background: linear-gradient(180deg, #f5f7fa 0%, #eff2f7 100%);
|
}
|
}
|
</style>
|