From 3d2c48733b86a03fc2e5a1f12ac3667ab0863b80 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期五, 08 十一月 2024 01:03:56 +0800 Subject: [PATCH] 标签模板,主页,默认工艺路线更新 --- src/components/SimpleMenu/src/SimpleMenuTag.vue | 109 +++++++++++++++++++++++++----------------------------- 1 files changed, 50 insertions(+), 59 deletions(-) diff --git a/src/components/SimpleMenu/src/SimpleMenuTag.vue b/src/components/SimpleMenu/src/SimpleMenuTag.vue index b7d3cb3..323a777 100644 --- a/src/components/SimpleMenu/src/SimpleMenuTag.vue +++ b/src/components/SimpleMenu/src/SimpleMenuTag.vue @@ -1,68 +1,59 @@ <template> <span :class="getTagClass" v-if="getShowTag">{{ getContent }}</span> </template> -<script lang="ts"> - import type { Menu } from '/@/router/types'; +<script lang="ts" setup> + import type { Menu } from '@/router/types'; + import { computed } from 'vue'; + import { useDesign } from '@/hooks/web/useDesign'; + import { propTypes } from '@/utils/propTypes'; - import { defineComponent, computed } from 'vue'; + defineOptions({ name: 'SimpleMenuTag' }); - import { useDesign } from '/@/hooks/web/useDesign'; - import { propTypes } from '/@/utils/propTypes'; + const props = defineProps({ + item: { + type: Object as PropType<Menu>, + default: () => ({}), + }, + dot: propTypes.bool, + collapseParent: propTypes.bool, + }); - export default defineComponent({ - name: 'SimpleMenuTag', - props: { - item: { - type: Object as PropType<Menu>, - default: () => ({}), + const { prefixCls } = useDesign('simple-menu'); + + const getShowTag = computed(() => { + const { item } = props; + + if (!item) return false; + + const { tag } = item; + if (!tag) return false; + + const { dot, content } = tag; + if (!dot && !content) return false; + return true; + }); + + const getContent = computed(() => { + if (!getShowTag.value) return ''; + const { item, collapseParent } = props; + const { tag } = item; + const { dot, content } = tag!; + return dot || collapseParent ? '' : content; + }); + + const getTagClass = computed(() => { + const { item, collapseParent } = props; + const { tag = {} } = item || {}; + const { dot, type = 'error' } = tag; + const tagCls = `${prefixCls}-tag`; + return [ + tagCls, + + [`${tagCls}--${type}`], + { + [`${tagCls}--collapse`]: collapseParent, + [`${tagCls}--dot`]: dot || props.dot, }, - dot: propTypes.bool, - collapseParent: propTypes.bool, - }, - setup(props) { - const { prefixCls } = useDesign('simple-menu'); - - const getShowTag = computed(() => { - const { item } = props; - - if (!item) return false; - - const { tag } = item; - if (!tag) return false; - - const { dot, content } = tag; - if (!dot && !content) return false; - return true; - }); - - const getContent = computed(() => { - if (!getShowTag.value) return ''; - const { item, collapseParent } = props; - const { tag } = item; - const { dot, content } = tag!; - return dot || collapseParent ? '' : content; - }); - - const getTagClass = computed(() => { - const { item, collapseParent } = props; - const { tag = {} } = item || {}; - const { dot, type = 'error' } = tag; - const tagCls = `${prefixCls}-tag`; - return [ - tagCls, - - [`${tagCls}--${type}`], - { - [`${tagCls}--collapse`]: collapseParent, - [`${tagCls}--dot`]: dot || props.dot, - }, - ]; - }); - return { - getTagClass, - getShowTag, - getContent, - }; - }, + ]; }); </script> -- Gitblit v1.9.3