From 0018b604a3ce8345219fa55ba6d3c48b91c50257 Mon Sep 17 00:00:00 2001 From: WindowBird <13870814+windows-bird@user.noreply.gitee.com> Date: Tue, 18 Nov 2025 17:30:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E4=BB=BB=E5=8A=A1=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/project/list/index.vue | 18 ++++++++++++++++-- pages/task/add/index.vue | 11 ++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/pages/project/list/index.vue b/pages/project/list/index.vue index 571721b..b55beb0 100644 --- a/pages/project/list/index.vue +++ b/pages/project/list/index.vue @@ -605,8 +605,7 @@ const handleCardMenu = (project) => { } else if (res.tapIndex === 1) { handleDeleteProject(project); } else if (res.tapIndex === 2) { - // 新增任务 - uni.showToast({ title: '新增任务功能开发中', icon: 'none' }); + goToAddTask(project); } else if (res.tapIndex === 3) { handleStartDevelopment(project); } @@ -751,6 +750,21 @@ const goToEditProject = (project) => { }); }; +const goToAddTask = (project) => { + if (!project?.id) { + uni.showToast({ + title: '缺少项目ID', + icon: 'none' + }); + return; + } + const projectName = project.name || project.projectName || ''; + const encodedName = encodeURIComponent(projectName); + uni.navigateTo({ + url: `/pages/task/add/index?projectId=${project.id}&projectName=${encodedName}` + }); +}; + // 处理状态标签点击 const handleStatusTabClick = (value) => { activeStatusTab.value = value; diff --git a/pages/task/add/index.vue b/pages/task/add/index.vue index 7be9fc8..3acf14e 100644 --- a/pages/task/add/index.vue +++ b/pages/task/add/index.vue @@ -459,7 +459,16 @@ const handleSubmit = async () => { onLoad(async (options) => { if (options?.projectId) { - presetProjectId.value = String(options.projectId); + const projectId = String(options.projectId); + presetProjectId.value = projectId; + formData.value.projectId = projectId; + if (options?.projectName) { + try { + formData.value.projectName = decodeURIComponent(options.projectName); + } catch (err) { + formData.value.projectName = options.projectName; + } + } } loading.value = true; try {