xiangpei
2025-03-05 d30d3d2d352abfcd9e16cece8a34f2a517f8abc0
src/views/projectProcess/detail/index.vue
@@ -23,7 +23,7 @@
        <div @click="changeTab(4, 'remaining')" :class="{'item-warm': true, 'remaining-color': true, 'active': 4 === selectTabId}">剩余事项<span v-if="detailData && detailData.statistics">({{detailData.statistics.remainingTaskNum}})</span></div>
        <div @click="changeTab(5, 'timely')" :class="{'item-warm': true, 'timely-color': true, 'active': 5 === selectTabId}">按时完成<span v-if="detailData && detailData.statistics">({{detailData.statistics.timelyFinishedTaskNum}})</span></div>
        <div @click="changeTab(6, 'overtime')" :class="{'item-warm': true, 'overtime-color': true, 'active': 6 === selectTabId}">超时事项(0)</div>
        <div @click="changeTab(7, 'willOvertime')" :class="{'item-warm': true, 'willOvertime-color': true, 'active': 7 === selectTabId}">临期事项(0)</div>
<!--        <div @click="changeTab(7, 'willOvertime')" :class="{'item-warm': true, 'willOvertime-color': true, 'active': 7 === selectTabId}">临期事项(0)</div>-->
        <div @click="changeTab(8, 'urge')" :class="{'item-warm': true, 'urge-color': true, 'active': 8 === selectTabId}">督办事项(0)</div>
      </div>
      <div style="display: flex;justify-content: center;align-items: center;margin-top: 20px; position: relative">
@@ -329,7 +329,7 @@
      this.superviseForm.content ='';
      this.superviseForm.taskId = row.taskId;
      this.superviseForm.projectId = this.$route.query.projectId;
      this.superviseForm.processInsId = row.taskId;
      this.superviseForm.processInsId = row.processInsId;
      this.superviseForm.superviseType = "SUPERVISE";
      this.superviseForm.receiverType = row.handlerType;
      if (row.handlerType === 'USER') {
@@ -388,22 +388,23 @@
      })
    },
    unitFormatter(row) {
      if (row.handlerType === 'USER') {
        return null;
      } else if (row.handlerType === 'DEPT') {
        return row.handlerUnitName.join("、")
      } else if (row.handlerType === 'ROLE') {
        return row.handlerUnitName.join('、')
      if (row.taskStatus != '已完成') {
        return null
      }
      return row.handlerUnitName.join("、")
    },
    candidateFormatter(row) {
      if (row.handlerType === 'USER') {
        return row.handlerName.join('、')
      } else if (row.handlerType === 'DEPT') {
        return row.handlerUnitName.join('、')
      } else if (row.handlerType === 'ROLE') {
        return row.handlerUnitName.join('、')
      if (row.taskStatus != '已完成') {
        return null
      }
      return row.handlerName.join("、")
      // if (row.handlerType === 'USER') {
      //   return row.handlerName.join('、')
      // } else if (row.handlerType === 'DEPT') {
      //   return row.handlerUnitName.join('、')
      // } else if (row.handlerType === 'ROLE') {
      //   return row.handlerUnitName.join('、')
      // }
    },
    finalFinishedFormatter(row) {
      // 不是已完成的状态没有实际处理人,已完成的状态只有一个人
@@ -416,12 +417,9 @@
    showHandle(row) {
      if (row.taskStatus === '待办' || row.taskStatus === '挂起') {
        if (row.handlerType === "USER") {
          console.log(row.handlerId.indexOf(this.$store.state.user.id) !== -1, "我是不是")
          return row.handlerId.indexOf(this.$store.state.user.id) !== -1
        } else if (row.handlerType === "DEPT") {
          console.log(this.$store.state.user.deptId, "部门id", row.handlerUnitId)
          return row.handlerUnitId.indexOf(this.$store.state.user.deptId) !== -1
          // return this.$store.state.user.name === '市发展改革委' || this.$store.state.user.name === '市住建局'
          return row.handlerUnitId.indexOf(this.$store.state.user.deptId) !== -1 || row.handlerUnitId.some(id => this.$store.state.user.childDeptIds.indexOf(id) !== -1)
        } else if (row.handlerType === "ROLE") {
          return row.handlerUnitId.some(roleId => this.$store.state.user.roleIds.indexOf(roleId) !== -1)
        }
@@ -490,9 +488,19 @@
        this.total = res.total
      })
    },
    isProject(id) {
      const numericPattern = /^\d+(\.\d+)?$/;
      return numericPattern.test(id)
    },
    // 查询详情
    getProjectProcessInfo() {
      getProjectProcessDetail(this.queryParams.projectId, this.queryParams.processDefId).then(res => {
      const projectType = this.isProject(this.queryParams.projectId) ? "PROJECT" : "ENGINEERING"
      const param = {
        projectId: this.queryParams.projectId,
        processDefId: this.queryParams.processDefId,
        projectType: projectType
      }
      getProjectProcessDetail(param).then(res => {
        this.detailData = res.data
        this.taskList = res.taskList
        this.total = res.total