From 2a53d3e6774678eeebf2b0f028c6aec2c70a4774 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 10 十一月 2023 09:55:38 +0800 Subject: [PATCH] 2023.11.10 --- src/composables/formConfirm.js | 37 +++++++++++++++++++++++-------------- 1 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/composables/formConfirm.js b/src/composables/formConfirm.js index 786cc6a..306b125 100644 --- a/src/composables/formConfirm.js +++ b/src/composables/formConfirm.js @@ -4,10 +4,14 @@ import { useMessageBoxTip, useMessageBox } from './messageBox'; export function useFormConfirm({ + defaultForm = undefined, submit = { do: () => {}, }, cancel = { + do: () => {}, + }, + reset = { do: () => {}, }, }) { @@ -17,7 +21,7 @@ if (!cancel.msg) cancel.msg = '鏄惁鏀惧純宸茬紪杈戠殑鍐呭锛�'; //琛ㄥ崟鍐呭 - const formObj = ref({}); + const formObj = ref(defaultForm ? defaultForm : {}); let formObjClone = useCloned(formObj, { manual: true }); //琛ㄥ崟缁勪欢寮曠敤 const formRef = ref(null); @@ -48,7 +52,7 @@ formObj, (nv, ov) => { if (!isReset && nv != ov) { - formObjClone = useCloned(formObj, { manual: true }); + formObjClone = useCloned(nv, { manual: true }); } if (!isReset && nv === ov) { edit.value = true; @@ -59,7 +63,7 @@ ); // 閲嶇疆琛ㄥ崟 - const reset = function () { + const _reset = function () { edit.value = false; isReset = true; formObj.value = useCloned(formObjClone.cloned, { @@ -116,19 +120,24 @@ }; // 閲嶇疆琛ㄥ崟 - const onReset = function () { + const onReset = function (tips) { if (edit.value) { - // 寮瑰嚭纭妗� - useMessageBox({ - confirmMsg: '鏄惁閲嶇疆琛ㄥ崟鍐呭锛�', - confirmTitle: '閲嶇疆琛ㄥ崟', - onConfirm: () => { - reset(); - return cancel.do(); - }, - }); + if (tips) { + // 寮瑰嚭纭妗� + useMessageBox({ + confirmMsg: '鏄惁閲嶇疆琛ㄥ崟鍐呭锛�', + confirmTitle: '閲嶇疆琛ㄥ崟', + onConfirm: () => { + _reset(); + return reset.do(); + }, + }); + } else { + _reset(); + reset.do(); + } } else { - cancel.do(); + reset.do(); } }; -- Gitblit v1.9.3