From e716a10bb2823a0224df1111105a165d20ffc1ab Mon Sep 17 00:00:00 2001 From: dshclm <3321914460@qq.com> Date: Thu, 29 May 2025 17:05:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdf/controller/ChangePdfController.java | 2 +- .../pdf/service/ChangePdfService.java | 2 +- .../system/newdev/onduty/editDuty.html | 70 +++++++++++++++++-- 3 files changed, 67 insertions(+), 7 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/controller/ChangePdfController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/controller/ChangePdfController.java index 9b09181d..6d88914f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/controller/ChangePdfController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/controller/ChangePdfController.java @@ -36,7 +36,7 @@ public class ChangePdfController { if (name != null) formData.put("姓名", name); if (sex != null) formData.put("性别", sex); if (phone != null) formData.put("联系电话", phone); - if (smPost != null) formData.put("涉密岗位", smPost); + if (smPost != null) formData.put("原涉密岗位名称", smPost); if (smPost != null) formData.put("原涉密等级", smGrade); // 构建图片数据 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/service/ChangePdfService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/service/ChangePdfService.java index f824e095..7f3a7399 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/service/ChangePdfService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/pdf/service/ChangePdfService.java @@ -18,7 +18,7 @@ import java.util.Map; @Service public class ChangePdfService { // 定义最大和最小字体大小,用于动态调整 - private static final float MAX_FONT_SIZE = 14; + private static final float MAX_FONT_SIZE = 12; private static final float MIN_FONT_SIZE = 8; // 预估的字段宽度(根据实际PDF调整) private static final float ESTIMATED_FIELD_WIDTH = 100f; diff --git a/ruoyi-admin/src/main/resources/templates/system/newdev/onduty/editDuty.html b/ruoyi-admin/src/main/resources/templates/system/newdev/onduty/editDuty.html index 71a05967..7b48602c 100644 --- a/ruoyi-admin/src/main/resources/templates/system/newdev/onduty/editDuty.html +++ b/ruoyi-admin/src/main/resources/templates/system/newdev/onduty/editDuty.html @@ -62,7 +62,7 @@
-
+

基本信息

@@ -276,9 +276,21 @@
-
- - 下载模版 + + + + + + + @@ -403,7 +415,9 @@ applyId: '', }, selectedFile: null, - pdfUrl: '/file/pdfFiles/涉密人员调离岗位审批表.pdf', + isLoading: false, + showResult: false, + pdfUrl: '', // 新增文件上传相关数据 selectedFiles: null, currentFileName: '', @@ -421,6 +435,52 @@ } }, methods: { + 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) { + this.$message({ + message: '请填写所有必填字段', + type: 'warning' + }); + return; + } + // 检查是否上传了照片 + if (!this.selectedFile) { + this.$message({ + message: '请上传一寸照片', + type: 'warning' + }); + return; + } + // 准备表单数据 + let formData = new FormData(); + if (this.formData.name) formData.append("name", this.formData.name); + if (this.formData.sex) formData.append("sex", this.formData.sex); + if (this.formData.phone) formData.append("phone", this.formData.phone); + if (this.formData.smPost) formData.append("smPost", this.formData.smPost); + if (this.formData.smGrade) formData.append("smGrade", this.formData.smGrade); + formData.append('photo', this.selectedFile); + // 显示加载状态 + this.isLoading = true; + // 发送请求 + axios.post('/api/ChangePdf/ChangeFill', formData, { + responseType: 'blob' + }) + .then(response => { + // 创建下载URL + let blob = new Blob([response.data], { type: 'application/pdf' }); + this.pdfUrl = window.URL.createObjectURL(blob); + this.$message.success('生成pdf成功,请点击下载!'); + // 隐藏加载状态,显示结果 + this.isLoading = false; + this.showResult = true; + }) + .catch(error => { + console.error('Error:', error); + this.isLoading = false; + this.$message.error('生成PDF时出错,请重试'); + }); + }, handleFileUpload(event) { let file = event.target.files[0]; if (file) {