

// 本文件提供前端定义的字典值的翻译功能
// 增加时先引入，后在allList中添加
// 本文件已经导出为全局变量，直接this.$constantsTool.getLabelByValue即可使用
import { checkStatus } from "./approval"
import { themeType } from "./display"
import { mattingStatus } from "./matting"


const constantsTool = {
    allList: { checkStatus, themeType, mattingStatus },
    // 获取label
    getLabelByValue(dictName, value) {
        const list = constantsTool.allList[dictName]
        if (!list) {
            return ''
        }
        const item = list.find((item) => {
            return item.value == value
        })
        if (!item) {
            return ''
        }
        return item.label
    },

    // 获取value
    getValueByLabel(dictName, label) {
        const list = constantsTool.allList[dictName]
        if (!list) {
            return ''
        }
        const item = list.find((item) => {
            return item.label == label
        })
        if (!item) {
            return ''
        }
        return item.value
    },
    // 获取字典列表
    getList(dictName) {
        return constantsTool.allList[dictName]
    },

    // 获取icon
    getIconByValue(dictName, value) {
        const list = constantsTool.allList[dictName]
        if (!list) {
            return ''
        }
        const item = list.find((item) => {
            return item.value == value
        })
        if (!item) {
            return ''
        }
        return item.icon
    },

    // 获取Type，用于展示tag状态 等
    getTagTypeByValue(dictName, value) {
        const list = constantsTool.allList[dictName]
        if (!list) {
            return ''
        }
        const item = list.find((item) => {
            return item.value == value
        })
        if (!item) {
            return ''
        }
        return item.tagType
    },

    // 获取Type，用于展示流程状态 等
    getStepTypeByValue(dictName, value) {
        const list = constantsTool.allList[dictName]
        if (!list) {
            return ''
        }
        const item = list.find((item) => {
            return item.value == value
        })
        if (!item) {
            return ''
        }
        return item.stepType
    },
}
export default constantsTool