From e0f7017bcbcde70f7bf12a1a8e08d20088f42013 Mon Sep 17 00:00:00 2001 From: zhoulexin Date: Fri, 5 Jun 2026 11:21:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=95=99=E5=AD=A6=E6=A5=BC=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/info.js | 59 +-- src/views/info/building.vue | 384 +++++++++++------- src/views/info/class.vue | 261 ++++++------ .../info/components/ClassCourseDialog.vue | 108 +++++ 4 files changed, 517 insertions(+), 295 deletions(-) create mode 100644 src/views/info/components/ClassCourseDialog.vue diff --git a/src/api/info.js b/src/api/info.js index 8eac82d..de7c3cc 100644 --- a/src/api/info.js +++ b/src/api/info.js @@ -2,90 +2,95 @@ import request from '@/utils/request' // ==================== 教学楼信息 ==================== -// 获取教学楼列表 +// 获取教学楼列表(分页) export function getBuildings(params) { - return request({ url: '/info/buildings', method: 'get', params }) + return request({ url: '/building/page', method: 'get', params }) } // 新增教学楼 export function addBuilding(data) { - return request({ url: '/info/buildings', method: 'post', data }) + return request({ url: '/building', method: 'post', data }) } // 编辑教学楼 export function updateBuilding(data) { - return request({ url: '/info/buildings', method: 'put', data }) + return request({ url: `/building/${data.id}`, method: 'put', data }) } -// 删除教学楼 -export function deleteBuilding(id) { - return request({ url: `/info/buildings/${id}`, method: 'delete' }) +// 删除教学楼(支持批量,传入 id 数组) +export function deleteBuilding(ids) { + return request({ url: '/building', method: 'delete', data: ids }) } -// 获取教室列表(按教学楼id) +// 获取教室列表(分页,按教学楼id) export function getRooms(params) { - return request({ url: '/info/rooms', method: 'get', params }) + return request({ url: '/classroom/page', method: 'get', params }) } // 新增教室 export function addRoom(data) { - return request({ url: '/info/rooms', method: 'post', data }) + return request({ url: '/classroom', method: 'post', data }) } // 编辑教室 export function updateRoom(data) { - return request({ url: '/info/rooms', method: 'put', data }) + return request({ url: `/classroom/${data.id}`, method: 'put', data }) } -// 删除教室 -export function deleteRoom(id) { - return request({ url: `/info/rooms/${id}`, method: 'delete' }) +// 删除教室(支持批量,传入 id 数组) +export function deleteRoom(ids) { + return request({ url: '/classroom', method: 'delete', data: ids }) } // 获取摄像头列表(按教室id) export function getCameras(params) { - return request({ url: '/info/cameras', method: 'get', params }) + return request({ url: '/device/page', method: 'get', params }) } // 新增摄像头 export function addCamera(data) { - return request({ url: '/info/cameras', method: 'post', data }) + return request({ url: '/device', method: 'post', data }) } // 编辑摄像头 export function updateCamera(data) { - return request({ url: '/info/cameras', method: 'put', data }) + return request({ url: `/device/${data.id}`, method: 'put', data }) } -// 删除摄像头 -export function deleteCamera(id) { - return request({ url: `/info/cameras/${id}`, method: 'delete' }) +// 删除摄像头(支持批量,传入 id 数组) +export function deleteCamera(ids) { + return request({ url: '/device', method: 'delete', data: ids }) } // ==================== 班级信息 ==================== -// 获取班级列表 +// 获取班级列表(分页) export function getClasses(params) { - return request({ url: '/info/classes', method: 'get', params }) + return request({ url: '/class/page', method: 'get', params }) } // 新增班级 export function addClass(data) { - return request({ url: '/info/classes', method: 'post', data }) + return request({ url: '/class', method: 'post', data }) } // 编辑班级 export function updateClass(data) { - return request({ url: '/info/classes', method: 'put', data }) + return request({ url: `/class/${data.id}`, method: 'put', data }) } -// 删除班级 -export function deleteClass(id) { - return request({ url: `/info/classes/${id}`, method: 'delete' }) +// 删除班级(支持批量,传入 id 数组) +export function deleteClass(ids) { + return request({ url: '/class', method: 'delete', data: ids }) } // ==================== 教师信息 ==================== +// 获取教师列表(下拉用,返回全部) +export function getTeacherList() { + return request({ url: '/teacher/list', method: 'get' }) +} + // 获取教师列表(分页 + 关键字搜索) export function getTeachers(params) { return request({ url: '/teacher/page', method: 'get', params }) diff --git a/src/views/info/building.vue b/src/views/info/building.vue index a7b9d75..2dda4a8 100644 --- a/src/views/info/building.vue +++ b/src/views/info/building.vue @@ -20,7 +20,7 @@
@@ -120,10 +121,11 @@
- + + - + @@ -140,7 +142,7 @@ + + + - - + + - - - - + + + + @@ -233,9 +238,10 @@