diff --git a/src/components/cards/SiteCard.vue b/src/components/cards/SiteCard.vue index 045c4bdb..3865d004 100644 --- a/src/components/cards/SiteCard.vue +++ b/src/components/cards/SiteCard.vue @@ -9,6 +9,7 @@ import api from '@/api' import type { Site, SiteStatistic, SiteUserData } from '@/api/types' import { isNullOrEmptyObject } from '@/@core/utils' import { formatFileSize } from '@/@core/utils/formatters' +import { useConfirm } from 'vuetify-use-dialog' // 输入参数 const cardProps = defineProps({ @@ -19,6 +20,9 @@ const cardProps = defineProps({ // 定义触发的自定义事件 const emit = defineEmits(['update', 'remove']) +// 确认框 +const createConfirm = useConfirm() + // 图标 const siteIcon = ref('') @@ -103,6 +107,25 @@ function openSitePage() { window.open(cardProps.site?.url, '_blank') } +// 调用API删除站点信息 +async function deleteSiteInfo() { + const isConfirmed = await createConfirm({ + title: '确认', + content: `是否确认删除站点?`, + }) + + if (!isConfirmed) return + + try { + const result: { [key: string]: any } = await api.delete(`site/${cardProps.site?.id}`) + if (result.success) emit('remove') + else $toast.error(`${cardProps.site?.name} 删除失败:${result.message}`) + } catch (error) { + $toast.error(`${cardProps.site?.name} 删除失败!`) + console.error(error) + } +} + // 根据站点状态显示不同的状态图标 const statColor = computed(() => { if (isNullOrEmptyObject(siteStats.value)) { @@ -309,7 +332,6 @@ onMounted(() => { 测试站点连通性 - 查看站点数据 - 更新Cookie/UA - 编辑站点 - + @@ -666,9 +686,8 @@ onMounted(() => { /* 数据统计 */ .site-stats { - border-block-start: 1px solid rgba(var(--v-theme-on-surface), 0.05); margin-block-start: auto; - padding-block-start: 6px; + padding-block-start: 1rem; } .site-data-values { @@ -960,12 +979,12 @@ onMounted(() => { border: none; border-radius: 8px; background-color: rgba(var(--v-theme-surface), 1); - block-size: 36px; + block-size: 32px; box-shadow: 0 1px 3px rgba(0, 0, 0, 5%); color: rgba(var(--v-theme-on-surface), 0.8); cursor: pointer; inline-size: 36px; - margin-block-end: 8px; + margin-block-end: 4px; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); } diff --git a/src/components/dialog/SiteAddEditDialog.vue b/src/components/dialog/SiteAddEditDialog.vue index 70388a5a..41e598e7 100644 --- a/src/components/dialog/SiteAddEditDialog.vue +++ b/src/components/dialog/SiteAddEditDialog.vue @@ -5,14 +5,10 @@ import { doneNProgress, startNProgress } from '@/api/nprogress' import { numberValidator, requiredValidator } from '@/@validators' import api from '@/api' import { useDisplay } from 'vuetify' -import { useConfirm } from 'vuetify-use-dialog' // 显示器宽度 const display = useDisplay() -// 确认框 -const createConfirm = useConfirm() - // 输入参数 const props = defineProps({ siteid: Number, @@ -108,25 +104,6 @@ async function addSite() { doneNProgress() } -// 调用API删除站点信息 -async function deleteSiteInfo() { - const isConfirmed = await createConfirm({ - title: '确认', - content: `是否确认删除站点?`, - }) - - if (!isConfirmed) return - - try { - const result: { [key: string]: any } = await api.delete(`site/${siteForm.value?.id}`) - if (result.success) emit('remove') - else $toast.error(`${siteForm.value?.name} 删除失败:${result.message}`) - } catch (error) { - $toast.error(`${siteForm.value?.name} 删除失败!`) - console.error(error) - } -} - // 调用API更新站点信息 async function updateSiteInfo() { startNProgress() @@ -338,9 +315,6 @@ onMounted(async () => { - - 删除 -