From bd14bb36c466c51eaac6863cac4cbd68fb92551b 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 16:32:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E5=AD=A6=E6=A0=A1?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=EF=BC=88=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E6=96=87=E6=A1=A3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 后端修改: 1. PgRegionController: 新增 /tree 接口用于获取区域树 2. PgRegion: 添加 children 字段支持树形结构 3. PgRegionService: 实现 selectTree 方法构建树形数据 4. PgSchoolController: 新增学校年级/班级管理接口 - GET /{schoolId}/grades: 获取学校的年级列表 - POST /grade: 为学校批量添加年级 - POST /class: 为年级批量添加班级 5. PgSchoolService: 实现年级班级挂载逻辑 6. PgSchoolGrade: 添加 gradeName 字段用于显示 前端修改: 1. school.js API: 修正路径 /api → /business 2. index.vue: 修正删除接口的 ID 字段(id → schoolId) 3. SchoolDialog.vue: 修正表单字段名 4. GradeDialog.vue: 修正 API 调用和数据格式 5. ClassDialog.vue: 重写支持选择学校已挂载的年级 @author pangu --- .../base/controller/PgRegionController.java | 8 +++ .../dromara/pangu/base/domain/PgRegion.java | 9 +++ .../pangu/base/service/IPgRegionService.java | 1 + .../service/impl/PgRegionServiceImpl.java | 25 +++++++ .../school/controller/PgSchoolController.java | 38 ++++++++++ .../pangu/school/domain/PgSchoolGrade.java | 7 ++ .../school/service/IPgSchoolService.java | 16 +++++ .../service/impl/PgSchoolServiceImpl.java | 70 +++++++++++++++++++ frontend/ruoyi-ui/src/api/pangu/school.js | 32 +++++---- .../school/components/ClassDialog.vue | 44 +++++++----- .../school/components/GradeDialog.vue | 8 ++- .../school/components/SchoolDialog.vue | 8 +-- .../src/views/business/school/index.vue | 2 +- 13 files changed, 230 insertions(+), 38 deletions(-) diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/controller/PgRegionController.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/controller/PgRegionController.java index bc4f878..05941ce 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/controller/PgRegionController.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/controller/PgRegionController.java @@ -32,6 +32,14 @@ public class PgRegionController extends BaseController { return R.ok(regionService.selectList(region)); } + /** + * 获取区域树(用于学校管理左侧筛选) + */ + @GetMapping("/tree") + public R> tree() { + return R.ok(regionService.selectTree()); + } + @GetMapping("/children/{parentId}") public R> children(@PathVariable Long parentId) { return R.ok(regionService.selectByParentId(parentId)); diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/domain/PgRegion.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/domain/PgRegion.java index 082632b..aa29e3c 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/domain/PgRegion.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/domain/PgRegion.java @@ -1,6 +1,7 @@ package org.dromara.pangu.base.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.dromara.common.mybatis.core.domain.BaseEntity; +import java.util.List; + /** * 区域表 * @@ -39,4 +42,10 @@ public class PgRegion extends BaseEntity { @TableLogic private String delFlag; + + /** + * 子区域列表(非数据库字段) + */ + @TableField(exist = false) + private List children; } diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/IPgRegionService.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/IPgRegionService.java index 0b408f0..d784a08 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/IPgRegionService.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/IPgRegionService.java @@ -11,6 +11,7 @@ import java.util.List; */ public interface IPgRegionService { List selectList(PgRegion region); + List selectTree(); PgRegion selectById(Long regionId); List selectByParentId(Long parentId); int insert(PgRegion region); diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/impl/PgRegionServiceImpl.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/impl/PgRegionServiceImpl.java index 452b129..c91cdf3 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/impl/PgRegionServiceImpl.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/base/service/impl/PgRegionServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.pangu.base.service.impl; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import org.dromara.pangu.base.domain.PgRegion; @@ -8,8 +9,10 @@ import org.dromara.pangu.base.mapper.PgRegionMapper; import org.dromara.pangu.base.service.IPgRegionService; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 区域 Service 实现 @@ -32,6 +35,28 @@ public class PgRegionServiceImpl implements IPgRegionService { return baseMapper.selectList(lqw); } + @Override + public List selectTree() { + // 查询所有启用的区域 + List allRegions = baseMapper.selectList( + new LambdaQueryWrapper() + .eq(PgRegion::getStatus, "0") + .orderByAsc(PgRegion::getOrderNum) + ); + // 构建树形结构 + return buildTree(allRegions, 0L); + } + + /** + * 构建区域树 + */ + private List buildTree(List regions, Long parentId) { + return regions.stream() + .filter(r -> parentId.equals(r.getParentId())) + .peek(r -> r.setChildren(buildTree(regions, r.getRegionId()))) + .collect(Collectors.toList()); + } + @Override public PgRegion selectById(Long regionId) { return baseMapper.selectById(regionId); diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/controller/PgSchoolController.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/controller/PgSchoolController.java index 877dd92..ab60fab 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/controller/PgSchoolController.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/controller/PgSchoolController.java @@ -9,11 +9,14 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; import org.dromara.pangu.school.domain.PgSchool; +import org.dromara.pangu.school.domain.PgSchoolClass; +import org.dromara.pangu.school.domain.PgSchoolGrade; import org.dromara.pangu.school.service.IPgSchoolService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; /** * 学校管理 @@ -65,4 +68,39 @@ public class PgSchoolController extends BaseController { public R remove(@PathVariable Long[] schoolIds) { return toAjax(schoolService.deleteByIds(schoolIds)); } + + /** + * 获取学校的年级列表 + */ + @GetMapping("/{schoolId}/grades") + public R> getSchoolGrades(@PathVariable Long schoolId) { + return R.ok(schoolService.selectGradesBySchoolId(schoolId)); + } + + /** + * 为学校添加年级(批量挂载) + */ + @SaCheckPermission("business:school:edit") + @Log(title = "学校年级管理", businessType = BusinessType.INSERT) + @PostMapping("/grade") + public R addSchoolGrade(@RequestBody Map params) { + Long schoolId = Long.valueOf(params.get("schoolId").toString()); + @SuppressWarnings("unchecked") + List gradeIds = (List) params.get("gradeIds"); + return toAjax(schoolService.addSchoolGrades(schoolId, gradeIds)); + } + + /** + * 为年级添加班级(批量挂载) + */ + @SaCheckPermission("business:school:edit") + @Log(title = "学校班级管理", businessType = BusinessType.INSERT) + @PostMapping("/class") + public R addGradeClass(@RequestBody Map params) { + Long schoolId = Long.valueOf(params.get("schoolId").toString()); + Long schoolGradeId = Long.valueOf(params.get("schoolGradeId").toString()); + @SuppressWarnings("unchecked") + List classIds = (List) params.get("classIds"); + return toAjax(schoolService.addGradeClasses(schoolId, schoolGradeId, classIds)); + } } diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchoolGrade.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchoolGrade.java index 73948ab..0d7d73f 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchoolGrade.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchoolGrade.java @@ -1,6 +1,7 @@ package org.dromara.pangu.school.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -29,4 +30,10 @@ public class PgSchoolGrade implements Serializable { private Long createBy; private Date createTime; + + /** + * 年级名称(非数据库字段,用于前端显示) + */ + @TableField(exist = false) + private String gradeName; } diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/IPgSchoolService.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/IPgSchoolService.java index 820b6d5..dcf7132 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/IPgSchoolService.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/IPgSchoolService.java @@ -3,6 +3,7 @@ package org.dromara.pangu.school.service; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.pangu.school.domain.PgSchool; +import org.dromara.pangu.school.domain.PgSchoolGrade; import java.util.List; @@ -18,4 +19,19 @@ public interface IPgSchoolService { int insert(PgSchool school); int update(PgSchool school); int deleteByIds(Long[] schoolIds); + + /** + * 获取学校的年级列表 + */ + List selectGradesBySchoolId(Long schoolId); + + /** + * 为学校添加年级(批量挂载) + */ + int addSchoolGrades(Long schoolId, List gradeIds); + + /** + * 为年级添加班级(批量挂载) + */ + int addGradeClasses(Long schoolId, Long schoolGradeId, List classIds); } diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java index 9d7d159..4497279 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java @@ -6,10 +6,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.pangu.base.domain.PgGrade; +import org.dromara.pangu.base.mapper.PgGradeMapper; import org.dromara.pangu.school.domain.PgSchool; +import org.dromara.pangu.school.domain.PgSchoolClass; +import org.dromara.pangu.school.domain.PgSchoolGrade; +import org.dromara.pangu.school.mapper.PgSchoolClassMapper; +import org.dromara.pangu.school.mapper.PgSchoolGradeMapper; import org.dromara.pangu.school.mapper.PgSchoolMapper; import org.dromara.pangu.school.service.IPgSchoolService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; @@ -24,6 +31,9 @@ import java.util.List; public class PgSchoolServiceImpl implements IPgSchoolService { private final PgSchoolMapper baseMapper; + private final PgSchoolGradeMapper schoolGradeMapper; + private final PgSchoolClassMapper schoolClassMapper; + private final PgGradeMapper gradeMapper; @Override public TableDataInfo selectPageList(PgSchool school, PageQuery pageQuery) { @@ -57,6 +67,66 @@ public class PgSchoolServiceImpl implements IPgSchoolService { return baseMapper.deleteByIds(Arrays.asList(schoolIds)); } + @Override + public List selectGradesBySchoolId(Long schoolId) { + List schoolGrades = schoolGradeMapper.selectList( + new LambdaQueryWrapper() + .eq(PgSchoolGrade::getSchoolId, schoolId) + ); + // 关联查询年级名称 + for (PgSchoolGrade sg : schoolGrades) { + PgGrade grade = gradeMapper.selectById(sg.getGradeId()); + if (grade != null) { + sg.setGradeName(grade.getGradeName()); + } + } + return schoolGrades; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int addSchoolGrades(Long schoolId, List gradeIds) { + int count = 0; + for (Long gradeId : gradeIds) { + // 检查是否已存在 + Long exists = schoolGradeMapper.selectCount( + new LambdaQueryWrapper() + .eq(PgSchoolGrade::getSchoolId, schoolId) + .eq(PgSchoolGrade::getGradeId, gradeId) + ); + if (exists == 0) { + PgSchoolGrade schoolGrade = new PgSchoolGrade(); + schoolGrade.setSchoolId(schoolId); + schoolGrade.setGradeId(gradeId); + count += schoolGradeMapper.insert(schoolGrade); + } + } + return count; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int addGradeClasses(Long schoolId, Long schoolGradeId, List classIds) { + int count = 0; + for (Long classId : classIds) { + // 检查是否已存在 + Long exists = schoolClassMapper.selectCount( + new LambdaQueryWrapper() + .eq(PgSchoolClass::getSchoolId, schoolId) + .eq(PgSchoolClass::getSchoolGradeId, schoolGradeId) + .eq(PgSchoolClass::getClassId, classId) + ); + if (exists == 0) { + PgSchoolClass schoolClass = new PgSchoolClass(); + schoolClass.setSchoolId(schoolId); + schoolClass.setSchoolGradeId(schoolGradeId); + schoolClass.setClassId(classId); + count += schoolClassMapper.insert(schoolClass); + } + } + return count; + } + private LambdaQueryWrapper buildQueryWrapper(PgSchool school) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.like(StrUtil.isNotBlank(school.getSchoolName()), PgSchool::getSchoolName, school.getSchoolName()); diff --git a/frontend/ruoyi-ui/src/api/pangu/school.js b/frontend/ruoyi-ui/src/api/pangu/school.js index 54cafb7..43c3a10 100644 --- a/frontend/ruoyi-ui/src/api/pangu/school.js +++ b/frontend/ruoyi-ui/src/api/pangu/school.js @@ -7,7 +7,7 @@ import request from '@/utils/request' // 获取区域树 export function getRegionTree() { return request({ - url: '/api/region/tree', + url: '/business/region/tree', method: 'get' }) } @@ -15,7 +15,7 @@ export function getRegionTree() { // 获取学校列表 export function getSchoolList(params) { return request({ - url: '/api/school/list', + url: '/business/school/list', method: 'get', params }) @@ -24,7 +24,7 @@ export function getSchoolList(params) { // 获取学校详情 export function getSchoolDetail(id) { return request({ - url: `/api/school/${id}`, + url: `/business/school/${id}`, method: 'get' }) } @@ -32,7 +32,7 @@ export function getSchoolDetail(id) { // 新增学校 export function addSchool(data) { return request({ - url: '/api/school', + url: '/business/school', method: 'post', data }) @@ -41,7 +41,7 @@ export function addSchool(data) { // 修改学校 export function updateSchool(data) { return request({ - url: '/api/school', + url: '/business/school', method: 'put', data }) @@ -50,15 +50,15 @@ export function updateSchool(data) { // 删除学校 export function deleteSchool(id) { return request({ - url: `/api/school/${id}`, + url: `/business/school/${id}`, method: 'delete' }) } -// 获取年级列表(字典数据) +// 获取年级选项(用于学校挂载年级) export function getGradeOptions() { return request({ - url: '/api/grade/options', + url: '/business/grade/listAll', method: 'get' }) } @@ -66,16 +66,16 @@ export function getGradeOptions() { // 为学校添加年级 export function addSchoolGrade(data) { return request({ - url: '/api/school/grade', + url: '/business/school/grade', method: 'post', data }) } -// 获取班级列表(字典数据) +// 获取班级选项(用于年级挂载班级) export function getClassOptions() { return request({ - url: '/api/class/options', + url: '/business/class/listAll', method: 'get' }) } @@ -83,8 +83,16 @@ export function getClassOptions() { // 为年级添加班级 export function addGradeClass(data) { return request({ - url: '/api/school/class', + url: '/business/school/class', method: 'post', data }) } + +// 获取学校年级树(用于新增班级时选择年级) +export function getSchoolGradeTree(schoolId) { + return request({ + url: `/business/school/${schoolId}/grades`, + method: 'get' + }) +} diff --git a/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue b/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue index dc5821f..119f7f1 100644 --- a/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue +++ b/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue @@ -12,13 +12,13 @@ - - + + @@ -50,7 +50,8 @@ */ import { ElMessage } from 'element-plus' import { onMounted, ref } from 'vue' -import { addGradeClass, getClassOptions, getGradeOptions } from '@/api/pangu/school' +import request from '@/utils/request' +import { addGradeClass, getClassOptions, getSchoolGradeTree } from '@/api/pangu/school' const emit = defineEmits(['success']) @@ -58,25 +59,25 @@ const dialogVisible = ref(false) const submitLoading = ref(false) const formRef = ref(null) const currentSchool = ref(null) -const gradeOptions = ref([]) +const schoolGradeOptions = ref([]) const classOptions = ref([]) // 表单数据 const form = ref({ schoolId: null, - gradeId: '', + schoolGradeId: null, classIds: [] }) -// 获取年级选项 -const fetchGradeOptions = async () => { +// 获取学校已挂载的年级 +const fetchSchoolGrades = async (schoolId) => { try { - const res = await getGradeOptions() + const res = await getSchoolGradeTree(schoolId) if (res.code === 200) { - gradeOptions.value = res.data + schoolGradeOptions.value = res.data || [] } } catch (error) { - console.error('获取年级选项失败:', error) + console.error('获取学校年级失败:', error) } } @@ -85,7 +86,11 @@ const fetchClassOptions = async () => { try { const res = await getClassOptions() if (res.code === 200) { - classOptions.value = res.data + // 转换为选项格式 + classOptions.value = (res.data || []).map(item => ({ + value: item.classId, + label: item.className + })) } } catch (error) { console.error('获取班级选项失败:', error) @@ -97,15 +102,17 @@ const open = (school) => { dialogVisible.value = true currentSchool.value = school form.value = { - schoolId: school.id, - gradeId: '', + schoolId: school.schoolId, + schoolGradeId: null, classIds: [] } + // 获取该学校已挂载的年级 + fetchSchoolGrades(school.schoolId) } // 提交表单 const handleSubmit = async () => { - if (!form.value.gradeId) { + if (!form.value.schoolGradeId) { ElMessage.warning('请选择年级') return } @@ -131,7 +138,6 @@ const handleSubmit = async () => { // 初始化 onMounted(() => { - fetchGradeOptions() fetchClassOptions() }) diff --git a/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue b/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue index fbe41f6..6fe9a48 100644 --- a/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue +++ b/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue @@ -60,7 +60,11 @@ const fetchGradeOptions = async () => { try { const res = await getGradeOptions() if (res.code === 200) { - gradeOptions.value = res.data + // 转换为选项格式 + gradeOptions.value = (res.data || []).map(item => ({ + value: item.gradeId, + label: item.gradeName + })) } } catch (error) { console.error('获取年级选项失败:', error) @@ -72,7 +76,7 @@ const open = (school) => { dialogVisible.value = true currentSchool.value = school form.value = { - schoolId: school.id, + schoolId: school.schoolId, gradeIds: [] } } diff --git a/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue b/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue index bb046c8..21d2f29 100644 --- a/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue +++ b/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue @@ -83,7 +83,7 @@ const isEdit = ref(false) // 表单数据 const form = ref({ - id: null, + schoolId: null, schoolName: '', schoolType: '', regionId: null, @@ -144,7 +144,7 @@ const open = (row) => { if (row) { // 编辑模式:回显数据 form.value = { - id: row.id, + schoolId: row.schoolId, schoolName: row.schoolName, schoolType: row.schoolType, regionId: row.regionId, @@ -155,7 +155,7 @@ const open = (row) => { } else { // 新增模式:重置表单 form.value = { - id: null, + schoolId: null, schoolName: '', schoolType: '', regionId: null, @@ -203,7 +203,7 @@ const handleSubmit = async () => { regionIds: undefined // 不提交级联选择器的数组 } - const res = isEdit.value + const res = form.value.schoolId ? await updateSchool(submitData) : await addSchool(submitData) diff --git a/frontend/ruoyi-ui/src/views/business/school/index.vue b/frontend/ruoyi-ui/src/views/business/school/index.vue index e533f0e..54facac 100644 --- a/frontend/ruoyi-ui/src/views/business/school/index.vue +++ b/frontend/ruoyi-ui/src/views/business/school/index.vue @@ -216,7 +216,7 @@ const handleDelete = (row) => { cancelButtonText: '取消', type: 'warning' }).then(async () => { - const res = await request.delete(`/business/school/${row.id}`) + const res = await request.delete(`/business/school/${row.schoolId}`) if (res.code === 200) { ElMessage.success('删除成功') getList()