301 lines
6.4 KiB
Vue
301 lines
6.4 KiB
Vue
<template>
|
||
<view class="page">
|
||
<view class="form-item">
|
||
<view class="label">银行卡号</view>
|
||
<view class="value">
|
||
<input type="text" v-model="bankCard" placeholder="请输入银行卡号" />
|
||
</view>
|
||
</view>
|
||
|
||
<view class="upload-section">
|
||
<view class="upload-item" @click="takePhoto('front')">
|
||
<view v-if="!photoSrcFront" class="upload-icon-text">
|
||
<uni-icons type="plusempty" size="30" color="#6a7cbf"></uni-icons>
|
||
<view class="upload-text">点击上传身份证国徽面</view>
|
||
</view>
|
||
<image v-if="photoSrcFront" :src="photoSrcFront"></image>
|
||
</view>
|
||
<view class="upload-item" @click="takePhoto('back')">
|
||
<view v-if="!photoSrcBack" class="upload-icon-text">
|
||
<uni-icons type="plusempty" size="30" color="#6a7cbf"></uni-icons>
|
||
<view class="upload-text">点击上传身份证人像面</view>
|
||
</view>
|
||
<image v-if="photoSrcBack" :src="photoSrcBack"></image>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 提交按钮 -->
|
||
<button class="submit-button" @click="submit">提交</button>
|
||
|
||
<!-- 提交记录 -->
|
||
<view class="submit" v-if="submitRecord">
|
||
<view class="submit-title">
|
||
提交记录
|
||
</view>
|
||
<view class="submit-bankCard">
|
||
{{ submitRecord.bankCard }}
|
||
</view>
|
||
<view class="submit-frontIdCard">
|
||
<!-- 确保这里使用的是完整的URL -->
|
||
<view class="submit-title">
|
||
身份证正面
|
||
</view>
|
||
<image :src="submitRecord.frontIdCard" mode="widthFix"></image>
|
||
</view>
|
||
<view class="submit-backIdCard">
|
||
<!-- 修复这里的src,添加协议前缀 -->
|
||
<view class="submit-title">
|
||
身份证背面
|
||
</view>
|
||
<image :src="submitRecord.backIdCard" mode="widthFix"></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
|
||
<script>
|
||
import {
|
||
apiImageUrl
|
||
} from '../../API/api';
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
photoSrcFront: '', // 徽面照片路径
|
||
photoSrcBack: '', // 人像面照片路径
|
||
bankCard: '', // 银行卡号
|
||
submitRecord: {}, // 修改为对象
|
||
currentUser: uni.getStorageSync("currentUser")
|
||
}
|
||
},
|
||
onLoad() {
|
||
this.getAuditRecords()
|
||
},
|
||
methods: {
|
||
takePhoto(side) {
|
||
const that = this;
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sourceType: ['camera'],
|
||
success(res) {
|
||
if (side === 'front') {
|
||
that.photoSrcFront = res.tempFilePaths[0];
|
||
that.uploadPhoto(res.tempFilePaths[0], 'front');
|
||
} else if (side === 'back') {
|
||
that.photoSrcBack = res.tempFilePaths[0];
|
||
that.uploadPhoto(res.tempFilePaths[0], 'back');
|
||
}
|
||
}
|
||
});
|
||
},
|
||
uploadPhoto(filePath, side) {
|
||
uni.uploadFile({
|
||
url: apiImageUrl + '/api/file/upload/server',
|
||
filePath,
|
||
name: 'file',
|
||
formData: {
|
||
biz: 'card'
|
||
},
|
||
success: (res) => {
|
||
console.log('上传成功:', res);
|
||
// 根据接口返回的结果进行相应的处理
|
||
},
|
||
fail: (err) => {
|
||
console.error('上传失败:', err);
|
||
}
|
||
});
|
||
},
|
||
submit() {
|
||
const data = {
|
||
backIdCard: this.photoSrcBack,
|
||
bankCard: this.bankCard,
|
||
errandId: this.currentUser.id,
|
||
frontIdCard: this.photoSrcFront
|
||
};
|
||
|
||
uni.request({
|
||
url: apiImageUrl + '/api/errandAuth/add',
|
||
method: 'POST',
|
||
data,
|
||
header: {
|
||
'Content-Type': 'application/json', // 确保设置正确的 Content-Type
|
||
'cookie': uni.getStorageSync("cookie") || ''
|
||
},
|
||
success: (res) => {
|
||
console.log('提交成功:', res);
|
||
// 根据接口返回的结果进行相应的处理
|
||
if(res.data.code===40000){
|
||
uni.showToast({
|
||
title: res.data.description,
|
||
icon: 'fail',
|
||
duration: 2000
|
||
})
|
||
} else if(res.data.code===0){
|
||
uni.showToast({
|
||
title: '提交成功',
|
||
icon: 'success',
|
||
duration: 2000
|
||
})
|
||
|
||
}
|
||
},
|
||
fail: (err) => {
|
||
console.error('提交失败:', err);
|
||
}
|
||
});
|
||
},
|
||
getAuditRecords() {
|
||
uni.request({
|
||
url: apiImageUrl + '/api/errandAuth/get/my',
|
||
method: 'POST',
|
||
header: {
|
||
'Content-Type': 'application/json', // 确保设置正确的 Content-Type
|
||
'cookie': uni.getStorageSync("cookie") || ''
|
||
},
|
||
success: (res) => {
|
||
console.log(res);
|
||
if (res.data.code === 0 && res.data.data) {
|
||
this.submitRecord= res.data.data; // 更新审核记录
|
||
}
|
||
},
|
||
fail: (err) => {
|
||
console.error('获取审核记录失败:', err);
|
||
}
|
||
});
|
||
}
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
/* 页面样式 */
|
||
.example-body {
|
||
background-color: #fff;
|
||
padding: 10px;
|
||
}
|
||
|
||
.page {
|
||
background-color: #fff;
|
||
padding: 20px;
|
||
}
|
||
|
||
/* 返回按钮样式 */
|
||
.back-button {
|
||
position: absolute;
|
||
top: 20px;
|
||
left: 20px;
|
||
}
|
||
|
||
/* 表单项样式 */
|
||
.form-item {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
margin-bottom: 20px;
|
||
border-bottom: 1px solid #ddd;
|
||
padding-bottom: 10px;
|
||
}
|
||
|
||
.label {
|
||
font-size: 16px;
|
||
color: #000;
|
||
}
|
||
|
||
.value {
|
||
font-size: 16px;
|
||
color: #666;
|
||
}
|
||
|
||
/* 上传区域样式 */
|
||
.upload-section {
|
||
margin-top: 20px;
|
||
display: flex;
|
||
flex-direction: column;
|
||
/* 改为垂直排列 */
|
||
gap: 20px;
|
||
/* 增加间距 */
|
||
}
|
||
|
||
.upload-item {
|
||
background-color: #ecf5ff;
|
||
border: 2px dashed #a6b2da;
|
||
border-radius: 10px;
|
||
padding: 10px;
|
||
text-align: center;
|
||
width: 100%;
|
||
/* 设置宽度为100% */
|
||
box-sizing: border-box;
|
||
position: relative;
|
||
height: 200px;
|
||
/* 固定高度 */
|
||
}
|
||
|
||
.upload-item .upload-icon-text {
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
}
|
||
|
||
.upload-item image {
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
/* 确保图片覆盖容器并保持比例 */
|
||
border-radius: 8px;
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
bottom: 0;
|
||
right: 0;
|
||
}
|
||
|
||
.upload-text {
|
||
font-size: 14px;
|
||
color: #8cb7fd;
|
||
}
|
||
|
||
/* 提交按钮样式 */
|
||
.submit-button {
|
||
width: 100%;
|
||
height: 50px;
|
||
background-color: #5e7dec;
|
||
border: none;
|
||
border-radius: 10px;
|
||
color: #fff;
|
||
font-size: 16px;
|
||
margin-top: 20px;
|
||
}
|
||
|
||
/* 提交记录样式 */
|
||
.submit {
|
||
margin-top: 20px;
|
||
padding: 20px;
|
||
border: 1px solid #ddd;
|
||
border-radius: 10px;
|
||
background-color: #f9f9f9;
|
||
}
|
||
|
||
.submit-title {
|
||
font-size: 18px;
|
||
font-weight: bold;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.submit-bankCard {
|
||
font-size: 16px;
|
||
color: #333;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.submit-frontIdCard image,
|
||
.submit-backIdCard image {
|
||
width: 100%;
|
||
height: auto;
|
||
border-radius: 8px;
|
||
max-height: 300px; /* 设置最大高度以防图片过大 */
|
||
object-fit: contain; /* 确保图片内容完整显示 */
|
||
}
|
||
</style> |