monthly_report_details.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  5. <meta charset="utf-8">
  6. <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
  7. <meta content="yes" name="apple-mobile-web-app-capable">
  8. <meta content="black" name="apple-mobile-web-app-status-bar-style">
  9. <meta content="telephone=no" name="format-detection">
  10. <!-- <link rel="stylesheet" type="text/css" href="http://www.jq22.com/jquery/font-awesome.4.6.0.css"> -->
  11. <script src="__PUBLIC__/wxapp/js/echarts.min.js"></script>
  12. <script src="__PUBLIC__/wxapp/js/jquery-1.8.3/jquery.min.js"></script>
  13. <link rel="stylesheet" href="__PUBLIC__/wxapp/css/jdxf.css">
  14. <title>月报详情</title>
  15. <style>
  16. .bjbox{
  17. margin: 15px 0;
  18. }
  19. .mar{
  20. margin: 0 30px;
  21. }
  22. .bjbox-c{
  23. font-size: 14px;
  24. color: #646464;
  25. }
  26. .box{
  27. height: 20px;
  28. background-color: #F5F5F5;
  29. }
  30. .mar-words {
  31. float: right;
  32. font-size: 18px;
  33. }
  34. .height1dcdcdc {
  35. display: block;
  36. height: 1px;
  37. margin-top: 2px;
  38. margin-bottom: 20px;
  39. background: #DCDCDC;
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <!-- 头部 -->
  45. <div class="hand">
  46. <span class="hand-i"><!-- <i class="fa fa-angle-down"></i> -->
  47. <a href="__MODULE__/MonthlyReport/index{$tokenurl}/companyid/{$company_code}">
  48. <img style="height: 16px;" src="__PUBLIC__/wxapp/images/jd_07.png" alt="">
  49. </a>
  50. </span>
  51. 月报详情
  52. </div>
  53. <input type="hidden" id="eftotalCount" name="eftotalCount" value="{$alarm_total.eftotalCount}"/>
  54. <input type="hidden" id="sjtotalCount" name="sjtotalCount" value="{$alarm_total.sjtotalCount}"/>
  55. <input type="hidden" id="videototalCount" name="videototalCount" value="{$alarm_total.videototalCount}"/>
  56. <input type="hidden" id="hjtotalCount" name="hjtotalCount" value="{$alarm_total.hjtotalCount}"/>
  57. <input type="hidden" id="rtutotalCount" name="rtutotalCount" value="{$alarm_total.rtutotalCount}"/>
  58. <input type="hidden" id="hj_unprocess" name="hj_unprocess" value="{$fire_data.unprocess}"/>
  59. <input type="hidden" id="hj_process_rate" name="hj_process_rate" value="{$fire_data.process_rate}"/>
  60. <input type="hidden" id="sj_unprocess" name="sj_unprocess" value="{$water_data.unprocess}"/>
  61. <input type="hidden" id="sj_process_rate" name="sj_process_rate" value="{$water_data.process_rate}"/>
  62. <input type="hidden" id="rtu_unprocess" name="rtu_unprocess" value="{$rtu_data.unprocess}"/>
  63. <input type="hidden" id="rtu_process_rate" name="rtu_process_rate" value="{$rtu_data.process_rate}"/>
  64. <div>
  65. <div>
  66. <div style="text-align: center; font-size: 16px">{$company_name}消防报警系统监测数据</div>
  67. <div style="text-align: center; font-size: 14px">{$event_time}月报表</div>
  68. </div>
  69. </div>
  70. <div class="box"></div>
  71. <div style="font-size: 16px;">1.基本详情</div>
  72. <div style="font-size: 14px;margin-left: 10px;">1.1基本情况</div>
  73. <table border="1" cellspacing="0" style="font-size: 16px;width: 95%;margin: 10px">
  74. <tr>
  75. <td>单位名称</td>
  76. <td>{$project_info.company_name}</td>
  77. </tr>
  78. <tr>
  79. <td>进场日期</td>
  80. <td>{$project_info.approach_time}</td>
  81. </tr>
  82. <tr>
  83. <td>完工日期</td>
  84. <td>{$project_info.complete_time}</td>
  85. </tr>
  86. <tr>
  87. <td>验收日期</td>
  88. <td>{$project_info.check_time}</td>
  89. </tr>
  90. </table>
  91. <!--<div class="height1dcdcdc"></div>-->
  92. <div class="box"></div>
  93. <h4 style="text-align: center; font-size: 16px">表一&nbsp;项目基本情况表</h4>
  94. <div style="font-size: 14px;margin-left: 10px;">1.2安装设备情况</div>
  95. <table border="1" cellspacing="0" style="font-size: 16px;width: 95%;margin: 10px">
  96. <tr>
  97. <th>序号</th>
  98. <th>设备名称</th>
  99. <th>规格型号</th>
  100. <th>数量</th>
  101. </tr>
  102. <volist name="instal_device_info" id="vo" >
  103. <tr>
  104. <td>{$vo.xh}</td>
  105. <td>{$vo.device_name}</td>
  106. <td>{$vo.specifications}</td>
  107. <td>{$vo.device_num}</td>
  108. </tr>
  109. </volist>
  110. <tr>
  111. <td colspan="3">合计</td>
  112. <!--<td>2018-08-09</td>-->
  113. <!--<td></td>-->
  114. <td>{$zs}</td>
  115. </tr>
  116. </table>
  117. <div class="box"></div>
  118. <h4 style="text-align: center; font-size: 16px">表二&nbsp;项目安装设备清单</h4>
  119. <div style="font-size: 14px;margin-left: 10px;">1.3 监测点情况</div>
  120. <table border="1" cellspacing="0" style="font-size: 16px;width: 95%;margin: 10px">
  121. <tr>
  122. <th>序号</th>
  123. <th>监控子系统</th>
  124. <th>监测点类型</th>
  125. <th>数量</th>
  126. </tr>
  127. <volist name="monitor_point_info" id="vo" >
  128. <tr>
  129. <td>{$vo.xh}</td>
  130. <td>{$vo.monitor_son}</td>
  131. <td>{$vo.monitor_type}</td>
  132. <td>{$vo.monitor_sum}</td>
  133. </tr>
  134. </volist>
  135. <tr>
  136. <td colspan="3">合计</td>
  137. <!--<td>2018-08-09</td>-->
  138. <!--<td></td>-->
  139. <td>{$zs1}</td>
  140. </tr>
  141. </table>
  142. <div class="box"></div>
  143. <h4 style="text-align: center; font-size: 16px">表三&nbsp;项目监测点清单</h4>
  144. <div style="font-size: 16px;">2.阶段数据统计情况</div>
  145. <div style="font-size: 14px;margin-left: 10px;">2.1 统计时段</div>
  146. <div style="margin-left: 35px;font-size: 14px;margin-bottom: 30px">
  147. <span>统计起始日期:{$count_time.startData}</span><br>
  148. <span>统计截止日期:{$count_time.endData}</span><br>
  149. <span>统计时段时长:{$count_time.days}</span><br>
  150. </div>
  151. <div style="font-size: 14px;margin-left: 10px;">2.2 统计报表</div>
  152. <table border="1" cellspacing="0" style="font-size: 16px;width: 95%;margin: 10px">
  153. <tr>
  154. <th>序号</th>
  155. <th>报告分类</th>
  156. <th>报告属性</th>
  157. <th>报告总数</th>
  158. <th>已处理</th>
  159. <th>未处理</th>
  160. <th>处置率</th>
  161. </tr>
  162. <volist name="count_report" id="vo" >
  163. <if condition="$vo.alarm_type eq '视频系统监测' ">
  164. <tr>
  165. <td>{$vo.xh}</td>
  166. <td>{$vo.alarm_type}</td>
  167. <td>报警</td>
  168. <td>{$vo.alarm.videototal}</td>
  169. <td>{$vo.alarm.videocltotal}</td>
  170. <td>{$vo.alarm.videowcltotal}</td>
  171. <td>{$vo.alarm.videobaifenbi}%</td>
  172. </tr>
  173. <else />
  174. </if>
  175. <if condition="$vo.alarm_type eq '火灾监测' ">
  176. <tr>
  177. <td rowspan="2">{$vo.xh}</td>
  178. <td rowspan="2">{$vo.alarm_type}</td>
  179. <td>设备离线</td>
  180. <td>{$vo.offline.hjlxtotal}</td>
  181. <td>{$vo.offline.hjlxcltotal}</td>
  182. <td>{$vo.offline.hjlxwcltotal}</td>
  183. <td>{$vo.offline.hjlxbaifenbi}%</td>
  184. </tr>
  185. <tr>
  186. <!--<td>2</td>-->
  187. <!--<td>消火栓系统</td>-->
  188. <td>报警</td>
  189. <td>{$vo.alarm.hjtotal}</td>
  190. <td>{$vo.alarm.hjcltotal}</td>
  191. <td>{$vo.alarm.hjwcltotal}</td>
  192. <td>{$vo.alarm.hjbaifenbi}%</td>
  193. </tr>
  194. <else />
  195. </if>
  196. <if condition="$vo.alarm_type eq '电气火灾监测' ">
  197. <tr>
  198. <td rowspan="2">{$vo.xh}</td>
  199. <td rowspan="2">{$vo.alarm_type}</td>
  200. <td>设备离线</td>
  201. <td>{$vo.offline.eflxtotal}</td>
  202. <td>{$vo.offline.eflxcltotal}</td>
  203. <td>{$vo.offline.eflxwcltotal}</td>
  204. <td>{$vo.offline.eflxbaifenbi}%</td>
  205. </tr>
  206. <tr>
  207. <!--<td>2</td>-->
  208. <!--<td>消火栓系统</td>-->
  209. <td>报警</td>
  210. <td>{$vo.alarm.efwcltotal}</td>
  211. <td>{$vo.alarm.efcltotal}</td>
  212. <td>{$vo.alarm.efwcltotal}</td>
  213. <td>{$vo.alarm.efbaifenbi}%</td>
  214. </tr>
  215. <else />
  216. </if>
  217. <if condition="$vo.alarm_type eq '消防水系统监测' ">
  218. <tr>
  219. <td rowspan="2">{$vo.xh}</td>
  220. <td rowspan="2">{$vo.alarm_type}</td>
  221. <td>设备离线</td>
  222. <td>{$vo.offline.sjlxtotal}</td>
  223. <td>{$vo.offline.sjlxcltotal}</td>
  224. <td>{$vo.offline.sjlxwcltotal}</td>
  225. <td>{$vo.offline.sjlxbaifenbi}%</td>
  226. </tr>
  227. <tr>
  228. <!--<td>2</td>-->
  229. <!--<td>消火栓系统</td>-->
  230. <td>报警</td>
  231. <td>{$vo.alarm.sjtotal}</td>
  232. <td>{$vo.alarm.sjcltotal}</td>
  233. <td>{$vo.alarm.sjwcltotal}</td>
  234. <td>{$vo.alarm.sjbaifenbi}%</td>
  235. </tr>
  236. <else />
  237. </if>
  238. <if condition="$vo.alarm_type eq 'RTU监测' ">
  239. <tr>
  240. <td rowspan="2">{$vo.xh}</td>
  241. <td rowspan="2">{$vo.alarm_type}</td>
  242. <td>设备离线</td>
  243. <td>{$vo.offline.rtulxtotal}</td>
  244. <td>{$vo.offline.rtulxcltotal}</td>
  245. <td>{$vo.offline.rtulxwcltotal}</td>
  246. <td>{$vo.offline.rtulxbaifenbi}%</td>
  247. </tr>
  248. <tr>
  249. <!--<td>2</td>-->
  250. <!--<td>消火栓系统</td>-->
  251. <td>报警</td>
  252. <td>{$vo.alarm.rtutotal}</td>
  253. <td>{$vo.alarm.rtucltotal}</td>
  254. <td>{$vo.alarm.rtuwcltotal}</td>
  255. <td>{$vo.alarm.rtubaifenbi}%</td>
  256. </tr>
  257. <else />
  258. </if>
  259. </volist>
  260. </table>
  261. <h4 style="text-align: center; font-size: 16px">表四&nbsp;项目阶段数据统计表</h4>
  262. <div style="font-size: 16px;">3 阶段数据分析</div>
  263. <div id="main" style="width: 100%;min-height:320px;height: 48%;margin: 10px"></div>
  264. <div class="height1dcdcdc"></div>
  265. <div style="font-size: 16px;">3.1 火灾监测数据分析</div>
  266. <div id="main1" style="width: 100%;min-height:320px;height: 48%;margin: 10px"></div>
  267. <div style="padding: 20px;font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$fire_data.data}</div>
  268. <div class="height1dcdcdc"></div>
  269. <div style="font-size: 16px;">3.2 消防水系统监测数据分析</div>
  270. <div id="main2" style="width: 100%;min-height:320px;height: 48%;margin: 10px"></div>
  271. <div style="padding: 20px;font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$water_data.data}</div>
  272. <div class="height1dcdcdc"></div>
  273. <div style="font-size: 16px;">3.3 RTU监测数据分析</div>
  274. <div id="main3" style="width: 100%;min-height:320px;height: 48%;margin: 10px"></div>
  275. <div style="padding: 20px;font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$rtu_data.data}</div>
  276. <!--<div class="height1dcdcdc"></div>-->
  277. <div class="box"></div>
  278. <div style="font-size: 16px;">4. 分析结论</div>
  279. <div style="font-size: 14px;margin-left: 10px;">4.1. 存在问题或需要改进事项</div>
  280. <div style="margin-left: 35px;font-size: 14px;margin-bottom: 30px">
  281. <if condition="$propose eq '' ">
  282. <span>暂无数据</span>
  283. <else />
  284. <volist name="propose" id="vo" >
  285. <span>{$vo.data1}</span><br>
  286. </volist>
  287. </if>
  288. </div>
  289. <div style="font-size: 14px;margin-left: 10px;">4.2. 其他事宜</div>
  290. <div style="margin-left: 35px;font-size: 14px;margin-bottom: 30px">
  291. <volist name="other" id="vo" >
  292. <if condition="$vo.data1 eq '' ">
  293. <else />
  294. <span>{$vo.data1}</span><br>
  295. </if>
  296. <if condition="$vo.data2 eq '' ">
  297. <else />
  298. <span>{$vo.data2}</span><br>
  299. </if>
  300. </volist>
  301. <!--<span>目前数据反映:火灾监测设备通信情况较好,需要保持;</span><br>-->
  302. <!--<span>目前数据反映:消防水系统监测运行状态较好,需要保持;</span><br>-->
  303. <!--<span>目前数据反映:消防水系统监测设备通信情况较好,需要保持;</span><br>-->
  304. <!--<span>目前数据反映:RTU监测运行状态较好,需要保持;</span><br>-->
  305. <!--<span>目前数据反映:RTU监测设备通信情况较好,需要保持。</span><br>-->
  306. </div>
  307. <script type="text/javascript">
  308. var ef = $('#eftotalCount').val();
  309. var sj = $('#sjtotalCount').val();
  310. var video = $('#videototalCount').val();
  311. var hj = $('#hjtotalCount').val();
  312. var rtu = $('#rtutotalCount').val();
  313. var hj_unprocess = $('#hj_unprocess').val();
  314. var hj_process_rate = $('#hj_process_rate').val();
  315. var sj_unprocess = $('#sj_unprocess').val();
  316. var sj_process_rate = $('#sj_process_rate').val();
  317. var rtu_unprocess = $('#rtu_unprocess').val();
  318. var rtu_process_rate = $('#rtu_process_rate').val();
  319. k_type('main');
  320. k_type1('main1');
  321. k_type2('main2');
  322. k_type3('main3');
  323. function k_type(part){
  324. let myChart = echarts.init(document.getElementById(part));
  325. let option = {
  326. title: {
  327. text: '各类告警总数情况图',
  328. // subtext: '纯属虚构',
  329. left: 'center'
  330. },
  331. tooltip: {
  332. trigger: 'item',
  333. formatter: '{b} : {d}%'
  334. },
  335. legend: {
  336. orient: 'vertical',
  337. left: 'bottom',
  338. data: ['火系统报警', '水系统报警', 'RTU报警','视频报警','电气火灾报警']
  339. },
  340. series: [
  341. {
  342. name: '访问来源',
  343. type: 'pie',
  344. radius: '55%',
  345. center: ['50%', '60%'],
  346. data: [
  347. {value: hj, name: '火系统报警'},
  348. {value: sj, name: '水系统报警'},
  349. {value: rtu, name: 'RTU报警'},
  350. {value: video, name: '视频报警'},
  351. {value: ef, name: '电气火灾报警'},
  352. ],
  353. emphasis: {
  354. itemStyle: {
  355. shadowBlur: 10,
  356. shadowOffsetX: 0,
  357. shadowColor: 'rgba(0, 0, 0, 0.5)'
  358. }
  359. }
  360. }
  361. ]
  362. };
  363. myChart.setOption(option);
  364. }
  365. function k_type1(part){
  366. let myChart = echarts.init(document.getElementById(part));
  367. let option = {
  368. title: {
  369. text: '火灾告警处理情况图',
  370. left: 'center'
  371. },
  372. tooltip: {
  373. trigger: 'item',
  374. formatter: '{b} :{d}%'
  375. },
  376. legend: {
  377. orient: 'vertical',
  378. left: 'left',
  379. data: ['处理率', '未处理']
  380. },
  381. series: [
  382. {
  383. name: '访问来源',
  384. type: 'pie',
  385. radius: '55%',
  386. center: ['50%', '60%'],
  387. data: [
  388. {value: hj_process_rate, name: '处理率'},
  389. {value: hj_unprocess, name: '未处理'},
  390. ],
  391. emphasis: {
  392. itemStyle: {
  393. shadowBlur: 10,
  394. shadowOffsetX: 0,
  395. shadowColor: 'rgba(0, 0, 0, 0.5)'
  396. }
  397. }
  398. }
  399. ]
  400. };
  401. myChart.setOption(option);
  402. }
  403. function k_type2(part){
  404. let myChart = echarts.init(document.getElementById(part));
  405. let option = {
  406. title: {
  407. text: '水系统告警处理情况图',
  408. left: 'center'
  409. },
  410. tooltip: {
  411. trigger: 'item',
  412. formatter: '{b} :{d}%'
  413. },
  414. legend: {
  415. orient: 'vertical',
  416. left: 'left',
  417. data: ['处理率', '未处理']
  418. },
  419. series: [
  420. {
  421. name: '访问来源',
  422. type: 'pie',
  423. radius: '55%',
  424. center: ['50%', '60%'],
  425. data: [
  426. {value: sj_process_rate, name: '处理率'},
  427. {value: sj_unprocess, name: '未处理'},
  428. ],
  429. emphasis: {
  430. itemStyle: {
  431. shadowBlur: 10,
  432. shadowOffsetX: 0,
  433. shadowColor: 'rgba(0, 0, 0, 0.5)'
  434. }
  435. }
  436. }
  437. ]
  438. };
  439. myChart.setOption(option);
  440. }
  441. function k_type3(part){
  442. let myChart = echarts.init(document.getElementById(part));
  443. let option = {
  444. title: {
  445. text: 'RTU告警处理情况图',
  446. left: 'center'
  447. },
  448. tooltip: {
  449. trigger: 'item',
  450. formatter: '{b} :{d}%'
  451. },
  452. legend: {
  453. orient: 'vertical',
  454. left: 'left',
  455. data: ['处理率', '未处理']
  456. },
  457. series: [
  458. {
  459. name: '访问来源',
  460. type: 'pie',
  461. radius: '55%',
  462. center: ['50%', '60%'],
  463. data: [
  464. {value: rtu_process_rate, name: '处理率'},
  465. {value: rtu_unprocess, name: '未处理'},
  466. ],
  467. emphasis: {
  468. itemStyle: {
  469. shadowBlur: 10,
  470. shadowOffsetX: 0,
  471. shadowColor: 'rgba(0, 0, 0, 0.5)'
  472. }
  473. }
  474. }
  475. ]
  476. };
  477. myChart.setOption(option);
  478. }
  479. </script>
  480. </body>
  481. </html>