From ac7991e7ed058ebdc38a20fb099cd17dd1b91e19 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 17 二月 2025 13:52:43 +0800
Subject: [PATCH] 挂起/取消挂起操作
---
src/views/flowable/task/myProcess/send/index.vue | 65 ++++++++++++++++++++++++++++----
src/api/projectProcess/projectProcess.js | 18 +++++++++
src/views/projectProcess/detail/index.vue | 4 +
3 files changed, 77 insertions(+), 10 deletions(-)
diff --git a/src/api/projectProcess/projectProcess.js b/src/api/projectProcess/projectProcess.js
index 2dd4f71..50af610 100644
--- a/src/api/projectProcess/projectProcess.js
+++ b/src/api/projectProcess/projectProcess.js
@@ -97,3 +97,21 @@
})
}
+// 鍗曚换鍔℃寕璧�
+export function taskHangup(data) {
+ return request({
+ url: '/project-process/detail/task/hangup',
+ method: 'post',
+ data: data
+ })
+}
+
+// 鍗曚换鍔″彇娑堟寕璧�
+export function cancelTaskHangup(data) {
+ return request({
+ url: '/project-process/detail/task/hangup/cancel',
+ method: 'post',
+ data: data
+ })
+}
+
diff --git a/src/views/flowable/task/myProcess/send/index.vue b/src/views/flowable/task/myProcess/send/index.vue
index ea5dd7c..07e4096 100644
--- a/src/views/flowable/task/myProcess/send/index.vue
+++ b/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
}
diff --git a/src/views/projectProcess/detail/index.vue b/src/views/projectProcess/detail/index.vue
index 8a62dfd..acacce6 100644
--- a/src/views/projectProcess/detail/index.vue
+++ b/src/views/projectProcess/detail/index.vue
@@ -414,7 +414,7 @@
}
},
showHandle(row) {
- if (row.taskStatus === '寰呭姙') {
+ 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
@@ -448,6 +448,7 @@
projectName: this.detailData.projectName,
taskId: row.taskId,
showAuditing: res.data,
+ projectId: this.queryParams.projectId,
goBackParams: this.queryParams
}
})
@@ -461,6 +462,7 @@
procInsId: row.processInsId,
deployId: row.deployId,
taskId: row.taskId,
+ projectId: this.queryParams.projectId,
goBackParams: this.queryParams
}})
},
--
Gitblit v1.8.0