| | |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="录入人"> |
| | | <el-input |
| | | :model-value="registrantDisplayName" |
| | | disabled |
| | | placeholder="当前登录用户" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="保养人"> |
| | | <el-select |
| | | v-model="form.maintenancePerson" |
| | | filterable |
| | | default-first-option |
| | | :reserve-keyword="false" |
| | | placeholder="请选择保养人" |
| | | clearable |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in userList" |
| | | :key="'mp-' + item.userId" |
| | | :label="item.nickName" |
| | | :value="item.userId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="保养项目"> |
| | | <el-input |
| | | v-model="form.maintenanceLocation" |
| | | type="textarea" |
| | | :rows="3" |
| | | placeholder="请输入保养项目" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="录入人"> |
| | | <el-input |
| | | :model-value="registrantDisplayName" |
| | | disabled |
| | | placeholder="当前登录用户" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item v-if="id" label="保修状态"> |
| | |
| | | import { Plus } from "@element-plus/icons-vue"; |
| | | import useFormData from "@/hooks/useFormData"; |
| | | import { getDeviceLedger } from "@/api/equipmentManagement/ledger"; |
| | | import { computed, onMounted, ref } from "vue"; |
| | | import { userListNoPageByTenantId } from "@/api/system/user.js"; |
| | | import { computed, nextTick, onMounted, ref, unref } from "vue"; |
| | | import dayjs from "dayjs"; |
| | | import useUserStore from "@/store/modules/user.js"; |
| | | import request from "@/utils/request"; |
| | |
| | | const loading = ref(false); |
| | | |
| | | const deviceOptions = ref([]); |
| | | const userList = ref([]); |
| | | |
| | | const loadDeviceName = async () => { |
| | | const { data } = await getDeviceLedger(); |
| | | deviceOptions.value = data; |
| | | }; |
| | | |
| | | const loadUserList = async () => { |
| | | const res = await userListNoPageByTenantId(); |
| | | userList.value = res.data || []; |
| | | }; |
| | | |
| | | const { form, resetForm } = useFormData({ |
| | |
| | | deviceModel: undefined, |
| | | maintenanceLocation: undefined, |
| | | maintenancePlanTime: undefined, |
| | | maintenancePerson: undefined, |
| | | createUser: undefined, |
| | | status: 0, |
| | | }); |
| | |
| | | form.maintenanceLocation = data.maintenanceLocation; |
| | | form.status = data.status; |
| | | syncCreateUserFromLogin(); |
| | | if (data.maintenancePersonId) { |
| | | form.maintenancePerson = data.maintenancePersonId; |
| | | } else if (data.maintenancePerson) { |
| | | const matched = userList.value.find( |
| | | (u) => u.nickName === data.maintenancePerson |
| | | ); |
| | | if (matched) { |
| | | form.maintenancePerson = matched.userId; |
| | | } |
| | | } |
| | | form.maintenancePlanTime = dayjs(data.maintenancePlanTime).format( |
| | | "YYYY-MM-DD HH:mm:ss" |
| | | ); |
| | | }; |
| | | |
| | | const buildSubmitPayload = () => { |
| | | const payload = { ...form }; |
| | | const maintenancePersonUserId = form.maintenancePerson; |
| | | if (maintenancePersonUserId) { |
| | | const maintainer = userList.value.find( |
| | | (u) => String(u.userId) === String(maintenancePersonUserId) |
| | | ); |
| | | if (maintainer) { |
| | | payload.maintenancePersonId = maintainer.userId; |
| | | payload.maintenancePerson = maintainer.nickName; |
| | | } |
| | | } |
| | | return payload; |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | loadDeviceName(); |
| | | loadUserList(); |
| | | }); |
| | | |
| | | const openEdit = async (editId) => { |
| | | resetAttachmentState(); |
| | | if (!userList.value.length) { |
| | | await loadUserList(); |
| | | } |
| | | const { data } = await getUpkeepById(editId); |
| | | id.value = editId; |
| | | visible.value = true; |
| | |
| | | syncCreateUserFromLogin(); |
| | | loading.value = true; |
| | | try { |
| | | const payload = buildSubmitPayload(); |
| | | if (id.value) { |
| | | const { code } = await editUpkeep({ id: unref(id), ...form }); |
| | | const { code } = await editUpkeep({ id: unref(id), ...payload }); |
| | | if (code == 200) { |
| | | ElMessage.success("编辑计划成功"); |
| | | visible.value = false; |
| | | emits("ok"); |
| | | } |
| | | } else { |
| | | const res = await addUpkeep(form); |
| | | const res = await addUpkeep(payload); |
| | | if (res.code == 200) { |
| | | const planId = res.data?.id; |
| | | if (planId) { |
| | |
| | | resetForm(); |
| | | resetAttachmentState(); |
| | | syncCreateUserFromLogin(); |
| | | if (userStore.id != null && userStore.id !== "") { |
| | | form.maintenancePerson = userStore.id; |
| | | } |
| | | visible.value = true; |
| | | }; |
| | | |