diff --git a/src/api/index1.js b/src/api/index1.js index 9c103b32..574be75b 100644 --- a/src/api/index1.js +++ b/src/api/index1.js @@ -91,6 +91,8 @@ export const editLearnInfo = (obj) => http.post('/admin/router/editInfo', obj) export const scoreRank = (params) => http.get('/points/top/list', { params }) // 项目进度排行 export const completionRank = (params) => http.get('/stu/project/rank_list/completion_list', { params }) +// 项目学时排行榜 +export const studytimeRank = (params) => http.get('/stu/project/rank_list/study_time_list', { params }) //排行榜 export const billboard = (obj) => http.post("/admin/project/billboard", obj); //项目基础信息----------------------------------- diff --git a/src/api/indexExam.js b/src/api/indexExam.js index 9f3bdbeb..8ecca77d 100644 --- a/src/api/indexExam.js +++ b/src/api/indexExam.js @@ -22,4 +22,6 @@ export const queryExaminationAloneExtendList = (obj) => http.post('/examination/ // 对接三方考试任务保存接口-三方 export const examinationTaskSave = (obj) => http.post('/examination/examinationTaskSave', obj); //编辑考试信息 -export const updateExamination = (obj) => http.post('/examination/updateExamination', obj); \ No newline at end of file +export const updateExamination = (obj) => http.post('/examination/updateExamination', obj); +//编辑外部考试信息 +export const updateExternalExam = (obj) => http.post('/external/exam/updateExternalExam', obj); diff --git a/src/components/drawers/AddTest.vue b/src/components/drawers/AddTest.vue index e1ee545c..65f4d923 100644 --- a/src/components/drawers/AddTest.vue +++ b/src/components/drawers/AddTest.vue @@ -17,21 +17,44 @@
- - +
+ + + +
+
+ + + +
+
@@ -48,6 +71,7 @@
选择试卷:
-
- + {{ paperName }} @@ -122,6 +146,7 @@
允许重复考试: -
@@ -218,6 +247,7 @@
@@ -236,6 +266,7 @@
@@ -256,6 +287,7 @@
@@ -366,6 +398,8 @@ import {message} from "ant-design-vue"; import { createExamination, queryExaminationDetailById, + updateExamination, + updateExternalExam } from "@/api/indexExam"; // updateExamination, import STest from "./SelectTest.vue"; @@ -496,6 +530,12 @@ export default { scoringModel: 2, questionArrangement: 4, }; + + state.test1 = { + externalName: '', + source: '', + externalExplain: null + } }; const closeDrawer = () => { @@ -522,7 +562,7 @@ export default { console.log("props", props); if (props.addtestVisible && props.EditTestId && props.EditTestId >0) { // 该页面显示同时 edit为true 时,发送查询请求, - // queryTest(); + queryTest(); } if (bool) { state.test.showAnswers = 1; @@ -541,22 +581,36 @@ export default { const queryTest = () => { queryExaminationDetailById({examinationId: props.EditTestId}) .then((res) => { - state.test = res.data.data; - state.test.showAnswers = Number(state.test.showAnswers); - state.test.showAnalysis = Number(state.test.showAnalysis); - state.test.scoringModel = Number(state.test.scoringModel); - state.test.questionArrangement = Number( - state.test.questionArrangement - ); - state.test.chooseTime = [ - dayjs(res.data.data.examinationStartTime, "YYYY-MM-DD HH:mm"), - dayjs(res.data.data.examinationEndTime, "YYYY-MM-DD HH:mm"), - ]; - state.paperName = state.test.examinationTestName; - // state.paperId=dayjs - state.paperId = state.test.examinationTestId; + console.log(res) + // 判断获取的考试 + if(res.data.data.examType==2){ + state.isOuter = 2; + // 外部考试 + state.test1 = { + externalName: res.data.data.examinationName, + source: res.data.data.source, + externalExplain: res.data.data.examinationExplain + } + }else{ + // 系统考试 + state.isOuter = 1; + state.test = res.data.data; + state.test.showAnswers = Number(state.test.showAnswers); + state.test.showAnalysis = Number(state.test.showAnalysis); + state.test.scoringModel = Number(state.test.scoringModel); + state.test.questionArrangement = Number( + state.test.questionArrangement + ); + state.test.chooseTime = [ + dayjs(res.data.data.examinationStartTime, "YYYY-MM-DD HH:mm"), + dayjs(res.data.data.examinationEndTime, "YYYY-MM-DD HH:mm"), + ]; + state.paperName = state.test.examinationTestName; + // state.paperId=dayjs + state.paperId = state.test.examinationTestId; - console.log("querytest", state.test); + console.log("querytest", state.test); + } }) .catch(() => { //message.error(`查询失败`); @@ -630,18 +684,18 @@ export default { - // if (props.EditTestId > 0) { - // // 编辑任务 - // updateExamination(state.test) - // .then(async (res) => { - // await updateTask(res); - // // closeDrawer(); - // }) - // .catch(() => { - // message.destroy(); - // message.error(`编辑失败`); - // }); - // } else { + if (props.EditTestId > 0) { + // 编辑任务 + updateExamination(state.test) + .then(async (res) => { + await updateTask(res); + // closeDrawer(); + }) + .catch(() => { + message.destroy(); + message.error(`编辑失败`); + }); + } else { // 创建任务 createExamination(state.test) .then(async (res) => { @@ -652,7 +706,7 @@ export default { message.destroy(); message.error(`创建失败`); }); - // } + } }else{ // 创建外部考试 console.log('我是点了外部考试') @@ -687,14 +741,34 @@ export default { } } - // 新建外部考试 - CreateExternalExam(state.test1).then( async res=>{ - console.log(res) - // 添加更新到任务 - await updateTask1(res); - }).catch(err=>{ - console.log(err) - }) + + if (props.EditTestId > 0) { + console.log('我要开始编辑外部考试任务了 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊') + let obj = { + examinationId:props.EditTestId, + examinationName:state.test1.externalName, + examinationExplain:state.test1.externalExplain, + source:state.test1.source + } + updateExternalExam(obj) + .then(async (res) => { + await updateTask1(res); + // closeDrawer(); + }) + .catch(() => { + message.destroy(); + message.error(`编辑失败`); + }); + }else{ + // 新建外部考试 + CreateExternalExam(state.test1).then( async res=>{ + console.log('新建外部考试返回的参数',res) + // 添加更新到任务 + await updateTask1(res); + }).catch(err=>{ + console.log(err) + }) + } } }; // 系统考试 @@ -711,6 +785,7 @@ export default { return message.warning("请先选中关卡"); } let editObj1 = { + examType: 1, chapterId: props.isactive, duration: res.data.data.examinationDuration, courseId: res.data.data.examinationId, @@ -732,6 +807,7 @@ export default { }); } else if (props.isLevel == 2) { let editObj = { + examType: 1, courseId: res.data.data.examinationId, duration: res.data.data.examinationDuration, name: res.data.data.examinationName, @@ -753,6 +829,7 @@ export default { }); } else if (props.isLevel == 3) { addTempTask({ + examType: 1, courseId: res.data.data.examinationId, duration: res.data.data.examinationDuration, name: res.data.data.examinationName, @@ -775,9 +852,9 @@ export default { }; // 外部考试 const updateTask1 = (res) => { - state.EditTestId = res.data.data.externalId; + state.EditTestId = res.data.data.examinationId; if (props.faceLevel) { - state.EditTestId = res.data.data.externalId; + state.EditTestId = res.data.data.examinationId; state.paperName = ""; closeDrawer(); } else { @@ -787,9 +864,10 @@ export default { return message.warning("请先选中关卡"); } let editObj1 = { + examType: 2, chapterId: props.isactive, - courseId: res.data.data.externalId, - name: res.data.data.externalName, + courseId: res.data.data.examinationId, + name: res.data.data.examinationName, routerId: props.routerId, routerTaskId: props.routerTaskId || 0, type: 5, @@ -807,8 +885,9 @@ export default { }); } else if (props.isLevel == 2) { let editObj = { - courseId: res.data.data.externalId, - name: res.data.data.externalName, + examType: 2, + courseId: res.data.data.examinationId, + name: res.data.data.examinationName, projectId: props.projectId, projectTaskId: props.projectTaskId || 0, stageId: props.chooseStageId || 0, @@ -827,8 +906,9 @@ export default { }); } else if (props.isLevel == 3) { addTempTask({ - courseId: res.data.data.externalId, - name: res.data.data.externalName, + examType: 2, + courseId: res.data.data.examinationId, + name: res.data.data.examinationName, projectTemplateId: props.projectTemplateId, projectTaskId: props.projectTaskId || 0, stageId: props.chooseStageId || 0, diff --git a/src/components/drawers/CheckStu.vue b/src/components/drawers/CheckStu.vue index 56d52bae..5c286b41 100644 --- a/src/components/drawers/CheckStu.vue +++ b/src/components/drawers/CheckStu.vue @@ -47,20 +47,19 @@ /{{pro.totalReqCnt}}
- +
{{ pro.name }}
diff --git a/src/components/drawers/ExportAchievement.vue b/src/components/drawers/ExportAchievement.vue index e00e50ff..efe4e941 100644 --- a/src/components/drawers/ExportAchievement.vue +++ b/src/components/drawers/ExportAchievement.vue @@ -37,7 +37,7 @@ :showUploadList="false" :data="{ type: type, - targetId: Number(id), + targetId: Number(targetId), chapterId:chapterId, taskId:taskId }" @@ -235,7 +235,7 @@ const state = reactive({ fileType: ["xls", "xlsx"], importScore: - process.env.VUE_APP_BASE_API + "/admin/external/exam/manage/importExternalExamScore", + process.env.VUE_APP_BASE_API + "/admin/external/exam/manage/ImportExternalScore", uploadpercent: -1, uploadErr: false, //上传失败 addLoading: false, @@ -250,6 +250,7 @@ template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE }); const closeDrawer = () => { + ctx.emit("closeDraw",true); ctx.emit("update:eScorevisibleExternalExternal", false); state.fileList = []; state.uploadpercent = -1; @@ -286,6 +287,13 @@ if (status === "done") { state.fileName = info.file.name; let i = 0; + let timeouts = setTimeout(() => { + clearInterval(timer) + state.addLoading = false; + message.destroy(); + message.error(`文件导入超时`); + }, 30000); + let timer = setInterval(() => { let uid = info.file.response.data; api @@ -306,25 +314,18 @@ state.downloadErrUrl = res.data.data.url; console.log("props.getStudent", props.getStudent); clearInterval(timer); + clearTimeout(timeouts); } - }else{ - state.addLoading = false; - message.destroy(); - message.error(`文件导入超时`); } }) .catch((err) => { state.addLoading = false; clearInterval(timer); + clearTimeout(timeouts); console.log("查询导入状态失败", err); }); }, 500); - setTimeout(() => { - clearInterval(timer) - state.addLoading = false; - message.destroy(); - message.error(`文件导入超时`); - }, 30000); + } else if (status === "error") { state.uploadErr = true; message.error(`${info.file.name}上传失败`); diff --git a/src/components/drawers/SeeStu.vue b/src/components/drawers/SeeStu.vue index 3c073df3..64c4df78 100644 --- a/src/components/drawers/SeeStu.vue +++ b/src/components/drawers/SeeStu.vue @@ -48,22 +48,21 @@ /{{ totalReqCnt }}
- +
{{ name }}
diff --git a/src/components/drawers/project/ProjectExternalExamManage.vue b/src/components/drawers/project/ProjectExternalExamManage.vue index 0c803a56..dde5557c 100644 --- a/src/components/drawers/project/ProjectExternalExamManage.vue +++ b/src/components/drawers/project/ProjectExternalExamManage.vue @@ -116,10 +116,11 @@
@@ -320,7 +321,7 @@ align: "center", ellipsis: true, className: "h", - customRender: ({record:{status}}) => ({0:'未开始',1:'进行中',9:'已完成'}[status] || '未开始'), + customRender: ({record:{status}}) => ({0:'未开始',1:'进行中',null:'进行中',2:'已完成'}[status] || '未开始'), }, ], loadingData: true @@ -368,6 +369,7 @@ // 获取数据 function getData() { + state.loadingData = true; api.QueryExternalExamManageDetail({ chapterId: props.datasource.stageId, pageNo: state.currentPage, @@ -410,6 +412,11 @@ window.open(`${process.env.VUE_APP_BASE_API}/admin/external/exam/manage/exportExternalExam?chapterId=${props.datasource.stageId}&type=${2}&targetId=${props.datasource.projectId}&taskId=${props.datasource.projectTaskId}`) } + const closeDraw = (e) => { + console.log('我关闭了导入成绩弹框吗', e) + getData(); + } + return { ...toRefs(state), selectProjectName, @@ -422,7 +429,8 @@ searchTableData, reseatTableData, changePaginationStu, - exportData + exportData, + closeDraw }; }, }; diff --git a/src/components/drawers/project/ProjectHomeWorkManage.vue b/src/components/drawers/project/ProjectHomeWorkManage.vue index 7634364a..96ab145c 100644 --- a/src/components/drawers/project/ProjectHomeWorkManage.vue +++ b/src/components/drawers/project/ProjectHomeWorkManage.vue @@ -347,7 +347,7 @@ export default {
{text.record.workScore || text.record.workScore == 0 - ? text.record.workScore + ? text.record.workScore < 0 ?"-":text.record.workScore : "-"}
diff --git a/src/components/drawers/router/RouterExaminationExternalManage.vue b/src/components/drawers/router/RouterExaminationExternalManage.vue index 6a88cf5b..6decdfec 100644 --- a/src/components/drawers/router/RouterExaminationExternalManage.vue +++ b/src/components/drawers/router/RouterExaminationExternalManage.vue @@ -115,10 +115,11 @@ @@ -324,7 +325,7 @@ align: "center", ellipsis: true, className: "h", - customRender: ({record:{status}}) => ({0:'未开始',1:'进行中',9:'已完成'}[status] || '未开始'), + customRender: ({record:{status}}) => ({0:'未开始',1:'进行中',null:'进行中',2:'已完成'}[status] || '未开始'), }, ], loadingData: true @@ -368,9 +369,14 @@ const clearLine = () => { state.selectedRowKeys = []; }; + const closeDraw = (e) => { + console.log('我关闭了导入成绩弹框吗', e) + getData(); + } // 获取数据 function getData() { + state.loadingData = true; api.QueryExternalExamManageDetail({ chapterId: props.datasource.chapterId, pageNo: state.currentPage, @@ -425,7 +431,8 @@ searchTableData, reseatTableData, changePaginationStu, - exportData + exportData, + closeDraw }; }, }; diff --git a/src/components/drawers/router/RouterHomeworkManage.vue b/src/components/drawers/router/RouterHomeworkManage.vue index 7c2cb826..4c102d35 100644 --- a/src/components/drawers/router/RouterHomeworkManage.vue +++ b/src/components/drawers/router/RouterHomeworkManage.vue @@ -341,7 +341,7 @@ export default {
{text.record.workScore || text.record.workScore == 0 - ? text.record.workScore + ? text.record.workScore < 0 ?"-":text.record.workScore : "-"}
diff --git a/src/views/learningpath/LevelAddDetail.vue b/src/views/learningpath/LevelAddDetail.vue index fdf0686d..03cf16c0 100644 --- a/src/views/learningpath/LevelAddDetail.vue +++ b/src/views/learningpath/LevelAddDetail.vue @@ -545,7 +545,7 @@ ">
- 编辑 - - 删除 diff --git a/src/views/learningpath/LevelCheck.vue b/src/views/learningpath/LevelCheck.vue index dd17d536..e6a07608 100644 --- a/src/views/learningpath/LevelCheck.vue +++ b/src/views/learningpath/LevelCheck.vue @@ -61,8 +61,7 @@
diff --git a/src/views/projectcenter/TaskAdd.vue b/src/views/projectcenter/TaskAdd.vue index a8543b6f..1444fbd3 100644 --- a/src/views/projectcenter/TaskAdd.vue +++ b/src/views/projectcenter/TaskAdd.vue @@ -507,7 +507,7 @@ ">
- 编辑 - - 删除 diff --git a/src/views/projectcenter/TaskPage.vue b/src/views/projectcenter/TaskPage.vue index cfbfb9a3..16bf5ef4 100644 --- a/src/views/projectcenter/TaskPage.vue +++ b/src/views/projectcenter/TaskPage.vue @@ -963,6 +963,7 @@
@@ -973,7 +974,7 @@ { - if (text.record.rank == "1") { + if (text.record.index == "1") { return ( ); - } else if (text.record.rank == "2") { + } else if (text.record.index == "2") { return ( ); - } else if (text.record.rank == "3") { + } else if (text.record.index == "3") { return ( ); } else { - return
{text.record.rank}
; + return
{text.record.index}
; } }, }, @@ -2630,8 +2580,8 @@ export default { { title: "时长", - dataIndex: "jd", - key: "jd", + dataIndex: "timeStr", + key: "timeStr", width: 50, align: "center", className: "h", @@ -2811,7 +2761,11 @@ export default { const jdSelectChange1 = (e) => { console.log(e); completionRank(); - }; + } + const xsSelectChange = (e) => { + console.log(e) + studytimeRank(); + } //项目积分榜单 const scoreRank = (period, type) => { state.scoreRankLoading = true; @@ -2827,7 +2781,7 @@ export default { type: Number(state.valuestu3), // 查询类型 0 学员积分榜 1 小组积分榜 }); let obj = { - projectId: 290, // 项目id + projectId: state.projectId, // 项目id name: "", // 名字,没有则传空字符串 startTime: state.rankStartTime ? state.rankStartTime : 0, // 数据查询的起始时间 10位时间戳 endTime: state.rankEndTime ? state.rankEndTime : 0, @@ -2866,9 +2820,9 @@ export default { const completionRank = () => { state.processRankLoading = true; let obj = { - projectId: 290, // 项目id - startTime: state.rankStartTime ? state.rankStartTime : 0, // 数据查询的起始时间 10位时间戳 - endTime: state.rankEndTime ? state.rankEndTime : 0, + projectId: state.projectId, // 项目id + startTime: state.rankStartTime?state.rankStartTime:0, // 数据查询的起始时间 10位时间戳 + endTime: state.rankEndTime?state.rankEndTime:0, stageId: state.valuestu2, // 阶段ID type: Number(state.valuestu3), // 查询类型 0 学员积分榜 1 小组积分榜 }; @@ -2893,6 +2847,34 @@ export default { }); }; + // 项目学时榜单 + const studytimeRank = () => { + state.studytimeRankLoading = true; + let obj = { + projectId: state.projectId, // 项目id + startTime: state.rankStartTime?state.rankStartTime:0, // 数据查询的起始时间 10位时间戳 + endTime: state.rankEndTime?state.rankEndTime:0, + type: Number(state.valuestu4), // 查询类型 0 学员积分榜 1 小组积分榜 + } + + console.log('我是获取得项目学时排行榜--》', obj) + api.studytimeRank(obj).then(res=>{ + console.log('项目学时榜单获取',res) + if(res.data.datas){ + state.xueshitabledata = res.data.datas; + state.studytimeRankLoading = false; + }else{ + state.xueshitabledata = []; + state.studytimeRankLoading = false; + } + + }).catch(err=>{ + console.log(err) + state.xueshitabledata = []; + state.studytimeRankLoading = false; + }) + } + // 排行榜 - end const levelList = reactive({ @@ -3644,6 +3626,9 @@ export default { scoreRank(); // 获取项目进度排行榜 completionRank(); + // 获取学时排行榜 + studytimeRank(); + } else if (e == 3) { state.tabFlag = true; } else { @@ -3700,6 +3685,8 @@ export default { scoreRank(); // 获取项目进度排行榜 completionRank(); + // 获取学时排行榜 + studytimeRank(); }; //重置 const rankReset = () => { @@ -3712,6 +3699,8 @@ export default { scoreRank(); // 获取项目进度排行榜 completionRank(); + // 获取学时排行榜 + studytimeRank(); }; // end -----排行榜----------------排行榜----------------------排行榜-----------排行榜---------- @@ -5028,6 +5017,10 @@ export default { completionRank, jdSelectChange, jdSelectChange1, + + studytimeRank, + xsSelectChange + }; }, };