From b9a181c2b259589e90a443fe125ebef7eddb2202 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 10 七月 2025 11:13:37 +0800
Subject: [PATCH] 页面所有增删编辑操作,回车键会导致刷新,数据内容更改失败(取消回车键的触发)
---
src/views/basicData/product/index.vue | 63 +++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 13 deletions(-)
diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index d07f5a2..3aa263e 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -99,7 +99,7 @@
@pagination="pagination"
></PIMTable>
</div>
- <el-dialog v-model="productDia" title="浜у搧" width="400px">
+ <el-dialog v-model="productDia" title="浜у搧" width="400px" @keydown.enter.prevent>
<el-form
:model="form"
label-width="140px"
@@ -114,6 +114,7 @@
v-model="form.productName"
placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"
clearable
+ @keydown.enter.prevent
/>
</el-form-item>
</el-col>
@@ -131,6 +132,7 @@
title="瑙勬牸鍨嬪彿"
width="400px"
@close="closeModelDia"
+ @keydown.enter.prevent
>
<el-form
:model="modelForm"
@@ -146,6 +148,7 @@
v-model="modelForm.model"
placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
clearable
+ @keydown.enter.prevent
/>
</el-form-item>
</el-col>
@@ -157,6 +160,7 @@
v-model="modelForm.unit"
placeholder="璇疯緭鍏ュ崟浣�"
clearable
+ @keydown.enter.prevent
/>
</el-form-item>
</el-col>
@@ -315,16 +319,53 @@
proxy.$refs.formRef.resetFields();
productDia.value = false;
};
+// 灏佽涓�涓畨鍏ㄧ殑纭妗嗭紝褰诲簳闃绘Enter閿Е鍙�
+const safeConfirm = (message, title) => {
+ // 鏍囪鏄惁鏄紶鏍囩偣鍑伙紙鐐瑰嚮鎸夐挳浼氳Е鍙慺ocus浜嬩欢锛�
+ let isMouseClick = false;
+
+ return new Promise((resolve, reject) => {
+ const box = ElMessageBox.confirm(message, title, {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ beforeClose: (action, instance, done) => {
+ if (action === "confirm") {
+ // 鍙湁榧犳爣鐐瑰嚮鏃舵墠鍏佽纭
+ if (isMouseClick) {
+ done();
+ resolve();
+ } else {
+ // Enter閿Е鍙戞椂闃绘
+ done(false);
+ }
+ } else {
+ // 鍙栨秷鎿嶄綔鐩存帴鍏佽
+ done();
+ reject();
+ }
+ }
+ });
+
+ // 鐩戝惉纭鎸夐挳鐨刦ocus浜嬩欢锛堥紶鏍囩偣鍑讳細瑙﹀彂锛孍nter閿笉浼氾級
+ setTimeout(() => {
+ const confirmBtn = document.querySelector('.el-message-box__btns .el-button--primary');
+ if (confirmBtn) {
+ confirmBtn.addEventListener('focus', () => {
+ isMouseClick = true;
+ });
+ }
+ }, 0); // 寤惰繜鑾峰彇锛岀‘淇滵OM宸叉覆鏌�
+ });
+};
+// 鍒犻櫎浜у搧
// 鍒犻櫎浜у搧
const remove = (node, data) => {
- let ids = [];
- ids.push(data.id);
- ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "鍒犻櫎鎻愮ず", {
- confirmButtonText: "纭",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
+ let ids = [data.id];
+ // 浣跨敤灏佽鐨剆afeConfirm
+ safeConfirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "鍒犻櫎鎻愮ず")
.then(() => {
+ // 纭鍒犻櫎閫昏緫
tableLoading.value = true;
delProduct(ids)
.then((res) => {
@@ -400,11 +441,7 @@
proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
return;
}
- ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "鍒犻櫎鎻愮ず", {
- confirmButtonText: "纭",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
+ safeConfirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "鍒犻櫎鎻愮ず")
.then(() => {
tableLoading.value = true;
delProductModel(ids)
--
Gitblit v1.9.3