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