diff --git a/src/store/index.js b/src/store/index.js index 17fd622..13f1a6f 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -37,12 +37,7 @@ export default createStore({ } if (state.projectInfo.unlockMode === 1) { state.projectInfo.stageProcessList.forEach((t) => { - 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{ + if(t.studyModel == 1){ state.projectInfo.stageProcessList?.forEach((t1) => { t1.statusName = "已完成"; const stageState = t1.taskProcessList?.some((s) => { @@ -55,26 +50,16 @@ export default createStore({ return stageState; }); } + else{ + 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 = "已完成"); + } }); return; } - 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.forEach((item,i)=>{ + if(item.studyModel == 1){ state.projectInfo.stageProcessList?.some((t) => { t.statusName = "已完成"; const stageState = t.taskProcessList?.some((s) => { @@ -86,6 +71,21 @@ export default createStore({ stageState && (t.statusName = "进行中"); return stageState; }); + }else{ + 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[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 = "未解锁"; + } + } } }) }, diff --git a/src/views/projectdetails/projectDetails.vue b/src/views/projectdetails/projectDetails.vue index 46cac90..c6fa130 100644 --- a/src/views/projectdetails/projectDetails.vue +++ b/src/views/projectdetails/projectDetails.vue @@ -251,7 +251,7 @@ const { const router = useRouter(); const { commit, dispatch, state } = useStore(); const data = computed(() => state.projectInfo); -useRequest(PROJECT_PROCESS, { projectId: projectId, type:1 }, (e) => { +useRequest(PROJECT_PROCESS, { projectId: projectId, type }, (e) => { useRequest( checkStudentExist, {