123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- <template>
- <view>
- <!-- 筛选框start -->
- <view style="line-height:100rpx;text-align:center">建筑名称:{{getDetailData.company_name}}</view>
- <!-- 筛选框end -->
- <view class="processStatus bg-white margin-bottom-sm" style="">
- <view class="info-tit margin-left-xs">
- <text class="cuIcon-titles margin-right-xs"></text>
- 安全分析
- </view>
- <view class="padding-lr padding-bottom-lg" style="min-height:500rpx">
- <chart :bindData="this.getDetailData" v-if="this.getDetailData.address"></chart>
- </view>
- </view>
- <view class="basic-info bg-white margin-bottom-sm">
- <view class="info-tit margin-left-xs">
- <text class="cuIcon-titles margin-right-xs"></text>
- 消防各子系统安装情况
- </view>
- <view class="info-content padding-lr padding-bottom">
- <table style="border:1px solid #ccc" cellspacing="0" cellpadding="0" align="center">
- <tr>
- <td>子系统安装情况</td>
- <td>报警数</td>
- <td>误报频率</td>
- </tr>
- <tr>
- <td>用户信息传输装置 </td>
- <td>报警数量{{this.getDetailData.count_yc}},处理{{this.getDetailData.count_ycl_yc}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_yc,this.getDetailData.count_yc)}}</td>
- </tr>
- <tr>
- <td>水系统</td>
- <td>报警数量{{this.getDetailData.count_sj}},处理{{this.getDetailData.count_ycl_sj}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_sj,this.getDetailData.count_sj)}}</td>
- </tr>
- <tr>
- <td>烟感</td>
- <td>报警数量{{this.getDetailData.count_yg}},处理1{{this.getDetailData.count_ycl_yg}} </td>
- <td>{{GetPercent(this.getDetailData.count_ycl_yg,this.getDetailData.count_yg)}} </td>
- </tr>
- <tr>
- <td>消防栓</td>
- <td>报警数量{{this.getDetailData.count_xfs}},处理{{this.getDetailData.count_ycl_xfs}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_xfs,this.getDetailData.count_xfs)}} </td>
- </tr>
- <tr>
- <td>液位</td>
- <td>报警数量{{this.getDetailData.count_yw}},处理{{this.getDetailData.count_ycl_yw}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_yw,this.getDetailData.count_yw)}} </td>
- </tr>
- <tr>
- <td>RTU</td>
- <td>报警数量{{this.getDetailData.count_rtu}},处理{{this.getDetailData.count_ycl_rtu}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_rtu,this.getDetailData.count_rtu)}} </td>
- </tr>
- <tr>
- <td>电气火灾</td>
- <td>报警数量{{this.getDetailData.count_dqhz}},处理{{this.getDetailData.count_ycl_dqhz}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_dqhz,this.getDetailData.count_dqhz)}} </td>
- </tr>
- <tr>
- <td>视频监测</td>
- <td>报警数量{{this.getDetailData.count_spjc}},处理{{this.getDetailData.count_ycl_spjc}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_spjc,this.getDetailData.count_spjc)}} </td>
- </tr>
- <tr>
- <td>电梯监测</td>
- <td>报警数量{{this.getDetailData.count_dtjc}},处理{{this.getDetailData.count_ycl_dtjc}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_dtjc,this.getDetailData.count_dtjc)}} </td>
- </tr>
- <tr>
- <td>井盖监测</td>
- <td>报警数量{{this.getDetailData.count_jgjc}},处理{{this.getDetailData.count_ycl_jgjc}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_jgjc,this.getDetailData.count_jgjc)}} </td>
- </tr>
- <tr>
- <td>地磁监测</td>
- <td>报警数量{{this.getDetailData.count_dcjc}},处理{{this.getDetailData.count_ycl_dcjc}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_dcjc,this.getDetailData.count_dcjc)}} </td>
- </tr>
- <tr>
- <td>门禁监测</td>
- <td>报警数量{{this.getDetailData.count_mcjc}},处理{{this.getDetailData.count_ycl_mcjc}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_mcjc,this.getDetailData.count_mcjc)}} </td>
- </tr>
- <tr>
- <td>可燃气体监测</td>
- <td>报警数量{{this.getDetailData.count_krqt}},处理{{this.getDetailData.count_ycl_krqt}}</td>
- <td>{{GetPercent(this.getDetailData.count_ycl_krqt,this.getDetailData.count_krqt)}} </td>
- </tr>
- </table>
- </view>
- </view>
- <view class="processStatus bg-white margin-bottom-sm">
- <view class="info-tit margin-left-xs">
- <text class="cuIcon-titles margin-right-xs"></text>
- 存在问题或需要改进事项
- </view>
- <view class="padding-lr padding-bottom-lg" style="font-size:30rpx;text-indent:60rpx;line-height:1.7">
- <view v-if="this.getDetailData.state_yc==1">用户信息传输装置该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_sj==1">水系统该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_yg==1"> 烟感栓该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_xfs==1"> 消防栓该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_yw==1">液位该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_rtu==1">RTU该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_dqhz==1">电气火灾该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_spjc==1"> 视频监测该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_dtjc==1"> 电梯监测该类设备隐患极高或存在故障,建议尽早进行排查; </view>
- <view v-if="this.getDetailData.state_dcjc==1">地磁监测该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_mcjc ==1">门禁监测该类设备隐患极高或存在故障,建议尽早进行排查;</view>
- <view v-if="this.getDetailData.state_krqt==1">可燃气体监测该类设备隐患极高或存在故障,建议尽早进行排查;</view>
-
- </view>
- </view>
- <view class="processStatus bg-white margin-bottom-sm">
- <view class="info-tit margin-left-xs">
- <text class="cuIcon-titles margin-right-xs"></text>
- 其他事宜
- </view>
- <view class="padding-lr padding-bottom-lg" style="font-size:30rpx;text-indent:60rpx;line-height:1.7">
-
- <view v-if="this.getDetailData.state_yc==0">目前数据反映:用户信息传输装置该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_sj==0">目前数据反映:水系统该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_yg==0">目前数据反映: 烟感栓该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_xfs==0">目前数据反映: 消防栓该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_yw==0">目前数据反映:液位该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_rtu==0">目前数据反映:RTU该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_dqhz==0">目前数据反映:电气火灾该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_spjc==0">目前数据反映: 视频监测该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_dtjc==0">目前数据反映: 电梯监测该类设备通信情况较好,需要保持; </view>
- <view v-if="this.getDetailData.state_dcjc==0">目前数据反映:地磁监测该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_mcjc ==0">目前数据反映:门禁监测该类设备通信情况较好,需要保持;</view>
- <view v-if="this.getDetailData.state_krqt==0">目前数据反映:可燃气体监测该类设备通信情况较好,需要保持;</view>
-
- </view>
- </view>
- </view>
- </template>
- <script>
- // import json from '../../data/json.js';
- import chart from './components/chart/chart.vue';
- export default {
- components: {
- chart,
- },
- data() {
- return {
-
- getDetailData:{},
- // deviceOffLineData:json.deviceOffLineData,
- siteListRes: 0,
- siteName: '',
- type: '0',
- siteListData: [],
- modalName: null,
- listTouchStart: 0,
- listTouchDirection: null,
- CustomBar: this.CustomBar,
- staticData: {
- "msg": "\u64cd\u4f5c\u6210\u529f",
- "flag": true,
- "companyCode": "1,2,3,4,5,6,7,8,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39",
- "data": [{
- "statisticalPeriod": "2021-03-16~2021-04-16",
- "smartElectricityCount": "178",
- "videoMonitoringCount": "12456",
- "alarmCount": 12627,
- "eventCount": 2,
- "hiddenDangerCount": 4,
- "offlineCount": 20,
- "faultCount": 30,
- "earlyWarningCount": 100,
- "otherCount": 99,
- "normalCount": 66,
- "integratedAlarmCount": 12627,
- "unprocessedCount": 0
- }]
- }
- }
- },
-
- onLoad: function(option) {
- this.getDetails({'company_code':uni.getStorageSync('selectedCode')})
- },
-
- methods: {
-
- GetPercent(num, total) {
- /// <summary>
- /// 求百分比
- /// </summary>
- /// <param name="num">当前数</param>
- /// <param name="total">总数</param>
- num = parseFloat(num);
- total = parseFloat(total);
- if (isNaN(num) || isNaN(total)) {
- return "-";
- }
- return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00)+"%";
- },
- // 建筑体检数据请求
- async getDetails(params = {}) {
- const res = await this.$myRequest({
- url: 'PhysicalExamination/getPhysicalExamination',
- data: params,
- showLoading: true
- })
- this.getDetailData = res.data.data[0];
-
- },
-
- InputFocus(e) {
- this.InputBottom = e.detail.height
- },
- InputBlur(e) {
- this.InputBottom = 0
- },
- }
- }
- </script>
- <style lang="scss">
- page {
- background: #EDEDED;
- }
- /deep/ .leave_cont .ul .li {
- width: 42% !important;
- }
- /deep/ .leave_cont .ul {
- background: #fff;
- }
- /deep/ .date {
- font-size: 28rpx;
- }
- /deep/ .leave_cont {
- width: 76%
- }
- </style>
|