From 9cdbffc57965dbb88758d6cde8c174fc3a1c3fb3 Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: Fri, 19 Jan 2024 09:20:33 +0800
Subject: [PATCH] 专家用户修改
---
src/views/safetyReview/projectManage/process.vue | 376 ++++++++++++++++++++++++++++++++---------------------
1 files changed, 227 insertions(+), 149 deletions(-)
diff --git a/src/views/safetyReview/projectManage/process.vue b/src/views/safetyReview/projectManage/process.vue
index f5fecd4..2c3a2c9 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>
@@ -39,21 +39,28 @@
<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>
+ <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>
+ <employ-notice-record ref="employNoticeRcdRef" v-if="selectedObj.id === 5" @getNextStatus="getNextStatus"></employ-notice-record>
+ <site-check-rcd ref="siteCheckRcdRef" v-if="selectedObj.id === 6" @getNextStatus="getNextStatus"></site-check-rcd>
+ <inner-review ref="innerReviewRef" v-if="selectedObj.id === 7" @getNextStatus="getNextStatus"></inner-review>
+ <tech-leader-review ref="techReviewRef" v-if="selectedObj.id === 8" @getNextStatus="getNextStatus"></tech-leader-review>
+ <upload-review-rcd ref="uploadReviewRef" v-if="selectedObj.id === 9" @getNextStatus="getNextStatus"></upload-review-rcd>
+ <rate-conclusion ref="rateConRef" v-if="selectedObj.id === 10" @getNextStatus="getNextStatus"></rate-conclusion>
+ <process-ctrl-review ref="proCtrlRef" v-if="selectedObj.id === 1" @getNextStatus="getNextStatus"></process-ctrl-review>
</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">
- <el-button type="primary" v-if="selectedObj.id === 1" plain @click="downloadFile">
+ <el-button type="primary" v-if="selectedObj.id === 3" plain @click="downloadFile">
评价任务通知书<el-icon class="el-icon--right"><Download /></el-icon>
</el-button>
</div>
@@ -74,10 +81,17 @@
import status2Png from "@/assets/images/status2.png"
import itemStatus2Png from "@/assets/images/itemStatus2.png"
import { useRoute } from 'vue-router'
-import {getProjectStatus} from "@/api/projectManage/project";
+import {getProjectStatus} from "@/api/projectManage/project"
import ContractManage from "./components/contractManage";
-import EvaluateTaskNotice from "./components/evaluateTaskNotice";
+import EvaluateTaskNotice from "./components/evaluateTaskNotice"
import EvaluatePlan from "./components/evaluatePlan";
+import EmployNoticeRecord from "./components/employNoticeRecord"
+import SiteCheckRcd from "./components/siteCheckRcd"
+import InnerReview from "./components/innerReview"
+import TechLeaderReview from "./components/techLeaderReview"
+import UploadReviewRcd from "./components/uploadReviewRcd"
+import RateConclusion from "./components/rateConclusion"
+import ProcessCtrlReview from "./components/processCtrlReview"
const route = useRoute()
const menuList = ref([
@@ -161,8 +175,7 @@
id: 11,
name: '过程控制负责人审核',
status: 0
- },
-
+ }
]
},
{
@@ -191,12 +204,20 @@
const riskRef = ref();
const contractMngRef = ref()
const evaluteRef = ref()
-const isShowMenu = ref(false);
+const evalPlanRef = ref()
+const employNoticeRcdRef = ref()
+const siteCheckRcdRef = ref()
+const innerReviewRef = ref()
+const techReviewRef = ref()
+const uploadReviewRef = ref()
+const rateConRef = ref()
+const proCtrlRef = ref()
+const isShowMenu = ref(false)
const selectedObj = ref({})
-const middleHeight = ref(0);
-const middleContentHeight = ref(0);
-const projectId = ref();
-const projectStatus = ref();
+const middleHeight = ref(0)
+const middleContentHeight = ref(0)
+const projectId = ref()
+const projectStatus = ref()
onMounted(() => {
middleHeight.value = window.innerHeight - 250;
middleContentHeight.value = window.innerHeight - 385;
@@ -232,17 +253,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 +279,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 +308,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 +337,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 +368,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 +460,11 @@
selectedObj.value.status = 1;
nextObj.value.status = 2;
nextObj.value = val;
+ // if(flag){
+ // setTimeout(() => {
+ // goRouter(selectedObj.value.id)
+ // }, 10)
+ // }
//跳转
}, 10)
}
@@ -446,20 +482,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 +508,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 +526,145 @@
}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 +673,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 +683,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 +697,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 +852,8 @@
border-radius: 50%;
background: #b9c2d5;
margin-right: 10px;
+ min-width: 21px;
+ min-height: 21px;
}
.item-icon-status1{
color: #3b75ff;
--
Gitblit v1.9.2