From b215fb6dfd4ede3cb1b08985bb04ef5803a52454 Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: Wed, 17 Jan 2024 16:32:12 +0800
Subject: [PATCH] bug修改
---
src/views/safetyReview/projectManage/process.vue | 417 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 238 insertions(+), 179 deletions(-)
diff --git a/src/views/safetyReview/projectManage/process.vue b/src/views/safetyReview/projectManage/process.vue
index 6c50762..e40806e 100644
--- a/src/views/safetyReview/projectManage/process.vue
+++ b/src/views/safetyReview/projectManage/process.vue
@@ -39,19 +39,24 @@
<div class="card-content">
<div :style="'height:' + middleContentHeight + 'px'" style="overflow-y: scroll;">
<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>
</div>
- <div class="bottom"></div>
+ <div class="bottom">
+ <el-button type="primary" v-if="selectedObj.id === 1" plain @click="downloadFile">
+ 评价任务通知书<el-icon class="el-icon--right"><Download /></el-icon>
+ </el-button>
+ </div>
</div>
</template>
@@ -60,6 +65,9 @@
import {onMounted, ref} from "vue";
import {ElMessage} from "element-plus";
import rickAnalysis from "./components/riskAnalysis.vue"
+import contractManage from "./components/contractManage.vue"
+import evaluateTaskNotice from "./components/evaluateTaskNotice.vue"
+import {Download} from '@element-plus/icons-vue'
import projectPng from "@/assets/images/project.png"
import status0Png from "@/assets/images/status0.png"
import status1Png from "@/assets/images/status1.png"
@@ -67,6 +75,9 @@
import itemStatus2Png from "@/assets/images/itemStatus2.png"
import { useRoute } from 'vue-router'
import {getProjectStatus} from "@/api/projectManage/project";
+import ContractManage from "./components/contractManage";
+import EvaluateTaskNotice from "./components/evaluateTaskNotice";
+import EvaluatePlan from "./components/evaluatePlan";
const route = useRoute()
const menuList = ref([
@@ -178,6 +189,8 @@
},
])
const riskRef = ref();
+const contractMngRef = ref()
+const evaluteRef = ref()
const isShowMenu = ref(false);
const selectedObj = ref({})
const middleHeight = ref(0);
@@ -219,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;
@@ -244,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)
@@ -270,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;
@@ -297,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;
@@ -326,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;
@@ -356,8 +379,17 @@
}
const clickMenu = (val) => {
- isShowMenu.value = val;
+ isShowMenu.value = !isShowMenu.value
}
+
+const downloadFile = () => {
+ const link = document.createElement('a')
+ link.href = 'files/evaluateNotice.doc'
+ link.target = '_blank'
+ link.download = '评价任务通知书.doc'
+ link.click()
+}
+
const chooseSubMenu = (val,flag) => {
if(val.status === 0) {
setTimeout(() => {
@@ -385,7 +417,6 @@
selectedObj.value = val;
selectedObj.value.status = 3;
nextObj.value.status = 4;
- console.log('selectedObj.valu',selectedObj.value)
//跳转
}, 10)
if(flag){
@@ -408,6 +439,11 @@
selectedObj.value.status = 1;
nextObj.value.status = 2;
nextObj.value = val;
+ // if(flag){
+ // setTimeout(() => {
+ // goRouter(selectedObj.value.id)
+ // }, 10)
+ // }
//跳转
}, 10)
}
@@ -425,63 +461,25 @@
}else if (selectedObj.value.id+ 1 >11){
nextMenu(4)
}
- } else {
- //下一步——保存
- goRouter(selectedObj.value.id,'add')
- // switch (selectedObj.value.id){
- // case 1:
- // riskRef.value.riskOpen('add','');
- // 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;
- // }
+ }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);
}
})
}
@@ -489,8 +487,7 @@
const backMenu = (id) => {
menuList.value[id].subMenus.forEach(async item => {
if(item.id === selectedObj.value.id - 1){
- await chooseSubMenu(item,false);
- console.log("ssssss",selectedObj.value)
+ await chooseSubMenu(item,true);
}
})
}
@@ -508,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:
@@ -620,18 +653,40 @@
}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);
}
}
console.log("1")
break;
case 2:
+ if(type === 'add'){
+ contractMngRef.value.riskOpen('add',projectId.value);
+ }else if (type === 'clickEdit'){
+ contractMngRef.value.riskOpen('clickEdit',projectId.value);
+ }else {
+ if(projectStatus.value === 'view' || projectStatus.value === 'add'){
+ contractMngRef.value.riskOpen('detail',projectId.value);
+ }else if(projectStatus.value === 'edit'){
+ contractMngRef.value.riskOpen('edit',projectId.value);
+ }
+ }
console.log("2")
break;
case 3:
+ if(type === 'add'){
+ evaluteRef.value.riskOpen('add',projectId.value);
+ }else if (type === 'clickEdit'){
+ evaluteRef.value.riskOpen('clickEdit',projectId.value);
+ }else {
+ if(projectStatus.value === 'view' || projectStatus.value === 'add'){
+ evaluteRef.value.riskOpen('detail',projectId.value);
+ }else if(projectStatus.value === 'edit'){
+ evaluteRef.value.riskOpen('edit',projectId.value);
+ }
+ }
console.log("3")
break;
case 4:
@@ -741,6 +796,7 @@
background-repeat: no-repeat;
background-size: 100% 100%;
background-image: url(../../../assets/images/header.png);
+ cursor: pointer;
.item-content{
width: 80%;
padding: 0 20px;
@@ -765,6 +821,7 @@
width: 70%;
padding-left: 20px;
padding-right: 15px;
+ cursor: pointer;
.item-icon-status0{
width: 21px;
height: 21px;
@@ -775,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