From 0a7829811f6df7a6eb4e32ba5ba53b1db9f10e9c Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期三, 23 七月 2025 10:01:09 +0800 Subject: [PATCH] 修改 --- src/views/work/onlineEducation/offlineEducation/components/recordDialog.vue | 23 +++++++++++++++++++---- src/views/work/onlineEducation/offlineEducation/index.vue | 30 +++++++++++++++++++++++++++--- 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/src/views/work/onlineEducation/offlineEducation/components/recordDialog.vue b/src/views/work/onlineEducation/offlineEducation/components/recordDialog.vue index 4b21526..f32de8e 100644 --- a/src/views/work/onlineEducation/offlineEducation/components/recordDialog.vue +++ b/src/views/work/onlineEducation/offlineEducation/components/recordDialog.vue @@ -69,13 +69,28 @@ <!-- <el-input v-model.trim="state.form.level" :disabled="disabled" placeholder="请输入培训等级" ></el-input>--> </el-form-item> <el-form-item label="要求课时(分):" prop="period" > - <el-input v-model.trim="state.form.period" :disabled="disabled" placeholder="请输入要求课时(分)" ></el-input> + <el-input v-model.trim="state.form.period" + @input="state.form.period = state.form.period + .replace(/[^0-9.]/g, '') + .replace(/(\..*)\./g, '$1') + .replace(/^(-?\d+\.?\d*).*/, '$1')" + :disabled="disabled" placeholder="请输入要求课时(分)" ></el-input> </el-form-item> <el-form-item label="实际课时(分):" prop="actualPeriod" > - <el-input v-model.trim="state.form.actualPeriod" :disabled="disabled" placeholder="请输入实际课时(分)" ></el-input> + <el-input v-model.trim="state.form.actualPeriod" + @input="state.form.actualPeriod = state.form.actualPeriod + .replace(/[^0-9.]/g, '') + .replace(/(\..*)\./g, '$1') + .replace(/^(-?\d+\.?\d*).*/, '$1')" + :disabled="disabled" placeholder="请输入实际课时(分)" ></el-input> </el-form-item> <el-form-item label="考试成绩:" prop="score" > - <el-input v-model.trim="state.form.score" :disabled="disabled" placeholder="请输入考试成绩" ></el-input> + <el-input v-model.trim="state.form.score" + @input="state.form.score = state.form.score + .replace(/[^0-9.]/g, '') + .replace(/(\..*)\./g, '$1') + .replace(/^(-?\d+\.?\d*).*/, '$1')" + :disabled="disabled" placeholder="请输入考试成绩" ></el-input> </el-form-item> <el-form-item label="是否合格:" prop="passed" > <el-radio-group v-model="state.form.passed" :disabled="disabled"> @@ -369,7 +384,7 @@ // state.form.files = [] ElMessage({ type: 'warning', - message: res.message + message: response.message }) } } diff --git a/src/views/work/onlineEducation/offlineEducation/index.vue b/src/views/work/onlineEducation/offlineEducation/index.vue index 2a9bd04..a4aab55 100644 --- a/src/views/work/onlineEducation/offlineEducation/index.vue +++ b/src/views/work/onlineEducation/offlineEducation/index.vue @@ -73,10 +73,14 @@ <span>{{scope.row.passed == 0 ? '不合格':'合格'}}</span> </template> </el-table-column> - <el-table-column label="培训记录" prop="passed" align="center" width="130"> + <el-table-column label="培训记录" prop="passed" align="center" width="180"> <template #default="scope"> <div v-for="item in scope.row.files" style="display: flex;flex-direction: column"> - <el-link type="primary" @click="openFile(item.filePath)">{{item.fileName}}</el-link> + <div style="display: flex;flex-direction: column;align-items: center"> + <el-link type="primary" @click="openFile(item.filePath)">{{item.fileName}}</el-link> + <el-button style="width: 50px;margin-bottom: 5px" size="small" @click="downloadFile(item)">下载</el-button> + </div> + </div> </template> @@ -111,6 +115,8 @@ import {delStudent, getStudent} from "@/api/onlineEducation/student"; import {delRecord, getRecord} from "@/api/onlineEducation/examRecord"; import {renderAsync} from "docx-preview"; +import axios from "axios"; +import {getToken} from "@/utils/auth"; const { proxy } = getCurrentInstance(); @@ -236,5 +242,23 @@ } } } - +const downloadFile = (e)=>{ + axios.get(import.meta.env.VITE_APP_BASE_API + '/' +e.filePath,{headers:{'Content-Type': 'application/json','Authorization': `${getToken()}`},responseType: 'blob'}).then(res=>{ + if (res) { + const link = document.createElement('a') + let blob = new Blob([res.data],{type: res.data.type}) + link.style.display = "none"; + link.href = URL.createObjectURL(blob); // 创建URL + link.setAttribute("download", e.fileName); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } else { + ElMessage({ + type: 'warning', + message: '文件读取失败' + }); + } + }) +} </script> -- Gitblit v1.9.2