diff --git a/package-lock.json b/package-lock.json index 4253b72..7a9f4e9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1968,7 +1968,6 @@ "version": "5.6.0", "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz", "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", - "license": "Apache-2.0", "dependencies": { "tslib": "2.3.0", "zrender": "5.6.1" diff --git a/src/api/activity/courseEnrollment.js b/src/api/activity/courseEnrollment.js new file mode 100644 index 0000000..4e44709 --- /dev/null +++ b/src/api/activity/courseEnrollment.js @@ -0,0 +1,30 @@ +import request from '@/utils/request' + +/** + * 获取课程报名列表 + * @returns {Promise} 返回报名列表数据 + */ +export function getCourseEnrollmentList() { + return request.get('/api/admin/course-enrollments') +} + +/** + * 导出报名记录 + * @param {Object} params - 查询参数 + * @param {number} [params.courseId] - 课程ID + * @param {string} [params.startTime] - 开始时间 + * @param {string} [params.endTime] - 结束时间 + * @param {number} [params.status] - 状态 + * @returns {Promise} 返回文件内容 + */ +export function exportCourseEnrollments(params = {}) { + return request.get('/api/admin/course-enrollments/export', { + params: { + course_id: params.courseId, + start_time: params.startTime, + end_time: params.endTime, + status: params.status === '' ? undefined : params.status + }, + responseType: 'blob' // 设置响应类型为blob + }) +} \ No newline at end of file diff --git a/src/api/monitor/species.js b/src/api/monitor/species.js new file mode 100644 index 0000000..994cc90 --- /dev/null +++ b/src/api/monitor/species.js @@ -0,0 +1,79 @@ +import request from '@/utils/request' + +/** + * 查询物种列表 + * @param {Object} params - 查询参数 + * @param {number} [params.page=1] - 页码 + * @param {number} [params.page_size=10] - 每页条数 + * @param {string} [params.species_code] - 物种编号 + * @param {string} [params.chinese_name] - 中文名称 + * @param {string} [params.category] - 物种类别 + * @param {string} [params.protection_level] - 保护等级 + * @param {number} [params.status] - 状态 + * @returns {Promise} 返回物种列表数据 + */ +export function getSpeciesList(params = {}) { + return request.get('/api/admin/species', { + params: { + page: params.page || 1, + page_size: params.page_size || 10, + species_code: params.species_code || undefined, + chinese_name: params.chinese_name || undefined, + category: params.category || undefined, + protection_level: params.protection_level || undefined, + status: params.status === '' ? undefined : params.status + } + }) +} + +/** + * 获取物种详细信息 + * @param {string|number} id - 物种ID + * @returns {Promise} 返回物种详细信息 + */ +export function getSpecies(id) { + return request.get(`/api/admin/species/${id}`) +} + +/** + * 创建物种 + * @param {Object} data - 物种数据 + * @returns {Promise} 返回创建结果 + */ +export function addSpecies(data) { + return request.post('/api/admin/species', data, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }) +} + +/** + * 更新物种信息 + * @param {string|number} id - 物种ID + * @param {Object} data - 更新数据 + * @returns {Promise} 返回更新结果 + */ +export function updateSpecies(id, data) { + return request.put(`/api/admin/species/${id}`, data) +} + +/** + * 更新物种状态 + * @param {string|number} id - 物种ID + * @param {number} status - 状态值:1-启用,0-禁用 + * @returns {Promise} 返回状态更新结果 + */ +export function updateSpeciesStatus(id, status) { + return request.put(`/api/admin/species/${id}/status`, { + status: status === 1 ? 1 : 0 // 确保只发送 1 或 0 + }) +} + +/** + * 获取物种统计信息 + * @returns {Promise} 返回统计数据,包含物种类别和保护等级的统计 + */ +export function getSpeciesStatistics() { + return request.get('/api/admin/species/statistics/overview') +} \ No newline at end of file diff --git a/src/layout/AdminLayout.vue b/src/layout/AdminLayout.vue index b18598b..2abbe2b 100644 --- a/src/layout/AdminLayout.vue +++ b/src/layout/AdminLayout.vue @@ -164,11 +164,19 @@ const handleLogout = () => { 活动管理 - 课程管理 研学管理 知识库管理 + + + 课程管理 + 报名管理 + +