hookehuyr

refactor(teacher): 替换 TaskFilter 为 TaskCascaderFilter 并调整布局

将原有的 TaskFilter 组件替换为 TaskCascaderFilter,同时调整了筛选器的布局位置,使其更符合界面设计需求
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: hookehuyr hookehuyr@gmail.com 2 * @Author: hookehuyr hookehuyr@gmail.com
3 * @Date: 2025-06-19 17:12:19 3 * @Date: 2025-06-19 17:12:19
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2025-12-17 09:40:12 5 + * @LastEditTime: 2025-12-18 15:53:02
6 * @FilePath: /mlaj/src/views/teacher/studentPage.vue 6 * @FilePath: /mlaj/src/views/teacher/studentPage.vue
7 * @Description: 学生详情页面 7 * @Description: 学生详情页面
8 --> 8 -->
...@@ -95,14 +95,6 @@ ...@@ -95,14 +95,6 @@
95 <!-- 使用van-sticky包裹van-tabs实现粘性布局 --> 95 <!-- 使用van-sticky包裹van-tabs实现粘性布局 -->
96 <div class="bg-white" style="margin: 1rem;"> 96 <div class="bg-white" style="margin: 1rem;">
97 <van-sticky :offset-top="0"> 97 <van-sticky :offset-top="0">
98 - <div v-if="activeTab !== 'statistics'" class="bg-white px-4 py-2">
99 - <TaskFilter
100 - :key="currentGroupId"
101 - :group-id="currentGroupId"
102 - @change="handleTaskFilterChange"
103 - @popup-visible-change="handlePopupVisibleChange"
104 - />
105 - </div>
106 <van-tabs v-model:active="activeTab" color="#4caf50" animated swipeable @change="handleTabChange"> 98 <van-tabs v-model:active="activeTab" color="#4caf50" animated swipeable @change="handleTabChange">
107 <van-tab title="作业记录" name="homework"></van-tab> 99 <van-tab title="作业记录" name="homework"></van-tab>
108 <van-tab title="班主任点评" name="evaluation"></van-tab> 100 <van-tab title="班主任点评" name="evaluation"></van-tab>
...@@ -111,6 +103,16 @@ ...@@ -111,6 +103,16 @@
111 </van-sticky> 103 </van-sticky>
112 </div> 104 </div>
113 <!-- 功能按钮 --> 105 <!-- 功能按钮 -->
106 + <div v-show="activeTab !== 'statistics'" class="mt-4 px-4" style="padding-right: 1.25rem;">
107 + <!-- 作业筛选 -->
108 + <div class="flex items-center justify-end mb-4">
109 + <TaskCascaderFilter
110 + :key="currentGroupId"
111 + :group-id="currentGroupId"
112 + @change="handleTaskFilterChange"
113 + />
114 + </div>
115 + </div>
114 <div v-show="activeTab === 'statistics'" class="mt-4 px-4" style="padding-right: 1.25rem;"> 116 <div v-show="activeTab === 'statistics'" class="mt-4 px-4" style="padding-right: 1.25rem;">
115 <!-- 状态筛选 --> 117 <!-- 状态筛选 -->
116 <div class="flex items-center justify-end mb-4"> 118 <div class="flex items-center justify-end mb-4">
...@@ -341,7 +343,7 @@ import dayjs from 'dayjs'; ...@@ -341,7 +343,7 @@ import dayjs from 'dayjs';
341 import { delUploadTaskInfoAPI, likeUploadTaskInfoAPI, dislikeUploadTaskInfoAPI } from "@/api/checkin"; 343 import { delUploadTaskInfoAPI, likeUploadTaskInfoAPI, dislikeUploadTaskInfoAPI } from "@/api/checkin";
342 import { getStudentDetailAPI, getStudentCheckinListAPI, getStudentUploadListAPI, getCheckinFeedbackListAPI, addCheckinFeedbackAPI, delCheckinFeedbackAPI, getStudentStatAPI } from "@/api/teacher"; 344 import { getStudentDetailAPI, getStudentCheckinListAPI, getStudentUploadListAPI, getCheckinFeedbackListAPI, addCheckinFeedbackAPI, delCheckinFeedbackAPI, getStudentStatAPI } from "@/api/teacher";
343 345
344 -import TaskFilter from '@/components/teacher/TaskFilter.vue' 346 +import TaskCascaderFilter from '@/components/teacher/TaskCascaderFilter.vue'
345 347
346 const router = useRouter() 348 const router = useRouter()
347 const route = useRoute() 349 const route = useRoute()
......