|
|
@ -7,82 +7,32 @@ |
|
|
label-width="120px" |
|
|
label-width="120px" |
|
|
v-loading="formLoading" |
|
|
v-loading="formLoading" |
|
|
> |
|
|
> |
|
|
<el-form-item label="持有人" prop="detectorId"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="formData.detectorId" |
|
|
|
|
|
placeholder="请选择持有人" |
|
|
|
|
|
@change="handleDetectorIdChange" |
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
<el-form-item label="持有人" prop="name"> |
|
|
|
|
|
{{ formData.name }} |
|
|
|
|
|
<!-- <el-select v-model="formData.detectorId" placeholder="请选择持有人"> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="item in props.handDetector" |
|
|
v-for="item in props.handDetector" |
|
|
:key="item.id" |
|
|
:key="item.id" |
|
|
:label="item.name" |
|
|
:label="item.name" |
|
|
:value="Number(item.id)" |
|
|
:value="Number(item.id)" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
|
|
|
|
|
|
</el-select> --> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="设备编号" prop="sn"> |
|
|
<el-form-item label="设备编号" prop="sn"> |
|
|
<el-input v-model="formData.sn" placeholder="请输入设备编号" :disabled="true" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="报警类型" prop="alarmType"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="formData.alarmType" |
|
|
|
|
|
@change="handleAlarmTypeChange" |
|
|
|
|
|
placeholder="请选择报警类型" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in props.alarmTypes" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.name" |
|
|
|
|
|
:value="item.id" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="警报方式/级别" prop="alarmLevel"> |
|
|
|
|
|
<el-select v-model="formData.alarmLevel" placeholder="请选择警报方式/级别" :disabled="true"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in getIntDictOptions(DICT_TYPE.HAND_DETECTOR_ALARM_LEVEL)" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item.value" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
{{ formData.sn }} |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item label="气体类型" prop="gasType"> |
|
|
<el-form-item label="气体类型" prop="gasType"> |
|
|
<el-select |
|
|
|
|
|
v-model="formData.gasType" |
|
|
|
|
|
placeholder="请选择气体类型" |
|
|
|
|
|
@change="handleGasTypeChange" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in props.gasTypes" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.name" |
|
|
|
|
|
:value="item.id" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="单位" prop="unit"> |
|
|
|
|
|
<el-input v-model="formData.unit" placeholder="请输入单位" :disabled="true" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="首报值" prop="vAlarmFirst"> |
|
|
|
|
|
<el-input-number v-model="formData.vAlarmFirst" /> |
|
|
|
|
|
|
|
|
{{ formData.gasType }} |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="最值" prop="vAlarmMaximum"> |
|
|
|
|
|
<el-input-number v-model="formData.vAlarmMaximum" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="开始时间" prop="tAlarmStart"> |
|
|
|
|
|
<el-date-picker |
|
|
|
|
|
v-model="formData.tAlarmStart" |
|
|
|
|
|
type="date" |
|
|
|
|
|
value-format="x" |
|
|
|
|
|
placeholder="选择开始时间" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="开始时间" prop="talarmStart"> |
|
|
|
|
|
{{ formatDate(formData.talarmStart) }} |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="结束时间" prop="tAlarmEnd"> |
|
|
|
|
|
|
|
|
<el-form-item label="结束时间" prop="talarmEnd"> |
|
|
<el-date-picker |
|
|
<el-date-picker |
|
|
v-model="formData.tAlarmEnd" |
|
|
|
|
|
type="date" |
|
|
|
|
|
|
|
|
v-model="formData.talarmEnd" |
|
|
|
|
|
type="datetime" |
|
|
value-format="x" |
|
|
value-format="x" |
|
|
placeholder="选择结束时间" |
|
|
placeholder="选择结束时间" |
|
|
/> |
|
|
/> |
|
|
@ -114,8 +64,9 @@ import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' |
|
|
import { HandDetector } from '@/api/gas/handdetector' |
|
|
import { HandDetector } from '@/api/gas/handdetector' |
|
|
import { AlarmType } from '@/api/gas/alarmtype' |
|
|
import { AlarmType } from '@/api/gas/alarmtype' |
|
|
import { Type } from '@/api/gas/gastype' |
|
|
import { Type } from '@/api/gas/gastype' |
|
|
|
|
|
import { formatDate } from '@/utils/formatTime' |
|
|
/** GAS手持探测器警报 表单 */ |
|
|
/** GAS手持探测器警报 表单 */ |
|
|
defineOptions({ name: 'HandAlarmForm' }) |
|
|
|
|
|
|
|
|
defineOptions({ name: 'OfflineAlarmForm' }) |
|
|
|
|
|
|
|
|
const { t } = useI18n() // 国际化 |
|
|
const { t } = useI18n() // 国际化 |
|
|
const message = useMessage() // 消息弹窗 |
|
|
const message = useMessage() // 消息弹窗 |
|
|
@ -141,6 +92,7 @@ const props = defineProps({ |
|
|
const formData = ref({ |
|
|
const formData = ref({ |
|
|
id: undefined, |
|
|
id: undefined, |
|
|
detectorId: undefined, |
|
|
detectorId: undefined, |
|
|
|
|
|
name: '', |
|
|
sn: '', |
|
|
sn: '', |
|
|
alarmType: undefined, |
|
|
alarmType: undefined, |
|
|
alarmLevel: 0, |
|
|
alarmLevel: 0, |
|
|
@ -151,24 +103,20 @@ const formData = ref({ |
|
|
picY: undefined, |
|
|
picY: undefined, |
|
|
vAlarmFirst: undefined, |
|
|
vAlarmFirst: undefined, |
|
|
vAlarmMaximum: undefined, |
|
|
vAlarmMaximum: undefined, |
|
|
tAlarmStart: undefined, |
|
|
|
|
|
tAlarmEnd: undefined, |
|
|
|
|
|
|
|
|
talarmStart: '', |
|
|
|
|
|
talarmEnd: '', |
|
|
status: 0, |
|
|
status: 0, |
|
|
remark: undefined |
|
|
remark: undefined |
|
|
}) |
|
|
}) |
|
|
const formRules = reactive({ |
|
|
const formRules = reactive({ |
|
|
detectorId: [{ required: true, message: '持有人不能为空', trigger: 'change' }], |
|
|
|
|
|
alarmType: [{ required: true, message: '报警类型不能为空', trigger: 'change' }], |
|
|
|
|
|
gasType: [{ required: true, message: '气体类型不能为空', trigger: 'change' }], |
|
|
|
|
|
unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }], |
|
|
|
|
|
remark: [{ required: true, message: '备注不能为空', trigger: 'blur' }] |
|
|
|
|
|
|
|
|
// remark: [{ required: true, message: '备注不能为空', trigger: 'blur' }] |
|
|
}) |
|
|
}) |
|
|
const formRef = ref() // 表单 Ref |
|
|
const formRef = ref() // 表单 Ref |
|
|
|
|
|
|
|
|
/** 打开弹窗 */ |
|
|
/** 打开弹窗 */ |
|
|
const open = async (type: string, id?: number) => { |
|
|
const open = async (type: string, id?: number) => { |
|
|
dialogVisible.value = true |
|
|
dialogVisible.value = true |
|
|
dialogTitle.value = t('action.' + type) |
|
|
|
|
|
|
|
|
dialogTitle.value = '离线报警' |
|
|
formType.value = type |
|
|
formType.value = type |
|
|
resetForm() |
|
|
resetForm() |
|
|
// 修改时,设置数据 |
|
|
// 修改时,设置数据 |
|
|
@ -212,6 +160,7 @@ const resetForm = () => { |
|
|
formData.value = { |
|
|
formData.value = { |
|
|
id: undefined, |
|
|
id: undefined, |
|
|
detectorId: undefined, |
|
|
detectorId: undefined, |
|
|
|
|
|
name: '', |
|
|
sn: '', |
|
|
sn: '', |
|
|
alarmType: undefined, |
|
|
alarmType: undefined, |
|
|
alarmLevel: 0, |
|
|
alarmLevel: 0, |
|
|
@ -222,28 +171,11 @@ const resetForm = () => { |
|
|
picY: undefined, |
|
|
picY: undefined, |
|
|
vAlarmFirst: undefined, |
|
|
vAlarmFirst: undefined, |
|
|
vAlarmMaximum: undefined, |
|
|
vAlarmMaximum: undefined, |
|
|
tAlarmStart: undefined, |
|
|
|
|
|
tAlarmEnd: undefined, |
|
|
|
|
|
|
|
|
talarmStart: '', |
|
|
|
|
|
talarmEnd: '', |
|
|
status: 0, |
|
|
status: 0, |
|
|
remark: undefined |
|
|
remark: undefined |
|
|
} |
|
|
} |
|
|
formRef.value?.resetFields() |
|
|
formRef.value?.resetFields() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** 气体类型改变 */ |
|
|
|
|
|
const handleGasTypeChange = (value: number) => { |
|
|
|
|
|
formData.value.unit = props.gasTypes.find((item) => item.id === value)?.unit || '' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** 手持表id改变 */ |
|
|
|
|
|
const handleDetectorIdChange = (value: number) => { |
|
|
|
|
|
formData.value.sn = props.handDetector.find((item) => item.id === value)?.sn || '' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** 报警类型改变 */ |
|
|
|
|
|
const handleAlarmTypeChange = (value: number) => { |
|
|
|
|
|
formData.value.alarmLevel = props.alarmTypes.find((item) => item.id === value)?.level || 0 |
|
|
|
|
|
formData.value.gasType = props.gasTypes.find((item) => item.id === value)?.name || '' |
|
|
|
|
|
formData.value.unit = props.gasTypes.find((item) => item.id === value)?.unit || '' |
|
|
|
|
|
} |
|
|
|
|
|
</script> |
|
|
</script> |
|
|
|