add(base): 添加报警信息功能

- 新增 BaseAlarmInfo 实体类
- 创建报警信息相关的 Mapper、Service、Controller
- 添加报警信息的 API 接口和实现
- 创建报警信息的数据库表结构
- 添加报警信息相关的菜单项和权限
IOT
zch 1 year ago
parent 7c3682777f
commit f36341e457

@ -0,0 +1,104 @@
package com.ruoyi.base.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.base.domain.BaseAlarmInfo;
import com.ruoyi.base.service.IBaseAlarmInfoService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author zangch
* @date 2024-12-02
*/
@RestController
@RequestMapping("/base/baseAlarmInfo")
public class BaseAlarmInfoController extends BaseController
{
@Autowired
private IBaseAlarmInfoService baseAlarmInfoService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('base:baseAlarmInfo:list')")
@GetMapping("/list")
public TableDataInfo list(BaseAlarmInfo baseAlarmInfo)
{
startPage();
List<BaseAlarmInfo> list = baseAlarmInfoService.selectBaseAlarmInfoList(baseAlarmInfo);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('base:baseAlarmInfo:export')")
@Log(title = "报警信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, BaseAlarmInfo baseAlarmInfo)
{
List<BaseAlarmInfo> list = baseAlarmInfoService.selectBaseAlarmInfoList(baseAlarmInfo);
ExcelUtil<BaseAlarmInfo> util = new ExcelUtil<BaseAlarmInfo>(BaseAlarmInfo.class);
util.exportExcel(response, list, "报警信息数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('base:baseAlarmInfo:query')")
@GetMapping(value = "/{objId}")
public AjaxResult getInfo(@PathVariable("objId") Long objId)
{
return success(baseAlarmInfoService.selectBaseAlarmInfoByObjId(objId));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('base:baseAlarmInfo:add')")
@Log(title = "报警信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BaseAlarmInfo baseAlarmInfo)
{
return toAjax(baseAlarmInfoService.insertBaseAlarmInfo(baseAlarmInfo));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('base:baseAlarmInfo:edit')")
@Log(title = "报警信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BaseAlarmInfo baseAlarmInfo)
{
return toAjax(baseAlarmInfoService.updateBaseAlarmInfo(baseAlarmInfo));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('base:baseAlarmInfo:remove')")
@Log(title = "报警信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{objIds}")
public AjaxResult remove(@PathVariable Long[] objIds)
{
return toAjax(baseAlarmInfoService.deleteBaseAlarmInfoByObjIds(objIds));
}
}

@ -0,0 +1,197 @@
package com.ruoyi.base.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* base_alarm_info
*
* @author zangch
* @date 2024-12-02
*/
public class BaseAlarmInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 标识 */
@Excel(name = "标识")
private Long objId;
/** 母排编号 */
@Excel(name = "母排编号")
private Long busbarCode;
/** 报警别名 */
@Excel(name = "报警别名")
private String alarmAlias;
/** 报警内容 */
@Excel(name = "报警内容")
private String alarmContent;
/** 报警类型 */
@Excel(name = "报警类型")
private Long alarmType;
/** 报警阈值 */
@Excel(name = "报警阈值")
private BigDecimal alarmValue;
/** 判断方式:1-大于2-小于 */
@Excel(name = "判断方式:1-大于2-小于")
private Long judgMethod;
/** 是否启用:1-是0-否;;0-否 */
@Excel(name = "是否启用:1-是0-否;;0-否")
private Long isFlag;
/** 创建人 */
@Excel(name = "创建人")
private String createdBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdTime;
/** 更新人 */
@Excel(name = "更新人")
private String updatedBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date updatedTime;
public void setObjId(Long objId)
{
this.objId = objId;
}
public Long getObjId()
{
return objId;
}
public void setBusbarCode(Long busbarCode)
{
this.busbarCode = busbarCode;
}
public Long getBusbarCode()
{
return busbarCode;
}
public void setAlarmAlias(String alarmAlias)
{
this.alarmAlias = alarmAlias;
}
public String getAlarmAlias()
{
return alarmAlias;
}
public void setAlarmContent(String alarmContent)
{
this.alarmContent = alarmContent;
}
public String getAlarmContent()
{
return alarmContent;
}
public void setAlarmType(Long alarmType)
{
this.alarmType = alarmType;
}
public Long getAlarmType()
{
return alarmType;
}
public void setAlarmValue(BigDecimal alarmValue)
{
this.alarmValue = alarmValue;
}
public BigDecimal getAlarmValue()
{
return alarmValue;
}
public void setJudgMethod(Long judgMethod)
{
this.judgMethod = judgMethod;
}
public Long getJudgMethod()
{
return judgMethod;
}
public void setIsFlag(Long isFlag)
{
this.isFlag = isFlag;
}
public Long getIsFlag()
{
return isFlag;
}
public void setCreatedBy(String createdBy)
{
this.createdBy = createdBy;
}
public String getCreatedBy()
{
return createdBy;
}
public void setCreatedTime(Date createdTime)
{
this.createdTime = createdTime;
}
public Date getCreatedTime()
{
return createdTime;
}
public void setUpdatedBy(String updatedBy)
{
this.updatedBy = updatedBy;
}
public String getUpdatedBy()
{
return updatedBy;
}
public void setUpdatedTime(Date updatedTime)
{
this.updatedTime = updatedTime;
}
public Date getUpdatedTime()
{
return updatedTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objId", getObjId())
.append("busbarCode", getBusbarCode())
.append("alarmAlias", getAlarmAlias())
.append("alarmContent", getAlarmContent())
.append("alarmType", getAlarmType())
.append("alarmValue", getAlarmValue())
.append("judgMethod", getJudgMethod())
.append("isFlag", getIsFlag())
.append("createdBy", getCreatedBy())
.append("createdTime", getCreatedTime())
.append("updatedBy", getUpdatedBy())
.append("updatedTime", getUpdatedTime())
.toString();
}
}

@ -0,0 +1,61 @@
package com.ruoyi.base.mapper;
import java.util.List;
import com.ruoyi.base.domain.BaseAlarmInfo;
/**
* Mapper
*
* @author zangch
* @date 2024-12-02
*/
public interface BaseAlarmInfoMapper
{
/**
*
*
* @param objId
* @return
*/
public BaseAlarmInfo selectBaseAlarmInfoByObjId(Long objId);
/**
*
*
* @param baseAlarmInfo
* @return
*/
public List<BaseAlarmInfo> selectBaseAlarmInfoList(BaseAlarmInfo baseAlarmInfo);
/**
*
*
* @param baseAlarmInfo
* @return
*/
public int insertBaseAlarmInfo(BaseAlarmInfo baseAlarmInfo);
/**
*
*
* @param baseAlarmInfo
* @return
*/
public int updateBaseAlarmInfo(BaseAlarmInfo baseAlarmInfo);
/**
*
*
* @param objId
* @return
*/
public int deleteBaseAlarmInfoByObjId(Long objId);
/**
*
*
* @param objIds
* @return
*/
public int deleteBaseAlarmInfoByObjIds(Long[] objIds);
}

@ -0,0 +1,61 @@
package com.ruoyi.base.service;
import java.util.List;
import com.ruoyi.base.domain.BaseAlarmInfo;
/**
* Service
*
* @author zangch
* @date 2024-12-02
*/
public interface IBaseAlarmInfoService
{
/**
*
*
* @param objId
* @return
*/
public BaseAlarmInfo selectBaseAlarmInfoByObjId(Long objId);
/**
*
*
* @param baseAlarmInfo
* @return
*/
public List<BaseAlarmInfo> selectBaseAlarmInfoList(BaseAlarmInfo baseAlarmInfo);
/**
*
*
* @param baseAlarmInfo
* @return
*/
public int insertBaseAlarmInfo(BaseAlarmInfo baseAlarmInfo);
/**
*
*
* @param baseAlarmInfo
* @return
*/
public int updateBaseAlarmInfo(BaseAlarmInfo baseAlarmInfo);
/**
*
*
* @param objIds
* @return
*/
public int deleteBaseAlarmInfoByObjIds(Long[] objIds);
/**
*
*
* @param objId
* @return
*/
public int deleteBaseAlarmInfoByObjId(Long objId);
}

@ -0,0 +1,93 @@
package com.ruoyi.base.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.base.mapper.BaseAlarmInfoMapper;
import com.ruoyi.base.domain.BaseAlarmInfo;
import com.ruoyi.base.service.IBaseAlarmInfoService;
/**
* Service
*
* @author zangch
* @date 2024-12-02
*/
@Service
public class BaseAlarmInfoServiceImpl implements IBaseAlarmInfoService
{
@Autowired
private BaseAlarmInfoMapper baseAlarmInfoMapper;
/**
*
*
* @param objId
* @return
*/
@Override
public BaseAlarmInfo selectBaseAlarmInfoByObjId(Long objId)
{
return baseAlarmInfoMapper.selectBaseAlarmInfoByObjId(objId);
}
/**
*
*
* @param baseAlarmInfo
* @return
*/
@Override
public List<BaseAlarmInfo> selectBaseAlarmInfoList(BaseAlarmInfo baseAlarmInfo)
{
return baseAlarmInfoMapper.selectBaseAlarmInfoList(baseAlarmInfo);
}
/**
*
*
* @param baseAlarmInfo
* @return
*/
@Override
public int insertBaseAlarmInfo(BaseAlarmInfo baseAlarmInfo)
{
return baseAlarmInfoMapper.insertBaseAlarmInfo(baseAlarmInfo);
}
/**
*
*
* @param baseAlarmInfo
* @return
*/
@Override
public int updateBaseAlarmInfo(BaseAlarmInfo baseAlarmInfo)
{
return baseAlarmInfoMapper.updateBaseAlarmInfo(baseAlarmInfo);
}
/**
*
*
* @param objIds
* @return
*/
@Override
public int deleteBaseAlarmInfoByObjIds(Long[] objIds)
{
return baseAlarmInfoMapper.deleteBaseAlarmInfoByObjIds(objIds);
}
/**
*
*
* @param objId
* @return
*/
@Override
public int deleteBaseAlarmInfoByObjId(Long objId)
{
return baseAlarmInfoMapper.deleteBaseAlarmInfoByObjId(objId);
}
}

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.base.mapper.BaseAlarmInfoMapper">
<resultMap type="BaseAlarmInfo" id="BaseAlarmInfoResult">
<result property="objId" column="obj_id" />
<result property="busbarCode" column="busbar_code" />
<result property="alarmAlias" column="alarm_alias" />
<result property="alarmContent" column="alarm_content" />
<result property="alarmType" column="alarm_type" />
<result property="alarmValue" column="alarm_value" />
<result property="judgMethod" column="judg_method" />
<result property="isFlag" column="is_flag" />
<result property="createdBy" column="created_by" />
<result property="createdTime" column="created_time" />
<result property="updatedBy" column="updated_by" />
<result property="updatedTime" column="updated_time" />
</resultMap>
<sql id="selectBaseAlarmInfoVo">
select obj_id, busbar_code, alarm_alias, alarm_content, alarm_type, alarm_value, judg_method, is_flag, created_by, created_time, updated_by, updated_time from base_alarm_info
</sql>
<select id="selectBaseAlarmInfoList" parameterType="BaseAlarmInfo" resultMap="BaseAlarmInfoResult">
<include refid="selectBaseAlarmInfoVo"/>
<where>
<if test="objId != null "> and obj_id = #{objId}</if>
<if test="busbarCode != null "> and busbar_code = #{busbarCode}</if>
<if test="alarmAlias != null and alarmAlias != ''"> and alarm_alias = #{alarmAlias}</if>
<if test="alarmContent != null and alarmContent != ''"> and alarm_content = #{alarmContent}</if>
<if test="alarmType != null "> and alarm_type = #{alarmType}</if>
<if test="alarmValue != null "> and alarm_value = #{alarmValue}</if>
<if test="judgMethod != null "> and judg_method = #{judgMethod}</if>
<if test="isFlag != null "> and is_flag = #{isFlag}</if>
<if test="createdBy != null and createdBy != ''"> and created_by = #{createdBy}</if>
<if test="params.beginCreatedTime != null and params.beginCreatedTime != '' and params.endCreatedTime != null and params.endCreatedTime != ''"> and created_time between #{params.beginCreatedTime} and #{params.endCreatedTime}</if>
<if test="updatedBy != null and updatedBy != ''"> and updated_by = #{updatedBy}</if>
<if test="params.beginUpdatedTime != null and params.beginUpdatedTime != '' and params.endUpdatedTime != null and params.endUpdatedTime != ''"> and updated_time between #{params.beginUpdatedTime} and #{params.endUpdatedTime}</if>
</where>
</select>
<select id="selectBaseAlarmInfoByObjId" parameterType="Long" resultMap="BaseAlarmInfoResult">
<include refid="selectBaseAlarmInfoVo"/>
where obj_id = #{objId}
</select>
<insert id="insertBaseAlarmInfo" parameterType="BaseAlarmInfo">
insert into base_alarm_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="objId != null">obj_id,</if>
<if test="busbarCode != null">busbar_code,</if>
<if test="alarmAlias != null">alarm_alias,</if>
<if test="alarmContent != null">alarm_content,</if>
<if test="alarmType != null">alarm_type,</if>
<if test="alarmValue != null">alarm_value,</if>
<if test="judgMethod != null">judg_method,</if>
<if test="isFlag != null">is_flag,</if>
<if test="createdBy != null">created_by,</if>
<if test="createdTime != null">created_time,</if>
<if test="updatedBy != null">updated_by,</if>
<if test="updatedTime != null">updated_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="objId != null">#{objId},</if>
<if test="busbarCode != null">#{busbarCode},</if>
<if test="alarmAlias != null">#{alarmAlias},</if>
<if test="alarmContent != null">#{alarmContent},</if>
<if test="alarmType != null">#{alarmType},</if>
<if test="alarmValue != null">#{alarmValue},</if>
<if test="judgMethod != null">#{judgMethod},</if>
<if test="isFlag != null">#{isFlag},</if>
<if test="createdBy != null">#{createdBy},</if>
<if test="createdTime != null">#{createdTime},</if>
<if test="updatedBy != null">#{updatedBy},</if>
<if test="updatedTime != null">#{updatedTime},</if>
</trim>
</insert>
<update id="updateBaseAlarmInfo" parameterType="BaseAlarmInfo">
update base_alarm_info
<trim prefix="SET" suffixOverrides=",">
<if test="busbarCode != null">busbar_code = #{busbarCode},</if>
<if test="alarmAlias != null">alarm_alias = #{alarmAlias},</if>
<if test="alarmContent != null">alarm_content = #{alarmContent},</if>
<if test="alarmType != null">alarm_type = #{alarmType},</if>
<if test="alarmValue != null">alarm_value = #{alarmValue},</if>
<if test="judgMethod != null">judg_method = #{judgMethod},</if>
<if test="isFlag != null">is_flag = #{isFlag},</if>
<if test="createdBy != null">created_by = #{createdBy},</if>
<if test="createdTime != null">created_time = #{createdTime},</if>
<if test="updatedBy != null">updated_by = #{updatedBy},</if>
<if test="updatedTime != null">updated_time = #{updatedTime},</if>
</trim>
where obj_id = #{objId}
</update>
<delete id="deleteBaseAlarmInfoByObjId" parameterType="Long">
delete from base_alarm_info where obj_id = #{objId}
</delete>
<delete id="deleteBaseAlarmInfoByObjIds" parameterType="String">
delete from base_alarm_info where obj_id in
<foreach item="objId" collection="array" open="(" separator="," close=")">
#{objId}
</foreach>
</delete>
</mapper>

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询报警信息列表
export function listBaseAlarmInfo(query) {
return request({
url: '/base/baseAlarmInfo/list',
method: 'get',
params: query
})
}
// 查询报警信息详细
export function getBaseAlarmInfo(objId) {
return request({
url: '/base/baseAlarmInfo/' + objId,
method: 'get'
})
}
// 新增报警信息
export function addBaseAlarmInfo(data) {
return request({
url: '/base/baseAlarmInfo',
method: 'post',
data: data
})
}
// 修改报警信息
export function updateBaseAlarmInfo(data) {
return request({
url: '/base/baseAlarmInfo',
method: 'put',
data: data
})
}
// 删除报警信息
export function delBaseAlarmInfo(objId) {
return request({
url: '/base/baseAlarmInfo/' + objId,
method: 'delete'
})
}

@ -0,0 +1,463 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="标识" prop="objId">
<el-input
v-model="queryParams.objId"
placeholder="请输入标识"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="母排编号" prop="busbarCode">
<el-input
v-model="queryParams.busbarCode"
placeholder="请输入母排编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报警别名" prop="alarmAlias">
<el-input
v-model="queryParams.alarmAlias"
placeholder="请输入报警别名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报警类型" prop="alarmType">
<el-select v-model="queryParams.alarmType" placeholder="请选择报警类型" clearable>
<el-option
v-for="dict in dict.type.alarm_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="报警阈值" prop="alarmValue">
<el-input
v-model="queryParams.alarmValue"
placeholder="请输入报警阈值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="判断方式" prop="judgMethod">
<el-select v-model="queryParams.judgMethod" placeholder="请选择判断方式" clearable>
<el-option
v-for="dict in dict.type.judg_method"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="是否启用" prop="isFlag">
<el-select v-model="queryParams.isFlag" placeholder="请选择是否启用" clearable>
<el-option
v-for="dict in dict.type.is_flag"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建人" prop="createdBy">
<el-input
v-model="queryParams.createdBy"
placeholder="请输入创建人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="daterangeCreatedTime"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updatedBy">
<el-input
v-model="queryParams.updatedBy"
placeholder="请输入更新人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新时间">
<el-date-picker
v-model="daterangeUpdatedTime"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:baseAlarmInfo:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:baseAlarmInfo:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['base:baseAlarmInfo:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['base:baseAlarmInfo:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="baseAlarmInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="标识" align="center" prop="objId" />
<el-table-column label="母排编号" align="center" prop="busbarCode" />
<el-table-column label="报警别名" align="center" prop="alarmAlias" />
<el-table-column label="报警内容" align="center" prop="alarmContent" />
<el-table-column label="报警类型" align="center" prop="alarmType">
<template slot-scope="scope">
<dict-tag :options="dict.type.alarm_type" :value="scope.row.alarmType"/>
</template>
</el-table-column>
<el-table-column label="报警阈值" align="center" prop="alarmValue" />
<el-table-column label="判断方式" align="center" prop="judgMethod">
<template slot-scope="scope">
<dict-tag :options="dict.type.judg_method" :value="scope.row.judgMethod"/>
</template>
</el-table-column>
<el-table-column label="是否启用" align="center" prop="isFlag">
<template slot-scope="scope">
<dict-tag :options="dict.type.is_flag" :value="scope.row.isFlag"/>
</template>
</el-table-column>
<el-table-column label="创建人" align="center" prop="createdBy" />
<el-table-column label="创建时间" align="center" prop="createdTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createdTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="更新人" align="center" prop="updatedBy" />
<el-table-column label="更新时间" align="center" prop="updatedTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updatedTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:baseAlarmInfo:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:baseAlarmInfo:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改报警信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="母排编号" prop="busbarCode">
<el-input v-model="form.busbarCode" placeholder="请输入母排编号" />
</el-form-item>
<el-form-item label="报警别名" prop="alarmAlias">
<el-input v-model="form.alarmAlias" placeholder="请输入报警别名" />
</el-form-item>
<el-form-item label="报警内容">
<editor v-model="form.alarmContent" :min-height="192"/>
</el-form-item>
<el-form-item label="报警类型" prop="alarmType">
<el-select v-model="form.alarmType" placeholder="请选择报警类型">
<el-option
v-for="dict in dict.type.alarm_type"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="报警阈值" prop="alarmValue">
<el-input v-model="form.alarmValue" placeholder="请输入报警阈值" />
</el-form-item>
<el-form-item label="判断方式" prop="judgMethod">
<el-radio-group v-model="form.judgMethod">
<el-radio
v-for="dict in dict.type.judg_method"
:key="dict.value"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否启用" prop="isFlag">
<el-radio-group v-model="form.isFlag">
<el-radio
v-for="dict in dict.type.is_flag"
:key="dict.value"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="创建人" prop="createdBy">
<el-input v-model="form.createdBy" placeholder="请输入创建人" />
</el-form-item>
<el-form-item label="创建时间" prop="createdTime">
<el-date-picker clearable
v-model="form.createdTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updatedBy">
<el-input v-model="form.updatedBy" placeholder="请输入更新人" />
</el-form-item>
<el-form-item label="更新时间" prop="updatedTime">
<el-date-picker clearable
v-model="form.updatedTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBaseAlarmInfo, getBaseAlarmInfo, delBaseAlarmInfo, addBaseAlarmInfo, updateBaseAlarmInfo } from "@/api/base/baseAlarmInfo";
export default {
name: "BaseAlarmInfo",
dicts: ['judg_method', 'is_flag', 'alarm_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
baseAlarmInfoList: [],
//
title: "",
//
open: false,
//
daterangeCreatedTime: [],
//
daterangeUpdatedTime: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
objId: null,
busbarCode: null,
alarmAlias: null,
alarmContent: null,
alarmType: null,
alarmValue: null,
judgMethod: null,
isFlag: null,
createdBy: null,
createdTime: null,
updatedBy: null,
updatedTime: null
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询报警信息列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreatedTime && '' != this.daterangeCreatedTime) {
this.queryParams.params["beginCreatedTime"] = this.daterangeCreatedTime[0];
this.queryParams.params["endCreatedTime"] = this.daterangeCreatedTime[1];
}
if (null != this.daterangeUpdatedTime && '' != this.daterangeUpdatedTime) {
this.queryParams.params["beginUpdatedTime"] = this.daterangeUpdatedTime[0];
this.queryParams.params["endUpdatedTime"] = this.daterangeUpdatedTime[1];
}
listBaseAlarmInfo(this.queryParams).then(response => {
this.baseAlarmInfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
objId: null,
busbarCode: null,
alarmAlias: null,
alarmContent: null,
alarmType: null,
alarmValue: null,
judgMethod: null,
isFlag: null,
createdBy: null,
createdTime: null,
updatedBy: null,
updatedTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreatedTime = [];
this.daterangeUpdatedTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.objId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加报警信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const objId = row.objId || this.ids
getBaseAlarmInfo(objId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改报警信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.objId != null) {
updateBaseAlarmInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBaseAlarmInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const objIds = row.objId || this.ids;
this.$modal.confirm('是否确认删除报警信息编号为"' + objIds + '"的数据项?').then(function() {
return delBaseAlarmInfo(objIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('base/baseAlarmInfo/export', {
...this.queryParams
}, `baseAlarmInfo_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,22 @@
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('报警信息', '2000', '1', 'baseAlarmInfo', 'base/baseAlarmInfo/index', 1, 0, 'C', '0', '0', 'base:baseAlarmInfo:list', '#', 'admin', sysdate(), '', null, '报警信息菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('报警信息查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'base:baseAlarmInfo:query', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('报警信息新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'base:baseAlarmInfo:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('报警信息修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'base:baseAlarmInfo:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('报警信息删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'base:baseAlarmInfo:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('报警信息导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'base:baseAlarmInfo:export', '#', 'admin', sysdate(), '', null, '');
Loading…
Cancel
Save