Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zrch-risk-39
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
zrch-risk-39
Commits
6a232359
提交
6a232359
authored
4月 08, 2026
作者:
whydesc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
--工作流转办完成
上级
5050158a
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
108 行增加
和
3 行删除
+108
-3
todo.js
zrch-risk-client-39/src/components/Process/api/todo.js
+9
-0
TodoIndex.vue
...-39/src/views/flowable/task/todo/components/TodoIndex.vue
+58
-2
FlowTaskServiceImpl.java
...cg/modules/flowable/service/impl/FlowTaskServiceImpl.java
+41
-1
没有找到文件。
zrch-risk-client-39/src/components/Process/api/todo.js
浏览文件 @
6a232359
...
...
@@ -155,6 +155,15 @@ export function getRejectNode(query) {
params
:
query
})
}
// 转办任务 why 2026-4-7 add
export
function
assign
(
data
)
{
return
defHttp
.
post
({
url
:
'/flowable/task/assign'
,
data
:
data
})
}
...
...
zrch-risk-client-39/src/views/flowable/task/todo/components/TodoIndex.vue
浏览文件 @
6a232359
...
...
@@ -22,6 +22,10 @@
<
template
#
icon
><CloseCircleOutlined
/></
template
>
驳回
</a-button>
<a-button
type=
"danger"
size=
"large"
@
click=
"handleAssignTask"
:loading=
"assigning"
class=
"action-btn"
>
<
template
#
icon
><CloseCircleOutlined
/></
template
>
转办
</a-button>
</a-space>
</div>
<div
class=
"action-right"
>
...
...
@@ -212,7 +216,7 @@
// API
import
{
flowRecord
}
from
'/@/components/Process/api/finished'
;
import
{
flowXmlAndNode
}
from
'/@/components/Process/api/definition'
;
import
{
complete
,
flowTaskForm
,
getNextFlowNode
,
getMyTaskFlow
}
from
'/@/components/Process/api/todo'
;
import
{
complete
,
flowTaskForm
,
getNextFlowNode
,
getMyTaskFlow
,
assign
}
from
'/@/components/Process/api/todo'
;
import
{
flowTaskInfo
}
from
'/@/components/Process/api/process'
;
// 组件
...
...
@@ -286,7 +290,7 @@
// })
const
isFixed
=
ref
(
true
);
const
assigning
=
ref
(
false
);
const
userType
=
computed
(()
=>
{
return
nextNode
.
value
?.
type
||
''
;
});
...
...
@@ -714,6 +718,58 @@
}
};
//转办处理
const
handleAssignTask
=
async
()
=>
{
if
(
assigning
.
value
)
return
;
try
{
assigning
.
value
=
true
;
const
submitData
=
{
instanceId
:
taskForm
.
instanceId
,
deployId
:
taskForm
.
deployId
,
taskId
:
taskForm
.
taskId
,
comment
:
''
,
values
:
{},
};
const
formData
=
await
validate
();
Object
.
assign
(
submitData
,
formData
);
submitData
.
comment
=
submitData
.
comment
||
''
;
//test1 1958436761110269953
// submitData.values['targetUserId'] = '1959869916657950721';
if
(
userType
.
value
===
'user'
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendUser
;
submitData
.
values
[
'approvalType'
]
=
'user'
;
if
(
formData
.
checkSendUser
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendUser
;
submitData
.
values
[
'approvalType'
]
=
'user'
;
}
}
else
if
(
formData
.
checkSendRole
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendRole
;
submitData
.
values
[
'approvalType'
]
=
'role'
;
}
// 执行发送
const
result
=
await
assign
(
submitData
);
message
.
success
(
'任务转办成功'
);
emit
(
'success'
,
result
);
emit
(
'callback'
);
}
catch
(
error
:
any
)
{
if
(
error
.
errorFields
)
{
message
.
error
(
'请完善表单信息'
);
}
else
{
console
.
error
(
'发送任务失败:'
,
error
);
message
.
error
(
error
.
message
||
'转办任务失败'
);
}
}
finally
{
assigning
.
value
=
false
;
}
};
defineExpose
({
iniData
,
});
...
...
zrch-risk-server-39/jeecg-module-system/jeecg-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java
浏览文件 @
6a232359
...
...
@@ -72,6 +72,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.io.InputStream
;
import
java.nio.charset.StandardCharsets
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.function.Function
;
...
...
@@ -1064,7 +1065,46 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
assignTask
(
FlowTaskVo
flowTaskVo
)
{
taskService
.
setAssignee
(
flowTaskVo
.
getTaskId
(),
flowTaskVo
.
getComment
());
SysUser
loginUser
=
iFlowThirdService
.
getLoginUser
();
// 1. (可选) 记录转办人,便于追溯。将原办理人记录在 Owner 字段中
taskService
.
setOwner
(
flowTaskVo
.
getTaskId
(),
loginUser
.
getId
());
if
(
flowTaskVo
.
getValues
()!=
null
){
if
(
flowTaskVo
.
getValues
().
get
(
"approvalType"
)!=
null
){
if
(
flowTaskVo
.
getValues
().
get
(
"approvalType"
).
toString
().
equals
(
"user"
)){
if
(
flowTaskVo
.
getValues
().
get
(
"targetUserId"
)!=
null
){
//目标用户
String
targetUserId
=
flowTaskVo
.
getValues
().
get
(
"targetUserId"
).
toString
();
SysUser
targetuser
=
iFlowThirdService
.
getUserByUserid
(
targetUserId
);
// 2. 核心操作:直接将任务的指派人改为目标用户
// 此时,任务的所有权彻底转移
taskService
.
setAssignee
(
flowTaskVo
.
getTaskId
(),
targetUserId
);
flowTaskVo
.
getInstanceId
();
Date
date
=
new
Date
();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
curdate
=
sdf
.
format
(
date
);
// 3. (可选) 添加一条评论或日志,记录这次转办动作
//taskService.addComment(flowTaskVo.getTaskId(), null, originalUserId + " 将任务转办给 " + targetUserId);
taskService
.
addComment
(
flowTaskVo
.
getTaskId
(),
flowTaskVo
.
getInstanceId
(),
curdate
+
loginUser
.
getRealname
()
+
" 将任务转办给 "
+
targetuser
.
getRealname
());
}
}
else
{
}
}
}
}
/**
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论