From 31c91cdcd57ea13c0ca981d577f0edf6e73ea4f0 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 17 一月 2025 15:00:24 +0800
Subject: [PATCH] 首页待办跳转问题

---
 src/components/Process/panel/taskListener.vue |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/components/Process/panel/taskListener.vue b/src/components/Process/panel/taskListener.vue
index ca9bdb8..e1bde2d 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;
@@ -417,7 +418,7 @@
     async saveListenerConfig() {
       let validateStatus = await this.$refs["listenerFormRef"].validate();
       if (!validateStatus) return; // 楠岃瘉涓嶉�氳繃鐩存帴杩斿洖
-      const listenerObject = createListenerObject(this.modelerStore.moddle, this.listenerForm, false, "flowable");
+      const listenerObject = createListenerObject(this.modelerStore.moddle, this.listenerForm, true, "flowable");
       if (this.editingListenerIndex === -1) {
         this.bpmnElementListeners.push(listenerObject);
         this.elementListenersList.push(this.listenerForm);
@@ -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,11 @@
     saveSystemListener() {
       if (this.checkedListenerData.length > 0) {
         this.checkedListenerData.forEach(value => {
-          // 淇濆瓨鍏朵粬閰嶇疆
+          value.fields.forEach(field => {
+            if (field.name === '寮�濮嬭鏃惰妭鐐�') {
+              field.string = this.modelerStore.element.id;
+            }
+          });
           const listenerObject = createSystemListenerObject(this.modelerStore.moddle, value, true, "flowable");
           this.bpmnElementListeners.push(listenerObject);
           this.elementListenersList.push(changeListenerObject(value));
@@ -513,6 +524,8 @@
       this.listenerSystemChecked = true;
       // 闅愯棌渚ц竟鏍�
       this.listenerSystemVisible = false;
+      //瑙f瀽娉ㄥ叆瀛楁娣诲姞鍒板綋鍓嶈〃鍗�
+      this.resetListenersList();
     }
   }
 }

--
Gitblit v1.8.0