From 318593ad484abc3bb5bf9bac698880edf84379c7 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 09 一月 2025 15:32:16 +0800
Subject: [PATCH] 监听器注入字段bug
---
src/components/Process/common/bpmnUtils.js | 8 ++++++++
src/components/Process/panel/taskListener.vue | 12 ++++++++++--
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/components/Process/common/bpmnUtils.js b/src/components/Process/common/bpmnUtils.js
index 907aa68..95da224 100644
--- a/src/components/Process/common/bpmnUtils.js
+++ b/src/components/Process/common/bpmnUtils.js
@@ -56,6 +56,13 @@
default:
listenerObj.class = options.value;
}
+ // 娉ㄥ叆瀛楁
+ if (options.fields) {
+ listenerObj.fields = options.fields.map(field => {
+ return createFieldObject(moddle, field, prefix);
+ });
+ }
+ console.log("娉ㄥ叆瀛楁",options.fields)
return moddle.create(`${prefix}:${isTask ? "TaskListener" : "ExecutionListener"}`, listenerObj);
}
@@ -82,6 +89,7 @@
// 鍒涘缓 鐩戝惉鍣ㄧ殑娉ㄥ叆瀛楁 瀹炰緥
export function createFieldObject(moddle, option, prefix) {
+ console.log("娉ㄥ叆瀛楁option",option)
const { name, fieldType, string, expression } = option;
const fieldConfig = fieldType === "string" ? { name, string } : { name, expression };
return moddle.create(`${prefix}:Field`, fieldConfig);
diff --git a/src/components/Process/panel/taskListener.vue b/src/components/Process/panel/taskListener.vue
index bdc3aa0..4d480d8 100644
--- a/src/components/Process/panel/taskListener.vue
+++ b/src/components/Process/panel/taskListener.vue
@@ -341,6 +341,7 @@
// 鎵撳紑 鐩戝惉鍣ㄨ鎯� 渚ц竟鏍�
openListenerForm(listener, index) {
+ this.resetListenersList();
if (listener) {
this.listenerForm = this.initListenerForm(listener);
this.editingListenerIndex = index;
@@ -435,11 +436,18 @@
},
initListenerType(listener) {
+ console.log("鐩戝惉鍣╨istener",listener)
let listenerType;
if (listener.class) listenerType = "classListener";
if (listener.expression) listenerType = "expressionListener";
if (listener.delegateExpression) listenerType = "delegateExpressionListener";
if (listener.script) listenerType = "scriptListener";
+ //鐩戝惉鍣ㄥ瓧娈礲ug淇
+ if (listener && listener.fields) {
+ listener.fields.forEach(field => {
+ field.fieldType = field.string ? "string" : "expression";
+ });
+ }
return {
...JSON.parse(JSON.stringify(listener)),
...(listener.script ?? {}),
@@ -469,7 +477,6 @@
self.eventDefinitionType = key.replace("time", "").toLowerCase();
}
}
- console.log(k);
self.eventTimeDefinitions = listener.eventDefinitions[0][k].body;
}
}
@@ -499,7 +506,6 @@
saveSystemListener() {
if (this.checkedListenerData.length > 0) {
this.checkedListenerData.forEach(value => {
- // 淇濆瓨鍏朵粬閰嶇疆
const listenerObject = createSystemListenerObject(this.modelerStore.moddle, value, true, "flowable");
this.bpmnElementListeners.push(listenerObject);
this.elementListenersList.push(changeListenerObject(value));
@@ -513,6 +519,8 @@
this.listenerSystemChecked = true;
// 闅愯棌渚ц竟鏍�
this.listenerSystemVisible = false;
+ //瑙f瀽娉ㄥ叆瀛楁娣诲姞鍒板綋鍓嶈〃鍗�
+ this.resetListenersList();
}
}
}
--
Gitblit v1.8.0