diff --git a/.env b/.env index 0e44dad6..e1aa8cf2 100644 --- a/.env +++ b/.env @@ -4,6 +4,8 @@ VUE_APP_BASE=/manage VUE_APP_BASE_API=/manageApi # systemApi VUE_APP_SYS_API=/systemapi +# activityApi +VUE_APP_ACT_API=/activityApi # 教师节上传图片文件夹id VUE_APP_PIC_FOLDERID=1147577187794841600 # 教师节上传zip文件夹id diff --git a/src/api/evaluation.js b/src/api/evaluation.js index b1f85161..191a5b84 100644 --- a/src/api/evaluation.js +++ b/src/api/evaluation.js @@ -3,35 +3,37 @@ import http from "./configPublic"; const ACTIVITYAPI = '/activityApi' import {getCookieForName} from "@/api/method"; //查询测评 -export const list = (obj) => http.post(`${ACTIVITYAPI}/evaluation/list`,obj) +export const list = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/list`,obj) //导入 -export const importList = (obj) => http.post(`${ACTIVITYAPI}/evaluation/import`,obj, { +export const importList = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/import`,obj, { headers: { "Content-Type": "multipart/form-data",token:getCookieForName("token") }, }) //保存 -export const save = (obj) => http.post(`${ACTIVITYAPI}/evaluation/save`,obj) +export const save = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/save`,obj) //保存测评详情 -export const saveEvaluationDetail = (obj) => http.post(`${ACTIVITYAPI}/evaluation/detail/saveEvaluationDetail`,obj) +export const saveEvaluationDetail = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/detail/saveEvaluationDetail`,obj) //测评封面上传 -export const uploadImage = (obj) => http.post(`${ACTIVITYAPI}/evaluation/upload-image`,obj,{ +export const uploadImage = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/upload-image`,obj,{ headers: { "Content-Type": "multipart/form-data",token:getCookieForName("token") }, }) //权限管理 -export const adminList = (obj) => http.post(`${ACTIVITYAPI}/permission/adminList`,obj) +export const adminList = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/permission/adminList`,obj) //权限启用 -export const updateStatus = (obj) => http.post(`${ACTIVITYAPI}/permission/updateStatus`,obj) +export const updateStatus = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/permission/updateStatus`,obj) //测评删除 -export const deleteList = (obj) => http.post(`${ACTIVITYAPI}/evaluation/delete`,obj) +export const deleteList = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/delete`,obj) //测评详情展示 -export const getPage = (obj) => http.post(`${ACTIVITYAPI}/evaluation/detail/getPage`,obj) +export const getPage = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/detail/getPage`,obj) //测评详情删除 -export const deleteById = (obj) => http.post(`${ACTIVITYAPI}/evaluation/detail/deleteById`,obj) +export const deleteById = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/detail/deleteById`,obj) //测评清空 -export const clear = (obj) => http.post(`${ACTIVITYAPI}/evaluation/clear`,obj) +export const clear = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/evaluation/clear`,obj) //保存启用的人员信息 -export const savePermission = (obj) => http.post(`${ACTIVITYAPI}/permission/savePermission`,obj) +export const savePermission = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/permission/savePermission`,obj) //权限列表 -export const saveLists = (obj) => http.post(`${ACTIVITYAPI}/permission/list`,obj) +export const saveLists = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/permission/list`,obj) //删除配置管理 -export const deleteId = (obj) => http.post(`${ACTIVITYAPI}/permission/delete`,obj) +export const deleteId = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/permission/delete`,obj) +//普通管理员权限 +export const getByUserId = (obj) => http.post(`${process.env.VUE_APP_ACT_API}/permission/getByUserId`,obj) diff --git a/src/components/drawers/router/RouterFaceStu.vue b/src/components/drawers/router/RouterFaceStu.vue index 2203721c..a03cb60a 100644 --- a/src/components/drawers/router/RouterFaceStu.vue +++ b/src/components/drawers/router/RouterFaceStu.vue @@ -512,7 +512,7 @@ const qrcodeVisibleSign = () => { courseName: props.courseName, createName: data.value[coursePlanIndex.value].offteachers.map(teacher => teacher.teacherName).join(', '), name: signName + '课程签到', - url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/admin/student/studentSign?taskId=${taskId}&taskType=${2}&type=${3}`, + url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/admin/student/studentSign?taskId=${taskId}&taskType=${2}&type=${3}&openCourseId=${taskId}`, }); } // qrCode({ diff --git a/src/store/index.js b/src/store/index.js index ad00bc57..637acc6f 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -67,8 +67,6 @@ export default createStore({ }, SET_PERMISSION(state, permissions) { state.menus = permissions; - state.menus = [...permissions,'/evaluationupload']; - console.log(state.menus,"state.menus"); } }, diff --git a/src/utils/zipdownload.js b/src/utils/zipdownload.js new file mode 100644 index 00000000..d42e85c2 --- /dev/null +++ b/src/utils/zipdownload.js @@ -0,0 +1,36 @@ +import axios from 'axios' +import {getCookieForName} from "@/api/method"; + +const mimeMap = { + xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + zip: 'application/zip' +} + +const baseUrl = process.env.VUE_APP_ACT_API +export function downLoadZip(str, filename) { + var url = baseUrl + str + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getCookieForName("token") } + }).then(res => { + resolveBlob(res, mimeMap.zip,filename) + }) +} +/** + * 解析blob响应内容并下载 + * @param {*} res blob响应内容 + * @param {String} mimeType MIME类型 + */ +export function resolveBlob(res, mimeType,filename) { + const link = document.createElement('a');// 创建a标签 + let blob = new Blob([res.data], { type: mimeType }); // 设置文件类型 + link.style.display = "none"; + link.href = URL.createObjectURL(blob); // 创建URL + link.setAttribute("download", `${filename}`); + document.body.appendChild(link); + link.click(); + URL.revokeObjectURL(link.href); + document.body.removeChild(link); +} diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue index d6d7ce2d..f43b2915 100644 --- a/src/views/courselibrary/CoursewareManage.vue +++ b/src/views/courselibrary/CoursewareManage.vue @@ -5118,7 +5118,9 @@ function onFocusEnd(){ : process.env.VUE_APP_BASE_API + `/admin/student/studentSign?taskId=${ record.id - }&taskType=${2}&type=${3}`, + }&taskType=${2}&type=${3}&openCourseId=${ + record.id + }`, }; console.log("codeInfo", state.codeInfo, record); state.codeIndex = 0; diff --git a/src/views/evaluation/EvaDown.vue b/src/views/evaluation/EvaDown.vue index cda8484d..a502f703 100644 --- a/src/views/evaluation/EvaDown.vue +++ b/src/views/evaluation/EvaDown.vue @@ -69,6 +69,7 @@ import { useRoute } from "vue-router"; import { message } from "ant-design-vue"; import { useStore } from "vuex"; import {boeRequest} from "@/api/request"; +import {downLoadZip} from "@/utils/zipdownload"; export default { name: "evadown", components: {}, @@ -165,7 +166,8 @@ import {boeRequest} from "@/api/request"; message.info('请先上传报告') return } - window.open(`/activityApi/evaluation/download?id=${route.query.id}`); + // window.open(`/activityApi/evaluation/download?id=${route.query.id}`); + downLoadZip(`/evaluation/download?id=${route.query.id}`,route.query.name) } const listData = async () => { state.tableLoading = true diff --git a/src/views/evaluation/evaluationUpload.vue b/src/views/evaluation/evaluationUpload.vue index ef0a986f..ebc804e7 100644 --- a/src/views/evaluation/evaluationUpload.vue +++ b/src/views/evaluation/evaluationUpload.vue @@ -49,6 +49,69 @@ :pagination="false" > +
@@ -161,7 +224,7 @@
+ :before-upload="beforeUpload" @change="handleChangeImg"> avatar
@@ -177,15 +240,13 @@
-
-
上传说明
+
+
备注
- - 1、仅支持1个zip压缩包和pdf报告上传;
- 2、单个附件命名规则:测评名称+姓名+工号(名称中间用英文输入法-连接)例如:大五职业性格测评-李玉冰-00004409.pdf -
+
+
@@ -204,7 +265,7 @@ :show-upload-list="false" :before-upload="beforeUpload3" @change="handleChange" - action="/activityApi/evaluation/import" + :action="activeUrl" :data="uploadParameters" ref="uploadRef" > @@ -215,14 +276,49 @@
-
+ + + + + + + +
@@ -235,9 +331,12 @@ :class="`${{uploading: 'updatacolor3', done: 'updatacolor' ,error: 'updatacolor2'}[item.status] || 'updatacolor'}`" :style="{width:`${item.status==='uploading'?parseInt(item.percent):100}%`}">
- {{ {uploading: '正在上传', done: '上传完成', error: '上传失败'}[item.status] || '' }} + {{ {uploading: '正在上传', done: '上传完成', error: '报告错误'}[item.status] || '' }} + + 下载 +
@@ -245,16 +344,22 @@
-
- 删除 +
+ + + +
-
+
-->
-
-
备注
+
+
上传说明
- + + 1、仅支持1个zip压缩包和pdf报告上传;
+ 2、单个附件命名规则:测评名称+姓名+工号(名称中间用英文输入法-连接)例如:大五职业性格测评-李玉冰-00004409.pdf +
上传结果
-
上传的测评报告总文件数{{totalNumber.totalEntries}}个,成功{{totalNumber.successfulEntries}}个,失败{{totalNumber.failedEntries}}个;
上传结果请下载查看!
+
上传的测评报告总文件数{{totalNumber.totalEntries}}个,成功{{totalNumber.successfulEntries}}个,失败{{totalNumber.failedEntries}}个;
请点击"记录下载"查看!
@@ -511,15 +618,17 @@
-
+
-