From b483a5f4e872e3a2aa57cae9448925f42506a620 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 16 Oct 2024 15:45:25 +0800 Subject: [PATCH] refactor(cards): update MediaServerCard.vue --- src/components/cards/MediaServerCard.vue | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/components/cards/MediaServerCard.vue b/src/components/cards/MediaServerCard.vue index 44815bdb..686e90a7 100644 --- a/src/components/cards/MediaServerCard.vue +++ b/src/components/cards/MediaServerCard.vue @@ -16,8 +16,8 @@ const props = defineProps({ // 所有媒体服务器 mediaservers: { type: Array as PropType, - required: true - } + required: true, + }, }) // 提示框 @@ -46,7 +46,12 @@ const infoItems = ref([ ]) // 同步媒体库选项 -const librariesOptions = ref<{ title: string; value: string | undefined }[]>([]) +const librariesOptions = ref<{ title: string; value: string | undefined }[]>([ + { + title: '全部', + value: 'all', + }, +]) // 媒体服务器详情弹窗 const mediaServerInfoDialog = ref(false) @@ -68,6 +73,9 @@ function openMediaServerInfoDialog() { mediaServerInfo.value = props.mediaserver mediaServerName.value = props.mediaserver.name mediaServerInfoDialog.value = true + if (!props.mediaserver.sync_libraries) { + mediaServerInfo.value.sync_libraries = ['all'] + } } // 保存详情数据 @@ -78,7 +86,7 @@ function saveMediaServerInfo() { return } // 重名判断 - if (props.mediaservers.some(item => item.name === mediaServerName.value && item!== props.mediaserver)) { + if (props.mediaservers.some(item => item.name === mediaServerName.value && item !== props.mediaserver)) { $toast.error(`【${mediaServerName.value}】已存在,请替换为其他名称`) return } @@ -148,7 +156,13 @@ async function loadLibrary(server: string) { title: item.name, value: item.id?.toString(), })) + } else { + librariesOptions.value = [] } + librariesOptions.value.unshift({ + title: '全部', + value: 'all', + }) } catch (e) { console.log(e) } @@ -174,7 +188,7 @@ onMounted(() => { - +