From f93a05cee438c0ab9f7c41042dfe9256d32a4f4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=98=89=E8=B1=AA?= <42510293+ziyujiahao@users.noreply.github.com> Date: Thu, 19 Mar 2026 17:23:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BB=AA=E8=A1=A8=E6=9D=BF=E3=80=81?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F):=20Tab=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=8D=95tab=E5=86=85=E9=9A=90=E8=97=8F=E4=B8=8E=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E3=80=81=E6=8E=92=E5=BA=8F=E8=B0=83=E6=95=B4=E7=AD=89?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20#17984=20(#18119)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom-component/common/CommonAttr.vue | 2 + .../custom-component/de-tabs/Component.vue | 62 +++--- .../de-tabs/CustomTabsSortSide.vue | 187 ++++++++++++++++++ 3 files changed, 224 insertions(+), 27 deletions(-) create mode 100644 core/core-frontend/src/custom-component/de-tabs/CustomTabsSortSide.vue diff --git a/core/core-frontend/src/custom-component/common/CommonAttr.vue b/core/core-frontend/src/custom-component/common/CommonAttr.vue index 9b93b0b825..720d407b60 100644 --- a/core/core-frontend/src/custom-component/common/CommonAttr.vue +++ b/core/core-frontend/src/custom-component/common/CommonAttr.vue @@ -13,6 +13,7 @@ import CarouselSetting from '@/custom-component/common/CarouselSetting.vue' import CommonBorderSetting from '@/custom-component/common/CommonBorderSetting.vue' import CollapseSwitchItem from '../../components/collapse-switch-item/src/CollapseSwitchItem.vue' import TabBackgroundOverall from '@/custom-component/de-tabs/TabBackgroundOverall.vue' +import CustomTabsSortSide from '@/custom-component/de-tabs/CustomTabsSortSide.vue' const snapshotStore = snapshotStoreWithOut() const { t } = useI18n() @@ -204,6 +205,7 @@ onMounted(() => { :themes="themes" :element="element" > + @@ -90,33 +91,35 @@ v-for="(tabItem, index) in element.propValue" :class="{ 'switch-hidden': element.editableTabsValue !== tabItem.name }" > - - + + + + { eventBus.on('onTabMoveIn-' + element.value.id, componentMoveIn) eventBus.on('onTabMoveOut-' + element.value.id, componentMoveOut) eventBus.on('onTabSortChange-' + element.value.id, reShow) + eventBus.on('onTabDelete-' + element.value.id, deleteCur) + eventBus.on('onTabCopy-' + element.value.id, copyCur) } currentInstance = getCurrentInstance() initCarousel() @@ -749,6 +755,8 @@ onBeforeUnmount(() => { eventBus.off('onTabMoveIn-' + element.value.id, componentMoveIn) eventBus.off('onTabMoveOut-' + element.value.id, componentMoveOut) eventBus.off('onTabSortChange-' + element.value.id, reShow) + eventBus.off('onTabDelete-' + element.value.id, deleteCur) + eventBus.off('onTabCopy-' + element.value.id, copyCur) } }) onBeforeMount(() => { diff --git a/core/core-frontend/src/custom-component/de-tabs/CustomTabsSortSide.vue b/core/core-frontend/src/custom-component/de-tabs/CustomTabsSortSide.vue new file mode 100644 index 0000000000..63288b80e8 --- /dev/null +++ b/core/core-frontend/src/custom-component/de-tabs/CustomTabsSortSide.vue @@ -0,0 +1,187 @@ + + + + + + + + + + + {{ element.title }} + + + + + + + + + + + (item['hidden'] = false)" + > + + + (item['hidden'] = true)" + > + + + + + + + + + + + + + +