From f36f2f20bfb06dc3ca1b69c8a6d260d09d7d70ba Mon Sep 17 00:00:00 2001 From: 曹睿 <360930172@qq.com> Date: 星期五, 27 六月 2025 17:29:13 +0800 Subject: [PATCH] feat: 新增设备报修模块。 --- src/views/equipmentManagement/repair/Modal/RepairModal.vue | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/src/views/equipmentManagement/repair/Modal/RepairModal.vue b/src/views/equipmentManagement/repair/Modal/RepairModal.vue new file mode 100644 index 0000000..586960d --- /dev/null +++ b/src/views/equipmentManagement/repair/Modal/RepairModal.vue @@ -0,0 +1,70 @@ +<template> + <el-dialog v-model="visible" :title="modalOptions.title" @close="close"> + <RepairForm ref="repairFormRef" /> + <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 RepairForm from "../Form/RepairForm.vue"; +import { + addRepair, + editRepair, + getRepairById, +} from "@/api/equipmentManagement/repair"; +import { ElMessage } from "element-plus"; + +defineOptions({ + name: "璁惧鎶ヤ慨寮圭獥", +}); + +const emits = defineEmits(["ok"]); + +const repairFormRef = ref(); +const { + id, + visible, + loading, + openModal, + modalOptions, + handleConfirm, + closeModal, +} = useModal({ title: "璁惧鎶ヤ慨" }); + +const sendForm = async () => { + loading.value = true; + const form = await repairFormRef.value.getForm(); + const { code } = id.value + ? await editRepair({ id: unref(id), ...form }) + : await addRepair(form); + if (code == 200) { + ElMessage.success(`${id ? "缂栬緫" : "鏂板"}鎶ヤ慨鎴愬姛`); + closeModal(); + emits("ok"); + } + loading.value = false; +}; + +const openEdit = async (id) => { + const { data } = await getRepairById(id); + openModal(id); + await nextTick(); + await repairFormRef.value.setForm(data); +}; + +const close = () => { + repairFormRef.value.resetForm(); + closeModal(); +}; + +defineExpose({ + openModal, + openEdit, +}); +</script> -- Gitblit v1.9.3