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