diff --git a/src/api/analysis/xk.ts b/src/api/analysis/xk.ts new file mode 100644 index 0000000..a8e1fe7 --- /dev/null +++ b/src/api/analysis/xk.ts @@ -0,0 +1,19 @@ +import { get, post } from '@/utils/request' + +// 获取选课列表 +export const getXkListApi = () => { + return get('/api/xk/findPage', { + page: 1, + rows: 100, + status: 'A' + }) +} + +// 获取兴趣课选课列表 +export const getXkCourseListApi = (njId: string, bjId: string, xkId?: string) => { + const params: any = { njId, bjId } + if (xkId) { + params.xkId = xkId + } + return get('/api/xk/getXkCourseList', params) +} diff --git a/src/api/analysis/xkDm.ts b/src/api/analysis/xkDm.ts new file mode 100644 index 0000000..debd09f --- /dev/null +++ b/src/api/analysis/xkDm.ts @@ -0,0 +1,10 @@ +import { get } from '@/utils/request' + +// 获取选课点名统计 +export const getXkDmStatisticsApi = (xkId: string, startTime?: string, endTime?: string) => { + const params: any = { xkId } + if (startTime) params.startTime = startTime + if (endTime) params.endTime = endTime + + return get('/api/xkDm/getXkDmStatistics', params) +} diff --git a/src/api/analysis/xs.ts b/src/api/analysis/xs.ts new file mode 100644 index 0000000..08943ef --- /dev/null +++ b/src/api/analysis/xs.ts @@ -0,0 +1,10 @@ +import { get, post } from "@/utils/request"; + +// 学生档案相关API接口 + +/** + * 根据年级ID和班级ID查询学生及家长信息(简化版) + */ +export function findStudentInfoByNjAndBjSimpleApi(njId: string, bjId: string) { + return get('/api/xs/findStudentInfoByNjAndBjSimple', { njId, bjId }); +} diff --git a/src/pages.json b/src/pages.json index 2ff0f85..c6597c0 100644 --- a/src/pages.json +++ b/src/pages.json @@ -560,6 +560,41 @@ "enablePullDownRefresh": false } }, + { + "path": "pages/view/analysis/xs/studentArchive", + "style": { + "navigationBarTitleText": "学生档案", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/analysis/xk/xkCourse", + "style": { + "navigationBarTitleText": "课程明单", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/analysis/xk/xkList", + "style": { + "navigationBarTitleText": "选课清单", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/analysis/xk/dmStatistics", + "style": { + "navigationBarTitleText": "点名统计", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/analysis/xk/dmXkList", + "style": { + "navigationBarTitleText": "点名选课列表", + "enablePullDownRefresh": false + } + }, { "path": "pages/view/routine/qd/index", "style": { diff --git a/src/pages/base/service/index.vue b/src/pages/base/service/index.vue index cf4697e..b1cbdb4 100644 --- a/src/pages/base/service/index.vue +++ b/src/pages/base/service/index.vue @@ -320,6 +320,30 @@ const sections = reactive([ permissionKey: "routine-bjjl", // 发布接龙权限编码 path: "/pages/view/notice/index", }, + { + id: "hs4", + icon: "xsda", + text: "学生档案", + show: true, + permissionKey: "home-xsda", // 学生档案权限编码 + path: "/pages/view/analysis/xs/studentArchive", + }, + { + id: "hs5", + icon: "xkqd", + text: "选课清单", + show: true, + permissionKey: "home-xkqd", // 兴趣课选课权限编码 + path: "/pages/view/analysis/xk/xkList", + }, + { + id: "hs6", + icon: "dmtj", + text: "点名统计", + show: true, + permissionKey: "home-dmtj", // 点名统计权限编码 + path: "/pages/view/analysis/xk/dmXkList", + }, ], }, { diff --git a/src/pages/view/analysis/xk/dmStatistics.vue b/src/pages/view/analysis/xk/dmStatistics.vue new file mode 100644 index 0000000..13fbb24 --- /dev/null +++ b/src/pages/view/analysis/xk/dmStatistics.vue @@ -0,0 +1,1034 @@ + + + + + diff --git a/src/pages/view/analysis/xk/dmXkList.vue b/src/pages/view/analysis/xk/dmXkList.vue new file mode 100644 index 0000000..24cd46f --- /dev/null +++ b/src/pages/view/analysis/xk/dmXkList.vue @@ -0,0 +1,436 @@ + + + + + diff --git a/src/pages/view/analysis/xk/xkCourse.vue b/src/pages/view/analysis/xk/xkCourse.vue new file mode 100644 index 0000000..b9be2da --- /dev/null +++ b/src/pages/view/analysis/xk/xkCourse.vue @@ -0,0 +1,944 @@ + + + + + diff --git a/src/pages/view/analysis/xk/xkList.vue b/src/pages/view/analysis/xk/xkList.vue new file mode 100644 index 0000000..fd4060f --- /dev/null +++ b/src/pages/view/analysis/xk/xkList.vue @@ -0,0 +1,436 @@ + + + + + diff --git a/src/pages/view/analysis/xs/studentArchive.vue b/src/pages/view/analysis/xs/studentArchive.vue new file mode 100644 index 0000000..d7bf6a5 --- /dev/null +++ b/src/pages/view/analysis/xs/studentArchive.vue @@ -0,0 +1,630 @@ + + + + + diff --git a/src/pages/view/homeSchool/parentAddressBook/detail.vue b/src/pages/view/homeSchool/parentAddressBook/detail.vue index 43d81bc..d8cba92 100644 --- a/src/pages/view/homeSchool/parentAddressBook/detail.vue +++ b/src/pages/view/homeSchool/parentAddressBook/detail.vue @@ -56,6 +56,7 @@ v-for="jz in jzList" :key="jz.id" class="parent-card-item" + @click="callParent(jz.jzsj)" > @@ -68,7 +69,7 @@ {{ jz.jzxm }} - + { padding: 8px; // 添加内边距 border-radius: 8px; // 添加圆角 transition: all 0.2s ease; // 添加过渡效果 + cursor: pointer; // 添加手型光标 + position: relative; // 为点击效果做准备 &:hover { background-color: rgba(102, 126, 234, 0.05); // 悬停效果 transform: translateY(-2px); // 轻微上移 } + + &:active { + background-color: rgba(102, 126, 234, 0.1); // 点击时的背景色 + transform: translateY(0); // 点击时回到原位置 + } } .parent-avatar-container { @@ -404,13 +412,10 @@ const getParentAvatar = (avatarUrl: string) => { align-items: center; justify-content: center; border: 1px solid #fff; // 白色描边 - cursor: pointer; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); // 添加阴影效果 + pointer-events: none; // 禁用点击事件,让父元素处理 - &:active { - opacity: 0.8; - transform: scale(0.95); - } + // 移除 &:active 样式,因为现在由父元素处理点击 } } diff --git a/src/pages/view/test/ApiTest.vue b/src/pages/view/test/ApiTest.vue deleted file mode 100644 index 42cfe59..0000000 --- a/src/pages/view/test/ApiTest.vue +++ /dev/null @@ -1,228 +0,0 @@ - - - - - diff --git a/src/static/base/home/dmtj.png b/src/static/base/home/dmtj.png new file mode 100644 index 0000000..cc510f3 Binary files /dev/null and b/src/static/base/home/dmtj.png differ diff --git a/src/static/base/home/xkqd.png b/src/static/base/home/xkqd.png new file mode 100644 index 0000000..4fb4ef6 Binary files /dev/null and b/src/static/base/home/xkqd.png differ diff --git a/src/static/base/home/xsda.png b/src/static/base/home/xsda.png new file mode 100644 index 0000000..f45cd53 Binary files /dev/null and b/src/static/base/home/xsda.png differ diff --git a/src/static/base/view/more.png b/src/static/base/view/more.png new file mode 100644 index 0000000..66ddf7c Binary files /dev/null and b/src/static/base/view/more.png differ