From e3179b9da9ed718bb8240ee8a45b3f8c2ad479cb Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 18 十一月 2025 14:48:29 +0800
Subject: [PATCH] 1.设备台帐二维码上加上设备名称 2.设备保养和保修加上每次的保养保修金额 3.加一个汇总页面,可以看到每个设备的每个月的金额,也可以选择看每年的金额

---
 src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue |   91 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 78 insertions(+), 13 deletions(-)

diff --git a/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue b/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue
index 0afd512..727f797 100644
--- a/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue
+++ b/src/views/equipmentManagement/upkeep/Modal/MaintenanceModal.vue
@@ -1,6 +1,33 @@
 <template>
   <el-dialog v-model="visible" :title="modalOptions.title" direction="ltr">
-    <MaintenanceForm ref="maintenanceFormRef" />
+    <el-form :model="form" :rules="rules" label-width="110px" ref="formRef">
+      <el-form-item label="瀹為檯淇濆吇浜�" prop="maintenanceActuallyName">
+        <el-input
+          v-model="form.maintenanceActuallyName"
+          placeholder="璇疯緭鍏ュ疄闄呬繚鍏讳汉"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="瀹為檯淇濆吇鏃ユ湡" prop="maintenanceActuallyTime">
+        <el-date-picker
+          v-model="form.maintenanceActuallyTime"
+          placeholder="璇烽�夋嫨瀹為檯淇濆吇鏃ユ湡"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
+          type="datetime"
+          clearable
+          style="width: 100%"
+        />
+      </el-form-item>
+      <el-form-item label="淇濆吇缁撴灉" prop="maintenanceResult">
+        <el-select v-model="form.maintenanceResult" placeholder="璇烽�夋嫨淇濆吇缁撴灉">
+          <el-option label="瀹屽ソ" :value="1"></el-option>
+          <el-option label="缁翠慨" :value="0"></el-option>
+        </el-select>
+      </el-form-item>
+			<el-form-item label="鏈缁翠慨閲戦" prop="money">
+				<el-input-number v-model="form.money" :min="0" :precision="2" style="width: 100%" />
+			</el-form-item>
+    </el-form>
     <template #footer>
 			<el-button type="primary" @click="sendForm" :loading="loading">
 				{{ modalOptions.confirmText }}
@@ -11,15 +38,17 @@
 </template>
 
 <script setup>
-import MaintenanceForm from "../Form/MaintenanceForm.vue";
+import { ref, nextTick } from "vue";
 import { useModal } from "@/hooks/useModal";
+import useFormData from "@/hooks/useFormData";
+import useUserStore from "@/store/modules/user";
+import dayjs from "dayjs";
 import { addMaintenance } from "@/api/equipmentManagement/upkeep";
 
 defineOptions({
   name: "淇濆吇妯℃�佹",
 });
 
-const maintenanceFormRef = ref();
 const emits = defineEmits(["ok"]);
 
 const {
@@ -35,22 +64,58 @@
 /**
  * @desc 淇濆瓨淇濆吇
  */
+const userStore = useUserStore();
+const formRef = ref();
+const { form, resetForm } = useFormData({
+  maintenanceActuallyName: undefined, // 瀹為檯淇濆吇浜�
+  maintenanceActuallyTime: undefined, // 瀹為檯淇濆吇鏃ユ湡
+  maintenanceResult: undefined, // 淇濆吇缁撴灉
+	money: undefined, // 淇濆吇閲戦
+});
+
+const rules = {
+  maintenanceActuallyName: [
+    { required: true, message: "璇疯緭鍏ュ疄闄呬繚鍏讳汉", trigger: "blur" },
+  ],
+  maintenanceActuallyTime: [
+    { required: true, message: "璇烽�夋嫨瀹為檯淇濆吇鏃ユ湡", trigger: "change" },
+  ],
+  maintenanceResult: [
+    { required: true, message: "璇烽�夋嫨淇濆吇缁撴灉", trigger: "change" },
+  ],
+	money: [
+    { required: true, message: "璇疯緭鍏ユ湰娆′繚鍏婚噾棰�", trigger: "change" },
+  ],
+};
+
 const sendForm = async () => {
-  loading.value = true;
-  const form = await maintenanceFormRef.value.getForm();
-  const { code } = await addMaintenance({ id: id.value, ...form });
-  if (code == 200) {
-    emits("ok");
-    maintenanceFormRef.value.resetForm();
-    closeModal();
-  }
-  loading.value = false;
+  await formRef.value.validate(async (valid) => {
+    if (!valid) return;
+    loading.value = true;
+    const { code } = await addMaintenance({ id: id.value, ...form });
+    if (code == 200) {
+      emits("ok");
+      resetForm();
+      closeModal();
+    }
+    loading.value = false;
+  });
 };
 
 const open = async (id, row) => {
   openModal(id);
   await nextTick();
-  maintenanceFormRef.value.setForm(row);
+  if (!row) {
+    resetForm();
+    form.maintenanceActuallyName = userStore.nickName;
+    return;
+  }
+  form.maintenanceActuallyName = row.maintenanceActuallyName ?? userStore.nickName;
+  form.maintenanceActuallyTime = row.maintenanceActuallyTime
+    ? dayjs(row.maintenanceActuallyTime).format("YYYY-MM-DD HH:mm:ss")
+    : undefined;
+  form.maintenanceResult = row.maintenanceResult;
+  form.money = row.money;
 };
 defineExpose({
   open,

--
Gitblit v1.9.3