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 | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/components/Process/panel/taskListener.vue b/src/components/Process/panel/taskListener.vue index bdc3aa0..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'" @@ -341,6 +346,7 @@ // 鎵撳紑 鐩戝惉鍣ㄨ鎯� 渚ц竟鏍� openListenerForm(listener, index) { + this.resetListenersList(); if (listener) { this.listenerForm = this.initListenerForm(listener); this.editingListenerIndex = index; @@ -417,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); @@ -435,11 +464,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 +505,6 @@ self.eventDefinitionType = key.replace("time", "").toLowerCase(); } } - console.log(k); self.eventTimeDefinitions = listener.eventDefinitions[0][k].body; } } @@ -499,7 +534,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 +552,8 @@ this.listenerSystemChecked = true; // 闅愯棌渚ц竟鏍� this.listenerSystemVisible = false; + //瑙f瀽娉ㄥ叆瀛楁娣诲姞鍒板綋鍓嶈〃鍗� + this.resetListenersList(); } } } -- Gitblit v1.8.0