diff --git a/src/components/student/OnlineClassModelStudent.vue b/src/components/student/OnlineClassModelStudent.vue index e9d7dcff..34b6c72c 100644 --- a/src/components/student/OnlineClassModelStudent.vue +++ b/src/components/student/OnlineClassModelStudent.vue @@ -93,6 +93,7 @@ 导出详细学习记录 @@ -331,12 +332,14 @@ function exportStu() { window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportOnlineStudent?type=3&&thirdType=8&pid=${searchParams.value.pid}`); } +const exportLoading = ref(false) + const exportStudy = async () => { if(studentList.value.length == 0){ return message.warning('暂无可导出的学习记录') } - console.log("开始执行 gx 刷新"); - downLoadXlsx(`${process.env.VUE_APP_BASE_API}/admin/student/exportOnlineStudentDetail?type=4&&thirdType=8&pid=${searchParams.value.pid}`,'在线课学员学习记录'); + exportLoading.value = true; + downLoadXlsx(`${process.env.VUE_APP_BASE_API}/admin/student/exportOnlineStudentDetail?type=4&&thirdType=8&pid=${searchParams.value.pid}`,'在线课学员学习记录',exportLoading); } defineExpose({ searchStu, diff --git a/src/utils/zipdownload.js b/src/utils/zipdownload.js index 59cd11ab..539ccbd9 100644 --- a/src/utils/zipdownload.js +++ b/src/utils/zipdownload.js @@ -1,19 +1,21 @@ import axios from 'axios' import {getCookieForName} from "@/api/method"; +import { ref } from 'vue'; const mimeMap = { xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', zip: 'application/zip' } -export function downLoadXlsx(str, filename) { - await axios({ - method: 'get', - url: str, - responseType: 'blob', - headers: { 'Authorization': 'Bearer ' + getCookieForName("token") } - }).then(res => { +export const downLoadXlsx = async (str, filename,exportLoading) => { + const res = await axios({ + method: 'get', + url: str, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getCookieForName("token") } + }); resolveBlob(res, mimeMap.xlsx,filename) - }) + exportLoading.value = false; + return { exportLoading }; } const baseUrl = process.env.VUE_APP_ACT_API export function downLoadZip(str, filename) {