<template>
|
<div class="process-container">
|
<div class="flow">
|
<div class="content" :class="{show: isShowMenu}" >
|
<div class="content-middle" @click="clickMenu(true)">
|
<div class="project-title">
|
<!-- <img :src="projectPng">-->
|
<span>项目</span>
|
<span>阶段</span>
|
</div>
|
<div v-for="item in menuList" :key="item.id" style="flex: 1" :class="{choose: item.status === 1 || item.status === 2}">
|
<div class="header-item">
|
<div class="item-content">
|
<img v-if="item.status === 0" :src="status0Png">
|
<img v-else-if="item.status === 1" :src="status1Png">
|
<img v-else :src="status2Png">
|
<span class="text-eclipse" style="margin-left: 5px">{{item.name}}</span>
|
</div>
|
</div>
|
<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>
|
<div class="item-icon-status0 item-icon-status4 " v-else-if="nextObj.status === 4 && child.id === nextObj.id">{{child.id}}</div>
|
<div class="text-eclipse" style="margin-right: 15%">{{child.name}}</div>
|
<div v-if="child.status === 1 || (selectedObj.status === 1 && child.id ===selectedObj.id)" class="item-icon-status0 item-icon-status2"><img :src="status1Png"></div>
|
<div v-if="nextObj.status === 4 && child.id === nextObj.id" class="item-icon-status0 item-icon-status4" ><img :src="status1Png"></div>
|
</div>
|
<div></div>
|
</div>
|
</div>
|
</div>
|
<div class="content-bottom" @click="clickMenu(false)"></div>
|
</div>
|
</div>
|
|
<div class="middle" :style="'height:' + middleHeight + 'px'">
|
<el-card>
|
<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 === 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" :projectId="projectId"></evaluate-plan>
|
<employ-notice-record ref="employNoticeRcdRef" v-if="selectedObj.id === 5" @getNextStatus="getNextStatus" :projectId="projectId"></employ-notice-record>
|
<site-check-rcd ref="siteCheckRcdRef" v-if="selectedObj.id === 6" @getNextStatus="getNextStatus" :projectId="projectId"></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" :projectId="projectId"></upload-review-rcd>
|
<rate-conclusion ref="rateConRef" v-if="selectedObj.id === 10" @getNextStatus="getNextStatus" :projectId="projectId"></rate-conclusion>
|
<process-ctrl-review ref="proCtrlRef" v-if="selectedObj.id === 11" @getNextStatus="getNextStatus" :projectId="projectId"></process-ctrl-review>
|
<project-archive ref="proArchRef" v-if="selectedObj.id === 12" @getNextStatus="getNextStatus" :projectId="projectId"></project-archive>
|
<sign-confirm ref="signConfirmRef" v-if="selectedObj.id === 13" @getNextStatus="getNextStatus" :projectId="projectId"></sign-confirm>
|
<confirm-end ref="confirmEndRef" v-if="selectedObj.id === 14" @getNextStatus="getNextStatus" :projectId="projectId"></confirm-end>
|
</div>
|
<div style="display: flex;align-items: center;justify-content: center;margin-bottom: -30px;margin-top: 10px">
|
<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 === 'add' && selectedObj.status === 1 && selectedObj.id !== 14)||(projectStatus === 'edit' && selectedObj.status === 1 && selectedObj.id !== 14) " @click="save">保存</el-button>
|
<el-button type="warning" style="width: 80px" v-if="(projectStatus === 'edit' && selectedObj.status !== 1 && selectedObj.id !== 13 && selectedObj.id !== 14 && reportProcess != 14) || (projectStatus === 'add' && selectedObj.status !== 1 && selectedObj.id !== 14 && reportProcess != 14) " @click="clickEdit">变更</el-button>
|
<el-button type="warning" style="width: 80px" v-if="selectedObj.id === 14 && selectedObj.status === 1 && reportProcess != 14" @click="confirm">确认完结</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 === 3" plain @click="downloadFile">
|
评价任务通知书<el-icon class="el-icon--right"><Download /></el-icon>
|
</el-button>
|
<el-button type="primary" v-if="selectedObj.id === 13" plain @click="downloadCommitFile">
|
承诺书<el-icon class="el-icon--right"><Download /></el-icon>
|
</el-button>
|
</div>
|
</div>
|
</template>
|
|
<script setup>
|
|
import {onMounted, ref} from "vue";
|
import {ElMessage, ElMessageBox} 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"
|
import status2Png from "@/assets/images/status2.png"
|
import itemStatus2Png from "@/assets/images/itemStatus2-1.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";
|
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"
|
import ProjectArchive from "./components/projectArchive"
|
import SignConfirm from "./components/signConfirm"
|
import ConfirmEnd from "./components/confirmEnd"
|
import Cookies from "js-cookie"
|
import {delMonitor} from "@/api/sysUsers";
|
const route = useRoute()
|
const menuList = ref([
|
{
|
id: 'a',
|
name: '风险分析及计划评价',
|
status: 1 ,
|
subMenus: [
|
{
|
id: 1,
|
name: '项目风险分析',
|
status: 1 // 0:未完成,1:选中待完成,2:已完成 ,3:选中已完成,4:未选中待完成
|
},
|
{
|
id: 2,
|
name: '合同管理',
|
status: 0
|
},
|
{
|
id: 3,
|
name: '评价任务通知',
|
status: 0
|
},
|
{
|
id: 4,
|
name: '评价项目计划',
|
status: 0
|
},
|
]
|
},
|
{
|
id: 'b',
|
name: '现场勘验',
|
status: 0,
|
subMenus: [
|
{
|
id: 5,
|
name: '从业告知',
|
status: 0
|
},
|
{
|
id: 6,
|
name: '现场勘验',
|
status: 0
|
},
|
]
|
},
|
{
|
id: 'c',
|
name: '项目审核',
|
status: 0,
|
subMenus: [
|
{
|
id: 7,
|
name: '内部审核',
|
status: 0
|
},
|
{
|
id: 8,
|
name: '技术负责人审核',
|
status: 0
|
},
|
{
|
id: 9,
|
name: '审核记录',
|
status: 0
|
},
|
]
|
},
|
{
|
id: 'd',
|
name: '出具报告',
|
status: 0,
|
subMenus: [
|
{
|
id: 10,
|
name: '评价结论',
|
status: 0
|
},
|
{
|
id: 11,
|
name: '过程控制负责人审核',
|
status: 0
|
}
|
]
|
},
|
{
|
id: 'e',
|
name: '项目归档',
|
status: 0,
|
subMenus: [
|
{
|
id: 12,
|
name: '项目归档',
|
status: 0
|
},
|
{
|
id: 13,
|
name: '签字确认',
|
status: 0
|
},
|
{
|
id: 14,
|
name: '确认完结',
|
status: 0
|
},
|
]
|
},
|
])
|
const riskRef = ref();
|
const contractMngRef = ref()
|
const evaluteRef = ref()
|
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 proArchRef = ref()
|
const signConfirmRef = ref()
|
const confirmEndRef = ref()
|
|
const isShowMenu = ref(false)
|
const selectedObj = ref({})
|
const middleHeight = ref(0)
|
const middleContentHeight = ref(0)
|
const projectId = ref()
|
const projectStatus = ref()
|
const toPath = ref();
|
const reportProcess = ref();
|
onMounted(() => {
|
middleHeight.value = window.innerHeight - 250;
|
middleContentHeight.value = window.innerHeight - 385;
|
// 监听浏览器高度变化
|
window.onresize = () => {
|
middleHeight.value = window.innerHeight - 250;
|
middleContentHeight.value = window.innerHeight - 385;
|
};
|
if(route.query.type !== 'add'){
|
projectStatus.value = route.query.type;
|
projectId.value = route.query.id;
|
toPath.value = route.query.toPath;
|
reportProcess.value = route.query.process;
|
getStatus(projectId.value);
|
}else {
|
projectStatus.value = route.query.type;
|
selectedObj.value = {
|
id: 1,
|
name: '项目风险分析',
|
status: 1
|
}
|
}
|
});
|
const nextObj = ref({})
|
const setMenuList = (id) => {
|
menuList.value[id].subMenus.forEach(item => {
|
item.status = 2;
|
})
|
}
|
const getStatus = async (projectId) => {
|
const res = await getProjectStatus(projectId);
|
if(res.code == 200){
|
reportProcess.value = res.data
|
let fiveObj = {}
|
if(toPath.value && toPath.value === 'toFive' ){
|
fiveObj = menuList.value[1].subMenus[0]
|
}
|
if(res.data <= 4 ){
|
menuList.value[0].subMenus.forEach(item => {
|
if(item.id <= res.data){
|
item.status = 2
|
}
|
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)
|
}
|
})
|
menuList.value[0].status = 1;
|
console.log("menu11",menuList.value)
|
}
|
if(res.data >=4 && res.data <=6){
|
setMenuList(0)
|
if(res.data === 4){
|
menuList.value[0].subMenus[3].status = 3;
|
}
|
|
menuList.value[1].subMenus.forEach(item => {
|
if(item.id <= res.data) {
|
item.status = 2
|
}
|
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)
|
}
|
})
|
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);
|
if(res.data === 6){
|
menuList.value[1].subMenus[1].status = 3;
|
}
|
menuList.value[2].subMenus.forEach(item => {
|
if(item.id <= res.data) {
|
item.status = 2
|
}
|
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)
|
}
|
})
|
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);
|
if(res.data === 9){
|
menuList.value[2].subMenus[2].status = 3;
|
}
|
menuList.value[3].subMenus.forEach(item => {
|
if(item.id <= res.data) {
|
item.status = 2
|
}
|
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)
|
}
|
})
|
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;
|
}
|
let twelveObj = {};
|
let thirteenObj = {};
|
menuList.value[4].subMenus.forEach(item => {
|
if(item.id <= res.data) {
|
item.status = 2
|
}
|
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)
|
}
|
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;
|
}
|
if(toPath.value && toPath.value === 'toTwelve' && item.id === 12){
|
twelveObj = item;
|
}else if(toPath.value && toPath.value === 'toThirteen' && item.id === 13){
|
thirteenObj = item;
|
}
|
})
|
if(toPath.value && toPath.value === 'toTwelve' && twelveObj){
|
chooseSubMenu(twelveObj,true)
|
}else if(toPath.value && toPath.value === 'toThirteen' && thirteenObj){
|
chooseSubMenu(thirteenObj,true)
|
}
|
}
|
if(toPath.value && toPath.value === 'toFive' && fiveObj){
|
chooseSubMenu(fiveObj,true)
|
}
|
|
}else{
|
ElMessage.warning(res.message)
|
}
|
}
|
|
const clickMenu = (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 downloadCommitFile = () => {
|
const link = document.createElement('a')
|
link.href = 'files/commitLetter.doc'
|
link.target = '_blank'
|
link.download = '承诺书.doc'
|
link.click()
|
}
|
|
|
const sixBtn = ref("");
|
const chooseSubMenu = (val,flag) => {
|
if(val.status === 0) {
|
setTimeout(() => {
|
isShowMenu.value = false;
|
ElMessage({
|
type: 'warning',
|
message: '请按顺序操作,未完成步骤无法查看!'
|
});
|
}, 10)
|
}else if(val.status === 1){
|
setTimeout(() => {
|
isShowMenu.value = false;
|
selectedObj.value = val;
|
|
}, 10)
|
}else if(val.status === 2){
|
setTimeout(() => {
|
isShowMenu.value = false;
|
if((val !== selectedObj.value && nextObj.value === selectedObj.value) || nextObj.value === selectedObj.value){
|
nextObj.value = selectedObj.value;
|
}
|
if(nextObj.value !== val) {
|
selectedObj.value.status = 2
|
}
|
|
selectedObj.value = val;
|
selectedObj.value.status = 3;
|
nextObj.value.status = 4;
|
//跳转
|
}, 10)
|
if(flag){
|
setTimeout(() => {
|
goRouter(selectedObj.value.id)
|
}, 10)
|
}
|
|
}else if (val.status === 3) {
|
setTimeout(() => {
|
isShowMenu.value = false;
|
selectedObj.value = val;
|
//跳转
|
}, 10)
|
}else if (val.status === 4) {
|
setTimeout(() => {
|
if(val.id === 6){
|
sixBtn.value = Cookies.get('btn')
|
}
|
console.log('sixBtn.value',sixBtn.value)
|
isShowMenu.value = false;
|
nextObj.value = selectedObj.value;
|
selectedObj.value = val;
|
selectedObj.value.status = 1;
|
nextObj.value.status = 2;
|
nextObj.value = val;
|
//跳转
|
}, 10)
|
}
|
}
|
const next = () => {
|
if(selectedObj.value.status === 3){
|
if(selectedObj.value.id + 1 <= 4){
|
nextMenu(0)
|
}else if (selectedObj.value.id+ 1 >4 && selectedObj.value.id+ 1 <= 6){
|
nextMenu(1)
|
}else if (selectedObj.value.id+ 1 >6 && selectedObj.value.id+ 1 <= 9){
|
nextMenu(2)
|
}else if (selectedObj.value.id+ 1 >9 && selectedObj.value.id+ 1 <= 11){
|
nextMenu(3)
|
}else if (selectedObj.value.id+ 1 >11){
|
nextMenu(4)
|
}
|
}else if(selectedObj.value.id === 6){
|
if(selectedObj.value.id === 6) {
|
ElMessageBox.confirm(
|
'确定结束现场勘验?',
|
'提示',
|
{
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
})
|
.then( async() => {
|
goRouter(selectedObj.value.id,'sixEnd')
|
})
|
}
|
} else {
|
setTimeout(() => {
|
isShowMenu.value = false;
|
ElMessage({
|
type: 'warning',
|
message: '请按顺序操作,未完成步骤无法查看!'
|
});
|
}, 10)
|
}
|
//
|
// setTimeout( () => {
|
// goRouter(selectedObj.value.id)
|
// }, 100)
|
}
|
|
const nextMenu = (id) => {
|
menuList.value[id].subMenus.forEach( item => {
|
if(item.id === selectedObj.value.id + 1){
|
chooseSubMenu(item,true);
|
}
|
})
|
}
|
|
const backMenu = (id) => {
|
menuList.value[id].subMenus.forEach(async item => {
|
if(item.id === selectedObj.value.id - 1){
|
await chooseSubMenu(item,true);
|
}
|
})
|
}
|
|
//上一步——回退(查看详情)
|
const back = () => {
|
if(selectedObj.value.id-1 <= 4){
|
backMenu(0)
|
}else if (selectedObj.value.id-1 >4 && selectedObj.value.id-1 <= 6){
|
backMenu(1)
|
}else if (selectedObj.value.id-1 >6 && selectedObj.value.id-1 <= 9){
|
backMenu(2)
|
}else if (selectedObj.value.id-1 >9 && selectedObj.value.id-1 <= 11){
|
backMenu(3)
|
}else if (selectedObj.value.id-1 >11){
|
backMenu(4)
|
}
|
// setTimeout( () => {
|
// goRouter(selectedObj.value.id)
|
// }, 100)
|
|
}
|
const clickEdit = () => {
|
goRouter(selectedObj.value.id,'clickEdit')
|
}
|
const getNextStatus = async (val) => {
|
projectId.value = val
|
const res = await getProjectStatus(val);
|
if(res.code == 200){
|
reportProcess.value = res.data
|
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 = () => {
|
// if(selectedObj.value.id === 6) {
|
// ElMessageBox.confirm(
|
// '确定结束现场勘验?',
|
// '提示',
|
// {
|
// confirmButtonText: '确定',
|
// cancelButtonText: '取消',
|
// type: 'warning',
|
// })
|
// .then( async() => {
|
// goRouter(selectedObj.value.id,'add')
|
// })
|
// }else {
|
goRouter(selectedObj.value.id,'add')
|
// }
|
|
|
}
|
const confirm = () => {
|
goRouter(selectedObj.value.id,'confirm')
|
}
|
|
const goRouter = (val,type) => {
|
switch (val){
|
case 1:
|
if(type === 'add'){
|
riskRef.value.riskOpen('add','');
|
}else if (type === 'clickEdit'){
|
riskRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
riskRef.value.riskOpen('detail',projectId.value);
|
}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:
|
if(type === 'add'){
|
evalPlanRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
evalPlanRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
evalPlanRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
evalPlanRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("4")
|
break;
|
case 5:
|
if(type === 'add'){
|
employNoticeRcdRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
employNoticeRcdRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
employNoticeRcdRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
employNoticeRcdRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("5")
|
break;
|
case 6:
|
if(type === 'add'){
|
siteCheckRcdRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
siteCheckRcdRef.value.riskOpen('clickEdit',projectId.value);
|
}else if (type === 'sixEnd'){
|
siteCheckRcdRef.value.riskOpen('sixEnd',projectId.value);
|
} else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
siteCheckRcdRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
siteCheckRcdRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("6")
|
break;
|
case 7:
|
if(type === 'add'){
|
innerReviewRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
innerReviewRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
innerReviewRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
innerReviewRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("7")
|
break;
|
case 8:
|
if(type === 'add'){
|
techReviewRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
techReviewRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
techReviewRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
techReviewRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("8")
|
break;
|
case 9:
|
if(type === 'add'){
|
uploadReviewRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
uploadReviewRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
uploadReviewRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
uploadReviewRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("9")
|
break;
|
case 10:
|
if(type === 'add'){
|
rateConRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
rateConRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
rateConRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
rateConRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("10")
|
break;
|
case 11:
|
if(type === 'add'){
|
proCtrlRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
proCtrlRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
proCtrlRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
proCtrlRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("11")
|
break;
|
case 12:
|
if(type === 'add'){
|
proArchRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
proArchRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
proArchRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
proArchRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("12")
|
break;
|
case 13:
|
if(type === 'add'){
|
signConfirmRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
signConfirmRef.value.riskOpen('clickEdit',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
signConfirmRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
signConfirmRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("13")
|
break;
|
case 14:
|
if(type === 'add'){
|
confirmEndRef.value.riskOpen('add',projectId.value);
|
}else if (type === 'clickEdit'){
|
confirmEndRef.value.riskOpen('clickEdit',projectId.value);
|
}
|
else if (type === 'confirm'){
|
confirmEndRef.value.riskOpen('confirm',projectId.value);
|
}else {
|
if(projectStatus.value === 'view' || projectStatus.value === 'add'){
|
confirmEndRef.value.riskOpen('detail',projectId.value);
|
}else if(projectStatus.value === 'edit'){
|
confirmEndRef.value.riskOpen('edit',projectId.value);
|
}
|
}
|
console.log("14")
|
break;
|
}
|
}
|
|
</script>
|
|
<style scoped lang="scss">
|
.process-container{
|
height: 100%;
|
.flow{
|
position: relative;
|
height: 85px;
|
background: transparent;
|
.content{
|
z-index: 10;
|
top: 0;
|
left: 0;
|
right: 0;
|
min-height: 85px;
|
max-height: 85px;
|
cursor: pointer;
|
background-color: hsla(0,0%,100%,.97);
|
//background-image: url(../../../assets/images/bg2.png);
|
background-repeat: no-repeat;
|
background-size: 100% 84px;
|
overflow: hidden;
|
transition: max-height .3s linear;
|
position: absolute;
|
.content-bottom{
|
position: relative;
|
height: 18px;
|
text-align: center;
|
background-color: transparent;
|
pointer-events: none;
|
}
|
.content-bottom:after {
|
content: " ";
|
cursor: pointer;
|
position: absolute;
|
top: 0;
|
bottom: 0;
|
left: 50%;
|
pointer-events: auto;
|
transform: translateX(-50%);
|
width: 118px;
|
background-image: url(../../../assets/images/back1.png);
|
}
|
.choose .header-item{
|
color: #fff;
|
background-image: url(../../../assets/images/choosed.png);
|
}
|
}
|
.show{
|
cursor: default;
|
max-height: 600px;
|
}
|
.content-middle{
|
padding-left: 37px;
|
padding-right: 27px;
|
display: flex;
|
flex-direction: row;
|
box-shadow: 0 0 18px 3px rgba(145,146,171,.2);
|
.project-title{
|
margin-right: 20px;
|
height: 85px;
|
display: flex;
|
align-items: center;
|
flex-shrink: 1;
|
flex-direction: column;
|
justify-content: center;
|
font-size: 20px;
|
font-weight: 700;
|
color: rgb(255, 140, 138);
|
}
|
}
|
.header-item{
|
position: relative;
|
height: 83px;
|
color: #5d6c8e;
|
flex: 1;
|
margin-left: -2%;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
background-repeat: no-repeat;
|
background-size: 100% 100%;
|
background-image: url(../../../assets/images/header.png);
|
cursor: pointer;
|
.item-content{
|
width: 80%;
|
padding: 0 20px;
|
display: flex;
|
align-items: center;
|
margin-left: 8%;
|
margin-bottom: 2px;
|
font-size: 20px;
|
font-weight: 400;
|
}
|
}
|
.down-item{
|
height: 47px;
|
margin: 30px auto 10px auto;
|
font-size: 19px;
|
color: #626c8b;
|
border: 1px solid #fff;
|
background: rgba(233 223 211 / 20%);
|
border-radius: 8px;
|
display: flex;
|
align-items: center;
|
width: 80%;
|
padding-left: 20px;
|
padding-right: 15px;
|
cursor: pointer;
|
.item-icon-status0{
|
width: 21px;
|
height: 21px;
|
color: #fff;
|
font-size: 16px;
|
line-height: 20px;
|
text-align: center;
|
border-radius: 50%;
|
background: #f3ccb0;
|
margin-right: 10px;
|
min-width: 21px;
|
min-height: 21px;
|
}
|
.item-icon-status1{
|
color: #f17235;
|
background: #fff;
|
}
|
.item-icon-status2{
|
background: transparent;
|
}
|
.item-icon-status4{
|
background: #0cca8f;
|
}
|
}
|
.itemActive{
|
cursor: pointer;
|
color: #fff;
|
border: 1px solid #c6e6ff;
|
background: linear-gradient(90deg,rgb(239, 186, 141),rgb(255, 140, 138));
|
}
|
.itemPrev{
|
cursor: pointer;
|
color: #f38323;
|
border: 1px solid #f5e4cf;
|
background: rgb(249 210 170 / 40%);
|
}
|
.itemPrev:hover{
|
transform: scale(1.1);
|
-webkit-transform: scale(1.1);
|
-moz-transform: scale(1.1);
|
-o-transform: scale(1.1);
|
-ms-transform: scale(1.1);
|
}
|
}
|
.middle{
|
padding: 10px;
|
.card-header{
|
height: 50px;
|
line-height: 26px;
|
font-weight: 700;
|
padding: 12px 56px;
|
font-size: 18px;
|
color: #fff;
|
background-image: url(../../../assets/images/cardHeader2.png);
|
background-size: 100% 100%;
|
background-repeat: no-repeat;
|
margin: -20px;
|
}
|
.card-content{
|
padding: 20px 60px;
|
margin-top: 20px;
|
}
|
::-webkit-scrollbar {
|
display: none;
|
}
|
}
|
.bottom{
|
height: 60px;
|
background: rgb(255, 255, 255);
|
padding: 9px 10px;
|
}
|
.text-eclipse{
|
overflow: hidden;
|
white-space: nowrap;
|
text-overflow: ellipsis;
|
font-size: 16px;
|
}
|
|
|
}
|
|
</style>
|