From 5a98e5f9ce50bb5de56a54cae14e5ea49fbe2c07 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 17 三月 2025 16:19:29 +0800
Subject: [PATCH] 更新流程实现
---
src/views/flowable/task/myProcess/send/index.vue | 119 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 87 insertions(+), 32 deletions(-)
diff --git a/src/views/flowable/task/myProcess/send/index.vue b/src/views/flowable/task/myProcess/send/index.vue
index 02da72f..e50e92b 100644
--- a/src/views/flowable/task/myProcess/send/index.vue
+++ b/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);
},
@@ -335,14 +338,50 @@
})
})
},
+ // 瀹圭己浠诲姟
+ waitTask() {
+ this.$prompt('澶囨敞璇存槑', '纭畾瑕佸缂烘浠诲姟鍚�', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ inputType: 'textarea',
+ inputValidator: (value) => {
+ if (!value || value.trim() === '') {
+ return "璇峰~鍐欏娉ㄨ鏄�"
+ }
+ return true
+ },
+ inputErrorMessage: '璇峰~鍐欏娉ㄨ鏄�'
+ }).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() {
this.$prompt('澶囨敞璇存槑', '纭畾瑕佽烦杩囨浠诲姟鍚�', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
- inputType: 'textarea'
- // inputPattern: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/,
- // inputErrorMessage: '閭鏍煎紡涓嶆纭�'
+ inputType: 'textarea',
+ inputValidator: (value) => {
+ if (!value || value.trim() === '') {
+ return "璇峰~鍐欏娉ㄨ鏄�"
+ }
+ return true
+ },
+ inputErrorMessage: '璇峰~鍐欏娉ㄨ鏄�'
}).then(({ value }) => {
let jumpForm = {
taskId: this.taskId,
@@ -648,19 +687,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)
--
Gitblit v1.8.0