From 80367ddf4383493729420bb62aa8c8ebb9616dd9 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期日, 04 一月 2026 16:54:04 +0800
Subject: [PATCH] 代码调整9

---
 src/views/contractor/assets/Modal.vue |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/src/views/contractor/assets/Modal.vue b/src/views/contractor/assets/Modal.vue
new file mode 100644
index 0000000..f907d4f
--- /dev/null
+++ b/src/views/contractor/assets/Modal.vue
@@ -0,0 +1,70 @@
+<template>
+  <el-dialog :title="modalOptions.title" v-model="visible" @close="close">
+    <Form ref="formRef"></Form>
+    <template #footer>
+      <el-button type="primary" @click="sendForm" :loading="loading">
+        {{ modalOptions.confirmText }}
+      </el-button>
+      <el-button @click="closeModal">{{ modalOptions.cancelText }}</el-button>
+    </template>
+  </el-dialog>
+</template>
+
+<script setup>
+import { useModal } from "@/hooks/useModal";
+import { addLedger, editLedger } from "@/api/equipmentManagement/ledger";
+import Form from "./Form.vue";
+import { ElMessage } from "element-plus";
+const { proxy } = getCurrentInstance()
+
+defineOptions({
+  name: "璁惧鍙拌处鏂板缂栬緫",
+});
+
+const emits = defineEmits(["success"]);
+
+const formRef = ref();
+const {
+  id,
+  visible,
+  loading,
+  openModal,
+  modalOptions,
+  customOptions,
+  handleConfirm,
+  closeModal,
+} = useModal({ title: "椤圭洰鍙拌处" });
+
+const sendForm = () => {
+  proxy.$refs.formRef.$refs.formRef.validate(async valid => {
+    if (valid) {
+      const {code} = id.value
+          ? await editLedger({id: id.value, ...formRef.value.form})
+          : await addLedger(formRef.value.form);
+      if (code == 200) {
+        emits("success");
+        ElMessage({message: "鎿嶄綔鎴愬姛", type: "success"});
+        close();
+      } else {
+        loading.value = false;
+      }
+    }
+  })
+};
+
+const close = () => {
+  formRef.value.resetFormAndValidate();
+  closeModal();
+};
+
+const loadForm = async (id) => {
+  openModal(id);
+  await nextTick();
+  formRef.value.loadForm(id);
+};
+
+defineExpose({
+  openModal,
+  loadForm,
+});
+</script>

--
Gitblit v1.9.3