完成报告管理请求
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>
|
<el-icon><component :is="icons.Document" /></el-icon>
|
||||||
<span>报告管理</span>
|
<span>报告管理</span>
|
||||||
</template>
|
</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/analysis">分析报告</el-menu-item>
|
||||||
<el-menu-item index="/report/about">项目背景</el-menu-item>
|
<el-menu-item index="/report/about">项目背景</el-menu-item>
|
||||||
</el-sub-menu>
|
</el-sub-menu>
|
||||||
|
|||||||
@ -460,7 +460,7 @@ const handleRefresh = () => {
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@use "./styles/variables" as v;
|
@use "../../../styles/variables.scss" as *;
|
||||||
|
|
||||||
.analysis-report {
|
.analysis-report {
|
||||||
.card-header {
|
.card-header {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user