|
|
|
@ -4,6 +4,7 @@
|
|
|
|
|
<th:block th:include="include :: header('材料上传')"/>
|
|
|
|
|
<th:block th:include="include :: select2-css"/>
|
|
|
|
|
<th:block th:include="include :: jasny-bootstrap-css"/>
|
|
|
|
|
<th:block th:include="include :: element-css"/>
|
|
|
|
|
<link href="/file/pdf/test.css" rel="stylesheet">
|
|
|
|
|
<script src="/file/pdf/tailwindcss.js"></script>
|
|
|
|
|
<!-- Tailwind配置 -->
|
|
|
|
@ -411,6 +412,7 @@
|
|
|
|
|
<th:block th:include="include :: footer"/>
|
|
|
|
|
<th:block th:include="include :: select2-js"/>
|
|
|
|
|
<th:block th:include="include :: jasny-bootstrap-js"/>
|
|
|
|
|
<th:block th:include="include :: element-js"/>
|
|
|
|
|
<script type="text/javascript" th:inline="javascript">
|
|
|
|
|
var prefix = ctx + "system/applyList";
|
|
|
|
|
new Vue({
|
|
|
|
@ -463,18 +465,18 @@
|
|
|
|
|
// 检查文件类型和大小
|
|
|
|
|
let fileSize = file.size / 1024 / 1024; // MB
|
|
|
|
|
if (fileSize > 2) {
|
|
|
|
|
alert('文件大小不能超过2MB');
|
|
|
|
|
this.$message.error('文件大小不能超过2MB');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
let fileType = file.type;
|
|
|
|
|
if (!fileType.startsWith('image/')) {
|
|
|
|
|
alert('请上传图片文件');
|
|
|
|
|
this.$message.error('请上传图片文件');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 验证图片格式
|
|
|
|
|
let validFormats = ['image/jpeg', 'image/png'];
|
|
|
|
|
if (!validFormats.includes(fileType)) {
|
|
|
|
|
alert('请上传JPG或PNG格式的图片');
|
|
|
|
|
this.$message.error('请上传JPG或PNG格式的图片');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 验证图片尺寸是否接近一寸照片 (2.5cm x 3.5cm, 约295x413像素)
|
|
|
|
@ -486,12 +488,15 @@
|
|
|
|
|
let ratio = width / height;
|
|
|
|
|
// 检查宽高比是否接近一寸照片的比例 (约0.714)
|
|
|
|
|
if (Math.abs(ratio - 0.714) > 0.1) {
|
|
|
|
|
alert('建议上传一寸照片尺寸 (约295x413像素)');
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '建议上传一寸照片尺寸 (约295x413像素)',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
this.selectedFile = file;
|
|
|
|
|
};
|
|
|
|
|
img.onerror = () => {
|
|
|
|
|
alert('无法加载图片,请重新选择');
|
|
|
|
|
this.$message.error('无法加载图片,请重新选择');
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
@ -502,12 +507,18 @@
|
|
|
|
|
submitForm() {
|
|
|
|
|
// 简单验证
|
|
|
|
|
if (!this.formData.name || !this.formData.sex || !this.formData.nationa || !this.formData.nationality || !this.formData.maritalStatus || !this.formData.political || !this.formData.phone || !this.formData.cerno || !this.formData.address || !this.formData.registeredAuthority || !this.formData.permanentAddress || !this.formData.residentBureau || !this.formData.positionCapacity || !this.formData.smPost || !this.formData.smGrade) {
|
|
|
|
|
alert('请填写所有必填字段');
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '请填写所有必填字段',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 检查是否上传了照片
|
|
|
|
|
if (!this.selectedFile) {
|
|
|
|
|
alert('请上传一寸照片');
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '请上传一寸照片',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 准备表单数据
|
|
|
|
@ -547,7 +558,7 @@
|
|
|
|
|
.catch(error => {
|
|
|
|
|
console.error('Error:', error);
|
|
|
|
|
this.isLoading = false;
|
|
|
|
|
alert('生成PDF时出错,请重试');
|
|
|
|
|
this.$message.error('生成PDF时出错,请重试');
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 新增文件上传相关方法
|
|
|
|
@ -560,7 +571,7 @@
|
|
|
|
|
let fileExtension = file.name.split('.').pop().toLowerCase();
|
|
|
|
|
let validExtensions = ['pdf', 'doc', 'docx', 'jpg', 'jpeg', 'png', 'gif', 'bmp'];
|
|
|
|
|
if (!validExtensions.includes(fileExtension)) {
|
|
|
|
|
alert('请上传PDF、Word文档或图片文件');
|
|
|
|
|
this.$message.error('请上传PDF、Word文档或图片文件');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.uploadFile(file);
|
|
|
|
@ -606,12 +617,12 @@
|
|
|
|
|
// 重置选择框
|
|
|
|
|
document.getElementById('fileUpload').value = '';
|
|
|
|
|
} else {
|
|
|
|
|
alert(`上传失败: ${response.data.msg}`);
|
|
|
|
|
this.$message.error(`上传失败: ${response.data.msg}`);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
console.error('上传错误:', error);
|
|
|
|
|
alert('上传过程中发生错误');
|
|
|
|
|
this.$message.error('上传过程中发生错误');
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
downloadFile(file) {
|
|
|
|
@ -634,35 +645,53 @@
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
console.error('下载错误:', error);
|
|
|
|
|
alert('下载文件时出错');
|
|
|
|
|
this.$message.error('下载文件时出错');
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
submitHandler() {
|
|
|
|
|
if (this.uploadedFiles.length == 0) {
|
|
|
|
|
alert('请上传所需材料');
|
|
|
|
|
return
|
|
|
|
|
}else{
|
|
|
|
|
if(confirm('确认提交吗?')){
|
|
|
|
|
$.operate.saveTab(`${this.prefix}/submit?applyId=${this.formData.applyId}`,);
|
|
|
|
|
}
|
|
|
|
|
this.$message.warning('请上传所需材料');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.$confirm('确认提交吗?', '提示', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
}).then(() => {
|
|
|
|
|
$.operate.saveTab(`${this.prefix}/submit?applyId=${this.formData.applyId}`);
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'info',
|
|
|
|
|
message: '已取消'
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
deleteFile(file, index) {
|
|
|
|
|
if (confirm(`确定要删除文件 "${file.fileName}" 吗?`)) {
|
|
|
|
|
this.$confirm(`确定要删除文件 "${file.fileName}" 吗?`, '提示', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
}).then(() => {
|
|
|
|
|
axios.get(ctx + 'system/file/delFile/' + file.id)
|
|
|
|
|
.then(response => {
|
|
|
|
|
if (response.data.code === web_status.SUCCESS) {
|
|
|
|
|
this.uploadedFiles.splice(index, 1);
|
|
|
|
|
alert('文件已成功删除');
|
|
|
|
|
this.$message.success('文件已成功删除');
|
|
|
|
|
} else {
|
|
|
|
|
alert(`删除失败: ${response.data.msg}`);
|
|
|
|
|
this.$message.error(`删除失败: ${response.data.msg}`);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
console.error('删除错误:', error);
|
|
|
|
|
alert('删除文件时出错');
|
|
|
|
|
this.$message.error('删除文件时出错');
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'info',
|
|
|
|
|
message: '已取消删除'
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 获取已上传文件
|
|
|
|
|
getUploadedFiles() {
|
|
|
|
@ -688,7 +717,7 @@
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
console.error('获取文件列表错误:', error);
|
|
|
|
|
alert('获取已上传文件时出错');
|
|
|
|
|
this.$message.error('获取已上传文件时出错');
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 新增图片预览相关方法
|
|
|
|
|