From bf2c474058fb3fdbe5e15240ae6afdd251b4c3c9 Mon Sep 17 00:00:00 2001 From: guo <1716967236@qq.com> Date: Sat, 28 Jun 2025 21:10:08 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=AD=A6=E4=B9=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E9=A1=B5=E9=9D=A2-=E5=88=9B=E5=BB=BA/?= =?UTF-8?q?=E6=9B=B4=E6=96=B0/=E5=88=A0=E9=99=A4=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Study.vue | 16 ++- src/components/TaskForm.vue | 231 ++++++++++++++++++++++++++++++++++++ src/router/index.ts | 17 +++ src/utils/request.ts | 2 - 4 files changed, 263 insertions(+), 3 deletions(-) create mode 100644 src/components/TaskForm.vue diff --git a/src/components/Study.vue b/src/components/Study.vue index 7ce7858..259e745 100644 --- a/src/components/Study.vue +++ b/src/components/Study.vue @@ -2,6 +2,7 @@ import { ref, reactive, onMounted } from 'vue'; import request from '@/utils/request'; import router from "@/router"; +import {ElMessage} from "element-plus"; const tasks = reactive([] as any[]); @@ -16,6 +17,8 @@ const fetchTasks = () => { description: record.taskDescription || '', progress: record.lastLearningStatus || '未开始', priority: Math.round(record.taskPriority), + taskNum: record.taskNum, + taskId: record.id, }))); selectedTask.value = tasks[0] || null; }); @@ -27,10 +30,20 @@ const startTask = () => { }; const addTask = () => { - tasks.push({ title: '新任务', description: '', progress: '未开始', priority: 0 }); + router.push({name:"add-task"}); +}; + +const changeTask = () =>{ + router.push({name:"update-task",params:{"taskId":selectedTask.value.taskId}}) }; const removeTask = () => { + request.del(`/tasks/${selectedTask.value.taskId}`,{}).then(res=>{ + if (res.code == '200'){ + ElMessage.success(`任务${selectedTask.value.title}删除成功`) + } + }); + const index = tasks.indexOf(selectedTask.value); if (index > -1) { tasks.splice(index, 1); @@ -97,6 +110,7 @@ onMounted(() => { 开始任务 添加任务 + 更新任务 删除任务 刷新 diff --git a/src/components/TaskForm.vue b/src/components/TaskForm.vue new file mode 100644 index 0000000..038d961 --- /dev/null +++ b/src/components/TaskForm.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index 06ccfcb..136f84d 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -4,6 +4,7 @@ import Study from "@/components/Study.vue"; import Welcome from "@/components/Welcome.vue"; import Review from "@/components/Review.vue"; import StartTask from "@/components/StartTask.vue"; +import TaskForm from "@/components/TaskForm.vue"; const router = createRouter({ history: createWebHistory(), @@ -31,6 +32,22 @@ const router = createRouter({ { path:'/start-task', component: StartTask + }, + { + path:'/add-task', + name:'add-task', + component: TaskForm, + meta:{ + action: 'add', buttonText: '添加' + } + }, + { + path:'/update-task/:taskId', + name:'update-task', + component: TaskForm, + meta:{ + action: 'update', buttonText: '更新' + } } ] }); diff --git a/src/utils/request.ts b/src/utils/request.ts index 515deef..205bbe9 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -14,8 +14,6 @@ const handleError = (error: any) => { ElMessage.error(`请求失败,服务器返回: ${error.response.data}`); } else if (error.request) { ElMessage.error("请求未收到响应,请检查接口运行状态"); - } else { - ElMessage.error(`请求配置错误: ${error.message}`); } throw new Error("网络不通畅,请检查您的网络连接或服务器状态"); };