diff --git a/src/components/PointTag.vue b/src/components/PointTag.vue index 5c873a4..2fddb21 100644 --- a/src/components/PointTag.vue +++ b/src/components/PointTag.vue @@ -1,7 +1,7 @@ @@ -21,37 +21,42 @@ const props = defineProps({ default: null } }); -const tag = reactive({ +const tagConfig = reactive({ listClass: "green", isType: true, label: "" }); -// const dictList = cacheStore.getDict(props.dictType); -// const dictFormat = () => { -// if(dictList===undefined) return; -// for (let i = 0; i < dictList.length; i++) { -// if(dictList[i].value=== props.value){ -// tag.label = dictList[i].label; -// tag.listClass=changeParams(dictList[i].listClass) -// tag.isType = dictList[i].isType; -// } -// } -// }; const filterDictClass = (data, value) => { - if(!data) return - - if(data instanceof Array) { - tag.value = data.find(item => item.value == value) + if (!data) return + if (data instanceof Array) { + tagConfig.value = data.find(item => item.value == value) + if (!tagConfig.value) { + return '#409EFF' + } else { + if (tagConfig.value?.isType) { + return changeParams(tagConfig.value.listClass) + } else { + return tagConfig.value.listClass + } + } } - return changeParams(tag.value.listClass) } const filterDict = (data, value) => { - if(!data) return - - if(data instanceof Array) { - tag.value = data.find(item => item.value == value) + if (!data || value == null) return + if (data instanceof Array) { + if (value == true || value == false) { + tagConfig.value = data.find(item => item.value == value.toString()) + } else if (typeof value === "object") { + if (value !== null) { + tagConfig.value = data.find(item => item.value == value[0]) + } else { + tagConfig.value = {} + } + } else { + tagConfig.value = data.find(item => item.value == value) + } } - return tag.value.label + return tagConfig.value?.label || '未知' } /** * 根据接口返回的listClass切换成对应的颜色 @@ -63,18 +68,17 @@ const changeParams = (listClass) => { case 'danger': return 'red' case 'success': - return '#67C23A' + return '#67C23A' case 'info': - return '#909399' + return '#909399' case 'primary': return '#409EFF' case 'warning': - return '#E6A23C' + return '#E6A23C' default: return listClass } } -// dictFormat()