diff --git a/src/api/trainingTask.js b/src/api/trainingTask.js index 0dbe31f..95b4004 100644 --- a/src/api/trainingTask.js +++ b/src/api/trainingTask.js @@ -61,3 +61,26 @@ export function uploadTrainingTaskMaterial(data) { }, }); } + +export function listClassTrainingTasks(teachingClassId, params) { + return request({ + url: `/api/training-tasks/classes/${teachingClassId}`, + method: "get", + params, + }); +} + +export function getClassTrainingTaskByKey(teachingClassId, taskKey) { + return request({ + url: `/api/training-tasks/classes/${teachingClassId}/key/${taskKey}`, + method: "get", + }); +} + +export function saveClassTrainingTask(teachingClassId, taskKey, data) { + return request({ + url: `/api/training-tasks/classes/${teachingClassId}/${taskKey}`, + method: "put", + data, + }); +} diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index db70ece..a4fdfb1 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -24,7 +24,7 @@ import useAppStore from "@/store/modules/app"; import * as indexApi from "@/api/teacher"; import useSettingsStore from "@/store/modules/settings"; import usePermissionStore from "@/store/modules/permission"; -import { constantRoutes, dynamicRoutes, teacherRoutes, platformAdminRoutes } from "@/router/index.js"; +import { constantRoutes, dynamicRoutes, teacherRoutes, platformAdminRoutes, schoolAdminRoutes } from "@/router/index.js"; import useUserStore from "@/store/modules/user"; const { proxy } = getCurrentInstance(); const userStore = useUserStore(); @@ -323,7 +323,7 @@ const getTaskList = () => { if (userStore.userInfo.roleId == 1) { sidebarRouters.value = [...constantRoutes, ...platformAdminRoutes]; } else if (userStore.userInfo.roleId == 2) { - sidebarRouters.value = [...constantRoutes]; + sidebarRouters.value = [...constantRoutes, ...schoolAdminRoutes]; } else if (userStore.userInfo.roleId != 3) { indexApi.getTaskList({ classId: userStore.userInfo.classId }).then((res) => { const disabledTitles = processModuleStatus(groupAndSortModules(res.data)).disabledParents; diff --git a/src/router/index.js b/src/router/index.js index 869c67d..57c149c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -631,10 +631,25 @@ export const schoolAdminRoutes = [ }, ], }, + { + path: "/admin-training-task", + component: Layout, + redirect: "/admin-training-task/index", + roles: ["schoolAdmin"], + meta: { title: "实训任务管理", icon: "实训任务管理", affix: true }, + children: [ + { + path: "index", + component: () => import("@/views/schoolAdmin/trainingTask/index.vue"), + name: "adminTrainingTask", + meta: { title: "实训任务管理", icon: "实训任务管理", affix: true }, + }, + ], + }, ]; const router = createRouter({ history: createWebHistory(), - routes: [...constantRoutes, ...dynamicRoutes, ...teacherRoutes, ...platformAdminRoutes], + routes: [...constantRoutes, ...dynamicRoutes, ...teacherRoutes, ...platformAdminRoutes, ...schoolAdminRoutes], scrollBehavior(to, from, savedPosition) { if (savedPosition) { return savedPosition; diff --git a/src/views/schoolAdmin/trainingTask/index.vue b/src/views/schoolAdmin/trainingTask/index.vue new file mode 100644 index 0000000..e7d96d3 --- /dev/null +++ b/src/views/schoolAdmin/trainingTask/index.vue @@ -0,0 +1,1099 @@ + + + + + + +