xiangpei
2025-03-09 0829704d064b5d843014897a84b42f3625571d97
src/views/flowable/task/myProcess/send/index.vue
@@ -18,11 +18,11 @@
                  <div class="op-list">
                    <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" :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>
                    <el-button size="small" type="primary" v-if="!isWait" :disabled="formDataObj.taskStatus === '挂起'" @click="openDelegation(formDataList[0].beforeNodeName)">转办</el-button>
                    <el-button v-if="formDataObj.canJump && !isWait" :disabled="formDataObj.taskStatus === '挂起'" size="small" type="primary" @click="jumpTask()">跳过</el-button>
                    <el-button v-if="formDataObj.canWait && !isWait" :disabled="formDataObj.taskStatus === '挂起'" size="small" type="primary" @click="waitTask()">容缺</el-button>
                    <el-button v-if="formDataObj.canHangup && formDataObj.taskStatus !== '挂起' && !isWait" size="small" type="primary" @click="hangup">挂起</el-button>
                    <el-button v-if="formDataObj.canHangup && formDataObj.taskStatus === '挂起' && !isWait" size="small" type="primary" @click="cancelHangup">结束挂起</el-button>
                  </div>
                  <div class="current">当前阶段:<span>{{formDataObj.beforeNodeName}}</span><span v-if="formDataObj.taskStatus === 'HANGUP'">(挂起中)</span></div>
                </div>
@@ -30,19 +30,18 @@
                  <!--     前置节点可驳回         -->
                  <div class="reject-but">
                    <el-button type="danger" size="small" @click="openRejectTask(formDataObj.beforeNodeName)">驳 回</el-button>
                    <div style="margin-left: 10px" v-if="formDataObj.events.length > 0">
                      <el-popover
                        placement="right-start"
                        title="任务日志"
                        width="600"
                        trigger="hover"
                      >
                        <div v-if="formDataObj.events.length > 0">
                          <log-view :log-list="formDataObj.events"/>
                        </div>
                        <el-button slot="reference">任务日志</el-button>
                      </el-popover>
                    </div>
                    <el-popover
                      style="margin-left: 10px" v-if="formDataObj.events.length > 0"
                      placement="right-start"
                      title="任务日志"
                      width="800"
                      trigger="hover"
                    >
                      <div v-if="formDataObj.events.length > 0">
                        <log-view :log-list="formDataObj.events"/>
                      </div>
                      <el-button slot="reference">任务日志</el-button>
                    </el-popover>
                  </div>
                  <div class="before">前置阶段:<span>{{formDataObj.beforeNodeName}}</span></div>
                </div>
@@ -186,11 +185,12 @@
import SingleUser from '@/components/flow/User/SingleUser'
import MultUser from '@/components/flow/User/MultUser'
import MyRole from '@/components/flow/Role/MyRole'
import {completeSubmitFormTask} from "@/api/flowable/process";
import {completeSubmitFormTask, waitCompleteSubmitFormTask} from "@/api/flowable/process";
import { flowTaskForm } from "@/api/flowable/todo";
import {getNextFlowNodeByStart} from "@/api/flowable/todo";
import LogView from "@/views/projectProcess/components/LogView";
import {rejectTask} from "@/api/flowable/process";
import {cancelTaskHangup, taskDelegation, taskHangup, taskJump} from "@/api/projectProcess/projectProcess";
import {cancelTaskHangup, taskDelegation, taskHangup, taskJump, taskWait} from "@/api/projectProcess/projectProcess";
export default {
  name: "Record",
@@ -200,10 +200,12 @@
    MyDept,
    SingleUser,
    MultUser,
    LogView
  },
  props: {},
  data() {
    return {
      isWait: false,
      jumpDesc: '', // 跳过说明
      rejectLoading: false, // 驳回按钮加载
      submitLoading: false, // 提交按钮加载
@@ -287,6 +289,7 @@
    this.procDefId  = this.$route.query && this.$route.query.procDefId;
    this.procInsId  = this.$route.query && this.$route.query.procInsId;
    this.goBackParams  = this.$route.query && this.$route.query.goBackParams;
    this.isWait = this.$route.query && this.$route.query.isWait === 'true' ? true : false;
    // this.getNextFlowNodeByStart(this.deployId);
    this.getFlowFormData(this.taskId);
  },
@@ -334,6 +337,30 @@
          this.goBack()
        })
      })
    },
    // 容缺任务
    waitTask() {
      this.$prompt('备注说明', '确定要容缺此任务吗', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        inputType: 'textarea'
      }).then(({ value }) => {
        let waitForm = {
          taskId: this.taskId,
          projectId: this.projectId,
          processInsId: this.procInsId,
          desc: value
        }
        taskWait(waitForm).then(res => {
          this.$message.success("操作成功")
          this.goBack()
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消容缺操作'
        });
      });
    },
    // 跳过任务
    jumpTask() {
@@ -648,19 +675,35 @@
            // 复制对象的属性值给新的对象
            Object.assign(param, formData);
            // 完成任务
            completeSubmitFormTask(this.taskId, param).then(res => {
            if (this.isWait) {
              waitCompleteSubmitFormTask(this.taskId, param).then(res => {
                this.$modal.msgSuccess(res.msg);
                this.submitLoading = false
                this.goBack();
              })
            } else {
              completeSubmitFormTask(this.taskId, param).then(res => {
                this.$modal.msgSuccess(res.msg);
                this.submitLoading = false
                this.goBack();
              })
            }
          })
        } else {
          // 没关联表单直接传空
          if (this.isWait) {
              waitCompleteSubmitFormTask(this.taskId, {}).then(res => {
              this.$modal.msgSuccess(res.msg);
              this.submitLoading = false
              this.goBack();
            })
          })
        } else {
          // 没关联表单直接传空
          completeSubmitFormTask(this.taskId, {}).then(res => {
            this.$modal.msgSuccess(res.msg);
            this.submitLoading = false
            this.goBack();
          })
          } else {
            completeSubmitFormTask(this.taskId, {}).then(res => {
              this.$modal.msgSuccess(res.msg);
              this.submitLoading = false
              this.goBack();
            })
          }
        }
      }).catch((err) => {
        console.log(err)