马宇豪
2025-05-09 cbb23429b8beed72b58cbb57f9b3c56a0fb2b5d2
src/views/basic/equipment/components/equipmentDialog.vue
@@ -1,6 +1,6 @@
<template>
    <div class="system-menu-dialog-container">
        <el-dialog :title="equipmentDialogState.title" v-model="equipmentDialogState.equipmentDialogVisible" width="600px">
        <el-dialog :title="equipmentDialogState.title" v-model="equipmentDialogState.equipmentDialogVisible" :close-on-click-modal="false" width="600px">
            <el-form ref="EquipmentFormRef" :rules="equipmentDialogState.equipmentFormRules" :model="equipmentDialogState.equipmentForm" size="default" label-width="120px">
                <el-row :gutter="35">
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
@@ -14,8 +14,20 @@
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                        <el-form-item label="设备功率" prop="devicePower">
                            <el-input v-model="equipmentDialogState.equipmentForm.devicePower" placeholder="设备功率" clearable class="input-length"></el-input>
                      <el-form-item label="设备类型" prop="deviceTypeId">
                        <el-select v-model="equipmentDialogState.equipmentForm.deviceTypeId" placeholder="设备类型" clearable class="input-length">
                          <el-option v-for="item in equipmentTypeList" :key="item.id" :label="item.deviceType" :value="item.id"></el-option>
                        </el-select>
                      </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                      <el-form-item label="设备型号" prop="deviceDesc">
                        <el-input v-model="equipmentDialogState.equipmentForm.deviceDesc" placeholder="设备型号" clearable class="input-length"></el-input>
                      </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                        <el-form-item label="额定功率" prop="devicePower">
                            <el-input v-model="equipmentDialogState.equipmentForm.devicePower" placeholder="额定功率" clearable class="input-length"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
@@ -33,9 +45,39 @@
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                      <el-form-item label="设备状态" prop="deviceStatus">
                        <el-select v-model="equipmentDialogState.equipmentForm.deviceStatus" placeholder="设备状态" clearable class="input-length">
                          <el-option :key="1" label="完好" :value="1"></el-option>
                          <el-option :key="2" label="异常" :value="2"></el-option>
                        </el-select>
                      </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                        <el-form-item label="安全防护">
                            <el-input type="textarea" :rows="3" v-model="equipmentDialogState.equipmentForm.safeProtect" placeholder="安全防护" clearable class="input-length"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                      <el-form-item label="购入时间" prop="buyTime">
                        <el-date-picker
                            v-model="equipmentDialogState.equipmentForm.buyTime"
                            format="YYYY-MM-DD"
                            value-format="YYYY-MM-DD 00:00:00"
                            type="dateTime"
                            placeholder="购入时间"
                        />
                      </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                      <el-form-item label="校准时间" prop="adjustTime">
                        <el-date-picker
                            v-model="equipmentDialogState.equipmentForm.adjustTime"
                            format="YYYY-MM-DD"
                            value-format="YYYY-MM-DD 00:00:00"
                            type="dateTime"
                            placeholder="校准时间"
                        />
                      </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
@@ -50,7 +92,7 @@
</template>
<script setup lang="ts">
import { reactive, ref } from "vue";
import { defineProps, reactive, ref } from "vue";
import {useMenuApi} from "/@/api/systemManage/menu";
import {ElMessage} from "element-plus";
import {equipmentApi} from "/@/api/basic/equipement";
@@ -66,13 +108,24 @@
        deviceName: '',
        devicePower: '',
        deviceUnit: null,
        specialDevice: null,
        safeProtect: '',
        deviceTypeId: null,
        deviceDesc: '',
        deviceStatus: null,
        buyTime: '',
        adjustTime: ''
    },
    equipmentFormRules: {
        deviceCode: [{ required: true, message: '请填写设备编号', trigger: 'blur' }],
        deviceName: [{ required: true, message: '请填写设备名称', trigger: 'blur' }],
        devicePower: [{ required: true, message: '请填写设备功率', trigger: 'blur' }],
        deviceUnit: [{ required: true, message: '请选择计量单位', trigger: 'change' }]
        devicePower: [{ required: true, message: '请填写额定功率', trigger: 'blur' }],
        deviceUnit: [{ required: true, message: '请选择计量单位', trigger: 'change' }],
        deviceTypeId: [{ required: true, message: '请填写设备类型ID', trigger: 'blur' }],
        deviceDesc: [{ required: true, message: '请填写设备型号', trigger: 'blur' }],
        deviceStatus: [{ required: true, message: '请选择设备状态', trigger: 'blur' }],
        buyTime: [{ required: true, message: '请选择购入时间', trigger: 'blur' }],
        adjustTime: [{ required: true, message: '请选择校准时间', trigger: 'blur' }]
    },
    specialDeviceList: [],
    deviceUnitList: [
@@ -92,12 +145,17 @@
    if(title === '新增'){
        equipmentDialogState.title = '新增';
        equipmentDialogState.equipmentForm = {
            id: null,
            deviceCode: '',
            deviceName: '',
            devicePower: '',
            deviceUnit: null,
            specialDevice: null,
            safeProtect: '',
            deviceTypeId: null,
            deviceDesc: '',
            deviceStatus: null,
            buyTime: '',
            adjustTime: ''
        };
    }else{
        equipmentDialogState.title = '编辑'
@@ -107,7 +165,13 @@
            deviceName: value.deviceName,
            devicePower: value.devicePower,
            deviceUnit: value.deviceUnit,
            specialDevice: value.specialDevice,
            safeProtect: value.safeProtect,
            deviceTypeId:value.deviceTypeId,
            deviceDesc: value.deviceDesc,
            deviceStatus: value.deviceStatus,
            buyTime: value.buyTime,
            adjustTime: value.adjustTime
        };
    }
};
@@ -131,6 +195,7 @@
                    });
                }
            }else{
              console.log(equipmentDialogState.equipmentForm,'修改')
                let res = await equipmentApi().modEquipment(equipmentDialogState.equipmentForm)
                if(res.data.code === 100){
                    emit('refresh')
@@ -157,6 +222,10 @@
const emit = defineEmits(['refresh'])
defineProps({
  equipmentTypeList: Array
})
defineExpose({
    showEquipmentDialog
})