完成报告管理请求
This commit is contained in:
parent
d5667573fa
commit
986f573956
122
src/api/report/daily.js
Normal file
122
src/api/report/daily.js
Normal 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
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -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>
|
||||
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user