Commit 910cf076 authored by wuqinghua's avatar wuqinghua

Merge remote-tracking branch 'origin/master'

parents 1998ce49 7ce3c290
...@@ -40,6 +40,8 @@ public class TDeviceInfoController extends BaseController ...@@ -40,6 +40,8 @@ public class TDeviceInfoController extends BaseController
@Autowired @Autowired
private ITDetectorInfoService itDetectorInfoService; private ITDetectorInfoService itDetectorInfoService;
@Autowired
private ITDetectorUserService itDetectorUserService;
/** /**
* 查询设备信息列表 * 查询设备信息列表
...@@ -217,6 +219,8 @@ public class TDeviceInfoController extends BaseController ...@@ -217,6 +219,8 @@ public class TDeviceInfoController extends BaseController
{ {
Map<String,Object> map = itDetectorInfoService.selectDetectorNum(enterpriseId); Map<String,Object> map = itDetectorInfoService.selectDetectorNum(enterpriseId);
Map<String,Object> map1 =tDeviceInfoService.selectDeviceNum(enterpriseId); Map<String,Object> map1 =tDeviceInfoService.selectDeviceNum(enterpriseId);
Map<String,Object> map2 =itDetectorUserService.selectUserNum();
map.putAll(map2);
map.putAll(map1); map.putAll(map1);
return AjaxResult.success(map); return AjaxResult.success(map);
} }
......
...@@ -84,4 +84,10 @@ public interface TDetectorUserMapper ...@@ -84,4 +84,10 @@ public interface TDetectorUserMapper
* @return 结果 * @return 结果
*/ */
public int deleteTDetectorUserByIds(Long[] userIds); public int deleteTDetectorUserByIds(Long[] userIds);
/**
* 查询用户数量
* @return
*/
public Map<String,Object> selectUserNum();
} }
...@@ -92,4 +92,10 @@ public interface ITDetectorUserService ...@@ -92,4 +92,10 @@ public interface ITDetectorUserService
* @return 结果 * @return 结果
*/ */
public int deleteTDetectorUserById(Long userId); public int deleteTDetectorUserById(Long userId);
/**
* 查询用户数量
* @return
*/
public Map<String,Object> selectUserNum();
} }
...@@ -211,4 +211,12 @@ public class TDetectorUserServiceImpl implements ITDetectorUserService ...@@ -211,4 +211,12 @@ public class TDetectorUserServiceImpl implements ITDetectorUserService
{ {
return tDetectorUserMapper.deleteTDetectorUserById(userId); return tDetectorUserMapper.deleteTDetectorUserById(userId);
} }
/**
* 用户数量
* @return
*/
public Map<String,Object> selectUserNum(){
return tDetectorUserMapper.selectUserNum();
}
} }
...@@ -260,8 +260,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -260,8 +260,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<select id="selectDetectorNum" resultType="java.util.HashMap"> <select id="selectDetectorNum" resultType="java.util.HashMap">
SELECT IFNULL(SUM(IF(detector_status=0,1,0)),0) AS changNum,IFNULL(SUM(detector_status=1),0) AS liNum, SELECT IFNULL(SUM(IF(detector_status=0,1,0)),0) AS changNum,IFNULL(SUM(detector_status=1),0) AS liNum,
IFNULL(SUM(IF(detector_status=2,1,0)),0) AS baoNum , IFNULL(SUM(IF(detector_status=2,1,0)),0) AS baoNum
(SELECT COUNT(user_id) FROM t_detector_user WHERE is_del = 0) AS userNum
FROM t_detector_info WHERE is_del = 0 FROM t_detector_info WHERE is_del = 0
</select> </select>
......
...@@ -25,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -25,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql> </sql>
<select id="selectTDetectorReportDataList" parameterType="TDetectorReportDataForm" resultType="TDetectorAlarmInfoVO"> <select id="selectTDetectorReportDataList" parameterType="TDetectorReportDataForm" resultType="TDetectorAlarmInfoVO">
select * from(
select rd.id, select rd.id,
rd.cancel_time cancelTime, rd.cancel_time cancelTime,
rd.detector_code detectorCode, rd.detector_code detectorCode,
...@@ -45,7 +46,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -45,7 +46,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cancelTimeStart != null "> and rd.cancel_time &gt;= #{cancelTimeStart}</if> <if test="cancelTimeStart != null "> and rd.cancel_time &gt;= #{cancelTimeStart}</if>
<if test="cancelTimeEnd != null "> and rd.cancel_time &lt;= #{cancelTimeEnd}</if> <if test="cancelTimeEnd != null "> and rd.cancel_time &lt;= #{cancelTimeEnd}</if>
</where> </where>
ORDER BY rd.create_time desc union
SELECT rd.id,
rd.cancel_time cancelTime,
rd.detector_code detectorCode,
CONCAT_WS("#",ti.device_name,ti.linkman) unitName,
di.detector_type detectorType,
rd.status_name statusName,
rd.create_time alarmTime,
rd.is_cancel_alarm handledStatus
FROM t_detector_report_data rd
LEFT JOIN t_detector_info di ON rd.detector_code = di.detector_code
LEFT JOIN t_relation_device_detail_info ri ON rd.detector_code = ri.iot_no
LEFT JOIN t_device_info ti ON ri.relation_device_id = ti.device_id
<where> ri.relation_device_type = '1' and ri.is_del = '0' and ti.is_del = '0'
<if test="detectorCode != null and detectorCode != ''"> and rd.detector_code = #{detectorCode}</if>
<if test="statusName != null and statusName != ''"> and rd.status_name = #{statusName}</if>
<if test="createTimeStart != null "> and rd.create_time &gt;= #{createTimeStart}</if>
<if test="createTimeEnd != null "> and rd.create_time &lt;= #{createTimeEnd}</if>
<if test="isCancelAlarm != null and isCancelAlarm != ''"> and is_cancel_alarm = #{isCancelAlarm}</if>
<if test="cancelTimeStart != null "> and rd.cancel_time &gt;= #{cancelTimeStart}</if>
<if test="cancelTimeEnd != null "> and rd.cancel_time &lt;= #{cancelTimeEnd}</if>
</where>
union
SELECT rd.id,
rd.cancel_time cancelTime,
rd.detector_code detectorCode,
CONCAT_WS("#",si.site_station_name,si.build_unit) unitName,
di.detector_type detectorType,
rd.status_name statusName,
rd.create_time alarmTime,
rd.is_cancel_alarm handledStatus
FROM t_detector_report_data rd
LEFT JOIN t_detector_info di ON rd.detector_code = di.detector_code
LEFT JOIN t_relation_device_detail_info ti ON rd.detector_code = ti.iot_no
LEFT JOIN t_site_station_info si ON ti.relation_device_id = si.site_station_id
<where> ti.relation_device_type = '2' and ti.is_del = '0' and si.is_del = '0'
<if test="detectorCode != null and detectorCode != ''"> and rd.detector_code = #{detectorCode}</if>
<if test="statusName != null and statusName != ''"> and rd.status_name = #{statusName}</if>
<if test="createTimeStart != null "> and rd.create_time &gt;= #{createTimeStart}</if>
<if test="createTimeEnd != null "> and rd.create_time &lt;= #{createTimeEnd}</if>
<if test="isCancelAlarm != null and isCancelAlarm != ''"> and is_cancel_alarm = #{isCancelAlarm}</if>
<if test="cancelTimeStart != null "> and rd.cancel_time &gt;= #{cancelTimeStart}</if>
<if test="cancelTimeEnd != null "> and rd.cancel_time &lt;= #{cancelTimeEnd}</if>
</where>
)t
ORDER BY t.alarmTime DESC
</select> </select>
<select id="selectTDetectorReportDataById" parameterType="Long" resultMap="TDetectorReportDataResult"> <select id="selectTDetectorReportDataById" parameterType="Long" resultMap="TDetectorReportDataResult">
...@@ -61,6 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -61,6 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectTDetectorAlarm" resultType="TDetectorAlarmInfoVO"> <select id="selectTDetectorAlarm" resultType="TDetectorAlarmInfoVO">
select * from(
SELECT SELECT
rd.detector_code detectorCode, rd.detector_code detectorCode,
CONCAT_WS("#",IFNULL(u.nick_name,IFNULL(di.linkman,di.detector_addr)),di.linkman) unitName, CONCAT_WS("#",IFNULL(u.nick_name,IFNULL(di.linkman,di.detector_addr)),di.linkman) unitName,
...@@ -76,7 +123,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -76,7 +123,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN t_detector_info di ON rd.detector_code = di.detector_code LEFT JOIN t_detector_info di ON rd.detector_code = di.detector_code
LEFT JOIN t_detector_user u ON u.user_id = di.user_id LEFT JOIN t_detector_user u ON u.user_id = di.user_id
WHERE u.is_del = '0' and di.is_del = '0' and rd.is_cancel_alarm = '0' WHERE u.is_del = '0' and di.is_del = '0' and rd.is_cancel_alarm = '0'
ORDER BY rd.create_time DESC LIMIT 50 union
SELECT
rd.detector_code detectorCode,
CONCAT_WS("#",ti.device_name,ti.linkman) unitName,
di.detector_type detectorType,
rd.status_name statusName,
rd.create_time alarmTime,
IF (
rd.is_cancel_alarm = 0,
'未消除',
'已消除'
) handledStatus
FROM t_detector_report_data rd
LEFT JOIN t_detector_info di ON rd.detector_code = di.detector_code
LEFT JOIN t_relation_device_detail_info ri ON rd.detector_code = ri.iot_no
LEFT JOIN t_device_info ti ON ri.relation_device_id = ti.device_id
WHERE ri.relation_device_type = '1' and ri.is_del = '0' and ti.is_del = '0' and rd.is_cancel_alarm = '0'
union
SELECT
rd.detector_code detectorCode,
CONCAT_WS("#",si.site_station_name,si.build_unit) unitName,
di.detector_type detectorType,
rd.status_name statusName,
rd.create_time alarmTime,
IF (
rd.is_cancel_alarm = 0,
'未消除',
'已消除'
) handledStatus
FROM t_detector_report_data rd
LEFT JOIN t_detector_info di ON rd.detector_code = di.detector_code
LEFT JOIN t_relation_device_detail_info ti ON rd.detector_code = ti.iot_no
LEFT JOIN t_site_station_info si ON ti.relation_device_id = si.site_station_id
WHERE ti.relation_device_type = '2' and ti.is_del = '0' and si.is_del = '0' and rd.is_cancel_alarm = '0'
)t
ORDER BY t.alarmTime DESC LIMIT 50
</select> </select>
......
...@@ -164,4 +164,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -164,4 +164,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{userId} #{userId}
</foreach> </foreach>
</delete> </delete>
<select id="selectUserNum" resultType="java.util.HashMap">
SELECT SUM(IF(user_type=1,1,0)) AS juminNum,SUM(IF(user_type=2,1,0)) AS shangNum,
SUM(IF(user_type=3,1,0)) AS gongNum FROM t_detector_user WHERE is_del = 0
</select>
</mapper> </mapper>
/* /*
* @Author: your name * @Author: your name
* @Date: 2022-02-23 15:28:07 * @Date: 2022-02-23 15:28:07
* @LastEditTime: 2022-03-04 17:16:53 * @LastEditTime: 2022-03-08 14:52:13
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /newDev/gassafety-progress/gassafetyprogress-web/src/api/bigWindow/getdevice.js * @FilePath: /newDev/gassafety-progress/gassafetyprogress-web/src/api/bigWindow/getdevice.js
...@@ -70,6 +70,21 @@ export function getCzDevice(query) { ...@@ -70,6 +70,21 @@ export function getCzDevice(query) {
params: query params: query
}) })
} }
// 设备id :devId 类型 relationDeviceType 1调压箱/阀门井 2场站
export function getTcqDevice(query) {
return request({
url: '/pipe/pipe/selectSensingDevice',
method: 'get',
params: {
pageNum: 1,
pageSize: 20,
...query,
},
})
}
// 监控 // 监控
export function getVideo(query) { export function getVideo(query) {
return request({ return request({
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2022-01-26 20:07:52 * @Date: 2022-01-26 20:07:52
* @LastEditTime: 2022-03-01 16:29:17 * @LastEditTime: 2022-03-08 16:16:39
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
...@@ -52,8 +52,6 @@ ...@@ -52,8 +52,6 @@
{{ deviceData.remarks }} {{ deviceData.remarks }}
</div> </div>
</div> </div>
</div> </div>
</template> </template>
...@@ -90,7 +88,7 @@ export default { ...@@ -90,7 +88,7 @@ export default {
this.mapClass.infowindowClose(); this.mapClass.infowindowClose();
}, },
btnClick() { btnClick() {
this.vueRoot.centerDataFunc(this.deviceData.pressureFlows); // this.vueRoot.centerDataFunc(this.deviceData.pressureFlows);
}, },
}, },
}; };
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2022-01-26 20:07:52 * @Date: 2022-01-26 20:07:52
* @LastEditTime: 2022-03-04 17:25:27 * @LastEditTime: 2022-03-08 15:23:40
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<div class="middle">{{ profile }}</div> <div class="middle">{{ profile }}</div>
<div class="foot"> <div class="foot">
<div class="thead flex"> <div class="thead flex" v-if="list.length>0">
<div class="first">设备类型</div> <div class="first">设备类型</div>
<div>设备数量</div> <div>设备数量</div>
<div>在线设备</div> <div>在线设备</div>
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
</template> </template>
</div> </div>
<div class="btn"> <div class="btn" v-if="list.length>0">
<div @click="btnClick">感知设备</div> <div @click="btnClick">感知设备</div>
</div> </div>
</div> </div>
...@@ -113,33 +113,33 @@ export default { ...@@ -113,33 +113,33 @@ export default {
3: "探测器", 3: "探测器",
}, },
list: [ list: [
{ // {
numberPressureGauges: "-", // numberPressureGauges: "-",
onlineEquipment: "-", // onlineEquipment: "-",
offlineEquipment: "-", // offlineEquipment: "-",
historicalAlarm: "-", // historicalAlarm: "-",
alarmProcessed: "-", // alarmProcessed: "-",
inAlarm: "-", // inAlarm: "-",
dataType: 1, // dataType: 1,
}, // },
{ // {
numberPressureGauges: "-", // numberPressureGauges: "-",
onlineEquipment: "-", // onlineEquipment: "-",
offlineEquipment: "-", // offlineEquipment: "-",
historicalAlarm: "-", // historicalAlarm: "-",
alarmProcessed: "-", // alarmProcessed: "-",
inAlarm: "-", // inAlarm: "-",
dataType: 2, // dataType: 2,
}, // },
{ // {
numberPressureGauges: "-", // numberPressureGauges: "-",
onlineEquipment: "-", // onlineEquipment: "-",
offlineEquipment: "-", // offlineEquipment: "-",
historicalAlarm: "-", // historicalAlarm: "-",
alarmProcessed: "-", // alarmProcessed: "-",
inAlarm: "-", // inAlarm: "-",
dataType: 3, // dataType: 3,
}, // },
], ],
}; };
}, },
...@@ -167,11 +167,18 @@ export default { ...@@ -167,11 +167,18 @@ export default {
this.mapClass.infowindowClose(); this.mapClass.infowindowClose();
}, },
btnClick() { btnClick() {
this.vueRoot.centerDataFunc(this.deviceData.pressureFlows); const title = this.deviceData.deviceName
? this.deviceData.deviceName
: this.deviceData.stationName;
this.vueRoot.getTcqDevice(
{ devId: this.deviceData.siteStationId, relationDeviceType: 2 },
title
);
}, },
myHttp() { myHttp() {
getCzDevice({ deviceId: this.deviceData.siteStationId }).then((res) => { getCzDevice({ deviceId: this.deviceData.siteStationId }).then((res) => {
this.list = res.data[0].subordinateEquipmentList; this.list = res.data[0].subordinateEquipmentList.filter(item=>item.numberPressureGauges>0);
console.log("resresres",res) console.log("resresres",res)
}); });
}, },
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2022-01-26 20:07:52 * @Date: 2022-01-26 20:07:52
* @LastEditTime: 2022-03-04 17:27:21 * @LastEditTime: 2022-03-08 15:22:20
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<div class="middle">{{ profile }}</div> <div class="middle">{{ profile }}</div>
<div class="foot"> <div class="foot">
<div class="thead flex"> <div class="thead flex" v-if="list.length > 0">
<div class="first">设备类型</div> <div class="first">设备类型</div>
<div>设备数量</div> <div>设备数量</div>
<div>在线设备</div> <div>在线设备</div>
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
<div <div
class="tbody flex" class="tbody flex"
v-for="deviceData in list" v-for="deviceData in list"
:key="deviceData.inAlarm+Math.random()" :key="deviceData.inAlarm + Math.random()"
> >
<div v-unValue class="first zzz"> <div v-unValue class="first zzz">
{{ typeList[deviceData.dataType] }} {{ typeList[deviceData.dataType] }}
...@@ -90,8 +90,8 @@ ...@@ -90,8 +90,8 @@
</template> </template>
</div> </div>
<div class="btn"> <div class="btn" v-if="list.length>0">
<!-- <div @click="btnClick">感知设备</div> --> <div @click="btnClick">感知设备</div>
</div> </div>
</div> </div>
</template> </template>
...@@ -112,34 +112,33 @@ export default { ...@@ -112,34 +112,33 @@ export default {
3: "探测器", 3: "探测器",
}, },
list: [ list: [
{ // {
numberPressureGauges: "-", // numberPressureGauges: "-",
onlineEquipment: "-", // onlineEquipment: "-",
offlineEquipment: "-", // offlineEquipment: "-",
historicalAlarm: "-", // historicalAlarm: "-",
alarmProcessed: "-", // alarmProcessed: "-",
inAlarm: "-", // inAlarm: "-",
dataType: 1, // dataType: 1,
}, // },
{ // {
numberPressureGauges: "-", // numberPressureGauges: "-",
onlineEquipment: "-", // onlineEquipment: "-",
offlineEquipment: "-", // offlineEquipment: "-",
historicalAlarm: "-", // historicalAlarm: "-",
alarmProcessed: "-", // alarmProcessed: "-",
inAlarm: "-", // inAlarm: "-",
dataType: 2, // dataType: 2,
}, // },
{ // {
numberPressureGauges: "-", // numberPressureGauges: "-",
onlineEquipment: "-", // onlineEquipment: "-",
offlineEquipment: "-", // offlineEquipment: "-",
historicalAlarm: "-", // historicalAlarm: "-",
alarmProcessed: "-", // alarmProcessed: "-",
inAlarm: "-", // inAlarm: "-",
dataType: 3, // dataType: 3,
}, // },
], ],
}; };
}, },
...@@ -168,19 +167,33 @@ export default { ...@@ -168,19 +167,33 @@ export default {
this.mapClass.infowindowClose(); this.mapClass.infowindowClose();
}, },
btnClick() { btnClick() {
this.vueRoot.centerDataFunc(this.deviceData.pressureFlows); // this.vueRoot.centerDataFunc(this.deviceData.pressureFlows);
const title = this.deviceData.deviceName
? this.deviceData.deviceName
: this.deviceData.stationName;
this.vueRoot.getTcqDevice(
{ devId: this.deviceData.deviceId, relationDeviceType: 1 },
title
);
}, },
myHttp() { myHttp() {
console.log(this.deviceData.iconType); console.log(this.deviceData.iconType);
if (this.deviceData.iconType == 2) { if (this.deviceData.iconType == 2) {
getTyxDevice({ deviceId: this.deviceData.deviceId }).then((res) => { getTyxDevice({ deviceId: this.deviceData.deviceId }).then((res) => {
this.list = res.data[0].subordinateEquipmentList; // 过滤设备数为0的
this.list = res.data[0].subordinateEquipmentList.filter(
(item) => item.numberPressureGauges > 0
);
console.log(this.list); console.log(this.list);
}); });
} else { } else {
getFmDevice({ deviceId: this.deviceData.deviceId }).then((res) => { getFmDevice({ deviceId: this.deviceData.deviceId }).then((res) => {
this.list = res.data[0].subordinateEquipmentList; // 过滤设备数为0的
this.list = res.data[0].subordinateEquipmentList.filter(
(item) => item.numberPressureGauges > 0
);
}); });
} }
}, },
......
<template>
<transition>
<div v-show="show" class="wrapper myCenter">
<div class="left">
<div class="title-wrapper">
<div class="title">{{ title }}报警器列表</div>
<div class="close" @click="close">
<img src="@/assets/mapImages/closeBtn.png" alt="" />
</div>
</div>
<div class="bottom right-bottom-data-left">
<el-table
size="mini"
:data="tableData"
style="width: 100%"
class="el-bottom"
:key="Math.random()"
>
<!-- :height="tableHeight" -->
<el-table-column prop="deviceCode" label="设备编号" width="180">
<template slot-scope="scope">
<div :title="scope.row.deviceCode" class="ddd" v-unValue>
{{ scope.row.deviceCode }}
</div>
</template>
</el-table-column>
<el-table-column prop="deviceName" label="设备名称" width="150">
<template slot-scope="scope">
<div :title="scope.row.deviceName" class="ddd" v-unValue>
{{ scope.row.deviceName }}
</div>
</template>
</el-table-column>
<el-table-column prop="detectionMedium" label="监测介质" width="">
<template slot-scope="scope">
<div v-unValue>{{ scope.row.detectionMedium }}</div>
</template>
</el-table-column>
<el-table-column prop="linkman" label="联系人" width="100">
<template slot-scope="scope">
<div v-unValue>{{ scope.row.linkman }}</div>
</template>
</el-table-column>
<el-table-column prop="phone" label="联系电话" width="">
</el-table-column>
<el-table-column prop="detectorStatus" label="设备状态" width="100">
<template slot-scope="scope">
<div v-unValue>{{ detectorStatusList[scope.row.detectorStatus] }}</div>
</template>
</el-table-column>
<el-table-column prop="createTime" label="预警时间" width="180">
<template slot-scope="scope">
<div v-unValue>{{ scope.row.createTime }}</div>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@current-change="handleCurrentChangvale"
:page-size="pageSize"
layout="prev, pager, next, jumper"
:total="total"
:hide-on-single-page="total <= pageSize"
:key="total + '' + pageSize"
>
</el-pagination>
</div>
</div>
</div>
</div>
</transition>
</template>
<script>
// import Velocity from "velocity-animate";
// import { listDeviceAlarm } from "@/api/dataMonitoring/deviceAlarm";
import { listDetectorInfo } from "@/api/detector/detectorInfo";
export default {
props: {
detcetorList: {
type: Array,
default: () => [],
},
show: {
type: Boolean,
},
title: {
type: String,
},
userId: {
type: [Number, String],
},
total: {
type: Number,
},
pageSize: {
type: Number,
},
},
data() {
return {
// 动画效果的切换
// tableHeight: 600,
tableData: [
// {
// deviceCode: "2016-05-05",
// name: "王小虎",
// province: "上海",
// city: "普陀区",
// address: "上海市普陀区金沙江路",
// },
],
detectorStatusList:{
"0":"在线",
"1":"离线",
}
};
},
created() {
console.log("list", this.detcetorList);
// this.getList();
},
watch: {
// 当组件显示的时候
detcetorList(newData) {
// console.log(bol);
// if (bol) {
console.log(newData);
this.tableData = [...newData];
// }
},
},
methods: {
handleSizeChange(val) {
console.log(val);
},
handleCurrentChangvale(val) {
this.$parent.getTcqDevice(
{
devId: this.userId,
pageNum: val,
pageSize: this.pageSize,
},
this.title
);
},
close() {
// this.fade = "fade";
this.$parent.otherCenterShow = false;
},
},
};
</script>
<style lang="scss" scoped>
.wrapper {
// width: 978px;
max-height: 600px;
position: fixed;
top: 50%;
left: 50%;
margin-top: -300px;
margin-left: -500px;
// background-color: #fff;
display: flex;
justify-content: space-between;
z-index: 9999;
& > div {
}
.left {
// width: 100px;
max-height: 598px;
margin-right: 12px;
// box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.16);
// background-color: #fff;
// color: #fff;
font-size: 14px;
font-weight: 400;
.title-wrapper {
width: 100%;
height: 30px;
display: flex;
justify-content: space-between;
background: #1890ff;
padding: 5px;
.title {
width: 100%;
color: #fff;
text-align: center;
}
.close {
box-sizing: border-box;
padding-top: 2px;
padding-right: 5px;
cursor: pointer;
}
}
.el-table__body-wrappe {
height: 140px !important;
}
.top {
height: 19px;
// background-color: #053b6a;
color: #fff;
// line-height: 32px;
// padding-left: 12px;
position: relative;
.title {
position: absolute;
left: 50%;
margin-left: -92px;
top: -5px;
}
.repeat {
position: absolute;
top: -5px;
right: 160px;
color: #fff;
cursor: pointer;
&:hover {
color: #2788ea;
}
}
.repeat2 {
position: absolute;
right: 206px;
color: #67c23a;
}
.more {
position: absolute;
right: 38px;
top: -5px;
color: #fff;
float: right;
margin-right: 20px;
cursor: pointer;
&:hover {
color: #2788ea;
}
}
}
.bottom {
width: 1000px;
margin: 0 auto;
position: relative;
}
}
.right {
width: 740px;
display: flex;
flex-wrap: wrap;
// justify-content: space-between;
align-content: flex-start;
// margin-top: 7px;
& > .right-content {
background-color: #fff;
width: 238px;
height: 82px;
margin-bottom: 29px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.16);
margin-right: 10px;
display: flex;
&.three {
margin-right: 0px;
}
// align-items: center;
.text-icon {
line-height: 82px;
padding-left: 22px;
margin-right: 22px;
i {
color: #053b6a;
font-size: 60px;
}
}
.text {
font-size: 14px;
padding-top: 16px;
.top {
color: #000;
margin-bottom: 10px;
font-weight: 600;
}
.bottom {
color: #2788ea;
}
}
}
}
.iconfont {
cursor: pointer;
}
// 单独调整下最后一个icon的大小
.iconFontSize {
font-size: 50px !important;
}
}
</style>
\ No newline at end of file
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2022-01-26 20:07:52 * @Date: 2022-01-26 20:07:52
* @LastEditTime: 2022-03-03 11:51:48 * @LastEditTime: 2022-03-07 14:02:43
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
...@@ -80,6 +80,7 @@ ...@@ -80,6 +80,7 @@
<script> <script>
import { companyType, deviceType } from "@/utils/mapClass/config.js"; import { companyType, deviceType } from "@/utils/mapClass/config.js";
import { listDetectorInfo } from "@/api/detector/detectorInfo";
import { detectorUserList } from "@/api/detector/detectorUser"; import { detectorUserList } from "@/api/detector/detectorUser";
export default { export default {
...@@ -115,6 +116,7 @@ export default { ...@@ -115,6 +116,7 @@ export default {
btnClick() { btnClick() {
// this.vueRoot.centerDataFunc(this.deviceData.pressureFlows); // this.vueRoot.centerDataFunc(this.deviceData.pressureFlows);
this.vueRoot.getDetectorInfoList( this.vueRoot.getDetectorInfoList(
listDetectorInfo,
{ userId: this.deviceData.userId }, { userId: this.deviceData.userId },
this.deviceData.nickName this.deviceData.nickName
); );
......
<template> <template>
<transition <transition>
>
<div v-show="show" class="wrapper myCenter"> <div v-show="show" class="wrapper myCenter">
<div class="left"> <div class="left">
<div class="title-wrapper"> <div class="title-wrapper">
...@@ -14,7 +13,6 @@ ...@@ -14,7 +13,6 @@
size="mini" size="mini"
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
class="el-bottom" class="el-bottom"
:key="Math.random()" :key="Math.random()"
> >
...@@ -73,12 +71,13 @@ ...@@ -73,12 +71,13 @@
<script> <script>
// import Velocity from "velocity-animate"; // import Velocity from "velocity-animate";
// import { listDeviceAlarm } from "@/api/dataMonitoring/deviceAlarm"; // import { listDeviceAlarm } from "@/api/dataMonitoring/deviceAlarm";
import { listDetectorInfo } from "@/api/detector/detectorInfo";
export default { export default {
props: { props: {
detcetorList: { detcetorList: {
type: Array, type: Array,
default:()=>[], default: () => [],
}, },
show: { show: {
type: Boolean, type: Boolean,
...@@ -109,7 +108,6 @@ export default { ...@@ -109,7 +108,6 @@ export default {
// address: "上海市普陀区金沙江路", // address: "上海市普陀区金沙江路",
// }, // },
], ],
}; };
}, },
created() { created() {
...@@ -134,6 +132,7 @@ export default { ...@@ -134,6 +132,7 @@ export default {
}, },
handleCurrentChangvale(val) { handleCurrentChangvale(val) {
this.$parent.getDetectorInfoList( this.$parent.getDetectorInfoList(
listDetectorInfo,
{ {
userId: this.userId, userId: this.userId,
pageNum: val, pageNum: val,
...@@ -144,7 +143,7 @@ export default { ...@@ -144,7 +143,7 @@ export default {
}, },
close() { close() {
// this.fade = "fade"; // this.fade = "fade";
this.$parent.centerShow = false; this.$parent.userCenterShow = false;
}, },
}, },
}; };
......
...@@ -15,11 +15,11 @@ ...@@ -15,11 +15,11 @@
</div> </div>
<div class="left-top" style="margin-top: 40px;width: 430px;margin-left: 10px;display: flex;justify-content: space-around;"> <div class="left-top" style="margin-top: 40px;width: 430px;margin-left: 10px;display: flex;justify-content: space-around;">
<div style="width: 40%;text-align: center;color: #339CC9;"> <div style="width: 40%;text-align: center;color: #339CC9;">
<div class="div-p">从业人员数</div> <div class="div-p" @click="$router.push('/regulation/supervise')">从业人员数</div>
<span style="font-family: 'arialbd';font-size: 35px;background-image:-webkit-linear-gradient(bottom,#f0c41b,#e4dbb7);-webkit-background-clip:text;-webkit-text-fill-color:transparent; ">{{allNum.peopleNum}}</span> <span style="font-family: 'arialbd';font-size: 35px;background-image:-webkit-linear-gradient(bottom,#f0c41b,#e4dbb7);-webkit-background-clip:text;-webkit-text-fill-color:transparent; ">{{allNum.peopleNum}}</span>
</div> </div>
<div style="width: 40%;text-align: center;color: #339CC9;"> <div style="width: 40%;text-align: center;color: #339CC9;">
<div class="div-p">管道长度(m)</div> <div class="div-p" @click="$router.push('/regulation/pipe')">管道长度(m)</div>
<span style="font-family: 'arialbd';font-size: 35px;background-image:-webkit-linear-gradient(bottom,#f86742,#f0c41b);-webkit-background-clip:text;-webkit-text-fill-color:transparent; ">{{allNum.allPipeLength}}</span> <span style="font-family: 'arialbd';font-size: 35px;background-image:-webkit-linear-gradient(bottom,#f86742,#f0c41b);-webkit-background-clip:text;-webkit-text-fill-color:transparent; ">{{allNum.allPipeLength}}</span>
</div> </div>
</div> </div>
...@@ -43,11 +43,11 @@ ...@@ -43,11 +43,11 @@
<!-- 任务完成率 --> <!-- 任务完成率 -->
<div> <div>
<div class="item1" style="margin-top: 30px;"> <div class="item1" style="margin-top: 25px;">
<span class="dot"> <span class="dot">
<span class="dot-inner"></span> <span class="dot-inner"></span>
</span> </span>
<span style="letter-spacing :3px;color:#cddbe4">任务完成率</span> <span style="letter-spacing :3px;color:#cddbe4;cursor:pointer;" @click="$router.push('/operationMonitor/workOrder')">任务完成率</span>
<div class="fong-div" style="width: 8px;height: 12px;background-color: #2c888899;float: right;margin-top: 10px;transform: skewX(-25deg)"></div> <div class="fong-div" style="width: 8px;height: 12px;background-color: #2c888899;float: right;margin-top: 10px;transform: skewX(-25deg)"></div>
<div class="fong-div" style="width: 8px;height: 12px;background-color: #24b1b1b3;float: right;margin-top: 10px;margin-right: 10px;transform: skewX(-25deg)"></div> <div class="fong-div" style="width: 8px;height: 12px;background-color: #24b1b1b3;float: right;margin-top: 10px;margin-right: 10px;transform: skewX(-25deg)"></div>
<div class="fong-div" style="width: 8px;height: 12px;background-color: #11e9e9b3;float: right;margin-top: 10px;margin-right: 10px;transform: skewX(-25deg)"></div> <div class="fong-div" style="width: 8px;height: 12px;background-color: #11e9e9b3;float: right;margin-top: 10px;margin-right: 10px;transform: skewX(-25deg)"></div>
...@@ -201,6 +201,10 @@ ...@@ -201,6 +201,10 @@
color: "#00ffff" color: "#00ffff"
} }
}, },
grid: {
bottom: "7%",
containLabel: true,
},
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
}, },
...@@ -243,7 +247,7 @@ ...@@ -243,7 +247,7 @@
padding: [0, -55], padding: [0, -55],
rich: { rich: {
a_set: { a_set: {
color: "#fff", color: "#cddbe4",
lineHeight: 20, lineHeight: 20,
align: "center", align: "center",
padding: [55, -40, -15, -40], padding: [55, -40, -15, -40],
...@@ -378,7 +382,6 @@ ...@@ -378,7 +382,6 @@
height: 30px; height: 30px;
font-size: 18px; font-size: 18px;
line-height: 30px; line-height: 30px;
color: #ffffff;
padding-left: 10px; padding-left: 10px;
font-weight: 700; font-weight: 700;
font-style: italic; font-style: italic;
...@@ -443,6 +446,7 @@ ...@@ -443,6 +446,7 @@
background: url('../../assets/mapImages/div-p.png'); background: url('../../assets/mapImages/div-p.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
cursor: pointer;
} }
.div-el{ .div-el{
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2022-01-11 13:44:17 * @Date: 2022-01-11 13:44:17
* @LastEditTime: 2022-03-04 14:34:32 * @LastEditTime: 2022-03-08 16:21:04
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /test/hello-world/src/views/Home.vue * @FilePath: /test/hello-world/src/views/Home.vue
...@@ -12,16 +12,25 @@ ...@@ -12,16 +12,25 @@
<div class="goSystem" @click="$router.push('/index')">进入管理系统</div> <div class="goSystem" @click="$router.push('/index')">进入管理系统</div>
<div id="map"></div> <div id="map"></div>
<Center :show="show" :centerData="centerData" /> <!-- <Center :show="show" :centerData="centerData" /> -->
<UserCenter <UserCenter
:title="centerTitle" :title="centerTitle"
:show="centerShow" :show="userCenterShow"
ref="userCenter" ref="userCenter"
:detcetorList="detcetorList" :detcetorList="detcetorList"
:userId="centerUserId" :userId="centerUserId"
:total="centerTotal" :total="centerTotal"
:pageSize="20" :pageSize="20"
/> />
<OtherCenter
:title="centerTitle"
:show="otherCenterShow"
ref="otherCenter"
:detcetorList="detcetorList"
:userId="centerUserId"
:total="centerTotal"
:pageSize="20"
/>
<PipeColor /> <PipeColor />
<!-- 底部按钮 --> <!-- 底部按钮 -->
<div class="home-div"> <div class="home-div">
...@@ -157,6 +166,7 @@ import { ...@@ -157,6 +166,7 @@ import {
getUser, getUser,
getEnterprise, getEnterprise,
userAlarm, userAlarm,
getTcqDevice
} from "@/api/bigWindow/getDevice"; } from "@/api/bigWindow/getDevice";
import Line from "@/components/bigWindow/Line.vue"; import Line from "@/components/bigWindow/Line.vue";
import VideoView from "@/components/bigWindow/VideoView.vue"; import VideoView from "@/components/bigWindow/VideoView.vue";
...@@ -165,6 +175,7 @@ import Cz from "@/components/bigWindow/Cz.vue"; ...@@ -165,6 +175,7 @@ import Cz from "@/components/bigWindow/Cz.vue";
import User from "@/components/bigWindow/User.vue"; import User from "@/components/bigWindow/User.vue";
import Center from "@/components/bigWindow/Center.vue"; import Center from "@/components/bigWindow/Center.vue";
import UserCenter from "@/components/bigWindow/UserCenter.vue"; import UserCenter from "@/components/bigWindow/UserCenter.vue";
import OtherCenter from "@/components/bigWindow/OtherCenter.vue";
import Company from "@/components/bigWindow/Company.vue"; import Company from "@/components/bigWindow/Company.vue";
import PipeColor from "@/components/bigWindow/PipeColor.vue"; import PipeColor from "@/components/bigWindow/PipeColor.vue";
...@@ -178,6 +189,7 @@ export default { ...@@ -178,6 +189,7 @@ export default {
rightBar, rightBar,
Center, Center,
UserCenter, UserCenter,
OtherCenter,
PipeColor, PipeColor,
}, },
data() { data() {
...@@ -185,7 +197,7 @@ export default { ...@@ -185,7 +197,7 @@ export default {
map: null, map: null,
show: false, show: false,
centerData: null, // centerData: null,
selarr: [1, 2, 3], selarr: [1, 2, 3],
weather: "", weather: "",
lower: "", lower: "",
...@@ -250,9 +262,13 @@ export default { ...@@ -250,9 +262,13 @@ export default {
detcetorList: [], detcetorList: [],
centerUserId: null, centerUserId: null,
centerTotal: null, centerTotal: null,
centerShow: false, userCenterShow: false,
centerTitle: "", centerTitle: "",
// 其他设备的center数据
// 除了这个值,用来显示隐藏,其他值与user共用
otherCenterShow:false,
// 报警轮询timer // 报警轮询timer
alarmTimer: null, alarmTimer: null,
}; };
...@@ -327,6 +343,7 @@ export default { ...@@ -327,6 +343,7 @@ export default {
// console.log("查询报警"); // console.log("查询报警");
}, alarmtime); }, alarmtime);
}); });
} }
this.currentTime(); this.currentTime();
this.$refs.mychild.choice(this.selarr); this.$refs.mychild.choice(this.selarr);
...@@ -396,11 +413,11 @@ export default { ...@@ -396,11 +413,11 @@ export default {
myCenterShow(boolean) { myCenterShow(boolean) {
this.show = boolean; this.show = boolean;
}, },
centerDataFunc(centerData) { // centerDataFunc(centerData) {
this.centerData = centerData; // this.centerData = centerData;
console.log(centerData); // console.log(centerData);
this.show = true; // this.show = true;
}, // },
allCompany() { allCompany() {
if (this.selarr.length == this.companyLength) { if (this.selarr.length == this.companyLength) {
...@@ -450,24 +467,42 @@ export default { ...@@ -450,24 +467,42 @@ export default {
this.map.allfilter(this.selarr, this.selarr1); this.map.allfilter(this.selarr, this.selarr1);
}, },
//用户的设备center //用户的设备center
getDetectorInfoList(queryParams, title) { getDetectorInfoList(httpFunc,queryParams, title) {
console.log(queryParams); console.log(queryParams);
return listDetectorInfo(queryParams).then((res) => { return httpFunc(queryParams).then((res) => {
console.log("queryParams", res); // console.log("queryParams", res);
if (res.code == 200) { if (res.code == 200) {
this.detcetorList = res.rows; this.detcetorList = res.rows;
this.centerUserId = queryParams.userId; this.centerUserId = queryParams.userId;
// 总数据 // 总数据
this.centerTotal = res.total; this.centerTotal = res.total;
// this.$refs.userCenter.fade = "fade"; // this.$refs.userCenter.fade = "fade";
this.centerShow = true; this.userCenterShow = true;
this.centerTitle = title; this.centerTitle = title;
// 传递回去 // 传递回去
return res.code; return res.code;
} }
}); });
}, },
// 调压箱,阀门,场站睇下的设备
getTcqDevice(queryParams, title) {
console.log(queryParams);
return getTcqDevice(queryParams).then((res) => {
// console.log("queryParams", res);
console.log("resresresresreszzzzzzzzzzzzzzz",res)
this.detcetorList = res;
this.centerUserId = queryParams.devId;
// 总数据
this.centerTotal = res.length;
// this.$refs.userCenter.fade = "fade";
this.otherCenterShow = true;
this.centerTitle = title;
// 传递回去
return res.code;
});
},
currentTime() { currentTime() {
setInterval(() => { setInterval(() => {
this.formatDate(); this.formatDate();
...@@ -504,6 +539,7 @@ export default { ...@@ -504,6 +539,7 @@ export default {
if (this.formatDate) { if (this.formatDate) {
clearInterval(this.formatDate); // 在Vue实例销毁前,清除时间定时器 clearInterval(this.formatDate); // 在Vue实例销毁前,清除时间定时器
} }
// 报警
if (this.alarmTimer) { if (this.alarmTimer) {
clearInterval(this.alarmTimer); clearInterval(this.alarmTimer);
} }
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px"> <el-form :model="queryParams" ref="queryParams" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="设备编号" prop="detectorCode"> <el-form-item label="设备编号" prop="detectorCode">
<el-input <el-input
v-model="queryParams.detectorCode" v-model="queryParams.detectorCode"
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
<span>{{ scope.row.cancelTime }}</span> <span>{{ scope.row.cancelTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
...@@ -75,7 +76,6 @@ ...@@ -75,7 +76,6 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
</el-table>
</div> </div>
</template> </template>
...@@ -134,7 +134,16 @@ export default { ...@@ -134,7 +134,16 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.queryParams = {
pageNum: 1,
pageSize: 10,
detectorCode: null,
statusName: null,
isCancelAlarm: null,
createTimeStart: null,
createTimeEnd: null
}
this.resetForm("queryParams");
this.handleQuery(); this.handleQuery();
}, },
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment