refactor: useBeforeCloseDiff逻辑更新

This commit is contained in:
dap 2025-04-07 18:48:46 +08:00
parent 53e02d46c2
commit 88316d7498
2 changed files with 21 additions and 17 deletions

View File

@ -47,6 +47,11 @@ export function useBeforeCloseDiff(props: BeforeCloseDiffProps) {
isInitialized.value = true; isInitialized.value = true;
} }
function resetInitialized() {
initialized.value = '';
isInitialized.value = false;
}
function setSubmitted() { function setSubmitted() {
isSubmitted.value = true; isSubmitted.value = true;
} }
@ -101,6 +106,7 @@ export function useBeforeCloseDiff(props: BeforeCloseDiffProps) {
onBeforeClose, onBeforeClose,
updateInitialized, updateInitialized,
setSubmitted, setSubmitted,
resetInitialized,
}; };
} }

View File

@ -26,7 +26,8 @@ const [BasicForm, formApi] = useVbenForm({
showDefaultActions: false, showDefaultActions: false,
}); });
const { onBeforeClose, updateInitialized, setSubmitted } = useBeforeCloseDiff({ const { onBeforeClose, updateInitialized, setSubmitted, resetInitialized } =
useBeforeCloseDiff({
initializedGetter: defaultFormValueGetter(formApi), initializedGetter: defaultFormValueGetter(formApi),
currentGetter: defaultFormValueGetter(formApi), currentGetter: defaultFormValueGetter(formApi),
}); });
@ -40,8 +41,7 @@ const [BasicModal, modalApi] = useVbenModal({
if (!isOpen) { if (!isOpen) {
return null; return null;
} }
try { modalApi.modalLoading(true);
modalApi.lock(true);
const { id } = modalApi.getData() as { id?: number | string }; const { id } = modalApi.getData() as { id?: number | string };
isUpdate.value = !!id; isUpdate.value = !!id;
@ -51,11 +51,8 @@ const [BasicModal, modalApi] = useVbenModal({
await formApi.setValues(record); await formApi.setValues(record);
} }
await updateInitialized(); await updateInitialized();
} catch (error) {
console.error(error); modalApi.modalLoading(false);
} finally {
modalApi.lock(false);
}
}, },
}); });
@ -80,6 +77,7 @@ async function handleConfirm() {
async function handleClosed() { async function handleClosed() {
await formApi.resetForm(); await formApi.resetForm();
resetInitialized();
} }
</script> </script>