From e1ea099a3866bd66cede1fed7623aa2fe6df87b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E7=A0=81-=E6=96=B9=E6=99=93=E8=BE=89?= Date: Mon, 2 Feb 2026 21:00:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=B7=A6=E4=BE=A7=E6=A0=91=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E6=9C=AA=E6=AD=A3=E7=A1=AE=E4=BC=A0=E9=80=92?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:点击年级/班级节点时,只传了当前节点ID,未带上父级条件 修复: 1. 参数名改为与后端一致(schoolGradeId、schoolClassId) 2. 点击年级节点时,同时传递 schoolId + schoolGradeId 3. 点击班级节点时,同时传递 schoolId + schoolGradeId + schoolClassId 同步更新需求文档 --- docs/01-需求文档/需求规格说明书_v1.0.md | 2 +- .../src/views/business/student/index.vue | 36 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/docs/01-需求文档/需求规格说明书_v1.0.md b/docs/01-需求文档/需求规格说明书_v1.0.md index a23f83b..288b649 100644 --- a/docs/01-需求文档/需求规格说明书_v1.0.md +++ b/docs/01-需求文档/需求规格说明书_v1.0.md @@ -323,7 +323,7 @@ | 功能编号 | 功能名称 | 功能描述 | 优先级 | | ------- | ------ | ------------------- |:---:| | STU-001 | 学生列表查询 | 按姓名、学号、性别、手机号、学科等筛选 | P0 | -| STU-002 | 学校树筛选 | 通过左侧学校树快速定位学生 | P0 | +| STU-002 | 学校树筛选 | 通过左侧学校树快速定位学生,点击节点时带上完整层级条件(学校+年级+班级) | P0 | | STU-003 | 新增学生 | 手动创建学生信息 | P0 | | STU-004 | 编辑学生 | 修改学生基本信息 | P0 | | STU-005 | 删除学生 | 软删除学生信息 | P1 | diff --git a/frontend/ruoyi-ui/src/views/business/student/index.vue b/frontend/ruoyi-ui/src/views/business/student/index.vue index a06e7cb..5faf123 100644 --- a/frontend/ruoyi-ui/src/views/business/student/index.vue +++ b/frontend/ruoyi-ui/src/views/business/student/index.vue @@ -28,7 +28,7 @@ - + @@ -139,12 +139,12 @@ const total = ref(0) const queryParams = ref({ pageNum: 1, pageSize: 10, - name: '', + studentName: '', studentNo: '', gender: '', - schoolId: '', - gradeId: '', - classId: '' + schoolId: null, + schoolGradeId: null, + schoolClassId: null }) // 弹窗引用 @@ -186,16 +186,22 @@ const getList = async () => { // 树节点点击 const handleNodeClick = (data) => { - // 根据节点层级设置筛选条件 + // 根据节点层级设置筛选条件,子节点需要带上父级条件 if (data.type === 'school') { + // 点击学校:只筛选学校 queryParams.value.schoolId = data.id - queryParams.value.gradeId = '' - queryParams.value.classId = '' + queryParams.value.schoolGradeId = null + queryParams.value.schoolClassId = null } 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') { - queryParams.value.classId = data.id + // 点击班级:筛选学校 + 年级 + 班级 + queryParams.value.schoolId = data.schoolId + queryParams.value.schoolGradeId = data.schoolGradeId + queryParams.value.schoolClassId = data.id } queryParams.value.pageNum = 1 getList() @@ -212,12 +218,12 @@ const resetQuery = () => { queryParams.value = { pageNum: 1, pageSize: 10, - name: '', + studentName: '', studentNo: '', gender: '', - schoolId: '', - gradeId: '', - classId: '' + schoolId: null, + schoolGradeId: null, + schoolClassId: null } treeRef.value?.setCurrentKey(null) getList()