From 6f5603dd8be3abb1619dd6fd012034c054319ffb Mon Sep 17 00:00:00 2001 From: wangys <3401275564@qq.com> Date: Thu, 23 Oct 2025 18:57:31 +0800 Subject: [PATCH] =?UTF-8?q?web-=E5=AD=A6=E4=B9=A0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- schoolNewsWeb/src/apis/study/learning-task.ts | 7 +- .../src/components/base/TopNavigation.vue | 2 +- schoolNewsWeb/src/store/modules/auth.ts | 2 +- schoolNewsWeb/src/types/study/index.ts | 5 + .../views/course/components/CourseDetail.vue | 47 +- .../src/views/dashboard/Workplace.vue | 2 +- .../views/resource-center/components/index.ts | 1 - .../src/views/study-plan/CourseCenterView.vue | 85 +- .../src/views/study-plan/CourseDetailView.vue | 48 + .../src/views/study-plan/CourseStudyView.vue | 42 + .../study-plan/LearningTaskDetailView.vue | 33 + .../src/views/study-plan/StudyTasksView.vue | 147 ++- schoolNewsWeb/src/views/study-plan/index.ts | 3 + .../src/views/task/LearingTaskDetail.vue | 915 ++++++++++++++++++ .../src/views/task/LearningTaskList.vue | 1 - schoolNewsWeb/src/views/task/index.ts | 3 +- schoolNewsWeb/vite.config.js | 2 +- 17 files changed, 1156 insertions(+), 189 deletions(-) create mode 100644 schoolNewsWeb/src/views/study-plan/CourseDetailView.vue create mode 100644 schoolNewsWeb/src/views/study-plan/CourseStudyView.vue create mode 100644 schoolNewsWeb/src/views/study-plan/LearningTaskDetailView.vue create mode 100644 schoolNewsWeb/src/views/task/LearingTaskDetail.vue diff --git a/schoolNewsWeb/src/apis/study/learning-task.ts b/schoolNewsWeb/src/apis/study/learning-task.ts index 6624b60..5fc1ab7 100644 --- a/schoolNewsWeb/src/apis/study/learning-task.ts +++ b/schoolNewsWeb/src/apis/study/learning-task.ts @@ -131,5 +131,10 @@ export const learningTaskApi = { filter }); return response.data; - } + }, + + async getUserProgress(userID: string): Promise> { + const response = await api.post(`${this.learningTaskPrefix}/user/progress/${userID}`); + return response.data; + }, }; diff --git a/schoolNewsWeb/src/components/base/TopNavigation.vue b/schoolNewsWeb/src/components/base/TopNavigation.vue index 13a1bfe..7bafb11 100644 --- a/schoolNewsWeb/src/components/base/TopNavigation.vue +++ b/schoolNewsWeb/src/components/base/TopNavigation.vue @@ -73,7 +73,7 @@ const dropdownPositions = ref store.getters['auth/menuTree']); -const userInfo = computed(() => store.getters['auth/userInfo']); +const userInfo = computed(() => store.getters['auth/user']); // 获取第一层的导航菜单(MenuType.NAVIGATION),过滤掉用户相关菜单 const navigationMenus = computed(() => { diff --git a/schoolNewsWeb/src/store/modules/auth.ts b/schoolNewsWeb/src/store/modules/auth.ts index 2a5e37c..44e4d5b 100644 --- a/schoolNewsWeb/src/store/modules/auth.ts +++ b/schoolNewsWeb/src/store/modules/auth.ts @@ -74,7 +74,7 @@ const authModule: Module = { }, // 获取用户信息 - userInfo: (state) => { + user: (state) => { return state.loginDomain?.user || null; }, diff --git a/schoolNewsWeb/src/types/study/index.ts b/schoolNewsWeb/src/types/study/index.ts index 9270874..dcd358a 100644 --- a/schoolNewsWeb/src/types/study/index.ts +++ b/schoolNewsWeb/src/types/study/index.ts @@ -231,6 +231,11 @@ export interface TaskVO extends BaseDTO { taskCourses: TaskItemVO[]; taskResources: TaskItemVO[]; taskUsers: TaskItemVO[]; + totalTaskNum?: number; + completedTaskNum?: number; + learningTaskNum?: number; + notStartTaskNum?: number; + taskStatus?: number; } /** * 任务课程关联实体 diff --git a/schoolNewsWeb/src/views/course/components/CourseDetail.vue b/schoolNewsWeb/src/views/course/components/CourseDetail.vue index 0138fcb..b5bdaac 100644 --- a/schoolNewsWeb/src/views/course/components/CourseDetail.vue +++ b/schoolNewsWeb/src/views/course/components/CourseDetail.vue @@ -1,8 +1,8 @@ + + + diff --git a/schoolNewsWeb/src/views/study-plan/CourseStudyView.vue b/schoolNewsWeb/src/views/study-plan/CourseStudyView.vue new file mode 100644 index 0000000..ec6898d --- /dev/null +++ b/schoolNewsWeb/src/views/study-plan/CourseStudyView.vue @@ -0,0 +1,42 @@ + + + + + + diff --git a/schoolNewsWeb/src/views/study-plan/LearningTaskDetailView.vue b/schoolNewsWeb/src/views/study-plan/LearningTaskDetailView.vue new file mode 100644 index 0000000..d19f653 --- /dev/null +++ b/schoolNewsWeb/src/views/study-plan/LearningTaskDetailView.vue @@ -0,0 +1,33 @@ + + + + + + diff --git a/schoolNewsWeb/src/views/study-plan/StudyTasksView.vue b/schoolNewsWeb/src/views/study-plan/StudyTasksView.vue index a440b1c..7145bac 100644 --- a/schoolNewsWeb/src/views/study-plan/StudyTasksView.vue +++ b/schoolNewsWeb/src/views/study-plan/StudyTasksView.vue @@ -108,23 +108,27 @@ + + + diff --git a/schoolNewsWeb/src/views/task/LearningTaskList.vue b/schoolNewsWeb/src/views/task/LearningTaskList.vue index 617410b..b0f5681 100644 --- a/schoolNewsWeb/src/views/task/LearningTaskList.vue +++ b/schoolNewsWeb/src/views/task/LearningTaskList.vue @@ -918,7 +918,6 @@ defineExpose({ } .btn-link { - background: none; border: none; padding: 4px 8px; font-size: 13px; diff --git a/schoolNewsWeb/src/views/task/index.ts b/schoolNewsWeb/src/views/task/index.ts index e5f3855..d5f0c72 100644 --- a/schoolNewsWeb/src/views/task/index.ts +++ b/schoolNewsWeb/src/views/task/index.ts @@ -1,2 +1,3 @@ export { default as LearningTaskAdd } from './LearningTaskAdd.vue'; -export { default as LearningTaskList } from './LearningTaskList.vue'; \ No newline at end of file +export { default as LearningTaskList } from './LearningTaskList.vue'; +export { default as LearingTaskDetail } from './LearingTaskDetail.vue'; \ No newline at end of file diff --git a/schoolNewsWeb/vite.config.js b/schoolNewsWeb/vite.config.js index 6a7a79c..240b359 100644 --- a/schoolNewsWeb/vite.config.js +++ b/schoolNewsWeb/vite.config.js @@ -58,7 +58,7 @@ export default defineConfig({ server: { host: '0.0.0.0', port: 8080, - open: true, + open: '/schoolNewsWeb/', // 代理配置 proxy: {