From 635e1b3c0d48c2db884794cb8bc26d6ff1591ffa Mon Sep 17 00:00:00 2001 From: zmc <zmc_li@foxmail.com> Date: 星期四, 21 十二月 2023 16:24:46 +0800 Subject: [PATCH] 1.增加行政处罚的数据展示 2.增加信访的数据展示 --- src/composables/formConfirm.js | 69 +++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 27 deletions(-) diff --git a/src/composables/formConfirm.js b/src/composables/formConfirm.js index 786cc6a..d568fe0 100644 --- a/src/composables/formConfirm.js +++ b/src/composables/formConfirm.js @@ -1,23 +1,32 @@ -// 琛ㄥ崟鐨勭‘璁ゅ拰鍙栨秷 -import { onActivated, onDeactivated, ref, watch } from 'vue'; +import { defineProps, onActivated, onDeactivated, ref, watch } from 'vue'; import { useCloned } from '@vueuse/core'; import { useMessageBoxTip, useMessageBox } from './messageBox'; +// 琛ㄥ崟鐨勭‘璁ゅ拰鍙栨秷 export function useFormConfirm({ + defaultForm = undefined, submit = { - do: () => {}, + do: () => {} }, cancel = { - do: () => {}, + do: () => {} }, + reset = { + do: () => {} + } }) { if (!submit.title) submit.title = '鎻愪氦'; if (!submit.msg) submit.msg = '纭鏄惁鎻愪氦锛�'; if (!cancel.title) cancel.title = '鍙栨秷'; if (!cancel.msg) cancel.msg = '鏄惁鏀惧純宸茬紪杈戠殑鍐呭锛�'; + const formProps = defineProps({ + // 鏄惁鍦ㄦ彁浜ゆ垚鍔熷悗娓呯┖琛ㄥ崟 + clearAftSubmit: Boolean + }); + //琛ㄥ崟鍐呭 - const formObj = ref({}); + const formObj = ref(defaultForm ? defaultForm : {}); let formObjClone = useCloned(formObj, { manual: true }); //琛ㄥ崟缁勪欢寮曠敤 const formRef = ref(null); @@ -48,7 +57,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,24 +68,25 @@ ); // 閲嶇疆琛ㄥ崟 - const reset = function () { + const _reset = function () { edit.value = false; isReset = true; formObj.value = useCloned(formObjClone.cloned, { - manual: true, + manual: true }).cloned.value; formRef.value.clearValidate(); }; // 娓呯┖琛ㄥ崟 const clear = function () { - edit.value = false; isReset = true; - formRef.value.resetFields(); + // formRef.value.resetFields(); + edit.value = false; }; // 鎻愪氦鎴愬姛鍚� const submited = function () { + if (formProps.clearAftSubmit) clear(); edit.value = false; formObjClone = useCloned(formObj, { manual: true }); }; @@ -89,10 +99,10 @@ confirmMsg: submit.msg, confirmTitle: submit.title, onConfirm: async () => { - await submit.do(); + const res = await submit.do(); submited(); - return; - }, + return res; + } }); } }); @@ -106,9 +116,9 @@ confirmMsg: cancel.msg, confirmTitle: cancel.title, onConfirm: () => { - clear(); + // clear(); return cancel.do(); - }, + } }); } else { cancel.do(); @@ -116,21 +126,26 @@ }; // 閲嶇疆琛ㄥ崟 - 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(); } }; - return { formObj, formRef, edit, onSubmit, onCancel, onReset }; + return { formProps, formObj, formRef, edit, onSubmit, onCancel, onReset }; } -- Gitblit v1.9.3