From efc9abefe586c412a710afbeba85e3edd659886c Mon Sep 17 00:00:00 2001 From: zhanweizhang Date: Tue, 14 Jul 2026 18:18:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AF=A6=E6=83=85=E9=A1=B5=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E6=94=B9=E4=B8=BA=E6=B5=81=E5=BC=8F=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?+=E8=BF=9B=E5=BA=A6=E6=98=BE=E7=A4=BA=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E7=95=99=E5=94=A4=E9=86=92=E5=BC=B9=E7=AA=97=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=9B=E6=81=A2=E5=A4=8D=E5=BC=B9=E7=AA=97=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8F=98=E9=87=8F=E5=92=8C=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/components.d.ts | 10 -- frontend/src/views/frontend/ProjectDetail.css | 9 ++ frontend/src/views/frontend/ProjectDetail.vue | 121 ++++++++++++++---- 3 files changed, 107 insertions(+), 33 deletions(-) diff --git a/frontend/components.d.ts b/frontend/components.d.ts index ceaf4bb..4d32a86 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -16,10 +16,7 @@ declare module 'vue' { ElButton: typeof import('element-plus/es')['ElButton'] ElCarousel: typeof import('element-plus/es')['ElCarousel'] ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] - ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCol: typeof import('element-plus/es')['ElCol'] - ElColorPicker: typeof import('element-plus/es')['ElColorPicker'] - ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDrawer: typeof import('element-plus/es')['ElDrawer'] ElDropdown: typeof import('element-plus/es')['ElDropdown'] @@ -32,19 +29,12 @@ declare module 'vue' { ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] - ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] - ElProgress: typeof import('element-plus/es')['ElProgress'] - ElRadio: typeof import('element-plus/es')['ElRadio'] - ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] - ElSelect: typeof import('element-plus/es')['ElSelect'] ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] ElSwitch: typeof import('element-plus/es')['ElSwitch'] - ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] - ElTooltip: typeof import('element-plus/es')['ElTooltip'] EmptyState: typeof import('./src/components/EmptyState.vue')['default'] IconUpload: typeof import('./src/components/IconUpload.vue')['default'] PageHeader: typeof import('./src/components/PageHeader.vue')['default'] diff --git a/frontend/src/views/frontend/ProjectDetail.css b/frontend/src/views/frontend/ProjectDetail.css index e2890d1..7245994 100644 --- a/frontend/src/views/frontend/ProjectDetail.css +++ b/frontend/src/views/frontend/ProjectDetail.css @@ -1,6 +1,15 @@ /* ===== 项目详情页:ui-ux-pro-max Bento Grid 风格 ===== */ /* 浅色模式 + 科技蓝主题 + 卡片式布局 + 响应式设计 */ +/* 下载图标旋转动画 */ +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} +.spinning { + animation: spin 1s linear infinite; +} + .detail-page { width: 100%; min-height: 60vh; diff --git a/frontend/src/views/frontend/ProjectDetail.vue b/frontend/src/views/frontend/ProjectDetail.vue index a2edc25..99168db 100644 --- a/frontend/src/views/frontend/ProjectDetail.vue +++ b/frontend/src/views/frontend/ProjectDetail.vue @@ -153,19 +153,35 @@ @@ -274,9 +290,9 @@ @close="viewerVisible = false" /> - +