From 72ad8374db1f30ed8b5adaa18e0b7269110e5e1c Mon Sep 17 00:00:00 2001 From: cgd_mac <349008059@qq.com> Date: Tue, 18 Jan 2022 17:08:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AF=BE=E7=A8=8B=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 4 ++ src/api/mycourse/index.js | 22 +++++++- src/main.js | 21 ++++++++ .../mycourse/courseLearn/OperationModule.vue | 52 +++++++++++++++++++ .../mycourse/courseLearn/SimulationTest.vue | 22 +++++--- .../courseLearn/StatisticalLearning.vue | 29 +++++++++++ src/views/mycourse/courseLearn/index.vue | 11 ++-- .../mycourse/mycourseList/MyCourseList.vue | 13 +++-- src/views/mycourse/mycourseList/index.vue | 8 +-- src/views/myexamCount/index.vue | 21 +------- src/views/myexamDetail/index.vue | 12 +++++ 11 files changed, 175 insertions(+), 40 deletions(-) create mode 100644 src/views/mycourse/courseLearn/OperationModule.vue create mode 100644 src/views/mycourse/courseLearn/StatisticalLearning.vue diff --git a/src/App.vue b/src/App.vue index ad8d243..03b2554 100644 --- a/src/App.vue +++ b/src/App.vue @@ -57,4 +57,8 @@ export default { height: 100%; } +.ant-layout-footer{ + display: none; +} + diff --git a/src/api/mycourse/index.js b/src/api/mycourse/index.js index 5e190b2..a7b1bd2 100644 --- a/src/api/mycourse/index.js +++ b/src/api/mycourse/index.js @@ -10,13 +10,31 @@ const mycourseApi = { getCourseDetail: 'myCourse/getCourseDetail', // 我的课程详情 getCourseCatalogue: 'myCourse/getCourseCatalogue', // 获取课程目录 simulateTestList: 'simulateTest/list', // 模拟测试列表 - simulateTestDetail: 'simulateTest/getQuestions' // 获取模拟测试详情 + simulateTestDetail: 'simulateTest/getQuestions', // 获取模拟测试详情 + operationList: 'classwork/getDetail', // 作业列表 + getMyCourseList: 'studyStatistics/getMyCourseList' // 课程学习统计 +} + +export function reqMycourseCount (params) { + return request({ + url: mycourseApi.getMyCourseList, + method: 'get', + params: params + }) +} + +export function reqOperationList (params) { + return request({ + url: mycourseApi.operationList, + method: 'post', + params: params + }) } export function reqSimulateTestDetail (params) { return request({ url: mycourseApi.simulateTestDetail, - method: 'get', + method: 'post', params: params }) } diff --git a/src/main.js b/src/main.js index 4ec5d4d..ffdba7f 100644 --- a/src/main.js +++ b/src/main.js @@ -21,6 +21,18 @@ import moment from 'moment' import { FormModel } from 'ant-design-vue' import { hasBtnPermission } from './utils/permissions' +window.Vue = Vue + +// echart +// import { use } from 'echarts/core' +// import { CanvasRenderer } from 'echarts/renderers' +// import { BarChart } from 'echarts/charts' +// import { +// TitleComponent, +// TooltipComponent, +// LegendComponent, +// GridComponent +// } from 'echarts/components' Vue.use(FormModel) Vue.prototype.hasPerm = hasBtnPermission @@ -33,6 +45,15 @@ Vue.component('page-header-wrapper', PageHeaderWrapper) window.umi_plugin_ant_themeVar = themePluginConfig.theme +// use([ +// CanvasRenderer, +// BarChart, +// TitleComponent, +// TooltipComponent, +// LegendComponent, +// GridComponent +// ]) + new Vue({ router, store, diff --git a/src/views/mycourse/courseLearn/OperationModule.vue b/src/views/mycourse/courseLearn/OperationModule.vue new file mode 100644 index 0000000..e5ae71c --- /dev/null +++ b/src/views/mycourse/courseLearn/OperationModule.vue @@ -0,0 +1,52 @@ + + + + + + + {{ item.name }} + 提交时间:{{ item.submitTime }}出题范围:{{ item.questionScope }} + + + 查看详情 + + + + + + + + + + + + + + + diff --git a/src/views/mycourse/courseLearn/SimulationTest.vue b/src/views/mycourse/courseLearn/SimulationTest.vue index 44891f2..2fc25d1 100644 --- a/src/views/mycourse/courseLearn/SimulationTest.vue +++ b/src/views/mycourse/courseLearn/SimulationTest.vue @@ -1,8 +1,8 @@ - - 全天进入考试 + + {{ record.timeSlot }}进入考试 @@ -14,12 +14,12 @@ export default { data () { return { columns: [ - { dataIndex: 'courseName', title: '课程' }, - { dataIndex: 'type', title: '考核方式' }, - { dataIndex: 'examType', title: '考试方式' }, - { dataIndex: 'subType', title: '提交形式' }, - { dataIndex: 'date', title: '考试时间段', scopedSlots: { customRender: 'date' } }, - { dataIndex: 'time', title: '考试时长' } + { dataIndex: 'testName', title: '课程' }, + { dataIndex: 'assessMode', title: '考核方式' }, + { dataIndex: 'testManner', title: '考试方式' }, + { dataIndex: 'submitWay', title: '提交形式' }, + { dataIndex: 'timeSlot', title: '考试时间段', scopedSlots: { customRender: 'timeSlot' } }, + { dataIndex: 'examTime', title: '考试时长' } ], dataList: [ ] @@ -35,6 +35,12 @@ export default { // console.log('模拟', res) this.dataList = res.data }) + }, + handlerGoExam (row) { + this.$router.push({ + path: '/myexamDetail', + query: { type: 'test', projectId: this.$route.query.courseId } + }) } } } diff --git a/src/views/mycourse/courseLearn/StatisticalLearning.vue b/src/views/mycourse/courseLearn/StatisticalLearning.vue new file mode 100644 index 0000000..94524a8 --- /dev/null +++ b/src/views/mycourse/courseLearn/StatisticalLearning.vue @@ -0,0 +1,29 @@ + + 学习统计 + + + + + diff --git a/src/views/mycourse/courseLearn/index.vue b/src/views/mycourse/courseLearn/index.vue index 212cc3b..d55f59f 100644 --- a/src/views/mycourse/courseLearn/index.vue +++ b/src/views/mycourse/courseLearn/index.vue @@ -24,8 +24,12 @@ - Content of Tab Pane 3 - Content of Tab Pane 3 + + + + + + @@ -40,10 +44,11 @@ import { videoPlayer } from 'vue-video-player' import CourseCatalogue from './CourseCatalogue.vue' import SimulationTest from './SimulationTest.vue' import ExamDialog from './ExamDialog.vue' +import OperationModule from './OperationModule.vue' import { reqCourseDetail, reqCourseCatalogue } from '@/api/mycourse/index' export default { - components: { CourseCatalogue, SimulationTest, ExamDialog, videoPlayer }, + components: { CourseCatalogue, OperationModule, SimulationTest, ExamDialog, videoPlayer }, data () { return { activeTab: '1', diff --git a/src/views/mycourse/mycourseList/MyCourseList.vue b/src/views/mycourse/mycourseList/MyCourseList.vue index 5e8e4b1..5fb8e9c 100644 --- a/src/views/mycourse/mycourseList/MyCourseList.vue +++ b/src/views/mycourse/mycourseList/MyCourseList.vue @@ -22,14 +22,17 @@ {{ index + 1 }} - + {{ record.courseName }} + + 必修课 + 选修课 + 未开始 进行中 已完成 - - @@ -47,7 +50,7 @@ > 添加课程 - 继续学习 + 继续学习 已完成学习 @@ -95,7 +98,8 @@ export default { }, { title: '课程类别', - dataIndex: 'trainType' + dataIndex: 'trainType', + scopedSlots: { customRender: 'trainType' } }, { title: '开始时间', @@ -164,6 +168,7 @@ export default { }, // 添加课程 handlerAddCourse (row) { + console.log('row', row) const _this = this this.$emit('add', { row: row, diff --git a/src/views/mycourse/mycourseList/index.vue b/src/views/mycourse/mycourseList/index.vue index baba7fe..6db22c9 100644 --- a/src/views/mycourse/mycourseList/index.vue +++ b/src/views/mycourse/mycourseList/index.vue @@ -43,9 +43,9 @@ export default { methods: { // 添加课程 - handlerAddCourse (row, callback) { - const { id: userId } = this.$store.state.person - reqAddMyCourse({ personId: userId, projectId: row.id }).then(res => { + handlerAddCourse ({ row, callback }) { + const { person } = this.$store.state.user + reqAddMyCourse({ personId: person.id, projectId: row.id }).then(res => { if (res.code === 200) { this.$message.success('添加课程成功!') callback && callback() @@ -53,7 +53,7 @@ export default { }) }, // 继续学习 - handlerContinue (row) { + handlerContinue ({ row }) { this.$router.push({ path: '/mycourse/courseLearn', query: { courseId: row.id } diff --git a/src/views/myexamCount/index.vue b/src/views/myexamCount/index.vue index a7ed192..143d855 100644 --- a/src/views/myexamCount/index.vue +++ b/src/views/myexamCount/index.vue @@ -72,15 +72,7 @@