From 82b238214db913000a12fc037c5e0f101a7b9d73 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 27 六月 2025 10:47:30 +0800 Subject: [PATCH] 修改工作流 --- src/views/flowable/workflow/sparePartApply/SparePartApplyHandle.vue | 80 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 73 insertions(+), 7 deletions(-) diff --git a/src/views/flowable/workflow/sparePartApply/SparePartApplyHandle.vue b/src/views/flowable/workflow/sparePartApply/SparePartApplyHandle.vue index 72dde2c..623b81f 100644 --- a/src/views/flowable/workflow/sparePartApply/SparePartApplyHandle.vue +++ b/src/views/flowable/workflow/sparePartApply/SparePartApplyHandle.vue @@ -180,13 +180,18 @@ > <a-button @click="handleQueXiaoTask" - type="primary" icon="close" + :disabled="isSubmitting" + :class="{'disabled-btn': isSubmitting}" >鍙栨秷</a-button> <a-button - :loading="spinning" @click="submitForm" - >鎻愪氦</a-button> + type="primary" + :disabled="isSubmitting" + :loading="isSubmitting" + > + 鎻� 浜� + </a-button> </div> </a-form-model> </div> @@ -312,7 +317,8 @@ }, dictOptions: {}, superFieldList: [], - workflowSource: [] + workflowSource: [], + isSubmitting: false, } }, created() { @@ -352,7 +358,20 @@ this.routeReload() }, submitForm() { + // 濡傛灉姝e湪鎻愪氦锛岄樆姝㈤噸澶嶇偣鍑� + if (this.isSubmitting) return; + + // 寮�鍚叏灞�绂侀�� + this.isSubmitting = true; + document.body.classList.add('submitting'); + const that = this; + + // 瀹氫箟涓�涓仮澶嶇姸鎬佺殑鍑芥暟 + const resetState = () => { + that.isSubmitting = false; + document.body.classList.remove('submitting'); + }; that.spinning = true if (!that.assignFileStream.status == null || that.assignFileStream.status === undefined) { this.$message.warning('璇烽�夋嫨瀹℃壒鐘舵�侊紒') @@ -364,6 +383,10 @@ } // 瑙﹀彂琛ㄥ崟楠岃瘉 this.form.validateFields((err, values) => { + if (err) { + resetState(); // 楠岃瘉澶辫触锛屾仮澶嶇姸鎬� + return; + } if (!err) { that.confirmLoading = true; let url = this.url.approve @@ -389,10 +412,15 @@ } else { that.$message.warning(res.message); } - }).finally(() => { - that.confirmLoading = false; - that.spinning = false }) + .catch((error) => { + console.error(error); + that.$message.error('鎻愪氦澶辫触'); + }) + .finally(() => { + that.confirmLoading = false; + resetState(); // 璇锋眰缁撴潫锛屾仮澶嶇姸鎬� + }); } }) @@ -433,6 +461,44 @@ } </script> <style scoped> +/* 鍏ㄥ眬绂侀�夋牱寮� - 浣滅敤浜庢暣涓〉闈� */ +html.submitting, +html.submitting body { + pointer-events: none !important; + cursor: wait !important; +} + +/* 钂欏眰鏁堟灉澧炲己 */ +html.submitting::before { + content: ''; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.5); + z-index: 9998; +} + +/* 鍔犺浇鎸囩ず鍣� - 鏇存槑鏄剧殑瑙嗚鍙嶉 */ +html.submitting::after { + content: '鎻愪氦涓�...'; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: #1890ff; + color: white; + padding: 10px 20px; + border-radius: 4px; + z-index: 9999; +} + +/* 绂佺敤鐘舵�佹寜閽牱寮� */ +.disabled-btn { + opacity: 0.6; + cursor: not-allowed !important; +} .shallow-hr { border: 0; height: 1px; /* 鍒嗙晫绾跨殑楂樺害 */ -- Gitblit v1.9.3