From f36f2f20bfb06dc3ca1b69c8a6d260d09d7d70ba Mon Sep 17 00:00:00 2001 From: 曹睿 <360930172@qq.com> Date: 星期五, 27 六月 2025 17:29:13 +0800 Subject: [PATCH] feat: 新增设备报修模块。 --- src/views/equipmentManagement/repair/Form/RepairForm.vue | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 112 insertions(+), 0 deletions(-) diff --git a/src/views/equipmentManagement/repair/Form/RepairForm.vue b/src/views/equipmentManagement/repair/Form/RepairForm.vue new file mode 100644 index 0000000..6ded5fe --- /dev/null +++ b/src/views/equipmentManagement/repair/Form/RepairForm.vue @@ -0,0 +1,112 @@ +<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> -- Gitblit v1.9.3