From caaace44a0f0049b6a645d6e0a511af6adf7c1e0 Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期六, 21 六月 2025 15:37:04 +0800 Subject: [PATCH] 专业报告审批修改bug --- laboratory/src/views/reportLibrary/processDevelopment/add.vue | 113 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 96 insertions(+), 17 deletions(-) diff --git a/laboratory/src/views/reportLibrary/processDevelopment/add.vue b/laboratory/src/views/reportLibrary/processDevelopment/add.vue index 82f7ce8..26b30f6 100644 --- a/laboratory/src/views/reportLibrary/processDevelopment/add.vue +++ b/laboratory/src/views/reportLibrary/processDevelopment/add.vue @@ -28,7 +28,7 @@ </div> </div> <el-form-item prop="reportCode" style="margin-top: 38px"> - <el-input v-model="form.reportCode" style="width: 100%;" placeholder="请输入报告编号" /> + <el-input v-model="form.reportCode" disabled style="width: 100%;" placeholder="请输入报告编号" /> </el-form-item> <div class="header-title" style="width: 100%;"> @@ -58,8 +58,10 @@ </div> </div> <el-form-item prop="name" style="margin-top: 38px"> - <el-upload action="https://jsonplaceholder.typicode.com/posts/" :file-list="fileList"> + <el-upload action="#" :file-list="fileList" :http-request="handleUpload" + :before-upload="beforeUpload" :on-remove="handleRemove"> <el-button size="small" type="primary">点击上传</el-button> + <div slot="tip" class="el-upload__tip">支持任意格式文件上传</div> </el-upload> </el-form-item> @@ -78,6 +80,7 @@ import AiEditor from '@/components/AiEditor' import chooseProject from '@/components/chooseProject' import { addData, getDetail, editData } from './service' +import { customUploadRequest, getFullUrl } from '@/utils/utils' export default { components: { AiEditor, @@ -89,15 +92,16 @@ form: { reportCode: "", reportName: "", - reportText: "" + reportText: "", + feasibilityReportFiles: [] // 添加附件数组 }, tableData: [], fileList: [], // 附件列表 showChoose: false, rules: { - reportCode: [ - { required: true, message: '请输入报告编号', trigger: 'blur' } - ], + // reportCode: [ + // { required: true, message: '请输入报告编号', trigger: 'blur' } + // ], reportName: [ { required: true, message: '请输入报告名称', trigger: 'blur' } ], @@ -117,7 +121,17 @@ getDetail(this.$route.query.id).then(res => { this.form = res this.tableData = [{ ...res.projectTeam, staffName: res.staffNames }] - this.fileList = res.fileList + if (res.feasibilityReportFiles && res.feasibilityReportFiles.length > 0) { + this.fileList = res.feasibilityReportFiles.map(file => ({ + name: file.fileName, + url: getFullUrl(file.fileUrl), + uid: file.id + })) + this.form.feasibilityReportFiles = res.fileList + } else { + this.fileList = [] + this.form.feasibilityReportFiles = [] + } }) }, //获取选择项目组数据 @@ -125,6 +139,60 @@ this.tableData = [data] this.$forceUpdate() this.showChoose = false + }, + // 上传前校验 + beforeUpload(file) { + return true; + }, + // 自定义上传处理 + handleUpload(options) { + const { file, onSuccess, onError } = options; + + // 使用封装的customUploadRequest方法 + customUploadRequest({ + file, + onSuccess: (res) => { + console.log() + if (res.code === 200) { + const fileObj = { + id: new Date().getTime(), + reportId: this.$route.query.id ? this.$route.query.id : '', + fileUrl: res.msg || res.data || '', + reportType: 3, // 可行性研究报告类型 + fileName: file.name, + fileSize: file.size, + }; + + // 添加到文件列表显示 + this.fileList.push({ + name: file.name, + url: getFullUrl(fileObj.fileUrl), + uid: fileObj.id + }); + + // 添加到表单数据 + this.form.feasibilityReportFiles.push(fileObj); + + this.$message.success('文件上传成功'); + onSuccess(res); + } else { + this.$message.error(res.message || '文件上传失败'); + onError(); + } + }, + onError: (err) => { + this.$message.error('文件上传失败'); + onError(err); + } + }); + }, + // 删除文件 + handleRemove(file) { + const index = this.fileList.findIndex(item => item.name === file.name); + if (index !== -1) { + this.fileList.splice(index, 1); + this.form.feasibilityReportFiles.splice(index, 1); + } }, submit() { console.log(this.$refs.materialEditor.getContent()); @@ -186,16 +254,27 @@ if (valid) { this.loading = true - addData({ ...data }).then(res => { - if (res.code === 200) { - this.$message.success('提交成功') - this.$router.back() - } else { - this.$message.error(res.message) - } - }).finally(() => { - this.loading = false - }) + if (this.$route.query.id) { + editData({ ...data, id: this.$route.query.id }).then(res => { + if (res.code === 200) { + this.$message.success('修改成功') + this.$router.back() + } else { + this.$message.error(res.message) + } + }) + } else { + addData({ ...data }).then(res => { + if (res.code === 200) { + this.$message.success('发布成功') + this.$router.back() + } else { + this.$message.error(res.message) + } + }).finally(() => { + this.loading = false + }) + } } }) }, -- Gitblit v1.7.1