From e3b69efee56a6f62df99711db5f78c7e783e6b9d Mon Sep 17 00:00:00 2001 From: zhangsir Date: Mon, 27 May 2024 18:04:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/index.js | 64 ++++++++++++++++----- src/views/projectdetails/projectDetails.vue | 22 +++++-- 2 files changed, 65 insertions(+), 21 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index a47ea20..17fd622 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -37,22 +37,56 @@ export default createStore({ } if (state.projectInfo.unlockMode === 1) { state.projectInfo.stageProcessList.forEach((t) => { - t.statusName = '进行中' - t.taskProcessList?.forEach((s) => s.statusName = (s.status === 1) ? '已完成' : TASK_TYPES.toName[s.type]) - t.taskProcessList?.every((s) => s.status === 1) && (t.statusName = '已完成') - }) - return + if(t.studyModel == 0){ + t.statusName = "进行中"; + t.taskProcessList?.forEach((s) => s.statusName = (s.status === 1) ? "已完成" : s.status === 2 ? (s.statusName = "进行中") : TASK_TYPES.toName[s.type]); + t.taskProcessList?.every((s) => s.status === 1) && (t.statusName = "已完成"); + } + else{ + state.projectInfo.stageProcessList?.forEach((t1) => { + t1.statusName = "已完成"; + const stageState = t1.taskProcessList?.some((s) => { + s.unlock = true; + s.statusName = "已完成"; + s.status !== 1 && (s.statusName = TASK_TYPES.toName[s.type]) + return state.projectInfo.unlockMode === 1 ? s.status !== 1 : (s.status !== 1 && s.flag) + }); + stageState && (t1.statusName = "进行中"); + return stageState; + }); + } + }); + return; } - state.projectInfo.stageProcessList?.some((t) => { - t.statusName = '已完成' - const stageState = t.taskProcessList?.some((s) => { - s.unlock = true - s.statusName = '已完成' - s.status !== 1 && (s.statusName = TASK_TYPES.toName[s.type]) - return state.projectInfo.unlockMode === 2 ? s.status !== 1 : (s.status !== 1 && s.flag) - }) - stageState && (t.statusName = '进行中'); - return stageState + state.projectInfo.stageProcessList.filter(i => i.id != 0).forEach((item,i)=>{ + if(item.studyModel == 0){ + if(i == 0){ + item.statusName = "进行中"; + item.taskProcessList?.forEach((s) => s.statusName = (s.status === 1) ? "已完成" : s.status === 2 ? (s.statusName = "进行中") : TASK_TYPES.toName[s.type]); + item.taskProcessList?.every((s) => s.status === 1) && (item.statusName = "已完成"); + } + if(i > 0){ + if(state.projectInfo.stageProcessList.filter(i => i.id != 0)[i-1].statusName == "已完成"){ + item.statusName = "进行中"; + item.taskProcessList?.forEach((s) => s.statusName = (s.status === 1) ? "已完成" : s.status === 2 ? (s.statusName = "进行中") : TASK_TYPES.toName[s.type]); + item.taskProcessList?.every((s) => s.status === 1) && (item.statusName = "已完成"); + }else{ + item.statusName = "未解锁"; + } + } + }else{ + state.projectInfo.stageProcessList?.some((t) => { + t.statusName = "已完成"; + const stageState = t.taskProcessList?.some((s) => { + s.unlock = true; + s.statusName = "已完成"; + s.status !== 1 && (s.statusName = s.status==2? '进行中' : TASK_TYPES.toName[s.type]) + return state.projectInfo.unlockMode === 2 ? s.status !== 1 : (s.status !== 1 && s.flag) + }); + stageState && (t.statusName = "进行中"); + return stageState; + }); + } }) }, SET_ROUTER_INFO(state, info) { diff --git a/src/views/projectdetails/projectDetails.vue b/src/views/projectdetails/projectDetails.vue index a0b77bf..46cac90 100644 --- a/src/views/projectdetails/projectDetails.vue +++ b/src/views/projectdetails/projectDetails.vue @@ -161,8 +161,14 @@ -
+ +
+ {{ el.statusName || (item.studyModel==0 ? TASK_TYPES.toName[el.type] : '未解锁')}} +
+
+ {{ el.statusName || '未解锁' }}