From 2362a3399f333aec47afc83caf0bfb1887af24a5 Mon Sep 17 00:00:00 2001 From: 曹睿 <360930172@qq.com> Date: 星期四, 10 七月 2025 14:16:15 +0800 Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/product-inventory-management into dev --- src/views/basicData/product/index.vue | 65 +++++++++++++++++++++++++------- 1 files changed, 51 insertions(+), 14 deletions(-) diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue index b17be1f..3aa263e 100644 --- a/src/views/basicData/product/index.vue +++ b/src/views/basicData/product/index.vue @@ -55,7 +55,7 @@ > 缂栬緫 </el-button> - <el-button type="primary" link @click="openProDia('add', data)"> + <el-button type="primary" link @click="openProDia('add', data)" :disabled="node.level >= 3"> 娣诲姞浜у搧 </el-button> <el-button @@ -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