diff --git a/mock/student/practice.ts b/mock/student/practice.ts index 903e8f0711b72af6a34162cf1d6ceb3399a51616..a3ffd82c94cea7cf34cf3bcda59c34ac740f3001 100644 --- a/mock/student/practice.ts +++ b/mock/student/practice.ts @@ -1,5 +1,5 @@ import { - GroupNumberItemModel, + GroupMemberItemModel, LectureNoteItemModel, LessonPlanItemModel, TeachingStudyItemModel, @@ -80,9 +80,9 @@ function getTeachingStudyList() { } function getGroupNumberList() { - const list: GroupNumberItemModel[] = []; + const list: GroupMemberItemModel[] = []; for (let i = 0; i < 30; i++) { - const item: GroupNumberItemModel = { + const item: GroupMemberItemModel = { gender: GenderEnum.Female, userCode: "1000" + i, userId: i, diff --git a/mock/sys/menu.ts b/mock/sys/menu.ts index 6c27acb9a06bab0315b618cf473c2aeb5c9b6b3e..8c880919b31d73adf373c8a6ad94eda4717a16d0 100644 --- a/mock/sys/menu.ts +++ b/mock/sys/menu.ts @@ -1,6 +1,5 @@ import { resultSuccess, resultError, getRequestToken, requestParams } from "../_util"; import { MockMethod } from "vite-plugin-mock"; -import { createFakeUserList } from "./user"; // single const dashboardRoute = { @@ -41,195 +40,276 @@ const dashboardRoute = { ], }; -const backRoute = { - path: "back", - name: "PermissionBackDemo", +// const backRoute = { +// path: "back", +// name: "PermissionBackDemo", +// meta: { +// title: "routes.demo.permission.back", +// }, +// +// children: [ +// { +// path: "page", +// name: "BackAuthPage", +// component: "/demo/permission/back/index", +// meta: { +// title: "routes.demo.permission.backPage", +// }, +// }, +// { +// path: "btn", +// name: "BackAuthBtn", +// component: "/demo/permission/back/Btn", +// meta: { +// title: "routes.demo.permission.backBtn", +// }, +// }, +// ], +// }; +// +// const authRoute = { +// path: "/permission", +// name: "Permission", +// component: "LAYOUT", +// redirect: "/permission/front/page", +// meta: { +// icon: "carbon:user-role", +// title: "routes.demo.permission.permission", +// }, +// children: [backRoute], +// }; +// +// const levelRoute = { +// path: "/level", +// name: "Level", +// component: "LAYOUT", +// redirect: "/level/menu1/menu1-1", +// meta: { +// icon: "carbon:user-role", +// title: "routes.demo.level.level", +// }, +// +// children: [ +// { +// path: "menu1", +// name: "Menu1Demo", +// meta: { +// title: "Menu1", +// }, +// children: [ +// { +// path: "menu1-1", +// name: "Menu11Demo", +// meta: { +// title: "Menu1-1", +// }, +// children: [ +// { +// path: "menu1-1-1", +// name: "Menu111Demo", +// component: "/demo/level/Menu111", +// meta: { +// title: "Menu111", +// }, +// }, +// ], +// }, +// { +// path: "menu1-2", +// name: "Menu12Demo", +// component: "/demo/level/Menu12", +// meta: { +// title: "Menu1-2", +// }, +// }, +// ], +// }, +// { +// path: "menu2", +// name: "Menu2Demo", +// component: "/demo/level/Menu2", +// meta: { +// title: "Menu2", +// }, +// }, +// ], +// }; +// +// const sysRoute = { +// path: "/system", +// name: "System", +// component: "LAYOUT", +// redirect: "/system/account", +// meta: { +// icon: "ion:settings-outline", +// title: "routes.demo.system.moduleName", +// }, +// children: [ +// { +// path: "account", +// name: "AccountManagement", +// meta: { +// title: "routes.demo.system.account", +// ignoreKeepAlive: true, +// }, +// component: "/demo/system/account/index", +// }, +// { +// path: "account_detail/:id", +// name: "AccountDetail", +// meta: { +// hideMenu: true, +// title: "routes.demo.system.account_detail", +// ignoreKeepAlive: true, +// showMenu: false, +// currentActiveMenu: "/system/account", +// }, +// component: "/demo/system/account/AccountDetail", +// }, +// { +// path: "role", +// name: "RoleManagement", +// meta: { +// title: "routes.demo.system.role", +// ignoreKeepAlive: true, +// }, +// component: "/demo/system/role/index", +// }, +// +// { +// path: "menu", +// name: "MenuManagement", +// meta: { +// title: "routes.demo.system.menu", +// ignoreKeepAlive: true, +// }, +// component: "/demo/system/menu/index", +// }, +// { +// path: "dept", +// name: "DeptManagement", +// meta: { +// title: "routes.demo.system.dept", +// ignoreKeepAlive: true, +// }, +// component: "/demo/system/dept/index", +// }, +// { +// path: "changePassword", +// name: "ChangePassword", +// meta: { +// title: "routes.demo.system.password", +// ignoreKeepAlive: true, +// }, +// component: "/demo/system/password/index", +// }, +// ], +// }; +// +// const linkRoute = { +// path: "/link", +// name: "Link", +// component: "LAYOUT", +// meta: { +// icon: "ion:tv-outline", +// title: "routes.demo.iframe.frame", +// }, +// children: [ +// { +// path: "doc", +// name: "Doc", +// meta: { +// title: "routes.demo.iframe.doc", +// frameSrc: "https://vvbin.cn/doc-next/", +// }, +// }, +// { +// path: "https://vvbin.cn/doc-next/", +// name: "DocExternal", +// component: "LAYOUT", +// meta: { +// title: "routes.demo.iframe.docExternal", +// }, +// }, +// ], +// }; + +const practiceRoute = { + path: "/practice", + name: "practice", + component: "LAYOUT", meta: { - title: "routes.demo.permission.back", + icon: "simple-icons:about-dot-me", + title: "routes.practice.about", }, - children: [ { - path: "page", - name: "BackAuthPage", - component: "/demo/permission/back/index", + path: "record", + name: "practiceRecord", + component: "student/practice/practice-record/index.vue", meta: { - title: "routes.demo.permission.backPage", + title: "routes.practice.record", + icon: "simple-icons:about-dot-me", + hideChildrenInMenu: true, }, }, { - path: "btn", - name: "BackAuthBtn", - component: "/demo/permission/back/Btn", + path: "leader", + name: "groupLeader", + component: "student/practice/group-leader-mark/index.vue", meta: { - title: "routes.demo.permission.backBtn", - }, - }, - ], -}; - -const authRoute = { - path: "/permission", - name: "Permission", - component: "LAYOUT", - redirect: "/permission/front/page", - meta: { - icon: "carbon:user-role", - title: "routes.demo.permission.permission", - }, - children: [backRoute], -}; - -const levelRoute = { - path: "/level", - name: "Level", - component: "LAYOUT", - redirect: "/level/menu1/menu1-1", - meta: { - icon: "carbon:user-role", - title: "routes.demo.level.level", - }, - - children: [ - { - path: "menu1", - name: "Menu1Demo", - meta: { - title: "Menu1", + title: "routes.practice.leader", + icon: "simple-icons:about-dot-me", + hideChildrenInMenu: true, }, children: [ { - path: "menu1-1", - name: "Menu11Demo", + path: "userLectureNoteList", + name: "userLectureNoteList", + component: "/student/practice/group-leader-mark/lecture-note-list.vue", meta: { - title: "Menu1-1", + title: "实习听课记录列表", + hideTab: true, + hideMenu: true, }, - children: [ - { - path: "menu1-1-1", - name: "Menu111Demo", - component: "/demo/level/Menu111", - meta: { - title: "Menu111", - }, - }, - ], }, { - path: "menu1-2", - name: "Menu12Demo", - component: "/demo/level/Menu12", + path: "userLessonPlanList", + name: "userLessonPlanList", + component: "/student/practice/group-leader-mark/lesson-plan-list.vue", meta: { - title: "Menu1-2", + title: "教育实习教案列表", + hideTab: true, + hideMenu: true, + }, + }, + { + path: "userTeachingStudyList", + name: "userTeachingStudyList", + component: "/student/practice/group-leader-mark/teaching-study-list.vue", + meta: { + title: "教研活动心得列表", + hideTab: true, + hideMenu: true, }, }, ], }, { - path: "menu2", - name: "Menu2Demo", - component: "/demo/level/Menu2", - meta: { - title: "Menu2", - }, - }, - ], -}; - -const sysRoute = { - path: "/system", - name: "System", - component: "LAYOUT", - redirect: "/system/account", - meta: { - icon: "ion:settings-outline", - title: "routes.demo.system.moduleName", - }, - children: [ - { - path: "account", - name: "AccountManagement", - meta: { - title: "routes.demo.system.account", - ignoreKeepAlive: true, - }, - component: "/demo/system/account/index", - }, - { - path: "account_detail/:id", - name: "AccountDetail", - meta: { - hideMenu: true, - title: "routes.demo.system.account_detail", - ignoreKeepAlive: true, - showMenu: false, - currentActiveMenu: "/system/account", - }, - component: "/demo/system/account/AccountDetail", - }, - { - path: "role", - name: "RoleManagement", - meta: { - title: "routes.demo.system.role", - ignoreKeepAlive: true, - }, - component: "/demo/system/role/index", - }, - - { - path: "menu", - name: "MenuManagement", - meta: { - title: "routes.demo.system.menu", - ignoreKeepAlive: true, - }, - component: "/demo/system/menu/index", - }, - { - path: "dept", - name: "DeptManagement", + path: "internInfo", + name: "internInfo", + component: "/teacher/practice/intern-info/index.vue", meta: { - title: "routes.demo.system.dept", - ignoreKeepAlive: true, + title: "实习生基本信息", + icon: "ant-design:info-circle-outlined", }, - component: "/demo/system/dept/index", }, { - path: "changePassword", - name: "ChangePassword", + path: "teacherMark", + name: "teacherMark", + component: "/teacher/practice/teacher-mark/index.vue", meta: { - title: "routes.demo.system.password", - ignoreKeepAlive: true, - }, - component: "/demo/system/password/index", - }, - ], -}; - -const linkRoute = { - path: "/link", - name: "Link", - component: "LAYOUT", - meta: { - icon: "ion:tv-outline", - title: "routes.demo.iframe.frame", - }, - children: [ - { - path: "doc", - name: "Doc", - meta: { - title: "routes.demo.iframe.doc", - frameSrc: "https://vvbin.cn/doc-next/", - }, - }, - { - path: "https://vvbin.cn/doc-next/", - name: "DocExternal", - component: "LAYOUT", - meta: { - title: "routes.demo.iframe.docExternal", + title: "教师评分", }, }, ], @@ -245,24 +325,8 @@ export default [ if (!token) { return resultError("Invalid token!"); } - const checkUser = createFakeUserList().find((item) => item.token === token); - if (!checkUser) { - return resultError("Invalid user token!"); - } - const id = checkUser.userId; - let menu: Object[]; - switch (id) { - case "1": - dashboardRoute.redirect = dashboardRoute.path + "/" + dashboardRoute.children[0].path; - menu = [dashboardRoute, authRoute, levelRoute, sysRoute, linkRoute]; - break; - case "2": - dashboardRoute.redirect = dashboardRoute.path + "/" + dashboardRoute.children[1].path; - menu = [dashboardRoute, authRoute, levelRoute, linkRoute]; - break; - default: - menu = []; - } + dashboardRoute.redirect = dashboardRoute.path + "/" + dashboardRoute.children[0].path; + const menu = [dashboardRoute, practiceRoute]; return resultSuccess(menu); }, diff --git a/mock/sys/user.ts b/mock/sys/user.ts index 19f05767f5477ea4fa486c43a0a4e7d5f9d0fac7..7713342d6b8e33cf65c47600ca928ac35862b9c9 100644 --- a/mock/sys/user.ts +++ b/mock/sys/user.ts @@ -4,20 +4,15 @@ import { resultError, resultSuccess, getRequestToken, requestParams } from "../_ export function createFakeUserList() { return [ { - userId: "1", - username: "vben", - realName: "Vben Admin", + userCode: "2001111", + userName: "Suomm", avatar: "https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640", - desc: "manager", - password: "123456", - token: "fakeToken1", - homePath: "/dashboard/analysis", - roles: [ - { - roleName: "Super Admin", - value: "super", - }, - ], + introduce: "manager", + college: { + collegeName: "化学学院", + leader: "王帅", + phone: "10086", + }, }, { userId: "2", @@ -38,43 +33,48 @@ export function createFakeUserList() { ]; } -const fakeCodeList: any = { - "1": ["1000", "3000", "5000"], - - "2": ["2000", "4000", "6000"], -}; +// const fakeCodeList: any = { +// "1": ["1000", "3000", "5000"], +// +// "2": ["2000", "4000", "6000"], +// }; export default [ // mock user login { url: "/dev-api/login", timeout: 200, - method: "post", - response: ({ body }) => { - const { username, password } = body; - const checkUser = createFakeUserList().find( - (item) => item.username === username && password === item.password, - ); - if (!checkUser) { - return resultError("Incorrect account or password!"); - } - const { userId, username: _username, token, realName, desc, roles } = checkUser; - return resultSuccess({ - roles, - userId, - username: _username, - token, - realName, - desc, - }); + method: "get", + // response: ({ body }) => { + // const { username, password } = body; + // const checkUser = createFakeUserList().find( + // (item) => item.username === username && password === item.password, + // ); + // if (!checkUser) { + // return resultError("Incorrect account or password!"); + // } + // const { userId, username: _username, token, realName, desc, roles } = checkUser; + // return resultSuccess({ + // roles, + // userId, + // username: _username, + // token, + // realName, + // desc, + // }); + // }, + rawResponse: (_req, res) => { + res.statusCode = 401; + res.write("https://localhost:3100/login?token=faketoken"); + res.end(); }, }, { - url: "/dev-api/getUserInfo", + url: "/dev-api/getInfo", method: "get", response: (request: requestParams) => { const token = getRequestToken(request); if (!token) return resultError("Invalid token"); - const checkUser = createFakeUserList().find((item) => item.token === token); + const checkUser = createFakeUserList().at(0); if (!checkUser) { return resultError("The corresponding user information was not obtained!"); } @@ -82,21 +82,28 @@ export default [ }, }, { - url: "/dev-api/getPermCode", - timeout: 200, + url: "/dev-api/user/getProfile/:id", method: "get", - response: (request: requestParams) => { - const token = getRequestToken(request); - if (!token) return resultError("Invalid token"); - const checkUser = createFakeUserList().find((item) => item.token === token); - if (!checkUser) { - return resultError("Invalid token!"); - } - const codeList = fakeCodeList[checkUser.userId]; - - return resultSuccess(codeList); + response: () => { + return resultSuccess(createFakeUserList().at(0)); }, }, + // { + // url: "/dev-api/getPermCode", + // timeout: 200, + // method: "get", + // response: (request: requestParams) => { + // const token = getRequestToken(request); + // if (!token) return resultError("Invalid token"); + // const checkUser = createFakeUserList().find((item) => item.token === token); + // if (!checkUser) { + // return resultError("Invalid token!"); + // } + // const codeList = fakeCodeList[checkUser.userId]; + // + // return resultSuccess(codeList); + // }, + // }, { url: "/dev-api/logout", timeout: 200, @@ -104,10 +111,6 @@ export default [ response: (request: requestParams) => { const token = getRequestToken(request); if (!token) return resultError("Invalid token"); - const checkUser = createFakeUserList().find((item) => item.token === token); - if (!checkUser) { - return resultError("Invalid token!"); - } return resultSuccess(undefined, { message: "Token has been destroyed" }); }, }, diff --git a/mock/teacher/practice.ts b/mock/teacher/practice.ts new file mode 100644 index 0000000000000000000000000000000000000000..c4a092da223584feff6f04a0520c898954752149 --- /dev/null +++ b/mock/teacher/practice.ts @@ -0,0 +1,52 @@ +import { GroupMemberItemModel } from "/@/api/student/model/practice-model"; +import { resultPageSuccess, resultSuccess } from "mock/_util"; +import { MockMethod } from "vite-plugin-mock"; +import { GenderEnum } from "/@/enums/genderEnum"; +import { IntershipInfoModel } from "/@/api/teacher/model/practice-model"; +import { IntershipTypeEnum } from "/@/enums/intershipTypeEnum"; + +function getGroupMemberList() { + const list: GroupMemberItemModel[] = []; + for (let i = 0; i < 30; i++) { + const item: GroupMemberItemModel = { + gender: GenderEnum.Female, + userCode: "2000" + i, + userId: i, + userName: "test" + i, + }; + list.push(item); + } + return list; +} + +function getIntershipInfo() { + const info: IntershipInfoModel = { + grade: "高一", + schoolName: "静海一中", + startDate: "2022/1/1", + subject: "化学", + teacherName: "张三", + type: IntershipTypeEnum.Individual, + }; + return info; +} + +export default [ + { + url: "/dev-api/group/tutor/list", + timeout: 100, + method: "get", + response: ({ query }) => { + const { pageNum = 1, pageSize = 10 } = query; + return resultPageSuccess(pageNum, pageSize, getGroupMemberList()); + }, + }, + { + url: "/dev-api/internInfo/getInfo/:id", + timeout: 100, + method: "get", + response: () => { + return resultSuccess(getIntershipInfo()); + }, + }, +] as MockMethod[]; diff --git a/src/api/student/model/practice-model.ts b/src/api/student/model/practice-model.ts index c28cfd7cc0810c507bf1250e48e8f1285782d936..6966434266524d2704c860733d0ba05561abb75e 100644 --- a/src/api/student/model/practice-model.ts +++ b/src/api/student/model/practice-model.ts @@ -57,11 +57,11 @@ export interface TeachingStudyItemModel extends BasicPracticeModel { export type TeachingStudyListResultModel = BasicFetchResult; -export interface GroupNumberItemModel { +export interface GroupMemberItemModel { userId: number; userName: string; userCode: string; gender: GenderEnum; } -export type GroupNumberListResultModel = BasicFetchResult; +export type GroupMemberListResultModel = BasicFetchResult; diff --git a/src/api/student/practice.ts b/src/api/student/practice.ts index 787fbf808bfac795674f3ad2fdd316716781dc54..5d72cf535169b57c68d5124a953eeb83578a28e7 100644 --- a/src/api/student/practice.ts +++ b/src/api/student/practice.ts @@ -1,5 +1,5 @@ import { - GroupNumberListResultModel, + GroupMemberListResultModel, LectureNoteItemModel, LectureNoteListResultModel, LessonPlanItemModel, @@ -256,7 +256,7 @@ export const setTeachingStudyRemark = (userId: number, studyId: number, content: * @param params 包含groupId的分页查询参数 */ export const getGroupNumberPageByGroupId = (params: BasicPageParamsWithGroupId) => - defHttp.get({ + defHttp.get({ url: Api.GetGroupNumber + `/${params.groupId}`, params, }); diff --git a/src/api/teacher/model/practice-model.ts b/src/api/teacher/model/practice-model.ts new file mode 100644 index 0000000000000000000000000000000000000000..fdce097b45cb944753efa72fe0a596380f93879f --- /dev/null +++ b/src/api/teacher/model/practice-model.ts @@ -0,0 +1,10 @@ +import { IntershipTypeEnum } from "/@/enums/intershipTypeEnum"; + +export interface IntershipInfoModel { + type: IntershipTypeEnum; + subject: string; + schoolName: string; + teacherName: string; + grade: string; + startDate: string; +} diff --git a/src/api/teacher/practice.ts b/src/api/teacher/practice.ts new file mode 100644 index 0000000000000000000000000000000000000000..a7c0c6f20aad5ded6cec6a342d18e00e408518ea --- /dev/null +++ b/src/api/teacher/practice.ts @@ -0,0 +1,83 @@ +import { BasicPageParams } from "/@/api/model/baseModel"; +import { defHttp } from "/@/utils/http/axios"; +import { GroupMemberListResultModel } from "/@/api/student/model/practice-model"; +import { IntershipInfoModel } from "/@/api/teacher/model/practice-model"; +import { UserInfo } from "/#/store"; + +enum Api { + GetGroupMember = "/group/tutor/list", + GetIntershipInfo = "/internInfo/getInfo", + GetUserInfo = "/user/getProfile", + SetLectureNoteRemark = "/internInfo/mark/tk", + SetLessonPlanRemark = "/internInfo/mark/ja", + SetTeachingStudyRemark = "/internInfo/mark/jy", +} + +/** + * 导师获取自己所带的实习生小组成员信息 + * @param params 分页查询参数 + */ +export const getGroupMemberPage = (params: BasicPageParams) => + defHttp.get({ + url: Api.GetGroupMember, + params, + }); + +/** + * 根据实习生主键主键获取教育实习基本信 + * @param userId 实习生用户Id + */ +export const getIntershipInfoByUserId = (userId: number) => + defHttp.get({ + url: Api.GetIntershipInfo + `/${userId}`, + }); + +export const getUserInfoByUserId = (userId: number) => + defHttp.get({ + url: Api.GetUserInfo + `/${userId}`, + }); + +/** + * 导师为实习生的所有听课记录进行打分 + * @param userId 实习生Id + * @param highSchool 中学指导教师评分 + * @param university 高校指导教师评分 + */ +export const setLectureNoteRemark = (userId: number, highSchool: number, university: number) => + defHttp.put({ + url: Api.SetLectureNoteRemark + `/${userId}`, + params: { + highSchool, + university, + }, + }); + +/** + * 导师为实习生的所有教案进行打分 + * @param userId 实习生Id + * @param highSchool 中学指导教师评分 + * @param university 高校指导教师评分 + */ +export const setLessonPlanRemark = (userId: number, highSchool: number, university: number) => + defHttp.put({ + url: Api.SetLessonPlanRemark + `/${userId}`, + params: { + highSchool, + university, + }, + }); + +/** + * 导师为实习生的所有教研活动记录进行打分 + * @param userId 实习生Id + * @param highSchool 中学指导教师评分 + * @param university 高校指导教师评分 + */ +export const setTeachingStudyRemark = (userId: number, highSchool: number, university: number) => + defHttp.put({ + url: Api.SetTeachingStudyRemark + `/${userId}`, + params: { + highSchool, + university, + }, + }); diff --git a/src/enums/intershipTypeEnum.ts b/src/enums/intershipTypeEnum.ts new file mode 100644 index 0000000000000000000000000000000000000000..12f1c44e43d6e89ffcf21af1d5ace7f21644874c --- /dev/null +++ b/src/enums/intershipTypeEnum.ts @@ -0,0 +1,4 @@ +export enum IntershipTypeEnum { + Collective, + Individual, +} diff --git a/src/enums/markTypeEnum.ts b/src/enums/markTypeEnum.ts new file mode 100644 index 0000000000000000000000000000000000000000..9b01f30ca29a5d937bbb504eb7e23f777ffedf61 --- /dev/null +++ b/src/enums/markTypeEnum.ts @@ -0,0 +1,4 @@ +export enum MarkTypeEnum { + GroupLeaderMark = "groupLeader", + TeacherMark = "teacher", +} diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts index a3271acb2cedab5f648ec9076f88424f69a107f6..3c8fd85c06a2ef9c5f35d18e656784cc73766212 100644 --- a/src/utils/http/axios/index.ts +++ b/src/utils/http/axios/index.ts @@ -214,7 +214,7 @@ function createAxios(opt?: Partial) { // See https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#authentication_schemes // authentication schemes,e.g: Bearer // authenticationScheme: 'Bearer', - authenticationScheme: "", + authenticationScheme: "Bearer ", timeout: 10 * 1000, // 基础接口地址 // baseURL: globSetting.apiUrl, diff --git a/src/views/student/practice/group-leader-mark/index.vue b/src/views/student/practice/group-leader-mark/index.vue index 361f0d3eb8b93bb1fb0bed1bba888e07fb0bc006..69728ecff75dd40028530ab2ec49cb7b175fdcbe 100644 --- a/src/views/student/practice/group-leader-mark/index.vue +++ b/src/views/student/practice/group-leader-mark/index.vue @@ -38,6 +38,7 @@ import { useRouter } from "vue-router"; import { getGroupNumberPageByGroupId } from "/@/api/student/practice"; import { GenderEnum } from "/@/enums/genderEnum"; + import { MarkTypeEnum } from "/@/enums/markTypeEnum"; export default defineComponent({ name: "GroupLeaderMark", @@ -105,15 +106,27 @@ } function handleLectureNoteDesc(record) { - router.push({ name: "userLectureNoteList", query: record }); + router.push({ + name: "userLectureNoteList", + params: record, + query: { type: MarkTypeEnum.GroupLeaderMark }, + }); } function handleLessonPlanDesc(record) { - router.push({ name: "userLessonPlanList", query: record }); + router.push({ + name: "userLessonPlanList", + params: record, + query: { type: MarkTypeEnum.GroupLeaderMark }, + }); } function handleTeachingStudyDesc(record) { - router.push({ name: "userTeachingStudyList", query: record }); + router.push({ + name: "userTeachingStudyList", + params: record, + query: { type: MarkTypeEnum.GroupLeaderMark }, + }); } return { diff --git a/src/views/student/practice/group-leader-mark/lecture-note-description.vue b/src/views/student/practice/group-leader-mark/lecture-note-description.vue index 4524ef0d3417cc481748ce97585ce3e2d2fc487d..755512d959a9c21e0e13bc212b5c0a7b9fe719a6 100644 --- a/src/views/student/practice/group-leader-mark/lecture-note-description.vue +++ b/src/views/student/practice/group-leader-mark/lecture-note-description.vue @@ -10,8 +10,11 @@ :afterClose="handleModalClose" > - 编辑小组评价编辑评价 返回 刷新 + 评分 diff --git a/src/views/teacher/practice/intern-info/personal-info-description.vue b/src/views/teacher/practice/intern-info/personal-info-description.vue new file mode 100644 index 0000000000000000000000000000000000000000..cbbc6edf95a854393a262b5a9af267f96a7d5fe6 --- /dev/null +++ b/src/views/teacher/practice/intern-info/personal-info-description.vue @@ -0,0 +1,88 @@ + + diff --git a/src/views/teacher/practice/intern-info/practice-info-description.vue b/src/views/teacher/practice/intern-info/practice-info-description.vue new file mode 100644 index 0000000000000000000000000000000000000000..13c8aea3412d7dc2a9c1a1e220100deddc0222e8 --- /dev/null +++ b/src/views/teacher/practice/intern-info/practice-info-description.vue @@ -0,0 +1,79 @@ + + diff --git a/src/views/teacher/practice/teacher-mark/index.vue b/src/views/teacher/practice/teacher-mark/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..bc68043254d6a1b0056e1e07508de0dc973f7369 --- /dev/null +++ b/src/views/teacher/practice/teacher-mark/index.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/views/teacher/practice/teacher-mark/remark.vue b/src/views/teacher/practice/teacher-mark/remark.vue new file mode 100644 index 0000000000000000000000000000000000000000..dc5f5fa067ee325e4e325eee1b00b30894cb65f1 --- /dev/null +++ b/src/views/teacher/practice/teacher-mark/remark.vue @@ -0,0 +1,128 @@ + + +