xiangpei
2025-02-27 c482628d3daf21dafba7e2b9eaba6e46ffda0fdb
src/views/flowable/task/myProcess/send/index.vue
@@ -16,13 +16,15 @@
                <div v-if="formDataObj.current">
                  <!--     当前节点可协同、转办等操作         -->
                  <div class="op-list">
                    <el-button size="small" type="primary" :disabled="submitLoading" v-loading="submitLoading" @click="submitForm">确认并提交</el-button>
                    <el-button size="small" type="primary" :disabled="formDataObj.taskStatus === '挂起' || submitLoading" v-loading="submitLoading" @click="submitForm">确认并提交</el-button>
                    <el-button size="small" type="primary" disabled @click="submitForm">协同办理(功能开发中)</el-button>
                    <el-button size="small" type="primary" @click="openDelegation(formDataList[0].beforeNodeName)">转办</el-button>
                    <el-button v-if="formDataObj.canJump" size="small" type="primary" @click="jumpTask()">跳过</el-button>
                    <el-button v-if="formDataObj.canWait" size="small" type="primary" >容缺</el-button>
                    <el-button size="small" type="primary" :disabled="formDataObj.taskStatus === '挂起'" @click="openDelegation(formDataList[0].beforeNodeName)">转办</el-button>
                    <el-button v-if="formDataObj.canJump" :disabled="formDataObj.taskStatus === '挂起'" size="small" type="primary" @click="jumpTask()">跳过</el-button>
                    <el-button v-if="formDataObj.canWait" :disabled="formDataObj.taskStatus === '挂起'" size="small" type="primary" >容缺</el-button>
                    <el-button v-if="formDataObj.canHangup && formDataObj.taskStatus !== '挂起'" size="small" type="primary" @click="hangup">挂起</el-button>
                    <el-button v-if="formDataObj.canHangup && formDataObj.taskStatus === '挂起'" size="small" type="primary" @click="cancelHangup">结束挂起</el-button>
                  </div>
                  <div class="current">当前阶段:<span>{{formDataObj.beforeNodeName}}</span></div>
                  <div class="current">当前阶段:<span>{{formDataObj.beforeNodeName}}</span><span v-if="formDataObj.taskStatus === 'HANGUP'">(挂起中)</span></div>
                </div>
                <div v-else-if="formDataList.length > 1">
                  <!--     前置节点可驳回         -->
@@ -175,7 +177,7 @@
import { flowTaskForm } from "@/api/flowable/todo";
import {getNextFlowNodeByStart} from "@/api/flowable/todo";
import {rejectTask} from "@/api/flowable/process";
import {taskDelegation, taskJump} from "@/api/projectProcess/projectProcess";
import {cancelTaskHangup, taskDelegation, taskHangup, taskJump} from "@/api/projectProcess/projectProcess";
export default {
  name: "Record",
@@ -266,6 +268,7 @@
    this.deployId = this.$route.query && this.$route.query.deployId;
    this.taskId = this.$route.query && this.$route.query.taskId;
    this.projectName = this.$route.query && this.$route.query.projectName;
    this.projectId = this.$route.query && this.$route.query.projectId;
    this.flowName = this.$route.query && this.$route.query.flowName;
    // 初始化表单
    this.procDefId  = this.$route.query && this.$route.query.procDefId;
@@ -275,6 +278,50 @@
    this.getFlowFormData(this.taskId);
  },
  methods: {
    // 挂起任务
    hangup() {
      this.$prompt('备注说明', '确定要挂起此任务吗', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        inputType: 'textarea'
        // inputPattern: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/,
        // inputErrorMessage: '邮箱格式不正确'
      }).then(({ value }) => {
        let hangupForm = {
          taskId: this.taskId,
          projectId: this.projectId,
          processInsId: this.procInsId,
          reason: value
        }
        taskHangup(hangupForm).then(res => {
          this.$message.success("操作成功")
          this.goBack()
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消挂起操作'
        });
      });
    },
    // 挂起任务
    cancelHangup() {
      this.$confirm('确定要取消挂起吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        let cancelHangupForm = {
          taskId: this.taskId,
          projectId: this.projectId,
          processInsId: this.procInsId
        }
        cancelTaskHangup(cancelHangupForm).then(res => {
          this.$message.success("操作成功")
          this.goBack()
        })
      })
    },
    // 跳过任务
    jumpTask() {
      this.$prompt('备注说明', '确定要跳过此任务吗', {
@@ -286,7 +333,7 @@
      }).then(({ value }) => {
        let jumpForm = {
          taskId: this.taskId,
          projectId: this.goBackParams.projectId,
          projectId: this.projectId,
          processInsId: this.procInsId,
          desc: value
        }
@@ -344,7 +391,7 @@
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            this.delegationForm.projectId = this.goBackParams.projectId
            this.delegationForm.projectId = this.projectId
            this.delegationForm.processInsId = this.procInsId
            this.delegationButLoading = true
            taskDelegation(this.delegationForm).then(res => {
@@ -564,7 +611,7 @@
      this.$router.push({
        path: '/projectFlow/detail',
        query: {
          projectId: this.goBackParams.projectId,
          projectId: this.projectId,
          processDefId: this.goBackParams.processDefId,
          processName: this.goBackParams.processName
        }