gongchunyi
8 天以前 b95a00bf7ec7c667e16032bcabc4d97ef42909fc
src/views/equipmentManagement/upkeep/Form/MaintenanceModal.vue
@@ -2,7 +2,7 @@
  <FormDialog
    v-model="visible"
    :title="'设备保养'"
    width="500px"
    width="640px"
    @confirm="sendForm"
    @cancel="handleCancel"
    @close="handleClose"
@@ -10,8 +10,9 @@
    <el-form :model="form" label-width="100px">
      <el-form-item label="实际保养人">
        <el-input
          v-model="form.maintenanceActuallyName"
          placeholder="请输入实际保养人"
          :model-value="currentUserName"
          disabled
          placeholder="当前登录用户"
        ></el-input>
      </el-form-item>
      <el-form-item label="实际保养日期">
@@ -35,14 +36,20 @@
      <el-form-item label="保养结果">
        <el-input
          v-model="form.maintenanceResult"
          type="textarea"
          :rows="6"
          placeholder="请输入保养结果"
          type="text" />
          maxlength="2000"
          show-word-limit
          resize="vertical"
        />
      </el-form-item>
    </el-form>
  </FormDialog>
</template>
<script setup>
import { computed } from "vue";
import FormDialog from "@/components/Dialog/FormDialog.vue";
import { addMaintenance } from "@/api/equipmentManagement/upkeep";
import useFormData from "@/hooks/useFormData";
@@ -62,6 +69,8 @@
const loading = ref(false);
const userStore = useUserStore();
const currentUserName = computed(() => userStore.nickName || userStore.name || "");
const { form, resetForm } = useFormData({
  maintenanceActuallyName: undefined, // 实际保养人
  maintenanceActuallyTime: undefined, // 实际保养日期
@@ -70,10 +79,10 @@
});
const setForm = (data) => {
  form.maintenanceActuallyName =
    data.maintenanceActuallyName ?? userStore.nickName;
  // 实际保养人自动填充当前登录人,不可编辑
  form.maintenanceActuallyName = userStore.nickName || userStore.name || "";
  form.maintenanceActuallyTime =
    data.maintenanceActuallyTime
    data.maintenanceActuallyTime
      ? dayjs(data.maintenanceActuallyTime).format("YYYY-MM-DD HH:mm:ss")
      : dayjs().format("YYYY-MM-DD HH:mm:ss");
  form.maintenanceResult = data.maintenanceResult;
@@ -86,7 +95,12 @@
const sendForm = async () => {
  loading.value = true;
  try {
    const { code } = await addMaintenance({ id: planId.value, ...form });
    // 确保实际保养人是当前登录人
    const payload = {
      ...form,
      maintenanceActuallyName: userStore.nickName || userStore.name || "",
    };
    const { code } = await addMaintenance({ id: planId.value, ...payload });
    if (code == 200) {
      ElMessage.success("保养成功");
      emits("ok");