Files
yunzerwebsiteallinone/backend/src/api/oaDailyReport.js
T
2026-10-21 17:45:50 +08:00

82 lines
2.2 KiB
JavaScript

import request from '@/utils/request'
// OA 工作日报
// 响应拦截器只返回 {code, data, msg} 包装,调用方需自行取 res.data
// 当前用户身份与可见范围:{ user_id, org_id, is_admin, can_view_team, window_start, window_end, backfill_days }
export function getDailyReportProfile() {
return request({
url: '/backend/oa/dailyreport/profile',
method: 'get'
})
}
// 我的日报列表:params = { page, pageSize, start_date, end_date }
// data = { list, total, summary: { month_total, month_submitted, today_status, today_report_id, window_start, window_end } }
export function getMyDailyReports(params) {
return request({
url: '/backend/oa/dailyreport/mine/list',
method: 'get',
params
})
}
// 保存日报:{ date, today_done, tomorrow_plan, issues, attachments, submit }
// submit=true 提交,false 存草稿;同一人同一天只会有一条记录
export function saveDailyReport(data) {
return request({
url: '/backend/oa/dailyreport/save',
method: 'post',
data
})
}
// 日报详情:{ report, comments, can_edit, can_delete, can_comment }
export function getDailyReportDetail(id) {
return request({
url: `/backend/oa/dailyreport/detail/${id}`,
method: 'get'
})
}
export function deleteDailyReport(id) {
return request({
url: `/backend/oa/dailyreport/delete/${id}`,
method: 'delete'
})
}
// 团队汇总:params = { date, org_id, keyword, page, pageSize }
// data = { date, list, total, stats: { total, submitted, missing, rate } }
export function getTeamDailyReports(params) {
return request({
url: '/backend/oa/dailyreport/team/status',
method: 'get',
params
})
}
// 团队筛选部门:data = { list: [{ id, parent_id, name, member_count }] }
export function getTeamDailyReportOrgs() {
return request({
url: '/backend/oa/dailyreport/team/orgs',
method: 'get'
})
}
// 评论 / 回复:{ report_id, content, reply_to_id }
export function addDailyReportComment(data) {
return request({
url: '/backend/oa/dailyreport/comment',
method: 'post',
data
})
}
export function deleteDailyReportComment(id) {
return request({
url: `/backend/oa/dailyreport/comment/${id}`,
method: 'delete'
})
}