|
|
@@ -0,0 +1,221 @@ |
|
|
|
<template> |
|
|
|
<view class="main" :style="{height: height+'px'}"> |
|
|
|
<view class="item-row"> |
|
|
|
<view class="item-left"> |
|
|
|
<view class="title">行驶证正面</view> |
|
|
|
<view class="desc">补传行驶证正面</view> |
|
|
|
<view class="flag"><text>拍摄示例</text> </view> |
|
|
|
</view> |
|
|
|
<view class="item-right" @click="chooseImage(1)"> |
|
|
|
<view class="empty-node"></view> |
|
|
|
<image :src="state.headstockImg ?? defHeadstockImg" :data-url="state.headstockImg ?? defHeadstockImg"> |
|
|
|
</image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="item-row"> |
|
|
|
<view class="item-left"> |
|
|
|
<view class="title">行驶证副面</view> |
|
|
|
<view class="desc">补传行驶证副面</view> |
|
|
|
<view class="flag"><text>拍摄示例</text> </view> |
|
|
|
</view> |
|
|
|
<view class="item-right" @click="chooseImage(2)"> |
|
|
|
<view class="empty-node"></view> |
|
|
|
<image :src="state.installImg ?? defInstallImg"></image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="btn"> |
|
|
|
<submit-button @submit="saveHandle" title="保存"></submit-button> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script lang="ts" setup> |
|
|
|
import { |
|
|
|
reactive |
|
|
|
} from "vue"; |
|
|
|
import { |
|
|
|
msg, |
|
|
|
navTo |
|
|
|
} from '@/utils/utils'; |
|
|
|
import { |
|
|
|
fileURL |
|
|
|
} from "@/datas/fileURL.js"; |
|
|
|
const height = uni.getSystemInfoSync().windowHeight |
|
|
|
const defHeadstockImg = `${fileURL}image/applyCard/car-zhu.png`; |
|
|
|
const defInstallImg = `${fileURL}image/applyCard/car-fu.png`; |
|
|
|
|
|
|
|
const state = reactive({ |
|
|
|
headstockImg: null, |
|
|
|
installImg: null |
|
|
|
}); |
|
|
|
|
|
|
|
//选择图片 |
|
|
|
const chooseImage = (type: number) => { |
|
|
|
uni.chooseImage({ |
|
|
|
count: 1, |
|
|
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 |
|
|
|
//sourceType: ['album','camera'], |
|
|
|
success: function(res) { |
|
|
|
console.log(res.tempFilePaths); |
|
|
|
if (type === 1) { |
|
|
|
state.headstockImg = res.tempFilePaths[0]; |
|
|
|
} else { |
|
|
|
state.installImg = res.tempFilePaths[0]; |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
//下一步 |
|
|
|
const saveHandle = () => { |
|
|
|
if (!state.headstockImg || !state.installImg) { |
|
|
|
msg('请按照要求上传图片!'); |
|
|
|
return; |
|
|
|
} |
|
|
|
msg('保存成功') |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style> |
|
|
|
page { |
|
|
|
background: #F3F3F3; |
|
|
|
} |
|
|
|
</style> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.main { |
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
.item-row { |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
margin-top: 30rpx; |
|
|
|
background: white; |
|
|
|
padding: 30rpx; |
|
|
|
border-radius: 20rpx; |
|
|
|
box-shadow: 0rpx 4rpx 13rpx 3rpx rgba(223, 223, 223, 0.8); |
|
|
|
margin: 30rpx; |
|
|
|
|
|
|
|
.item-left { |
|
|
|
.title { |
|
|
|
font-size: 34rpx; |
|
|
|
color: #333; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
|
|
|
|
.desc { |
|
|
|
font-size: 24rpx; |
|
|
|
color: #999; |
|
|
|
margin: 10rpx 0; |
|
|
|
} |
|
|
|
|
|
|
|
.flag { |
|
|
|
width: 110rpx; |
|
|
|
height: 45rpx; |
|
|
|
line-height: 42rpx; |
|
|
|
color: #0A8F8A; |
|
|
|
margin-top: 16rpx; |
|
|
|
border-radius: 6rpx; |
|
|
|
text-align: center; |
|
|
|
font-size: 20rpx; |
|
|
|
background: #D9F8F1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.item-right { |
|
|
|
width: 295rpx; |
|
|
|
height: 188rpx; |
|
|
|
position: relative; |
|
|
|
|
|
|
|
image { |
|
|
|
position: relative; |
|
|
|
z-index: 10; |
|
|
|
width: 100%; |
|
|
|
height: 188rpx; |
|
|
|
} |
|
|
|
|
|
|
|
&::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; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.empty-node { |
|
|
|
position: absolute; |
|
|
|
z-index: 0; |
|
|
|
width: 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; |
|
|
|
} |
|
|
|
|
|
|
|
&::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; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.hint { |
|
|
|
display: flex; |
|
|
|
flex-direction: row; |
|
|
|
justify-content: center; |
|
|
|
font-size: 26rpx; |
|
|
|
color: #666666; |
|
|
|
padding: 0px 30rpx; |
|
|
|
margin-top: 60rpx; |
|
|
|
|
|
|
|
.icon { |
|
|
|
width: 36rpx; |
|
|
|
height: 36rpx; |
|
|
|
margin-right: 10rpx; |
|
|
|
} |
|
|
|
|
|
|
|
view { |
|
|
|
width: calc(100% - 36rpx); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.btn { |
|
|
|
margin: 470rpx 40rpx 30rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |