| | |
| | | <template> |
| | | <div class="system-menu-dialog-container"> |
| | | <el-dialog :title="unitDialogState.title" v-model="unitDialogState.unitDialogVisible" width="600px"> |
| | | <el-dialog :title="unitDialogState.title" v-model="unitDialogState.unitDialogVisible" :close-on-click-modal="false" width="600px"> |
| | | <el-form ref="UnitFormRef" :rules="unitDialogState.unitFormRules" :model="unitDialogState.unitForm" size="default" label-width="120px"> |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="设备编号" prop="deviceCode"> |
| | | <el-input v-model="unitDialogState.unitForm.deviceCode" placeholder="设备编号" clearable class="input-length"></el-input> |
| | | <el-form-item label="风险单元编号" prop="riskCode"> |
| | | <el-input v-model="unitDialogState.unitForm.riskCode" 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="deviceName"> |
| | | <el-input v-model="unitDialogState.unitForm.deviceName" placeholder="设备名称" clearable class="input-length"></el-input> |
| | | <el-form-item label="风险单元名称" prop="riskName"> |
| | | <el-input v-model="unitDialogState.unitForm.riskName" 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="unitDialogState.unitForm.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"> |
| | | <el-form-item label="计量单位" prop="deviceUnit"> |
| | | <el-select v-model="unitDialogState.unitForm.deviceUnit" placeholder="计量单位" clearable class="input-length"> |
| | | <el-option v-for="item in unitDialogState.deviceUnitList" :key="item.id" :label="item.name" :value="item.id"></el-option> |
| | | <el-form-item label="风险源风险类型" prop="riskSourceType"> |
| | | <el-select v-model="unitDialogState.unitForm.riskSourceType" @change="unitDialogState.unitForm.riskSourceId = null" placeholder="风险源风险类型" clearable class="input-length"> |
| | | <el-option v-for="item in unitDialogState.riskSourceTypeList" :key="item.id" :label="item.name" :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="是否特种设备"> |
| | | <el-select v-model="unitDialogState.unitForm.specialDevice" placeholder="是否特种设备" clearable class="input-length"> |
| | | <el-option v-for="item in unitDialogState.specialDeviceList" :key="item.id" :label="item.name" :value="item.id"></el-option> |
| | | <el-form-item label="风险源" prop="riskSourceId"> |
| | | <el-select v-model="unitDialogState.unitForm.riskSourceId" placeholder="风险源" clearable class="input-length"> |
| | | <el-option v-if="unitDialogState.unitForm.riskSourceType === 2" v-for="item in unitDialogState.allEquipmentList" :key="item.id" :label="item.deviceName" :value="item.id"></el-option> |
| | | <el-option v-if="unitDialogState.unitForm.riskSourceType === 1" v-for="item in unitDialogState.allRoomList" :key="item.id" :label="item.room" :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="安全防护"> |
| | | <el-input type="textarea" :rows="3" v-model="unitDialogState.unitForm.safeProtect" placeholder="安全防护" clearable class="input-length"></el-input> |
| | | <el-form-item label="负责人" prop="liabilityUserId"> |
| | | <el-select v-model="unitDialogState.unitForm.liabilityUserId" placeholder="负责人" clearable class="input-length"> |
| | | <el-option v-for="item in unitDialogState.allPersonList" :key="item.id" :label="item.personName" :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="liabilityDep"> |
| | | <el-input v-model="unitDialogState.unitForm.liabilityDep" 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="风险单元描述"> |
| | | <el-input type="textarea" :rows="3" v-model="unitDialogState.unitForm.description" placeholder="风险单元描述" clearable class="input-length"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | title: '', |
| | | unitDialogVisible: false, |
| | | unitForm: { |
| | | id: null, |
| | | deviceCode: '', |
| | | deviceName: '', |
| | | devicePower: '', |
| | | deviceUnit: null, |
| | | safeProtect: '', |
| | | riskCode: '', |
| | | riskName: '', |
| | | riskSourceId: null, |
| | | riskSourceType: null, |
| | | liabilityUserId: null, |
| | | liabilityDep: '', |
| | | description: '', |
| | | }, |
| | | unitFormRules: { |
| | | deviceCode: [{ required: true, message: '请填写设备编号', trigger: 'blur' }], |
| | | deviceName: [{ required: true, message: '请填写设备名称', trigger: 'blur' }], |
| | | devicePower: [{ required: true, message: '请填写设备功率', trigger: 'blur' }], |
| | | deviceUnit: [{ required: true, message: '请选择计量单位', trigger: 'change' }] |
| | | riskCode: [{ required: true, message: '请填写风险单元编号', trigger: 'blur' }], |
| | | riskName: [{ required: true, message: '请填写风险单元名称', trigger: 'blur' }], |
| | | riskSourceId: [{ required: true, message: '请选择风险源风险类型', trigger: 'change' }], |
| | | riskSourceType: [{ required: true, message: '请选择风险源', trigger: 'change' }], |
| | | }, |
| | | riskSourceTypeList: [ |
| | | {id: 1, name: '区域、实验场所'}, |
| | |
| | | evaluateStatusList: [ |
| | | {id: 1, name: '未评价'}, |
| | | {id:2, name: '已评价'}, |
| | | ] |
| | | ], |
| | | allRoomList: [], |
| | | allEquipmentList: [], |
| | | allPersonList: [], |
| | | }) |
| | | |
| | | const showUnitDialog = (title: string, value: UnitType) => { |
| | | const showUnitDialog = (title: string, value: UnitType, allEquipmentList: AllEquipmentListType [], allRoomList: RoomType [], allPersonList: AllPersonListType []) => { |
| | | unitDialogState.unitDialogVisible = true; |
| | | unitDialogState.allRoomList = allRoomList |
| | | unitDialogState.allEquipmentList = allEquipmentList |
| | | unitDialogState.allPersonList = allPersonList |
| | | setTimeout(() => { |
| | | UnitFormRef.value.clearValidate(); |
| | | }); |
| | | if(title === '新增'){ |
| | | unitDialogState.title = '新增'; |
| | | unitDialogState.unitForm = { |
| | | id: null, |
| | | deviceCode: '', |
| | | deviceName: '', |
| | | devicePower: '', |
| | | deviceUnit: null, |
| | | safeProtect: '', |
| | | riskCode: '', |
| | | riskName: '', |
| | | riskSourceId: null, |
| | | riskSourceType: null, |
| | | liabilityUserId: null, |
| | | liabilityDep: '', |
| | | description: '', |
| | | }; |
| | | }else{ |
| | | unitDialogState.title = '编辑' |
| | | unitDialogState.unitForm = { |
| | | id: value.id, |
| | | deviceCode: value.deviceCode, |
| | | deviceName: value.deviceName, |
| | | devicePower: value.devicePower, |
| | | deviceUnit: value.deviceUnit, |
| | | safeProtect: value.safeProtect, |
| | | riskCode: value.riskCode, |
| | | riskName: value.riskName, |
| | | riskSourceId: value.riskSourceId, |
| | | riskSourceType: value.riskSourceType, |
| | | liabilityUserId: value.liabilityUserId, |
| | | liabilityDep: value.liabilityDep, |
| | | description: value.description, |
| | | }; |
| | | } |
| | | }; |