智慧水务管理系统 - 精河县供水工程综合管理平台

duty.ts 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import request from './request'
  2. // ==================== 排班管理 ====================
  3. export function getMonthlySchedule(year: number, month: number) {
  4. return request.get('/production/duty/schedule/monthly', { params: { year, month } })
  5. }
  6. export function getScheduleRange(start: string, end: string) {
  7. return request.get('/production/duty/schedule/range', { params: { start, end } })
  8. }
  9. export function getTodaySchedule() {
  10. return request.get('/production/duty/schedule/today')
  11. }
  12. export function createSchedule(data: any) {
  13. return request.post('/production/duty/schedule', data)
  14. }
  15. export function batchCreateSchedule(data: any[]) {
  16. return request.post('/production/duty/schedule/batch', data)
  17. }
  18. export function autoSchedule(data: { userIds: number[], startDate: string, endDate: string, shiftType?: string }) {
  19. return request.post('/production/duty/schedule/auto', data)
  20. }
  21. export function updateSchedule(id: number, data: any) {
  22. return request.put(`/production/duty/schedule/${id}`, data)
  23. }
  24. export function cancelSchedule(id: number) {
  25. return request.delete(`/production/duty/schedule/${id}`)
  26. }
  27. // ==================== 上下班打卡 ====================
  28. export function getTodayRecords() {
  29. return request.get('/production/duty/record/today')
  30. }
  31. export function getRecordsByDate(date: string) {
  32. return request.get(`/production/duty/record/date/${date}`)
  33. }
  34. export function getUserRecords(userId: number, start: string, end: string) {
  35. return request.get(`/production/duty/record/user/${userId}`, { params: { start, end } })
  36. }
  37. export function startDuty(data: { userId: number, location?: string }) {
  38. return request.post('/production/duty/record/start', data)
  39. }
  40. export function endDuty(data: { userId: number, location?: string, handoverRemark?: string }) {
  41. return request.post('/production/duty/record/end', data)
  42. }
  43. export function getCurrentDutyStatus(userId: number) {
  44. return request.get(`/production/duty/record/status/${userId}`)
  45. }
  46. export function getDutyStats(userId: number, year: number, month: number) {
  47. return request.get(`/production/duty/record/stats/${userId}`, { params: { year, month } })
  48. }
  49. // ==================== 交接班管理 ====================
  50. export function createHandover(data: any) {
  51. return request.post('/production/duty/handover', data)
  52. }
  53. export function getHandoversByDate(date: string) {
  54. return request.get(`/production/duty/handover/date/${date}`)
  55. }
  56. export function getHandoversByRange(start: string, end: string) {
  57. return request.get('/production/duty/handover/range', { params: { start, end } })
  58. }
  59. export function getHandoverDetail(id: number) {
  60. return request.get(`/production/duty/handover/${id}`)
  61. }
  62. export function updateHandover(id: number, data: any) {
  63. return request.put(`/production/duty/handover/${id}`, data)
  64. }
  65. export function signFrom(id: number) {
  66. return request.post(`/production/duty/handover/${id}/sign-from`)
  67. }
  68. export function signTo(id: number) {
  69. return request.post(`/production/duty/handover/${id}/sign-to`)
  70. }
  71. export function checkHandoverStatus(date: string) {
  72. return request.get(`/production/duty/handover/status/${date}`)
  73. }
  74. // ==================== 值班日志 ====================
  75. export function createDutyLog(data: any) {
  76. return request.post('/production/duty/log', data)
  77. }
  78. export function getLogsByDate(date: string) {
  79. return request.get(`/production/duty/log/date/${date}`)
  80. }
  81. export function getLogsByRange(start: string, end: string) {
  82. return request.get('/production/duty/log/range', { params: { start, end } })
  83. }
  84. export function getLogDetail(id: number) {
  85. return request.get(`/production/duty/log/${id}`)
  86. }
  87. export function updateLog(id: number, data: any) {
  88. return request.put(`/production/duty/log/${id}`, data)
  89. }
  90. export function deleteLog(id: number) {
  91. return request.delete(`/production/duty/log/${id}`)
  92. }
  93. export function handleLog(id: number, data: { handlerId: number, result: string }) {
  94. return request.post(`/production/duty/log/${id}/handle`, data)
  95. }
  96. export function getLogStats(date: string) {
  97. return request.get(`/production/duty/log/stats/${date}`)
  98. }
  99. // ==================== 联系方式面板 ====================
  100. export function getDutyContacts() {
  101. return request.get('/production/duty/contacts')
  102. }