import { useEnumStore } from '@/stores'

const { getEnumTypes, getEnumTypeList, getEnumTypeName } = useEnumStore()
const enumKeys = ['signstatus', 'applystatus', 'executetype'] as const
const enumMap = getEnumTypes(...enumKeys)

/**
 * 签约状态
 */
export enum SignStatus {
    Unsigned = 1,  // 未签约
    Audit = 2,  // 签约待审核
    Signing = 3,  // 签约中
    Signed = 4,  // 已签约
    Rescinded = 7,  // 已解约
    Refuse = 10, // 审核拒绝
}

/**
 * 获取签约状态列表
 * @returns 
 */
export function getSignStatusList() {
    return getEnumTypeList(enumMap.get('signstatus'))
}

/**
 * 获取签约状态名称
 * @returns 
 */
export function getSignStatusName(value: number) {
    return getEnumTypeName(getSignStatusList(), value)
}

/**
 * 获取出入金申请状态列表
 * @returns 
 */
export function getApplyStatusList() {
    return getEnumTypeList(enumMap.get('applystatus'))
}

/**
 * 获取出入金申请状态名称
 * @returns 
 */
export function getApplyStatusName(value: number) {
    return getEnumTypeName(getApplyStatusList(), value)
}

/**
 * 获取出入金申请类型列表
 * @returns 
 */
export function getExecuteTypeList() {
    return getEnumTypeList(enumMap.get('executetype'))
}

/**
 * 获取出入金申请类型名称
 * @returns 
 */
export function getExecuteTypeName(value: number) {
    return getEnumTypeName(getExecuteTypeList(), value)
}