项目课程显示

This commit is contained in:
zhangsir
2024-05-27 10:29:44 +08:00
parent e83e1fe945
commit e73c2c9626
2 changed files with 43 additions and 20 deletions

View File

@@ -27,23 +27,46 @@ export default createStore({
}
if (state.projectInfo.unlockMode === 1) {
state.projectInfo.stageProcessList.forEach((t) => {
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 = "已完成");
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.forEach(item=>{
if(item.studyModel == 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) && (t.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 = 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) {
state.routerInfo = info;

View File

@@ -70,11 +70,11 @@
</div>
</div>
<el-dropdown trigger="click">
<!-- <div class="goclass" @click="toFinish(value, i.stageName, i.id, i.studyModel)" :style="{ background: value.colorItem }">
{{ value.statusName }}
</div> -->
<div class="goclass" @click="toFinish(value, i.stageName, i.id)" :style="{ background: (value.statusName !== '已结束' && (value.statusName || data.unlockMode === 1)) ? '#2478ff' : '#999' }">
{{ value.statusName || (data.unlockMode === 1 ? TASK_TYPES.toName[value.type] : '未解锁') }}
<div v-if="data.unlockMode === 1" class="goclass" @click="toFinish(value, i.stageName, i.id, i.studyModel)" :style="{ background: (value.statusName !== '已结束' && (value.statusName || i.studyModel==0)) ? '#2478ff' : '#999' }">
{{ value.statusName || (i.studyModel==0 ? TASK_TYPES.toName[value.type] : '未解锁')}}
</div>
<div v-else class="goclass" @click="toFinish(value, i.stageName, i.id, i.studyModel)" :style="{ background: (value.statusName !== '已结束' && (value.statusName || i.studyModel==0)) ? '#2478ff' : '#999' }">
{{ value.statusName || (i.studyModel==0 ? TASK_TYPES.toName[value.type] : '未解锁') }}
</div>
<!-- <template #dropdown v-if="value.type===2 && value.targetId?.split(',')?.length > 1">
<el-dropdown-menu>
@@ -467,7 +467,7 @@ function judgeTaskIsEnd(type, endTimes, status) {
}
async function toFinish(d, sName, chapterOrStageId, studyModel) {
if (data.value.unlockMode !== 1 && !d.statusName) {
if (studyModel != 0 && !d.statusName) {
ElMessage.warning("当前未解锁")
return
}