zhouwx
2024-06-14 137910cf4fc73a3a2787a3a02718f1e1f637c368
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">
@@ -53,11 +55,11 @@
            <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 && 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 === '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="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>
@@ -67,6 +69,9 @@
      <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>
@@ -74,7 +79,7 @@
<script setup>
import {onMounted, ref} from "vue";
import {ElMessage} from "element-plus";
import {ElMessage, ElMessageBox} from "element-plus";
import rickAnalysis from "./components/riskAnalysis.vue"
import contractManage from "./components/contractManage.vue"
import evaluateTaskNotice from "./components/evaluateTaskNotice.vue"
@@ -83,7 +88,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";
@@ -100,6 +105,7 @@
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([
  {
@@ -447,7 +453,16 @@
  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(() => {
@@ -492,6 +507,10 @@
    }, 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;
@@ -515,7 +534,21 @@
    }else if (selectedObj.value.id+ 1 >11){
      nextMenu(4)
    }
  }else {
  }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({
@@ -695,7 +728,22 @@
}
const save = () => {
  goRouter(selectedObj.value.id,'add')
  // 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 = () => {
@@ -779,7 +827,9 @@
        siteCheckRcdRef.value.riskOpen('add',projectId.value);
      }else if (type === 'clickEdit'){
        siteCheckRcdRef.value.riskOpen('clickEdit',projectId.value);
      }else {
      }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'){
@@ -924,7 +974,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;
@@ -947,7 +997,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;
@@ -964,6 +1014,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;
@@ -995,11 +1057,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;
@@ -1011,13 +1073,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{
@@ -1031,13 +1093,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);
@@ -1056,7 +1118,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;
@@ -1078,6 +1140,7 @@
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 16px;
  }