diff --git a/src/router/index.js b/src/router/index.js index c3cb486..dbd2c01 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -65,6 +65,7 @@ const mainRoutes = { { path: '/course-courseCatalogue', component: _import('modules/course/courseCatalogue'), name: 'course-courseCatalogue', meta: { title: '课程目录列表', isTab: true } }, { path: '/course-courseChapter', component: _import('modules/course/courseChapter'), name: 'course-courseChapter', meta: { title: '课程目录章节列表', isTab: true } }, { path: '/course-courseVideo', component: _import('modules/course/courseVideo'), name: 'course-courseVideo', meta: { title: '课程目录章节视频列表', isTab: true } }, + { path: '/course-coursePurchaseDetails', component: _import('modules/course/coursePurchaseDetails'), name: 'course-coursePurchaseDetails', meta: { title: '购课明细', isTab: true } }, { path: '/course-sociologyList', component: _import('modules/course/sociologyList'), name: 'course-sociologyList', meta: { title: '国学标签列表', isTab: true } }, { path: '/userCourse', component: _import('modules/user/userCourse'), name: 'userCourse', meta: { title: '用户课程列表', isTab: true } }, { path: '/userCertificate', component: _import('modules/user/userCertificate'), name: 'userCertificate', meta: { title: '用户证书列表', isTab: true } }, diff --git a/src/store/modules/common.js b/src/store/modules/common.js index 1903bb4..590e39a 100644 --- a/src/store/modules/common.js +++ b/src/store/modules/common.js @@ -43,6 +43,16 @@ export default { updateMainTabs (state, tabs) { state.mainTabs = tabs }, + updateMainTabRoute (state, { name, query, params }) { + const tabIndex = state.mainTabs.findIndex(item => item.name === name) + if (tabIndex === -1) return + const tab = state.mainTabs[tabIndex] + state.mainTabs.splice(tabIndex, 1, { + ...tab, + query: query != null ? query : tab.query, + params: params != null ? params : tab.params + }) + }, updateMainTabsActiveName (state, name) { state.mainTabsActiveName = name } diff --git a/src/views/main-sidebar.vue b/src/views/main-sidebar.vue index 690ecd8..534a8c1 100644 --- a/src/views/main-sidebar.vue +++ b/src/views/main-sidebar.vue @@ -132,15 +132,11 @@ export default { }; this.mainTabs = this.mainTabs.concat(tab); } else { - - // this.mainTabs = this.mainTabs.concat({ - // ...tab, - // params: route.params, - // query: route.query - // }); - this.mainTabs[tabIndex].query=route.query - this.mainTabs[tabIndex].params=route.query - console.log("at line 107:", "存在先添加",tab); + this.$store.commit("common/updateMainTabRoute", { + name: route.name, + query: route.query, + params: route.params + }); } this.menuActiveName = tab.menuId + ""; this.mainTabsActiveName = tab.name; diff --git a/src/views/modules/course/courseList.vue b/src/views/modules/course/courseList.vue index 56d23e4..ad82385 100644 --- a/src/views/modules/course/courseList.vue +++ b/src/views/modules/course/courseList.vue @@ -210,7 +210,7 @@ fixed="right" header-align="center" align="center" - width="280" + width="360" label="操作" > @@ -280,6 +280,13 @@ + + 查看购课明细 + @@ -872,6 +879,31 @@ export default { this.$forceUpdate(); // row ? (this.courseId = row.id) : ""; }, + showCoursePurchaseDetails(row) { + const list = (row && row.courseCatalogueEntityList) || []; + const catalogue = Array.isArray(list) + ? list.map(item => ({ + id: item.id, + title: item.title + })) + : []; + if (!catalogue.length) { + this.$message.warning("该课程未设置目录,无法查看购买明细。"); + return; + } + const firstCatalogueId = + catalogue && catalogue.length > 0 ? String(catalogue[0].id) : ""; + + this.$router.push({ + name: "course-coursePurchaseDetails", + query: { + courseId: row.id, + courseName: row.title || "", + catalogueId: firstCatalogueId, + catalogue: encodeURIComponent(JSON.stringify(catalogue || [])) + } + }); + }, // 删除 deleteHandle(id) { var ids = id diff --git a/src/views/modules/course/coursePurchaseDetails.vue b/src/views/modules/course/coursePurchaseDetails.vue new file mode 100644 index 0000000..7272a61 --- /dev/null +++ b/src/views/modules/course/coursePurchaseDetails.vue @@ -0,0 +1,205 @@ + + + + + + + + {{ exportLoading ? "下载中..." : "下载报表" }} + + + + + + + + + + + + + + + + + + + + + + + + + + +