From a686251b73f616532d6a9518faad49c7693a6e1c Mon Sep 17 00:00:00 2001 From: lishenao <3065849776@qq.com> Date: 星期二, 01 七月 2025 14:31:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- src/views/equipmentManagement/upkeep/Modal/PlanModal.vue | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) diff --git a/src/views/equipmentManagement/upkeep/Modal/PlanModal.vue b/src/views/equipmentManagement/upkeep/Modal/PlanModal.vue new file mode 100644 index 0000000..239025a --- /dev/null +++ b/src/views/equipmentManagement/upkeep/Modal/PlanModal.vue @@ -0,0 +1,76 @@ +<template> + <el-dialog + v-model="visible" + :title="modalOptions.title" + width="30%" + @close="close" + > + <PlanForm ref="planFormRef"></PlanForm> + <template #footer> + <el-button @click="closeModal">{{ modalOptions.cancelText }}</el-button> + <el-button type="primary" @click="sendForm" :loading="loading"> + {{ modalOptions.confirmText }} + </el-button> + </template> + </el-dialog> +</template> + +<script setup> +import { useModal } from "@/hooks/useModal"; +import PlanForm from "../Form/PlanForm"; +import { + addUpkeep, + editUpkeep, + getUpkeepById, +} from "@/api/equipmentManagement/upkeep"; +import { ElMessage } from "element-plus"; + +defineOptions({ + name: "璁惧淇濆吇鏂板璁″垝", +}); + +const emits = defineEmits(["ok"]); +const planFormRef = ref(); +const { + id, + visible, + loading, + openModal, + modalOptions, + handleConfirm, + closeModal, +} = useModal({ title: "璁惧淇濆吇璁″垝" }); + +const openEdit = async (id) => { + const { data } = await getUpkeepById(id); + openModal(id); + await nextTick(); + await planFormRef.value.setForm(data); +}; + +const sendForm = async () => { + loading.value = true; + const form = await planFormRef.value.getForm(); + const { code } = id.value + ? await editUpkeep({ id: unref(id), ...form }) + : await addUpkeep(form); + if (code == 200) { + ElMessage.success(`${id ? "缂栬緫" : "鏂板"}璁″垝鎴愬姛`); + closeModal(); + emits("ok"); + } + loading.value = false; +}; + +const close = () => { + planFormRef.value.resetForm(); + closeModal(); +}; + +defineExpose({ + openModal, + openEdit, +}); +</script> + +<style lang="scss" scoped></style> -- Gitblit v1.9.3