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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ buttonName }}
+ 取消
+
+
+
+
+
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("网络不通畅,请检查您的网络连接或服务器状态");
};