Files
xiaokuaisong-paotui/distribution/pages/authentication/authentication.vue
2025-08-18 09:57:10 +08:00

301 lines
6.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>