diff --git a/.env b/.env index 409b9fb6..0e44dad6 100644 --- a/.env +++ b/.env @@ -45,5 +45,7 @@ VUE_APP_H5=//u-pre.boe.com/student-h5 VUE_APP_AVATAR_PATH=/upload/ # 旧版管理员界面 VUE_APP_OLD_MANAGE=//u-pre.boe.com/resource/index.html +# 测评管理界面 +VUE_APP_EVA_MANAGE=//u-pre.boe.com/quiz/index.html # 批量面授报名模板 VUE_APP_FACE_STUDENT_TEMPLATE=批量面授报名模版-1673963663229.xlsx \ No newline at end of file diff --git a/.env.prod b/.env.prod index 6d9bc76a..7e8fe59a 100644 --- a/.env.prod +++ b/.env.prod @@ -34,5 +34,7 @@ VUE_APP_FILE_PATH=/upload/boe/file/ VUE_APP_AVATAR_PATH=/upload/ # 旧版管理员界面 VUE_APP_OLD_MANAGE=//u.boe.com/resource/index.html +# 测评管理界面 +VUE_APP_EVA_MANAGE=//u.boe.com/quiz/index.html # 批量面授报名模板 VUE_APP_FACE_STUDENT_TEMPLATE=/file/批量面授报名模版-1679595925822.xlsx \ No newline at end of file diff --git a/.env.release b/.env.release index a38aecf3..4b339986 100644 --- a/.env.release +++ b/.env.release @@ -26,5 +26,7 @@ VUE_APP_H5=//u.boe.com/student-h5-release VUE_APP_AVATAR_PATH=/upload/ # 旧版管理员界面 VUE_APP_OLD_MANAGE=//u-pre.boe.com/resource/index.html +# 测评管理界面 +VUE_APP_EVA_MANAGE=//u-pre.boe.com/quiz/index.html # 批量面授报名模板 VUE_APP_FACE_STUDENT_TEMPLATE=批量面授报名模版-1673963663229.xlsx \ No newline at end of file diff --git a/src/api/configPublic.js b/src/api/configPublic.js index 82159f4b..d5345e8e 100644 --- a/src/api/configPublic.js +++ b/src/api/configPublic.js @@ -61,3 +61,6 @@ http.interceptors.response.use( ); export default http; +export function timeoutUpload(uploadTime) { + http.defaults.timeout = uploadTime; +} \ No newline at end of file diff --git a/src/api/evaluation.js b/src/api/evaluation.js new file mode 100644 index 00000000..b1f85161 --- /dev/null +++ b/src/api/evaluation.js @@ -0,0 +1,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 importList = (obj) => http.post(`${ACTIVITYAPI}/evaluation/import`,obj, { + headers: { "Content-Type": "multipart/form-data",token:getCookieForName("token") }, +}) +//保存 +export const save = (obj) => http.post(`${ACTIVITYAPI}/evaluation/save`,obj) +//保存测评详情 +export const saveEvaluationDetail = (obj) => http.post(`${ACTIVITYAPI}/evaluation/detail/saveEvaluationDetail`,obj) +//测评封面上传 +export const uploadImage = (obj) => http.post(`${ACTIVITYAPI}/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 updateStatus = (obj) => http.post(`${ACTIVITYAPI}/permission/updateStatus`,obj) +//测评删除 +export const deleteList = (obj) => http.post(`${ACTIVITYAPI}/evaluation/delete`,obj) +//测评详情展示 +export const getPage = (obj) => http.post(`${ACTIVITYAPI}/evaluation/detail/getPage`,obj) +//测评详情删除 +export const deleteById = (obj) => http.post(`${ACTIVITYAPI}/evaluation/detail/deleteById`,obj) +//测评清空 +export const clear = (obj) => http.post(`${ACTIVITYAPI}/evaluation/clear`,obj) +//保存启用的人员信息 +export const savePermission = (obj) => http.post(`${ACTIVITYAPI}/permission/savePermission`,obj) +//权限列表 +export const saveLists = (obj) => http.post(`${ACTIVITYAPI}/permission/list`,obj) +//删除配置管理 +export const deleteId = (obj) => http.post(`${ACTIVITYAPI}/permission/delete`,obj) + diff --git a/src/assets/images/evaluation/authority.png b/src/assets/images/evaluation/authority.png new file mode 100644 index 00000000..c3e97a06 Binary files /dev/null and b/src/assets/images/evaluation/authority.png differ diff --git a/src/assets/images/evaluation/check.png b/src/assets/images/evaluation/check.png new file mode 100644 index 00000000..bca4cf3e Binary files /dev/null and b/src/assets/images/evaluation/check.png differ diff --git a/src/assets/images/evaluation/delete.png b/src/assets/images/evaluation/delete.png new file mode 100644 index 00000000..cca1914b Binary files /dev/null and b/src/assets/images/evaluation/delete.png differ diff --git a/src/assets/images/evaluation/download.png b/src/assets/images/evaluation/download.png new file mode 100644 index 00000000..5b2923b3 Binary files /dev/null and b/src/assets/images/evaluation/download.png differ diff --git a/src/assets/images/evaluation/edit.png b/src/assets/images/evaluation/edit.png new file mode 100644 index 00000000..a4f666f3 Binary files /dev/null and b/src/assets/images/evaluation/edit.png differ diff --git a/src/assets/images/evaluation/empty.png b/src/assets/images/evaluation/empty.png new file mode 100644 index 00000000..7ad509b4 Binary files /dev/null and b/src/assets/images/evaluation/empty.png differ diff --git a/src/assets/images/evaluation/release.png b/src/assets/images/evaluation/release.png new file mode 100644 index 00000000..fe19d695 Binary files /dev/null and b/src/assets/images/evaluation/release.png differ diff --git a/src/assets/images/evaluation/upload.png b/src/assets/images/evaluation/upload.png new file mode 100644 index 00000000..c884119f Binary files /dev/null and b/src/assets/images/evaluation/upload.png differ diff --git a/src/assets/images/evaluation/uploads.png b/src/assets/images/evaluation/uploads.png new file mode 100644 index 00000000..ab900d3b Binary files /dev/null and b/src/assets/images/evaluation/uploads.png differ diff --git a/src/components/BreadCrumb.vue b/src/components/BreadCrumb.vue index 5d0f2c03..4f84ee0b 100644 --- a/src/components/BreadCrumb.vue +++ b/src/components/BreadCrumb.vue @@ -538,6 +538,29 @@ }, ]; } + if (n.indexOf("/evaluationupload") !== -1 || n.indexOf("/EvaluationUpload") !== -1) { + state.list = [ + { + name: "测评", + }, + { + name: '测评报告' + } + ]; + } + if (n.indexOf("/evadown") !== -1 || n.indexOf("/EvaDown") !== -1) { + state.list = [ + { + name: "测评", + }, + { + name: '测评报告' + }, + { + name: route.query.name + } + ]; + } if (n.indexOf("/download") !== -1 || n.indexOf("/download") !== -1) { state.list = [ { diff --git a/src/components/NavLeft.vue b/src/components/NavLeft.vue index 2f3a2ecd..2dd78605 100644 --- a/src/components/NavLeft.vue +++ b/src/components/NavLeft.vue @@ -422,6 +422,35 @@ 问答管理 + + + + + + + 测评 + + + 测评上传 + + + + 测评管理 + + 问答 + + 测评 + 旧版 @@ -698,7 +730,8 @@ export default { "sub19", "sub20", "sub21", - "sub22" + "sub22", + "sub23", ], openKeys: localStorage.getItem("openKeys") ? JSON.parse(localStorage.getItem("openKeys")) @@ -908,6 +941,12 @@ export default { selectedKeys: "sub14", pagename: "问答管理", }, + { + href: "/evaluationupload", + openKeys: "sub23", + selectedKeys: "sub23-1", + pagename: "测评上传", + }, { href: "/download", openKeys: "sub15", @@ -1009,7 +1048,8 @@ export default { }, ], - oldManage: window.location.protocol + process.env.VUE_APP_OLD_MANAGE + oldManage: window.location.protocol + process.env.VUE_APP_OLD_MANAGE, + evaluationManagement: window.location.protocol + process.env.VUE_APP_EVA_MANAGE }); const onOpenChange = (openKeys) => { diff --git a/src/components/drawers/project/ProjectEvalManage.vue b/src/components/drawers/project/ProjectEvalManage.vue index d124f7cb..263ae968 100644 --- a/src/components/drawers/project/ProjectEvalManage.vue +++ b/src/components/drawers/project/ProjectEvalManage.vue @@ -430,10 +430,7 @@ export default { // 导出数据 function exportTaskStu() { - if(!props.datasource.projectTaskId){ - props.datasource.projectTaskId = '' - } - window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.projectTaskId}&taskType=${props.datasource.type}`) + window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`) // window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?pageNo=${state.currentPage}&pageSize=${state.pageSize}¤tStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.projectTaskId}&status=${state.name}&studentName=${state.projectName}`) } diff --git a/src/store/index.js b/src/store/index.js index 637acc6f..ad00bc57 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -67,6 +67,8 @@ export default createStore({ }, SET_PERMISSION(state, permissions) { state.menus = permissions; + state.menus = [...permissions,'/evaluationupload']; + console.log(state.menus,"state.menus"); } }, diff --git a/src/views/evaluation/EvaDown.vue b/src/views/evaluation/EvaDown.vue new file mode 100644 index 00000000..cda8484d --- /dev/null +++ b/src/views/evaluation/EvaDown.vue @@ -0,0 +1,329 @@ + + + + + + 返回 + + + + + + + + 全量下载 + + + + + + + + + 搜索 + + + + 重置 + + + + + + + + + + 下载 + + + + + + 删除 + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/evaluation/evaluationUpload.vue b/src/views/evaluation/evaluationUpload.vue new file mode 100644 index 00000000..ef0a986f --- /dev/null +++ b/src/views/evaluation/evaluationUpload.vue @@ -0,0 +1,2098 @@ + + + + + + 报告上传 + + + + + + + + + + + + 搜索 + + + + 重置 + + + + + + + + + + + + 查看 + + + + + + 上传 + + + + + + 下载 + + + + + + 更多 + + + + + + + + 编辑 + + + + + + 权限设置 + + + + + + 删除 + + + + + + 清空 + + + + + + + + + + + + + + + + + + + + + + 测评报告{{formData.id&&btShow?'编辑':'上传'}} + + + + + + + + + 测评标题 + + + + + + + 测评封面图片 + + + + + + + + + + + + 高宽比为16:9(如:800*450) + png或jpg图片 + 不要大于2M + + + + + 上传说明 + + + 1、仅支持1个zip压缩包和pdf报告上传; + 2、单个附件命名规则:测评名称+姓名+工号(名称中间用英文输入法-连接)例如:大五职业性格测评-李玉冰-00004409.pdf + + + + + + + + + 报告上传 + + + + + 选择文件 + + + + + + + + + + + + {{ item.name }} + + + + + + + {{ {uploading: '正在上传', done: '上传完成', error: '上传失败'}[item.status] || '' }} + + + + {{ item.status === 'uploading' ? parseInt(item.percent) : 100 }}% + + + + + 删除 + + + + + + 备注 + + + + + + + + + + + + + + + + + + 分配普通管理员 + + + + + 状态 + + + + + + + + + 搜索 + + + 添加 + + + + + + + + + 启用 + + + 禁用 + + + 删除 + + + 修改权限 + + + + + + + + + + + + + + + + + + + + + 上传结果 + 上传的测评报告总文件数{{totalNumber.totalEntries}}个,成功{{totalNumber.successfulEntries}}个,失败{{totalNumber.failedEntries}}个;上传结果请下载查看! + + + + + + + + + + + + + + 添加普通管理员 + + + + + + + + + + + 搜索 + + + + 重置 + + + + + + + + + 权限配置 + + + 启用 + + + 删除 + + + + + + + + + + + + + + + + + + 权限配置 + + + + + + + + 查看 + + + 上传 + + + 清空 + + + 编辑 + + + 下载 + + + 删除 + + + + + + + + + + + + + + + 权限配置 + + + + + + + + 查看 + + + 上传 + + + 清空 + + + 编辑 + + + 下载 + + + 删除 + + + + + + + + + + + + + + + + \ No newline at end of file