mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/student-h5.git
synced 2025-12-06 09:26:46 +08:00
@@ -37,22 +37,56 @@ export default createStore({
|
|||||||
}
|
}
|
||||||
if (state.projectInfo.unlockMode === 1) {
|
if (state.projectInfo.unlockMode === 1) {
|
||||||
state.projectInfo.stageProcessList.forEach((t) => {
|
state.projectInfo.stageProcessList.forEach((t) => {
|
||||||
t.statusName = '进行中'
|
if(t.studyModel == 0){
|
||||||
t.taskProcessList?.forEach((s) => s.statusName = (s.status === 1) ? '已完成' : TASK_TYPES.toName[s.type])
|
t.statusName = "进行中";
|
||||||
t.taskProcessList?.every((s) => s.status === 1) && (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
|
}
|
||||||
|
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) => {
|
state.projectInfo.stageProcessList.filter(i => i.id != 0).forEach((item,i)=>{
|
||||||
t.statusName = '已完成'
|
if(item.studyModel == 0){
|
||||||
const stageState = t.taskProcessList?.some((s) => {
|
if(i == 0){
|
||||||
s.unlock = true
|
item.statusName = "进行中";
|
||||||
s.statusName = '已完成'
|
item.taskProcessList?.forEach((s) => s.statusName = (s.status === 1) ? "已完成" : s.status === 2 ? (s.statusName = "进行中") : TASK_TYPES.toName[s.type]);
|
||||||
s.status !== 1 && (s.statusName = TASK_TYPES.toName[s.type])
|
item.taskProcessList?.every((s) => s.status === 1) && (item.statusName = "已完成");
|
||||||
return state.projectInfo.unlockMode === 2 ? s.status !== 1 : (s.status !== 1 && s.flag)
|
}
|
||||||
})
|
if(i > 0){
|
||||||
stageState && (t.statusName = '进行中');
|
if(state.projectInfo.stageProcessList.filter(i => i.id != 0)[i-1].statusName == "已完成"){
|
||||||
return stageState
|
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) {
|
SET_ROUTER_INFO(state, info) {
|
||||||
|
|||||||
@@ -161,8 +161,14 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dropdown trigger="click">
|
<el-dropdown trigger="click">
|
||||||
<div class="goclass" @click="toFinish(el, item.stageName, item.id)" :style="{ background: el.statusName !== '已结束' &&(el.statusName || data.unlockMode === 1) ? '#2478ff' : '#999' }">
|
<!-- <div class="goclass" @click="toFinish(el, item.stageName, item.id)" :style="{ background: el.statusName !== '已结束' &&(el.statusName || data.unlockMode === 1) ? '#2478ff' : '#999' }">
|
||||||
{{el.statusName || (data.unlockMode === 1 ? TASK_TYPES.toName[el.type] : "未解锁")}}
|
{{el.statusName || (data.unlockMode === 1 ? TASK_TYPES.toName[el.type] : "未解锁")}}
|
||||||
|
</div> -->
|
||||||
|
<div v-if="data.unlockMode === 1" class="goclass" @click="toFinish(el, item.stageName, item.id, item.studyModel)" :style="{ background: (el.statusName !== '已结束' && (el.statusName || item.studyModel==0)) ? '#2478ff' : '#999' }">
|
||||||
|
{{ el.statusName || (item.studyModel==0 ? TASK_TYPES.toName[el.type] : '未解锁')}}
|
||||||
|
</div>
|
||||||
|
<div v-else class="goclass" @click="toFinish(el, item.stageName, item.id, item.studyModel)" :style="{ background: (el.statusName !== '已结束' && el.statusName) ? '#2478ff' : '#999' }">
|
||||||
|
{{ el.statusName || '未解锁' }}
|
||||||
</div>
|
</div>
|
||||||
<!-- <template #dropdown v-if="el.type===2 && el.targetId?.split(',')?.length > 1">
|
<!-- <template #dropdown v-if="el.type===2 && el.targetId?.split(',')?.length > 1">
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
@@ -245,7 +251,7 @@ const {
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { commit, dispatch, state } = useStore();
|
const { commit, dispatch, state } = useStore();
|
||||||
const data = computed(() => state.projectInfo);
|
const data = computed(() => state.projectInfo);
|
||||||
useRequest(PROJECT_PROCESS, { projectId: projectId, type }, (e) => {
|
useRequest(PROJECT_PROCESS, { projectId: projectId, type:1 }, (e) => {
|
||||||
useRequest(
|
useRequest(
|
||||||
checkStudentExist,
|
checkStudentExist,
|
||||||
{
|
{
|
||||||
@@ -445,10 +451,14 @@ function judgeTaskIsEnd(type, endTimes, status) {
|
|||||||
return isEnd;
|
return isEnd;
|
||||||
}
|
}
|
||||||
|
|
||||||
function toFinish(d, sName, chapterOrStageId) {
|
function toFinish(d, sName, chapterOrStageId,studyModel) {
|
||||||
if (data.value.unlockMode !== 1 && !d.statusName) {
|
if (studyModel != 0 && !d.statusName) {
|
||||||
ElMessage.warning("当前未解锁");
|
ElMessage.warning("当前未解锁")
|
||||||
return;
|
return
|
||||||
|
}
|
||||||
|
if(d.statusName == '未解锁'|| d.statusName == ''||!d.hasOwnProperty('statusName')){
|
||||||
|
ElMessage.warning("当前未解锁")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if (d.type === 2) {
|
if (d.type === 2) {
|
||||||
if(!d.targetId){
|
if(!d.targetId){
|
||||||
|
|||||||
Reference in New Issue
Block a user