From 69831144fbc3ed5adf1963bf2bc8d48f2035e010 Mon Sep 17 00:00:00 2001 From: beihai Date: Wed, 29 Oct 2025 09:57:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:bpmn=E6=B5=81=E7=A8=8B=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E5=A2=9E=E5=8A=A0http=E4=BB=BB=E5=8A=A1=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/plugins/palette/CustomPalette.js | 29 ++ .../plugins/palette/paletteProvider.js | 29 ++ .../package/designer/plugins/translate/zh.js | 1 + .../task/task-components/ServiceTask.vue | 271 ++++++++++++++++-- 4 files changed, 312 insertions(+), 18 deletions(-) diff --git a/src/components/bpmnProcessDesigner/package/designer/plugins/palette/CustomPalette.js b/src/components/bpmnProcessDesigner/package/designer/plugins/palette/CustomPalette.js index 788e4d163..8bdbcfca3 100644 --- a/src/components/bpmnProcessDesigner/package/designer/plugins/palette/CustomPalette.js +++ b/src/components/bpmnProcessDesigner/package/designer/plugins/palette/CustomPalette.js @@ -89,6 +89,26 @@ F.prototype.getPaletteEntries = function () { create.start(event, elementFactory.createParticipantShape()) } + function createHttpServiceTask(event) { + const httpTask = elementFactory.createShape({ + type: 'bpmn:ServiceTask' + }) + + const businessObject = httpTask.businessObject + + if (typeof businessObject.set === 'function') { + businessObject.set('flowable:type', 'http') + } else { + businessObject['flowable:type'] = 'http' + } + + if (!businessObject.name) { + businessObject.name = translate('HTTP Task') + } + + create.start(event, httpTask) + } + assign(actions, { 'hand-tool': { group: 'tools', @@ -177,6 +197,15 @@ F.prototype.getPaletteEntries = function () { 'bpmn-icon-service', translate('Create Service Task') ), + 'create.http-service-task': { + group: 'activity', + className: 'bpmn-icon-service', + title: translate('Create HTTP Task'), + action: { + dragstart: createHttpServiceTask, + click: createHttpServiceTask + } + }, 'create.data-object': createAction( 'bpmn:DataObjectReference', 'data-object', diff --git a/src/components/bpmnProcessDesigner/package/designer/plugins/palette/paletteProvider.js b/src/components/bpmnProcessDesigner/package/designer/plugins/palette/paletteProvider.js index 304875ced..e9cb2d31a 100644 --- a/src/components/bpmnProcessDesigner/package/designer/plugins/palette/paletteProvider.js +++ b/src/components/bpmnProcessDesigner/package/designer/plugins/palette/paletteProvider.js @@ -96,6 +96,26 @@ PaletteProvider.prototype.getPaletteEntries = function () { create.start(event, elementFactory.createParticipantShape()) } + function createHttpServiceTask(event) { + const httpTask = elementFactory.createShape({ + type: 'bpmn:ServiceTask' + }) + + const businessObject = httpTask.businessObject + + if (typeof businessObject.set === 'function') { + businessObject.set('flowable:type', 'http') + } else { + businessObject['flowable:type'] = 'http' + } + + if (!businessObject.name) { + businessObject.name = translate('HTTP Task') + } + + create.start(event, httpTask) + } + assign(actions, { 'hand-tool': { group: 'tools', @@ -177,6 +197,15 @@ PaletteProvider.prototype.getPaletteEntries = function () { 'bpmn-icon-service', translate('Create Service Task') ), + 'create.http-service-task': { + group: 'activity', + className: 'bpmn-icon-service', + title: translate('Create HTTP Task'), + action: { + dragstart: createHttpServiceTask, + click: createHttpServiceTask + } + }, 'create.data-object': createAction( 'bpmn:DataObjectReference', 'data-object', diff --git a/src/components/bpmnProcessDesigner/package/designer/plugins/translate/zh.js b/src/components/bpmnProcessDesigner/package/designer/plugins/translate/zh.js index d243ec456..4ac5bb5cb 100644 --- a/src/components/bpmnProcessDesigner/package/designer/plugins/translate/zh.js +++ b/src/components/bpmnProcessDesigner/package/designer/plugins/translate/zh.js @@ -43,6 +43,7 @@ export default { 'Manual Task': '手工任务', 'Business Rule Task': '业务规则任务', 'Service Task': '服务任务', + 'HTTP Task': 'HTTP任务', 'Script Task': '脚本任务', 'Call Activity': '调用活动', 'Sub-Process (collapsed)': '子流程(折叠的)', diff --git a/src/components/bpmnProcessDesigner/package/penal/task/task-components/ServiceTask.vue b/src/components/bpmnProcessDesigner/package/penal/task/task-components/ServiceTask.vue index 2f9c535ee..cc4d2abff 100644 --- a/src/components/bpmnProcessDesigner/package/penal/task/task-components/ServiceTask.vue +++ b/src/components/bpmnProcessDesigner/package/penal/task/task-components/ServiceTask.vue @@ -1,10 +1,11 @@