import request from '@/config/axios'

// 计税规则 VO
export interface SalaryTaxRuleVO {
  ruleId: number // 主键
  ruleName: string // 规则名称
  taxType: number // 个税类型 1 工资薪金所得税 2 劳务报酬所得税 3 不计税
  isTax: number // 是否计税 0 否 1 是
  markingPoint: number // 起征点
  decimalPoint: number // 个税结果(保留小数点)
  cycleType: number // 计税周期类型 1 上年12月到今年11月（对应的工资发放方式为次月发上月工资） 2 今年1月到12月（对应的工资发放方式为当月发当月工资）
}

// 计税规则 API
export const SalaryTaxRuleApi = {
  // 查询计税规则分页
  getSalaryTaxRulePage: async (params: any) => {
    return await request.get({ url: `/hr/salary-tax-rule/page`, params })
  },

  // 查询计税规则详情
  getSalaryTaxRule: async (id: number) => {
    return await request.get({ url: `/hr/salary-tax-rule/get?id=` + id })
  },

  // 新增计税规则
  createSalaryTaxRule: async (data: SalaryTaxRuleVO) => {
    return await request.post({ url: `/hr/salary-tax-rule/create`, data })
  },

  // 修改计税规则
  updateSalaryTaxRule: async (data: SalaryTaxRuleVO) => {
    return await request.put({ url: `/hr/salary-tax-rule/update`, data })
  },

  // 删除计税规则
  deleteSalaryTaxRule: async (id: number) => {
    return await request.delete({ url: `/hr/salary-tax-rule/delete?id=` + id })
  },

  // 导出计税规则 Excel
  exportSalaryTaxRule: async (params) => {
    return await request.download({ url: `/hr/salary-tax-rule/export-excel`, params })
  }
}