From 43d41f83451a4038c72f20442a78a3b02174c567 Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期六, 21 六月 2025 17:01:46 +0800 Subject: [PATCH] 化验师Qa 修改bug --- laboratory/src/views/chemistQa/projectTesting/addDetectionReport.vue | 134 +++++++++++++++++++++++++++++--------------- 1 files changed, 87 insertions(+), 47 deletions(-) diff --git a/laboratory/src/views/chemistQa/projectTesting/addDetectionReport.vue b/laboratory/src/views/chemistQa/projectTesting/addDetectionReport.vue index 18828e0..cbd23d0 100644 --- a/laboratory/src/views/chemistQa/projectTesting/addDetectionReport.vue +++ b/laboratory/src/views/chemistQa/projectTesting/addDetectionReport.vue @@ -40,7 +40,8 @@ </el-col> <el-col :span="24"> <el-form-item prop="developPersonName" label="制定人"> - <el-input v-model="form.developPersonName" style="width: 100%;" placeholder="请输入制定人" disabled /> + <el-input v-model="form.developPersonName" style="width: 100%;" placeholder="请输入制定人" + disabled /> </el-form-item> <el-form-item prop="developDate" label="制定日期" style="margin-left: 100px;"> <el-date-picker :prefix-icon="null" v-model="form.developDate" type="date" disabled @@ -66,12 +67,17 @@ </div> </div> <el-form-item prop="name" style="margin-top: 18px"> - <el-upload + <!-- <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-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> @@ -91,7 +97,8 @@ import { Card } from 'element-ui'; import AiEditor from '@/components/AiEditor' import chooseProject from '@/components/chooseProject' -import { addDetail, getDetailInfo,updateDetail,getDetail } from './service' +import { addDetail, getDetailInfo, updateDetail, getDetail } from './service' +import { customUploadRequest, getFullUrl } from '@/utils/utils' export default { components: { @@ -111,7 +118,7 @@ itemId: "", status: 1, itemId: "", - qaReportFiles: [], + qaReportFileList: [], commitPersonId: null, }, tableData: [], @@ -135,26 +142,26 @@ this.form.commitPersonId = JSON.parse(sessionStorage.getItem('userInfo')).userId this.form.developDate = new Date().toISOString().split('T')[0]; - this.form.itemId=this.$route.query.itemId - if(this.form.itemId){ - getDetail(this.form.itemId).then(res=>{ - if(res){ - let item={ - teamName:res.projectTeamVO.teamName, - teamId:res.teamId, - remark:res.remark, + this.form.itemId = this.$route.query.itemId + if (this.form.itemId) { + getDetail(this.form.itemId).then(res => { + if (res) { + let item = { + teamName: res.projectTeamVO.teamName, + teamId: res.teamId, + remark: res.remark, - itemName:res.itemName, - itemCode:res.itemCode, - createBy:res.createBy, - createTime:res.createTime + itemName: res.itemName, + itemCode: res.itemCode, + createBy: res.createBy, + createTime: res.createTime } - this.tableData = [{ ...item }] + this.tableData = [{ ...item }] } }) } - console.log('this.$route.query.itemId',this.$route.query) - + console.log('this.$route.query.itemId', this.$route.query) + if (this.$route.query.id) { this.getDetail() } @@ -162,14 +169,25 @@ methods: { getDetail() { - getDetailInfo({id:this.$route.query.id}).then(res => { + getDetailInfo({ id: this.$route.query.id }).then(res => { if (res) { this.form = { ...res, reportContent: Number(res.reportContent) } // this.tableData = [{ ...res.data.projectTeam, staffName: res.data.staffNames }] - this.fileList = res.qaReportFiles || [] + // this.fileList = res.qaReportFileList || [] + if (res.qaReportFileList && res.qaReportFileList.length > 0) { + this.fileList = res.qaReportFileList.map(file => ({ + name: file.fileName, + url: getFullUrl(file.fileUrl), + uid: file.id + })) + this.form.qaReportFileList = res.fileList + } else { + this.fileList = [] + this.form.qaReportFileList = [] + } } else { this.$message.error(res.message || '获取详情失败') } @@ -183,12 +201,12 @@ submit() { this.$refs.form.validate((valid) => { if (!valid) return - + if (this.$refs.materialEditor.getContent() == '<p></p>') { this.$message.error('请输入报告正文') return } - + let data = { ...this.form, reportText: this.$refs.materialEditor.getContent(), @@ -197,8 +215,9 @@ this.loading = true if (this.$route.query.id) { - console.log('data updateDetail',data) + console.log('data updateDetail', data) updateDetail({ ...data, id: this.$route.query.id }).then(res => { + console.log('res',res) if (res.code === 200) { this.$message.success('修改成功') this.$router.back() @@ -209,8 +228,9 @@ this.loading = false }) } else { - console.log('data addDetail',data) + console.log('data addDetail', data) addDetail(data).then(res => { + console.log('res',res) if (res.code === 200) { this.$message.success('发布成功') this.$router.back() @@ -226,7 +246,7 @@ save() { this.$refs.form.validate((valid) => { if (!valid) return - + let data = { ...this.form, reportText: this.$refs.materialEditor.getContent(), @@ -261,36 +281,56 @@ } }) }, - beforeUpload(file) { + // 上传前校验 + beforeUpload(file) { return true; }, + // 自定义上传处理 handleUpload(options) { - const file = options.file; - const fileObj = { - fileName: file.name, - fileSize: file.size, - createTime: new Date().toISOString(), - createBy: JSON.parse(sessionStorage.getItem('userInfo')).userId, - reportType: 1, - status: 1, - id: Date.now().toString(), - fileUrl: 'https://example.com/default-file-url' - }; - - this.fileList.push({ - name: file.name, - url: fileObj.fileUrl + 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 || '', + fileName: file.name, + fileSize: file.size, + }; + + // 添加到文件列表显示 + this.fileList.push({ + name: file.name, + url: getFullUrl(fileObj.fileUrl), + uid: fileObj.id + }); + + // 添加到表单数据 + this.form.qaReportFileList.push(fileObj); + + this.$message.success('文件上传成功'); + onSuccess(res); + } else { + this.$message.error(res.message || '文件上传失败'); + onError(); + } + }, + onError: (err) => { + this.$message.error('文件上传失败'); + onError(err); + } }); - - this.form.qaReportFiles.push(fileObj); - - this.$message.success('文件上传成功'); }, handleRemove(file) { const index = this.fileList.findIndex(item => item.name === file.name); if (index !== -1) { this.fileList.splice(index, 1); - this.form.qaReportFiles.splice(index, 1); + this.form.qaReportFileList.splice(index, 1); } }, }, -- Gitblit v1.7.1