Compare commits

...

2 Commits

Author SHA1 Message Date
姜玉琦 5657b2d806 提交代码 2025-05-20 22:52:02 +08:00
姜玉琦 f5c0d8e28a 提交代码 2025-05-20 22:18:44 +08:00
14 changed files with 849 additions and 572 deletions

View File

@ -77,13 +77,45 @@ public class DevTowerDataWarning extends BaseEntity
@Excel(name = "预警内容")
private String warnNote;
/** 预警值 */
@Excel(name = "预警值")
private String warnData;
/** 当前高度 */
@Excel(name = "当前高度")
private String height;
/** 实际值 */
@Excel(name = "实际值")
private String realData;
/** 当前幅度 */
@Excel(name = "当前幅度")
private String range;
/** 回转 */
@Excel(name = "回转")
private String rotation;
/** 当前吊重 */
@Excel(name = "当前吊重")
private String load;
/** 风速 */
@Excel(name = "风速")
private String windSpeed;
/** 水平倾角 */
@Excel(name = "水平倾角")
private String leanAngleX;
/** 垂直倾角 */
@Excel(name = "垂直倾角")
private String leanAngleY;
/** 力矩百分比 */
@Excel(name = "力矩百分比")
private String momentPercent;
/** 报警标识 */
@Excel(name = "报警标识")
private Long alarmed;
/** 倍率 */
@Excel(name = "倍率")
private String rate;
/** 是否有效 */
@Excel(name = "是否有效")
@ -179,24 +211,79 @@ public class DevTowerDataWarning extends BaseEntity
{
return warnNote;
}
public void setWarnData(String warnData)
{
this.warnData = warnData;
public String getHeight() {
return height;
}
public String getWarnData()
{
return warnData;
}
public void setRealData(String realData)
{
this.realData = realData;
public void setHeight(String height) {
this.height = height;
}
public String getRealData()
{
return realData;
public String getRange() {
return range;
}
public void setRange(String range) {
this.range = range;
}
public String getRotation() {
return rotation;
}
public void setRotation(String rotation) {
this.rotation = rotation;
}
public String getLoad() {
return load;
}
public void setLoad(String load) {
this.load = load;
}
public String getWindSpeed() {
return windSpeed;
}
public void setWindSpeed(String windSpeed) {
this.windSpeed = windSpeed;
}
public String getLeanAngleX() {
return leanAngleX;
}
public void setLeanAngleX(String leanAngleX) {
this.leanAngleX = leanAngleX;
}
public String getLeanAngleY() {
return leanAngleY;
}
public void setLeanAngleY(String leanAngleY) {
this.leanAngleY = leanAngleY;
}
public String getMomentPercent() {
return momentPercent;
}
public void setMomentPercent(String momentPercent) {
this.momentPercent = momentPercent;
}
public String getRate() {
return rate;
}
public void setRate(String rate) {
this.rate = rate;
}
public void setIsDel(Long isDel)
{
this.isDel = isDel;
@ -215,6 +302,14 @@ public class DevTowerDataWarning extends BaseEntity
this.projectName = projectName;
}
public Long getAlarmed() {
return alarmed;
}
public void setAlarmed(Long alarmed) {
this.alarmed = alarmed;
}
public String getComName() {
return comName;
}
@ -235,8 +330,6 @@ public class DevTowerDataWarning extends BaseEntity
.append("warnType", getWarnType())
.append("warnName", getWarnName())
.append("warnNote", getWarnNote())
.append("warnData", getWarnData())
.append("realData", getRealData())
.append("isDel", getIsDel())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())

View File

@ -59,12 +59,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectDevTowerDataCollideVo">
select dtdc.id, dtdc.cfg_id, dtdc.project_id, dtdc.com_id, sp.dept_name projectName, sd.dept_name com_name,dtdc.dept_id,pd.sub_dept_name dept_name,
select dtdc.id, dtdc.cfg_id, dtdc.project_id, dtdc.com_id, sp.project_name as projectName, sd.dept_name as com_name, dtdc.dept_id,
dtdc.device_key, dtdc.device_source, dtdc.tower_id, dtdc.coordinate_x, dtdc.coordinate_y, dtdc.front_brachium, dtdc.after_brachium, dtdc.tower_body_height, dtdc.height, dtdc.angle, dtdc.range, dtdc.early_warning_distance, dtdc.alarm_warning_distance, dtdc.contour_value, dtdc.is_del, dtdc.create_by, dtdc.create_time, dtdc.update_by, dtdc.update_time, dtdc.remark
from dev_tower_data_collide dtdc
left join sys_dept sp on sp.dept_id = dtdc.project_id
left join pro_project_info sp on sp.id = dtdc.project_id
left join sys_dept sd on sd.dept_id = dtdc.com_id
left join pro_project_info_subdepts pd on pd.id=dtdc.dept_id
</sql>
<select id="selectDevTowerDataCollideList" parameterType="DevTowerDataCollide" resultMap="DevTowerDataCollideResult">

View File

@ -59,12 +59,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectDevTowerDataLimitVo">
select dtdl.id, dtdl.cfg_id, dtdl.project_id, dtdl.com_id, sp.dept_name projectName, sd.dept_name com_name,dtdl.dept_id,pd.sub_dept_name dept_name,
select dtdl.id, dtdl.cfg_id, dtdl.project_id, dtdl.com_id, sp.project_name as projectName, sd.dept_name as com_name, dtdl.dept_id,
dtdl.device_key, dtdl.device_source, dtdl.tower_id, dtdl.wind_speed_warning, dtdl.wind_speed_alarm, dtdl.load_warning, dtdl.load_alarm, dtdl.moment_warning, dtdl.moment_alarm, dtdl.high_limit_warning, dtdl.high_limit_alarm, dtdl.low_limit_warning, dtdl.low_limit_alarm, dtdl.left_limit_warning, dtdl.left_limit_alarm, dtdl.right_limit_warning, dtdl.right_limit_alarm, dtdl.front_limit_warning, dtdl.front_limit_alarm, dtdl.back_limit_warning, dtdl.back_limit_alarm, dtdl.collision_angle_warning, dtdl.collision_angle_alarm, dtdl.collision_distance_warning, dtdl.collision_distance_alarm, dtdl.h_distance_warning, dtdl.h_distance_alarm, dtdl.v_distance_warning, dtdl.v_distance_alarm, dtdl.lean_warning, dtdl.lean_alarm, dtdl.range_limit_start, dtdl.range_limit_end, dtdl.height_limit_start, dtdl.height_limit_end, dtdl.rotation_limit_start, dtdl.rotation_limit_end, dtdl.is_del, dtdl.create_by, dtdl.create_time, dtdl.update_by, dtdl.update_time, dtdl.remark
from dev_tower_data_limit dtdl
left join sys_dept sp on sp.dept_id = dtdl.project_id
left join pro_project_info sp on sp.id = dtdl.project_id
left join sys_dept sd on sd.dept_id = dtdl.com_id
left join pro_project_info_subdepts pd on pd.id=dtdl.dept_id
</sql>

View File

@ -47,8 +47,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dtdl.cfg_id,
dtdl.project_id,
dtdl.com_id,
sp.dept_name projectName,
sd.dept_name com_name,dtdl.dept_id,pd.sub_dept_name dept_name,
sp.project_name as projectName,
sd.dept_name as com_name, dtdl.dept_id
dtdl.device_key,
dtdl.device_source,
dtdl.tower_id,
@ -77,9 +77,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dtdl.update_time,
dtdl.remark
from dev_tower_data_local dtdl
left join sys_dept sp on sp.dept_id = dtdl.project_id
left join pro_project_info sp on sp.id = dtdl.project_id
left join sys_dept sd on sd.dept_id = dtdl.com_id
left join pro_project_info_subdepts pd on pd.id=dtdl.dept_id
</sql>
<select id="selectDevTowerDataLocalList" parameterType="DevTowerDataLocal" resultMap="DevTowerDataLocalResult">

View File

@ -56,8 +56,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dtdr.cfg_id,
dtdr.project_id,
dtdr.com_id,
sp.dept_name projectName,
sd.dept_name com_name,dtdr.dept_id,pd.sub_dept_name dept_name,
sp.project_name as projectName,
sd.dept_name as com_name, dtdr.dept_id,
dtdr.device_key,
dtdr.device_source,
dtdr.tower_id,
@ -94,9 +94,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dtdr.update_time,
dtdr.remark
from dev_tower_data_round dtdr
left join sys_dept sp on sp.dept_id = dtdr.project_id
left join pro_project_info sp on sp.id = dtdr.project_id
left join sys_dept sd on sd.dept_id = dtdr.com_id
left join pro_project_info_subdepts pd on pd.id=dtdr.dept_id
</sql>
<select id="selectDevTowerDataRoundList" parameterType="DevTowerDataRound" resultMap="DevTowerDataRoundResult">

View File

@ -50,8 +50,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dtdr.cfg_id,
dtdr.project_id,
dtdr.com_id,
sp.dept_name projectName,
sd.dept_name com_name,dtdr.dept_id,pd.sub_dept_name dept_name,
sp.project_name as projectName,
sd.dept_name as com_name, dtdr.dept_id,
dtdr.device_key,
dtdr.device_source,
dtdr.height,
@ -83,10 +83,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dtdr.update_time,
dtdr.remark
from dev_tower_data_run dtdr
left join sys_dept sp on sp.dept_id = dtdr.project_id
left join pro_project_info sp on sp.id = dtdr.project_id
left join sys_dept sd on sd.dept_id = dtdr.com_id
left join pro_project_info_subdepts pd on pd.id=dtdr.dept_id
</sql>
<select id="selectDevTowerDataRunList" parameterType="DevTowerDataRun" resultMap="DevTowerDataRunResult">

View File

@ -19,8 +19,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="warnType" column="warn_type" />
<result property="warnName" column="warn_name" />
<result property="warnNote" column="warn_note" />
<result property="warnData" column="warn_data" />
<result property="realData" column="real_data" />
<result property="height" column="height" />
<result property="range" column="range" />
<result property="rotation" column="rotation" />
<result property="load" column="load" />
<result property="windSpeed" column="wind_speed" />
<result property="leanAngleX" column="lean_angle_x" />
<result property="leanAngleY" column="lean_angle_y" />
<result property="momentPercent" column="moment_percent" />
<result property="rate" column="rate" />
<result property="alarmed" column="alarmed" />
<result property="isDel" column="is_del" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@ -34,16 +42,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dtdw.cfg_id,
dtdw.project_id,
dtdw.com_id,
sp.dept_name projectName,
sd.dept_name com_name,dtdw.dept_id,pd.sub_dept_name dept_name,
sp.project_name as projectName,
sd.dept_name as com_name, dtdw.dept_id,
dtdw.device_key,
dtdw.device_source,
dtdw.tower_id,
dtdw.warn_type,
dtdw.warn_name,
dtdw.warn_note,
dtdw.warn_data,
dtdw.real_data,
dtdw.height,
dtdw.range,
dtdw.rotation,
dtdw.load,
dtdw.wind_speed,
dtdw.lean_angle_x,
dtdw.lean_angle_y,
dtdw.moment_percent,
dtdw.rate,
dtdw.alarmed,
dtdw.is_del,
dtdw.create_by,
dtdw.create_time,
@ -53,7 +69,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from dev_tower_data_warning dtdw
left join sys_dept sp on sp.dept_id = dtdw.project_id
left join sys_dept sd on sd.dept_id = dtdw.com_id
left join pro_project_info_subdepts pd on pd.id=dtdw.dept_id
</sql>
<select id="selectDevTowerDataWarningList" parameterType="DevTowerDataWarning" resultMap="DevTowerDataWarningResult">
@ -93,8 +108,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="warnType != null">warn_type,</if>
<if test="warnName != null">warn_name,</if>
<if test="warnNote != null">warn_note,</if>
<if test="warnData != null">warn_data,</if>
<if test="realData != null">real_data,</if>
<if test="height != null">height,</if>
<if test="range != null">`range`,</if>
<if test="rotation != null">rotation,</if>
<if test="load != null">`load`,</if>
<if test="windSpeed != null">wind_speed,</if>
<if test="leanAngleX != null">lean_angle_x,</if>
<if test="leanAngleY != null">lean_angle_y,</if>
<if test="momentPercent != null">moment_percent,</if>
<if test="rate != null">rate,</if>
<if test="alarmed != null">alarmed,</if>
<if test="isDel != null">is_del,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@ -113,8 +136,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="warnType != null">#{warnType},</if>
<if test="warnName != null">#{warnName},</if>
<if test="warnNote != null">#{warnNote},</if>
<if test="warnData != null">#{warnData},</if>
<if test="realData != null">#{realData},</if>
<if test="height != null">#{height},</if>
<if test="range != null">#{range},</if>
<if test="rotation != null">#{rotation},</if>
<if test="load != null">#{load},</if>
<if test="windSpeed != null">#{windSpeed},</if>
<if test="leanAngleX != null">#{leanAngleX},</if>
<if test="leanAngleY != null">#{leanAngleY},</if>
<if test="momentPercent != null">#{momentPercent},</if>
<if test="rate != null">#{rate},</if>
<if test="alarmed != null">#{alarmed},</if>
<if test="isDel != null">#{isDel},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@ -137,8 +168,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="warnType != null">warn_type = #{warnType},</if>
<if test="warnName != null">warn_name = #{warnName},</if>
<if test="warnNote != null">warn_note = #{warnNote},</if>
<if test="warnData != null">warn_data = #{warnData},</if>
<if test="realData != null">real_data = #{realData},</if>
<if test="height != null">height = #{height},</if>
<if test="range != null">`range` = #{range},</if>
<if test="rotation != null">rotation = #{rotation},</if>
<if test="load != null">`load` = #{load},</if>
<if test="windSpeed != null">wind_speed = #{windSpeed},</if>
<if test="leanAngleX != null">lean_angle_x = #{leanAngleX},</if>
<if test="leanAngleY != null">lean_angle_y = #{leanAngleY},</if>
<if test="momentPercent != null">moment_percent = #{momentPercent},</if>
<if test="rate != null">rate = #{rate},</if>
<if test="alarmed != null">alarmed = #{alarmed},</if>
<if test="isDel != null">is_del = #{isDel},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>

View File

@ -41,8 +41,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select dtpc.id,
dtpc.project_id,
dtpc.com_id,
sp.dept_name projectName,
sd.dept_name com_name,dtpc.dept_id,pd.sub_dept_name dept_name,
sp.project_name as projectName,
sd.dept_name as com_name, dtpc.dept_id
dtpc.device_sn,
dtpc.device_name,
dtpc.device_source,
@ -69,7 +69,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from dev_tower_project_config dtpc
left join sys_dept sp on sp.dept_id = dtpc.project_id
left join sys_dept sd on sd.dept_id = dtpc.com_id
left join pro_project_info_subdepts pd on pd.id=dtpc.dept_id
</sql>

View File

@ -154,7 +154,7 @@ public class TowerCraneApiController {
List<String> warnings = (List<String>) dataContent.get("warnings");
devTowerDataRun.setWarnings(String.join(",", warnings));
for (String warning : warnings) {
pushWarningData(config, warning);
pushWarningData(config, warning, devTowerDataRun);
Integer alarm = Convert.toInt(warning);
if (alarm > 100 && alarm < 120) {
devTowerDataRun.setIsAlarm(1L);
@ -213,7 +213,7 @@ public class TowerCraneApiController {
List<String> warnings = (List<String>) dataContent.get("warning");
devTowerDataRound.setWarnings(String.join(",", warnings));
for (String warning : warnings) {
pushWarningData(config, warning);
pushWarningData(config, warning,null);
Integer alarm = Convert.toInt(warning);
if (alarm > 6 && alarm < 10) {
devTowerDataRound.setIsOverload(1L);
@ -232,13 +232,27 @@ public class TowerCraneApiController {
* @param config
* @param warning
*/
private void pushWarningData(DevTowerProjectConfig config, Object warning) {
private void pushWarningData(DevTowerProjectConfig config, Object warning, DevTowerDataRun devTowerDataRun) {
DevTowerDataWarning devTowerDataWarning = new DevTowerDataWarning();
devTowerDataWarning.setCfgId(config.getId());
devTowerDataWarning.setProjectId(config.getProjectId());
devTowerDataWarning.setComId(config.getComId());
devTowerDataWarning.setDeviceKey(config.getDeviceSn());
devTowerDataWarning.setWarnType(Convert.toLong(warning));
if(devTowerDataRun!=null){
devTowerDataWarning.setHeight(devTowerDataRun.getHeight());
devTowerDataWarning.setRange(devTowerDataRun.getRange());
devTowerDataWarning.setRotation(devTowerDataRun.getRotation());
devTowerDataWarning.setLoad(devTowerDataRun.getLoad());
devTowerDataWarning.setWindSpeed(devTowerDataRun.getWindSpeed());
devTowerDataWarning.setLeanAngleX(devTowerDataRun.getLeanAngleX());
devTowerDataWarning.setLeanAngleY(devTowerDataRun.getLeanAngleY());
devTowerDataWarning.setMomentPercent(devTowerDataRun.getMomentPercent());
devTowerDataWarning.setRate(devTowerDataRun.getRate());
}
if(devTowerDataWarning.getWarnType()>100){
devTowerDataWarning.setAlarmed(1L);
}
devTowerDataWarningService.insertDevTowerDataWarning(devTowerDataWarning);
}
@ -473,6 +487,18 @@ public class TowerCraneApiController {
String warningType = convertTyTowerWarningType(req.getType_id().toString());
devTowerDataWarning.setWarnType(Convert.toLong(warningType));
devTowerDataWarning.setWarnNote(req.getType());
devTowerDataWarning.setHeight(Convert.toStr(req.getHeight()));
devTowerDataWarning.setRange(Convert.toStr(req.getRange()));
devTowerDataWarning.setRotation(Convert.toStr(req.getRotation()));
devTowerDataWarning.setLoad(Convert.toStr(req.getLifting_weight()));
devTowerDataWarning.setWindSpeed(Convert.toStr(req.getWind_speed()));
devTowerDataWarning.setLeanAngleX(Convert.toStr(req.getAnteversion_x()));
devTowerDataWarning.setLeanAngleY(Convert.toStr(req.getAnteversion_y()));
devTowerDataWarning.setMomentPercent(Convert.toStr(req.getForce_distance()));
devTowerDataWarning.setRate(Convert.toStr(req.getMagnification()));
if(devTowerDataWarning.getWarnType()>100){
devTowerDataWarning.setAlarmed(1L);
}
devTowerDataWarningService.insertDevTowerDataWarning(devTowerDataWarning);
return AjaxResult.success();
}

View File

@ -39,12 +39,9 @@
<right-toolbar :showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="towerDataCollideList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" width="100" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150"
v-if="currentPrjId ? false : true" />
<el-table-column label="所属单位" align="center" prop="deptName" width="150" />
<el-table v-loading="loading" :data="towerDataCollideList">
<el-table-column label="编号" align="center" prop="id" width="88" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150" />
<el-table-column label="设备序列号" align="center" prop="deviceKey" width="200" />
<el-table-column label="塔机坐标x" align="center" prop="coordinateX" width="120" />
<el-table-column label="塔机坐标y" align="center" prop="coordinateY" width="120" />

View File

@ -38,12 +38,9 @@
<right-toolbar :showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="towerDataLimitList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" width="100" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150"
v-if="currentPrjId ? false : true" />
<el-table-column label="所属单位" align="center" prop="deptName" width="150" />
<el-table v-loading="loading" :data="towerDataLimitList">
<el-table-column label="编号" align="center" prop="id" width="88" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150" />
<el-table-column label="设备序列号" align="center" prop="deviceKey" width="200" />
<el-table-column label="风速预警" align="center" prop="windSpeedWarning" width="120" />
<el-table-column label="风速报警" align="center" prop="windSpeedAlarm" width="120" />

View File

@ -39,12 +39,9 @@
<right-toolbar :showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="towerDataRoundList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" width="100" />
<el-table-column label="项目名称" align="center" prop="projectName" width="200"
v-if="currentPrjId ? false : true" />
<el-table-column label="所属单位" align="center" prop="deptName" width="150" />
<el-table v-loading="loading" :data="towerDataRoundList">
<el-table-column label="编号" align="center" prop="id" width="88" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150" />
<el-table-column label="设备序列号" align="center" prop="deviceKey" width="200" />
<el-table-column label="工作循环开始" align="center" prop="workStartTime" width="180" />
<el-table-column label="工作循环结束" align="center" prop="workEndTime" width="180" />

View File

@ -43,12 +43,9 @@
</el-alert>
</el-row>
<el-table v-loading="loading" :data="towerDataRunList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" width="100" />
<el-table-column label="项目名称" align="center" prop="projectName" width="200"
v-if="currentPrjId ? false : true" />
<el-table-column label="所属单位" align="center" prop="deptName" width="150" />
<el-table v-loading="loading" :data="towerDataRunList">
<el-table-column label="编号" align="center" prop="id" width="88" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150" />
<el-table-column label="设备序列号" align="center" prop="deviceKey" width="200" />
<el-table-column label="警报信息" align="center" prop="warnings" width="200">
<template #default="scope">

View File

@ -1,55 +1,132 @@
<template>
<div class="app-container tower-project-config">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="项目名称" prop="projectId">
<el-select v-model="queryParams.projectId" clearable :disabled="currentPrjId ? true : false" filterable
placeholder="请选择所属项目" style="width: 200px" @change="queryProjectChange">
<el-option v-for="item in projects" :key="item.id" :label="item.projectName" :value="item.id">
<el-select
v-model="queryParams.projectId"
clearable
:disabled="currentPrjId ? true : false"
filterable
placeholder="请选择所属项目"
style="width: 200px"
@change="queryProjectChange"
>
<el-option
v-for="item in projects"
:key="item.id"
:label="item.projectName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属单位" prop="deptId">
<el-select v-model="queryParams.deptId" clearable filterable placeholder="请选择所属单位" style="width: 200px">
<el-option v-for="item in subDepts" :key="item.id" :label="item.subDeptName" :value="item.id">
<el-select
v-model="queryParams.deptId"
clearable
filterable
placeholder="请选择所属单位"
style="width: 200px"
>
<el-option
v-for="item in subDepts"
:key="item.id"
:label="item.subDeptName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="queryParams.deviceName" placeholder="请输入设备名称" clearable @keyup.enter="handleQuery" />
<el-input
v-model="queryParams.deviceName"
placeholder="请输入设备名称"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="设备序号" prop="deviceSn">
<el-input v-model="queryParams.deviceSn" placeholder="请输入设备序列号" clearable @keyup.enter="handleQuery" />
<el-input
v-model="queryParams.deviceSn"
placeholder="请输入设备序列号"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="small" @click="resetQuery"></el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="small" @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="small" @click="handleAdd"
v-hasPermi="['device:towerProjectConfig:add']">新增</el-button>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="small"
@click="handleAdd"
v-hasPermi="['device:towerProjectConfig:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="small" :disabled="single"
@click="handleUpdate" v-hasPermi="['device:towerProjectConfig:edit']">修改</el-button>
<el-button
type="success"
plain
icon="el-icon-edit"
size="small"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:towerProjectConfig:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="small" :disabled="multiple"
@click="handleDelete" v-hasPermi="['device:towerProjectConfig:remove']">删除</el-button>
<el-button
type="danger"
plain
icon="el-icon-delete"
size="small"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:towerProjectConfig:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" size="small" @click="handleExport"
v-hasPermi="['device:towerProjectConfig:export']">导出</el-button>
<el-button
type="warning"
plain
icon="Download"
size="small"
@click="handleExport"
v-hasPermi="['device:towerProjectConfig:export']"
>导出</el-button
>
</el-col>
<right-toolbar :showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="towerProjectConfigList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="towerProjectConfigList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="所属单位" align="center" prop="comName" width="150" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150"/>
<el-table-column label="项目名称" align="center" prop="projectName" width="150" />
<el-table-column label="设备名称" align="center" prop="deviceName" width="150" />
<el-table-column label="设备序号" align="center" prop="deviceSn" width="150" />
<el-table-column label="塔机类型" align="center" prop="towerType">
@ -61,7 +138,12 @@
<el-table-column label="塔机坐标x" align="center" prop="coordinateX" width="100" />
<el-table-column label="塔机坐标y" align="center" prop="coordinateY" width="100" />
<el-table-column label="前臂长度" align="center" prop="frontBrachium" />
<el-table-column label="平衡臂长度" align="center" prop="afterBrachium" width="100" />
<el-table-column
label="平衡臂长度"
align="center"
prop="afterBrachium"
width="100"
/>
<el-table-column label="塔身高度" align="center" prop="towerBodyHeight" />
<el-table-column label="塔帽高度" align="center" prop="towerCapHeight" />
<el-table-column label="塔节高度" align="center" prop="towerSectionHeight" />
@ -79,13 +161,20 @@
</el-table-column>
<el-table-column label="塔机状态" align="center" prop="online">
<template #default="scope">
<dict-tag :options="dict.project_video_signal_state" :value="scope.row.online" />
<dict-tag
:options="dict.project_video_signal_state"
:value="scope.row.online"
/>
</template>
</el-table-column>
<el-table-column label="启用状态" align="center" prop="isDel" width="80">
<template #default="scope">
<el-switch v-model="scope.row.isDel" active-value="0" inactive-value="1"
@change="setStatus(scope.row, $event)"></el-switch>
<el-switch
v-model="scope.row.isDel"
:active-value="parseInt(0)"
:inactive-value="parseInt(1)"
@change="setStatus(scope.row, $event)"
></el-switch>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="updateTime" width="160">
@ -93,17 +182,34 @@
<span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d} {h}:{i}") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100" fixed="right">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="100"
fixed="right"
>
<template #default="scope">
<el-button size="small" type="primary" text icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['device:towerProjectConfig:edit']">修改</el-button>
<el-button
size="small"
type="primary"
text
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:towerProjectConfig:edit']"
>修改</el-button
>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改塔基监测配置对话框 -->
<el-dialog :title="title" v-model="open" width="960px" append-to-body>
@ -124,14 +230,24 @@
</el-col>
<el-col :span="24">
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="form.deviceName" placeholder="请输入设备名称" maxlength="32" show-word-limit />
<el-input
v-model="form.deviceName"
placeholder="请输入设备名称"
maxlength="32"
show-word-limit
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备序列号" prop="deviceSn">
<el-input v-model="form.deviceSn" placeholder="请输入设备序列号" maxlength="32" show-word-limit />
<el-input
v-model="form.deviceSn"
placeholder="请输入设备序列号"
maxlength="32"
show-word-limit
/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -149,8 +265,8 @@
<el-col :span="12">
<el-form-item label="司机电话" prop="driPhone">
<el-input v-model="form.driPhone" placeholder="请输入司机电话" />
</el-form-item>
</el-col></el-row>
</el-form-item> </el-col
></el-row>
<el-row>
<el-col :span="12">
<el-form-item label="安全员" prop="safName">
@ -163,22 +279,35 @@
</el-form-item>
</el-col>
</el-row>
<el-alert title="温馨提示:" type="warning" description="以下数据在设备运行过程中,不定时更新。无需填写,填写后会被定时覆盖!!!" show-icon>
<el-alert
title="温馨提示:"
type="warning"
description="以下数据在设备运行过程中,不定时更新。无需填写,填写后会被定时覆盖!!!"
show-icon
>
</el-alert>
<el-row>
<el-col :span="12">
<el-form-item label="塔机类型" prop="towerType" style="margin-top: 16px;">
<el-select v-model="form.towerType" placeholder="请选择塔机类型" style="width:100%">
<el-option v-for="dict in dict.device_tower_type" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)"></el-option>
<el-form-item label="塔机类型" prop="towerType" style="margin-top: 16px">
<el-select
v-model="form.towerType"
placeholder="请选择塔机类型"
style="width: 100%"
>
<el-option
v-for="dict in dict.device_tower_type"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="塔机坐标x" prop="coordinateX">
<el-input v-model="form.coordinateX" placeholder="请输入塔机坐标x" />
</el-form-item>
</el-col></el-row>
</el-form-item> </el-col
></el-row>
<el-row>
<el-col :span="12">
<el-form-item label="塔机坐标y" prop="coordinateY">
@ -188,8 +317,8 @@
<el-col :span="12">
<el-form-item label="前臂长度" prop="frontBrachium">
<el-input v-model="form.frontBrachium" placeholder="请输入前臂长度" />
</el-form-item>
</el-col></el-row>
</el-form-item> </el-col
></el-row>
<el-row>
<el-col :span="12">
<el-form-item label="平衡臂长度" prop="afterBrachium">
@ -215,7 +344,7 @@
</el-col>
</el-row>
</el-form>
<div slot-slot="footer" class="dialog-footer" style="text-align: center;">
<div slot-slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
@ -232,7 +361,7 @@ import {
updateTowerProjectConfig,
} from "@/api/device/towerProjectConfig";
import { listProProjectInfoSubdepts } from "@/api/manage/proProjectInfoSubdepts";
import useUserStore from '@/store/modules/user'
import useUserStore from "@/store/modules/user";
import { findMyProjectList } from "@/api/publics";
export default {
name: "TowerProjectConfig",
@ -273,9 +402,7 @@ export default {
form: {},
//
rules: {
deviceName: [
{ required: true, message: "设备名称不能为空", trigger: "blur" },
],
deviceName: [{ required: true, message: "设备名称不能为空", trigger: "blur" }],
deviceSn: [
{ required: true, message: "设备序列表不能为空", trigger: "blur" },
{ max: 64, message: "最多输入64个字符" },
@ -284,7 +411,7 @@ export default {
dict: {
sys_common_isdel: [],
device_tower_type: [],
project_video_signal_state: []
project_video_signal_state: [],
},
userStore: {},
isAdmin: false,
@ -295,8 +422,12 @@ export default {
};
},
created() {
this.dict = this.useDict('sys_common_isdel', 'device_tower_type', 'project_video_signal_state');
this.userStore = useUserStore()
this.dict = this.useDict(
"sys_common_isdel",
"device_tower_type",
"project_video_signal_state"
);
this.userStore = useUserStore();
this.isAdmin = this.userStore.isAdmin;
this.queryParams.projectId = this.userStore.currentPrjId;
this.queryParams.comId = this.userStore.currentComId;
@ -308,32 +439,37 @@ export default {
},
methods: {
queryProjectChange() {
this.subDepts = []
this.subDepts = [];
this.queryParams.deptId = "";
if (this.queryParams.projectId) {
this.getSubDepts(this.queryParams.projectId, data => {
this.getSubDepts(this.queryParams.projectId, (data) => {
this.subDepts = data;
})
});
}
},
dlgProjectChange() {
this.dlgDepts = [];
this.form.deptId = "";
if (this.form.projectId) {
this.getSubDepts(this.form.projectId, data => {
this.getSubDepts(this.form.projectId, (data) => {
this.dlgDepts = data;
});
}
},
getSubDepts(prjId, cb) {
listProProjectInfoSubdepts({ projectId: prjId, pageNum: 1, pageSize: 100, activeTags: "finished" }).then(d => {
listProProjectInfoSubdepts({
projectId: prjId,
pageNum: 1,
pageSize: 100,
activeTags: "finished",
}).then((d) => {
let subdepts = d.rows || [];
cb && cb(subdepts);
});
},
/** 查询项目列表 */
getProjectList() {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then(response => {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then((response) => {
this.projects = response.rows;
});
},
@ -400,7 +536,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
if(!this.userStore.currentPrjId){
if (!this.userStore.currentPrjId) {
this.$modal.msgWarning("请切换到项目数据!!!");
return false;
}
@ -423,8 +559,8 @@ export default {
const id = row.id || this.ids;
getTowerProjectConfig(id).then((response) => {
this.form = response.data;
this.form.towerType = this.form.towerType ? 1 * this.form.towerType : '';
this.getSubDepts(this.form.projectId, data => {
this.form.towerType = this.form.towerType ? 1 * this.form.towerType : "";
this.getSubDepts(this.form.projectId, (data) => {
this.dlgDepts = data;
});
this.open = true;
@ -464,7 +600,7 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => { });
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
@ -479,7 +615,7 @@ export default {
//
setStatus(row, val) {
if (this.loading) {
return
return;
}
this.$confirm(`是否确认${val == 0 ? "启用" : "停用"}当前数据配置?`, "提示", {
confirmButtonText: "确定",
@ -487,24 +623,26 @@ export default {
type: "warning",
})
.then(async () => {
delTowerProjectConfig(row.id).then((response) => {
let _datas = { id: row.id, isDel: val };
updateTowerProjectConfig(_datas).then((response) => {
this.$modal.msgSuccess("修改成功");
this.getList();
});
})
.catch(() => {
//
if (val == "0") {
row.isDel = "1";
if (val == 0) {
row.isDel = 1;
} else {
row.isDel = "0";
row.isDel = 0;
}
});
},
},
}
};
</script>
<style lang="scss">
.tower-project-config {}
.tower-project-config {
}
</style>