From e181f04c642204e79749af93fa921875ff6c21ba Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 20 五月 2025 10:46:35 +0800 Subject: [PATCH] refactor(qms): 重构趋势图展示逻辑 --- src/components/DictTag/index.vue | 29 +++++++++++++++++++++-------- 1 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/components/DictTag/index.vue b/src/components/DictTag/index.vue index 8d9fb40..ad326c2 100644 --- a/src/components/DictTag/index.vue +++ b/src/components/DictTag/index.vue @@ -2,16 +2,28 @@ <div> <template v-for="(item, index) in options"> <template v-if="values.includes(item.value)"> - <span v-if="(item.elTagType === 'default' || item.elTagType === '') && (item.elTagClass === '' || item.elTagClass == null)" - :key="item.value" :index="index" :class="item.elTagClass"> - {{ item.label + " " }} + <span + v-if="(item.elTagType === 'default' || item.elTagType === '') && (item.elTagClass === '' || item.elTagClass == null)" + :key="item.value" + :index="index" + :class="item.elTagClass" + > + {{ item.label + ' ' }} </span> <el-tag v-else :key="item.value + ''" :disable-transitions="true" :index="index" - :type="(item.elTagType === 'primary' || item.elTagType === 'default')? '' : item.elTagType" + :type=" + item.elTagType === 'primary' || + item.elTagType === 'success' || + item.elTagType === 'info' || + item.elTagType === 'warning' || + item.elTagType === 'danger' + ? item.elTagType + : 'primary' + " :class="item.elTagClass" > {{ item.label + ' ' }} @@ -28,8 +40,8 @@ interface Props { options: Array<DictDataOption>; value: number | string | Array<number | string>; - showValue: boolean; - separator: string; + showValue?: boolean; + separator?: string; } const props = withDefaults(defineProps<Props>(), { showValue: true, @@ -44,12 +56,13 @@ const unmatch = computed(() => { if (props.options?.length == 0 || props.value === '' || props.value === null || typeof props.value === 'undefined') return false; // 浼犲叆鍊间负闈炴暟缁� + let unmatch = false; // 娣诲姞涓�涓爣蹇楁潵鍒ゆ柇鏄惁鏈夋湭鍖归厤椤� values.value.forEach((item) => { if (!props.options.some((v) => v.value === item)) { - return true; // 濡傛灉鏈夋湭鍖归厤椤癸紝灏嗘爣蹇楄缃负true + unmatch = true; // 濡傛灉鏈夋湭鍖归厤椤癸紝灏嗘爣蹇楄缃负true } }); - return false; // 杩斿洖鏍囧織鐨勫�� + return unmatch; // 杩斿洖鏍囧織鐨勫�� }); const unmatchArray = computed(() => { -- Gitblit v1.9.3