From 1f17fe5e687b4dadef305d25b1e97ce8cd1afc8a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 20 三月 2026 09:46:10 +0800
Subject: [PATCH] 金鹰黄金 1.新增劳保台账选择岗位刷新人员列表接口修改

---
 src/views/equipmentManagement/repair/Modal/MaintainModal.vue |   95 +++++++++++++++++++++++++++--------------------
 1 files changed, 54 insertions(+), 41 deletions(-)

diff --git a/src/views/equipmentManagement/repair/Modal/MaintainModal.vue b/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
index 06f7cc9..7058a5a 100644
--- a/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
+++ b/src/views/equipmentManagement/repair/Modal/MaintainModal.vue
@@ -1,5 +1,12 @@
 <template>
-  <el-dialog v-model="visible" :title="modalOptions.title" direction="ltr">
+  <FormDialog
+    v-model="visible"
+    :title="'璁惧缁翠慨'"
+    width="500px"
+    @confirm="sendForm"
+    @cancel="handleCancel"
+    @close="handleClose"
+  >
     <el-form :model="form" :rules="rules" label-width="110px" ref="formRef">
       <el-form-item label="缁翠慨浜�" prop="maintenanceName">
         <el-input v-model="form.maintenanceName" placeholder="璇疯緭鍏ョ淮淇汉" />
@@ -7,9 +14,9 @@
       <el-form-item label="缁翠慨缁撴灉" prop="maintenanceResult">
         <el-input v-model="form.maintenanceResult" placeholder="璇疯緭鍏ョ淮淇粨鏋�" />
       </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-item label="鏈缁翠慨閲戦" prop="repairPrice">
+				<el-input-number v-model="form.repairPrice" :min="0" :precision="2" style="width: 100%" />
+			</el-form-item>
       <el-form-item label="缁翠慨鏃ユ湡" prop="maintenanceTime">
         <el-date-picker
           v-model="form.maintenanceTime"
@@ -22,22 +29,16 @@
         />
       </el-form-item>
     </el-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>
+  </FormDialog>
 </template>
 
 <script setup>
-import { ref, nextTick } from "vue";
-import { useModal } from "@/hooks/useModal";
+import FormDialog from "@/components/Dialog/FormDialog.vue";
+import { addMaintain } from "@/api/equipmentManagement/repair";
 import useFormData from "@/hooks/useFormData";
 import useUserStore from "@/store/modules/user";
 import dayjs from "dayjs";
-import { addMaintain } from "@/api/equipmentManagement/repair";
+import { ElMessage } from "element-plus";
 
 defineOptions({
   name: "缁翠慨妯℃�佹",
@@ -45,57 +46,69 @@
 
 const emits = defineEmits(["ok"]);
 
-const {
-  id,
-  visible,
-  loading,
-  openModal,
-  modalOptions,
-  handleConfirm,
-  closeModal,
-} = useModal({ title: "璁惧缁翠慨" });
+// 淇濆瓨鎶ヤ慨璁板綍鐨刬d
+const repairId = ref();
+const visible = ref(false);
+const loading = ref(false);
+const formRef = ref();
 
 const userStore = useUserStore();
-const formRef = ref();
 const { form, resetForm } = useFormData({
   maintenanceName: undefined, // 缁翠慨鍚嶇О
   maintenanceResult: undefined, // 缁翠慨缁撴灉
   maintenanceTime: undefined, // 缁翠慨鏃ユ湡
-  money: undefined, // 鏈缁翠慨閲戦
+	repairPrice: undefined, // 缁翠慨閲戦
+  status: 0,
 });
 
 const rules = {
   maintenanceName: [{ required: true, message: "璇疯緭鍏ョ淮淇汉", trigger: "blur" }],
   maintenanceResult: [{ required: true, message: "璇疯緭鍏ョ淮淇粨鏋�", trigger: "blur" }],
-  money: [{ required: true, message: "璇疯緭鍏ユ湰娆$淮淇噾棰�", trigger: "change" }],
+  repairPrice: [{ required: true, message: "璇疯緭鍏ユ湰娆$淮淇噾棰�", trigger: "change" }],
   maintenanceTime: [{ required: true, message: "璇烽�夋嫨缁翠慨鏃ユ湡", trigger: "change" }],
 };
 
 const setForm = (data) => {
   form.maintenanceName = data.maintenanceName ?? userStore.nickName;
   form.maintenanceResult = data.maintenanceResult;
-  form.money = data.money;
   form.maintenanceTime =
-    dayjs(data.maintenanceTime).format("YYYY-MM-DD HH:mm:ss") ??
-    dayjs().format("YYYY-MM-DD HH:mm:ss");
+    data.maintenanceTime 
+      ? dayjs(data.maintenanceTime).format("YYYY-MM-DD HH:mm:ss")
+      : dayjs().format("YYYY-MM-DD HH:mm:ss");
+  form.status = 2; // 缁翠慨鍚庡浐瀹氳繘鍏ュ緟瀹℃牳锛堜笉鍦ㄧ晫闈㈠睍绀猴級
 };
 
 const sendForm = async () => {
-  await formRef.value.validate(async (valid) => {
-    if (!valid) return;
-    loading.value = true;
-    const { code } = await addMaintain({ id: id.value, ...form });
-    if (code == 200) {
-      emits("ok");
-      resetForm();
-      closeModal();
-    }
-    loading.value = false;
-  });
+	await formRef.value.validate(async (valid) => {
+		if (!valid) return;
+		loading.value = true;
+		try {
+			const { code } = await addMaintain({ id: repairId.value, ...form });
+			if (code == 200) {
+				ElMessage.success("缁翠慨鎴愬姛");
+				emits("ok");
+				resetForm();
+				visible.value = false;
+			}
+		} finally {
+			loading.value = false;
+		}
+	})
+};
+
+const handleCancel = () => {
+  resetForm();
+  visible.value = false;
+};
+
+const handleClose = () => {
+  resetForm();
+  visible.value = false;
 };
 
 const open = async (id, row) => {
-  openModal(id);
+  repairId.value = id; // 淇濆瓨鎶ヤ慨璁板綍鐨刬d
+  visible.value = true;
   await nextTick();
   setForm(row);
 };

--
Gitblit v1.9.3