学生资助-修复图片文件预览问题

This commit is contained in:
2026-03-05 14:37:37 +08:00
parent 6fb7c809cb
commit b6337714cc
4 changed files with 309 additions and 83 deletions

View File

@@ -96,19 +96,25 @@
<input v-model="formData.sfzhm" placeholder="请输入身份证号码" class="form-input" :disabled="detailMode"></input>
</view>
<view class="form-item">
<label class="form-label"><span class="red-tip">*</span>电子版一寸照</label>
<view class="example-body">
<uni-file-picker
@select="handlePhotoUpload"
@delete="deletePhoto"
:auto-upload="false"
limit="1"
:disabled="detailMode"
mode="grid"
></uni-file-picker>
</view>
<view class="upload-tip" v-if="!detailMode">支持上传jpg/png格式照片单个文件不超过5MB</view>
<label class="form-label"><span class="red-tip">*</span>电子版一寸照</label>
<!-- 编辑模式显示上传组件 -->
<view class="example-body" v-if="!detailMode">
<uni-file-picker
@select="handlePhotoUpload"
@delete="deletePhoto"
:auto-upload="false"
limit="1"
:disabled="detailMode"
mode="grid"
:value="filePickerValue"
></uni-file-picker>
</view>
<view class="upload-tip" v-if="!detailMode">支持上传jpg/png格式照片单个文件不超过5MB</view>
<!-- 详情模式显示照片预览 -->
<view class="photo-preview-container" v-if="formData.zp && detailMode">
<image :src="getFullImageUrl(formData.zp)" mode="aspectFill"></image>
</view>
</view>
<view class="form-item">
<label class="form-label"><span class="red-tip">*</span>二级学院</label>
<input v-model="formData.xy" placeholder="请输入二级学院" class="form-input" :disabled="detailMode"></input>
@@ -375,6 +381,7 @@
import uploadFile from "@/plugins/upload.js"
import { queryAffixs, getAffixItems, uploadFiles, deleteAffix } from '@/api/affix'
import { getUserProfile } from '@/api/system/user'
import config from '@/config'
export default {
data() {
return {
@@ -402,33 +409,33 @@
yb: '',
zzls: '',
gyhd: '',
rkzs: '',
rjnsr: '',
srly: '',
dz: '',
kndj: '',
knlx: '',
bankCard: '',
bankAddr: '',
jtcyObj: [
{
xm: '',
nl: '',
gx: '',
dw: '',
lxdh: '',
zy: '',
nsr: '',
jkzk: ''
}
],
sqly: '',
affixId: null,
bjyj: '',
bjyjdj: '',
ejxyyj: '',
ejxyyjdj: ''
},
rkzs: '',
rjnsr: '',
srly: '',
dz: '',
kndj: '',
knlx: '',
bankCard: '',
bankAddr: '',
jtcyObj: [
{
xm: '',
nl: '',
gx: '',
dw: '',
lxdh: '',
zy: '',
nsr: '',
jkzk: ''
}
],
sqly: '',
affixId: null,
bjyj: '',
bjyjdj: '',
ejxyyj: '',
ejxyyjdj: ''
},
genderOptions: [
{ value: '男', text: '男' },
{ value: '女', text: '女' }
@@ -438,7 +445,19 @@
affixFiles: [],
loading: false,
signImg: '',
baseUrl: uni.getStorageSync('baseUrl') || ''
baseUrl: config.baseUrl || ''
}
},
computed: {
filePickerValue() {
if (this.formData.zp) {
return [{
url: this.getFullImageUrl(this.formData.zp),
name: '证件照',
size: 0
}];
}
return [];
}
},
onLoad(option) {
@@ -524,6 +543,12 @@
if (this.formData.xsqm) {
this.signImg = this.baseUrl + this.formData.xsqm;
}
// 处理证件照回显
if (this.formData.zp) {
console.log('证件照路径:', this.formData.zp);
console.log('baseUrl:', this.baseUrl);
console.log('完整URL:', this.getFullImageUrl(this.formData.zp));
}
}
}).finally(() => {
this.loading = false
@@ -884,8 +909,8 @@
if (path.startsWith('http://') || path.startsWith('https://')) {
return path;
}
// 直接从存储中获取最新的baseUrl
const currentBaseUrl = uni.getStorageSync('baseUrl') || '';
// 使用配置文件中的baseUrl
const currentBaseUrl = config.baseUrl || '';
console.log('当前baseUrl:', currentBaseUrl);
// 处理baseUrl确保结尾没有斜杠
const baseUrlClean = currentBaseUrl.replace(/\/$/, '');
@@ -1501,9 +1526,22 @@
cursor: pointer;
}
.sign-disabled {
opacity: 0.5;
cursor: not-allowed;
}
opacity: 0.5;
cursor: not-allowed;
}
/* 证件照预览容器样式 */
.photo-preview-container {
margin-top: 20rpx;
border-radius: 8rpx;
overflow: hidden;
}
.photo-preview-container image {
width: 200rpx;
height: 200rpx;
border-radius: 8rpx;
}
.submit-container {
position: fixed;
bottom: 0;