import { useEnumStore } from '@/stores'

const { getEnumTypes, getEnumTypeList, getEnumTypeInfo } = useEnumStore()
const enumKeys = ['ZSCategory', 'ZSCurrencyType', 'ZSCurrencyType', 'ZSColorType', 'ZSClarityType', 'ZSCutType', 'ZSShapeType', 'ZSSymmetryType', 'ZSPolishType', 'ZSFluorescenceType', 'ZSCertType', 'ZSCrystalType', 'ZSCZColor1Type', 'ZSCZColor2Type', 'ZSCZColor3Type', 'ZSStyleType'] as const
const enumMap = getEnumTypes(...enumKeys)

/**
 * 钻石类型
 */
export enum Category {
    Diamonds = 1, // 成批裸钻
    Diamond = 2, // 单颗裸钻
    Rough = 3, // 成批毛坯
    Jewelry = 4, // 钻石首饰
    Fancy = 5, // 彩色钻石
}

/**
 * 货币类型
 */
export enum CurrencyType {
    CNY = 1, // 人民币
    USD = 2, // 美元
}

/**
 * 获取钻石分类列表
 * @returns 
 */
export function getCategoryList() {
    return getEnumTypeList(enumMap.get('ZSCategory'))
}

/**
 * 获取货币类型列表
 * @returns 
 */
export function getCurrencyTypeList() {
    return getEnumTypeList(enumMap.get('ZSCurrencyType'))
}

/**
 * 获取货币类型信息
 * @param value 
 * @returns 
 */
export function getCurrencyTypeInfo(value: number) {
    return getEnumTypeInfo(enumMap.get('ZSCurrencyType') ?? [], value)
}

/**
 * 获取颜色类型列表
 * @returns 
 */
export function getColorTypeList() {
    return getEnumTypeList(enumMap.get('ZSColorType'))
}

/**
 * 获取净度类型列表
 * @returns 
 */
export function getClarityTypeList() {
    return getEnumTypeList(enumMap.get('ZSClarityType'))
}

/**
 * 获取切工类型列表
 * @returns 
 */
export function getCutTypeList() {
    return getEnumTypeList(enumMap.get('ZSCutType'))
}

/**
 * 获取形状类型列表
 * @returns 
 */
export function getShapeTypeList() {
    return getEnumTypeList(enumMap.get('ZSShapeType'))
}

/**
 * 获取对称类型列表
 * @returns 
 */
export function getSymmetryTypeList() {
    return getEnumTypeList(enumMap.get('ZSSymmetryType'))
}

/**
 * 获取抛光类型列表
 * @returns 
 */
export function getPolishTypeList() {
    return getEnumTypeList(enumMap.get('ZSPolishType'))
}

/**
 * 获取荧光类型列表
 * @returns 
 */
export function getFluorescenceTypeList() {
    return getEnumTypeList(enumMap.get('ZSFluorescenceType'))
}

/**
 * 获取证书类型列表
 * @returns 
 */
export function getCertTypeList() {
    return getEnumTypeList(enumMap.get('ZSCertType'))
}

/**
 * 获取晶型类型列表
 * @returns 
 */
export function getCrystalTypeList() {
    return getEnumTypeList(enumMap.get('ZSCrystalType'))
}

/**
 * 获取彩钻类型1列表
 * @returns 
 */
export function getFancyColorType1List() {
    return getEnumTypeList(enumMap.get('ZSCZColor1Type'))
}

/**
 * 获取彩钻类型2列表
 * @returns 
 */
export function getFancyColorType2List() {
    return getEnumTypeList(enumMap.get('ZSCZColor2Type'))
}

/**
 * 获取彩钻类型3列表
 * @returns 
 */
export function getFancyColorType3List() {
    return getEnumTypeList(enumMap.get('ZSCZColor3Type'))
}

/**
 * 获取款式类型列表
 * @returns 
 */
export function getStyleTypeList() {
    return getEnumTypeList(enumMap.get('ZSStyleType'))
}