src/views/equipmentManagement/repair/Modal/MaintainModal.vue
@@ -1,5 +1,5 @@
<template>
  <el-dialog v-model="visible" :title="modalOptions.title" direction="ltr">
  <el-dialog v-model="visible" :title="modalOptions.title" direction="ltr" @close="handleDialogClose">
    <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,8 +7,8 @@
      <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 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
@@ -26,7 +26,7 @@
         <el-button type="primary" @click="sendForm" :loading="loading">
            {{ modalOptions.confirmText }}
         </el-button>
      <el-button @click="closeModal">{{ modalOptions.cancelText }}</el-button>
      <el-button @click="handleDialogClose">{{ modalOptions.cancelText }}</el-button>
    </template>
  </el-dialog>
</template>
@@ -61,20 +61,20 @@
  maintenanceName: undefined, // 维修名称
  maintenanceResult: undefined, // 维修结果
  maintenanceTime: undefined, // 维修日期
  money: undefined, // 本次维修金额
  repairPrice: undefined, // 本次维修金额
});
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.repairPrice = data.repairPrice;
  form.maintenanceTime =
    dayjs(data.maintenanceTime).format("YYYY-MM-DD HH:mm:ss") ??
    dayjs().format("YYYY-MM-DD HH:mm:ss");
@@ -83,14 +83,12 @@
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;
  });
};
@@ -100,6 +98,14 @@
  setForm(row);
};
const handleDialogClose = () => {
  resetForm();
  nextTick(() => {
    formRef.value?.clearValidate?.();
  });
  closeModal();
};
defineExpose({
  open,
});