|
|
|
@ -5,70 +5,38 @@
|
|
|
|
|
<div v-show='showSearch' class='mb-[10px]'>
|
|
|
|
|
<el-card shadow='hover'>
|
|
|
|
|
<el-form ref='queryFormRef' :model='queryParams' :inline='true'>
|
|
|
|
|
<el-form-item label='报警规则ID,主键' prop='alarmRuleId'>
|
|
|
|
|
<el-input v-model='queryParams.alarmRuleId' placeholder='请输入报警规则ID,主键' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='规则名称' prop='alarmRuleName'>
|
|
|
|
|
<el-input v-model='queryParams.alarmRuleName' placeholder='请输入规则名称' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警级别,关联表hw_alarm_level字段alarm_level_id' prop='alarmLevelId'>
|
|
|
|
|
<el-input v-model='queryParams.alarmLevelId' placeholder='请输入报警级别,关联表hw_alarm_level字段alarm_level_id'
|
|
|
|
|
clearable @keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警类型,关联表hw_alarm_type字段alarm_type_id' prop='alarmTypeId'>
|
|
|
|
|
<el-input v-model='queryParams.alarmTypeId' placeholder='请输入报警类型,关联表hw_alarm_type字段alarm_type_id'
|
|
|
|
|
clearable @keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label='报警级别' prop='alarmLevelId'>-->
|
|
|
|
|
<!-- <el-input v-model='queryParams.alarmLevelId' placeholder='请输入报警级别'-->
|
|
|
|
|
<!-- clearable @keyup.enter='handleQuery' />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label='报警类型' prop='alarmTypeId'>-->
|
|
|
|
|
<!-- <el-input v-model='queryParams.alarmTypeId' placeholder='请输入报警类型'-->
|
|
|
|
|
<!-- clearable @keyup.enter='handleQuery' />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label='规则类型' prop='ruleType'>
|
|
|
|
|
<el-select v-model='queryParams.ruleType' placeholder='请选择规则类型' clearable>
|
|
|
|
|
<el-option v-for='dict in dms_rule_type' :key='dict.value' :label='dict.label' :value='dict.value' />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='关联表hw_device字段device_id。' prop='ruleDeviceId'>
|
|
|
|
|
<el-input v-model='queryParams.ruleDeviceId' placeholder='请输入关联表hw_device字段device_id。' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='关联表hw_device_mode字段device_mode_id;' prop='ruleDeviceModeId'>
|
|
|
|
|
<el-input v-model='queryParams.ruleDeviceModeId' placeholder='请输入关联表hw_device_mode字段device_mode_id;'
|
|
|
|
|
clearable @keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='一共有几个属性规则' prop='ruleFunctionTotal'>
|
|
|
|
|
<el-input v-model='queryParams.ruleFunctionTotal' placeholder='请输入一共有几个属性规则' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='表达式,例如:{}>60 or {}<-88' prop='triggerExpression'>
|
|
|
|
|
<el-input v-model='queryParams.triggerExpression' placeholder='请输入表达式,例如:{}>60 or {}<-88' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='联动标识' prop='linkFlag'>
|
|
|
|
|
<el-select v-model='queryParams.linkFlag' placeholder='请选择联动标识' clearable>
|
|
|
|
|
<el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警启用状态(1、是,0、否)' prop='alarmRuleStatus'>
|
|
|
|
|
<el-select v-model='queryParams.alarmRuleStatus' placeholder='请选择报警启用状态(1、是,0、否)' clearable>
|
|
|
|
|
<el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警推送标识(1、是,0、否)' prop='alarmPushFlag'>
|
|
|
|
|
<el-select v-model='queryParams.alarmPushFlag' placeholder='请选择报警推送标识(1、是,0、否)' clearable>
|
|
|
|
|
<el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='时间范围' prop='triggerTimeFrame'>
|
|
|
|
|
<el-input v-model='queryParams.triggerTimeFrame' placeholder='请输入时间范围' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='触发阈值次数' prop='triggerNumber'>
|
|
|
|
|
<el-input v-model='queryParams.triggerNumber' placeholder='请输入触发阈值次数' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='触发死区' prop='triggerDeadzone'>
|
|
|
|
|
<el-input v-model='queryParams.triggerDeadzone' placeholder='请输入触发死区' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label='联动标识' prop='linkFlag'>-->
|
|
|
|
|
<!-- <el-select v-model='queryParams.linkFlag' placeholder='请选择联动标识' clearable>-->
|
|
|
|
|
<!-- <el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />-->
|
|
|
|
|
<!-- </el-select>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label='报警启用状态' prop='alarmRuleStatus'>-->
|
|
|
|
|
<!-- <el-select v-model='queryParams.alarmRuleStatus' placeholder='请选择报警启用状态' clearable>-->
|
|
|
|
|
<!-- <el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />-->
|
|
|
|
|
<!-- </el-select>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label='报警推送标识' prop='alarmPushFlag'>-->
|
|
|
|
|
<!-- <el-select v-model='queryParams.alarmPushFlag' placeholder='请选择报警推送标识' clearable>-->
|
|
|
|
|
<!-- <el-option v-for='dict in active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />-->
|
|
|
|
|
<!-- </el-select>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button type='primary' icon='Search' @click='handleQuery'>搜索</el-button>
|
|
|
|
|
<el-button icon='Refresh' @click='resetQuery'>重置</el-button>
|
|
|
|
@ -107,41 +75,41 @@
|
|
|
|
|
|
|
|
|
|
<el-table v-loading='loading' :data='alarmRuleList' @selection-change='handleSelectionChange'>
|
|
|
|
|
<el-table-column type='selection' width='55' align='center' />
|
|
|
|
|
<el-table-column label='报警规则ID,主键' align='center' prop='alarmRuleId' v-if='columns[0].visible' />
|
|
|
|
|
<el-table-column label='规则名称' align='center' prop='alarmRuleName' v-if='columns[1].visible' />
|
|
|
|
|
<el-table-column label='报警级别,关联表hw_alarm_level字段alarm_level_id' align='center' prop='alarmLevelId'
|
|
|
|
|
<el-table-column label='报警规则ID' align='center' prop='alarmRuleId' v-if='columns[0].visible' />
|
|
|
|
|
<el-table-column label='规则名称' align='center' prop='alarmRuleName' v-if='columns[1].visible' width='130' />
|
|
|
|
|
<el-table-column label='报警级别' align='center' prop='alarmLevelName'
|
|
|
|
|
v-if='columns[3].visible' />
|
|
|
|
|
<el-table-column label='报警类型,关联表hw_alarm_type字段alarm_type_id' align='center' prop='alarmTypeId'
|
|
|
|
|
<el-table-column label='报警类型' align='center' prop='alarmTypeName'
|
|
|
|
|
v-if='columns[4].visible' />
|
|
|
|
|
<el-table-column label='规则类型' align='center' prop='ruleType' v-if='columns[5].visible'>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
<dict-tag :options='dms_rule_type' :value='scope.row.ruleType' />
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label='关联表hw_device字段device_id。' align='center' prop='ruleDeviceId'
|
|
|
|
|
<el-table-column label='设备名称' align='center' prop='ruleDeviceName'
|
|
|
|
|
v-if='columns[6].visible' />
|
|
|
|
|
<el-table-column label='关联表hw_device_mode字段device_mode_id;' align='center' prop='ruleDeviceModeId'
|
|
|
|
|
v-if='columns[7].visible' />
|
|
|
|
|
<el-table-column label='一共有几个属性规则' align='center' prop='ruleFunctionTotal' v-if='columns[8].visible' />
|
|
|
|
|
<el-table-column label='表达式,例如:{}>60 or {}<-88' align='center' prop='triggerExpression'
|
|
|
|
|
v-if='columns[9].visible' />
|
|
|
|
|
<el-table-column label='设备模型' align='center' prop='ruleDeviceModeName'
|
|
|
|
|
v-if='columns[7].visible' width='110' />
|
|
|
|
|
<el-table-column label='属性规则数量' align='center' prop='ruleFunctionTotal' v-if='columns[8].visible' width='110' />
|
|
|
|
|
<el-table-column label='表达式' align='center' prop='triggerExpression' v-if='columns[9].visible' width='120' />
|
|
|
|
|
<el-table-column label='联动标识' align='center' prop='linkFlag' v-if='columns[10].visible'>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
<dict-tag :options='active_flag' :value='scope.row.linkFlag' />
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label='报警启用状态(1、是,0、否)' align='center' prop='alarmRuleStatus' v-if='columns[11].visible'>
|
|
|
|
|
<el-table-column label='报警启用状态' align='center' prop='alarmRuleStatus' v-if='columns[11].visible' width='110'>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
<dict-tag :options='active_flag' :value='scope.row.alarmRuleStatus' />
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label='报警推送标识(1、是,0、否)' align='center' prop='alarmPushFlag' v-if='columns[12].visible'>
|
|
|
|
|
<el-table-column label='报警推送标识' align='center' prop='alarmPushFlag' v-if='columns[12].visible' width='110'>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
<dict-tag :options='active_flag' :value='scope.row.alarmPushFlag' />
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label='报警推送内容' align='center' prop='alarmPushContent' v-if='columns[13].visible' />
|
|
|
|
|
<el-table-column label='恢复正常推送内容' align='center' prop='alarmRecoverContent' v-if='columns[14].visible' />
|
|
|
|
|
<el-table-column label='报警推送内容' align='center' prop='alarmPushContent' v-if='columns[13].visible' width='110' />
|
|
|
|
|
<el-table-column label='恢复正常推送内容' align='center' prop='alarmRecoverContent' v-if='columns[14].visible'
|
|
|
|
|
width='130' />
|
|
|
|
|
<el-table-column label='时间范围' align='center' prop='triggerTimeFrame' v-if='columns[15].visible' />
|
|
|
|
|
<el-table-column label='触发阈值次数' align='center' prop='triggerNumber' v-if='columns[16].visible' />
|
|
|
|
|
<el-table-column label='触发死区' align='center' prop='triggerDeadzone' v-if='columns[17].visible' />
|
|
|
|
@ -165,18 +133,29 @@
|
|
|
|
|
</el-card>
|
|
|
|
|
<!-- 添加或修改报警规则对话框 -->
|
|
|
|
|
<el-dialog :title='dialog.title' v-model='dialog.visible' width='500px' append-to-body>
|
|
|
|
|
<el-form ref='alarmRuleFormRef' :model='form' :rules='rules' label-width='80px'>
|
|
|
|
|
<el-form-item label='报警规则ID,主键' prop='alarmRuleId'>
|
|
|
|
|
<el-input v-model='form.alarmRuleId' placeholder='请输入报警规则ID,主键' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form ref='alarmRuleFormRef' :model='form' :rules='rules' label-width='130px'>
|
|
|
|
|
<el-form-item label='规则名称' prop='alarmRuleName'>
|
|
|
|
|
<el-input v-model='form.alarmRuleName' placeholder='请输入规则名称' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警级别,关联表hw_alarm_level字段alarm_level_id' prop='alarmLevelId'>
|
|
|
|
|
<el-input v-model='form.alarmLevelId' placeholder='请输入报警级别,关联表hw_alarm_level字段alarm_level_id' />
|
|
|
|
|
<el-form-item label='报警级别' prop='alarmLevelId'>
|
|
|
|
|
<el-select v-model='form.alarmLevelId' placeholder='请选择报警级别'>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for='item in alarmLevelList'
|
|
|
|
|
:key='item.alarmLevelId'
|
|
|
|
|
:label='item.alarmLevelName'
|
|
|
|
|
:value='item.alarmLevelId'
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警类型,关联表hw_alarm_type字段alarm_type_id' prop='alarmTypeId'>
|
|
|
|
|
<el-input v-model='form.alarmTypeId' placeholder='请输入报警类型,关联表hw_alarm_type字段alarm_type_id' />
|
|
|
|
|
<el-form-item label='报警类型' prop='alarmTypeId'>
|
|
|
|
|
<el-select v-model='form.alarmTypeId' placeholder='请选择报警类型'>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for='item in alarmTypeList'
|
|
|
|
|
:key='item.alarmTypeId'
|
|
|
|
|
:label='item.alarmTypeName'
|
|
|
|
|
:value='item.alarmTypeId'
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='规则类型' prop='ruleType'>
|
|
|
|
|
<el-radio-group v-model='form.ruleType'>
|
|
|
|
@ -188,17 +167,24 @@
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='关联表hw_device字段device_id。' prop='ruleDeviceId'>
|
|
|
|
|
<el-input v-model='form.ruleDeviceId' placeholder='请输入关联表hw_device字段device_id。' />
|
|
|
|
|
<el-form-item label='设备模型' prop='ruleDeviceModeId'>
|
|
|
|
|
<el-select v-model='form.ruleDeviceModeId' placeholder='请选择设备模型'>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for='item in deviceModeList'
|
|
|
|
|
:key='item.deviceModeId'
|
|
|
|
|
:label='item.deviceModeName'
|
|
|
|
|
:value='item.deviceModeId'
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='关联表hw_device_mode字段device_mode_id;' prop='ruleDeviceModeId'>
|
|
|
|
|
<el-input v-model='form.ruleDeviceModeId' placeholder='请输入关联表hw_device_mode字段device_mode_id;' />
|
|
|
|
|
<!-- <el-form-item label='设备模型功能' prop='ruleDeviceModeId'>-->
|
|
|
|
|
<!-- <el-input v-model='form.ruleDeviceModeId' placeholder='请输入设备模型功能' />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label='属性规则数量' prop='ruleFunctionTotal'>
|
|
|
|
|
<el-input-number v-model='form.ruleFunctionTotal' placeholder='请输入属性规则数量' style='width: 220px;' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='一共有几个属性规则' prop='ruleFunctionTotal'>
|
|
|
|
|
<el-input v-model='form.ruleFunctionTotal' placeholder='请输入一共有几个属性规则' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='表达式,例如:{}>60 or {}<-88' prop='triggerExpression'>
|
|
|
|
|
<el-input v-model='form.triggerExpression' placeholder='请输入表达式,例如:{}>60 or {}<-88' />
|
|
|
|
|
<el-form-item label='表达式' prop='triggerExpression'>
|
|
|
|
|
<el-input v-model='form.triggerExpression' placeholder='请输入表达式' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='联动标识' prop='linkFlag'>
|
|
|
|
|
<el-radio-group v-model='form.linkFlag'>
|
|
|
|
@ -210,7 +196,7 @@
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警启用状态(1、是,0、否)' prop='alarmRuleStatus'>
|
|
|
|
|
<el-form-item label='报警启用状态' prop='alarmRuleStatus'>
|
|
|
|
|
<el-radio-group v-model='form.alarmRuleStatus'>
|
|
|
|
|
<el-radio
|
|
|
|
|
v-for='dict in active_flag'
|
|
|
|
@ -220,7 +206,7 @@
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警推送标识(1、是,0、否)' prop='alarmPushFlag'>
|
|
|
|
|
<el-form-item label='报警推送标识' prop='alarmPushFlag'>
|
|
|
|
|
<el-radio-group v-model='form.alarmPushFlag'>
|
|
|
|
|
<el-radio
|
|
|
|
|
v-for='dict in active_flag'
|
|
|
|
@ -231,19 +217,19 @@
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='报警推送内容'>
|
|
|
|
|
<editor v-model='form.alarmPushContent' :min-height='192' />
|
|
|
|
|
<el-input v-model='form.alarmPushContent' type='textarea' placeholder='请输入报警推送内容' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='恢复正常推送内容'>
|
|
|
|
|
<editor v-model='form.alarmRecoverContent' :min-height='192' />
|
|
|
|
|
<el-input v-model='form.alarmRecoverContent' type='textarea' placeholder='请输入恢复正常推送内容' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='时间范围' prop='triggerTimeFrame'>
|
|
|
|
|
<el-input v-model='form.triggerTimeFrame' placeholder='请输入时间范围' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='触发阈值次数' prop='triggerNumber'>
|
|
|
|
|
<el-input v-model='form.triggerNumber' placeholder='请输入触发阈值次数' />
|
|
|
|
|
<el-input-number v-model='form.triggerNumber' placeholder='请输入触发阈值次数' style='width: 220px;' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='触发死区' prop='triggerDeadzone'>
|
|
|
|
|
<el-input v-model='form.triggerDeadzone' placeholder='请输入触发死区' />
|
|
|
|
|
<el-input-number v-model='form.triggerDeadzone' placeholder='请输入触发死区' style='width: 220px;' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='描述' prop='remark'>
|
|
|
|
|
<el-input v-model='form.remark' placeholder='请输入描述' />
|
|
|
|
@ -262,6 +248,9 @@
|
|
|
|
|
<script setup name='AlarmRule' lang='ts'>
|
|
|
|
|
import { listAlarmRule, getAlarmRule, delAlarmRule, addAlarmRule, updateAlarmRule } from '@/api/dms/alarmRule';
|
|
|
|
|
import { AlarmRuleVO, AlarmRuleQuery, AlarmRuleForm } from '@/api/dms/alarmRule/types';
|
|
|
|
|
import { getBaseAlarmLevelList } from '@/api/dms/alarmLevel';
|
|
|
|
|
import { getBaseAlarmTypeList } from '@/api/dms/alarmType';
|
|
|
|
|
import { getDmsDeviceModeList } from '@/api/dms/deviceMode';
|
|
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
|
|
const { active_flag, dms_rule_type } = toRefs<any>(proxy?.useDict('active_flag', 'dms_rule_type'));
|
|
|
|
@ -283,32 +272,53 @@ const dialog = reactive<DialogOption>({
|
|
|
|
|
title: ''
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/** 获取报警级别下拉框 */
|
|
|
|
|
const alarmLevelList = ref([]);
|
|
|
|
|
const getBaseAlarmLevelListSelect = async () => {
|
|
|
|
|
let res = await getBaseAlarmLevelList(null);
|
|
|
|
|
alarmLevelList.value = res.data;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 获取报警类型下拉框 */
|
|
|
|
|
const alarmTypeList = ref([]);
|
|
|
|
|
const getBaseAlarmTypeListSelect = async () => {
|
|
|
|
|
let res = await getBaseAlarmTypeList(null);
|
|
|
|
|
alarmTypeList.value = res.data;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 获取设备模型下拉框 */
|
|
|
|
|
const deviceModeList = ref([]);
|
|
|
|
|
const getDmsDeviceModeListSelect = async () => {
|
|
|
|
|
let res = await getDmsDeviceModeList(null);
|
|
|
|
|
deviceModeList.value = res.data;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 列显隐信息
|
|
|
|
|
const columns = ref<FieldOption[]>([
|
|
|
|
|
{ key: 0, label: `报警规则ID,主键`, visible: true },
|
|
|
|
|
{ key: 0, label: `报警规则ID`, visible: false },
|
|
|
|
|
{ key: 1, label: `规则名称`, visible: true },
|
|
|
|
|
{ key: 2, label: `租户编号`, visible: true },
|
|
|
|
|
{ key: 3, label: `报警级别,关联表hw_alarm_level字段alarm_level_id`, visible: true },
|
|
|
|
|
{ key: 4, label: `报警类型,关联表hw_alarm_type字段alarm_type_id`, visible: true },
|
|
|
|
|
{ key: 2, label: `租户编号`, visible: false },
|
|
|
|
|
{ key: 3, label: `报警级别`, visible: true },
|
|
|
|
|
{ key: 4, label: `报警类型`, visible: true },
|
|
|
|
|
{ key: 5, label: `规则类型`, visible: true },
|
|
|
|
|
{ key: 6, label: `关联表hw_device字段device_id。`, visible: true },
|
|
|
|
|
{ key: 7, label: `关联表hw_device_mode字段device_mode_id;`, visible: true },
|
|
|
|
|
{ key: 8, label: `一共有几个属性规则`, visible: true },
|
|
|
|
|
{ key: 9, label: `表达式,例如:{}>60 or {}<-88`, visible: true },
|
|
|
|
|
{ key: 6, label: `设备名称`, visible: false },
|
|
|
|
|
{ key: 7, label: `设备模型`, visible: true },
|
|
|
|
|
{ key: 8, label: `属性规则数量`, visible: true },
|
|
|
|
|
{ key: 9, label: `表达式`, visible: true },
|
|
|
|
|
{ key: 10, label: `联动标识`, visible: true },
|
|
|
|
|
{ key: 11, label: `报警启用状态(1、是,0、否)`, visible: true },
|
|
|
|
|
{ key: 12, label: `报警推送标识(1、是,0、否)`, visible: true },
|
|
|
|
|
{ key: 11, label: `报警启用状态`, visible: true },
|
|
|
|
|
{ key: 12, label: `报警推送标识`, visible: true },
|
|
|
|
|
{ key: 13, label: `报警推送内容`, visible: true },
|
|
|
|
|
{ key: 14, label: `恢复正常推送内容`, visible: true },
|
|
|
|
|
{ key: 15, label: `时间范围`, visible: true },
|
|
|
|
|
{ key: 16, label: `触发阈值次数`, visible: true },
|
|
|
|
|
{ key: 17, label: `触发死区`, visible: true },
|
|
|
|
|
{ key: 15, label: `时间范围`, visible: false },
|
|
|
|
|
{ key: 16, label: `触发阈值次数`, visible: false },
|
|
|
|
|
{ key: 17, label: `触发死区`, visible: false },
|
|
|
|
|
{ key: 18, label: `描述`, visible: true },
|
|
|
|
|
{ key: 19, label: `创建部门`, visible: true },
|
|
|
|
|
{ key: 20, label: `创建人`, visible: true },
|
|
|
|
|
{ key: 21, label: `创建时间`, visible: true },
|
|
|
|
|
{ key: 22, label: `更新人`, visible: true },
|
|
|
|
|
{ key: 23, label: `更新时间`, visible: true }
|
|
|
|
|
{ key: 19, label: `创建部门`, visible: false },
|
|
|
|
|
{ key: 20, label: `创建人`, visible: false },
|
|
|
|
|
{ key: 21, label: `创建时间`, visible: false },
|
|
|
|
|
{ key: 22, label: `更新人`, visible: false },
|
|
|
|
|
{ key: 23, label: `更新时间`, visible: false }
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const initFormData: AlarmRuleForm = {
|
|
|
|
@ -321,9 +331,9 @@ const initFormData: AlarmRuleForm = {
|
|
|
|
|
ruleDeviceModeId: undefined,
|
|
|
|
|
ruleFunctionTotal: undefined,
|
|
|
|
|
triggerExpression: undefined,
|
|
|
|
|
linkFlag: undefined,
|
|
|
|
|
alarmRuleStatus: undefined,
|
|
|
|
|
alarmPushFlag: undefined,
|
|
|
|
|
linkFlag: '1',
|
|
|
|
|
alarmRuleStatus: '1',
|
|
|
|
|
alarmPushFlag: '1',
|
|
|
|
|
alarmPushContent: undefined,
|
|
|
|
|
alarmRecoverContent: undefined,
|
|
|
|
|
triggerTimeFrame: undefined,
|
|
|
|
@ -360,16 +370,30 @@ const data = reactive<PageData<AlarmRuleForm, AlarmRuleQuery>>({
|
|
|
|
|
{ required: true, message: '规则名称不能为空', trigger: 'blur' }
|
|
|
|
|
],
|
|
|
|
|
alarmLevelId: [
|
|
|
|
|
{ required: true, message: '报警级别,关联表hw_alarm_level字段alarm_level_id不能为空', trigger: 'blur' }
|
|
|
|
|
{ required: true, message: '报警级别不能为空', trigger: 'blur' }
|
|
|
|
|
],
|
|
|
|
|
triggerExpression: [
|
|
|
|
|
{ required: true, message: '表达式不能为空', trigger: 'blur' }
|
|
|
|
|
],
|
|
|
|
|
alarmTypeId: [
|
|
|
|
|
{ required: true, message: '报警类型,关联表hw_alarm_type字段alarm_type_id不能为空', trigger: 'blur' }
|
|
|
|
|
{ required: true, message: '报警类型不能为空', trigger: 'blur' }
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const { queryParams, form, rules } = toRefs(data);
|
|
|
|
|
|
|
|
|
|
// /** 获取设备模型功能下拉框 */
|
|
|
|
|
// const deviceModeFunctionList = ref([]);
|
|
|
|
|
// watch(() => form.value.deviceModeId, (val, oldVal) => {
|
|
|
|
|
// const getDmsDeviceModeFunctionListSelect = async () => {
|
|
|
|
|
// if (val !== null){
|
|
|
|
|
// let res = await getDmsDeviceModeFunctionList({ deviceModeId: val, functionMode: '3'});
|
|
|
|
|
// deviceModeFunctionList.value = res.data;
|
|
|
|
|
// }
|
|
|
|
|
// };
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
/** 查询报警规则列表 */
|
|
|
|
|
const getList = async () => {
|
|
|
|
|
loading.value = true;
|
|
|
|
@ -461,6 +485,9 @@ const handleExport = () => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
getBaseAlarmLevelListSelect();
|
|
|
|
|
getBaseAlarmTypeListSelect();
|
|
|
|
|
getDmsDeviceModeListSelect();
|
|
|
|
|
getList();
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|