From c5e62cc8e4ca63609cc8e421755bbf1521376e97 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 4 Apr 2025 09:27:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=9A=E4=B8=AA=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E8=B0=83=E6=95=B4=E6=A0=B7=E5=BC=8F=E5=92=8C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BB=A5=E6=8F=90=E5=8D=87=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BD=93=E9=AA=8C=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=AD=A3=E6=95=B0?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/cards/MediaCard.vue | 60 +-- src/components/cards/SiteCard.vue | 2 +- src/components/dialog/ReorganizeDialog.vue | 1 + .../dialog/SearchBarDialog.vue} | 489 +++++------------- src/components/dialog/SearchSiteDialog.vue | 218 ++++++++ src/components/dialog/SiteAddEditDialog.vue | 2 +- src/components/dialog/SiteUserDataDialog.vue | 14 +- src/components/dialog/SubscribeEditDialog.vue | 19 +- src/components/dialog/UserAddEditDialog.vue | 20 +- src/layouts/components/SearchBar.vue | 4 +- src/views/discover/MediaDetailView.vue | 77 ++- 11 files changed, 453 insertions(+), 453 deletions(-) rename src/{views/system/SearchBarView.vue => components/dialog/SearchBarDialog.vue} (70%) create mode 100644 src/components/dialog/SearchSiteDialog.vue diff --git a/src/components/cards/MediaCard.vue b/src/components/cards/MediaCard.vue index 335fb4f9..81b34a49 100644 --- a/src/components/cards/MediaCard.vue +++ b/src/components/cards/MediaCard.vue @@ -12,6 +12,7 @@ import tmdbImage from '@images/logos/tmdb.png' import doubanImage from '@images/logos/douban-black.png' import bangumiImage from '@images/logos/bangumi.png' import { useUserStore } from '@/stores' +import SearchSiteDialog from '@/components/dialog/SearchSiteDialog.vue' // 输入参数 const props = defineProps({ @@ -84,8 +85,8 @@ const selectedSites = ref([]) // 搜索菜单显示状态 const searchMenuShow = ref(false) -// 全选/全不选按钮文字 -const checkAllText = computed(() => (selectedSites.value.length === allSites.value.length ? '全不选' : '全选')) +// 选择站点对话框 +const chooseSiteDialog = ref(false) // 全选/全不选 function checkAllSitesorNot() { @@ -423,9 +424,11 @@ function goMediaDetail(isHovering = false) { // 点击搜索 async function clickSearch() { - if (allSites.value?.length > 0) return - querySites() - querySelectedSites() + if (allSites.value?.length == 0) { + querySites() + querySelectedSites() + } + chooseSiteDialog.value = true } // 开始搜索 @@ -444,6 +447,13 @@ function handleSearch() { }) } +// 搜索多站点 +function searchSites(sites: number[]) { + chooseSiteDialog.value = false + selectedSites.value = sites + handleSearch() +} + // 懒加载检查 function handleCheckLazy() { if (props.media?.collection_id) { @@ -566,36 +576,7 @@ function onRemoveSubscribe() {

- - - - - - - {{ site.name }} - - -
- - {{ checkAllText }} - -
-
- - 搜索 - -
-
+
@@ -701,4 +682,13 @@ function onRemoveSubscribe() { @save="subscribeEditDialog = false" @remove="onRemoveSubscribe" /> + + diff --git a/src/components/cards/SiteCard.vue b/src/components/cards/SiteCard.vue index 2cdb43e5..0194240d 100644 --- a/src/components/cards/SiteCard.vue +++ b/src/components/cards/SiteCard.vue @@ -332,7 +332,7 @@ onMounted(() => { 测试站点连通性 - +