gaodd преди 2 години
родител
ревизия
92f6dd2cc5

+ 3 - 0
src/main/resources/static/app/layout/partials/navigation.tpl.html

@@ -624,6 +624,9 @@
624 624
                     <li has-func="" data-ui-sref-active="active">
625 625
                         <a data-ui-sref="app.cameraGroup.list">分组管理</a>
626 626
                     </li>
627
+                    <li has-func="47" data-ui-sref-active="active">
628
+                        <a data-ui-sref="app.camera.statistics">视频监控统计</a>
629
+                    </li>
627 630
                     <li data-menu-collapse>
628 631
                         <a has-func="" href="#">
629 632
                             <i class="fa fa-fw fa-folder-open"></i>质量诊断

+ 12 - 0
src/main/resources/static/app/monitor/module.js

@@ -93,6 +93,18 @@ angular.module('app.camera', ['ui.router', 'datatables', 'datatables.bootstrap']
93 93
                     }
94 94
                 }
95 95
             })
96
+            .state('app.camera.statistics', {
97
+                url: '/camera/statistics',// 
98
+                data: {
99
+                    title: '视频监控统计'
100
+                },
101
+                views: {
102
+                    "content@app": {
103
+                        controller: 'sptSpjktjCtrl as datatables',
104
+                        templateUrl: 'app/monitor/views/camera-statistics-list.html'
105
+                    }
106
+                }
107
+            })
96 108
             .state('app.camera.play', {
97 109
                 url: '/camera/play',
98 110
                 data: {

+ 105 - 0
src/main/resources/static/app/monitor/views/camera-statistics-list.html

@@ -0,0 +1,105 @@
1
+<!-- MAIN CONTENT -->
2
+<div id="content">
3
+    <!-- widget grid -->
4
+    <section widget-grid id="widget-grid">
5
+
6
+
7
+        <div class="row">
8
+            <article class="col-sm-12">
9
+
10
+                <div jarvis-widget id="standard-datatable-widget" data-widget-color="darken" data-widget-editbutton="false">
11
+                    <header>
12
+                        <span class="widget-icon"> <i class="fa fa-table"></i> </span>
13
+                        <h2>视频监控统计列表</h2>
14
+                    </header>
15
+                    <div>
16
+                        <div class="widget-body no-padding">
17
+                        <div id="DataTables_Table_1_wrapper" class="dataTables_wrapper form-inline no-footer">
18
+							<div class="dt-toolbar">
19
+								<div class="col-xs-12 col-sm-9">
20
+									<div class="container-fluid">
21
+									  <ul class="nav navbar-nav">
22
+			                            <li ng-click="conditionsSelect('month')" style="margin-top:8px;cursor: pointer;">
23
+			                             <a id="check1" style="color:#fff;background:#3276b1; border-radius:5px;padding:6px;">按月查询</a>
24
+			                             &emsp;&emsp;&emsp;
25
+			                            </li> 
26
+			                           <li>&emsp;&emsp;</li>
27
+			                            <li ng-click="conditionsSelect('year')" style="margin-top:8px;cursor: pointer;">
28
+			                             <a id="check2" style="color:#fff;background:#3276b1; border-radius:5px;padding:6px;">按年查询</a>
29
+			                            </li>  
30
+		                             </ul>
31
+                        			</div>
32
+								
33
+									<div class="form-group">
34
+                                        <label>
35
+												<input type="text" ng-model="search.monthTime" id="monthTime" class="form-control Wdate" 
36
+												onClick="WdatePicker({dateFmt:'yyyy-MM'})"  ng-show ="monthflag"> 
37
+										</label> 
38
+										<label></label>
39
+										<label>
40
+												<input type="text" ng-model="search.yearTime" id="yearTime" class="form-control Wdate" 
41
+												onClick="WdatePicker({dateFmt:'yyyy'})" ng-show = "yearflag"> 
42
+										</label>   
43
+                                   </div>
44
+									<div class="form-group">
45
+										<label>
46
+											<span>类型:</span>
47
+											<label class="select">
48
+												<select class="form-control" name="orgname" ng-model="orgname">
49
+													<option value="">--请选择--</option>
50
+													<option value="仓内">仓内</option>
51
+													<option value="安防">安防</option>
52
+													<option value="业务">业务</option>
53
+												</select> <i></i>
54
+											</label>
55
+										</label>
56
+										<a class="btn btn-default btn-sm" ng-click="loadData(pageInfo.pageNum=1)">
57
+											<i class="fa fa-search"></i>&nbsp;查&nbsp;询</a>
58
+									</div>
59
+								</div>
60
+								<div class="col-sm-3 col-xs-6 hidden-xs">
61
+									<div class="dataTables_length">
62
+										<label>每页显示 <select ng-model="pageInfo.pageSize" ng-change="loadData(pageInfo.pageNum=1)"
63
+															ng-options="num as num for num in [10,25,50,100]"
64
+															class="form-control input-sm"></select> 条
65
+										</label>
66
+									</div>
67
+								</div>
68
+							</div>
69
+
70
+						<table class="table table-striped table-bordered table-hover" width="100%">
71
+                        <thead>
72
+                        <tr>
73
+                            <th data-class="expand">监控点</th>
74
+							<th data-class="expand">类型</th>
75
+                            <th data-class="expand">离线时间(天)</th>
76
+                            <th data-class="expand">未录像时长(天)</th>
77
+                            <th data-hide="phone">监控点在线率</th>
78
+                            <th data-hide="phone">录像完整率</th>
79
+                            <th data-hide="phone">状态变化次数</th>
80
+                        </tr>
81
+                        </thead>
82
+                        
83
+                        <tbody>
84
+                        	<tr ng-repeat="log in pageInfo.list">
85
+                        		<td>{{log.resourcename}}</td>
86
+								<td>{{log.orgname}}</td>
87
+                        		<td>{{log.lxsc}}</td>
88
+								<td>{{log.wlxsc}}</td>
89
+								<td>{{log.jkdzxl}}</td>
90
+								<td>{{log.lxwzl}}</td>
91
+                        		<td>{{log.statuschangecount}}</td>
92
+                        	</tr>
93
+                        </tbody>
94
+                        </table>
95
+						<div smart-include="app/layout/partials/page.tpl.html"></div>
96
+                    </div>
97
+                </div>
98
+					</div>
99
+				</div>
100
+            </article>
101
+        </div>
102
+
103
+    </section>
104
+    
105
+</div>

+ 86 - 0
src/main/resources/static/app/supervise/controller/sptCtrl.js

@@ -427,4 +427,90 @@ angular.module('app.supervise').controller("sptSxtgzsCtrl", function ($scope, $r
427 427
         	
428 428
         }
429 429
     })
430
+    
431
+    
432
+    .controller("sptSpjktjCtrl", function ($scope, $rootScope, $state, $stateParams, APP_CONFIG, sptService) {
433
+
434
+        // 获取列表数据
435
+        $scope.pageInfo = {pageNum: 1, pageSize: 10};
436
+        
437
+        //默认展示月查询
438
+        
439
+        $scope.search = {shxydm: $rootScope.orgInfo.creditCode, type: $stateParams.type, startTime :""};
440
+
441
+        
442
+        $scope.monthflag = true;
443
+        $scope.yearflag = false;
444
+		var now = new Date();
445
+		var year = now.getFullYear();
446
+		const month = String(now.getMonth()+1).padStart(2,'0');
447
+		
448
+		$scope.search.monthTime = year+"-"+month;
449
+		now.setDate(1);
450
+    	var firstDay = now.toLocaleDateString();
451
+
452
+    	now.setMonth(month);
453
+    	now.setDate(0);
454
+    	var lastDay = now.toLocaleDateString();
455
+    	console.log(lastDay+"///"+firstDay);
456
+    	$scope.xxcjsjks = firstDay;
457
+    	$scope.xxcjsjjs = lastDay;
458
+		
459
+		
460
+        $scope.yearflag = false;
461
+        var param = null;
462
+        $scope.xxcjsjks = null;
463
+    	$scope.xxcjsjjs = null;
464
+        $scope.conditionsSelect = function(param){
465
+        	if(param == 'year'){
466
+        		$scope.yearflag = true; 
467
+        		$scope.monthflag = false;
468
+        		var now = new Date();
469
+        		const currentYear = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(now);
470
+        		$scope.search.yearTime = currentYear;
471
+        		
472
+        		$scope.xxcjsjks = currentYear+"-01-01";
473
+            	$scope.xxcjsjjs = currentYear+"-12-31";
474
+            	//console.log($scope.xxcjsjks+"///nian"+$scope.xxcjsjjs);
475
+        	}else if(param == 'month'){
476
+        		$scope.yearflag = false;
477
+        		$scope.monthflag = true;
478
+        		 
479
+        		var now = new Date();
480
+        		var year = now.getFullYear();
481
+        		const month = String(now.getMonth()+1).padStart(2,'0');
482
+        		$scope.search.monthTime = year+"-"+month;
483
+        		
484
+        		now.setDate(1);
485
+            	var firstDay = now.toLocaleDateString();
486
+
487
+            	now.setMonth(month);
488
+            	now.setDate(0);
489
+            	var lastDay = now.toLocaleDateString();
490
+            	$scope.xxcjsjks = firstDay;
491
+            	$scope.xxcjsjjs = lastDay;
492
+        		
493
+        	}
494
+        }
495
+        
496
+		
497
+        
498
+
499
+        $scope.loadData = function () {
500
+
501
+        	
502
+        	
503
+        	
504
+        	
505
+        }
506
+
507
+        $scope.loadData();
508
+
509
+        // 翻页
510
+        $scope.goPage = function (pageNum) {
511
+            $scope.pageInfo.pageNum = pageNum;
512
+            $scope.loadData();
513
+        };
514
+
515
+    })
430 516
 ;