79 lines
1.5 KiB
TypeScript
79 lines
1.5 KiB
TypeScript
import request from '@/utils/http'
|
|
|
|
/** 请假申请列表 */
|
|
export function fetchLeaveList(params?: {
|
|
page?: number
|
|
pageSize?: number
|
|
keyword?: string
|
|
status?: string
|
|
}) {
|
|
return request.get<{
|
|
list: Api.Leave.LeaveItem[]
|
|
total: number
|
|
page: number
|
|
pageSize: number
|
|
totalPages: number
|
|
}>({
|
|
url: '/web/admin/leave',
|
|
params
|
|
})
|
|
}
|
|
|
|
/** 创建请假申请 */
|
|
export function fetchCreateLeave(data: {
|
|
leaveType: string
|
|
startDate: string
|
|
endDate: string
|
|
days: number
|
|
reason?: string
|
|
remark?: string
|
|
}) {
|
|
return request.post<Api.Leave.LeaveItem>({
|
|
url: '/web/admin/leave',
|
|
data,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
/** 编辑请假申请 */
|
|
export function fetchUpdateLeave(
|
|
id: string,
|
|
data: Partial<{
|
|
leaveType: string
|
|
startDate: string
|
|
endDate: string
|
|
days: number
|
|
reason: string
|
|
remark: string
|
|
}>
|
|
) {
|
|
return request.put<Api.Leave.LeaveItem>({
|
|
url: `/web/admin/leave/${id}`,
|
|
data,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
/** 删除请假申请 */
|
|
export function fetchDeleteLeave(id: string) {
|
|
return request.del({
|
|
url: `/web/admin/leave/${id}`,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
/** 提交请假申请并发起审批 */
|
|
export function fetchSubmitLeave(id: string) {
|
|
return request.post<{ instanceId: string; status: string }>({
|
|
url: `/web/admin/leave/${id}/submit`,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
/** 请假详情 */
|
|
export function fetchLeaveDetail(id: string) {
|
|
return request.get<Api.Leave.LeaveItem>({
|
|
url: `/web/admin/leave/${id}`
|
|
})
|
|
}
|