This commit is contained in:
@jyuhsin
2025-12-20 18:01:57 +08:00
parent a177372af1
commit 8dabc3913e
9 changed files with 29 additions and 12 deletions
@@ -48,6 +48,7 @@ public class FlowTodoCenterController {
t.displayName AS taskName,
t.taskState,
t.formKey,
t.h5FormKey,
t.createdAt,
t.finishTime,
t.variable,
@@ -92,6 +93,7 @@ public class FlowTodoCenterController {
t.displayName AS taskName,
t.taskState,
t.formKey,
t.h5FormKey,
t.createdAt,
t.finishTime,
t.variable,
@@ -140,7 +142,9 @@ public class FlowTodoCenterController {
ins.createdAt,
ins.variable ->> '$.instanceName' AS instanceName,
GROUP_CONCAT(DISTINCT t.displayName) as taskName,
cat.`name` categoryName
cat.`name` categoryName,
t.formKey,
t.h5FormKey
FROM
wf_process_instance ins
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id and t.taskState = 10
@@ -179,7 +183,7 @@ public class FlowTodoCenterController {
ins.variable,
ins.createdAt,
ins.variable ->> '$.instanceName' AS instanceName,
cat.`name` categoryName
cat.`name` categoryName
FROM
wf_process_instance ins
LEFT JOIN wf_process_define def ON def.id = ins.processDefineId
@@ -41,6 +41,8 @@ public class TaskModel extends NodeModel {
*/
private String countersignCompletionCondition;
private String h5form;
@Override
public void exec(Execution execution) {
// 执行任务节点自定义执行逻辑
@@ -21,6 +21,7 @@ public interface NodeParser {
String EXPR_KEY = "expr"; // 表达式key
String HANDLE_CLASS_KEY = "handleClass"; // 表达式处理类
String FORM_KEY = "form"; // 表单标识
String H5_FORM_KEY = "h5form"; // 表单标识
String ASSIGNEE_KEY = "assignee"; // 参与人
String ASSIGNMENT_HANDLE_KEY = "assignmentHandler"; // 参与人处理类
String TASK_TYPE_KEY = "taskType"; // 任务类型(主办/协办)
@@ -29,6 +29,7 @@ public class TaskParser extends AbstractNodeParser {
TaskModel taskModel = (TaskModel)nodeModel;
Dict properties = lfNode.getProperties();
taskModel.setForm(properties.getStr(FORM_KEY));
taskModel.setH5form(properties.getStr(H5_FORM_KEY));
taskModel.setAssignee(properties.getStr(ASSIGNEE_KEY));
taskModel.setAssignmentHandler(properties.getStr(ASSIGNMENT_HANDLE_KEY));
taskModel.setTaskType(ProcessTaskTypeEnum.codeOf(properties.get(TASK_TYPE_KEY)));
@@ -66,6 +66,10 @@ public class ProcessTask extends BaseModel {
@Column
private String formKey;
@Comment("h5任务处理表单KEY")
@Column
private String h5FormKey;
@Comment("父任务ID")
@Column
private Long taskParentId;
@@ -174,6 +174,7 @@ public class ProcessTaskServiceImpl extends BaseServiceImpl<ProcessTask> impleme
processTask.setTaskState(ProcessTaskStateEnum.DOING.getCode());
processTask.setTaskType(taskModel.getTaskType().getCode());
processTask.setFormKey(taskModel.getForm());
processTask.setH5FormKey(taskModel.getH5form());
processTask.setProcessInstanceId(execution.getProcessInstanceId());
// 增加是否为第一个任务节点标识
@@ -108,6 +108,7 @@ const user = {
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</div>
</div>
</div>
@@ -39,14 +39,18 @@
'assigneeText',
'assigneeMode',
'buttonConfig',
'enableNextOperator'
'enableNextOperator',
'h5form'
]"
>
<!-- <template v-slot:form-item-task-form="{model,field}">-->
<!-- <el-form-item label="form">-->
<!-- -->
<!-- </el-form-item>-->
<!-- </template>-->
<template v-slot:form-item-task-form="{model,field}">
<el-form-item label="pc跳转地址">
<el-input placeholder="请输入pc跳转地址" clearable v-model="model[field]"></el-input>
</el-form-item>
<el-form-item label="h5跳转地址">
<el-input placeholder="请输入h5跳转地址" clearable v-model="model['h5form']"></el-input>
</el-form-item>
</template>
<template v-slot:form-item-task-assignee="{model,field}">
<assignee-form :model="model" :field="field" :start_node_next_node_ids="startNodeNextNodeIds"></assignee-form>
@@ -177,13 +177,12 @@ const todo = {
// 处理任务
onView(task) {
const {taskId, taskKey, instanceId, businessNo, formKey} = task;
this.$toast("暂未开通从当前地址点击查看!");
return;
if (!formKey) {
const {taskId, taskKey, instanceId, businessNo, formKey, h5FormKey} = task;
if (!h5FormKey) {
this.$toast("当前流程没有配置地址");
return;
}
this.$pjaxReplace(h5FormKey + "?taskId=" + taskId + "bizId=" + businessNo + "taskKey=" + taskKey)
},
// 获取空状态文本