import request from '@/config/axios'

// ERP 会计科目 VO
export interface SubjectVO {
  id: number // 会计科目编号
  parentId: number // 父科目编号
  code: string // 科目编码
  name: string // 科目名称
  type: number // 科目类型
  direction: number // 余额方向（1借方 2贷方）
  status: number // 开启状态
  sort: number // 排序
  remark: string // 备注
  createTime: Date // 创建时间
  children?: SubjectVO[] // 子科目
}

// ERP 会计科目 API
export const SubjectApi = {
  // 查询会计科目分页
  getSubjectPage: async (params: any) => {
    return await request.get({ url: `/erp/finance/subject/page`, params })
  },

  // 查询会计科目树形列表
  getSubjectTree: async () => {
    return await request.get({ url: `/erp/finance/subject/tree` })
  },

  // 查询会计科目精简列表
  getSubjectSimpleList: async () => {
    return await request.get({ url: `/erp/finance/subject/simple-list` })
  },

  // 查询会计科目详情
  getSubject: async (id: number) => {
    return await request.get({ url: `/erp/finance/subject/get?id=` + id })
  },

  // 新增会计科目
  createSubject: async (data: SubjectVO) => {
    return await request.post({ url: `/erp/finance/subject/create`, data })
  },

  // 修改会计科目
  updateSubject: async (data: SubjectVO) => {
    return await request.put({ url: `/erp/finance/subject/update`, data })
  },

  // 删除会计科目
  deleteSubject: async (id: number) => {
    return await request.delete({ url: `/erp/finance/subject/delete?id=` + id })
  },

  // 导出会计科目 Excel
  exportSubject: async (params: any) => {
    return await request.download({ url: `/erp/finance/subject/export-excel`, params })
  }
} 