From 2c1fb5ab7f6af2dda36337c7498d26429bbba029 Mon Sep 17 00:00:00 2001 From: QDKF Date: Mon, 8 Sep 2025 19:15:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E2=80=9C=E6=88=91?= =?UTF-8?q?=E7=9A=84=E8=B5=84=E6=BA=90=E2=80=9D=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/admin/FileInfoCard.vue | 69 ++++ src/components/admin/MyResources.vue | 368 +++++++++--------- src/components/common/ConfirmModal.vue | 87 +++++ src/router/index.ts | 7 + src/views/teacher/AdminDashboard.vue | 15 + src/views/teacher/course/UploadFileModal.vue | 4 +- src/views/teacher/resource/RecycleBin.vue | 251 ++++++++++++ .../teacher/resource/RecycleConfirmModal.vue | 117 ++++++ 8 files changed, 739 insertions(+), 179 deletions(-) create mode 100644 src/components/admin/FileInfoCard.vue create mode 100644 src/components/common/ConfirmModal.vue create mode 100644 src/views/teacher/resource/RecycleBin.vue create mode 100644 src/views/teacher/resource/RecycleConfirmModal.vue diff --git a/src/components/admin/FileInfoCard.vue b/src/components/admin/FileInfoCard.vue new file mode 100644 index 0000000..14bac69 --- /dev/null +++ b/src/components/admin/FileInfoCard.vue @@ -0,0 +1,69 @@ + + + + + + + diff --git a/src/components/admin/MyResources.vue b/src/components/admin/MyResources.vue index 253c9e5..6cb4968 100644 --- a/src/components/admin/MyResources.vue +++ b/src/components/admin/MyResources.vue @@ -13,6 +13,7 @@ 新建文件夹
@@ -29,9 +30,8 @@
+ @mouseleave="handleItemMouseLeave">
-
- +
+ 文件夹图标
- -
{{ file.name }}
- - -
-
- 文件名称: - {{ file.name }} -
-
- 大小: - {{ formatFileSize(file.size) }} -
-
- 修改时间: - {{ formatDate(file.modifiedAt) }} -
+ +
+ {{ file.name }}
+ + +
- - + + - + + + + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index 18722a6..23936cd 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -58,6 +58,7 @@ import StatisticsManagement from '@/views/teacher/statistics/StatisticsManagemen import NotificationManagement from '@/views/teacher/course/NotificationManagement.vue' import GeneralManagement from '@/views/teacher/course/GeneralManagement.vue' import UserAgreement from '@/views/UserAgreement.vue' +import RecycleBin from '@/views/teacher/resource/RecycleBin.vue' // 作业子组件 import HomeworkLibrary from '@/views/teacher/course/HomeworkLibrary.vue' @@ -310,6 +311,12 @@ const routes: RouteRecordRaw[] = [ component: MyResources, meta: { title: '我的资源' } }, + { + path: 'recycle-bin', + name: 'RecycleBin', + component: RecycleBin, + meta: { title: '回收站' } + }, { path: 'student-management', name: 'StudentManagement', diff --git a/src/views/teacher/AdminDashboard.vue b/src/views/teacher/AdminDashboard.vue index a59db7a..3beb1ae 100644 --- a/src/views/teacher/AdminDashboard.vue +++ b/src/views/teacher/AdminDashboard.vue @@ -589,6 +589,21 @@ const breadcrumbPathItems = computed(() => { return breadcrumbs; } + // 回收站页面的面包屑逻辑 + if (currentPath.includes('recycle-bin')) { + const breadcrumbs = [ + { + title: '我的资源', + path: '/teacher/my-resources' + }, + { + title: '回收站', + path: currentPath + } + ] + return breadcrumbs; + } + // 其他页面的面包屑逻辑 const matchedRoutes = route.matched; diff --git a/src/views/teacher/course/UploadFileModal.vue b/src/views/teacher/course/UploadFileModal.vue index ff401e3..0387515 100644 --- a/src/views/teacher/course/UploadFileModal.vue +++ b/src/views/teacher/course/UploadFileModal.vue @@ -168,8 +168,10 @@ const handleConfirm = () => { background: #FFFFFF; background-size: 100% 100%; margin: 0 auto; - border-radius: 8px; + border-radius: 2px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); + padding-top: 14px; + padding-bottom: 14px; } .modal-title { diff --git a/src/views/teacher/resource/RecycleBin.vue b/src/views/teacher/resource/RecycleBin.vue new file mode 100644 index 0000000..f8a94f9 --- /dev/null +++ b/src/views/teacher/resource/RecycleBin.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/src/views/teacher/resource/RecycleConfirmModal.vue b/src/views/teacher/resource/RecycleConfirmModal.vue new file mode 100644 index 0000000..932823e --- /dev/null +++ b/src/views/teacher/resource/RecycleConfirmModal.vue @@ -0,0 +1,117 @@ + + + + +