diff --git a/apps/admin/src/types/import/components.d.ts b/apps/admin/src/types/import/components.d.ts index b7efbb1..ae45943 100644 --- a/apps/admin/src/types/import/components.d.ts +++ b/apps/admin/src/types/import/components.d.ts @@ -11,6 +11,8 @@ export {} /* prettier-ignore */ declare module 'vue' { export interface GlobalComponents { + AlbumCoverCard: typeof import('./../../components/business/albums/AlbumCoverCard.vue')['default'] + AlbumSummaryHeader: typeof import('./../../components/business/albums/AlbumSummaryHeader.vue')['default'] ArtBackToTop: typeof import('./../../components/core/base/art-back-to-top/index.vue')['default'] ArtBasicBanner: typeof import('./../../components/core/banners/art-basic-banner/index.vue')['default'] ArtBreadcrumb: typeof import('./../../components/core/layouts/art-breadcrumb/index.vue')['default'] @@ -61,10 +63,10 @@ declare module 'vue' { ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElButton: typeof import('element-plus/es')['ElButton'] ElCard: typeof import('element-plus/es')['ElCard'] + ElCollapse: typeof import('element-plus/es')['ElCollapse'] + ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] - ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] - ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDrawer: typeof import('element-plus/es')['ElDrawer'] ElDropdown: typeof import('element-plus/es')['ElDropdown'] @@ -101,6 +103,8 @@ declare module 'vue' { LoginLeftView: typeof import('./../../components/core/views/login/LoginLeftView.vue')['default'] MenuLayoutSettings: typeof import('./../../components/core/layouts/art-settings-panel/widget/MenuLayoutSettings.vue')['default'] MenuStyleSettings: typeof import('./../../components/core/layouts/art-settings-panel/widget/MenuStyleSettings.vue')['default'] + PhotoGrid: typeof import('./../../components/business/albums/PhotoGrid.vue')['default'] + PhotoPreviewDialog: typeof import('./../../components/business/albums/PhotoPreviewDialog.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SectionTitle: typeof import('./../../components/core/layouts/art-settings-panel/widget/SectionTitle.vue')['default'] diff --git a/apps/admin/src/views/albums/detail/AlbumPhotos.vue b/apps/admin/src/views/albums/detail/AlbumPhotos.vue index 7607938..8bc6695 100644 --- a/apps/admin/src/views/albums/detail/AlbumPhotos.vue +++ b/apps/admin/src/views/albums/detail/AlbumPhotos.vue @@ -17,10 +17,7 @@ class="seg-btn" :class="{ active: visibilityFilter === opt.value }" :data-test="`photo-filter-${opt.value || 'all'}`" - @click=" - visibilityFilter = opt.value - reload() - " + @click="applyVisibilityFilter(opt.value)" > {{ opt.label }} @@ -333,6 +330,12 @@ loadFirst() } + /** 分段筛选(模板属性须单表达式) */ + function applyVisibilityFilter(value: Api.Album.PhotoVisibility | '') { + visibilityFilter.value = value + reload() + } + onMounted(() => { loadFirst() })