| | |
| | | <FormDialog |
| | | v-model="visible" |
| | | :title="id ? '编辑设备保养计划' : '新增设备保养计划'" |
| | | width="640px" |
| | | width="680px" |
| | | @confirm="sendForm" |
| | | @cancel="handleCancel" |
| | | @close="handleClose" |
| | | > |
| | | <el-form :model="form" :rules="rules" label-width="100px"> |
| | | <el-form ref="formRef" :model="form" :rules="rules" label-width="100px"> |
| | | <el-form-item label="设备名称"> |
| | | <el-select |
| | | v-model="form.deviceLedgerId" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="保养项目"> |
| | | <el-form-item label="保养部位" prop="maintenanceLocation"> |
| | | <el-input |
| | | v-model="form.maintenanceLocation" |
| | | type="textarea" |
| | | :rows="3" |
| | | placeholder="请输入保养部位" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="保养项目" prop="maintenanceItems"> |
| | | <el-input |
| | | v-model="form.maintenanceItems" |
| | | type="textarea" |
| | | :rows="3" |
| | | placeholder="请输入保养项目" |
| | |
| | | () => userStore.nickName || userStore.name || "当前登录用户" |
| | | ); |
| | | |
| | | const formRef = ref(); |
| | | |
| | | const rules = { |
| | | maintenancePerson: [{ required: true, message: "请选择保养人", trigger: "change" }], |
| | | maintenanceLocation: [{ required: true, message: "请输入保养部位", trigger: "blur" }], |
| | | maintenanceItems: [{ required: true, message: "请输入保养项目", trigger: "blur" }], |
| | | }; |
| | | |
| | | const syncCreateUserFromLogin = () => { |
| | |
| | | deviceName: undefined, |
| | | deviceModel: undefined, |
| | | maintenanceLocation: undefined, |
| | | maintenanceItems: undefined, |
| | | maintenancePlanTime: undefined, |
| | | maintenancePerson: undefined, |
| | | createUser: undefined, |
| | |
| | | form.deviceName = data.deviceName; |
| | | form.deviceModel = data.deviceModel; |
| | | form.maintenanceLocation = data.maintenanceLocation; |
| | | form.maintenanceItems = data.maintenanceItems; |
| | | form.status = data.status; |
| | | syncCreateUserFromLogin(); |
| | | if (data.maintenancePersonId) { |
| | |
| | | |
| | | const sendForm = async () => { |
| | | syncCreateUserFromLogin(); |
| | | const valid = await formRef.value?.validate().catch(() => false); |
| | | if (!valid) return; |
| | | loading.value = true; |
| | | try { |
| | | const payload = buildSubmitPayload(); |
| | |
| | | <el-dialog |
| | | v-model="visible" |
| | | title="保养计划详情" |
| | | width="820px" |
| | | width="960px" |
| | | destroy-on-close |
| | | @closed="onClosed" |
| | | > |
| | |
| | | <el-descriptions :column="2" border size="small"> |
| | | <el-descriptions-item label="设备名称">{{ detail.deviceName || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="规格型号">{{ detail.deviceModel || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="保养项目" :span="2"> |
| | | <el-descriptions-item label="保养部位" :span="2"> |
| | | <div class="multiline">{{ detail.maintenanceLocation || "—" }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="保养项目" :span="2"> |
| | | <div class="multiline">{{ detail.maintenanceItems || "—" }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="保养人">{{ detail.maintenancePerson || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="计划保养日期">{{ fmtDate(detail.maintenancePlanTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="录入人">{{ detail.createUserName || "—" }}</el-descriptions-item> |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="保养部位" prop="maintenanceLocation"> |
| | | <el-input |
| | | v-model="form.maintenanceLocation" |
| | | type="textarea" |
| | | :rows="3" |
| | | placeholder="请输入保养部位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="保养项目" prop="maintenanceItems"> |
| | | <el-input |
| | | v-model="form.maintenanceItems" |
| | |
| | | // 录入人、保养人:用户 id |
| | | inspector: undefined, |
| | | maintenancePerson: undefined, |
| | | maintenanceLocation: '', |
| | | maintenanceItems: '', |
| | | remarks: '', |
| | | frequencyType: '', |
| | |
| | | taskId: [{ required: true, message: "请选择设备", trigger: "change" },], |
| | | inspector: [{ required: true, message: "请选择录入人", trigger: "blur" },], |
| | | maintenancePerson: [{ required: true, message: "请选择保养人", trigger: "change" }], |
| | | maintenanceLocation: [{ required: true, message: "请输入保养部位", trigger: "blur" }], |
| | | maintenanceItems: [{ required: true, message: "请输入保养项目", trigger: "blur" }], |
| | | registrationDate: [{ required: true, message: "请选择登记时间", trigger: "change" }], |
| | | frequencyDetail: [{ |
| | |
| | | taskName: undefined, |
| | | inspector: undefined, |
| | | maintenancePerson: undefined, |
| | | maintenanceLocation: '', |
| | | maintenanceItems: '', |
| | | remarks: '', |
| | | frequencyType: '', |
| | |
| | | { prop: "registrant", label: "登记人", minWidth: 100 }, |
| | | { prop: "maintenancePerson", label: "保养人", minWidth: 100 }, |
| | | { |
| | | prop: "maintenanceLocation", |
| | | label: "保养部位", |
| | | minWidth: 150, |
| | | showOverflowTooltip: true, |
| | | }, |
| | | { |
| | | prop: "maintenanceItems", |
| | | label: "保养项目", |
| | | minWidth: 180, |
| | |
| | | prop: "deviceModel", |
| | | }, |
| | | { |
| | | label: "保养项目", |
| | | label: "保养部位", |
| | | align: "center", |
| | | prop: "maintenanceLocation", |
| | | minWidth: 150, |
| | | showOverflowTooltip: true, |
| | | }, |
| | | { |
| | | label: "保养项目", |
| | | align: "center", |
| | | prop: "maintenanceItems", |
| | | minWidth: 150, |
| | | showOverflowTooltip: true, |
| | | }, |
| | | { |