// 定义调薪原因类型
export type ChangeReasonValue = {
  0: '入职定薪'
  1: '入职核定'
  2: '转正'
  3: '晋升'
  4: '调动'
  5: '年中调薪'
  6: '年度调薪'
  7: '特别调薪'
  8: '其他'
}

// 定义状态类型
export type StatusValue = {
  0: '未生效'
  1: '已生效'
  2: '已取消'
}

// 定义类型值类型
export type TypeValue = {
  1: '定薪'
  2: '调薪'
}

// 定义选项类型
export interface Option {
  label: string
  value: number
}

// 调薪原因
export const changeReasonValue: ChangeReasonValue = {
  0: '入职定薪',
  1: '入职核定',
  2: '转正',
  3: '晋升',
  4: '调动',
  5: '年中调薪',
  6: '年度调薪',
  7: '特别调薪',
  8: '其他'
}

export const statusValue: StatusValue = {
  0: '未生效',
  1: '已生效',
  2: '已取消'
}

export const typeValue: TypeValue = {
  1: '定薪',
  2: '调薪'
}

// 获取选项列表
export function getValueList(data: Record<number, string>): Option[] {
  const keys = Object.keys(data) as Array<keyof typeof data>
  return keys.map((key) => {
    return {
      label: data[key],
      value: parseInt(key.toString())
    }
  })
}

export default {
  changeReasonValue,
  statusValue,
  typeValue,
  getValueList
}
