完成报告管理请求

This commit is contained in:
wzclm 2025-02-21 03:35:02 +08:00
parent d5667573fa
commit 986f573956
4 changed files with 1275 additions and 436 deletions

122
src/api/report/daily.js Normal file
View File

@ -0,0 +1,122 @@
import request from '@/utils/request'
/**
* 获取报告列表
* @param {Object} params - 查询参数
* @param {number} [params.page=1] - 页码
* @param {number} [params.pageSize=10] - 每页条数
* @param {number} [params.status] - 状态筛选
* @param {string} [params.startDate] - 开始日期
* @param {string} [params.endDate] - 结束日期
* @param {string} [params.keyword] - 搜索关键词
* @returns {Promise} 返回报告列表数据
*/
export function getReportList(params = {}) {
return request.get('/api/reports', {
params: {
page: 1,
pageSize: 10,
...params
}
})
}
/**
* 获取报告详情
* @param {string|number} id - 报告ID
* @returns {Promise} 返回报告详情数据
*/
export function getReportDetail(id) {
return request.get(`/api/reports/${id}`)
}
/**
* 删除报告
* @param {string|number} id - 报告ID
* @returns {Promise} 返回删除结果
*/
export function deleteReport(id) {
return request.delete(`/api/reports/${id}`)
}
/**
* 审核报告
* @param {string|number} id - 报告ID
* @param {Object} data - 审核数据
* @param {boolean} data.approved - 是否通过
* @param {string} [data.comment] - 审核意见
* @returns {Promise} 返回审核结果
*/
export function reviewReport(id, data) {
return request.post(`/api/reports/${id}/review`, {
status: data.approved ? 2 : 3, // 2表示通过3表示驳回
review_comment: !data.approved ? data.comment : undefined // 仅在驳回时发送审核意见
})
}
/**
* 获取报告统计信息
* @returns {Promise} 返回统计数据
*/
export function getReportStatistics() {
return request.get('/api/reports/statistics')
}
/**
* 批量导出报告
* @param {Object} params - 导出参数
* @param {Array<number>} params.ids - 报告ID列表
* @returns {Promise} 返回二进制文件流
*/
export function batchExportReports(params) {
return request.post('/api/reports/batch/export', {
ids: params.ids,
format: 'excel'
}, {
responseType: 'arraybuffer',
headers: {
'Accept': 'application/vnd.ms-excel',
'Content-Type': 'application/json'
}
})
}
/**
* 批量删除报告
* @param {Array<number>} ids - 报告ID列表
* @returns {Promise} 返回删除结果
*/
export function batchDeleteReports(ids) {
return request.post('/api/reports/batch/delete', { ids })
}
/**
* 导出单个报告
* @param {string|number} id - 报告ID
* @returns {Promise} 返回二进制文件流
*/
export function exportReport(id) {
return request.post(`/api/reports/${id}/export`, { id }, {
responseType: 'arraybuffer',
headers: {
'Accept': 'application/vnd.ms-excel',
'Content-Type': 'application/json'
}
})
}
/**
* 获取报告趋势数据
* @param {Object} params - 查询参数
* @param {number} [params.days=30] - 统计天数
* @param {string} [params.type] - 报告类型
* @returns {Promise} 返回趋势数据
*/
export function getReportTrend(params = {}) {
return request.get('/api/reports/statistics', {
params: {
days: 30,
...params
}
})
}

View File

@ -136,7 +136,7 @@ const handleLogout = () => {
<el-icon><component :is="icons.Document" /></el-icon>
<span>报告管理</span>
</template>
<el-menu-item index="/report/daily">日常报告</el-menu-item>
<el-menu-item index="/report/daily">报告管理</el-menu-item>
<el-menu-item index="/report/analysis">分析报告</el-menu-item>
<el-menu-item index="/report/about">项目背景</el-menu-item>
</el-sub-menu>

View File

@ -460,7 +460,7 @@ const handleRefresh = () => {
</template>
<style lang="scss" scoped>
@use "./styles/variables" as v;
@use "../../../styles/variables.scss" as *;
.analysis-report {
.card-header {

File diff suppressed because it is too large Load Diff