From 48b9dbfb66cf8bf6c83dac0f9365ba71d3181fba Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: Tue, 27 Feb 2024 15:55:41 +0800
Subject: [PATCH] bug修改增加地图搜索
---
src/views/safetyReview/projectManage/process.vue | 244 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 210 insertions(+), 34 deletions(-)
diff --git a/src/views/safetyReview/projectManage/process.vue b/src/views/safetyReview/projectManage/process.vue
index 2c3a2c9..ce05957 100644
--- a/src/views/safetyReview/projectManage/process.vue
+++ b/src/views/safetyReview/projectManage/process.vue
@@ -3,8 +3,10 @@
<div class="flow">
<div class="content" :class="{show: isShowMenu}" >
<div class="content-middle" @click="clickMenu(true)">
- <div style="margin-right:20px;height: 85px;display: flex;align-items: center;flex-shrink: 1;">
- <img :src="projectPng">
+ <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">
@@ -38,22 +40,26 @@
<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>
+ <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>
- <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>
+ <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"></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>
+ <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: -20px">
+ <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)||(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="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" @click="confirm">确认完结</el-button>
<el-button type="primary" style="width: 80px" v-if="selectedObj.id !== 14" @click="next">下一步</el-button>
</div>
</div>
@@ -79,7 +85,7 @@
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.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";
@@ -92,7 +98,10 @@
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"
const route = useRoute()
const menuList = ref([
{
@@ -212,12 +221,18 @@
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;
@@ -229,6 +244,8 @@
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;
@@ -248,6 +265,11 @@
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){
@@ -275,6 +297,7 @@
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
@@ -297,6 +320,7 @@
menuList.value[0].status = 2;
menuList.value[1].status = 1;
console.log("menu22",menuList.value)
+
}
if(res.data >= 6 && res.data <= 9){
setMenuList(0);
@@ -364,6 +388,8 @@
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
@@ -391,9 +417,22 @@
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)
}
@@ -424,6 +463,7 @@
setTimeout(() => {
isShowMenu.value = false;
selectedObj.value = val;
+
}, 10)
}else if(val.status === 2){
setTimeout(() => {
@@ -460,11 +500,6 @@
selectedObj.value.status = 1;
nextObj.value.status = 2;
nextObj.value = val;
- // if(flag){
- // setTimeout(() => {
- // goRouter(selectedObj.value.id)
- // }, 10)
- // }
//跳转
}, 10)
}
@@ -497,7 +532,7 @@
// }, 100)
}
-const nextMenu = (id) => {
+const nextMenu = (id) => {
menuList.value[id].subMenus.forEach( item => {
if(item.id === selectedObj.value.id + 1){
chooseSubMenu(item,true);
@@ -535,10 +570,10 @@
goRouter(selectedObj.value.id,'clickEdit')
}
const getNextStatus = async (val) => {
- projectId.value = val;
- console.log("val",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){
@@ -665,6 +700,10 @@
goRouter(selectedObj.value.id,'add')
}
+const confirm = () => {
+ goRouter(selectedObj.value.id,'confirm')
+}
+
const goRouter = (val,type) => {
switch (val){
case 1:
@@ -710,36 +749,160 @@
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(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;
}
@@ -763,7 +926,7 @@
max-height: 85px;
cursor: pointer;
background-color: hsla(0,0%,100%,.97);
- background-image: url(../../../assets/images/bg.png);
+ //background-image: url(../../../assets/images/bg2.png);
background-repeat: no-repeat;
background-size: 100% 84px;
overflow: hidden;
@@ -786,7 +949,7 @@
pointer-events: auto;
transform: translateX(-50%);
width: 118px;
- background-image: url(../../../assets/images/back.png);
+ background-image: url(../../../assets/images/back1.png);
}
.choose .header-item{
color: #fff;
@@ -803,6 +966,18 @@
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;
@@ -834,11 +1009,11 @@
font-size: 19px;
color: #626c8b;
border: 1px solid #fff;
- background: rgba(198,230,255,.2);
+ background: rgba(233 223 211 / 20%);
border-radius: 8px;
display: flex;
align-items: center;
- width: 70%;
+ width: 80%;
padding-left: 20px;
padding-right: 15px;
cursor: pointer;
@@ -850,13 +1025,13 @@
line-height: 20px;
text-align: center;
border-radius: 50%;
- background: #b9c2d5;
+ background: #f3ccb0;
margin-right: 10px;
min-width: 21px;
min-height: 21px;
}
.item-icon-status1{
- color: #3b75ff;
+ color: #f17235;
background: #fff;
}
.item-icon-status2{
@@ -870,13 +1045,13 @@
cursor: pointer;
color: #fff;
border: 1px solid #c6e6ff;
- background: linear-gradient(90deg,#57b6ff,#3b75ff);
+ background: linear-gradient(90deg,rgb(239, 186, 141),rgb(255, 140, 138));
}
.itemPrev{
cursor: pointer;
- color: #3b75ff;
- border: 1px solid #c6e6ff;
- background: rgba(198,230,255,.4);
+ color: #f38323;
+ border: 1px solid #f5e4cf;
+ background: rgb(249 210 170 / 40%);
}
.itemPrev:hover{
transform: scale(1.1);
@@ -895,7 +1070,7 @@
padding: 12px 56px;
font-size: 18px;
color: #fff;
- background-image: url(../../../assets/images/cardHeader.png);
+ background-image: url(../../../assets/images/cardHeader2.png);
background-size: 100% 100%;
background-repeat: no-repeat;
margin: -20px;
@@ -917,6 +1092,7 @@
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
+ font-size: 16px;
}
--
Gitblit v1.9.2