mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-09 10:56:48 +08:00
学院段修改
This commit is contained in:
@@ -1,15 +1,95 @@
|
||||
import {createStore} from 'vuex'
|
||||
import {PROJECT_PROCESS, ROUTER_PROCESS} from "@/api/api";
|
||||
import {request} from "@/api/request";
|
||||
import {TASK_TYPES} from "@/api/CONST";
|
||||
|
||||
export default createStore({
|
||||
state: {
|
||||
userInfo: {}
|
||||
userInfo: {},
|
||||
projectInfo: {},
|
||||
routerInfo: {}
|
||||
},
|
||||
getters: {
|
||||
|
||||
},
|
||||
getters: {},
|
||||
mutations: {
|
||||
SET_USER(state, userInfo) {
|
||||
state.userInfo = userInfo
|
||||
},
|
||||
SET_PROJECT_INFO(state, info) {
|
||||
state.projectInfo = info
|
||||
},
|
||||
INIT_PROJECT_INFO(state) {
|
||||
if (state.projectInfo.status === -1) {
|
||||
state.projectInfo.stageProcessList.forEach((t) => {
|
||||
t.statusName = '已结束';
|
||||
t.taskProcessList?.forEach((s) => s.statusName = '已结束')
|
||||
})
|
||||
return
|
||||
}
|
||||
if (state.projectInfo.unlockMode === 1) {
|
||||
state.projectInfo.stageProcessList.forEach((t) => {
|
||||
t.statusName = '进行中'
|
||||
const stageState = t.taskProcessList?.every((s) => {
|
||||
s.statusName = s.status === 1 ? '已完成' : TASK_TYPES.toName[s.type]
|
||||
return s.status === 1
|
||||
})
|
||||
stageState && (t.statusName = '已完成')
|
||||
})
|
||||
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
|
||||
})
|
||||
},
|
||||
SET_ROUTER_INFO(state, info) {
|
||||
state.routerInfo = info
|
||||
},
|
||||
INIT_ROUTER_INFO(state) {
|
||||
// state.routerInfo.unlockMode 1自由模式 2闯关模式 3 闯关模式 必修 flag true
|
||||
if (state.routerInfo.status === -1) {
|
||||
state.routerInfo.statusName = '已结束'
|
||||
state.routerInfo.taskBoList.forEach((t) => t.statusName = '已结束')
|
||||
return
|
||||
}
|
||||
state.routerInfo.statusName = '进行中'
|
||||
if (state.routerInfo.unlockMode === 1) {
|
||||
state.routerInfo.taskBoList?.every((s) => {
|
||||
s.statusName = s.status === 1 ? '已完成' : TASK_TYPES.toName[s.type]
|
||||
return s.status === 1
|
||||
}) && (state.routerInfo.statusName = '已完成')
|
||||
return
|
||||
}
|
||||
state.routerInfo.statusName = '已完成'
|
||||
state.routerInfo.taskBoList?.some((s) => {
|
||||
s.unlock = true
|
||||
s.statusName = '已完成'
|
||||
s.status !== 1 && (s.statusName = TASK_TYPES.toName[s.type])
|
||||
return state.routerInfo.unlockMode === 2 ? s.status !== 1 : (s.status !== 1 && s.flag)
|
||||
}) && (state.routerInfo.statusName = '进行中')
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
getProjectInfo(content, {projectId}) {
|
||||
content.state.projectInfo.projectId || request(PROJECT_PROCESS, {projectId}).then(res => {
|
||||
content.commit('SET_PROJECT_INFO', res.data)
|
||||
content.commit('INIT_PROJECT_INFO')
|
||||
})
|
||||
},
|
||||
getRouterInfo(content, {routerId}) {
|
||||
content.state.routerInfo.routerId || request(ROUTER_PROCESS, {routerId}).then(res => {
|
||||
content.commit('SET_ROUTER_INFO', res.data)
|
||||
content.commit('INIT_ROUTER_INFO')
|
||||
})
|
||||
},
|
||||
},
|
||||
actions: {},
|
||||
modules: {}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user