+ @mouseleave="handleItemMouseLeave">
-
-
![]()
+
+
-
-
{{ file.name }}
-
-
-
-
- 文件名称:
- {{ file.name }}
-
-
- 大小:
- {{ formatFileSize(file.size) }}
-
-
- 修改时间:
- {{ formatDate(file.modifiedAt) }}
-
+
+
+ {{ file.name }}
+
+
+
-
-
-
-
新建文件夹
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+ 文件夹名称:
+
+
+
+
+
+
-
-
上传文件
-
-
-
-
-
+
+
+
+
+
showMoveModal = false"
+ @confirm="() => showMoveModal = false">
+
+
+ 选择文件夹:
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+

+
{{ item.name }}
+
+
{{ item.size }}
+
+
+
+
+
{{ item.deletedAt }}
+
{{ item.ttl }}
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+