import { AllEnums } from '@/services/go/commonService/interface';
import { sessionStorageUtil } from '@/utils/storage';

/**
 * 是否有所有枚举数据
 * @returns 
 */
export function isAllEnum(): boolean {
    return sessionStorageUtil.getItem('allEnums') ? true : false;
}

/**
 * 获取所有枚举数据
 * @returns 
 */
export function getAllEnum(): AllEnums[] {
    return isAllEnum() ? sessionStorageUtil.getItem('allEnums') : []
}

/**
 * 缓存所有枚举数据
 * @param value 
 */
export function setAllEnum(value: AllEnums[]) {
    sessionStorageUtil.setItem('allEnums', value);
}


/**
 * 获取具体某个枚举列表
 * @param enumdiccode: string; //所属枚举代码
 */
export function getItemEnumList(enumdiccode: string): AllEnums[] {
    return getAllEnum().filter(e => (e.enumdiccode.toLowerCase() === enumdiccode.toLowerCase()) && e.enumitemstatus === 1)
}

/**
 * 获取某个枚举列表中具体某个id对应的枚举名字
 * @param enumdiccode  所属枚举代码
 * @param enumdicid 所属枚举ID
 * @returns 
 */
export function getItemEnumName(enumdiccode: string, enumdicid: number): string {
    const temp = getItemEnumList(enumdiccode).find(e => e.enumitemname === enumdicid)
    return temp ? temp.enumdicname : '--'
}