fix: 修复学生管理左侧树筛选条件未正确传递的问题

问题:点击年级/班级节点时,只传了当前节点ID,未带上父级条件
修复:
1. 参数名改为与后端一致(schoolGradeId、schoolClassId)
2. 点击年级节点时,同时传递 schoolId + schoolGradeId
3. 点击班级节点时,同时传递 schoolId + schoolGradeId + schoolClassId

同步更新需求文档
This commit is contained in:
神码-方晓辉 2026-02-02 21:00:57 +08:00
parent 904c7c9500
commit e1ea099a38
2 changed files with 22 additions and 16 deletions

View File

@ -323,7 +323,7 @@
| 功能编号 | 功能名称 | 功能描述 | 优先级 | | 功能编号 | 功能名称 | 功能描述 | 优先级 |
| ------- | ------ | ------------------- |:---:| | ------- | ------ | ------------------- |:---:|
| STU-001 | 学生列表查询 | 按姓名、学号、性别、手机号、学科等筛选 | P0 | | STU-001 | 学生列表查询 | 按姓名、学号、性别、手机号、学科等筛选 | P0 |
| STU-002 | 学校树筛选 | 通过左侧学校树快速定位学生 | P0 | | STU-002 | 学校树筛选 | 通过左侧学校树快速定位学生,点击节点时带上完整层级条件(学校+年级+班级) | P0 |
| STU-003 | 新增学生 | 手动创建学生信息 | P0 | | STU-003 | 新增学生 | 手动创建学生信息 | P0 |
| STU-004 | 编辑学生 | 修改学生基本信息 | P0 | | STU-004 | 编辑学生 | 修改学生基本信息 | P0 |
| STU-005 | 删除学生 | 软删除学生信息 | P1 | | STU-005 | 删除学生 | 软删除学生信息 | P1 |

View File

@ -28,7 +28,7 @@
<el-card shadow="never" class="search-wrapper"> <el-card shadow="never" class="search-wrapper">
<el-form :model="queryParams" :inline="true"> <el-form :model="queryParams" :inline="true">
<el-form-item label="学生姓名"> <el-form-item label="学生姓名">
<el-input v-model="queryParams.name" placeholder="请输入学生姓名" clearable style="width: 150px" @keyup.enter="handleQuery" /> <el-input v-model="queryParams.studentName" placeholder="请输入学生姓名" clearable style="width: 150px" @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="学号"> <el-form-item label="学号">
<el-input v-model="queryParams.studentNo" placeholder="请输入学号" clearable style="width: 150px" @keyup.enter="handleQuery" /> <el-input v-model="queryParams.studentNo" placeholder="请输入学号" clearable style="width: 150px" @keyup.enter="handleQuery" />
@ -139,12 +139,12 @@ const total = ref(0)
const queryParams = ref({ const queryParams = ref({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
name: '', studentName: '',
studentNo: '', studentNo: '',
gender: '', gender: '',
schoolId: '', schoolId: null,
gradeId: '', schoolGradeId: null,
classId: '' schoolClassId: null
}) })
// //
@ -186,16 +186,22 @@ const getList = async () => {
// //
const handleNodeClick = (data) => { const handleNodeClick = (data) => {
// //
if (data.type === 'school') { if (data.type === 'school') {
//
queryParams.value.schoolId = data.id queryParams.value.schoolId = data.id
queryParams.value.gradeId = '' queryParams.value.schoolGradeId = null
queryParams.value.classId = '' queryParams.value.schoolClassId = null
} else if (data.type === 'grade') { } else if (data.type === 'grade') {
queryParams.value.gradeId = data.id // +
queryParams.value.classId = '' queryParams.value.schoolId = data.schoolId
queryParams.value.schoolGradeId = data.id
queryParams.value.schoolClassId = null
} else if (data.type === 'class') { } else if (data.type === 'class') {
queryParams.value.classId = data.id // + +
queryParams.value.schoolId = data.schoolId
queryParams.value.schoolGradeId = data.schoolGradeId
queryParams.value.schoolClassId = data.id
} }
queryParams.value.pageNum = 1 queryParams.value.pageNum = 1
getList() getList()
@ -212,12 +218,12 @@ const resetQuery = () => {
queryParams.value = { queryParams.value = {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
name: '', studentName: '',
studentNo: '', studentNo: '',
gender: '', gender: '',
schoolId: '', schoolId: null,
gradeId: '', schoolGradeId: null,
classId: '' schoolClassId: null
} }
treeRef.value?.setCurrentKey(null) treeRef.value?.setCurrentKey(null)
getList() getList()