| | |
| | | <FormDialog |
| | | v-model="visible" |
| | | :title="'设备保养'" |
| | | width="500px" |
| | | width="640px" |
| | | @confirm="sendForm" |
| | | @cancel="handleCancel" |
| | | @close="handleClose" |
| | |
| | | <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="实际保养日期"> |
| | |
| | | <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"; |
| | |
| | | const loading = ref(false); |
| | | const userStore = useUserStore(); |
| | | |
| | | const currentUserName = computed(() => userStore.nickName || userStore.name || ""); |
| | | |
| | | const { form, resetForm } = useFormData({ |
| | | maintenanceActuallyName: undefined, // 实际保养人 |
| | | maintenanceActuallyTime: undefined, // 实际保养日期 |
| | |
| | | }); |
| | | |
| | | 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; |
| | |
| | | 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"); |