-
-
{{ t('tabs.calendar') }}
-
-
-
-
-
{{ t('common.loading') }}
-
-
-
-
+
+
+
+
+
+
+
{{ t('common.loading') }}
+
+
+
-
+
diff --git a/src/modules/timetable/index.js b/src/modules/timetable/index.js
index a8a278f..18b855b 100644
--- a/src/modules/timetable/index.js
+++ b/src/modules/timetable/index.js
@@ -1,11 +1,10 @@
// 模块元数据 -- 日程整理(timeTableFix)页签
-// 构建期组件集成:直接 import 子模块 timeTableFix 的 App.vue 作为懒加载路由组件。
-// timeTableFix 作为 git submodule 位于 third_party/timeTableFix,独立维护、独立仓库。
+// 构建期组件集成:mainPage 侧包装器 Timetable.vue import 子模块 App.vue,
+// 套 PageShell 统一容器与标题。timeTableFix 作为 git submodule 独立维护。
// 升级:cd third_party/timeTableFix && git pull,回 mainPage 根 git add 该子模块并重新 build。
export default {
id: 'timetable',
tabKey: 'tabs.timetable',
order: 3,
- // 懒加载子模块组件 -> 独立 chunk(含 ical.js,仅访问该页签时下载)
- component: () => import('../../../third_party/timeTableFix/src/App.vue')
+ component: () => import('./Timetable.vue')
}
diff --git a/src/modules/whiteboard/Whiteboard.vue b/src/modules/whiteboard/Whiteboard.vue
index 644a590..b796abf 100644
--- a/src/modules/whiteboard/Whiteboard.vue
+++ b/src/modules/whiteboard/Whiteboard.vue
@@ -7,6 +7,7 @@ import { useRoute, useRouter } from 'vue-router'
import { appConfig, healthUrl } from '../../config/app.config.js'
import { useLocale } from '../../composables/useLocale.js'
import { getLiveness } from '../../composables/useLiveness.js'
+import PageShell from '../../components/ui/PageShell.vue'
const { t } = useLocale()
const route = useRoute()
@@ -81,96 +82,65 @@ function openExternal() {
-
-
-
-
{{ t('tabs.whiteboard') }}
-
-
-
-
-
-
{{ t('common.serviceUnavailable') }}
-
-
-
-
-
-
{{ t('common.serviceUnavailable') }}
-
-
-
-
-
-
-
-
{{ t('common.loading') }}
-
-
-
+
+
+
+
+
+
+
{{ t('common.serviceUnavailable') }}
+
-
+
+
+
+
+
+
{{ t('common.loading') }}
+
+
+
+
+