Browse Source

优化报警规则

master
xh 5 days ago
parent
commit
8c3c0a7dae
  1. 2
      web/.env.dev
  2. 24
      web/src/views/gas/alarmrule/AlarmRuleForm.vue
  3. 4
      web/src/views/gas/alarmrule/index.vue
  4. 2
      web/src/views/gas/alarmtype/AlarmTypeForm.vue
  5. 14
      web/src/views/gas/alarmtype/index.vue
  6. 2
      web/src/views/gas/handdetector/index.vue

2
web/.env.dev

@ -1,4 +1,4 @@
NODE_ENV=production
NODE_ENV=development
VITE_DEV=true VITE_DEV=true

24
web/src/views/gas/alarmrule/AlarmRuleForm.vue

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="dialogTitle" v-model="dialogVisible">
<Dialog :title="dialogTitle" :scroll="true" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -37,10 +37,10 @@
<el-form-item label="警报名称颜色" prop="alarmNameColor"> <el-form-item label="警报名称颜色" prop="alarmNameColor">
<el-color-picker v-model="formData.alarmNameColor" :disabled="true" /> <el-color-picker v-model="formData.alarmNameColor" :disabled="true" />
</el-form-item> </el-form-item>
<el-form-item label="警报颜色" prop="alarmColor">
<el-form-item label="警报背景颜色" prop="alarmColor">
<el-color-picker <el-color-picker
v-model="formData.alarmColor" v-model="formData.alarmColor"
placeholder="请输入警报颜色"
placeholder="警报颜色"
:disabled="true" :disabled="true"
/> />
</el-form-item> </el-form-item>
@ -163,13 +163,19 @@ const submitForm = async () => {
try { try {
const data = formData.value as unknown as AlarmRule const data = formData.value as unknown as AlarmRule
if (formType.value === 'create') { if (formType.value === 'create') {
await AlarmRuleApi.createAlarmRule(data)
message.success(t('common.createSuccess'))
const res=await AlarmRuleApi.createAlarmRule(data)
if(res.code===0){
message.success(t('common.createSuccess'))
dialogVisible.value = false
}
} else { } else {
await AlarmRuleApi.updateAlarmRule(data)
message.success(t('common.updateSuccess'))
const res=await AlarmRuleApi.updateAlarmRule(data)
if(res.code===0){
message.success(t('common.updateSuccess'))
dialogVisible.value = false
}
} }
dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {
@ -200,5 +206,7 @@ const resetForm = () => {
const handleAlarmTypeIdChange = (value: number) => { const handleAlarmTypeIdChange = (value: number) => {
formData.value.alarmName = props.alarmTypes.find((item) => item.id === value)?.name formData.value.alarmName = props.alarmTypes.find((item) => item.id === value)?.name
formData.value.alarmNameColor = props.alarmTypes.find((item) => item.id === value)?.nameColor formData.value.alarmNameColor = props.alarmTypes.find((item) => item.id === value)?.nameColor
formData.value.alarmColor = props.alarmTypes.find((item) => item.id === value)?.color
formData.value.alarmLevel = props.alarmTypes.find((item) => item.id === value)?.level
} }
</script> </script>

4
web/src/views/gas/alarmrule/index.vue

@ -261,8 +261,12 @@ const handleExport = async () => {
} }
} }
/** 初始化 **/ /** 初始化 **/
onMounted(() => { onMounted(() => {
getList() getList()
handDetectorStore.getAllGasTypes()
handDetectorStore.getAllAlarmTypes()
}) })
</script> </script>

2
web/src/views/gas/alarmtype/AlarmTypeForm.vue

@ -13,7 +13,7 @@
<el-form-item label="名称颜色" prop="nameColor"> <el-form-item label="名称颜色" prop="nameColor">
<el-color-picker v-model="formData.nameColor" /> <el-color-picker v-model="formData.nameColor" />
</el-form-item> </el-form-item>
<el-form-item label="颜色" prop="color">
<el-form-item label="背景颜色" prop="color">
<el-color-picker v-model="formData.color" /> <el-color-picker v-model="formData.color" />
</el-form-item> </el-form-item>
<el-form-item label="警报方式/级别" prop="level"> <el-form-item label="警报方式/级别" prop="level">

14
web/src/views/gas/alarmtype/index.vue

@ -71,19 +71,21 @@
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column label="名称" align="center" prop="name" /> <el-table-column label="名称" align="center" prop="name" />
<el-table-column label="图例" align="center"
><template #default="scope">
<div class="flex items-center">
<el-table-column label="图例" align="center">
<template #default="scope">
<div <div
class="w-4px h-4px rounded-full"
class="inline-block px-[12px]"
:style="{ backgroundColor: scope.row.color, color: scope.row.nameColor || '#000' }" :style="{ backgroundColor: scope.row.color, color: scope.row.nameColor || '#000' }"
> >
{{ getDictLabel(DICT_TYPE.HAND_DETECTOR_ALARM_LEVEL, scope.row.level as number) }} {{ getDictLabel(DICT_TYPE.HAND_DETECTOR_ALARM_LEVEL, scope.row.level as number) }}
</div> </div>
</div>
</template></el-table-column </template></el-table-column
> >
<el-table-column label="警报方式/级别" align="center" prop="level" />
<el-table-column label="警报方式/级别" align="center" prop="level" >
<template #default="scope">
{{ getDictLabel(DICT_TYPE.HAND_DETECTOR_ALARM_LEVEL, scope.row.level as number) }}
</template>
</el-table-column>
<el-table-column label="排序" align="center" prop="sortOrder" /> <el-table-column label="排序" align="center" prop="sortOrder" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column

2
web/src/views/gas/handdetector/index.vue

@ -141,7 +141,7 @@ import { HandDetectorApi, HandDetector } from '@/api/gas/handdetector'
import HandDetectorForm from './HandDetectorForm.vue' import HandDetectorForm from './HandDetectorForm.vue'
import { DICT_TYPE } from '@/utils/dict' import { DICT_TYPE } from '@/utils/dict'
import { Fence } from '@/api/gas/fence' import { Fence } from '@/api/gas/fence'
import { Type } from '@/api/gas/gastype'
import type { Type } from '@/api/gas/gastype'
import { useHandDetectorStore } from '@/store/modules/handDetector' import { useHandDetectorStore } from '@/store/modules/handDetector'
/** GAS手持探测器 列表 */ /** GAS手持探测器 列表 */
defineOptions({ name: 'HandDetector' }) defineOptions({ name: 'HandDetector' })

Loading…
Cancel
Save