diff --git a/schoolNewsWeb/src/assets/imgs/dang.svg b/schoolNewsWeb/src/assets/imgs/dang.svg new file mode 100644 index 0000000..c286d4e --- /dev/null +++ b/schoolNewsWeb/src/assets/imgs/dang.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/schoolNewsWeb/src/components/base/Carousel.vue b/schoolNewsWeb/src/components/base/Carousel.vue new file mode 100644 index 0000000..62f6931 --- /dev/null +++ b/schoolNewsWeb/src/components/base/Carousel.vue @@ -0,0 +1,267 @@ + + + + + + diff --git a/schoolNewsWeb/src/components/base/index.ts b/schoolNewsWeb/src/components/base/index.ts index 21b454c..81fbc4c 100644 --- a/schoolNewsWeb/src/components/base/index.ts +++ b/schoolNewsWeb/src/components/base/index.ts @@ -1,4 +1,5 @@ export { default as Breadcrumb } from './Breadcrumb.vue'; +export { default as Carousel } from './Carousel.vue'; export { default as FloatingSidebar } from './FloatingSidebar.vue'; export { default as MenuItem } from './MenuItem.vue'; export { default as MenuNav } from './MenuNav.vue'; diff --git a/schoolNewsWeb/src/views/admin/manage/crontab/LogManagementView.vue b/schoolNewsWeb/src/views/admin/manage/crontab/LogManagementView.vue index 584ee37..1e08a6a 100644 --- a/schoolNewsWeb/src/views/admin/manage/crontab/LogManagementView.vue +++ b/schoolNewsWeb/src/views/admin/manage/crontab/LogManagementView.vue @@ -248,7 +248,7 @@ const cleanDialogVisible = ref(false); const cleanDays = ref(30); // 加载日志列表 -const loadLogList = async () => { +async function loadLogList() { loading.value = true; try { const filter: Partial = {}; @@ -273,37 +273,37 @@ const loadLogList = async () => { } finally { loading.value = false; } -}; +} // 搜索 -const handleSearch = () => { +function handleSearch() { pageParam.pageNumber = 1; loadLogList(); -}; +} // 重置搜索 -const handleReset = () => { +function handleReset() { searchForm.taskName = ''; searchForm.taskGroup = ''; searchForm.executeStatus = undefined; pageParam.pageNumber = 1; loadLogList(); -}; +} // 分页变化 -const handlePageChange = (page: number) => { +function handlePageChange(page: number) { pageParam.pageNumber = page; loadLogList(); -}; +} -const handleSizeChange = (size: number) => { +function handleSizeChange(size: number) { pageParam.pageSize = size; pageParam.pageNumber = 1; loadLogList(); -}; +} // 查看详情 -const handleViewDetail = async (row: CrontabLog) => { +async function handleViewDetail(row: CrontabLog) { try { const result = await crontabApi.getLogById(row.id!); if (result.success && result.data) { @@ -316,10 +316,10 @@ const handleViewDetail = async (row: CrontabLog) => { console.error('获取日志详情失败:', error); ElMessage.error('获取日志详情失败'); } -}; +} // 删除日志 -const handleDelete = async (row: CrontabLog) => { +async function handleDelete(row: CrontabLog) { try { await ElMessageBox.confirm( '确定要删除这条日志吗?', @@ -344,15 +344,15 @@ const handleDelete = async (row: CrontabLog) => { ElMessage.error('删除日志失败'); } } -}; +} // 清理日志 -const handleCleanLogs = () => { +function handleCleanLogs() { cleanDialogVisible.value = true; -}; +} // 确认清理 -const handleConfirmClean = async () => { +async function handleConfirmClean() { submitting.value = true; try { const result = await crontabApi.cleanLogs(cleanDays.value); @@ -369,7 +369,7 @@ const handleConfirmClean = async () => { } finally { submitting.value = false; } -}; +} // 初始化 onMounted(() => { diff --git a/schoolNewsWeb/src/views/admin/manage/crontab/NewsCrawlerView.vue b/schoolNewsWeb/src/views/admin/manage/crontab/NewsCrawlerView.vue index df910e5..099f46d 100644 --- a/schoolNewsWeb/src/views/admin/manage/crontab/NewsCrawlerView.vue +++ b/schoolNewsWeb/src/views/admin/manage/crontab/NewsCrawlerView.vue @@ -266,10 +266,7 @@ + + + diff --git a/schoolNewsWeb/src/views/public/article/card/IdeologicalArticleCard.vue b/schoolNewsWeb/src/views/public/article/card/IdeologicalArticleCard.vue new file mode 100644 index 0000000..b97b3b0 --- /dev/null +++ b/schoolNewsWeb/src/views/public/article/card/IdeologicalArticleCard.vue @@ -0,0 +1,137 @@ + + + + + + diff --git a/schoolNewsWeb/src/views/public/article/card/index.ts b/schoolNewsWeb/src/views/public/article/card/index.ts new file mode 100644 index 0000000..4c4b74b --- /dev/null +++ b/schoolNewsWeb/src/views/public/article/card/index.ts @@ -0,0 +1,2 @@ +export { default as HotArticleCard } from './HotArticleCard.vue'; +export { default as IdeologicalArticleCard } from './IdeologicalArticleCard.vue'; \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/article/index.ts b/schoolNewsWeb/src/views/public/article/index.ts index 0106271..b538e56 100644 --- a/schoolNewsWeb/src/views/public/article/index.ts +++ b/schoolNewsWeb/src/views/public/article/index.ts @@ -1,2 +1,3 @@ export { default as ArticleAddView } from './ArticleAddView.vue'; -export { default as ArticleShowView } from './ArticleShowView.vue'; \ No newline at end of file +export { default as ArticleShowView } from './ArticleShowView.vue'; +export * from './card'; \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/banner/BannerAdd.vue b/schoolNewsWeb/src/views/public/banner/BannerAdd.vue new file mode 100644 index 0000000..898c75e --- /dev/null +++ b/schoolNewsWeb/src/views/public/banner/BannerAdd.vue @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/banner/BannerCard.vue b/schoolNewsWeb/src/views/public/banner/BannerCard.vue new file mode 100644 index 0000000..245cbd6 --- /dev/null +++ b/schoolNewsWeb/src/views/public/banner/BannerCard.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/banner/index.ts b/schoolNewsWeb/src/views/public/banner/index.ts new file mode 100644 index 0000000..4def35a --- /dev/null +++ b/schoolNewsWeb/src/views/public/banner/index.ts @@ -0,0 +1,3 @@ +// 导出目录下组件 +export { default as BannerAdd } from './BannerAdd.vue'; +export { default as BannerCard } from './BannerCard.vue'; \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/editor/index.ts b/schoolNewsWeb/src/views/public/editor/index.ts new file mode 100644 index 0000000..1bfa9a3 --- /dev/null +++ b/schoolNewsWeb/src/views/public/editor/index.ts @@ -0,0 +1 @@ +export { default as RichTextEditorView } from './RichTextEditorView.vue' \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/error/index.ts b/schoolNewsWeb/src/views/public/error/index.ts new file mode 100644 index 0000000..4f14cd0 --- /dev/null +++ b/schoolNewsWeb/src/views/public/error/index.ts @@ -0,0 +1,4 @@ +// 导出错误页面 +export { default as Error403 } from './403.vue' +export { default as Error404 } from './404.vue' +export { default as Error500 } from './500.vue' \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/index.ts b/schoolNewsWeb/src/views/public/index.ts new file mode 100644 index 0000000..d8ec7b6 --- /dev/null +++ b/schoolNewsWeb/src/views/public/index.ts @@ -0,0 +1,7 @@ +export * from './article' +export * from './banner' +export * from './course' +export * from './editor' +export * from './error' +export * from './login' +export * from './task' diff --git a/schoolNewsWeb/src/views/public/login/index.ts b/schoolNewsWeb/src/views/public/login/index.ts new file mode 100644 index 0000000..587c338 --- /dev/null +++ b/schoolNewsWeb/src/views/public/login/index.ts @@ -0,0 +1,3 @@ +export { default as Login } from './Login.vue' +export { default as Register } from './Register.vue' +export { default as ForgotPassword } from './ForgotPassword.vue' \ No newline at end of file diff --git a/schoolNewsWeb/src/views/public/task/LearningProgress.vue b/schoolNewsWeb/src/views/public/task/LearningProgress.vue new file mode 100644 index 0000000..967f5a4 --- /dev/null +++ b/schoolNewsWeb/src/views/public/task/LearningProgress.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/schoolNewsWeb/src/views/public/task/LearingTaskDetail.vue b/schoolNewsWeb/src/views/public/task/LearningTaskDetail.vue similarity index 100% rename from schoolNewsWeb/src/views/public/task/LearingTaskDetail.vue rename to schoolNewsWeb/src/views/public/task/LearningTaskDetail.vue diff --git a/schoolNewsWeb/src/views/public/task/LearningTaskList.vue b/schoolNewsWeb/src/views/public/task/LearningTaskList.vue index b0f5681..857d521 100644 --- a/schoolNewsWeb/src/views/public/task/LearningTaskList.vue +++ b/schoolNewsWeb/src/views/public/task/LearningTaskList.vue @@ -434,8 +434,8 @@ async function loadTaskList() { try { const pageParam: PageParam = { - page: pagination.value.current, - size: pagination.value.pageSize + pageNumber: pagination.value.current, + pageSize: pagination.value.pageSize }; const filter: any = {}; diff --git a/schoolNewsWeb/src/views/public/task/index.ts b/schoolNewsWeb/src/views/public/task/index.ts index d5f0c72..a9e7470 100644 --- a/schoolNewsWeb/src/views/public/task/index.ts +++ b/schoolNewsWeb/src/views/public/task/index.ts @@ -1,3 +1,4 @@ export { default as LearningTaskAdd } from './LearningTaskAdd.vue'; export { default as LearningTaskList } from './LearningTaskList.vue'; -export { default as LearingTaskDetail } from './LearingTaskDetail.vue'; \ No newline at end of file +export { default as LearingTaskDetail } from './LearningTaskDetail.vue'; +export { default as LearningProgress } from './LearningProgress.vue'; \ No newline at end of file diff --git a/schoolNewsWeb/src/views/user/home/HomeView.vue b/schoolNewsWeb/src/views/user/home/HomeView.vue index 6ba72b1..5263053 100644 --- a/schoolNewsWeb/src/views/user/home/HomeView.vue +++ b/schoolNewsWeb/src/views/user/home/HomeView.vue @@ -1,7 +1,142 @@ + + \ No newline at end of file diff --git a/schoolNewsWeb/src/views/user/home/components/index.ts b/schoolNewsWeb/src/views/user/home/components/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/schoolNewsWeb/src/views/user/study-plan/StudyTasksView.vue b/schoolNewsWeb/src/views/user/study-plan/StudyTasksView.vue index c093348..eaa54c4 100644 --- a/schoolNewsWeb/src/views/user/study-plan/StudyTasksView.vue +++ b/schoolNewsWeb/src/views/user/study-plan/StudyTasksView.vue @@ -143,10 +143,10 @@ onMounted(() => { }); // 获取当前用户ID -const getUserID = () => { +function getUserID() { const userInfo = store.getters['auth/user']; return userInfo?.id || ''; -}; +} // 加载任务列表(用户视角) async function loadTaskList() { @@ -161,8 +161,8 @@ async function loadTaskList() { // 调用用户任务分页接口 const pageParam = { - page: 1, - size: 100 // 获取所有任务,不做分页 + pageNumber: 1, + pageSize: 100 // 获取所有任务,不做分页 }; const filter: TaskItemVO = {