leave.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import request from '@/utils/http'
  2. /** 请假申请列表 */
  3. export function fetchLeaveList(params?: {
  4. page?: number
  5. pageSize?: number
  6. keyword?: string
  7. status?: string
  8. }) {
  9. return request.get<{
  10. list: Api.Leave.LeaveItem[]
  11. total: number
  12. page: number
  13. pageSize: number
  14. totalPages: number
  15. }>({
  16. url: '/web/admin/leave',
  17. params
  18. })
  19. }
  20. /** 创建请假申请 */
  21. export function fetchCreateLeave(data: {
  22. leaveType: string
  23. startDate: string
  24. endDate: string
  25. days: number
  26. reason?: string
  27. remark?: string
  28. }) {
  29. return request.post<Api.Leave.LeaveItem>({
  30. url: '/web/admin/leave',
  31. data,
  32. showSuccessMessage: true
  33. })
  34. }
  35. /** 编辑请假申请 */
  36. export function fetchUpdateLeave(
  37. id: string,
  38. data: Partial<{
  39. leaveType: string
  40. startDate: string
  41. endDate: string
  42. days: number
  43. reason: string
  44. remark: string
  45. }>
  46. ) {
  47. return request.put<Api.Leave.LeaveItem>({
  48. url: `/web/admin/leave/${id}`,
  49. data,
  50. showSuccessMessage: true
  51. })
  52. }
  53. /** 删除请假申请 */
  54. export function fetchDeleteLeave(id: string) {
  55. return request.del({
  56. url: `/web/admin/leave/${id}`,
  57. showSuccessMessage: true
  58. })
  59. }
  60. /** 提交请假申请并发起审批 */
  61. export function fetchSubmitLeave(id: string) {
  62. return request.post<{ instanceId: string; status: string }>({
  63. url: `/web/admin/leave/${id}/submit`,
  64. showSuccessMessage: true
  65. })
  66. }
  67. /** 请假详情 */
  68. export function fetchLeaveDetail(id: string) {
  69. return request.get<Api.Leave.LeaveItem>({
  70. url: `/web/admin/leave/${id}`
  71. })
  72. }