import request from '@/config/axios'

// 部门 VO
export interface DeptVO {
  id: number // 主键
  sort: number // 显示顺序
  parentId: number // 父级ID 顶级部门为0
  deptType: number // 1 公司 2 部门
  name: string // 部门名称
  code: string // 部门编码
  mainEmployeeId: number // 部门负责人ID
  leaderEmployeeId: number // 分管领导
}
// 查询部门（精简)列表
export const getSimpleDeptList = (): Promise<DeptVO[]> => {
  return request.get({ url: '/hr/dept/simple-list' })
}
// 部门 API
export const DeptApi = {

  // 查询部门列表
  getDeptList: async (params) => {
    return await request.get({ url: `/hr/dept/list`, params })
  },

  // 查询部门详情
  getDept: async (id: number) => {
    return await request.get({ url: `/hr/dept/get?id=` + id })
  },

  // 新增部门
  createDept: async (data: DeptVO) => {
    return await request.post({ url: `/hr/dept/create`, data })
  },

  // 修改部门
  updateDept: async (data: DeptVO) => {
    return await request.put({ url: `/hr/dept/update`, data })
  },

  // 删除部门
  deleteDept: async (id: number) => {
    return await request.delete({ url: `/hr/dept/delete?id=` + id })
  },

  // 导出部门 Excel
  exportDept: async (params) => {
    return await request.download({ url: `/hr/dept/export-excel`, params })
  },
}
