浏览代码

大屏前端部分修改

seimin 2 年之前
父节点
当前提交
036d26be65
共有 4 个文件被更改,包括 285 次插入55 次删除
  1. 3 2
      assets/js/config.router.js
  2. 175 2
      assets/js/controllers/charts3.js
  3. 103 48
      assets/views/charts3.html
  4. 4 3
      index.html

+ 3 - 2
assets/js/config.router.js

@@ -191,7 +191,7 @@ app.config(['$authProvider', '$httpProvider', '$stateProvider', '$urlRouterProvi
191 191
         // $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
192 192
         // For any unmatched url, redirect to /app/dashboard
193 193
         // $urlRouterProvider.otherwise("/app/knowledge/forum");
194
-        $urlRouterProvider.otherwise("/login/signin");
194
+        $urlRouterProvider.otherwise("/login/charts3");
195 195
         //
196 196
         // Set up the states
197 197
         $stateProvider.state('app', {
@@ -2163,7 +2163,8 @@ app.config(['$authProvider', '$httpProvider', '$stateProvider', '$urlRouterProvi
2163 2163
             }).state('login.charts3', {
2164 2164
                 url: '/charts3',
2165 2165
                 templateUrl: "assets/views/charts3.html",
2166
-                resolve: loadSequence('jquery-sparkline', 'ui.select', 'multi.select.tree', 'angularBootstrapNavTree', 'spin', 'ladda', 'angular-ladda', 'moment', 'charts3Ctrl','heatmap'),
2166
+                // resolve: loadSequence('jquery-sparkline', 'ui.select', 'multi.select.tree', 'angularBootstrapNavTree', 'spin', 'ladda', 'angular-ladda', 'moment', 'charts3Ctrl','heatmap'),
2167
+                resolve: loadSequence('moment', 'charts3Ctrl'),
2167 2168
             }).state('login.charts4', {
2168 2169
                 url: '/charts4',
2169 2170
                 templateUrl: "assets/views/charts4.html",

+ 175 - 2
assets/js/controllers/charts3.js

@@ -935,7 +935,6 @@ app.controller('charts3Ctrl', ["$scope", "$rootScope", "$state", "$timeout", "$i
935 935
 
936 936
     function getAreaMonthListData(time, inter) {
937 937
         api_hkreport.incidentreport(time, 'large_screen_areaplace_incident_details').then(function (res) {
938
-            console.log(res);
939 938
             $scope.areaMonthList = res.data;
940 939
             setTimeout(() => {
941 940
                 $scope.slides('body1', 'box8', 'box9', 'list5', 3, inter);
@@ -1031,6 +1030,8 @@ app.controller('charts3Ctrl', ["$scope", "$rootScope", "$state", "$timeout", "$i
1031 1030
     // 来电趋势/微信报修趋势...(页面数据轮播)
1032 1031
     $scope.slideBoxLeft = 0;
1033 1032
     $scope.slideBoxLeft1 = 0;
1033
+    $scope.slideBoxLeft2 = 0;
1034
+    $scope.slideBoxLeft3 = 0; //索引
1034 1035
 
1035 1036
     function move1() {
1036 1037
         if ($scope.slideBoxLeft == 0) {
@@ -1043,9 +1044,37 @@ app.controller('charts3Ctrl', ["$scope", "$rootScope", "$state", "$timeout", "$i
1043 1044
             $scope.slideBoxLeft1 = '-100%';
1044 1045
         } else if ($scope.slideBoxLeft1 == '-100%') {
1045 1046
             $scope.slideBoxLeft1 = '-200%';
1047
+        } else if ($scope.slideBoxLeft1 == '-200%') {
1048
+            $scope.slideBoxLeft1 = '-300%';
1049
+        } else if ($scope.slideBoxLeft1 == '-300%') {
1050
+            $scope.slideBoxLeft1 = '-400%';
1051
+        } else if ($scope.slideBoxLeft1 == '-400%') {
1052
+            $scope.slideBoxLeft1 = '-500%';
1046 1053
         } else {
1047 1054
             $scope.slideBoxLeft1 = 0;
1048 1055
         }
1056
+
1057
+        if ($scope.slideBoxLeft2 == 0) {
1058
+            $scope.slideBoxLeft2 = '-100%';
1059
+        } else if ($scope.slideBoxLeft2 == '-100%') {
1060
+            $scope.slideBoxLeft2 = '-200%';
1061
+        } else {
1062
+            $scope.slideBoxLeft2 = 0;
1063
+        }
1064
+
1065
+        if ($scope.slideBoxLeft3 >= 0) {
1066
+            $scope.slideBoxLeft3++;
1067
+            if($scope.slideBoxLeft3 == 6){
1068
+                $scope.slideBoxLeft3 = 0;
1069
+            }
1070
+            // console.log($scope.slideBoxLeft3, '$scope.slideBoxLeft3')
1071
+            if($scope.slideBoxLeft3 == 0 || $scope.slideBoxLeft3 == 1 || $scope.slideBoxLeft3 == 2){
1072
+                $scope.cloudMap.goTo(114.41276, 30.51515, 1, 16);//主校区
1073
+            }
1074
+            if($scope.slideBoxLeft3 == 3 || $scope.slideBoxLeft3 == 4 || $scope.slideBoxLeft3 == 5){
1075
+                $scope.cloudMap.goTo(114.254, 30.5855, 3, 16);//同济校区
1076
+            }
1077
+        }
1049 1078
     }
1050 1079
 
1051 1080
 
@@ -1200,6 +1229,150 @@ app.controller('charts3Ctrl', ["$scope", "$rootScope", "$state", "$timeout", "$i
1200 1229
     // 切屏
1201 1230
     setInterval(() => {
1202 1231
         move1()
1203
-    }, 5000); //5秒
1232
+    }, 15000); //15秒
1233
+
1234
+    // 获取地图token
1235
+    api_hkreport.incidentreport({}, 'large_screen_incident_total').then(function (res) {
1236
+        //#region 渲染地图--------------------start
1237
+        //arcgis字体文件资质
1238
+        //var arcgisFontUrl = "";
1239
+        var is3d = false;
1240
+        var username = "yunweixt20221207";
1241
+        var addressToken =
1242
+        "TGYnE2lw7X0RuR4cpJmCulyoRZnVgVW2XVfcQ08yHA-7x3SLMM1ByO6s12LUf63mliF8E6BRZvXDjiMq4CwpA5O0yp7ngbRAnoeZ1i3b2jhmPEMUchaHmmf4DCztMB6AHO5hA3mRHRSjJw8l7WZrPQ.."; //通过api获取
1243
+
1244
+        //点位聚合
1245
+        // var reductionCustom = {
1246
+        //     室内消火栓: {
1247
+        //         clusterRadius: 100,
1248
+        //         clusterMinSize: 28,
1249
+        //         clusterMaxSize: 36,
1250
+        //     },
1251
+        //     图层名称2: {
1252
+        //         clusterRadius: 100,
1253
+        //         clusterMinSize: 28,
1254
+        //         clusterMaxSize: 36,
1255
+        //     },
1256
+        // };
1257
+        var reductionCustom = null;
1258
+        // var layerColor = null;
1259
+        var layerColor = {
1260
+            baseMap: "dark",
1261
+            floorMap: "dark",
1262
+        };
1263
+
1264
+        $scope.$watch('$viewContentLoaded', function() {
1265
+            console.log('viewContentLoaded');
1266
+            $scope.cloudMap = Object.create(CloudMap); //页面加载完成后,创建map对象
1267
+            // $scope.cloudMap2 = Object.create(CloudMap); //页面加载完成后,创建map对象
1268
+            // $scope.cloudMap3 = Object.create(CloudMap); //页面加载完成后,创建map对象
1269
+            // $scope.cloudMap4 = Object.create(CloudMap); //页面加载完成后,创建map对象
1270
+            // $scope.cloudMap5 = Object.create(CloudMap); //页面加载完成后,创建map对象
1271
+            // $scope.cloudMap6 = Object.create(CloudMap); //页面加载完成后,创建map对象
1272
+            // 主校区
1273
+            $scope.cloudMap.initMap(
1274
+                "viewDiv",
1275
+                114.41276,
1276
+                30.51515,
1277
+                1,
1278
+                username,
1279
+                is3d,
1280
+                addressToken,
1281
+                null,
1282
+                reductionCustom,
1283
+                layerColor,
1284
+                mapReady
1285
+            );
1286
+            // $scope.cloudMap2.initMap(
1287
+            //     "viewDiv2",
1288
+            //     114.41276,
1289
+            //     30.51515,
1290
+            //     1,
1291
+            //     username,
1292
+            //     is3d,
1293
+            //     addressToken,
1294
+            //     null,
1295
+            //     reductionCustom,
1296
+            //     layerColor,
1297
+            //     mapReady
1298
+            // );
1299
+            // $scope.cloudMap3.initMap(
1300
+            //     "viewDiv3",
1301
+            //     114.41276,
1302
+            //     30.51515,
1303
+            //     1,
1304
+            //     username,
1305
+            //     is3d,
1306
+            //     addressToken,
1307
+            //     null,
1308
+            //     reductionCustom,
1309
+            //     layerColor,
1310
+            //     mapReady
1311
+            // );
1312
+            // // 同济校区
1313
+            // $scope.cloudMap4.initMap(
1314
+            //     "viewDiv4",
1315
+            //     114.254,
1316
+            //     30.5855,
1317
+            //     3,
1318
+            //     username,
1319
+            //     is3d,
1320
+            //     addressToken,
1321
+            //     null,
1322
+            //     reductionCustom,
1323
+            //     layerColor,
1324
+            //     mapReady
1325
+            // );
1326
+            // $scope.cloudMap5.initMap(
1327
+            //     "viewDiv5",
1328
+            //     114.254,
1329
+            //     30.5855,
1330
+            //     3,
1331
+            //     username,
1332
+            //     is3d,
1333
+            //     addressToken,
1334
+            //     null,
1335
+            //     reductionCustom,
1336
+            //     layerColor,
1337
+            //     mapReady
1338
+            // );
1339
+            // $scope.cloudMap6.initMap(
1340
+            //     "viewDiv6",
1341
+            //     114.254,
1342
+            //     30.5855,
1343
+            //     3,
1344
+            //     username,
1345
+            //     is3d,
1346
+            //     addressToken,
1347
+            //     null,
1348
+            //     reductionCustom,
1349
+            //     layerColor,
1350
+            //     mapReady
1351
+            // );
1352
+        });
1353
+
1354
+        function mapReady() {
1355
+            //cloudMap.changeLayerVisible('建筑物中心点', false);
1356
+            //地图加载成功
1357
+            // cloudMap.initLayerList("top-right"); //显示图层管理模块,位置top-right,top-left,bottom-right,bottom-right
1358
+            // cloudMap.initLegend("top-left"); //显示图例
1359
+            // cloudMap.click(doSomeThing); //绑定点击查询事件,点击空白处返回 “0”,点击具体的点则会返回相应数doSomeThing是回调函数,根据返回的结果
1360
+            //获取全部图层名称
1361
+            // var allLayerTitle = cloudMap.getAllLayerTitle();
1362
+            // console.log(allLayerTitle);
1363
+            //动态添加图层(下拉列表)
1364
+            // allLayerTitle.forEach((element) => {
1365
+            //     //console.log(element);
1366
+            //     document
1367
+            //     .getElementById("txt_layer")
1368
+            //     .options.add(new Option(element, element));
1369
+            //     document
1370
+            //     .getElementById("txt_layer2")
1371
+            //     .options.add(new Option(element, element));
1372
+            // });
1373
+        }
1204 1374
 
1375
+        //#endregion 渲染地图--------------------end
1376
+        //
1377
+    })
1205 1378
 }]);

+ 103 - 48
assets/views/charts3.html

@@ -118,62 +118,113 @@
118 118
         </div>
119 119
         <div class="right">
120 120
             <div class="slidesCenter">
121
-                <div class="slideBox2" ng-style="{'left':slideBoxLeft1}">
121
+                <div class="slideBox2">
122
+                    <!-- 主校区 -->
122 123
                     <div class="body_center">
123
-                        <div class="map_tit">事件实时动态图</div>
124
+                        <div class="map_tit" ng-switch="slideBoxLeft3">
125
+                            <span ng-switch-when="0">事件实时动态图</span>
126
+                            <span ng-switch-when="1">近30天事件分布图</span>
127
+                            <span ng-switch-when="2">近一年事件分布图</span>
128
+                            <span ng-switch-when="3">事件实时动态图</span>
129
+                            <span ng-switch-when="4">近30天事件分布图</span>
130
+                            <span ng-switch-when="5">近一年事件分布图</span>
131
+                        </div>
124 132
                         <div class="map_pit">
125
-                            <img class="map" src="assets/images/daping/ditu.png" alt="">
126
-
127
-                            <div class='pulse pulseBox activePoint' ng-repeat="item in placeList"
128
-                                ng-class="{'bgGrayPoint':item.statusid==5||item.statusid==6||item.statusid==7,'bgRedPoint':item.statusid!=5&&item.statusid!=6&&item.statusid!=7}"
129
-                                ng-style="pointPosition(item.coordinates,item.statusid)">
130
-                                <!-- <span class="rooms dataHaoRooms"
131
-                                    data-haorooms="haorooms效果tips-纯css">{{item.name}}</span> -->
132
-                            </div>
133
-                            <!-- 字 -->
134
-                            <div class="tongjixiaoqu">同济校区</div>
135
-                            <div class="zhuxiaoqu">主校区</div>
136
-                            <div class="dongxiaoqu">东校区</div>
133
+                            <div id="viewDiv" style="width: 100%;height:100%;"></div>
137 134
                         </div>
138
-
139 135
                     </div>
140
-                    <div class="body_center">
141
-                        <div class="map_tit">近30天事件分布图</div>
142
-                        <div class="map_pit" id="containerMonth">
143
-                            <img class="map" src="assets/images/daping/ditu.png" alt="">
144
-                            <div class='pulse1 pulseBox1 activePoint' ng-repeat="item in monthMapDataList"
145
-                                class="bgYellowPoint"
146
-                                ng-style="pointPosition(item.coordinates)">
147
-                                <span class="rooms dataHaoRooms1"
148
-                                    data-haorooms="haorooms效果tips-纯css">{{item.sum}}</span>
149
-                            </div>
150
-                            <!-- 字 -->
151
-                            <div class="tongjixiaoqu">同济校区</div>
152
-                            <div class="zhuxiaoqu">主校区</div>
153
-                            <div class="dongxiaoqu">东校区</div>
136
+                    <!-- <div class="body_center">
137
+                        <div class="map_tit">主校区-近30天事件分布图</div>
138
+                        <div class="map_pit">
139
+                            <div id="viewDiv2" style="width: 100%;height:100%;"></div>
154 140
                         </div>
155 141
                     </div>
156 142
                     <div class="body_center">
157
-                        <div class="map_tit">近一年事件分布图</div>
158
-                        <div class="map_pit" id="container">
159
-                            <img class="map" src="assets/images/daping/ditu.png" alt="">
160
-                            <div class='pulse1 pulseBox1 activePoint' ng-repeat="item in yearMapDataList"
161
-                                class="bgYellowPoint"
162
-                                ng-style="pointPosition(item.coordinates)">
163
-                                <span class="rooms dataHaoRooms2"
164
-                                    data-haorooms="haorooms效果tips-纯css">{{item.sum}}</span>
165
-                            </div>
166
-                            <!-- 字 -->
167
-                            <div class="tongjixiaoqu">同济校区</div>
168
-                            <div class="zhuxiaoqu">主校区</div>
169
-                            <div class="dongxiaoqu">东校区</div>
143
+                        <div class="map_tit">主校区-近一年事件分布图</div>
144
+                        <div class="map_pit">
145
+                            <div id="viewDiv3" style="width: 100%;height:100%;"></div>
146
+                        </div>
147
+                    </div> -->
148
+                    <!-- 同济校区 -->
149
+                    <!-- <div class="body_center">
150
+                        <div class="map_tit">同济校区-事件实时动态图</div>
151
+                        <div class="map_pit">
152
+                            <div id="viewDiv4" style="width: 100%;height:100%;"></div>
170 153
                         </div>
171 154
 
172 155
                     </div>
156
+                    <div class="body_center">
157
+                        <div class="map_tit">同济校区-近30天事件分布图</div>
158
+                        <div class="map_pit">
159
+                            <div id="viewDiv5" style="width: 100%;height:100%;"></div>
160
+                        </div>
161
+                    </div>
162
+                    <div class="body_center">
163
+                        <div class="map_tit">同济校区-近一年事件分布图</div>
164
+                        <div class="map_pit">
165
+                            <div id="viewDiv6" style="width: 100%;height:100%;"></div>
166
+                        </div>
167
+                    </div> -->
173 168
                 </div>
174 169
             </div>
175 170
             <div class="slidesRight">
176 171
                 <div class="slideBox3" ng-style="{'left':slideBoxLeft1}">
172
+                    <!-- 主校区 -->
173
+                    <div class="workNum">
174
+                        <div class="list">
175
+                            <p>实时工单<span class="size12">(件)</span></p>
176
+                            <p class="orange">{{incident_allData}}</p>
177
+                        </div>
178
+                        <div class="list">
179
+                            <p>及时响应工单<span class="size12">(件)</span></p>
180
+                            <p class="yellow">{{incident_responseData}}</p>
181
+                        </div>
182
+                        <div class="list">
183
+                            <p>处理中工单<span class="size12">(件)</span></p>
184
+                            <p class="green">{{incident_solveNowData}}</p>
185
+                        </div>
186
+                        <div class="list">
187
+                            <p>已解决工单<span class="size12">(件)</span></p>
188
+                            <p class="blue">{{incident_solvedData}}</p>
189
+                        </div>
190
+                    </div>
191
+                    <div class="workNum">
192
+                        <div class="list">
193
+                            <p>建单总数<span class="size12">(件)</span></p>
194
+                            <p class="orange">{{incident_total_month}}</p>
195
+                        </div>
196
+                        <div class="list">
197
+                            <p>事件解决总时长<span class="size12">(小时)</span></p>
198
+                            <p class="yellow">{{incident_solve_time_month}}</p>
199
+                        </div>
200
+                        <div class="list">
201
+                            <p>已解决工单<span class="size12">(件)</span></p>
202
+                            <p class="green">{{incident_solve_total_month}}</p>
203
+                        </div>
204
+                        <div class="list">
205
+                            <p>满意度</p>
206
+                            <p class="blue">{{incident_degree_month}}%</p>
207
+                        </div>
208
+                    </div>
209
+                    <div class="workNum">
210
+                        <div class="list">
211
+                            <p>建单总数<span class="size12">(件)</span></p>
212
+                            <p class="orange">{{incident_total_year}}</p>
213
+                        </div>
214
+                        <div class="list">
215
+                            <p>事件解决总时长<span class="size12">(小时)</span></p>
216
+                            <p class="yellow">{{incident_solve_time_year}}</p>
217
+                        </div>
218
+                        <div class="list">
219
+                            <p>已解决工单<span class="size12">(件)</span></p>
220
+                            <p class="green">{{incident_solve_total_year}}</p>
221
+                        </div>
222
+                        <div class="list">
223
+                            <p>满意度</p>
224
+                            <p class="blue">{{incident_degree_year}}%</p>
225
+                        </div>
226
+                    </div>
227
+                    <!-- 同济校区 -->
177 228
                     <div class="workNum">
178 229
                         <div class="list">
179 230
                             <p>实时工单<span class="size12">(件)</span></p>
@@ -231,7 +282,7 @@
231 282
                 </div>
232 283
             </div>
233 284
             <div class="slidesBottom">
234
-                <div class="slideBox4" ng-style="{'left':slideBoxLeft1}">
285
+                <div class="slideBox4" ng-style="{'left':slideBoxLeft2}">
235 286
                     <div class="map_list">
236 287
                         <div class="title">当天事件详情</div>
237 288
                         <div class="map_list_head">
@@ -362,7 +413,6 @@
362 413
         </div>
363 414
     </div>
364 415
 </div>
365
-</div>
366 416
 <style>
367 417
     .bgBody {
368 418
         width: 1920px;
@@ -510,12 +560,13 @@
510 560
         width: 1193px;
511 561
         height: 616px;
512 562
         overflow: hidden;
563
+        /* overflow: auto; */
513 564
         position: relative;
514 565
         margin-left: 23px;
515 566
     }
516 567
 
517 568
     .slideBox2 {
518
-        width: 300%;
569
+        width: 600%;
519 570
         height: 100%;
520 571
         position: relative;
521 572
         left: 0;
@@ -532,7 +583,7 @@
532 583
     }
533 584
 
534 585
     .slideBox3 {
535
-        width: 300%;
586
+        width: 600%;
536 587
         height: 100%;
537 588
         position: relative;
538 589
         left: 0;
@@ -574,7 +625,7 @@
574 625
 
575 626
     .charts_body .body_center {
576 627
         /* margin-left: 7px; */
577
-        width: 33.33% !important;
628
+        width: 16.6666% !important;
578 629
         float: left;
579 630
         position: relative;
580 631
     }
@@ -909,6 +960,7 @@
909 960
         position: relative;
910 961
         /* background: url(assets/images/daping/ditu.png) no-repeat; */
911 962
         /* background-size: cover; */
963
+        /* background-color: #f1f1f5; */
912 964
     }
913 965
 
914 966
     .map_pit img {
@@ -1256,7 +1308,7 @@
1256 1308
     }
1257 1309
     /* 各数据数量 */
1258 1310
     .workNum {
1259
-        width: 33.33333%;
1311
+        width: 16.6666%;
1260 1312
         float: left;
1261 1313
         overflow: hidden;
1262 1314
         position: relative;
@@ -1396,4 +1448,7 @@
1396 1448
             /* box-shadow: 0 0 20px rgba(0,255,0,.6), inset 0 0 10px rgba(0,255,0,.4), 0 1px 0 #6f6; */
1397 1449
         }
1398 1450
     }
1451
+    .esri-ui-corner .esri-component{
1452
+        display: none;
1453
+    }
1399 1454
 </style>

+ 4 - 3
index.html

@@ -147,15 +147,16 @@
147 147
     <!-- Baidu map Apis -->
148 148
     <!-- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=gd0GyxGUxSCoAbmdyQBhyhrZ"></script> -->
149 149
 
150
-    <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
150
+    <!-- <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
151 151
     <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-gl/echarts-gl.min.js"></script>
152 152
     <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-stat/ecStat.min.js"></script>
153 153
     <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/extension/dataTool.min.js"></script>
154 154
     <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js"></script>
155 155
     <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/world.js"></script>
156 156
     <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/extension/bmap.min.js"></script>
157
-    <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/simplex.js"></script>
158
-   
157
+    <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/simplex.js"></script> -->
158
+   <!-- 华科地图 -->
159
+   <script src="https://map.hust.edu.cn/CloudMapJS/5.0/mainmap.js"></script>
159 160
 </body>
160 161
 
161 162
 </html>