<template>
|
<el-form :model="form" label-width="100px">
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="设备名称">
|
<el-select v-model="form.deviceLedgerId" @change="setDeviceModel">
|
<el-option
|
v-for="(item, index) in deviceOptions"
|
:key="index"
|
:label="item.deviceName"
|
:value="item.id"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="规格型号">
|
<el-input
|
v-model="form.deviceModel"
|
placeholder="请输入规格型号"
|
disabled
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="报修日期">
|
<el-date-picker
|
v-model="form.repairTime"
|
placeholder="请选择报修日期"
|
format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
type="date"
|
clearable
|
style="width: 100%"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="报修人">
|
<el-input v-model="form.repairName" placeholder="请输入报修人" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="24">
|
<el-form-item label="故障现象">
|
<el-input
|
v-model="form.remark"
|
:rows="2"
|
type="textarea"
|
placeholder="请输入故障现象"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
</template>
|
|
<script setup>
|
import useFormData from "@/hooks/useFormData";
|
import { getDeviceLedger } from "@/api/equipmentManagement/ledger";
|
import { onMounted } from "vue";
|
|
defineOptions({
|
name: "设备报修表单",
|
});
|
|
const deviceOptions = ref([]);
|
|
const loadDeviceName = async () => {
|
const { data } = await getDeviceLedger();
|
deviceOptions.value = data;
|
};
|
|
const { form, resetForm } = useFormData({
|
deviceLedgerId: undefined, // 设备Id
|
deviceName: undefined, // 设备名称
|
deviceModel: undefined, // 规格型号
|
repairTime: undefined, // 报修日期
|
repairName: undefined, // 报修人
|
remark: undefined, // 故障现象
|
});
|
|
const setDeviceModel = (id) => {
|
const option = deviceOptions.value.find((item) => item.id === id);
|
form.deviceModel = option.deviceModel;
|
};
|
|
const getForm = () => {
|
return form;
|
};
|
|
const setForm = (data) => {
|
form.deviceLedgerId = data.deviceLedgerId;
|
form.deviceName = data.deviceName;
|
form.deviceModel = data.deviceModel;
|
form.repairTime = data.repairTime;
|
form.repairName = data.repairName;
|
form.remark = data.remark;
|
};
|
|
onMounted(() => {
|
loadDeviceName();
|
});
|
|
defineExpose({
|
loadDeviceName,
|
resetForm,
|
getForm,
|
setForm,
|
});
|
</script>
|
|
<style lang="scss" scoped></style>
|