From 6ae0fcef149ddbe614746023a58a3885b3ac4bde Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 25 三月 2025 11:31:04 +0800
Subject: [PATCH] Merge branch 'dev'

---
 src/components/Process/panel/taskListener.vue |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/components/Process/panel/taskListener.vue b/src/components/Process/panel/taskListener.vue
index e1bde2d..c46c01c 100644
--- a/src/components/Process/panel/taskListener.vue
+++ b/src/components/Process/panel/taskListener.vue
@@ -184,8 +184,8 @@
     </el-drawer>
 
     <!-- 娉ㄥ叆瑗挎 缂栬緫/鍒涘缓 閮ㄥ垎 -->
-    <el-dialog title="瀛楁閰嶇疆" :visible.sync="listenerFieldFormModelVisible" width="600px" append-to-body destroy-on-close>
-      <el-form :model="listenerFieldForm"  label-width="96px" ref="listenerFieldFormRef" style="height: 136px" @submit.native.prevent>
+    <el-dialog title="瀛楁閰嶇疆" :visible.sync="listenerFieldFormModelVisible" :close-on-click-modal="false" width="600px" append-to-body destroy-on-close>
+      <el-form :model="listenerFieldForm"  label-width="96px" ref="listenerFieldFormRef" @submit.native.prevent>
         <el-form-item label="瀛楁鍚嶇О锛�" prop="name" :rules="{ required: true, trigger: ['blur', 'change'] }">
           <el-input v-model="listenerFieldForm.name" clearable />
         </el-form-item>
@@ -202,6 +202,11 @@
             :rules="{ required: true, trigger: ['blur', 'change'] }"
         >
           <el-input v-model="listenerFieldForm.string" clearable />
+          <el-alert
+            :closable="false"
+            title="璧嬬爜鏃堕棿鏍煎紡涓猴細澶�-灏忔椂锛屼緥濡傦細涓�澶╅浂3灏忔椂搴旈厤缃负锛�1-3"
+            type="info">
+          </el-alert>
         </el-form-item>
         <el-form-item
             v-if="listenerFieldForm.fieldType === 'expression'"
@@ -418,6 +423,29 @@
     async saveListenerConfig() {
       let validateStatus = await this.$refs["listenerFormRef"].validate();
       if (!validateStatus) return; // 楠岃瘉涓嶉�氳繃鐩存帴杩斿洖
+      console.log('鐩戝惉鍣ㄥ弬鏁�',this.listenerForm)
+      //鏍¢獙瓒呮椂鐩戝惉鍣ㄥ弬鏁�
+      if (this.listenerForm.class === 'com.ycl.listener.flowable.FlowableOverTimeListener') {
+        // 0-0 鏍煎紡
+        const regex = /^(\d{1,3})-(\d{1,2})$/;
+        for (let i = 0; i < this.listenerForm.fields.length; i++) {
+          if (this.listenerForm.fields[i].name === '绾㈢爜鏃堕暱' || this.listenerForm.fields[i].name === '榛勭爜鏃堕暱' || this.listenerForm.fields[i].name === '鍔炵悊鏈熼檺') {
+            const match = this.listenerForm.fields[i].string.match(regex);
+            if (match) {
+              const hours1 = parseInt(match[1], 10);
+              const hours2 = parseInt(match[2], 10);
+              // 妫�鏌ュ皬鏃舵暟鏄惁鍦ㄥ悎鐞嗚寖鍥村唴锛屽苟涓旂浜屼釜灏忔椂鏁板皬浜庣瓑浜�24
+              if (hours1 < 0 || hours2 > 24) {
+                this.$message.error(this.listenerForm.fields[i].name + '灏忔椂鏁颁笉鍚堢悊');
+                return;
+              }
+            } else {
+              this.$message.error(this.listenerForm.fields[i].name + '鏃堕棿鏍煎紡涓嶆纭�');
+              return;
+            }
+          }
+        }
+      }
       const listenerObject = createListenerObject(this.modelerStore.moddle, this.listenerForm, true, "flowable");
       if (this.editingListenerIndex === -1) {
         this.bpmnElementListeners.push(listenerObject);

--
Gitblit v1.8.0