From 47b3ce354885e7df90e4219bd4154003c1c241d7 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期二, 04 十一月 2025 13:35:16 +0800
Subject: [PATCH] 修改
---
src/views/safetyReview/projectManage/process.vue | 180 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 119 insertions(+), 61 deletions(-)
diff --git a/src/views/safetyReview/projectManage/process.vue b/src/views/safetyReview/projectManage/process.vue
index 83c6b5c..72b6b3d 100644
--- a/src/views/safetyReview/projectManage/process.vue
+++ b/src/views/safetyReview/projectManage/process.vue
@@ -26,17 +26,20 @@
<div class="card-content">
<div :style="'height:' + middleContentHeight + 'px'" style="overflow-y: scroll;">
<basic-info ref="basicRef" v-if="selectedObj.id === 1" :projectId="projectId" @getNextStatus="getNextStatus"></basic-info>
- <expert ref="expertRef" v-if="selectedObj.id === 2" :projectId="projectId" @getNextStatus="getNextStatus"></expert>
- <approval ref="approvalRef" v-if="selectedObj.id === 3" :projectId="projectId" @getNextStatus="getNextStatus"></approval>
+ <expert ref="expertRef" v-if="selectedObj.id === 2" :projectId="projectId" :newProgress="newProgress" @getNextStatus="getNextStatus"></expert>
+ <approval ref="approvalRef" v-if="selectedObj.id === 3" :projectId="projectId" @getNextStatus="getNextStatus" @back-status="backStatus" ></approval>
<archive ref="archiveRef" v-if="selectedObj.id === 4" :projectId="projectId" @getNextStatus="getNextStatus"></archive>
</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' || projectStatus === 'edit') && selectedObj.status ===1 && selectedObj.id !==4 && newProgress !== 4" @click="save">保存</el-button>
- <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.status !==1 && newProgress !== 4 " @click="clickEdit">变更</el-button>
+ <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.status ===1 && selectedObj.id !==4 && selectedObj.id !==3 && newProgress !== 4" @click="save">保存</el-button>
+ <el-button type="warning" style="width: 110px" v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.id !==4 && (selectedObj.id ===3 && selectedObj.status !==2) && newProgress !== 4" @click="confirmApproval">确认生成审批单</el-button>
+ <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'view' && selectedObj.id ===3) || selectedObj.id ===3 && selectedObj.status === 2" @click="viewWord">查看审批单</el-button>
+ <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.status !==1 && selectedObj.id !==3 && newProgress !== 4 " @click="clickEdit">变更</el-button>
<el-button type="warning" style="width: 80px" v-if="selectedObj.id === 4 && selectedObj.status === 1 && newProgress !== 4" @click="confirm">确认完结</el-button>
<el-button type="primary" style="width: 80px" v-if="selectedObj.id !== 4" @click="next">下一步</el-button>
+
</div>
</div>
</el-card>
@@ -46,7 +49,7 @@
<script setup>
-import {onMounted, ref} from "vue";
+import {nextTick, onMounted, ref} from "vue";
import status0Png from '@/assets/images/status0.png'
import status1Png from '@/assets/images/status1.png'
import status2Png from '@/assets/images/status2.png'
@@ -55,8 +58,9 @@
import expert from './components/chooseExpert.vue'
import approval from './components/projectApproval.vue'
import archive from './components/projectArchive.vue'
-import {ElMessage} from "element-plus";
+import {ElMessage, ElMessageBox} from "element-plus";
import {get} from "@vueuse/core";
+import {delProject, getProjectInfo} from "@/api/projectManage";
const selectedObj = ref({})
const nextObj = ref({})
@@ -125,6 +129,11 @@
const save = () => {
goRouter(selectedObj.value.id,'add')
}
+const confirmApproval = () => {
+
+ goRouter(selectedObj.value.id,'confirmApproval')
+}
+
const goRouter = (selectId,type) => {
switch (selectId){
@@ -136,91 +145,135 @@
}
break;
case 2:
- if(type === 'add' || type === 'clickEdit'){
- expertRef.value.riskOpen(type,projectId.value);
+ if(type === 'add' || type === 'clickEdit' || type === 'backTwo'){
+ if(type === 'backTwo'){
+ expertRef.value.riskOpen('detail',projectId.value);
+ }else {
+ expertRef.value.riskOpen(type,projectId.value);
+ }
}else if(projectStatus.value === 'view' || projectStatus.value === 'edit' || projectStatus.value === 'add'){
expertRef.value.riskOpen('detail',projectId.value);
}
break;
case 3:
- if(type === 'add' || type === 'clickEdit'){
- approvalRef.value.riskOpen(type,projectId.value);
+ if(type === 'add' || type === 'clickEdit' || type === 'confirmApproval' || type === 'viewWord'){
+ approvalRef.value.riskOpen(type,projectId.value);
}else if(projectStatus.value === 'view' || projectStatus.value === 'edit' || projectStatus.value === 'add'){
- approvalRef.value.riskOpen('detail',projectId.value);
+ if(projectStatus.value === 'view'){
+ approvalRef.value.riskOpen('view',projectId.value);
+ }else{
+ approvalRef.value.riskOpen('detail',projectId.value);
+ }
}
break;
case 4:
if(type === 'add' || type === 'clickEdit' || type === 'confirm'){
archiveRef.value.riskOpen(type,projectId.value);
} else if(projectStatus.value === 'view' || projectStatus.value === 'edit' || projectStatus.value === 'add'){
- archiveRef.value.riskOpen('detail',projectId.value);
+ if(projectStatus.value === 'view'){
+ archiveRef.value.riskOpen('view',projectId.value);
+ }else{
+ archiveRef.value.riskOpen('detail',projectId.value);
+ }
}
break;
}
}
-const getStatus = (id) => {
+const getStatus = async (id) => {
//projectId 项目id,根据id获取当前状态
projectId.value = Number(id)
- //调接口
- const res = projectId.value
- //当前项目状态,编辑、查看的时候定位到最新状态
- newProgress.value = res
- menuList.value.forEach(item => {
- if(projectStatus.value === 'edit'){
- if(item.id <= res){
- item.status = 2
+ const res = await getProjectInfo(projectId.value)
+ if(res.code === 200) {
+ //当前项目状态,编辑、查看的时候定位到最新状态
+ newProgress.value = res.data.step
+ menuList.value.forEach(item => {
+ if(projectStatus.value === 'edit'){
+ if(item.id <= newProgress.value){
+ item.status = 2
+ }
+ if(item.id == newProgress.value){
+ selectedObj.value =item
+ setTimeout(() => {
+ goRouter(selectedObj.value.id)
+ }, 10)
+ }
+ if(item.id == newProgress.value +1){
+ item.status = 1
+ }
+ }else if(projectStatus.value === 'view'){
+ if(item.id <= newProgress.value){
+ item.status = 2
+ }
+ if(item.id == newProgress.value){
+ selectedObj.value =item
+ setTimeout(() => {
+ goRouter(selectedObj.value.id)
+ }, 10)
+ }
}
- if(item.id == res){
+ if( newProgress.value == 4 && item.id == 4){
+ item.status = 2
selectedObj.value =item
setTimeout(() => {
goRouter(selectedObj.value.id)
}, 10)
}
- if(item.id == res +1){
- item.status = 1
- }
- }else if(projectStatus.value === 'view'){
- if(item.id <= res){
- item.status = 2
- }
- if(item.id == res){
- selectedObj.value =item
- setTimeout(() => {
- goRouter(selectedObj.value.id)
- }, 10)
- }
- }
- if(res == 4 && item.id == 4){
- item.status = 2
- selectedObj.value =item
- setTimeout(() => {
- goRouter(selectedObj.value.id)
- }, 10)
- }
- })
+ })
+ }
+ else {
+ ElMessage.warning(res.message)
+ }
console.log('menuList.value',menuList.value)
}
-const getNextStatus = (id) => {
- //projectId 项目id,根据id获取当前状态
+const getNextStatus = async (id) => {
projectId.value = Number(id)
//调接口
- const res = projectId.value
- newProgress.value = res
- //定位到下一步状态
- menuList.value.forEach(item => {
- if(item.id <= res){
- item.status = 2
- }else if(item.id == res + 1){
- item.status = 1
- selectedObj.value =item
- }
+ const res = await getProjectInfo(projectId.value)
+ if(res.code === 200) {
+ newProgress.value = res.data.step
+ //定位到下一步状态
+ menuList.value.forEach(item => {
+ if(item.id <= newProgress.value){
+ item.status = 2
+ }else if(item.id == newProgress.value + 1){
+ item.status = 1
+ selectedObj.value =item
+ }
- if(res == 4 && item.id == 4){
- item.status = 2
- selectedObj.value =item
- }
- })
+ if( newProgress.value == 4 && item.id == 4){
+ item.status = 2
+ selectedObj.value =item
+ }
+ })
+ }else {
+ ElMessage.warning(res.message)
+ }
+
+}
+
+const backStatus = async (id) => {
+ projectId.value = Number(id)
+ const res = await getProjectInfo(projectId.value)
+ if(res.code === 200) {
+ newProgress.value = res.data.step
+ //审核不通过状态回到第二步定位到2
+ menuList.value.forEach(item => {
+ if(item.id == newProgress.value){
+ selectedObj.value =item
+ }
+ if(item.id <= newProgress.value){
+ item.status = 2
+ }else if(item.id == newProgress.value + 1){
+ item.status = 1
+ }else if(item.id > newProgress.value + 1){
+ item.status = 0
+ }
+ })
+ await nextTick(() => {
+ goRouter(selectedObj.value.id,'backTwo')
+ })
+ }
}
const confirm = () => {
@@ -277,6 +330,11 @@
const clickEdit = () => {
goRouter(selectedObj.value.id,'clickEdit')
}
+
+const viewWord = () => {
+ goRouter(selectedObj.value.id,'viewWord')
+}
+
const clickMenu = (item) => {
if(item.status == 0){
setTimeout(() => {
--
Gitblit v1.9.2