From d9aab92fa25860c6682debe50e10770dc7db42a0 Mon Sep 17 00:00:00 2001
From: cuikaidong <ckd2942379034@163.com>
Date: 星期四, 14 八月 2025 12:44:33 +0800
Subject: [PATCH] 组合刀模块增加
---
src/views/flowable/workflow/lossBound/lossBoundHandle.vue | 93 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 85 insertions(+), 8 deletions(-)
diff --git a/src/views/flowable/workflow/lossBound/lossBoundHandle.vue b/src/views/flowable/workflow/lossBound/lossBoundHandle.vue
index df462bd..5d932c7 100644
--- a/src/views/flowable/workflow/lossBound/lossBoundHandle.vue
+++ b/src/views/flowable/workflow/lossBound/lossBoundHandle.vue
@@ -143,8 +143,20 @@
</a-col>
</a-row>
<div class="table-operator" style="text-align: right;">
- <a-button @click="handleQueXiaoTask" type="primary" icon="close">鍙栨秷</a-button>
- <a-button :disabled="disableSubmit" @click="submitForm">鎻愪氦</a-button>
+ <a-button
+ @click="handleQueXiaoTask"
+ icon="close"
+ :disabled="isSubmitting"
+ :class="{'disabled-btn': isSubmitting}"
+ >鍙栨秷</a-button>
+ <a-button
+ @click="submitForm"
+ type="primary"
+ :disabled="isSubmitting"
+ :loading="isSubmitting"
+ >
+ 鎻� 浜�
+ </a-button>
</div>
</a-form-model>
</div>
@@ -304,7 +316,8 @@
},
dictOptions: {},
superFieldList: [],
- workflowSource: []
+ workflowSource: [],
+ isSubmitting: false,
}
},
created() {
@@ -339,11 +352,27 @@
}
},
handleQueXiaoTask() {
- this.visible = false
- this.routeReload()
+ // 濡傛灉姝e湪鎻愪氦锛岄樆姝㈠彇娑堟搷浣�
+ if (this.isSubmitting) return;
+ this.visible = false;
+ this.routeReload();
},
submitForm() {
- const that = this
+ // 濡傛灉姝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');
+ };
+
if (!that.assignFileStream.status == null || that.assignFileStream.status === undefined) {
this.$message.warning('璇烽�夋嫨瀹℃壒鐘舵�侊紒')
return false
@@ -354,6 +383,10 @@
}
// 瑙﹀彂琛ㄥ崟楠岃瘉
this.form.validateFields((err, values) => {
+ if (err) {
+ resetState(); // 楠岃瘉澶辫触锛屾仮澶嶇姸鎬�
+ return;
+ }
if (!err) {
that.confirmLoading = true
let url = this.url.approve
@@ -379,9 +412,15 @@
} else {
that.$message.warning(res.message)
}
- }).finally(() => {
- that.confirmLoading = false
})
+ .catch((error) => {
+ console.error(error);
+ that.$message.error('鎻愪氦澶辫触');
+ })
+ .finally(() => {
+ that.confirmLoading = false;
+ resetState(); // 璇锋眰缁撴潫锛屾仮澶嶇姸鎬�
+ });
}
})
@@ -424,6 +463,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