From b215fb6dfd4ede3cb1b08985bb04ef5803a52454 Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期三, 17 一月 2024 16:32:12 +0800 Subject: [PATCH] bug修改 --- src/views/safetyReview/projectManage/process.vue | 338 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 198 insertions(+), 140 deletions(-) diff --git a/src/views/safetyReview/projectManage/process.vue b/src/views/safetyReview/projectManage/process.vue index f5fecd4..e40806e 100644 --- a/src/views/safetyReview/projectManage/process.vue +++ b/src/views/safetyReview/projectManage/process.vue @@ -15,8 +15,8 @@ <span class="text-eclipse" style="margin-left: 5px">{{item.name}}</span> </div> </div> - <div v-for="child in item.subMenus" :key="child.id"> - <div class="down-item" :class="{itemActive: child.status === 1 || child.status === 3, itemPrev: child.status === 2}" @click="chooseSubMenu(child,true)"> + <div v-for="child in item.subMenus" :key="child.id" @click="chooseSubMenu(child,true)"> + <div class="down-item" :class="{itemActive: child.status === 1 || child.status === 3, itemPrev: child.status === 2}"> <div class="item-icon-status0" v-if="child.status === 0">{{child.id}}</div> <div class="item-icon-status0 item-icon-status1" v-else-if="child.status === 1 || (selectedObj.status === 3 && child.id === selectedObj.id)">{{child.id}}</div> <div class="item-icon-status0 item-icon-status2" v-else-if="child.status === 2 "><img :src="itemStatus2Png"></div> @@ -38,16 +38,16 @@ <div class="card-header">{{selectedObj.id}}- {{selectedObj.name}}</div> <div class="card-content"> <div :style="'height:' + middleContentHeight + 'px'" style="overflow-y: scroll;"> - <rickAnalysis ref="riskRef" v-if="selectedObj.id === 2" @getNextStatus="getNextStatus"></rickAnalysis> - <contract-manage ref="contractMngRef" v-if="selectedObj.id === 1" @getNextStatus="getNextStatus"></contract-manage> + <rickAnalysis ref="riskRef" v-if="selectedObj.id === 1" @getNextStatus="getNextStatus"></rickAnalysis> + <contract-manage ref="contractMngRef" v-if="selectedObj.id === 2" @getNextStatus="getNextStatus"></contract-manage> <evaluate-task-notice ref="evaluteRef" v-if="selectedObj.id === 3" @getNextStatus="getNextStatus"></evaluate-task-notice> <evaluate-plan ref="evalPlanRef" v-if="selectedObj.id === 4" @getNextStatus="getNextStatus"></evaluate-plan> </div> <div style="display: flex;align-items: center;justify-content: center;margin-bottom: -20px"> <el-button type="primary" v-if="selectedObj.id !== 1" style="width: 80px" @click="back">上一步</el-button> - <el-button type="warning" style="width: 80px" v-if="projectStatus === 'edit' && selectedObj.status !== 1" @click="clickEdit">变更</el-button> -<!-- <el-button type="warning" style="width: 80px" v-if="selectedObj.status === 1" @click="save">暂存</el-button>--> - <el-button type="primary" style="width: 80px" @click="next">下一步</el-button> + <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'add' && selectedObj.status === 1)||(projectStatus === 'edit' && selectedObj.status === 1) " @click="save">保存</el-button> + <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'edit' && selectedObj.status !== 1) || (projectStatus === 'add' && selectedObj.status !== 1) " @click="clickEdit">变更</el-button> + <el-button type="primary" style="width: 80px" v-if="selectedObj.id !== 14" @click="next">下一步</el-button> </div> </div> </el-card> @@ -232,17 +232,18 @@ if(item.id <= res.data){ item.status = 2 } - if(item.id === res.data + 1){ - item.status = 4; - nextObj.value = item; + if(projectStatus.value !== 'view'){ + if(item.id === res.data + 1){ + item.status = 4; + nextObj.value = item; + } } if(item.id === res.data){ item.status = 3; selectedObj.value =item; - setTimeout(() => { - goRouter(selectedObj.value.id) - }, 10) - + setTimeout(() => { + goRouter(selectedObj.value.id) + }, 10) } }) menuList.value[0].status = 1; @@ -257,13 +258,16 @@ if(item.id <= res.data) { item.status = 2 } - if(item.id === res.data + 1){ - item.status = 4; - nextObj.value = item; + if(projectStatus.value !== 'view'){ + if(item.id === res.data + 1){ + item.status = 4; + nextObj.value = item; + } } if(item.id === res.data){ item.status = 3; selectedObj.value =item; + setTimeout(() => { goRouter(selectedObj.value.id) }, 10) @@ -283,9 +287,11 @@ if(item.id <= res.data) { item.status = 2 } - if(item.id === res.data + 1){ - item.status = 4; - nextObj.value = item; + if(projectStatus.value !== 'view'){ + if(item.id === res.data + 1){ + item.status = 4; + nextObj.value = item; + } } if(item.id === res.data){ item.status = 3; @@ -310,9 +316,11 @@ if(item.id <= res.data) { item.status = 2 } - if(item.id === res.data + 1){ - item.status = 4; - nextObj.value = item; + if(projectStatus.value !== 'view'){ + if(item.id === res.data + 1){ + item.status = 4; + nextObj.value = item; + } } if(item.id === res.data){ item.status = 3; @@ -339,9 +347,11 @@ if(item.id <= res.data) { item.status = 2 } - if(item.id === res.data + 1){ - item.status = 4; - nextObj.value = item; + if(projectStatus.value !== 'view'){ + if(item.id === res.data + 1){ + item.status = 4; + nextObj.value = item; + } } if(item.id === res.data){ item.status = 3; @@ -429,6 +439,11 @@ selectedObj.value.status = 1; nextObj.value.status = 2; nextObj.value = val; + // if(flag){ + // setTimeout(() => { + // goRouter(selectedObj.value.id) + // }, 10) + // } //跳转 }, 10) } @@ -446,20 +461,25 @@ }else if (selectedObj.value.id+ 1 >11){ nextMenu(4) } - } else { - //下一步——保存 - goRouter(selectedObj.value.id,'add') + }else { + setTimeout(() => { + isShowMenu.value = false; + ElMessage({ + type: 'warning', + message: '请按顺序操作,未完成步骤无法查看!' + }); + }, 10) } - - setTimeout( () => { - goRouter(selectedObj.value.id) - }, 100) + // + // setTimeout( () => { + // goRouter(selectedObj.value.id) + // }, 100) } const nextMenu = (id) => { menuList.value[id].subMenus.forEach( item => { if(item.id === selectedObj.value.id + 1){ - chooseSubMenu(item,false); + chooseSubMenu(item,true); } }) } @@ -467,7 +487,7 @@ const backMenu = (id) => { menuList.value[id].subMenus.forEach(async item => { if(item.id === selectedObj.value.id - 1){ - await chooseSubMenu(item,false); + await chooseSubMenu(item,true); } }) } @@ -485,110 +505,146 @@ }else if (selectedObj.value.id-1 >11){ backMenu(4) } - setTimeout( () => { - goRouter(selectedObj.value.id) - // switch (selectedObj.value.id){ - // case 1: - // if(projectStatus.value === 'view'){ - // riskRef.value.riskOpen('detail',projectId.value); - // }else { - // riskRef.value.riskOpen('edit',projectId.value); - // } - // break; - // case 2: - // - // break; - // case 3: - // - // break; - // case 4: - // - // break; - // case 5: - // - // break; - // case 6: - // - // break; - // case 7: - // - // break; - // case 8: - // - // break; - // case 9: - // - // break; - // case 10: - // - // break; - // case 11: - // - // break; - // case 12: - // - // break; - // case 13: - // - // break; - // case 14: - // - // break; - // } - }, 100) + // setTimeout( () => { + // goRouter(selectedObj.value.id) + // }, 100) } const clickEdit = () => { + goRouter(selectedObj.value.id,'clickEdit') - // switch (selectedObj.value.id){ - // case 1: - // riskRef.value.riskOpen('clickEdit',projectId.value); - // break; - // case 2: - // - // break; - // case 3: - // - // break; - // case 4: - // - // break; - // case 5: - // - // break; - // case 6: - // - // break; - // case 7: - // - // break; - // case 8: - // - // break; - // case 9: - // - // break; - // case 10: - // - // break; - // case 11: - // - // break; - // case 12: - // - // break; - // case 13: - // - // break; - // case 14: - // - // break; - // } } -const getNextStatus = (val) => { - getStatus(val); +const getNextStatus = async (val) => { + projectId.value = val; + console.log("val",val) + const res = await getProjectStatus(val); + if(res.code == 200){ + if(res.data <=4){ + menuList.value[0].subMenus.forEach(item => { + if(item.id <= res.data){ + item.status = 2 + } + if(item.id === res.data + 1){ + item.status = 1; + selectedObj.value =item; + nextObj.value = item; + } + // else if(item.id === res.data ){ + // item.status = 3; + // selectedObj.value =item; + // }else if(item.id === res.data + 1){ + // item.status = 4; + // nextObj.value = item; + // } + }) + menuList.value[0].status = 1; + console.log("menu11",menuList.value) + } + if(res.data >=4 && res.data<=6){ + setMenuList(0) + menuList.value[1].subMenus.forEach(item => { + if(item.id <= res.data) { + item.status = 2 + } + if(item.id === res.data + 1){ + item.status = 1; + selectedObj.value =item; + nextObj.value = item; + } + // if(item.id === res.data){ + // item.status = 3; + // selectedObj.value =item; + // } + }) + menuList.value[0].status = 2; + menuList.value[1].status = 1; + console.log("menu22",menuList.value) + } + if(res.data >= 6 && res.data <= 9){ + setMenuList(0); + setMenuList(1); + menuList.value[2].subMenus.forEach(item => { + if(item.id <= res.data) { + item.status = 2 + } + if(item.id === res.data + 1){ + item.status = 1; + selectedObj.value =item; + nextObj.value = item; + } + // if(item.id === res.data){ + // item.status = 3; + // selectedObj.value =item; + // } + }) + menuList.value[0].status = 2; + menuList.value[1].status = 2; + menuList.value[2].status = 1; + } + if(res.data >= 9 && res.data <=11){ + setMenuList(0); + setMenuList(1); + setMenuList(2); + menuList.value[3].subMenus.forEach(item => { + if(item.id <= res.data) { + item.status = 2 + } + if(item.id === res.data + 1){ + item.status = 1; + selectedObj.value =item; + nextObj.value = item; + } + // if(item.id === res.data){ + // item.status = 3; + // selectedObj.value =item; + // } + }) + menuList.value[0].status = 2; + menuList.value[1].status = 2; + menuList.value[2].status = 2; + menuList.value[3].status = 1; + } + if(res.data >= 11){ + setMenuList(0); + setMenuList(1); + setMenuList(2); + setMenuList(3); + // if(res.data === 11){ + // menuList.value[3].subMenus[1].status = 3; + // } + menuList.value[4].subMenus.forEach(item => { + if(item.id <= res.data) { + item.status = 2 + } + if(item.id === res.data + 1){ + item.status = 1; + selectedObj.value =item; + nextObj.value = item; + } + // if(item.id === res.data){ + // item.status = 3; + // selectedObj.value =item; + // } + menuList.value[0].status = 2; + menuList.value[1].status = 2; + menuList.value[2].status = 2; + menuList.value[3].status = 2; + menuList.value[4].status = 1; + if(res.data === 14 && res.data === item.id){ + item.status = 3; + menuList.value[4].status = 2; + selectedObj.value =item; + } + }) + + } + } } +const save = () => { + goRouter(selectedObj.value.id,'add') + +} const goRouter = (val,type) => { switch (val){ case 1: @@ -597,9 +653,9 @@ }else if (type === 'clickEdit'){ riskRef.value.riskOpen('clickEdit',projectId.value); }else { - if(projectStatus.value === 'view'){ + if(projectStatus.value === 'view' || projectStatus.value === 'add'){ riskRef.value.riskOpen('detail',projectId.value); - }else { + }else if(projectStatus.value === 'edit'){ riskRef.value.riskOpen('edit',projectId.value); } } @@ -607,13 +663,13 @@ break; case 2: if(type === 'add'){ - contractMngRef.value.riskOpen('add',''); + contractMngRef.value.riskOpen('add',projectId.value); }else if (type === 'clickEdit'){ contractMngRef.value.riskOpen('clickEdit',projectId.value); }else { - if(projectStatus.value === 'view'){ + if(projectStatus.value === 'view' || projectStatus.value === 'add'){ contractMngRef.value.riskOpen('detail',projectId.value); - }else { + }else if(projectStatus.value === 'edit'){ contractMngRef.value.riskOpen('edit',projectId.value); } } @@ -621,13 +677,13 @@ break; case 3: if(type === 'add'){ - evaluteRef.value.riskOpen('add',''); + evaluteRef.value.riskOpen('add',projectId.value); }else if (type === 'clickEdit'){ evaluteRef.value.riskOpen('clickEdit',projectId.value); }else { - if(projectStatus.value === 'view'){ + if(projectStatus.value === 'view' || projectStatus.value === 'add'){ evaluteRef.value.riskOpen('detail',projectId.value); - }else { + }else if(projectStatus.value === 'edit'){ evaluteRef.value.riskOpen('edit',projectId.value); } } @@ -776,6 +832,8 @@ border-radius: 50%; background: #b9c2d5; margin-right: 10px; + min-width: 21px; + min-height: 21px; } .item-icon-status1{ color: #3b75ff; -- Gitblit v1.9.2