Compare commits
2 Commits
e1e5be1827
...
b83566427a
Author | SHA1 | Date | |
---|---|---|---|
b83566427a | |||
a9d714211d |
@ -175,5 +175,9 @@ public interface ErrorCodeConstants {
|
|||||||
|
|
||||||
// ========== 设备管理模块 ==========
|
// ========== 设备管理模块 ==========
|
||||||
ErrorCode GATEWAY_INFO_NOT_EXISTS = new ErrorCode(1_002_029_000, "机床网关信息不存在");
|
ErrorCode GATEWAY_INFO_NOT_EXISTS = new ErrorCode(1_002_029_000, "机床网关信息不存在");
|
||||||
ErrorCode ALARM_RULES_NOT_EXISTS = new ErrorCode(1_002_029_001, "机床报警规则不存在");
|
// ========== 报警管理模块 ==========
|
||||||
|
ErrorCode ALARM_RULES_NOT_EXISTS = new ErrorCode(1_002_030_000, "机床报警规则不存在");
|
||||||
|
|
||||||
|
ErrorCode EQUIP_ALARM_DATA_NOT_EXISTS = new ErrorCode(1_002_030_001, "机床报警数据不存在");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -52,6 +52,16 @@ public class AlarmRulesController {
|
|||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PutMapping("/changeStatus")
|
||||||
|
@Operation(summary = "改变报警规则状态")
|
||||||
|
@PreAuthorize("@ss.hasPermission('imt:alarm-rules:change')")
|
||||||
|
public CommonResult<Boolean> changeAlarmRulesStatus(@Valid @RequestBody AlarmRulesSaveReqVO updateReqVO) {
|
||||||
|
AlarmRulesDO alarmRules = alarmRulesService.getAlarmRules(updateReqVO.getAlarmId());
|
||||||
|
updateReqVO.setStatus(alarmRules.getStatus() == 0 ? 1 : 0);
|
||||||
|
alarmRulesService.updateAlarmRules(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
@DeleteMapping("/delete")
|
@DeleteMapping("/delete")
|
||||||
@Operation(summary = "删除机床报警规则")
|
@Operation(summary = "删除机床报警规则")
|
||||||
@Parameter(name = "id", description = "编号", required = true)
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
|
@ -0,0 +1,100 @@
|
|||||||
|
package com.inspur.module.system.controller.admin.alarm;
|
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
import javax.servlet.http.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import com.inspur.framework.common.pojo.PageParam;
|
||||||
|
import com.inspur.framework.common.pojo.PageResult;
|
||||||
|
import com.inspur.framework.common.pojo.CommonResult;
|
||||||
|
import com.inspur.framework.common.util.object.BeanUtils;
|
||||||
|
|
||||||
|
import static com.inspur.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
|
import com.inspur.framework.excel.core.util.ExcelUtils;
|
||||||
|
|
||||||
|
import com.inspur.framework.apilog.core.annotation.ApiAccessLog;
|
||||||
|
|
||||||
|
import static com.inspur.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||||
|
|
||||||
|
import com.inspur.module.system.controller.admin.alarm.vo.*;
|
||||||
|
import com.inspur.module.system.dal.dataobject.alarm.EquipAlarmDataDO;
|
||||||
|
import com.inspur.module.system.service.alarm.EquipAlarmDataService;
|
||||||
|
|
||||||
|
@Tag(name = "管理后台 - 机床设备报警数据")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/imt/equip-alarm-data")
|
||||||
|
@Validated
|
||||||
|
public class EquipAlarmDataController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EquipAlarmDataService equipAlarmDataService;
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
@Operation(summary = "创建机床设备报警数据")
|
||||||
|
@PreAuthorize("@ss.hasPermission('imt:equip-alarm-data:create')")
|
||||||
|
public CommonResult<String> createEquipAlarmData(@Valid @RequestBody EquipAlarmDataSaveReqVO createReqVO) {
|
||||||
|
return success(equipAlarmDataService.createEquipAlarmData(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/update")
|
||||||
|
@Operation(summary = "更新机床设备报警数据")
|
||||||
|
@PreAuthorize("@ss.hasPermission('imt:equip-alarm-data:update')")
|
||||||
|
public CommonResult<Boolean> updateEquipAlarmData(@Valid @RequestBody EquipAlarmDataSaveReqVO updateReqVO) {
|
||||||
|
equipAlarmDataService.updateEquipAlarmData(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
@Operation(summary = "删除机床设备报警数据")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
|
@PreAuthorize("@ss.hasPermission('imt:equip-alarm-data:delete')")
|
||||||
|
public CommonResult<Boolean> deleteEquipAlarmData(@RequestParam("id") String id) {
|
||||||
|
equipAlarmDataService.deleteEquipAlarmData(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@Operation(summary = "获得机床设备报警数据")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
|
@PreAuthorize("@ss.hasPermission('imt:equip-alarm-data:query')")
|
||||||
|
public CommonResult<EquipAlarmDataRespVO> getEquipAlarmData(@RequestParam("id") String id) {
|
||||||
|
EquipAlarmDataDO equipAlarmData = equipAlarmDataService.getEquipAlarmData(id);
|
||||||
|
return success(BeanUtils.toBean(equipAlarmData, EquipAlarmDataRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/page")
|
||||||
|
@Operation(summary = "获得机床设备报警数据分页")
|
||||||
|
@PreAuthorize("@ss.hasPermission('imt:equip-alarm-data:query')")
|
||||||
|
public CommonResult<PageResult<EquipAlarmDataRespVO>> getEquipAlarmDataPage(@Valid EquipAlarmDataPageReqVO pageReqVO) {
|
||||||
|
PageResult<EquipAlarmDataDO> pageResult = equipAlarmDataService.getEquipAlarmDataPage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, EquipAlarmDataRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/export-excel")
|
||||||
|
@Operation(summary = "导出机床设备报警数据 Excel")
|
||||||
|
@PreAuthorize("@ss.hasPermission('imt:equip-alarm-data:export')")
|
||||||
|
@ApiAccessLog(operateType = EXPORT)
|
||||||
|
public void exportEquipAlarmDataExcel(@Valid EquipAlarmDataPageReqVO pageReqVO,
|
||||||
|
HttpServletResponse response) throws IOException {
|
||||||
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
|
List<EquipAlarmDataDO> list = equipAlarmDataService.getEquipAlarmDataPage(pageReqVO).getList();
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "机床设备报警数据.xls", "数据", EquipAlarmDataRespVO.class,
|
||||||
|
BeanUtils.toBean(list, EquipAlarmDataRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
package com.inspur.module.system.controller.admin.alarm.vo;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import com.inspur.framework.common.pojo.PageParam;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import static com.inspur.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 机床设备报警数据分页 Request VO")
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
public class EquipAlarmDataPageReqVO extends PageParam {
|
||||||
|
|
||||||
|
@Schema(description = "机床设备id")
|
||||||
|
private String equipId;
|
||||||
|
|
||||||
|
@Schema(description = "机床组件id")
|
||||||
|
private String componentId;
|
||||||
|
|
||||||
|
@Schema(description = "报警等级(1:1级,2:2级,3:3级)")
|
||||||
|
private Integer alarmLevel;
|
||||||
|
|
||||||
|
@Schema(description = "报警类型(0:阈值报警 1:趋势报警)")
|
||||||
|
private Integer alarmType;
|
||||||
|
|
||||||
|
@Schema(description = "首次报警时间")
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
private LocalDateTime[] firstAlarmTime;
|
||||||
|
|
||||||
|
@Schema(description = "最新报警时间")
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
private LocalDateTime[] latestAlarmTime;
|
||||||
|
|
||||||
|
@Schema(description = "状态(0:待处理,1:已处理)", example = "1")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
@Schema(description = "机床分析状态(0:正常,1:磨损中,2:磨损严重)")
|
||||||
|
private Integer equipAnalyseStatus;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,72 @@
|
|||||||
|
package com.inspur.module.system.controller.admin.alarm.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.*;
|
||||||
|
import com.inspur.framework.excel.core.annotations.DictFormat;
|
||||||
|
import com.inspur.framework.excel.core.convert.DictConvert;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 机床设备报警数据 Response VO")
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class EquipAlarmDataRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "设备预警信息主键", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@ExcelProperty("设备预警信息主键")
|
||||||
|
private String equipAlarmId;
|
||||||
|
|
||||||
|
@Schema(description = "机床设备id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@ExcelProperty("机床设备id")
|
||||||
|
private String equipId;
|
||||||
|
|
||||||
|
@Schema(description = "机床组件id", example = "10773")
|
||||||
|
@ExcelProperty("机床组件id")
|
||||||
|
private String componentId;
|
||||||
|
|
||||||
|
@Schema(description = "报警等级(1:1级,2:2级,3:3级)")
|
||||||
|
@ExcelProperty(value = "报警等级(1:1级,2:2级,3:3级)", converter = DictConvert.class)
|
||||||
|
@DictFormat("alarm_level") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||||
|
private Integer alarmLevel;
|
||||||
|
|
||||||
|
@Schema(description = "首次报警时间")
|
||||||
|
@ExcelProperty("首次报警时间")
|
||||||
|
private LocalDateTime firstAlarmTime;
|
||||||
|
|
||||||
|
@Schema(description = "最新报警时间")
|
||||||
|
@ExcelProperty("最新报警时间")
|
||||||
|
private LocalDateTime latestAlarmTime;
|
||||||
|
|
||||||
|
@Schema(description = "状态(0:待处理,1:已处理)")
|
||||||
|
@ExcelProperty("状态(0:待处理,1:已处理)")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
@Schema(description = "机床分析状态(0:正常,1:磨损中,2:磨损严重)")
|
||||||
|
@ExcelProperty("机床分析状态(0:正常,1:磨损中,2:磨损严重)")
|
||||||
|
private Integer equipAnalyseStatus;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "客户名")
|
||||||
|
@ExcelProperty("客户名")
|
||||||
|
private String customerName;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "设备编号")
|
||||||
|
@ExcelProperty("设备编号")
|
||||||
|
private String equipNo;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "设备型号")
|
||||||
|
@ExcelProperty("设备型号")
|
||||||
|
private String modelName;
|
||||||
|
|
||||||
|
@Schema(description = "组件名")
|
||||||
|
@ExcelProperty("组件名")
|
||||||
|
private String componentName;
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.inspur.module.system.controller.admin.alarm.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 机床设备报警数据新增/修改 Request VO")
|
||||||
|
@Data
|
||||||
|
public class EquipAlarmDataSaveReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "设备预警信息主键", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private String equipAlarmId;
|
||||||
|
|
||||||
|
@Schema(description = "机床设备id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotEmpty(message = "机床设备id不能为空")
|
||||||
|
private String equipId;
|
||||||
|
|
||||||
|
@Schema(description = "机床组件id", example = "10773")
|
||||||
|
private String componentId;
|
||||||
|
|
||||||
|
@Schema(description = "报警等级(1:1级,2:2级,3:3级)")
|
||||||
|
private Integer alarmLevel;
|
||||||
|
|
||||||
|
@Schema(description = "报警类型(0:阈值报警 1:趋势报警)")
|
||||||
|
private Integer alarmType;
|
||||||
|
|
||||||
|
@Schema(description = "首次报警时间")
|
||||||
|
private LocalDateTime firstAlarmTime;
|
||||||
|
|
||||||
|
@Schema(description = "最新报警时间")
|
||||||
|
private LocalDateTime latestAlarmTime;
|
||||||
|
|
||||||
|
@Schema(description = "状态(0:待处理,1:已处理)")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
@Schema(description = "机床分析状态(0:正常,1:磨损中,2:磨损严重)")
|
||||||
|
private Integer equipAnalyseStatus;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
package com.inspur.module.system.dal.dataobject.alarm;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import com.inspur.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机床设备报警数据 DO
|
||||||
|
*
|
||||||
|
* @author zjw
|
||||||
|
*/
|
||||||
|
@TableName("imt_equip_alarm_data")
|
||||||
|
@KeySequence("imt_equip_alarm_data_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class EquipAlarmDataDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备预警信息主键
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.ASSIGN_UUID)
|
||||||
|
private String equipAlarmId;
|
||||||
|
/**
|
||||||
|
* 机床设备id
|
||||||
|
*/
|
||||||
|
private String equipId;
|
||||||
|
/**
|
||||||
|
* 机床组件id
|
||||||
|
*/
|
||||||
|
private String componentId;
|
||||||
|
/**
|
||||||
|
* 报警等级(1:1级,2:2级,3:3级)
|
||||||
|
* <p>
|
||||||
|
* 枚举 {@link TODO alarm_level 对应的类}
|
||||||
|
*/
|
||||||
|
private Integer alarmLevel;
|
||||||
|
/**
|
||||||
|
* 报警类型(0:阈值报警 1:趋势报警)
|
||||||
|
*/
|
||||||
|
private Integer alarmType;
|
||||||
|
/**
|
||||||
|
* 首次报警时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime firstAlarmTime;
|
||||||
|
/**
|
||||||
|
* 最新报警时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime latestAlarmTime;
|
||||||
|
/**
|
||||||
|
* 状态(0:待处理,1:已处理)
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
/**
|
||||||
|
* 机床分析状态(0:正常,1:磨损中,2:磨损严重)
|
||||||
|
*/
|
||||||
|
private Integer equipAnalyseStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户名
|
||||||
|
*/
|
||||||
|
private String customerName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备编号
|
||||||
|
*/
|
||||||
|
private String equipNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备型号
|
||||||
|
*/
|
||||||
|
private String modelName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件名
|
||||||
|
*/
|
||||||
|
private String componentName;
|
||||||
|
}
|
@ -45,5 +45,8 @@ public interface AlarmRulesMapper extends BaseMapperX<AlarmRulesDO> {
|
|||||||
*/
|
*/
|
||||||
public IPage<AlarmRulesDO> selectAlarmRulesList(IPage<AlarmRulesDO> page, @Param("reqVO") AlarmRulesPageReqVO reqVO);
|
public IPage<AlarmRulesDO> selectAlarmRulesList(IPage<AlarmRulesDO> page, @Param("reqVO") AlarmRulesPageReqVO reqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询报警规则
|
||||||
|
*/
|
||||||
|
public AlarmRulesDO selectAlarmRulesById(@Param("id") String id);
|
||||||
}
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package com.inspur.module.system.dal.mysql.alarm;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.inspur.framework.common.pojo.PageResult;
|
||||||
|
import com.inspur.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import com.inspur.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import com.inspur.module.system.dal.dataobject.alarm.AlarmRulesDO;
|
||||||
|
import com.inspur.module.system.dal.dataobject.alarm.EquipAlarmDataDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import com.inspur.module.system.controller.admin.alarm.vo.*;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机床设备报警数据 Mapper
|
||||||
|
*
|
||||||
|
* @author zjw
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface EquipAlarmDataMapper extends BaseMapperX<EquipAlarmDataDO> {
|
||||||
|
|
||||||
|
default PageResult<EquipAlarmDataDO> selectPage(EquipAlarmDataPageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<EquipAlarmDataDO>()
|
||||||
|
.eqIfPresent(EquipAlarmDataDO::getEquipId, reqVO.getEquipId())
|
||||||
|
.eqIfPresent(EquipAlarmDataDO::getComponentId, reqVO.getComponentId())
|
||||||
|
.eqIfPresent(EquipAlarmDataDO::getAlarmLevel, reqVO.getAlarmLevel())
|
||||||
|
.eqIfPresent(EquipAlarmDataDO::getAlarmType, reqVO.getAlarmType())
|
||||||
|
.betweenIfPresent(EquipAlarmDataDO::getFirstAlarmTime, reqVO.getFirstAlarmTime())
|
||||||
|
.betweenIfPresent(EquipAlarmDataDO::getLatestAlarmTime, reqVO.getLatestAlarmTime())
|
||||||
|
.eqIfPresent(EquipAlarmDataDO::getStatus, reqVO.getStatus())
|
||||||
|
.eqIfPresent(EquipAlarmDataDO::getEquipAnalyseStatus, reqVO.getEquipAnalyseStatus())
|
||||||
|
.orderByDesc(EquipAlarmDataDO::getEquipAlarmId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设备报警列表
|
||||||
|
*/
|
||||||
|
public IPage<EquipAlarmDataDO> selectEquipAlarmList(IPage<EquipAlarmDataDO> page, @Param("reqVO") EquipAlarmDataPageReqVO reqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询设备报警
|
||||||
|
*/
|
||||||
|
public EquipAlarmDataDO selectEquipAlarmById(@Param("id") String id);
|
||||||
|
}
|
@ -56,14 +56,14 @@ public class AlarmRulesServiceImpl implements AlarmRulesService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void validateAlarmRulesExists(String id) {
|
private void validateAlarmRulesExists(String id) {
|
||||||
if (alarmRulesMapper.selectById(id) == null) {
|
if (alarmRulesMapper.selectAlarmRulesById(id) == null) {
|
||||||
throw exception(ALARM_RULES_NOT_EXISTS);
|
throw exception(ALARM_RULES_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AlarmRulesDO getAlarmRules(String id) {
|
public AlarmRulesDO getAlarmRules(String id) {
|
||||||
return alarmRulesMapper.selectById(id);
|
return alarmRulesMapper.selectAlarmRulesById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,56 @@
|
|||||||
|
package com.inspur.module.system.service.alarm;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
|
||||||
|
import com.inspur.module.system.controller.admin.alarm.vo.*;
|
||||||
|
import com.inspur.module.system.dal.dataobject.alarm.EquipAlarmDataDO;
|
||||||
|
import com.inspur.framework.common.pojo.PageResult;
|
||||||
|
import com.inspur.framework.common.pojo.PageParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机床设备报警数据 Service 接口
|
||||||
|
*
|
||||||
|
* @author zjw
|
||||||
|
*/
|
||||||
|
public interface EquipAlarmDataService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建机床设备报警数据
|
||||||
|
*
|
||||||
|
* @param createReqVO 创建信息
|
||||||
|
* @return 编号
|
||||||
|
*/
|
||||||
|
String createEquipAlarmData(@Valid EquipAlarmDataSaveReqVO createReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新机床设备报警数据
|
||||||
|
*
|
||||||
|
* @param updateReqVO 更新信息
|
||||||
|
*/
|
||||||
|
void updateEquipAlarmData(@Valid EquipAlarmDataSaveReqVO updateReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除机床设备报警数据
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
*/
|
||||||
|
void deleteEquipAlarmData(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得机床设备报警数据
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 机床设备报警数据
|
||||||
|
*/
|
||||||
|
EquipAlarmDataDO getEquipAlarmData(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得机床设备报警数据分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 机床设备报警数据分页
|
||||||
|
*/
|
||||||
|
PageResult<EquipAlarmDataDO> getEquipAlarmDataPage(EquipAlarmDataPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,82 @@
|
|||||||
|
package com.inspur.module.system.service.alarm;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.inspur.module.system.dal.dataobject.alarm.AlarmRulesDO;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import com.inspur.module.system.controller.admin.alarm.vo.*;
|
||||||
|
import com.inspur.module.system.dal.dataobject.alarm.EquipAlarmDataDO;
|
||||||
|
import com.inspur.framework.common.pojo.PageResult;
|
||||||
|
import com.inspur.framework.common.pojo.PageParam;
|
||||||
|
import com.inspur.framework.common.util.object.BeanUtils;
|
||||||
|
|
||||||
|
import com.inspur.module.system.dal.mysql.alarm.EquipAlarmDataMapper;
|
||||||
|
|
||||||
|
import static com.inspur.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static com.inspur.module.system.enums.ErrorCodeConstants.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机床设备报警数据 Service 实现类
|
||||||
|
*
|
||||||
|
* @author zjw
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class EquipAlarmDataServiceImpl implements EquipAlarmDataService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EquipAlarmDataMapper equipAlarmDataMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String createEquipAlarmData(EquipAlarmDataSaveReqVO createReqVO) {
|
||||||
|
// 插入
|
||||||
|
EquipAlarmDataDO equipAlarmData = BeanUtils.toBean(createReqVO, EquipAlarmDataDO.class);
|
||||||
|
equipAlarmDataMapper.insert(equipAlarmData);
|
||||||
|
// 返回
|
||||||
|
return equipAlarmData.getEquipAlarmId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateEquipAlarmData(EquipAlarmDataSaveReqVO updateReqVO) {
|
||||||
|
// 校验存在
|
||||||
|
validateEquipAlarmDataExists(updateReqVO.getEquipAlarmId());
|
||||||
|
// 更新
|
||||||
|
EquipAlarmDataDO updateObj = BeanUtils.toBean(updateReqVO, EquipAlarmDataDO.class);
|
||||||
|
equipAlarmDataMapper.updateById(updateObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteEquipAlarmData(String id) {
|
||||||
|
// 校验存在
|
||||||
|
validateEquipAlarmDataExists(id);
|
||||||
|
// 删除
|
||||||
|
equipAlarmDataMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateEquipAlarmDataExists(String id) {
|
||||||
|
if (equipAlarmDataMapper.selectEquipAlarmById(id) == null) {
|
||||||
|
throw exception(EQUIP_ALARM_DATA_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EquipAlarmDataDO getEquipAlarmData(String id) {
|
||||||
|
return equipAlarmDataMapper.selectEquipAlarmById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<EquipAlarmDataDO> getEquipAlarmDataPage(EquipAlarmDataPageReqVO pageReqVO) {
|
||||||
|
IPage<EquipAlarmDataDO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||||
|
equipAlarmDataMapper.selectEquipAlarmList(page, pageReqVO);
|
||||||
|
return new PageResult<>(page.getRecords(), page.getTotal());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -26,7 +26,6 @@
|
|||||||
<result property="equipNo" column="equip_no" />
|
<result property="equipNo" column="equip_no" />
|
||||||
<result property="customerName" column="customer_name" />
|
<result property="customerName" column="customer_name" />
|
||||||
<result property="componentName" column="component_name" />
|
<result property="componentName" column="component_name" />
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectAlarmRulesVo">
|
<sql id="selectAlarmRulesVo">
|
||||||
@ -40,8 +39,7 @@
|
|||||||
<include refid="selectAlarmRulesVo"/>
|
<include refid="selectAlarmRulesVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="reqVO.alarmName != null and reqVO.alarmName != ''"> and iar.alarm_name like concat('%', #{reqVO.alarmName}, '%')</if>
|
<if test="reqVO.alarmName != null and reqVO.alarmName != ''"> and iar.alarm_name like concat('%', #{reqVO.alarmName}, '%')</if>
|
||||||
<if test="reqVO.alarmNameKey != null and reqVO.alarmNameKey != ''"> and iar.alarm_name_key = #{reqVO.alarmNameKey}</if>
|
<if test="reqVO.alarmNameKey != null and reqVO.alarmNameKey != ''"> and iar.alarm_name_key like concat('%', #{reqVO.alarmNameKey}, '%')</if>
|
||||||
<if test="reqVO.alarmInfoUnit != null and reqVO.alarmInfoUnit != ''"> and iar.alarm_info_unit = #{reqVO.alarmInfoUnit}</if>
|
|
||||||
<if test="reqVO.equipId != null and reqVO.equipId != ''"> and iar.equip_id = #{reqVO.equipId}</if>
|
<if test="reqVO.equipId != null and reqVO.equipId != ''"> and iar.equip_id = #{reqVO.equipId}</if>
|
||||||
<if test="reqVO.type != null "> and iar.type = #{reqVO.type}</if>
|
<if test="reqVO.type != null "> and iar.type = #{reqVO.type}</if>
|
||||||
<if test="reqVO.alarmLevel != null "> and iar.alarm_level = #{reqVO.alarmLevel}</if>
|
<if test="reqVO.alarmLevel != null "> and iar.alarm_level = #{reqVO.alarmLevel}</if>
|
||||||
@ -49,4 +47,9 @@
|
|||||||
order by iar.create_time desc
|
order by iar.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectAlarmRulesById" parameterType="String" resultMap="AlarmRulesResult">
|
||||||
|
<include refid="selectAlarmRulesVo"/>
|
||||||
|
where alarm_id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
@ -0,0 +1,44 @@
|
|||||||
|
<?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.inspur.module.system.dal.mysql.alarm.EquipAlarmDataMapper">
|
||||||
|
<resultMap type="com.inspur.module.system.dal.dataobject.alarm.EquipAlarmDataDO" id="EquipAlarmResult">
|
||||||
|
<result property="equipAlarmId" column="equip_alarm_id" />
|
||||||
|
<result property="equipId" column="equip_id" />
|
||||||
|
<result property="componentId" column="component_id" />
|
||||||
|
<result property="alarmLevel" column="alarm_level" />
|
||||||
|
<result property="alarmType" column="alarm_type" />
|
||||||
|
<result property="firstAlarmTime" column="first_alarm_time" />
|
||||||
|
<result property="latestAlarmTime" column="latest_alarm_time" />
|
||||||
|
<result property="status" column="status" />
|
||||||
|
<result property="equipAnalyseStatus" column="equip_analyse_status" />
|
||||||
|
<result property="customerName" column="customer_name" />
|
||||||
|
<result property="equipNo" column="equip_no" />
|
||||||
|
<result property="modelName" column="model_name" />
|
||||||
|
<result property="componentName" column="component_name" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectEquipAlarmVo">
|
||||||
|
select iead.equip_alarm_id, iead.equip_id, iead.component_id, iead.alarm_level, iead.alarm_type, iead.first_alarm_time, iead.latest_alarm_time, iead.status, iead.equip_analyse_status, cui.customer_name, ei.equip_no, imi.model_name, ci.component_name from imt_equip_alarm_data iead
|
||||||
|
left join imt_equip_info ei on iead.equip_id = ei.equip_id
|
||||||
|
left join imt_model_info imi on ei.model_id = imi.model_id
|
||||||
|
left join imt_component_info ci on iead.component_id = ci.component_id
|
||||||
|
left join imt_customer_info cui on ei.customer_id = cui.customer_id
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectEquipAlarmList" resultMap="EquipAlarmResult">
|
||||||
|
<include refid="selectEquipAlarmVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="reqVO.equipId != null and reqVO.equipId != ''"> and iead.equip_id = #{reqVO.equipId}</if>
|
||||||
|
<if test="reqVO.componentId != null and reqVO.componentId != ''"> and iead.component_id = #{reqVO.componentId}</if>
|
||||||
|
<if test="reqVO.alarmLevel != null and reqVO.alarmLevel != ''"> and iead.alarm_level = #{reqVO.alarmLevel}</if>
|
||||||
|
<if test="reqVO.alarmType != null and reqVO.alarmType != ''"> and iead.alarm_type = #{reqVO.alarmType}</if>
|
||||||
|
<if test="reqVO.firstAlarmTime != null "> and iead.first_alarm_time >= #{reqVO.firstAlarmTime[0]} and iead.first_alarm_time <= #{reqVO.firstAlarmTime[1]} </if>
|
||||||
|
</where>
|
||||||
|
order by iead.first_alarm_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectEquipAlarmById" parameterType="String" resultMap="EquipAlarmResult">
|
||||||
|
<include refid="selectEquipAlarmVo"/>
|
||||||
|
where iead.equip_alarm_id = #{id}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
@ -18,6 +18,15 @@ export function updateAlarmRules(data) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新机床报警规则
|
||||||
|
export function changeAlarmRulesStatus(data) {
|
||||||
|
return request({
|
||||||
|
url: "/imt/alarm-rules/changeStatus",
|
||||||
|
method: "put",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// 删除机床报警规则
|
// 删除机床报警规则
|
||||||
export function deleteAlarmRules(id) {
|
export function deleteAlarmRules(id) {
|
||||||
return request({
|
return request({
|
||||||
|
53
imt-ui/src/api/system/alarm/equipalarmdata.js
Normal file
53
imt-ui/src/api/system/alarm/equipalarmdata.js
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import request from "@/utils/request";
|
||||||
|
|
||||||
|
// 创建机床设备报警数据
|
||||||
|
export function createEquipAlarmData(data) {
|
||||||
|
return request({
|
||||||
|
url: "/imt/equip-alarm-data/create",
|
||||||
|
method: "post",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新机床设备报警数据
|
||||||
|
export function updateEquipAlarmData(data) {
|
||||||
|
return request({
|
||||||
|
url: "/imt/equip-alarm-data/update",
|
||||||
|
method: "put",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除机床设备报警数据
|
||||||
|
export function deleteEquipAlarmData(id) {
|
||||||
|
return request({
|
||||||
|
url: "/imt/equip-alarm-data/delete?id=" + id,
|
||||||
|
method: "delete",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得机床设备报警数据
|
||||||
|
export function getEquipAlarmData(id) {
|
||||||
|
return request({
|
||||||
|
url: "/imt/equip-alarm-data/get?id=" + id,
|
||||||
|
method: "get",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得机床设备报警数据分页
|
||||||
|
export function getEquipAlarmDataPage(params) {
|
||||||
|
return request({
|
||||||
|
url: "/imt/equip-alarm-data/page",
|
||||||
|
method: "get",
|
||||||
|
params,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 导出机床设备报警数据 Excel
|
||||||
|
export function exportEquipAlarmDataExcel(params) {
|
||||||
|
return request({
|
||||||
|
url: "/imt/equip-alarm-data/export-excel",
|
||||||
|
method: "get",
|
||||||
|
params,
|
||||||
|
responseType: "blob",
|
||||||
|
});
|
||||||
|
}
|
@ -24,6 +24,8 @@ export const DICT_TYPE = {
|
|||||||
COMPONENT_TYPE: "component_type",
|
COMPONENT_TYPE: "component_type",
|
||||||
COMPONENT_STATUS: "component_status",
|
COMPONENT_STATUS: "component_status",
|
||||||
JUDGE_RULES: "judge_rules",
|
JUDGE_RULES: "judge_rules",
|
||||||
|
EQU_ALARM_STATUS: "equip_alarm_status",
|
||||||
|
TREND_ANALY_STATUS: "trend_analy_status",
|
||||||
// ========== SYSTEM 模块 ==========
|
// ========== SYSTEM 模块 ==========
|
||||||
SYSTEM_USER_SEX: "system_user_sex",
|
SYSTEM_USER_SEX: "system_user_sex",
|
||||||
SYSTEM_MENU_TYPE: "system_menu_type",
|
SYSTEM_MENU_TYPE: "system_menu_type",
|
||||||
|
@ -73,7 +73,7 @@
|
|||||||
prop="equipId"
|
prop="equipId"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.equipName"
|
v-model="formData.equipNo"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
placeholder="请输入机床设备"
|
placeholder="请输入机床设备"
|
||||||
/>
|
/>
|
||||||
|
@ -183,7 +183,20 @@
|
|||||||
label="状态"
|
label="状态"
|
||||||
align="center"
|
align="center"
|
||||||
prop="status"
|
prop="status"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-switch
|
||||||
|
v-model="scope.row.status"
|
||||||
|
active-color="#13ce66"
|
||||||
|
inactive-color="#ff4949"
|
||||||
|
:active-value="0"
|
||||||
|
:inactive-value="1"
|
||||||
|
active-text="开"
|
||||||
|
inactive-text="关"
|
||||||
|
@change="alarmStatusChange(scope.row)"
|
||||||
/>
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
label="可能故障原因"
|
label="可能故障原因"
|
||||||
align="center"
|
align="center"
|
||||||
@ -193,7 +206,12 @@
|
|||||||
label="等级"
|
label="等级"
|
||||||
align="center"
|
align="center"
|
||||||
prop="alarmLevel"
|
prop="alarmLevel"
|
||||||
|
><template v-slot="scope">
|
||||||
|
<dict-tag
|
||||||
|
:type="DICT_TYPE.ALARM_LEVEL"
|
||||||
|
:value="scope.row.alarmLevel"
|
||||||
/>
|
/>
|
||||||
|
</template></el-table-column>
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
label="备注"
|
label="备注"
|
||||||
align="center"
|
align="center"
|
||||||
@ -279,12 +297,19 @@
|
|||||||
label="机床设备"
|
label="机床设备"
|
||||||
prop="equipId"
|
prop="equipId"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-select
|
||||||
v-model="queryParams.equipId"
|
v-model="queryParams.equipId"
|
||||||
placeholder="请输入机床设备id"
|
placeholder="请选择机床设备"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in equipSelection"
|
||||||
|
:key="item.equipId"
|
||||||
|
:label="item.equipNo"
|
||||||
|
:value="item.equipId"
|
||||||
/>
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="等级"
|
label="等级"
|
||||||
@ -362,14 +387,19 @@
|
|||||||
prop="alarmInfoUnit"
|
prop="alarmInfoUnit"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="机床设备"
|
label="客户名"
|
||||||
align="center"
|
align="center"
|
||||||
prop="equipId"
|
prop="customerName"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="机床型号"
|
||||||
|
align="center"
|
||||||
|
prop="equipNo"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="机床组件"
|
label="机床组件"
|
||||||
align="center"
|
align="center"
|
||||||
prop="componentId"
|
prop="componentName"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="规则上限值"
|
label="规则上限值"
|
||||||
@ -395,7 +425,20 @@
|
|||||||
label="状态"
|
label="状态"
|
||||||
align="center"
|
align="center"
|
||||||
prop="status"
|
prop="status"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-switch
|
||||||
|
v-model="scope.row.status"
|
||||||
|
active-color="#13ce66"
|
||||||
|
inactive-color="#ff4949"
|
||||||
|
:active-value="0"
|
||||||
|
:inactive-value="1"
|
||||||
|
active-text="开"
|
||||||
|
inactive-text="关"
|
||||||
|
@change="alarmStatusChange(scope.row)"
|
||||||
/>
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
label="可能故障原因"
|
label="可能故障原因"
|
||||||
align="center"
|
align="center"
|
||||||
@ -405,7 +448,14 @@
|
|||||||
label="等级"
|
label="等级"
|
||||||
align="center"
|
align="center"
|
||||||
prop="alarmLevel"
|
prop="alarmLevel"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<dict-tag
|
||||||
|
:type="DICT_TYPE.ALARM_LEVEL"
|
||||||
|
:value="scope.row.alarmLevel"
|
||||||
/>
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
label="备注"
|
label="备注"
|
||||||
align="center"
|
align="center"
|
||||||
@ -417,6 +467,13 @@
|
|||||||
class-name="small-padding fixed-width"
|
class-name="small-padding fixed-width"
|
||||||
>
|
>
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-document"
|
||||||
|
@click="openDetail(scope.row)"
|
||||||
|
v-hasPermi="['imt:alarm-rules:query']"
|
||||||
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
@ -454,11 +511,93 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:title="detailTitle"
|
:title="detailTitle"
|
||||||
:visible.sync="detailOpen"
|
:visible.sync="detailOpen"
|
||||||
width="80%"
|
width="40%"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<div v-html="ruleContent"></div>
|
<el-form
|
||||||
|
:model="detailForm"
|
||||||
|
v-loading="detailLoading"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="客户名称"
|
||||||
|
prop="customerName"
|
||||||
|
>
|
||||||
|
{{ detailForm.customerName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="设备型号"
|
||||||
|
prop="equipNo"
|
||||||
|
>
|
||||||
|
{{ detailForm.equipNo }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="规则名称"
|
||||||
|
prop="alarmName"
|
||||||
|
>
|
||||||
|
{{ detailForm.alarmName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="规则单位"
|
||||||
|
prop="alarmInfoUnit"
|
||||||
|
>
|
||||||
|
{{ detailForm.alarmInfoUnit }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="判断规则"
|
||||||
|
prop="referenceCon"
|
||||||
|
>
|
||||||
|
{{ detailForm.referenceCon }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="规则描述"
|
||||||
|
prop="referenceName"
|
||||||
|
>
|
||||||
|
{{ detailForm.referenceName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="规则上限"
|
||||||
|
prop="alertUpperBound"
|
||||||
|
>
|
||||||
|
{{ detailForm.alertUpperBound }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="规则下限"
|
||||||
|
prop="alertLowerBound"
|
||||||
|
>
|
||||||
|
{{ detailForm.alertLowerBound }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item
|
||||||
|
label="可能故障原因"
|
||||||
|
prop="reasonDescription"
|
||||||
|
>
|
||||||
|
<div v-html="detailForm.reasonDescription" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item
|
||||||
|
label="备注"
|
||||||
|
prop="remark"
|
||||||
|
>{{ detailForm.remark }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -515,24 +654,32 @@ export default {
|
|||||||
equipSelection: [],
|
equipSelection: [],
|
||||||
detailTitle: null,
|
detailTitle: null,
|
||||||
detailOpen: false,
|
detailOpen: false,
|
||||||
ruleContent: "",
|
detailForm: {},
|
||||||
ruleRemark: "",
|
detailLoading: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
alarmStatusChange(row) {
|
||||||
|
AlarmRulesApi.changeAlarmRulesStatus(row);
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 打开详情
|
* 打开详情
|
||||||
*/
|
*/
|
||||||
openDetail(row) {
|
openDetail(row) {
|
||||||
this.detailTitle = "规则详情";
|
this.detailTitle = "规则详情";
|
||||||
|
this.detailForm = row;
|
||||||
|
this.detailForm.remark =
|
||||||
|
row.remark == null || row.remark == "" ? "空" : row.remark;
|
||||||
this.detailOpen = true;
|
this.detailOpen = true;
|
||||||
this.ruleContent = row.reasonDescription;
|
|
||||||
},
|
},
|
||||||
/**tab点击切换 */
|
/**tab点击切换 */
|
||||||
handleTabClick() {},
|
handleTabClick(tab) {
|
||||||
|
this.activeName = tab.name;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
async getList() {
|
async getList() {
|
||||||
try {
|
try {
|
||||||
|
@ -0,0 +1,215 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<el-dialog
|
||||||
|
:title="dialogTitle"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="60%"
|
||||||
|
v-dialogDrag
|
||||||
|
append-to-body
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="formData"
|
||||||
|
:rules="formRules"
|
||||||
|
v-loading="formLoading"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-form-item
|
||||||
|
label="机床设备"
|
||||||
|
prop="equipId"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="formData.equipId"
|
||||||
|
placeholder="请输入机床设备id"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="机床组件id"
|
||||||
|
prop="componentId"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="formData.componentId"
|
||||||
|
placeholder="请选择机床组件id"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
label="请选择字典生成"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="报警等级(1:1级,2:2级,3:3级)"
|
||||||
|
prop="alarmLevel"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="formData.alarmLevel"
|
||||||
|
placeholder="请选择报警等级(1:1级,2:2级,3:3级)"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in this.getDictDatas(DICT_TYPE.ALARM_LEVEL)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="parseInt(dict.value)"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="报警类型(0:阈值报警 1:趋势报警)"
|
||||||
|
prop="alarmType"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="formData.alarmType"
|
||||||
|
placeholder="请输入报警类型(0:阈值报警 1:趋势报警)"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="首次报警时间"
|
||||||
|
prop="firstAlarmTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
clearable
|
||||||
|
v-model="formData.firstAlarmTime"
|
||||||
|
type="date"
|
||||||
|
value-format="timestamp"
|
||||||
|
placeholder="选择首次报警时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="最新报警时间"
|
||||||
|
prop="latestAlarmTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
clearable
|
||||||
|
v-model="formData.latestAlarmTime"
|
||||||
|
type="date"
|
||||||
|
value-format="timestamp"
|
||||||
|
placeholder="选择最新报警时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="状态(0:待处理,1:已处理)"
|
||||||
|
prop="status"
|
||||||
|
>
|
||||||
|
<el-radio-group v-model="formData.status">
|
||||||
|
<el-radio label="1">请选择字典生成</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="机床分析状态(0:正常,1:磨损中,2:磨损严重)"
|
||||||
|
prop="equipAnalyseStatus"
|
||||||
|
>
|
||||||
|
<el-radio-group v-model="formData.equipAnalyseStatus">
|
||||||
|
<el-radio label="1">请选择字典生成</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div
|
||||||
|
slot="footer"
|
||||||
|
class="dialog-footer"
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="submitForm"
|
||||||
|
:disabled="formLoading"
|
||||||
|
>确 定</el-button>
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as EquipAlarmDataApi from "@/api/system/alarm/equipalarmdata";
|
||||||
|
export default {
|
||||||
|
name: "EquipAlarmDataForm",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 弹出层标题
|
||||||
|
dialogTitle: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
dialogVisible: false,
|
||||||
|
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
formLoading: false,
|
||||||
|
// 表单参数
|
||||||
|
formData: {
|
||||||
|
equipAlarmId: undefined,
|
||||||
|
equipId: undefined,
|
||||||
|
componentId: undefined,
|
||||||
|
alarmLevel: undefined,
|
||||||
|
alarmType: undefined,
|
||||||
|
firstAlarmTime: undefined,
|
||||||
|
latestAlarmTime: undefined,
|
||||||
|
status: undefined,
|
||||||
|
equipAnalyseStatus: undefined,
|
||||||
|
},
|
||||||
|
// 表单校验
|
||||||
|
formRules: {
|
||||||
|
equipId: [
|
||||||
|
{ required: true, message: "机床设备id不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 打开弹窗 */
|
||||||
|
async open(id) {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
this.reset();
|
||||||
|
// 修改时,设置数据
|
||||||
|
if (id) {
|
||||||
|
this.formLoading = true;
|
||||||
|
try {
|
||||||
|
const res = await EquipAlarmDataApi.getEquipAlarmData(id);
|
||||||
|
this.formData = res.data;
|
||||||
|
this.title = "修改机床设备报警数据";
|
||||||
|
} finally {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.title = "新增机床设备报警数据";
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
async submitForm() {
|
||||||
|
// 校验主表
|
||||||
|
await this.$refs["formRef"].validate();
|
||||||
|
this.formLoading = true;
|
||||||
|
try {
|
||||||
|
const data = this.formData;
|
||||||
|
// 修改的提交
|
||||||
|
if (data.equipAlarmId) {
|
||||||
|
await EquipAlarmDataApi.updateEquipAlarmData(data);
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit("success");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 添加的提交
|
||||||
|
await EquipAlarmDataApi.createEquipAlarmData(data);
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit("success");
|
||||||
|
} finally {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 表单重置 */
|
||||||
|
reset() {
|
||||||
|
this.formData = {
|
||||||
|
equipAlarmId: undefined,
|
||||||
|
equipId: undefined,
|
||||||
|
componentId: undefined,
|
||||||
|
alarmLevel: undefined,
|
||||||
|
alarmType: undefined,
|
||||||
|
firstAlarmTime: undefined,
|
||||||
|
latestAlarmTime: undefined,
|
||||||
|
status: undefined,
|
||||||
|
equipAnalyseStatus: undefined,
|
||||||
|
};
|
||||||
|
this.resetForm("formRef");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
377
imt-ui/src/views/system/alarm/equipalarmdata/index.vue
Normal file
377
imt-ui/src/views/system/alarm/equipalarmdata/index.vue
Normal file
@ -0,0 +1,377 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 搜索工作栏 -->
|
||||||
|
<el-form
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="68px"
|
||||||
|
style="text-align:right"
|
||||||
|
>
|
||||||
|
<el-form-item
|
||||||
|
label="机床设备"
|
||||||
|
prop="equipId"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.equipId"
|
||||||
|
placeholder="请选择机床设备"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in equipSelection"
|
||||||
|
:key="item.equipId"
|
||||||
|
:label="item.equipNo"
|
||||||
|
:value="item.equipId"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item
|
||||||
|
label="机床组件id"
|
||||||
|
prop="componentId"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.componentId"
|
||||||
|
placeholder="请选择机床组件id"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
label="请选择字典生成"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item
|
||||||
|
label="报警等级"
|
||||||
|
prop="alarmLevel"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.alarmLevel"
|
||||||
|
placeholder="请选择报警等级"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in this.getDictDatas(DICT_TYPE.ALARM_LEVEL)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="首次报警时间"
|
||||||
|
prop="firstAlarmTime"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.firstAlarmTime"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
type="datetimerange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item
|
||||||
|
label="最新报警时间"
|
||||||
|
prop="latestAlarmTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.latestAlarmTime"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
/>
|
||||||
|
</el-form-item> -->
|
||||||
|
<!-- <el-form-item
|
||||||
|
label="机床分析状态(0:正常,1:磨损中,2:磨损严重)"
|
||||||
|
prop="equipAnalyseStatus"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.equipAnalyseStatus"
|
||||||
|
placeholder="请选择机床分析状态(0:正常,1:磨损中,2:磨损严重)"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
label="请选择字典生成"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-search"
|
||||||
|
@click="handleQuery"
|
||||||
|
>搜索</el-button>
|
||||||
|
<el-button
|
||||||
|
icon="el-icon-refresh"
|
||||||
|
@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="openForm(undefined)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:create']"
|
||||||
|
>新增</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
:loading="exportLoading"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="list"
|
||||||
|
:stripe="true"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
label="客户"
|
||||||
|
align="center"
|
||||||
|
prop="customerName"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="机床型号"
|
||||||
|
align="center"
|
||||||
|
prop="modelName"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="机床编号"
|
||||||
|
align="center"
|
||||||
|
prop="equipNo"
|
||||||
|
/>
|
||||||
|
<!-- <el-table-column
|
||||||
|
label="机床组件"
|
||||||
|
align="center"
|
||||||
|
prop="componentName"
|
||||||
|
/> -->
|
||||||
|
<el-table-column
|
||||||
|
label="报警等级"
|
||||||
|
align="center"
|
||||||
|
prop="alarmLevel"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<dict-tag
|
||||||
|
:type="DICT_TYPE.ALARM_LEVEL"
|
||||||
|
:value="scope.row.alarmLevel"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="首次报警时间"
|
||||||
|
align="center"
|
||||||
|
prop="firstAlarmTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{ parseTime(scope.row.firstAlarmTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="最新报警时间"
|
||||||
|
align="center"
|
||||||
|
prop="latestAlarmTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{ parseTime(scope.row.latestAlarmTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="状态"
|
||||||
|
align="center"
|
||||||
|
prop="status"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<dict-tag
|
||||||
|
:type="DICT_TYPE.EQU_ALARM_STATUS"
|
||||||
|
:value="scope.row.status"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="操作"
|
||||||
|
align="center"
|
||||||
|
class-name="small-padding fixed-width"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="openForm(scope.row.equipAlarmId)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:update']"
|
||||||
|
>修改</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:delete']"
|
||||||
|
>删除</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-data-analysis"
|
||||||
|
@click="openForm(scope.row.equipAlarmId)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:update']"
|
||||||
|
>处理</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- 分页组件 -->
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNo"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<EquipAlarmDataForm
|
||||||
|
ref="formRef"
|
||||||
|
@success="getList"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as EquipAlarmDataApi from "@/api/system/alarm/equipalarmdata";
|
||||||
|
import EquipAlarmDataForm from "./EquipAlarmDataForm.vue";
|
||||||
|
import { getEquipSelection } from "@/api/system/equip/equipInfo";
|
||||||
|
export default {
|
||||||
|
name: "EquipAlarmData",
|
||||||
|
components: {
|
||||||
|
EquipAlarmDataForm,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 导出遮罩层
|
||||||
|
exportLoading: false,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 机床设备报警数据列表
|
||||||
|
list: [],
|
||||||
|
// 是否展开,默认全部展开
|
||||||
|
isExpandAll: true,
|
||||||
|
// 重新渲染表格状态
|
||||||
|
refreshTable: true,
|
||||||
|
// 选中行
|
||||||
|
currentRow: {},
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
equipId: null,
|
||||||
|
componentId: null,
|
||||||
|
alarmLevel: null,
|
||||||
|
alarmType: 0,
|
||||||
|
firstAlarmTime: [],
|
||||||
|
latestAlarmTime: [],
|
||||||
|
status: null,
|
||||||
|
equipAnalyseStatus: null,
|
||||||
|
},
|
||||||
|
equipSelection: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询列表 */
|
||||||
|
async getList() {
|
||||||
|
try {
|
||||||
|
this.loading = true;
|
||||||
|
const res = await EquipAlarmDataApi.getEquipAlarmDataPage(
|
||||||
|
this.queryParams
|
||||||
|
);
|
||||||
|
this.equipSelection = await getEquipSelection();
|
||||||
|
this.list = res.data.list;
|
||||||
|
this.total = res.data.total;
|
||||||
|
} finally {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNo = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
/** 添加/修改操作 */
|
||||||
|
openForm(id) {
|
||||||
|
this.$refs["formRef"].open(id);
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
async handleDelete(row) {
|
||||||
|
const equipAlarmId = row.equipAlarmId;
|
||||||
|
await this.$modal.confirm(
|
||||||
|
'是否确认删除机床设备报警数据编号为"' + equipAlarmId + '"的数据项?'
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
await EquipAlarmDataApi.deleteEquipAlarmData(equipAlarmId);
|
||||||
|
await this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
} catch {}
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
async handleExport() {
|
||||||
|
await this.$modal.confirm("是否确认导出所有机床设备报警数据数据项?");
|
||||||
|
try {
|
||||||
|
this.exportLoading = true;
|
||||||
|
const data = await EquipAlarmDataApi.exportEquipAlarmDataExcel(
|
||||||
|
this.queryParams
|
||||||
|
);
|
||||||
|
this.$download.excel(data, "机床设备报警数据.xls");
|
||||||
|
} catch {
|
||||||
|
} finally {
|
||||||
|
this.exportLoading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,215 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<el-dialog
|
||||||
|
:title="dialogTitle"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="60%"
|
||||||
|
v-dialogDrag
|
||||||
|
append-to-body
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="formData"
|
||||||
|
:rules="formRules"
|
||||||
|
v-loading="formLoading"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-form-item
|
||||||
|
label="机床设备"
|
||||||
|
prop="equipId"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="formData.equipId"
|
||||||
|
placeholder="请输入机床设备id"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="机床组件id"
|
||||||
|
prop="componentId"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="formData.componentId"
|
||||||
|
placeholder="请选择机床组件id"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
label="请选择字典生成"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="报警等级(1:1级,2:2级,3:3级)"
|
||||||
|
prop="alarmLevel"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="formData.alarmLevel"
|
||||||
|
placeholder="请选择报警等级(1:1级,2:2级,3:3级)"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in this.getDictDatas(DICT_TYPE.ALARM_LEVEL)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="parseInt(dict.value)"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="报警类型(0:阈值报警 1:趋势报警)"
|
||||||
|
prop="alarmType"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="formData.alarmType"
|
||||||
|
placeholder="请输入报警类型(0:阈值报警 1:趋势报警)"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="首次报警时间"
|
||||||
|
prop="firstAlarmTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
clearable
|
||||||
|
v-model="formData.firstAlarmTime"
|
||||||
|
type="date"
|
||||||
|
value-format="timestamp"
|
||||||
|
placeholder="选择首次报警时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="最新报警时间"
|
||||||
|
prop="latestAlarmTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
clearable
|
||||||
|
v-model="formData.latestAlarmTime"
|
||||||
|
type="date"
|
||||||
|
value-format="timestamp"
|
||||||
|
placeholder="选择最新报警时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="状态(0:待处理,1:已处理)"
|
||||||
|
prop="status"
|
||||||
|
>
|
||||||
|
<el-radio-group v-model="formData.status">
|
||||||
|
<el-radio label="1">请选择字典生成</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="机床分析状态(0:正常,1:磨损中,2:磨损严重)"
|
||||||
|
prop="equipAnalyseStatus"
|
||||||
|
>
|
||||||
|
<el-radio-group v-model="formData.equipAnalyseStatus">
|
||||||
|
<el-radio label="1">请选择字典生成</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div
|
||||||
|
slot="footer"
|
||||||
|
class="dialog-footer"
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="submitForm"
|
||||||
|
:disabled="formLoading"
|
||||||
|
>确 定</el-button>
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as EquipAlarmDataApi from "@/api/system/alarm/equipalarmdata";
|
||||||
|
export default {
|
||||||
|
name: "EquipAlarmDataForm",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 弹出层标题
|
||||||
|
dialogTitle: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
dialogVisible: false,
|
||||||
|
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
formLoading: false,
|
||||||
|
// 表单参数
|
||||||
|
formData: {
|
||||||
|
equipAlarmId: undefined,
|
||||||
|
equipId: undefined,
|
||||||
|
componentId: undefined,
|
||||||
|
alarmLevel: undefined,
|
||||||
|
alarmType: undefined,
|
||||||
|
firstAlarmTime: undefined,
|
||||||
|
latestAlarmTime: undefined,
|
||||||
|
status: undefined,
|
||||||
|
equipAnalyseStatus: undefined,
|
||||||
|
},
|
||||||
|
// 表单校验
|
||||||
|
formRules: {
|
||||||
|
equipId: [
|
||||||
|
{ required: true, message: "机床设备id不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 打开弹窗 */
|
||||||
|
async open(id) {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
this.reset();
|
||||||
|
// 修改时,设置数据
|
||||||
|
if (id) {
|
||||||
|
this.formLoading = true;
|
||||||
|
try {
|
||||||
|
const res = await EquipAlarmDataApi.getEquipAlarmData(id);
|
||||||
|
this.formData = res.data;
|
||||||
|
this.title = "修改机床设备报警数据";
|
||||||
|
} finally {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.title = "新增机床设备报警数据";
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
async submitForm() {
|
||||||
|
// 校验主表
|
||||||
|
await this.$refs["formRef"].validate();
|
||||||
|
this.formLoading = true;
|
||||||
|
try {
|
||||||
|
const data = this.formData;
|
||||||
|
// 修改的提交
|
||||||
|
if (data.equipAlarmId) {
|
||||||
|
await EquipAlarmDataApi.updateEquipAlarmData(data);
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit("success");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 添加的提交
|
||||||
|
await EquipAlarmDataApi.createEquipAlarmData(data);
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit("success");
|
||||||
|
} finally {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 表单重置 */
|
||||||
|
reset() {
|
||||||
|
this.formData = {
|
||||||
|
equipAlarmId: undefined,
|
||||||
|
equipId: undefined,
|
||||||
|
componentId: undefined,
|
||||||
|
alarmLevel: undefined,
|
||||||
|
alarmType: undefined,
|
||||||
|
firstAlarmTime: undefined,
|
||||||
|
latestAlarmTime: undefined,
|
||||||
|
status: undefined,
|
||||||
|
equipAnalyseStatus: undefined,
|
||||||
|
};
|
||||||
|
this.resetForm("formRef");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
389
imt-ui/src/views/system/alarm/equiptrendalarm/index.vue
Normal file
389
imt-ui/src/views/system/alarm/equiptrendalarm/index.vue
Normal file
@ -0,0 +1,389 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 搜索工作栏 -->
|
||||||
|
<el-form
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="68px"
|
||||||
|
style="text-align:right"
|
||||||
|
>
|
||||||
|
<el-form-item
|
||||||
|
label="机床设备"
|
||||||
|
prop="equipId"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.equipId"
|
||||||
|
placeholder="请选择机床设备"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in equipSelection"
|
||||||
|
:key="item.equipId"
|
||||||
|
:label="item.equipNo"
|
||||||
|
:value="item.equipId"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item
|
||||||
|
label="机床组件id"
|
||||||
|
prop="componentId"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.componentId"
|
||||||
|
placeholder="请选择机床组件id"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
label="请选择字典生成"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item
|
||||||
|
label="报警等级"
|
||||||
|
prop="alarmLevel"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.alarmLevel"
|
||||||
|
placeholder="请选择报警等级"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in this.getDictDatas(DICT_TYPE.ALARM_LEVEL)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="首次报警时间"
|
||||||
|
prop="firstAlarmTime"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.firstAlarmTime"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
type="datetimerange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item
|
||||||
|
label="最新报警时间"
|
||||||
|
prop="latestAlarmTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.latestAlarmTime"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
/>
|
||||||
|
</el-form-item> -->
|
||||||
|
<!-- <el-form-item
|
||||||
|
label="机床分析状态(0:正常,1:磨损中,2:磨损严重)"
|
||||||
|
prop="equipAnalyseStatus"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.equipAnalyseStatus"
|
||||||
|
placeholder="请选择机床分析状态(0:正常,1:磨损中,2:磨损严重)"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
label="请选择字典生成"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-search"
|
||||||
|
@click="handleQuery"
|
||||||
|
>搜索</el-button>
|
||||||
|
<el-button
|
||||||
|
icon="el-icon-refresh"
|
||||||
|
@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="openForm(undefined)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:create']"
|
||||||
|
>新增</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
:loading="exportLoading"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="list"
|
||||||
|
:stripe="true"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
label="客户"
|
||||||
|
align="center"
|
||||||
|
prop="customerName"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="机床型号"
|
||||||
|
align="center"
|
||||||
|
prop="modelName"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="机床编号"
|
||||||
|
align="center"
|
||||||
|
prop="equipNo"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="机床组件"
|
||||||
|
align="center"
|
||||||
|
prop="componentName"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="报警等级"
|
||||||
|
align="center"
|
||||||
|
prop="alarmLevel"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<dict-tag
|
||||||
|
:type="DICT_TYPE.ALARM_LEVEL"
|
||||||
|
:value="scope.row.alarmLevel"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="首次报警时间"
|
||||||
|
align="center"
|
||||||
|
prop="firstAlarmTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{ parseTime(scope.row.firstAlarmTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="最新报警时间"
|
||||||
|
align="center"
|
||||||
|
prop="latestAlarmTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{ parseTime(scope.row.latestAlarmTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="状态"
|
||||||
|
align="center"
|
||||||
|
prop="status"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<dict-tag
|
||||||
|
:type="DICT_TYPE.EQU_ALARM_STATUS"
|
||||||
|
:value="scope.row.status"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="状态"
|
||||||
|
align="center"
|
||||||
|
prop="equipAnalyseStatus"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<dict-tag
|
||||||
|
:type="DICT_TYPE.TREND_ANALY_STATUS"
|
||||||
|
:value="scope.row.equipAnalyseStatus"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="操作"
|
||||||
|
align="center"
|
||||||
|
class-name="small-padding fixed-width"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="openForm(scope.row.equipAlarmId)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:update']"
|
||||||
|
>修改</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:delete']"
|
||||||
|
>删除</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-data-analysis"
|
||||||
|
@click="openForm(scope.row.equipAlarmId)"
|
||||||
|
v-hasPermi="['imt:equip-alarm-data:update']"
|
||||||
|
>处理</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- 分页组件 -->
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNo"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<EquipAlarmDataForm
|
||||||
|
ref="formRef"
|
||||||
|
@success="getList"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as EquipAlarmDataApi from "@/api/system/alarm/equipalarmdata";
|
||||||
|
import EquipAlarmDataForm from "./EquipAlarmDataForm.vue";
|
||||||
|
import { getEquipSelection } from "@/api/system/equip/equipInfo";
|
||||||
|
export default {
|
||||||
|
name: "EquipAlarmData",
|
||||||
|
components: {
|
||||||
|
EquipAlarmDataForm,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 导出遮罩层
|
||||||
|
exportLoading: false,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 机床设备报警数据列表
|
||||||
|
list: [],
|
||||||
|
// 是否展开,默认全部展开
|
||||||
|
isExpandAll: true,
|
||||||
|
// 重新渲染表格状态
|
||||||
|
refreshTable: true,
|
||||||
|
// 选中行
|
||||||
|
currentRow: {},
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
equipId: null,
|
||||||
|
componentId: null,
|
||||||
|
alarmLevel: null,
|
||||||
|
alarmType: 1,
|
||||||
|
firstAlarmTime: [],
|
||||||
|
latestAlarmTime: [],
|
||||||
|
status: null,
|
||||||
|
equipAnalyseStatus: null,
|
||||||
|
},
|
||||||
|
equipSelection: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询列表 */
|
||||||
|
async getList() {
|
||||||
|
try {
|
||||||
|
this.loading = true;
|
||||||
|
const res = await EquipAlarmDataApi.getEquipAlarmDataPage(
|
||||||
|
this.queryParams
|
||||||
|
);
|
||||||
|
this.equipSelection = await getEquipSelection();
|
||||||
|
this.list = res.data.list;
|
||||||
|
this.total = res.data.total;
|
||||||
|
} finally {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNo = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
/** 添加/修改操作 */
|
||||||
|
openForm(id) {
|
||||||
|
this.$refs["formRef"].open(id);
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
async handleDelete(row) {
|
||||||
|
const equipAlarmId = row.equipAlarmId;
|
||||||
|
await this.$modal.confirm(
|
||||||
|
'是否确认删除机床设备报警数据编号为"' + equipAlarmId + '"的数据项?'
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
await EquipAlarmDataApi.deleteEquipAlarmData(equipAlarmId);
|
||||||
|
await this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
} catch {}
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
async handleExport() {
|
||||||
|
await this.$modal.confirm("是否确认导出所有机床设备报警数据数据项?");
|
||||||
|
try {
|
||||||
|
this.exportLoading = true;
|
||||||
|
const data = await EquipAlarmDataApi.exportEquipAlarmDataExcel(
|
||||||
|
this.queryParams
|
||||||
|
);
|
||||||
|
this.$download.excel(data, "机床设备报警数据.xls");
|
||||||
|
} catch {
|
||||||
|
} finally {
|
||||||
|
this.exportLoading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user