zhangshuangnan лет назад: 8
Сommit
1be6cfa573

Разница между файлами не показана из-за своего большого размера
+ 8079 - 0
css/bootstrap.min.css


+ 621 - 0
css/index.css

@@ -0,0 +1,621 @@
1
+body {
2
+	margin: 0;
3
+	padding: 0;
4
+	font-size: 16px;
5
+	background-color: #100e11;
6
+	-webkit-text-size-adjust: none;
7
+}
8
+
9
+ul,li {
10
+	margin: 0;
11
+	padding: 0;
12
+}
13
+
14
+li {
15
+	list-style-type: none;
16
+}
17
+
18
+img {
19
+	border: 0;
20
+}
21
+p{
22
+	margin: 0;
23
+	padding: 0;
24
+}
25
+.clearfix {
26
+	zoom: 1;
27
+	overflow: hidden;
28
+}
29
+
30
+.clearfix:after {
31
+	content: " ";
32
+	display: block;
33
+	clear: both;
34
+	height: 0;
35
+}
36
+
37
+a {
38
+	text-decoration: none;
39
+}
40
+[ui-view]{
41
+	background:#100e11 ;
42
+}
43
+
44
+ .navcon{
45
+ 	width: 100%;
46
+ 	background:#100e11 ;
47
+ }
48
+ .navbox{
49
+ 	width: 95%;
50
+ 	margin: 0 auto;
51
+ 	height: 45px;
52
+ 	color: #fff;
53
+ }
54
+  .navbox p{
55
+  	float: left;
56
+  	height: 100%;
57
+  	text-align: center;
58
+  	line-height: 45px;
59
+  	font-size: 25px;
60
+  
61
+  }
62
+ 
63
+  .navbox .navl{
64
+  	height: 100%;
65
+  	width: 60%;
66
+  	float: right;
67
+  }
68
+ .navbox .navl li{
69
+ 	float: left;
70
+ 	height: 100%;
71
+ 	margin-left: 10px;
72
+ 
73
+ }
74
+  .navbox .navl li a{
75
+  	display: block;
76
+  	height: 100%;
77
+ 	line-height: 45px;
78
+ 	text-align: center;
79
+ 	padding: 0px 15px;
80
+ 	color: #73a2fa;
81
+  }
82
+.navbox .navl li a.active{
83
+ 	color: #fff;
84
+ 	background: #65668c;
85
+ }
86
+ 
87
+ /*来源渠道开始*/
88
+
89
+ .qunzhong{
90
+     width: 95%;
91
+    background: #100e11;
92
+    margin: 0 auto;
93
+    padding: 40px 0;
94
+ 	
95
+ }
96
+ .huanxing{
97
+ 	float: right;
98
+ 	width: 35%;
99
+ 	color: #fff;
100
+ 	text-align: center;
101
+ }
102
+  .huanxing ul li{
103
+  	float: left;
104
+  	width: 25%;
105
+  	margin-top: 10px;
106
+  	font-size: 14px;
107
+  	
108
+  }
109
+  .huanxing ul li div{
110
+  	width: 80%;
111
+    margin: 0 auto;
112
+    background: url(../img/circle_03.png) no-repeat;
113
+    height: 110px;
114
+    background-size: contain;
115
+    color: #fff;
116
+    text-align: center;
117
+    line-height: 6em;
118
+   
119
+  }
120
+    .slqd{
121
+    	float: left;
122
+    	width: 100%;
123
+    }
124
+   .slqd .txbox>li{
125
+ 	float: left;
126
+ 	width: 10%;
127
+ 	color: #fff;
128
+ 	text-align: center;
129
+ 	    font-size: 14px;
130
+ }
131
+/*来源渠道结束*/
132
+/*接单部门处理情况开始*/
133
+.jiedan-left{
134
+	float: left;
135
+	width: 60%;
136
+	
137
+}
138
+.jiedan-right{
139
+	float: right;
140
+	width: 40%;
141
+	
142
+}
143
+.biao-title{
144
+	text-align: center;
145
+	color: #fff;
146
+	font-size: 16px;
147
+	margin: 10px 0;
148
+	font-weight: bold;
149
+}
150
+.bumen ul.txbox li{
151
+	width: 20%;
152
+	float: left;
153
+	text-align: center;
154
+	color: #fff;
155
+	font-size: 14px;
156
+}
157
+/*接单部门处理情况结束*/
158
+/*投诉举报开始*/
159
+.tousujb{
160
+	width: 95%;
161
+	margin: 35px auto 0 auto;
162
+	margin-top: 35px;
163
+}
164
+
165
+.tousujb>div>div{
166
+	float: left;
167
+}
168
+.tsjb-top .tsjb-tl{
169
+	width: 35%;
170
+}
171
+.tsjb-top .tsjb-tr{
172
+	width: 65%;
173
+}
174
+.tsjb-bot .tsjb-bl{
175
+	margin-left: 0;
176
+}
177
+.tsjb-bot>div{
178
+	width: 30%;
179
+	margin-top: 20px;
180
+	box-sizing: border-box;
181
+    margin-left: 3%;
182
+	
183
+}
184
+.tsjb-bm ul li>div,.tsjb-br ul li>div{
185
+	float: left;
186
+	color: #fff;
187
+	font-size: 14px;
188
+}
189
+.tsjb-bm ul li>div.tsgjz-left,.tsjb-br ul li>div.tsgjz-left{
190
+	width: 70%;
191
+}
192
+.tsjb-bm ul li>div.tsgjz-right,.tsjb-br ul li>div.tsgjz-right{
193
+	float: right;
194
+}
195
+.tsjb-bm ul li .progress,.tsjb-br ul li .progress{
196
+	background-color: #64547b;
197
+}
198
+.progress-bar-zise {
199
+    background-color: #c278a9;
200
+}
201
+.progress-bar-cheng {
202
+    background-color: #fc9765;
203
+}
204
+.progress-bar-fen {
205
+    background-color: #ffe6de;
206
+}
207
+.progress-bar-dousha {
208
+    background-color: #ef9c94;
209
+}
210
+.progress-bar-qing {
211
+    background-color: #deffde;
212
+}
213
+.progress-bar-bohe {
214
+    background-color: #87ebf1;
215
+}
216
+.success{
217
+	color: #5cb85c;
218
+}
219
+.warning {
220
+   color: #f0ad4e;
221
+}
222
+.danger {
223
+    color: #d9534f;
224
+}
225
+.info {
226
+    color: #5bc0de;
227
+}
228
+.zise {
229
+   color: #c278a9;
230
+}
231
+.cheng {
232
+   color: #fc9765;
233
+}
234
+.fen {
235
+   color: #ffe6de;
236
+}
237
+.dousha {
238
+ 	color: #ef9c94;
239
+}
240
+.qing {
241
+    color: #deffde;
242
+}
243
+.bohe {
244
+    color: #87ebf1;
245
+}
246
+
247
+/*投诉举报结束*/
248
+/*话务数量情况开始*/
249
+.z_num {
250
+		color: #FFFFFF;
251
+		font-size: 16px;
252
+		text-align: center;
253
+		display: block;
254
+		margin-top: 8px;
255
+	}
256
+	
257
+	.phone_num {
258
+		overflow: hidden;
259
+		margin-top: 10px;
260
+	}
261
+	
262
+	.phone_li {
263
+		color: #fff;
264
+	}
265
+	
266
+	.phone_li li {
267
+		width: 50%;
268
+		float: left;
269
+		text-align: center;
270
+		font-size: 14px;
271
+	}
272
+
273
+	.Map_picter {
274
+		width: 100%;
275
+	}
276
+	
277
+	.fl {
278
+		float: left;
279
+	}
280
+	
281
+	.Map_dq ul li {
282
+		float: left;
283
+		color: #FFFDEF;
284
+		width: 20%;
285
+		text-align: center;
286
+		margin-bottom: 10px;
287
+	}
288
+	
289
+	.size-14 {
290
+		font-size: 14px;
291
+	}
292
+	
293
+	.tb {
294
+		display: inline-block;
295
+		width: 10px;
296
+		height: 10px;
297
+		background-color: #FFFDEF;
298
+		vertical-align: baseline;
299
+	}
300
+	
301
+	.xe-z {
302
+		display: inline-block;
303
+		width: 10px;
304
+		height: 10px;
305
+		background-color: #fecb00;
306
+	}
307
+	
308
+	.xe-l {
309
+		display: inline-block;
310
+		width: 10px;
311
+		height: 10px;
312
+		background-color: #4ef41b;
313
+	}
314
+	
315
+	.xe-a {
316
+		display: inline-block;
317
+		width: 10px;
318
+		height: 10px;
319
+		background-color: #ecaaf1;
320
+	}
321
+	
322
+	.xe-t {
323
+		display: inline-block;
324
+		width: 10px;
325
+		height: 10px;
326
+		background-color: #043288;
327
+	}
328
+	
329
+	.xe-x {
330
+		display: inline-block;
331
+		width: 10px;
332
+		height: 10px;
333
+		background-color: #ed15fa;
334
+	}
335
+	
336
+	.xe-y {
337
+		display: inline-block;
338
+		width: 10px;
339
+		height: 10px;
340
+		background-color: #2bf9e8;
341
+	}
342
+	
343
+	.xe-g {
344
+		display: inline-block;
345
+		width: 10px;
346
+		height: 10px;
347
+		background-color: #d8b839;
348
+	}
349
+	
350
+	.xe-w {
351
+		display: inline-block;
352
+		width: 10px;
353
+		height: 10px;
354
+		background-color: #2b6df1;
355
+	}
356
+	
357
+	.xe-b {
358
+		display: inline-block;
359
+		width: 10px;
360
+		height: 10px;
361
+		background-color: #fc1807;
362
+	}
363
+	
364
+	.xe-1 {
365
+		display: inline-block;
366
+		width: 10px;
367
+		height: 10px;
368
+		background-color: #23b166;
369
+	}
370
+	
371
+	.xe-2 {
372
+		display: inline-block;
373
+		width: 10px;
374
+		height: 10px;
375
+		background-color: #fbfafa;
376
+	}
377
+	
378
+	.xe-3 {
379
+		display: inline-block;
380
+		width: 10px;
381
+		height: 10px;
382
+		background-color: #f27bbf;
383
+	}
384
+	
385
+	.xe-4 {
386
+		display: inline-block;
387
+		width: 10px;
388
+		height: 10px;
389
+		background-color: #fb028f;
390
+	}
391
+	
392
+/*话务数量情况结束*/
393
+/*中心大数据开始*/
394
+			.containers{
395
+				margin-top: 35px;
396
+			}
397
+			.z_num {
398
+				color: #FFFFFF;
399
+				font-size: 16px;
400
+				text-align: center;
401
+				display: block;
402
+				margin-top: 8px;
403
+			}
404
+			
405
+			.phone_num {
406
+				overflow: hidden;
407
+				margin-top: 10px;
408
+			}
409
+			.phone_li li span {
410
+				display: block;
411
+				text-align: center;
412
+			}
413
+			
414
+			.map_titles {
415
+				color: #E0E0E3;
416
+				font-size: 16px;
417
+				text-align: center;
418
+				display: block;
419
+				margin-top: 8px;
420
+			}
421
+			
422
+			.main1 {
423
+				width: 40%;
424
+				float: left;
425
+			}
426
+			
427
+
428
+			.sl_title {
429
+				font-size: 16px;
430
+				text-align:center;
431
+				color: #fff;
432
+			}
433
+			
434
+			.slqm ul {
435
+				margin-top: 10px;
436
+			}
437
+			
438
+			.slqm ul li {
439
+				list-style: none;
440
+				font-size: 14px;
441
+				text-align: center;
442
+				margin-bottom: 15px;
443
+			}
444
+			
445
+			.slqm ul li span {
446
+				margin: 5px;
447
+				text-align: center;
448
+				display: inline-block;
449
+				width: 8%;
450
+			}
451
+			
452
+			.sl_b {
453
+				color: #F0F4F7;
454
+			}
455
+			
456
+			.sl_red {
457
+				color: red;
458
+			}
459
+			
460
+			.sl_blue {
461
+				color: #73a2fa;
462
+			}
463
+			
464
+			.size-20 {
465
+				font-size: 20px;
466
+			}
467
+			
468
+			.max-width {
469
+				width: 40%!important;
470
+				text-align: left!important;
471
+			}
472
+			
473
+			.tspm ul {
474
+				margin-top: 50px;
475
+			}
476
+			
477
+			.tspm ul li span {
478
+				text-align: center;
479
+				display: inline-block;
480
+				width: 10%;
481
+			}
482
+			
483
+			.tspm ul li {
484
+				font-size: 14px;
485
+				text-align: center;
486
+				margin-bottom: 30px;
487
+			}
488
+			.slqm_content ul li .progress {
489
+				   background-color: #64547b;
490
+			
491
+			}
492
+			.conb>div{
493
+				float: left;
494
+				width: 33%;
495
+			}
496
+			.gd-tbox{
497
+				width: 100%;
498
+				margin: 0 0 85px 0;
499
+			}
500
+			.gd-tbox li{
501
+				float: left;
502
+				width: 33.3%;
503
+				text-align: center;
504
+				color: #fff;
505
+				height: 45px;
506
+   				line-height: 45px;
507
+			}
508
+			.gd-tbox li span{
509
+				color: red;
510
+			}
511
+			.gd-tbox li.gd-tit{
512
+				background: red;
513
+				color: #fff;
514
+				
515
+			}
516
+			.mb>div{
517
+				float: left;
518
+			}
519
+			.gdmap>div{
520
+				float: left;
521
+			}
522
+			.gdmap>div.gdmap-l{
523
+				width: 20%;
524
+			}
525
+			.gdmap>div.gdmap-l ul{
526
+				width: 100%;
527
+				color: #73a2fa;
528
+				font-size: 14px;
529
+			}
530
+			.gdmap>div.gdmap-l ul li{
531
+					width: 100%;
532
+				    text-align: center;
533
+   					 margin-top: 25px;
534
+			}
535
+			.gdmap>div.gdmap-l ul li span{
536
+				color: #fff;
537
+				font-size: 18px;
538
+			}
539
+			.gdmap>div.gdmap-m{
540
+				width: 60%;
541
+			}
542
+			.gdmap>div.gdmap-m img{
543
+				display: block;
544
+				width: 100%;
545
+			}
546
+			.gdmap>div.gdmap-r{
547
+				width: 20%;
548
+				color: #fff;
549
+				font-size: 14px;
550
+			}
551
+			.gdmap>div.gdmap-r ul li i{
552
+				margin-right: 5px;
553
+			}
554
+			.gdmap>div.gdmap-r ul li {
555
+				margin-top: 10px;
556
+			}
557
+/*中心大数据结束*/
558
+/*服务知识开始*/
559
+	.slqd_title {
560
+				font-size: 16px;
561
+				color: #73a2fa;
562
+				text-align:center;
563
+			}
564
+			.xs {
565
+				font-size: 16px;
566
+				line-height: 40px;
567
+				display: block;
568
+			}			
569
+			.pr_bai {
570
+				color: #FFF;
571
+				margin-bottom: 8px;
572
+			}
573
+			
574
+			.bm {
575
+				width: 35%;
576
+				display: block;
577
+				float: left;
578
+				height: 40px;
579
+				float: right;
580
+				line-height: 15px;
581
+			}
582
+			
583
+			.bm span {
584
+				font-size: 14px;
585
+				text-align: center;
586
+				display: block;
587
+			}
588
+			
589
+			.slqd_content {
590
+				overflow: hidden;
591
+			}			
592
+			.slqd_content {
593
+				margin-top: 30px;
594
+			}			
595
+				
596
+			.info {
597
+				color: #23c6c8;
598
+			}
599
+			
600
+			.success {
601
+				color: #1c84c6;
602
+			}
603
+			
604
+			.danger {
605
+				color: #ed5565;
606
+			}
607
+			
608
+			.warning {
609
+				color: #f8ac59;
610
+			}
611
+			.slqd_content ul{
612
+				padding-left: 0;
613
+				margin-right: 40px;
614
+			}
615
+			.slqd_content ul li .progress {
616
+				width: 60%;
617
+				height: 40px;
618
+				float: left;
619
+				background-color: #64547b;
620
+			}
621
+/*服务知识结束*/

+ 95 - 0
html/fuwuzhishi.html

@@ -0,0 +1,95 @@
1
+
2
+
3
+	<div class="containers">
4
+		<div style="width: 33.33%;" class="fdcl fl">
5
+			<div id="fdcl" style="height: 600px;"></div>
6
+		</div>
7
+		<div style="width: 33.33%;" class="slqd fl" id="slqd">
8
+			<div class="slqd_title">群众咨询知识库情况统计</div>
9
+			<div class="slqd_content">
10
+				<ul>
11
+					<li>
12
+						<div class="progress">
13
+							<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 90%;">
14
+								<span class="xs">90%</span>
15
+							</div>
16
+						</div>
17
+						<div class="bm">
18
+							<span class="pr_bai">护照办理</span>
19
+							<span class="info">(1001)</span>
20
+						</div>
21
+					</li>
22
+					<li>
23
+						<div class="progress">
24
+							<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 90%;">
25
+								<span class="xs">90%</span>
26
+							</div>
27
+						</div>
28
+						<div class="bm">
29
+							<span class="pr_bai">机动车注册登记</span>
30
+							<span class="warning">(1001)</span>
31
+						</div>
32
+					</li>
33
+					<li>
34
+						<div class="progress">
35
+							<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 70%;">
36
+								<span class="xs">70%</span>
37
+							</div>
38
+						</div>
39
+						<div class="bm">
40
+							<span class="pr_bai">不动产登记</span>
41
+							<span class="danger">(1001)</span>
42
+						</div>
43
+					</li>
44
+					<li>
45
+						<div class="progress">
46
+							<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 40%;">
47
+								<span class="xs">40%</span>
48
+							</div>
49
+						</div>
50
+						<div class="bm">
51
+							<span class="pr_bai">生育津贴</span>
52
+							<span class="success">(1001)</span>
53
+						</div>
54
+					</li>
55
+					<li>
56
+						<div class="progress">
57
+							<div class="progress-bar  progress-bar-zise" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
58
+								<span class="xs">60%</span>
59
+							</div>
60
+						</div>
61
+						<div class="bm">
62
+							<span class="pr_bai">社保政策社保政策</span>
63
+							<span class="zise">(1001)</span>
64
+						</div>
65
+					</li>
66
+					<li>
67
+						<div class="progress">
68
+							<div class="progress-bar progress-bar-cheng" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 20%;">
69
+								<span class="xs">20%</span>
70
+							</div>
71
+						</div>
72
+						<div class="bm">
73
+							<span class="pr_bai">落户政策</span>
74
+							<span class="cheng">(1001)</span>
75
+						</div>
76
+					</li>
77
+					<li>
78
+						<div class="progress">
79
+							<div class="progress-bar progress-bar-fen" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 20%;">
80
+								<span class="xs">20%</span>
81
+							</div>
82
+						</div>
83
+						<div class="bm">
84
+							<span class="pr_bai">驾照更换</span>
85
+							<span class="fen">(1001)</span>
86
+						</div>
87
+					</li>
88
+
89
+				</ul>
90
+			</div>
91
+		</div>
92
+		<div class="zs fl" style="width: 33.33%;">
93
+			<div id="zs" style="height: 600px;"></div>
94
+		</div>
95
+	</div>

+ 103 - 0
html/huawu.html

@@ -0,0 +1,103 @@
1
+
2
+<div class="huawu">
3
+	<div class="containers clearfix">
4
+		<div style="width:55%; float: left;">
5
+			<div id="main1"></div>
6
+		</div>
7
+		<div style="width: 40%; float: right;">
8
+			<div class="Map">
9
+				<div class="biao-title">
10
+								 管辖区域来话量统计
11
+								 </div>
12
+				<div class="Map_content">
13
+					<div class="">
14
+						<img class="Map_picter" src="../img/123.png" alt="" />
15
+					</div>
16
+					<div class="Map_dq">
17
+						<ul class="">
18
+							<li>
19
+								<b class="xe-z"></b>
20
+								<span class="size-14">周至县</span>
21
+								<span>80%</span>
22
+							</li>
23
+							<li>
24
+								<b class="xe-l"></b>
25
+								<span class="size-14">户县</span>
26
+								<span>80%</span>
27
+							</li>
28
+							<li>
29
+								<b class="xe-a"></b>
30
+								<span class="size-14">长安区</span>
31
+								<span>80%</span>
32
+							</li>
33
+							<li>
34
+								<b class="xe-t"></b>
35
+								<span class="size-14">蓝田县</span>
36
+								<span>80%</span>
37
+							</li>
38
+							<li>
39
+								<b class="xe-y"></b>
40
+								<span class="size-14">阎良区</span>
41
+								<span>80%</span>
42
+							</li>
43
+							<li>
44
+								<b class="xe-g"></b>
45
+								<span class="size-14">高陵县</span>
46
+								<span>80%</span>
47
+							</li>
48
+							<li>
49
+								<b class="xe-w"></b>
50
+								<span class="size-14">未央区</span>
51
+								<span>80%</span>
52
+							</li>
53
+							<li>
54
+								<b class="xe-b"></b>
55
+								<span class="size-14">灞桥区</span>
56
+								<span>80%</span>
57
+							</li>
58
+							<li>
59
+								<b class="xe-1"></b>
60
+								<span class="size-14">周至县</span>
61
+								<span>80%</span>
62
+							</li>
63
+							<li>
64
+								<b class="xe-2"></b>
65
+								<span class="size-14">周至县</span>
66
+								<span>80%</span>
67
+							</li>
68
+							<li>
69
+								<b class="xe-3"></b>
70
+								<span class="size-14">周至县</span>
71
+								<span>80%</span>
72
+							</li>
73
+							<li>
74
+								<b class="xe-4"></b>
75
+								<span class="size-14">周至县</span>
76
+								<span>80%</span>
77
+							</li>
78
+						</ul>
79
+					</div>
80
+				</div>
81
+			</div>
82
+		</div>
83
+	</div>
84
+	<div class="row2 clearfix">
85
+		
86
+			<div id="main" style="width: 55%; float: left;"></div>
87
+		
88
+		
89
+			<div class='hwzt' style="width: 40%; float: right;">
90
+				<span class="z_num">话务量总体统计</span>
91
+				<div class="phone_num">
92
+					<ul class="phone_li">
93
+						<li> <div id="ld"></div><span>每天来话量</span> </li>
94
+						<li><div id="jtl"></div><span>接通量</span></li>
95
+						<li> <div id="jtv"></div><span>接通率</span></li>
96
+						<li> <div id="zxr"></div><span>坐席人数</span></li>
97
+						<li> <div id="sc"></div><span>平均通话时长</span></li>
98
+					</ul>
99
+				</div>
100
+			</div>
101
+	
102
+	</div>
103
+</div>

+ 73 - 0
html/index.html

@@ -0,0 +1,73 @@
1
+<!DOCTYPE html>
2
+<html>
3
+
4
+	<head lang="en">
5
+		<meta charset="UTF-8">
6
+		<title></title>
7
+		<link rel="stylesheet" href="../css/bootstrap.min.css" />
8
+		<link rel="stylesheet" href="../css/index.css" />
9
+
10
+	</head>
11
+
12
+	<body ng-app="myRoute">
13
+		<div class="navcon ">
14
+			<div class="navbox clearfix">
15
+				<p>XX市服务中心信息展示系统</p>
16
+				<ul class="navl clearfix">
17
+					<li>
18
+						<a ui-sref="index" ui-sref-active="active">来源渠道情况</a>
19
+					</li>
20
+					<li>
21
+						<a ui-sref="jiedanbumen" ui-sref-active="active">接单部门情况</a>
22
+					</li>
23
+					<li>
24
+						<a ui-sref="tousujubao" ui-sref-active="active">投诉举报情况</a>
25
+					</li>
26
+					<li>
27
+						<a ui-sref="huawu" ui-sref-active="active">话务数量情况</a>
28
+					</li>
29
+					<li>
30
+						<a ui-sref="zhongxin" ui-sref-active="active">中心大数据</a>
31
+					</li>
32
+					<li>
33
+						<a ui-sref="fuwuzhishi" ui-sref-active="active">服务知识</a>
34
+					</li>
35
+
36
+				</ul>
37
+			</div>
38
+		</div>
39
+
40
+		<div ui-view></div>
41
+
42
+		<script src="../js/chajs/angular-1.5.8.js"></script>
43
+		<script src="../js/chajs/angular-ui-router.min.js"></script>
44
+		<script src="../js/chajs/angular-animate.js"></script>
45
+		<script src="../js/chajs/jquery.min.js"></script>
46
+		<script src="../js/chajs/echarts.min.js"></script>
47
+		<script src="../js/chajs/highcharts.js"></script>
48
+		<script src="../js/chajs/gray.js"></script>
49
+		<script src="../js/chajs/radialIndicator.js"></script>
50
+		<script src="../js/chajs/angular.radialIndicator.js"></script>
51
+		<script src="../js/rout.js"></script>
52
+		<script src="../js/laiyuanqudao.js"></script>
53
+		<script src="../js/jiedanbumen.js"></script>
54
+		<script src="../js/tousujubao.js"></script>
55
+		<script src="../js/huawu.js"></script>
56
+		<script src="../js/zhongxin.js"></script>
57
+		<script src="../js/fuwuzhishi.js"></script>
58
+
59
+		<script>
60
+			if(!location.href.split('#')[1]) {
61
+				history.replaceState(null, 'index', location.href.split('#')[0] + '#/' + 'laiyuanqudao.html');
62
+			}
63
+			//  $('.forEWM').on('mouseover',function(){
64
+			//      $('.erWeiMaDiv').css('display','block')
65
+			//  }).on('mouseout',function(){
66
+			//      $('.erWeiMaDiv').css('display','none')
67
+			//  });
68
+			//  $("#index-logo").removeClass()
69
+			//          .addClass('index-logoImg')
70
+		</script>
71
+	</body>
72
+
73
+</html>

+ 64 - 0
html/jiedanbumen.html

@@ -0,0 +1,64 @@
1
+
2
+<div class="jiedan clearfix">
3
+	<div class="jiedan-left">
4
+		<div class="biao-title">接单情况汇总</div>
5
+	<div id="jiedan1" style="width: 100%; height: 400px;"></div>
6
+	
7
+	<div class="biao-title">各部门受理工单情况</div>
8
+	<div class="bumen">
9
+		<ul class="txbox clearfix">
10
+			<li>
11
+				<div id="dizhen"></div>
12
+				市地震局
13
+			</li>
14
+			<li>
15
+				<div id="fazhiban"></div>
16
+				市法制办
17
+			</li>
18
+		<li>
19
+			<div id="huanbao"></div>
20
+		市环保局
21
+		</li>
22
+		<li>
23
+			<div id="guotu"></div>
24
+			市国土局
25
+		</li>
26
+		<li>
27
+			<div id="linye"></div>
28
+			市林业局
29
+		</li>
30
+		<li>
31
+			<div id="meitan"></div>
32
+			市煤炭局
33
+		</li>
34
+		<li>
35
+			<div id="minzheng"></div>
36
+			市民政局
37
+			
38
+		</li>
39
+		<li>
40
+			<div id="shenji"></div>
41
+			市审计局
42
+			
43
+		</li>
44
+		<li>
45
+			<div id="shangwu"></div>
46
+			市商务局
47
+			
48
+		</li>
49
+		<li>
50
+			<div id="jiancha"></div>
51
+			市检察院
52
+			
53
+		</li>
54
+		
55
+		</ul>
56
+	</div>
57
+	
58
+	</div>
59
+	<div class="jiedan-right" style="height: 100%;">
60
+		<div class="biao-title">工单处理时间分布情况</div>
61
+		<div id="timefb" style="height: 670px;"></div>
62
+	</div>
63
+</div>
64
+

+ 114 - 0
html/laiyuanqudao.html

@@ -0,0 +1,114 @@
1
+<div class="qunzhong clearfix">
2
+	<div id="container1" style="width: 60%; height:500px;float: left;"></div>
3
+	<div class="huanxing">
4
+		
5
+		<div class="biao-title">受理区域统计</div>
6
+		<ul class="clearfix" >
7
+			<li>
8
+				<div>111</div>
9
+				新城区
10
+			</li>
11
+			<li>
12
+				<div>131</div>
13
+				
14
+				碑林区
15
+			</li>
16
+			<li>
17
+				<div>181</div>
18
+				莲湖区
19
+			</li>
20
+			<li>
21
+				<div>231</div>
22
+				雁塔区
23
+			</li>
24
+			<li>
25
+				<div>331</div>
26
+				未央区
27
+			</li>
28
+			<li>
29
+				<div>752</div>
30
+				灞桥区
31
+			</li>
32
+			<li>
33
+				<div>531</div>
34
+				阎良区
35
+			</li>
36
+			<li>
37
+				<div>631</div>
38
+				临潼区
39
+			</li>
40
+			<li>
41
+				<div>661</div>
42
+				长安区
43
+			</li>
44
+			<li>
45
+				<div>881</div>
46
+				秦都区
47
+			</li>
48
+			<li>
49
+				<div>6661</div>
50
+				渭城区
51
+			</li>
52
+			
53
+			
54
+		</ul>
55
+	</div>
56
+	
57
+	
58
+	
59
+	<div class="slqd">
60
+		<div class="biao-title">受理渠道24小时实时统计</div>
61
+		<ul class="txbox">
62
+			<li>
63
+				<div id="weibo"></div>
64
+				微博
65
+			</li>
66
+			<li>
67
+				<div id="phone"></div>
68
+				电话
69
+			</li>
70
+		<li>
71
+			<div id="doorhu"></div>
72
+		门户网站
73
+		</li>
74
+		<li>
75
+			<div id="app"></div>
76
+			APP
77
+		</li>
78
+		<li>
79
+			<div id="weixin"></div>
80
+			微信
81
+		</li>
82
+		<li>
83
+			<div id="message"></div>
84
+			短信
85
+		</li>
86
+		<li>
87
+			<div id="email"></div>
88
+			邮箱
89
+			
90
+		</li>
91
+		<li>
92
+			<div id="face"></div>
93
+			脸书
94
+			
95
+		</li>
96
+		<li>
97
+			<div id="ins"></div>
98
+			ins
99
+			
100
+		</li>
101
+		<li>
102
+			<div id="qq"></div>
103
+			QQ
104
+			
105
+		</li>
106
+		
107
+		</ul>
108
+	
109
+	</div>
110
+
111
+		
112
+	
113
+</div>
114
+

+ 208 - 0
html/tousujubao.html

@@ -0,0 +1,208 @@
1
+<div class="tousujb">
2
+	<div class="tsjb-top clearfix">
3
+		<div class="tsjb-tl">
4
+			<!--<div class="biao-title">投诉/举报汇总</div>-->
5
+			<div id="quantity" style="width: 100%;height: 400px;"></div>
6
+		</div>
7
+		<div class="tsjb-tr">
8
+			<div id="tsdwgr" style="width: 100%;height: 400px;"></div>
9
+		</div>
10
+	</div>
11
+	<div class="tsjb-bot clearfix">
12
+		<div class="tsjb-bl">
13
+	<div id="tsdw_dw" style="width: 100%;height: 400px;"></div>
14
+</div>
15
+<div class="tsjb-bm">
16
+	<div class="biao-title">投诉关键字统计</div>
17
+	<ul>
18
+		<li class="clearfix">
19
+			<div class="tsgjz-left">
20
+				<div class="progress">
21
+					<div class="progress-bar progress-bar-success " style="width: 10%">
22
+					</div>
23
+				</div>
24
+			</div>
25
+			<div class="tsgjz-right">不作为<span class="success">1785</span></div>
26
+		</li>
27
+		<li class="clearfix">
28
+			<div class="tsgjz-left">
29
+				<div class="progress">
30
+					<div class="progress-bar progress-bar-warning " style="width: 20%">
31
+					</div>
32
+				</div>
33
+			</div>
34
+			<div class="tsgjz-right">服务态度<span class="warning">1785</span></div>
35
+		</li>
36
+		<li class="clearfix">
37
+			<div class="tsgjz-left">
38
+				<div class="progress">
39
+					<div class="progress-bar progress-bar-danger " style="width: 30%">
40
+					</div>
41
+				</div>
42
+			</div>
43
+			<div class="tsgjz-right">护照办理<span class="danger">1785</span></div>
44
+		</li>
45
+		<li class="clearfix">
46
+			<div class="tsgjz-left">
47
+				<div class="progress">
48
+					<div class="progress-bar progress-bar-info" style="width: 40%">
49
+					</div>
50
+				</div>
51
+			</div>
52
+			<div class="tsgjz-right">护照办理<span class="info">1785</span></div>
53
+		</li>
54
+		<li class="clearfix">
55
+			<div class="tsgjz-left">
56
+				<div class="progress">
57
+					<div class="progress-bar progress-bar-zise" style="width: 50%">
58
+					</div>
59
+				</div>
60
+			</div>
61
+			<div class="tsgjz-right">护照办理<span class="zise">1785</span></div>
62
+		</li>
63
+		<li class="clearfix">
64
+			<div class="tsgjz-left">
65
+				<div class="progress">
66
+					<div class="progress-bar progress-bar-cheng" style="width: 60%">
67
+					</div>
68
+				</div>
69
+			</div>
70
+			<div class="tsgjz-right">护照办理<span class="cheng">1785</span></div>
71
+		</li>
72
+		<li class="clearfix">
73
+			<div class="tsgjz-left">
74
+				<div class="progress">
75
+					<div class="progress-bar progress-bar-fen" style="width: 70%">
76
+					</div>
77
+				</div>
78
+			</div>
79
+			<div class="tsgjz-right">护照办理<span class="fen">1785</span></div>
80
+		</li>
81
+		<li class="clearfix">
82
+			<div class="tsgjz-left">
83
+				<div class="progress">
84
+					<div class="progress-bar progress-bar-dousha " style="width: 80%">
85
+					</div>
86
+				</div>
87
+			</div>
88
+			<div class="tsgjz-right">护照办理<span class="dousha">1785</span></div>
89
+		</li>
90
+		<li class="clearfix">
91
+			<div class="tsgjz-left">
92
+				<div class="progress">
93
+					<div class="progress-bar progress-bar-qing "  style="width: 90%">
94
+					</div>
95
+				</div>
96
+			</div>
97
+			<div class="tsgjz-right">护照办理<span class="qing">1785</span></div>
98
+		</li>
99
+		<li class="clearfix">
100
+			<div class="tsgjz-left">
101
+				<div class="progress">
102
+					<div class="progress-bar progress-bar-bohe" style="width: 100%">
103
+					</div>
104
+				</div>
105
+			</div>
106
+			<div class="tsgjz-right">护照办理<span class="bohe">1785</span></div>
107
+		</li>
108
+	</ul>
109
+</div>
110
+<div class="tsjb-br">
111
+			<div class="biao-title">举报关键字统计</div>
112
+	<ul>
113
+		<li class="clearfix">
114
+			<div class="tsgjz-left">
115
+				<div class="progress">
116
+					<div class="progress-bar progress-bar-success " style="width: 10%">
117
+					</div>
118
+				</div>
119
+			</div>
120
+			<div class="tsgjz-right">不作为<span class="success">1785</span></div>
121
+		</li>
122
+		<li class="clearfix">
123
+			<div class="tsgjz-left">
124
+				<div class="progress">
125
+					<div class="progress-bar progress-bar-warning " style="width: 20%">
126
+					</div>
127
+				</div>
128
+			</div>
129
+			<div class="tsgjz-right">服务态度<span class="warning">1785</span></div>
130
+		</li>
131
+		<li class="clearfix">
132
+			<div class="tsgjz-left">
133
+				<div class="progress">
134
+					<div class="progress-bar progress-bar-danger " style="width: 30%">
135
+					</div>
136
+				</div>
137
+			</div>
138
+			<div class="tsgjz-right">护照办理<span class="danger">1785</span></div>
139
+		</li>
140
+		<li class="clearfix">
141
+			<div class="tsgjz-left">
142
+				<div class="progress">
143
+					<div class="progress-bar progress-bar-info" style="width: 40%">
144
+					</div>
145
+				</div>
146
+			</div>
147
+			<div class="tsgjz-right">护照办理<span class="info">1785</span></div>
148
+		</li>
149
+		<li class="clearfix">
150
+			<div class="tsgjz-left">
151
+				<div class="progress">
152
+					<div class="progress-bar progress-bar-zise" style="width: 50%">
153
+					</div>
154
+				</div>
155
+			</div>
156
+			<div class="tsgjz-right">护照办理<span class="zise">1785</span></div>
157
+		</li>
158
+		<li class="clearfix">
159
+			<div class="tsgjz-left">
160
+				<div class="progress">
161
+					<div class="progress-bar progress-bar-cheng" style="width: 60%">
162
+					</div>
163
+				</div>
164
+			</div>
165
+			<div class="tsgjz-right">护照办理<span class="cheng">1785</span></div>
166
+		</li>
167
+		<li class="clearfix">
168
+			<div class="tsgjz-left">
169
+				<div class="progress">
170
+					<div class="progress-bar progress-bar-fen" style="width: 70%">
171
+					</div>
172
+				</div>
173
+			</div>
174
+			<div class="tsgjz-right">护照办理<span class="fen">1785</span></div>
175
+		</li>
176
+		<li class="clearfix">
177
+			<div class="tsgjz-left">
178
+				<div class="progress">
179
+					<div class="progress-bar progress-bar-dousha " style="width: 80%">
180
+					</div>
181
+				</div>
182
+			</div>
183
+			<div class="tsgjz-right">护照办理<span class="dousha">1785</span></div>
184
+		</li>
185
+		<li class="clearfix">
186
+			<div class="tsgjz-left">
187
+				<div class="progress">
188
+					<div class="progress-bar progress-bar-qing "  style="width: 90%">
189
+					</div>
190
+				</div>
191
+			</div>
192
+			<div class="tsgjz-right">护照办理<span class="qing">1785</span></div>
193
+		</li>
194
+		<li class="clearfix">
195
+			<div class="tsgjz-left">
196
+				<div class="progress">
197
+					<div class="progress-bar progress-bar-bohe" style="width: 100%">
198
+					</div>
199
+				</div>
200
+			</div>
201
+			<div class="tsgjz-right">护照办理<span class="bohe">1785</span></div>
202
+		</li>
203
+	</ul>
204
+			
205
+</div>
206
+</div>
207
+	
208
+</div>

+ 200 - 0
html/zhongxin.html

@@ -0,0 +1,200 @@
1
+
2
+			
3
+					<div class="containers">
4
+						<div class="mb clearfix">
5
+							<div style="width: 39%; height: 400px;">
6
+								<ul class="gd-tbox clearfix">
7
+									<li class="gd-tit">工单类型各数量</li>
8
+									<li>系统电话量:<span>365</span></li>
9
+									<li>工单类型量:<span>300</span></li>
10
+								</ul>
11
+								<div class="gdmap clearfix">
12
+									
13
+									<div class="gdmap-l">
14
+										<ul>
15
+											<li>
16
+												<div>工单</div>
17
+												<span>700</span>
18
+											</li>
19
+											<li>
20
+												<div>工单</div>
21
+												<span>700</span>
22
+											</li>
23
+											<li>
24
+												<div>工单</div>
25
+												<span>700</span>
26
+											</li>
27
+											<li>
28
+												<div>工单</div>
29
+												<span>700</span>
30
+											</li>
31
+											<li>
32
+												<div>工单</div>
33
+												<span>700</span>
34
+											</li>
35
+										</ul>
36
+									</div>
37
+									<div class="gdmap-m">
38
+										<img src="../img/midmap_03.png" alt="" />
39
+									</div>
40
+									<div class="gdmap-r">
41
+										<ul>
42
+											<li><i class="xe-z"></i><span>舟山县</span><span>170</span></li>
43
+											<li><i class="xe-l"></i><span>舟山县</span><span>170</span></li>
44
+											<li><i class="xe-a"></i><span>舟山县</span><span>170</span></li>
45
+											<li><i class="xe-t"></i><span>舟山县</span><span>170</span></li>
46
+											<li><i class="xe-y"></i><span>舟山县</span><span>170</span></li>
47
+											<li><i class="xe-g"></i><span>舟山县</span><span>170</span></li>
48
+											<li><i class="xe-w"></i><span>舟山县</span><span>170</span></li>
49
+											<li><i class="xe-b"></i><span>舟山县</span><span>170</span></li>
50
+											<li><i class="xe-1"></i><span>舟山县</span><span>170</span></li>
51
+											<li><i class="xe-2"></i><span>舟山县</span><span>170</span></li>
52
+											<li><i class="xe-3"></i><span>舟山县</span><span>170</span></li>
53
+										</ul>
54
+									</div>
55
+								</div>
56
+							</div>
57
+							<div style="width: 35%;">
58
+								<div id="slhw" style="width:100%;height: 300px;"></div>
59
+								<div class="slqm">
60
+									<div class="sl_title">工单受理排名</div>
61
+									<div class="slqm_content">
62
+										<ul>
63
+											<li>
64
+												<span class="sl_b size-20">1</span>
65
+												<span class="sl_b max-width">市委市市委市市委市</span>
66
+												<span class="sl_blue">受理</span>
67
+												<span class="sl_red">30%</span>
68
+												<span class="sl_blue">占比</span>
69
+												<span class="sl_b">20%</span>
70
+											</li>
71
+											<li>
72
+												<span class="sl_b size-20">2</span>
73
+												<span class="sl_b max-width">公安局</span>
74
+												<span class="sl_blue">受理</span>
75
+												<span class="sl_red">50%</span>
76
+												<span class="sl_blue">占比</span>
77
+												<span class="sl_b">60%</span>
78
+
79
+											</li>
80
+											<li>
81
+												<span class="sl_b size-20">3</span>
82
+												<span class="sl_b max-width">民政局</span>
83
+												<span class="sl_blue">受理</span>
84
+												<span class="sl_red">40%</span>
85
+												<span class="sl_blue">占比</span>
86
+												<span class="sl_b">20%</span>
87
+											</li>
88
+											<li>
89
+												<span class="sl_b size-20">4</span>
90
+												<span class="sl_b max-width">财政局</span>
91
+												<span class="sl_blue">受理</span>
92
+												<span class="sl_red">25%</span>
93
+												<span class="sl_blue">占比</span>
94
+												<span class="sl_b">20%</span>
95
+											</li>
96
+											<li>
97
+												<span class="sl_b size-20">5</span>
98
+												<span class="sl_b max-width">税务局</span>
99
+												<span class="sl_blue">受理</span>
100
+												<span class="sl_red">30%</span>
101
+												<span class="sl_blue">占比</span>
102
+												<span class="sl_b">20%</span>
103
+											</li>
104
+										</ul>
105
+									</div>
106
+								</div>
107
+							</div>
108
+							<div class="tspm"style="width: 26%;">
109
+								<div class="sl_title">投诉/举报关键话题排名</div>
110
+								<div class="slqm_content">
111
+									<ul>
112
+										<li>
113
+											<span class="sl_b size-20">1</span>
114
+											<span class="sl_b max-width">市委市市委市市委市</span>
115
+											<span class="sl_blue">受理</span>
116
+											<span class="sl_red " >30%</span>
117
+											<span class="sl_blue " >占比</span>
118
+											<span class="sl_b " >20%</span>
119
+											<div class="progress ">
120
+												<div class="progress-bar progress-bar-info " role="progressbar "aria-valuenow="60 " aria-valuemin="0 " aria-valuemax="100 "style="width: 30%; "></div>
121
+											</div>
122
+										</li>
123
+												<li>
124
+													<span class="sl_b size-20 ">2</span>
125
+													<span class="sl_b max-width ">公安局</span>
126
+													<span class="sl_blue ">受理</span>
127
+													<span class="sl_red ">50%</span>
128
+													<span class="sl_blue ">占比</span>
129
+													<span class="sl_b ">60%</span>
130
+													<div class="progress ">
131
+													    <div class="progress-bar progress-bar-info " role="progressbar "
132
+													         aria-valuenow="60 " aria-valuemin="0 " aria-valuemax="100 "
133
+													         style="width: 80%; ">
134
+													    </div>
135
+													</div>
136
+												</li>
137
+												<li>
138
+													<span class="sl_b size-20 ">3</span>
139
+													<span class="sl_b max-width ">民政局</span>
140
+													<span class="sl_blue ">受理</span>
141
+													<span class="sl_red ">40%</span>
142
+													<span class="sl_blue ">占比</span>
143
+													<span class="sl_b ">20%</span>
144
+													<div class="progress ">
145
+													    <div class="progress-bar progress-bar-info " role="progressbar "
146
+													         aria-valuenow="60 " aria-valuemin="0 " aria-valuemax="100 "
147
+													         style="width: 60%; ">
148
+													    </div>
149
+													</div>
150
+												</li>
151
+												<li>
152
+													<span class="sl_b size-20 ">4</span>
153
+													<span class="sl_b max-width ">财政局</span>
154
+													<span class="sl_blue ">受理</span>
155
+													<span class="sl_red ">25%</span>
156
+													<span class="sl_blue ">占比</span>
157
+													<span class="sl_b ">20%</span>
158
+													<div class="progress ">
159
+													    <div class="progress-bar progress-bar-info " role="progressbar "
160
+													         aria-valuenow="60 " aria-valuemin="0 " aria-valuemax="100 "
161
+													         style="width: 70%; ">
162
+													    </div>
163
+													</div>
164
+												</li>
165
+												<li>
166
+													<span class="sl_b size-20 ">5</span>
167
+													<span class="sl_b max-width ">税务局</span>
168
+													<span class="sl_blue ">受理</span>
169
+													<span class="sl_red ">30%</span>
170
+													<span class="sl_blue ">占比</span>
171
+													<span class="sl_b ">20%</span>
172
+													<div class="progress ">
173
+													    <div class="progress-bar progress-bar-info " role="progressbar "
174
+													         aria-valuenow="60 " aria-valuemin="0 " aria-valuemax="100 "
175
+													         style="width: 60%; ">
176
+													       
177
+													    </div>
178
+													</div>
179
+												</li>
180
+											</ul>
181
+								</div>
182
+							</div>
183
+						</div>
184
+						
185
+						
186
+						
187
+						<div class="conb clearfix">
188
+							<div >
189
+								<div id="th_num" style="height: 400px;" ></div>
190
+							</div>
191
+							<div>
192
+								<div id="jtv_num"  style="height: 400px;" ></div>
193
+							</div>
194
+							<div>
195
+								<div id="th_nums"  style="height: 400px;" ></div>
196
+							</div>
197
+						</div>
198
+					</div>
199
+		
200
+


BIN
img/circle_03.png


BIN
img/midmap_03.png


Разница между файлами не показана из-за своего большого размера
+ 26180 - 0
js/chajs/angular-1.3.9.js


Разница между файлами не показана из-за своего большого размера
+ 318 - 0
js/chajs/angular-1.5.8.js


Разница между файлами не показана из-за своего большого размера
+ 4139 - 0
js/chajs/angular-animate.js


Разница между файлами не показана из-за своего большого размера
+ 8 - 0
js/chajs/angular-ui-router.min.js


+ 44 - 0
js/chajs/angular.radialIndicator.js

@@ -0,0 +1,44 @@
1
+
2
+
3
+/* Angular hook for radialIndicator */
4
+;
5
+(function (angular) {
6
+    angular.module('radialIndicator', []).directive('radialIndicator', ['radialIndicatorInstance',
7
+
8
+    function (radialIndicatorInstance) {
9
+            return {
10
+                restrict: 'A',
11
+                link: function (scope, element, attrs) {
12
+                    var element = element,
13
+                        id = attrs.radialIndicatorId,
14
+                        options = scope.$eval(attrs.radialIndicator),
15
+                        model = attrs.radialIndicatorModel;
16
+
17
+                    var indInstance = radialIndicator(element, options);
18
+
19
+                    //store indicator instance on radialIndicatorConfig so can get through dependency injection
20
+                    if (id) radialIndicatorInstance[id] = indInstance;
21
+
22
+                    //watch for modal change
23
+                    scope.$watch(model, function (newValue) {
24
+                        indInstance.value(newValue);
25
+                    });
26
+
27
+                    //delete the idnicator instance when scope dies
28
+                    scope.$on('$destroy', function () {
29
+                        if (id) delete radialIndicatorInstance[id];
30
+                    });
31
+
32
+                }
33
+            }
34
+    }])
35
+    //a factory to store radial indicators instances which can be injected to controllers or directive to get any indicators instance
36
+    .factory('radialIndicatorInstance', function () {
37
+        if (!window.radialIndicator) throw "Please include radialIndicator.js";
38
+
39
+        var radialIndicatorInstance = {};
40
+
41
+        return radialIndicatorInstance;
42
+
43
+    });
44
+}(angular));

Разница между файлами не показана из-за своего большого размера
+ 37 - 0
js/chajs/echarts.min.js


+ 326 - 0
js/chajs/gray.js

@@ -0,0 +1,326 @@
1
+/**
2
+ * @license Highcharts JS v5.0.10 (2017-03-31)
3
+ *
4
+ * (c) 2009-2017 Torstein Honsi
5
+ *
6
+ * License: www.highcharts.com/license
7
+ */
8
+'use strict';
9
+(function(factory) {
10
+    if (typeof module === 'object' && module.exports) {
11
+        module.exports = factory;
12
+    } else {
13
+        factory(Highcharts);
14
+    }
15
+}(function(Highcharts) {
16
+    (function(Highcharts) {
17
+        /**
18
+         * (c) 2010-2017 Torstein Honsi
19
+         *
20
+         * License: www.highcharts.com/license
21
+         * 
22
+         * Gray theme for Highcharts JS
23
+         * @author Torstein Honsi
24
+         */
25
+
26
+        Highcharts.theme = {
27
+            colors: ['#DDDF0D', '#7798BF', '#55BF3B', '#DF5353', '#aaeeee', '#ff0066', '#eeaaee',
28
+                '#55BF3B', '#DF5353', '#7798BF', '#aaeeee'
29
+            ],
30
+            chart: {
31
+                backgroundColor: {
32
+                    linearGradient: {
33
+                        x1: 0,
34
+                        y1: 0,
35
+                        x2: 0,
36
+                        y2: 1
37
+                    },
38
+                    stops: [
39
+                        [0, 'rgb(96, 96, 96)'],
40
+                        [1, 'rgb(16, 16, 16)']
41
+                    ]
42
+                },
43
+                borderWidth: 0,
44
+                borderRadius: 0,
45
+                plotBackgroundColor: null,
46
+                plotShadow: false,
47
+                plotBorderWidth: 0
48
+            },
49
+            title: {
50
+                style: {
51
+                    color: '#FFF',
52
+                    font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif'
53
+                }
54
+            },
55
+            subtitle: {
56
+                style: {
57
+                    color: '#DDD',
58
+                    font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif'
59
+                }
60
+            },
61
+            xAxis: {
62
+                gridLineWidth: 0,
63
+                lineColor: '#999',
64
+                tickColor: '#999',
65
+                labels: {
66
+                    style: {
67
+                        color: '#999',
68
+                        fontWeight: 'bold'
69
+                    }
70
+                },
71
+                title: {
72
+                    style: {
73
+                        color: '#AAA',
74
+                        font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif'
75
+                    }
76
+                }
77
+            },
78
+            yAxis: {
79
+                alternateGridColor: null,
80
+                minorTickInterval: null,
81
+                gridLineColor: 'rgba(255, 255, 255, .1)',
82
+                minorGridLineColor: 'rgba(255,255,255,0.07)',
83
+                lineWidth: 0,
84
+                tickWidth: 0,
85
+                labels: {
86
+                    style: {
87
+                        color: '#999',
88
+                        fontWeight: 'bold'
89
+                    }
90
+                },
91
+                title: {
92
+                    style: {
93
+                        color: '#AAA',
94
+                        font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif'
95
+                    }
96
+                }
97
+            },
98
+            legend: {
99
+                itemStyle: {
100
+                    color: '#CCC'
101
+                },
102
+                itemHoverStyle: {
103
+                    color: '#FFF'
104
+                },
105
+                itemHiddenStyle: {
106
+                    color: '#333'
107
+                }
108
+            },
109
+            labels: {
110
+                style: {
111
+                    color: '#CCC'
112
+                }
113
+            },
114
+            tooltip: {
115
+                backgroundColor: {
116
+                    linearGradient: {
117
+                        x1: 0,
118
+                        y1: 0,
119
+                        x2: 0,
120
+                        y2: 1
121
+                    },
122
+                    stops: [
123
+                        [0, 'rgba(96, 96, 96, .8)'],
124
+                        [1, 'rgba(16, 16, 16, .8)']
125
+                    ]
126
+                },
127
+                borderWidth: 0,
128
+                style: {
129
+                    color: '#FFF'
130
+                }
131
+            },
132
+
133
+
134
+            plotOptions: {
135
+                series: {
136
+                    nullColor: '#444444'
137
+                },
138
+                line: {
139
+                    dataLabels: {
140
+                        color: '#CCC'
141
+                    },
142
+                    marker: {
143
+                        lineColor: '#333'
144
+                    }
145
+                },
146
+                spline: {
147
+                    marker: {
148
+                        lineColor: '#333'
149
+                    }
150
+                },
151
+                scatter: {
152
+                    marker: {
153
+                        lineColor: '#333'
154
+                    }
155
+                },
156
+                candlestick: {
157
+                    lineColor: 'white'
158
+                }
159
+            },
160
+
161
+            toolbar: {
162
+                itemStyle: {
163
+                    color: '#CCC'
164
+                }
165
+            },
166
+
167
+            navigation: {
168
+                buttonOptions: {
169
+                    symbolStroke: '#DDDDDD',
170
+                    hoverSymbolStroke: '#FFFFFF',
171
+                    theme: {
172
+                        fill: {
173
+                            linearGradient: {
174
+                                x1: 0,
175
+                                y1: 0,
176
+                                x2: 0,
177
+                                y2: 1
178
+                            },
179
+                            stops: [
180
+                                [0.4, '#606060'],
181
+                                [0.6, '#333333']
182
+                            ]
183
+                        },
184
+                        stroke: '#000000'
185
+                    }
186
+                }
187
+            },
188
+
189
+            // scroll charts
190
+            rangeSelector: {
191
+                buttonTheme: {
192
+                    fill: {
193
+                        linearGradient: {
194
+                            x1: 0,
195
+                            y1: 0,
196
+                            x2: 0,
197
+                            y2: 1
198
+                        },
199
+                        stops: [
200
+                            [0.4, '#888'],
201
+                            [0.6, '#555']
202
+                        ]
203
+                    },
204
+                    stroke: '#000000',
205
+                    style: {
206
+                        color: '#CCC',
207
+                        fontWeight: 'bold'
208
+                    },
209
+                    states: {
210
+                        hover: {
211
+                            fill: {
212
+                                linearGradient: {
213
+                                    x1: 0,
214
+                                    y1: 0,
215
+                                    x2: 0,
216
+                                    y2: 1
217
+                                },
218
+                                stops: [
219
+                                    [0.4, '#BBB'],
220
+                                    [0.6, '#888']
221
+                                ]
222
+                            },
223
+                            stroke: '#000000',
224
+                            style: {
225
+                                color: 'white'
226
+                            }
227
+                        },
228
+                        select: {
229
+                            fill: {
230
+                                linearGradient: {
231
+                                    x1: 0,
232
+                                    y1: 0,
233
+                                    x2: 0,
234
+                                    y2: 1
235
+                                },
236
+                                stops: [
237
+                                    [0.1, '#000'],
238
+                                    [0.3, '#333']
239
+                                ]
240
+                            },
241
+                            stroke: '#000000',
242
+                            style: {
243
+                                color: 'yellow'
244
+                            }
245
+                        }
246
+                    }
247
+                },
248
+                inputStyle: {
249
+                    backgroundColor: '#333',
250
+                    color: 'silver'
251
+                },
252
+                labelStyle: {
253
+                    color: 'silver'
254
+                }
255
+            },
256
+
257
+            navigator: {
258
+                handles: {
259
+                    backgroundColor: '#666',
260
+                    borderColor: '#AAA'
261
+                },
262
+                outlineColor: '#CCC',
263
+                maskFill: 'rgba(16, 16, 16, 0.5)',
264
+                series: {
265
+                    color: '#7798BF',
266
+                    lineColor: '#A6C7ED'
267
+                }
268
+            },
269
+
270
+            scrollbar: {
271
+                barBackgroundColor: {
272
+                    linearGradient: {
273
+                        x1: 0,
274
+                        y1: 0,
275
+                        x2: 0,
276
+                        y2: 1
277
+                    },
278
+                    stops: [
279
+                        [0.4, '#888'],
280
+                        [0.6, '#555']
281
+                    ]
282
+                },
283
+                barBorderColor: '#CCC',
284
+                buttonArrowColor: '#CCC',
285
+                buttonBackgroundColor: {
286
+                    linearGradient: {
287
+                        x1: 0,
288
+                        y1: 0,
289
+                        x2: 0,
290
+                        y2: 1
291
+                    },
292
+                    stops: [
293
+                        [0.4, '#888'],
294
+                        [0.6, '#555']
295
+                    ]
296
+                },
297
+                buttonBorderColor: '#CCC',
298
+                rifleColor: '#FFF',
299
+                trackBackgroundColor: {
300
+                    linearGradient: {
301
+                        x1: 0,
302
+                        y1: 0,
303
+                        x2: 0,
304
+                        y2: 1
305
+                    },
306
+                    stops: [
307
+                        [0, '#000'],
308
+                        [1, '#333']
309
+                    ]
310
+                },
311
+                trackBorderColor: '#666'
312
+            },
313
+
314
+            // special colors for some of the demo examples
315
+            legendBackgroundColor: 'rgba(48, 48, 48, 0.8)',
316
+            background2: 'rgb(70, 70, 70)',
317
+            dataLabelsColor: '#444',
318
+            textColor: '#E0E0E0',
319
+            maskColor: 'rgba(255,255,255,0.3)'
320
+        };
321
+
322
+        // Apply the theme
323
+        Highcharts.setOptions(Highcharts.theme);
324
+
325
+    }(Highcharts));
326
+}));

Разница между файлами не показана из-за своего большого размера
+ 5869 - 0
js/chajs/highcharts.js


Разница между файлами не показана из-за своего большого размера
+ 4 - 0
js/chajs/jquery.min.js


+ 313 - 0
js/chajs/radialIndicator.js

@@ -0,0 +1,313 @@
1
+/*
2
+    radialIndicator.js v 1.0.0
3
+    Author: Sudhanshu Yadav
4
+    Copyright (c) 2015 Sudhanshu Yadav - ignitersworld.com , released under the MIT license.
5
+    Demo on: ignitersworld.com/lab/radialIndicator.html
6
+*/
7
+
8
+;(function ($, window, document) {
9
+    "use strict";
10
+    //circumfence and quart value to start bar from top
11
+    var circ = Math.PI * 2,
12
+        quart = Math.PI / 2;
13
+
14
+    //function to convert hex to rgb
15
+
16
+    function hexToRgb(hex) {
17
+        // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
18
+        var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
19
+        hex = hex.replace(shorthandRegex, function (m, r, g, b) {
20
+            return r + r + g + g + b + b;
21
+        });
22
+
23
+        var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
24
+        return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : null;
25
+    }
26
+
27
+    function getPropVal(curShift, perShift, bottomRange, topRange) {
28
+        return Math.round(bottomRange + ((topRange - bottomRange) * curShift / perShift));
29
+    }
30
+
31
+
32
+    //function to get current color in case of 
33
+    function getCurrentColor(curPer, bottomVal, topVal, bottomColor, topColor) {
34
+        var rgbAryTop = topColor.indexOf('#') != -1 ? hexToRgb(topColor) : topColor.match(/\d+/g),
35
+            rgbAryBottom = bottomColor.indexOf('#') != -1 ? hexToRgb(bottomColor) : bottomColor.match(/\d+/g),
36
+            perShift = topVal - bottomVal,
37
+            curShift = curPer - bottomVal;
38
+
39
+        if (!rgbAryTop || !rgbAryBottom) return null;
40
+
41
+        return 'rgb(' + getPropVal(curShift, perShift, rgbAryBottom[0], rgbAryTop[0]) + ',' + getPropVal(curShift, perShift, rgbAryBottom[1], rgbAryTop[1]) + ',' + getPropVal(curShift, perShift, rgbAryBottom[2], rgbAryTop[2]) + ')';
42
+    }
43
+
44
+    //to merge object
45
+    function merge() {
46
+        var arg = arguments,
47
+            target = arg[0];
48
+        for (var i = 1, ln = arg.length; i < ln; i++) {
49
+            var obj = arg[i];
50
+            for (var k in obj) {
51
+                if (obj.hasOwnProperty(k)) {
52
+                    target[k] = obj[k];
53
+                }
54
+            }
55
+        }
56
+        return target;
57
+    }
58
+
59
+    //function to apply formatting on number depending on parameter
60
+    function formatter(pattern) {
61
+        return function (num) {
62
+            if(!pattern) return num.toString();
63
+            num = num || 0
64
+            var numRev = num.toString().split('').reverse(),
65
+                output = pattern.split("").reverse(),
66
+                i = 0,
67
+                lastHashReplaced = 0;
68
+
69
+            //changes hash with numbers
70
+            for (var ln = output.length; i < ln; i++) {
71
+                if (!numRev.length) break;
72
+                if (output[i] == "#") {
73
+                    lastHashReplaced = i;
74
+                    output[i] = numRev.shift();
75
+                }
76
+            }
77
+
78
+            //add overflowing numbers before prefix
79
+            output.splice(lastHashReplaced+1, output.lastIndexOf('#') - lastHashReplaced, numRev.reverse().join(""));
80
+
81
+            return output.reverse().join('');
82
+        }
83
+    }
84
+
85
+
86
+    //circle bar class
87
+    function Indicator(container, indOption) {
88
+        indOption = indOption || {};
89
+        indOption = merge({}, radialIndicator.defaults, indOption);
90
+
91
+        this.indOption = indOption;
92
+
93
+        //create a queryselector if a selector string is passed in container
94
+        if (typeof container == "string")
95
+            container = document.querySelector(container);
96
+
97
+        //get the first element if container is a node list
98
+        if (container.length)
99
+            container = container[0];
100
+
101
+        this.container = container;
102
+
103
+        //create a canvas element
104
+        var canElm = document.createElement("canvas");
105
+        container.appendChild(canElm);
106
+
107
+        this.canElm = canElm; // dom object where drawing will happen
108
+
109
+        this.ctx = canElm.getContext('2d'); //get 2d canvas context
110
+
111
+        //add intial value 
112
+        this.current_value = indOption.initValue || indOption.minValue || 0;
113
+
114
+    }
115
+
116
+
117
+    Indicator.prototype = {
118
+        constructor: radialIndicator,
119
+        init: function () {
120
+            var indOption = this.indOption,
121
+                canElm = this.canElm,
122
+                ctx = this.ctx,
123
+                dim = (indOption.radius + indOption.barWidth) * 2, //elm width and height
124
+                center = dim / 2; //center point in both x and y axis
125
+
126
+
127
+            //create a formatter function
128
+            this.formatter = typeof indOption.format == "function" ? indOption.format : formatter(indOption.format);
129
+
130
+            //maximum text length;
131
+            this.maxLength = indOption.percentage ? 4 : this.formatter(indOption.maxValue).length;
132
+
133
+            canElm.width = dim;
134
+            canElm.height = dim;
135
+
136
+            //draw a grey circle
137
+            ctx.strokeStyle = indOption.barBgColor; //background circle color
138
+            ctx.lineWidth = indOption.barWidth;
139
+            ctx.beginPath();
140
+            ctx.arc(center, center, indOption.radius, 0, 2 * Math.PI);
141
+            ctx.stroke();
142
+
143
+            //store the image data after grey circle draw
144
+            this.imgData = ctx.getImageData(0, 0, dim, dim);
145
+
146
+            //put the initial value if defined
147
+            this.value(this.current_value);
148
+
149
+            return this;
150
+        },
151
+        //update the value of indicator without animation
152
+        value: function (val) {
153
+            //return the val if val is not provided
154
+            if (val === undefined || isNaN(val)) {
155
+                return this.current_value;
156
+            }
157
+
158
+            val = parseInt(val);
159
+            
160
+            var ctx = this.ctx,
161
+                indOption = this.indOption,
162
+                curColor = indOption.barColor,
163
+                dim = (indOption.radius + indOption.barWidth) * 2,
164
+                minVal = indOption.minValue,
165
+                maxVal = indOption.maxValue,
166
+                center = dim / 2;
167
+
168
+            //limit the val in range of 0 to 100
169
+            val = val < minVal ? minVal : val > maxVal ? maxVal : val;
170
+
171
+            var perVal = Math.round(((val - minVal) * 100 / (maxVal - minVal)) * 100) / 100, //percentage value tp two decimal precision
172
+                dispVal = indOption.percentage ? perVal + '%' : this.formatter(val); //formatted value
173
+
174
+            //save val on object
175
+            this.current_value = val;
176
+
177
+
178
+            //draw the bg circle
179
+            ctx.putImageData(this.imgData, 0, 0);
180
+
181
+            //get current color if color range is set
182
+            if (typeof curColor == "object") {
183
+                var range = Object.keys(curColor);
184
+
185
+                for (var i = 1, ln = range.length; i < ln; i++) {
186
+                    var bottomVal = range[i - 1],
187
+                        topVal = range[i],
188
+                        bottomColor = curColor[bottomVal],
189
+                        topColor = curColor[topVal],
190
+                        newColor = val == bottomVal ? bottomColor : val == topVal ? topColor : val > bottomVal && val < topVal ? indOption.interpolate ? getCurrentColor(val, bottomVal, topVal, bottomColor, topColor) : topColor : false;
191
+
192
+                    if (newColor != false) {
193
+                        curColor = newColor;
194
+                        break;
195
+                    }
196
+                }
197
+            }
198
+
199
+            //draw th circle value
200
+            ctx.strokeStyle = curColor;
201
+
202
+            //add linecap if value setted on options
203
+            if (indOption.roundCorner) ctx.lineCap = "round";
204
+
205
+            ctx.beginPath();
206
+            ctx.arc(center, center, indOption.radius, -(quart), ((circ) * perVal / 100) - quart, false);
207
+            ctx.stroke();
208
+
209
+            //add percentage text
210
+            if (indOption.displayNumber) {
211
+                var cFont = ctx.font.split(' '),
212
+                    weight = indOption.fontWeight,
213
+                    fontSize = indOption.fontSize || (dim / (this.maxLength - (Math.floor(this.maxLength*1.4/4)-1)));
214
+
215
+                cFont = indOption.fontFamily || cFont[cFont.length - 1];
216
+
217
+
218
+                ctx.fillStyle = indOption.fontColor || curColor;
219
+                ctx.font = weight +" "+ fontSize + "px " + cFont;
220
+                ctx.textAlign = "center";
221
+                ctx.textBaseline = 'middle';
222
+                ctx.fillText(dispVal, center, center);
223
+            }
224
+
225
+            return this;
226
+        },
227
+        //animate progressbar to the value
228
+        animate: function (val) {
229
+
230
+            var indOption = this.indOption,
231
+                counter = this.current_value || indOption.minValue,
232
+                self = this,
233
+                incBy = Math.ceil((indOption.maxValue - indOption.minValue) / (indOption.frameNum || (indOption.percentage ? 100 : 500))), //increment by .2% on every tick and 1% if showing as percentage
234
+                back = val < counter;
235
+
236
+            //clear interval function if already started
237
+            if (this.intvFunc) clearInterval(this.intvFunc); 
238
+
239
+            this.intvFunc = setInterval(function () {
240
+
241
+                if ((!back && counter >= val) || (back && counter <= val)) {
242
+                    if (self.current_value == counter) {
243
+                        clearInterval(self.intvFunc);
244
+                        return;
245
+                    } else {
246
+                        counter = val;
247
+                    }
248
+                }
249
+
250
+                self.value(counter); //dispaly the value
251
+
252
+                if (counter != val) {
253
+                    counter = counter + (back ? -incBy : incBy)
254
+                }; //increment or decrement till counter does not reach  to value
255
+            }, indOption.frameTime);
256
+
257
+            return this;
258
+        },
259
+        //method to update options
260
+        option: function (key, val) {
261
+            if (val === undefined) return this.option[key];
262
+
263
+            if (['radius', 'barWidth', 'barBgColor', 'format', 'maxValue', 'percentage'].indexOf(key) != -1) {
264
+                this.indOption[key] = val;
265
+                this.init().value(this.current_value);
266
+            }
267
+            this.indOption[key] = val;
268
+        }
269
+
270
+    };
271
+
272
+    /** Initializer function **/
273
+    function radialIndicator(container, options) {
274
+        var progObj = new Indicator(container, options);
275
+        progObj.init();
276
+        return progObj;
277
+    }
278
+
279
+    //radial indicator defaults
280
+    radialIndicator.defaults = {
281
+        radius: 50, //inner radius of indicator
282
+        barWidth: 5, //bar width
283
+        barBgColor: '#eeeeee', //unfilled bar color
284
+        barColor: '#99CC33', //filled bar color , can be a range also having different colors on different value like {0 : "#ccc", 50 : '#333', 100: '#000'}
285
+        format: null, //format indicator numbers, can be a # formator ex (##,###.##) or a function
286
+        frameTime: 10, //miliseconds to move from one frame to another
287
+        frameNum: null, //Defines numbers of frame in indicator, defaults to 100 when showing percentage and 500 for other values
288
+        fontColor: null, //font color
289
+        fontFamily: null, //defines font family
290
+        fontWeight: 'bold', //defines font weight
291
+        fontSize : null, //define the font size of indicator number
292
+        interpolate: true, //interpolate color between ranges
293
+        percentage: false, //show percentage of value
294
+        displayNumber: true, //display indicator number
295
+        roundCorner: false, //have round corner in filled bar
296
+        minValue: 0, //minimum value
297
+        maxValue: 100, //maximum value
298
+        initValue: 0 //define initial value of indicator
299
+    };
300
+    
301
+    window.radialIndicator = radialIndicator;
302
+
303
+    //add as a jquery plugin
304
+    if ($) {
305
+        $.fn.radialIndicator = function (options) {
306
+            return this.each(function () {
307
+                var newPCObj = radialIndicator(this, options);
308
+                $.data(this, 'radialIndicator', newPCObj);
309
+            });
310
+        };
311
+    }
312
+
313
+}(window.jQuery, window, document, void 0));

+ 157 - 0
js/fuwuzhishi.js

@@ -0,0 +1,157 @@
1
+angular.module('fuwuzhishi', [])
2
+	.controller('fuwuzhishiCorl', ['$scope', '$http', function($scope, $http) {
3
+
4
+		var myChart = echarts.init(document.getElementById('fdcl'));
5
+		option = {
6
+			title: {
7
+				text: '工单处理时间统计和分布',
8
+				x: 'center',
9
+				textStyle: {
10
+					color: '#73a2fa',
11
+					fontSize: 16
12
+				}
13
+			},
14
+			tooltip: {
15
+				trigger: 'item',
16
+				formatter: "{a} <br/>{b} : {c} ({d}%)"
17
+			},
18
+			legend: {
19
+				orient: 'vertical',
20
+				left: 'left',
21
+				top: 50,
22
+				inactiveColor: '#fff',
23
+				textStyle: {
24
+					color: '#fff',
25
+					//						fontSize: 16
26
+				},
27
+				data: ['知识库总数量', '通话总数量', '缺失总数量']
28
+			},
29
+
30
+			calculable: true,
31
+			series: [{
32
+				name: '占比',
33
+				type: 'pie',
34
+				selectedOffset: 5,
35
+				radius: [50, 150],
36
+				center: ['45%', '60%'],
37
+				roseType: 'radius',
38
+				label: {
39
+					normal: {
40
+						show: false
41
+					},
42
+					emphasis: {
43
+						show: true
44
+					}
45
+				},
46
+				lableLine: {
47
+					normal: {
48
+						show: false
49
+					},
50
+					emphasis: {
51
+						show: true
52
+					}
53
+				},
54
+				data: [{
55
+					value: 10,
56
+					name: '知识库总数量'
57
+				}, {
58
+					value: 5,
59
+					name: '通话总数量'
60
+				}, {
61
+					value: 15,
62
+					name: '缺失总数量'
63
+				}, ]
64
+			}],
65
+			color: ['#eed147', '#acc977', '#ba466b'],
66
+		};
67
+		myChart.setOption(option);
68
+		console.log(window.onresize);
69
+		window.onresize = function() {
70
+			myChart.resize();
71
+			myChart.setOption(option);
72
+		};
73
+		//图2
74
+		var myChart1 = echarts.init(document.getElementById('zs'));
75
+		option = {
76
+			title: {
77
+				text: '工单处理时间统计和分布',
78
+				x: 'center',
79
+				textStyle: {
80
+					color: '#73a2fa',
81
+					fontSize: 16
82
+				}
83
+			},
84
+			tooltip: {
85
+				trigger: 'axis',
86
+				axisPointer: {
87
+					type: 'shadow',
88
+					label: {
89
+						show: true,
90
+						backgroundColor: '#333'
91
+					}
92
+				}
93
+			},
94
+			legend: {
95
+				top: 30,
96
+				data: ['咨询量', '缺失量'],
97
+				textStyle: {
98
+					color: '#ccc'
99
+				}
100
+			},
101
+			xAxis: {
102
+				data: ['市林业局', '市国土局', '市环保局', '市法制办', '市地震局', '市科技局', '市民政局', '市审计局', '市地煤炭局', '市地煤炭局'],
103
+				axisLine: {
104
+					lineStyle: {
105
+						color: '#ccc'
106
+				
107
+					}
108
+				},
109
+				//文字旋转角度
110
+				axisLabel: {
111
+					interval: 0,
112
+					rotate: 40,
113
+					textStyle: {
114
+						color: '#fff',
115
+						fontSize: 12
116
+					}
117
+				}
118
+			},
119
+			yAxis: {
120
+				splitLine: { show: false },
121
+				axisLine: {
122
+					lineStyle: {
123
+						color: '#ccc'
124
+					}
125
+				}
126
+			},
127
+			series: [{
128
+				name: '咨询量',
129
+				type: 'line',
130
+				smooth: true,
131
+				showAllSymbol: true,
132
+				symbol: 'emptyCircle',
133
+				symbolSize: 15,
134
+				data: [10, 15, 40, 44, 30, 50, 80, 62, 55, 32]
135
+			}, {
136
+				name: '缺失量',
137
+				type: 'bar',
138
+				barWidth: 10,
139
+				itemStyle: {
140
+					normal: {
141
+						barBorderRadius: 5,
142
+						color: new echarts.graphic.LinearGradient(
143
+							0, 0, 0, 1, [
144
+								{ offset: 0, color: '#14c8d4' },
145
+								{ offset: 1, color: '#43eec6' }
146
+							]
147
+						)
148
+					}
149
+				},
150
+				data: [20, 33, 80, 14, 60, 42, 99, 22, 36, 19]
151
+			}]
152
+		};
153
+
154
+		myChart1.setOption(option);
155
+		window.onresize = myChart1.resize;
156
+
157
+	}]);

+ 183 - 0
js/huawu.js

@@ -0,0 +1,183 @@
1
+angular.module('huawu', [])
2
+	.controller('huawuCorl', function($scope, $http, $rootScope) {
3
+		$('#main').highcharts({
4
+			chart: {
5
+				type: 'column',
6
+				backgroundColor: '#100e11'
7
+			},
8
+			title: {
9
+				text: '坐席闲忙比例'
10
+			},
11
+			xAxis: {
12
+				categories: ['1','2','3','4','5','6','7','8','9','10','11',
13
+				'12','13','14','15','16','17','18','19','20','21','22','23','24'],				
14
+			
15
+				crosshair: true
16
+			},
17
+			yAxis: {
18
+				min: 0,
19
+				title: {
20
+					text: '人数',
21
+					rotation: 0,
22
+					y: -160,
23
+				}
24
+			},
25
+			credits: {
26
+				enabled: false
27
+			},
28
+			legend: {
29
+				align: 'right',
30
+				verticalAlign: 'top',
31
+				x: 0,
32
+				y: 50
33
+			},
34
+			tooltip: {
35
+				headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
36
+				pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
37
+					'<td style="padding:0"><b>{point.y:.1f}%</b></td></tr>',
38
+				footerFormat: '</table>',
39
+				shared: true,
40
+				useHTML: true
41
+			},
42
+			plotOptions: {
43
+				column: {
44
+					pointPadding: 0.2,
45
+					borderWidth: 0
46
+				}
47
+			},
48
+			series: [{
49
+				name: '在忙',
50
+				data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
51
+			}, {
52
+				name: '话务处理',
53
+				data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]
54
+			}, {
55
+				name: '闲置',
56
+				data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]
57
+			}]
58
+		});
59
+
60
+		$('#main1').highcharts({
61
+			chart: {
62
+				type: 'line',
63
+				backgroundColor: '#100e11'
64
+			},
65
+			title: {
66
+				text: '话务量实时数据统计'
67
+			},
68
+			legend: {
69
+				align: 'right',
70
+				verticalAlign: 'top',
71
+				x: 0,
72
+				y: 50
73
+			},
74
+			//LOGO 去掉
75
+			credits: {
76
+				enabled: false
77
+			},
78
+			xAxis: {
79
+				categories: [
80
+					'1',
81
+					'2',
82
+					'3',
83
+					'4',
84
+					'5',
85
+					'6',
86
+					'7',
87
+					'8',
88
+					'9',
89
+					'10',
90
+					'11',
91
+					'12',
92
+					'13',
93
+					'14',
94
+					'15',
95
+					'16',
96
+					'17',
97
+					'18',
98
+					'19',
99
+					'20',
100
+					'21',
101
+					'22',
102
+					'23',
103
+					'24',
104
+				],
105
+				title: {
106
+					text: '时间',
107
+					align: 'high',
108
+					rotation: 0,
109
+					y: -50
110
+				}
111
+			},
112
+			yAxis: {
113
+				title: {
114
+					text: '数量',
115
+					rotation: 0,
116
+					y: -160
117
+				}
118
+			},
119
+			plotOptions: {
120
+				line: {
121
+					dataLabels: {
122
+						enabled: true // 开启数据标签
123
+					},
124
+					enableMouseTracking: false // 关闭鼠标跟踪,对应的提示框、点击事件会失效
125
+				}
126
+			},
127
+			series: [{
128
+				name: '来话量',
129
+				data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
130
+			}, {
131
+				name: '通话量',
132
+				data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
133
+			}]
134
+		});
135
+
136
+//进度条
137
+$('#ld').radialIndicator({
138
+	radius: 40,
139
+	barBgColor: '#999',
140
+	barColor: 'rgb(221, 223, 13)',
141
+	barWidth: 8,
142
+	initValue: 40,
143
+	roundCorner: true
144
+	//      percentage: true
145
+})
146
+$('#jtl').radialIndicator({
147
+	radius: 40,
148
+	barBgColor: '#999',
149
+	barColor: 'rgb(85, 191, 59)',
150
+	barWidth: 8,
151
+	initValue: 40,
152
+	roundCorner: true
153
+	//    percentage: true
154
+})
155
+$('#jtv').radialIndicator({
156
+	radius: 40,
157
+	barBgColor: '#999',
158
+	barColor: 'rgb(247, 163, 92)',
159
+	barWidth: 5,
160
+	initValue: 100,
161
+	roundCorner: true,
162
+	percentage: true
163
+})
164
+$('#zxr').radialIndicator({
165
+	radius: 40,
166
+	barBgColor: '#999',
167
+	barColor: 'rgb(241, 92, 128)',
168
+	barWidth: 5,
169
+	initValue: 40,
170
+	roundCorner: true
171
+	//      percentage: true
172
+})
173
+$('#sc').radialIndicator({
174
+radius: 40,
175
+barBgColor: '#999',
176
+barColor: '#87CEEB',
177
+barWidth: 5,
178
+initValue: 40,
179
+roundCorner: true
180
+//      percentage: true
181
+})
182
+	});
183
+

+ 273 - 0
js/jiedanbumen.js

@@ -0,0 +1,273 @@
1
+angular.module('jiedanbumen',[])
2
+        .controller('jiedanbumenCorl',function($scope,$rootScope){
3
+        	//=================echarts====================
4
+         // 基于准备好的dom,初始化echarts实例
5
+        var jiedan = echarts.init(document.getElementById('jiedan1'));
6
+  option = {
7
+    tooltip: {
8
+        trigger: 'axis',
9
+        axisPointer: {
10
+            type: 'cross',
11
+            label: {
12
+                show: true,
13
+                backgroundColor: '#333'
14
+            }
15
+        }
16
+    },
17
+    legend: {
18
+        data: [ '受理工单数','反馈工单数','处理工单数','数量','其他数量'],
19
+        textStyle: {
20
+            color: '#ccc'
21
+        }
22
+    },
23
+    xAxis: {
24
+    	name:'月份',
25
+        data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
26
+        axisLine: {
27
+            lineStyle: {
28
+                color: '#ccc'
29
+            }
30
+        }
31
+    },
32
+    yAxis: {
33
+    	name:'数量',
34
+        min: 0,
35
+        max: 400,
36
+        interval: 50,
37
+        splitLine: {show: false},
38
+        axisLine: {
39
+            lineStyle: {
40
+                color: '#ccc'
41
+            }
42
+        }
43
+    },
44
+    series: [{
45
+        name: '其他数量',
46
+        type: 'line',
47
+        smooth: true,
48
+        showAllSymbol: true,
49
+        symbol: 'emptyCircle',
50
+        symbolSize: 15,
51
+       data:[100,120, 130, 140, 186, 218, 255, 318, 316, 284, 212, 190]
52
+    }, 
53
+    {
54
+        name: '受理数量',
55
+        type: 'line',
56
+        smooth: true,
57
+        showAllSymbol: true,
58
+        symbol: 'emptyCircle',
59
+        symbolSize: 15,
60
+       data:[50, 122, 128, 232, 240,300, 240, 322, 128, 122, 120, 112],
61
+         itemStyle: {
62
+            normal: {
63
+                color: 'green'
64
+            }
65
+        },
66
+    },
67
+    {
68
+        name: '受理工单数',
69
+        type: 'bar',
70
+        itemStyle: {
71
+            normal: {
72
+                barBorderRadius: 5,
73
+                color: new echarts.graphic.LinearGradient(
74
+                    0, 0, 0, 1,
75
+                    [
76
+                        {offset: 0, color: '#14c8d4'},
77
+                        {offset: 1, color: '#43eec6'}
78
+                    ]
79
+                )
80
+            }
81
+        },
82
+         data:[140, 142, 185, 186, 297, 100, 116, 230, 217, 216,215, 302]
83
+    }, {
84
+        name: '处理工单数',
85
+        type: 'bar',
86
+         itemStyle: {
87
+            normal: {
88
+                 barBorderRadius: 5,
89
+                color: new echarts.graphic.LinearGradient(
90
+                    0, 0, 0, 1,
91
+                    [
92
+                        {offset: 0, color: '#9df5ff'},
93
+                        {offset: 1, color: '#61dbe8'}
94
+                    ]
95
+                )
96
+            }
97
+        },
98
+     
99
+         data:[100, 122, 145, 147, 251, 155, 158, 155, 150, 147, 145, 242]
100
+    }, {
101
+        name: '反馈工单数',
102
+        type: 'bar',
103
+        // symbol: 'rect',
104
+       itemStyle: {
105
+            normal: {
106
+                barBorderRadius: 5,
107
+                color: new echarts.graphic.LinearGradient(
108
+                    0, 0, 0, 1,
109
+                    [
110
+                      {offset: 0, color: '#83bff6'},
111
+                            {offset: 0.5, color: '#188df0'},
112
+                            {offset: 1, color: '#188df0'}
113
+                    ]
114
+                )
115
+            }
116
+        },
117
+     
118
+        symbolRepeat: true,
119
+        symbolSize: [12, 4],
120
+        symbolMargin: 1,
121
+       
122
+         data:[160, 102, 120, 167, 70, 75, 78, 75, 70, 67, 65, 62]
123
+    }]
124
+};
125
+		
126
+ // 使用刚指定的配置项和数据显示图表。
127
+        jiedan.setOption(option);
128
+//=================echarts====================
129
+        
130
+        $('#dizhen').radialIndicator({
131
+                barColor: '#87d75f',
132
+                barWidth: 10,
133
+                initValue: 40,
134
+                roundCorner : true,
135
+                percentage: true
136
+            });
137
+             $('#fazhiban').radialIndicator({
138
+                barColor: '#e09740',
139
+                barWidth: 10,
140
+                initValue: 50,
141
+                roundCorner : true,
142
+                percentage: true
143
+            });
144
+
145
+   $('#huanbao').radialIndicator({
146
+                barColor: '#ffeb3b',
147
+                barWidth: 10,
148
+                initValue: 60,
149
+                roundCorner : true,
150
+                percentage: true
151
+            });
152
+
153
+   $('#guotu').radialIndicator({
154
+                barColor: '#2196f3',
155
+                barWidth: 10,
156
+                initValue: 70,
157
+                roundCorner : true,
158
+                percentage: true
159
+            });
160
+   $('#linye').radialIndicator({
161
+                barColor: '#9579de',
162
+                barWidth: 10,
163
+                initValue: 80,
164
+                roundCorner : true,
165
+                percentage: true
166
+            });
167
+
168
+   $('#meitan').radialIndicator({
169
+                barColor: '#ff5722',
170
+                barWidth: 10,
171
+                initValue: 90,
172
+                roundCorner : true,
173
+                percentage: true
174
+            });
175
+   $('#minzheng').radialIndicator({
176
+                barColor: '#ffc107',
177
+                barWidth: 10,
178
+                initValue: 100,
179
+                roundCorner : true,
180
+                percentage: true
181
+            });
182
+   $('#shenji').radialIndicator({
183
+                barColor: '#53e1f1',
184
+                barWidth: 10,
185
+                initValue: 30,
186
+                roundCorner : true,
187
+                percentage: true
188
+            });
189
+
190
+   $('#shangwu').radialIndicator({
191
+                barColor: '#c072e6',
192
+                barWidth: 10,
193
+                initValue: 20,
194
+                roundCorner : true,
195
+                percentage: true
196
+            });
197
+   $('#jiancha').radialIndicator({
198
+                barColor: '#cddc39',
199
+                barWidth: 10,
200
+                initValue: 10,
201
+                roundCorner : true,
202
+                percentage: true
203
+            });
204
+        
205
+        //heighchart插件
206
+        $('#timefb').highcharts({
207
+   			chart: {
208
+   				type: 'area',
209
+   				backgroundColor: '#100e11',
210
+   				color: '#fff'
211
+   			},
212
+   			title: {
213
+   				text: false
214
+   			},
215
+   			legend: {
216
+
217
+   				align: 'center',
218
+   				verticalAlign: 'top',
219
+   				y: 10,
220
+// 				backgroundColor: '#FCFFC5',
221
+   				style: {
222
+   					color: '#fff'
223
+
224
+   				}
225
+
226
+   			},
227
+   			//X轴属性
228
+   			xAxis: {
229
+   				categories: ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18'],
230
+   				//x轴坐标值
231
+   				labels: {
232
+   					style: {
233
+   						color: '#fff'
234
+   					}
235
+   				} 				
236
+   				
237
+   			},
238
+   			//Y轴属性
239
+   			yAxis: {
240
+   				title: {
241
+   					text: false
242
+   				},
243
+
244
+   				//y轴坐标值
245
+   				labels: {
246
+   					style: {
247
+   						color: '#fff'
248
+   					}
249
+   				},
250
+   				gridLineColor:'#100e11'
251
+   				   				
252
+   			},
253
+
254
+   			credits: {
255
+   				enabled: false
256
+   			},
257
+   			series: [{
258
+   						name: '受理工单数',
259
+   						data: [10, 15, 12, 7, 12, 15, 20, 25, 30, 15, 10],
260
+   						color: '#f57c56'
261
+   					}, {
262
+   						name: '处理工单数',
263
+   						data: [30, 32, 28, 25, 32, 35, 40, 60, 50, 30, 15],
264
+   						color: '#ffeb3b'
265
+   					}, {
266
+   						name: '反馈工单数',
267
+   						data: [110, 94, 64, 37, 42, 50, 88, 86, 71, 45,20],
268
+           				color:'#527de0'
269
+        }]
270
+   
271
+        })
272
+			
273
+    });

+ 188 - 0
js/laiyuanqudao.js

@@ -0,0 +1,188 @@
1
+angular.module('laiyuanqudao', ['radialIndicator'])
2
+
3
+	.controller('laiyuanqudaoCorl', ['$scope', '$http', function($scope, $http) {
4
+		var container1 = echarts.init(document.getElementById('container1'));
5
+
6
+		option = {
7
+			tooltip: {
8
+				trigger: 'axis',
9
+				axisPointer: {
10
+					type: 'cross',
11
+					label: {
12
+						show: true,
13
+						backgroundColor: '#333'
14
+					}
15
+				}
16
+			},
17
+			title: {
18
+				text: '受理群众区域统计',
19
+				x: 'center',
20
+				top: 'top',
21
+				textStyle: {
22
+					color: '#fff',
23
+					fontSize: 16,
24
+					
25
+				},
26
+
27
+			},
28
+			legend: {
29
+				data: ['新城区', '莲湖区', '雁塔区', '未央区'],
30
+				textStyle: {
31
+					color: '#ccc'
32
+				},
33
+				top: 30,
34
+			},
35
+			xAxis: {
36
+				name: '时间',
37
+				data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
38
+				axisLine: {
39
+					lineStyle: {
40
+						color: '#ccc'
41
+					}
42
+				}
43
+			},
44
+			yAxis: {
45
+				name: '数量',
46
+				min: 0,
47
+				max: 100,
48
+				interval: 20,
49
+				splitLine: { show: false },
50
+				axisLine: {
51
+					lineStyle: {
52
+						color: '#ccc'
53
+					}
54
+				}
55
+			},
56
+			series: [{
57
+					name: '新城区',
58
+					type: 'line',
59
+					smooth: true,
60
+					showAllSymbol: true,
61
+					symbol: 'emptyCircle',
62
+					symbolSize: 10,
63
+					data: [50, 51, 52, 55, 57, 62, 64, 70, 75, 80]
64
+				},
65
+				{
66
+					name: '莲湖区',
67
+					type: 'line',
68
+					smooth: true,
69
+					showAllSymbol: true,
70
+					symbol: 'emptyCircle',
71
+					symbolSize: 10,
72
+					data: [30, 31, 35, 36, 38, 40, 42, 44, 47, 50],
73
+					itemStyle: {
74
+						normal: {
75
+							color: 'green'
76
+						}
77
+					},
78
+				},
79
+				{
80
+					name: '雁塔区',
81
+					type: 'line',
82
+					smooth: true,
83
+					showAllSymbol: true,
84
+					symbol: 'emptyCircle',
85
+					symbolSize: 10,
86
+					itemStyle: {
87
+						normal: {
88
+							color: '#14c8d4'
89
+						}
90
+					},
91
+					data: [20, 22, 24, 26, 28, 30, 32, 34, 36, 40]
92
+				}, {
93
+					name: '未央区',
94
+					type: 'line',
95
+					smooth: true,
96
+					showAllSymbol: true,
97
+					symbol: 'emptyCircle',
98
+					symbolSize: 10,
99
+					itemStyle: {
100
+						normal: {
101
+							color: '#9df5ff'
102
+						}
103
+					},
104
+					data: [11, 14, 16, 12, 18, 22, 24, 26, 30, 34]
105
+				}
106
+			]
107
+		};
108
+
109
+		// 使用刚指定的配置项和数据显示图表。
110
+		container1.setOption(option);
111
+
112
+		$('#weibo').radialIndicator({
113
+			barColor: '#87d75f',
114
+			barWidth: 10,
115
+			initValue: 40,
116
+			roundCorner: true,
117
+			percentage: true
118
+		});
119
+
120
+		$('#phone').radialIndicator({
121
+			barColor: '#e09740',
122
+			barWidth: 10,
123
+			initValue: 40,
124
+			roundCorner: true,
125
+			percentage: true
126
+		});
127
+
128
+		$('#doorhu').radialIndicator({
129
+			barColor: '#ffeb3b',
130
+			barWidth: 10,
131
+			initValue: 40,
132
+			roundCorner: true,
133
+			percentage: true
134
+		});
135
+
136
+		$('#app').radialIndicator({
137
+			barColor: '#2196f3',
138
+			barWidth: 10,
139
+			initValue: 40,
140
+			roundCorner: true,
141
+			percentage: true
142
+		});
143
+		$('#weixin').radialIndicator({
144
+			barColor: '#9579de',
145
+			barWidth: 10,
146
+			initValue: 40,
147
+			roundCorner: true,
148
+			percentage: true
149
+		});
150
+
151
+		$('#message').radialIndicator({
152
+			barColor: '#ff5722',
153
+			barWidth: 10,
154
+			initValue: 40,
155
+			roundCorner: true,
156
+			percentage: true
157
+		});
158
+		$('#email').radialIndicator({
159
+			barColor: '#cddc39',
160
+			barWidth: 10,
161
+			initValue: 40,
162
+			roundCorner: true,
163
+			percentage: true
164
+		});
165
+		$('#face').radialIndicator({
166
+			barColor: '#cddc39',
167
+			barWidth: 10,
168
+			initValue: 40,
169
+			roundCorner: true,
170
+			percentage: true
171
+		});
172
+
173
+		$('#ins').radialIndicator({
174
+			barColor: '#cddc39',
175
+			barWidth: 10,
176
+			initValue: 40,
177
+			roundCorner: true,
178
+			percentage: true
179
+		});
180
+		$('#qq').radialIndicator({
181
+			barColor: '#cddc39',
182
+			barWidth: 10,
183
+			initValue: 40,
184
+			roundCorner: true,
185
+			percentage: true
186
+		});
187
+
188
+	}]);

+ 86 - 0
js/rout.js

@@ -0,0 +1,86 @@
1
+
2
+angular.module('myRoute',['ui.router',
3
+							'laiyuanqudao',
4
+							'jiedanbumen',
5
+							'tousujubao',
6
+							'huawu',
7
+							'zhongxin',
8
+							'fuwuzhishi'
9
+							
10
+									])
11
+
12
+      .config(function ($httpProvider) {
13
+        $httpProvider.defaults.transformRequest = function (obj) {
14
+            var str = [];
15
+            for (var p in obj) {
16
+                str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
17
+            }
18
+            return str.join("&");
19
+        };
20
+        $httpProvider.defaults.headers.post = {
21
+            'Content-Type': 'application/x-www-form-urlencoded'
22
+        }
23
+    })
24
+
25
+    .config(function($stateProvider,$urlRouterProvider){
26
+    //来源渠道
27
+        $stateProvider.state('index',{
28
+            url:'/laiyuanqudao.html',
29
+            templateUrl:'../html/laiyuanqudao.html',
30
+            controller:'laiyuanqudaoCorl'
31
+        });
32
+        //接单部门情况
33
+        $stateProvider.state('jiedanbumen',{
34
+            url:'/jiedanbumen.html',
35
+            templateUrl:'../html/jiedanbumen.html',
36
+            controller:'jiedanbumenCorl'
37
+        });
38
+        //投诉举报
39
+        $stateProvider.state('tousujubao',{
40
+            url:'/tousujubao.html',
41
+            templateUrl:'../html/tousujubao.html',
42
+            controller:'tousujubaoCorl'
43
+        });
44
+       
45
+        //话务数量情况
46
+        $stateProvider.state('huawu',{
47
+            url:'/huawu.html',
48
+            templateUrl:'../html/huawu.html',
49
+            controller:'huawuCorl'
50
+        });
51
+      
52
+        //中心大数据
53
+        $stateProvider.state('zhongxin',{
54
+            url:'/zhongxin.html',
55
+            templateUrl:'../html/zhongxin.html',
56
+            controller:'zhongxinCorl'
57
+        });
58
+     
59
+        //服务知识
60
+        $stateProvider.state('fuwuzhishi',{
61
+            url:'/fuwuzhishi.html',
62
+            templateUrl:'../html/fuwuzhishi.html',
63
+            controller:'fuwuzhishiCorl'
64
+        });
65
+     
66
+    
67
+        
68
+        
69
+        
70
+//      $stateProvider.state('directive',{
71
+//          url:'/directive.html',
72
+//          templateUrl:'../html/directive.html'
73
+//      }).state('directive.input',{
74
+//          url:'/input.html',
75
+//          templateUrl:'../html/input.html',
76
+//          controller:'crol1'
77
+//      }).state('directive.repeat',{
78
+//          url:'/text.html',
79
+//          templateUrl:'../html/text.html',
80
+//          controller:'crol2'
81
+//      }).state('directive.city',{
82
+//          url:'/cityTown.html',
83
+//          templateUrl:'../html/cityTown.html',
84
+//          controller:'crol4'
85
+//      })
86
+    });

+ 192 - 0
js/tousujubao.js

@@ -0,0 +1,192 @@
1
+angular.module('tousujubao', [])
2
+	.controller('tousujubaoCorl', function($scope, $rootScope) {
3
+		//投诉举报汇总
4
+		var quantity = echarts.init(document.getElementById('quantity'));
5
+		option = {
6
+			title: {
7
+				text: '投诉/举报汇总',
8
+				x: 'center',
9
+				textStyle: {
10
+					color: '#fff',
11
+					fontSize: 16
12
+				},
13
+//				textAlign: 'center',
14
+//				textBaseline: "top"
15
+			},
16
+			tooltip: {
17
+				trigger: 'item',
18
+				formatter: "{a} <br/>{b} : {c} ({d}%)",
19
+				axisPointer: {
20
+					crossStyle: {
21
+						color: '#fff'
22
+					}
23
+				}
24
+			},
25
+			legend: {
26
+				//      orient: 'vertical',
27
+				bottom: 'bottom',
28
+				data: ['投诉数量', '举报数量'],
29
+				textStyle: {
30
+					color: '#fff'
31
+				}
32
+			},
33
+			series: [{
34
+				name: '访问来源',
35
+				type: 'pie',
36
+				radius: '55%',
37
+				center: ['50%', '50%'],
38
+				data: [
39
+					{ value: 1234, name: '投诉数量' },
40
+					{ value: 3456, name: '举报数量' },
41
+
42
+				],
43
+				itemStyle: {
44
+					emphasis: {
45
+						shadowBlur: 10,
46
+						shadowOffsetX: 0,
47
+						shadowColor: 'rgba(0, 0, 0, 0.5)'
48
+					}
49
+				}
50
+			}],
51
+			color: ['#ff9800', '#61a0a8']
52
+		};
53
+		quantity.setOption(option);
54
+		//举报单位/个人统计
55
+		var tsdwgr = echarts.init(document.getElementById('tsdwgr'));
56
+		option = {
57
+			color: ['#3398DB'],
58
+
59
+			tooltip: {
60
+				trigger: 'axis',
61
+				axisPointer: { // 坐标轴指示器,坐标轴触发有效
62
+					type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
63
+				}
64
+			},
65
+			title: {
66
+				text: '举报单位/个人统计',
67
+				x: 'center',
68
+				textStyle: {
69
+					color: '#fff',
70
+					fontSize: 16
71
+				},
72
+
73
+				textBaseline: "top"
74
+			},
75
+			grid: {
76
+				left: '3%',
77
+				right: '4%',
78
+				bottom: '3%',
79
+				containLabel: true
80
+			},
81
+			xAxis: [{
82
+				type: 'category',
83
+				data: ['黄一', '董二', '张三', '李四', '赵武', '王六', '高七', '周八', '刘九', '朱十'],
84
+				axisTick: {
85
+					alignWithLabel: true
86
+				},
87
+				//改变轴颜色
88
+				axisLine: {
89
+					lineStyle: {
90
+						color: '#fff',
91
+					}
92
+				},
93
+			}],
94
+			yAxis: [{
95
+				splitLine: { show: false }, //去除网格线
96
+				type: 'value',
97
+				//改变轴颜色
98
+				axisLine: {
99
+					lineStyle: {
100
+						color: '#fff',
101
+					}
102
+				}
103
+
104
+			}],
105
+			series: [{
106
+				name: '投诉举报数',
107
+				type: 'bar',
108
+				barWidth: '30%',
109
+				data: [10, 52, 200, 334, 390, 330, 220, 150, 100, 10]
110
+			}]
111
+		};
112
+		tsdwgr.setOption(option);
113
+		//投诉单位统计
114
+
115
+		var tsdw_dw = echarts.init(document.getElementById('tsdw_dw'));
116
+
117
+		option = {
118
+			title: {
119
+				text: '投诉单位统计',
120
+				x: 'center',
121
+				textStyle: {
122
+					color: '#fff',
123
+					fontSize: 16
124
+				}
125
+			},
126
+			tooltip: {
127
+				trigger: 'item',
128
+				formatter: "{a} <br/>{b} : {c} ({d}%)"
129
+			},
130
+			legend: {
131
+				orient: 'vertical',
132
+				right: 'right',
133
+				top: 120,
134
+				data: ['市地震局', '市法制办', '市环保局', '市国土局', '市林业局', '市煤炭局', '市民政局', '市审计局', '市商务局', '市检察院', '市商务局'],
135
+				textStyle: {
136
+					color: '#fff'
137
+				}
138
+			},
139
+			 series: [
140
+        {
141
+            name:'投诉数量及占比',
142
+            type:'pie',
143
+            left:0,
144
+            radius: ['40%', '70%'],
145
+            center: ['40%', '58%'],
146
+            avoidLabelOverlap: false,
147
+            label: {
148
+                normal: {
149
+                    show: false,
150
+                    position: 'center'
151
+                },
152
+                emphasis: {
153
+                    show: true,
154
+                    textStyle: {
155
+                        fontSize: '30',
156
+                        fontWeight: 'bold'
157
+                    }
158
+                }
159
+            },
160
+            labelLine: {
161
+                normal: {
162
+                    show: false
163
+                }
164
+            },
165
+             data:[
166
+                {value:335, name:'市地震局'},
167
+                {value:310, name:'市法制办'},
168
+                {value:234, name:'市环保局'},
169
+                {value:135, name:'市国土局'},
170
+                {value:1548, name:'市林业局'},
171
+                 {value:335, name:'市煤炭局'},
172
+                {value:310, name:'市民政局'},
173
+                {value:234, name:'市审计局'},
174
+                {value:135, name:'市商务局'},
175
+                {value:1548, name:'市检察院'},
176
+            ],
177
+             color:['#c23531','#61a0a8','#d48265','#91c7ae','#749f83','#ca8622','#bda29a','#ffeb3b','#8bc34a','#b2bb56'],
178
+        }
179
+    ]
180
+//			
181
+//				itemStyle: {
182
+//					emphasis: {
183
+//						shadowBlur: 10,
184
+//						shadowOffsetX: 0,
185
+//						shadowColor: 'rgba(0, 0, 0, 0.5)'
186
+//					}
187
+//				}
188
+			
189
+		};
190
+
191
+		tsdw_dw.setOption(option);
192
+	});

+ 278 - 0
js/zhongxin.js

@@ -0,0 +1,278 @@
1
+angular.module('zhongxin', [])
2
+	.controller('zhongxinCorl', ['$scope', '$http', function($scope, $http) {
3
+//		$(window).resize(function() {
4
+//			var width_frm = $(document.body).width();
5
+//			var height_frm = $(document.body).height();
6
+//			var width_div = width_frm / 2;
7
+//			var height_div = height_frm / 2;
8
+//			$('#th_nums').css("height", height_div);
9
+//			$('#th_num').css("height", height_div);
10
+//			$('#jtv_num').css("height", height_div);
11
+//		});
12
+
13
+
14
+		$('#slhw').highcharts({
15
+			chart: {
16
+				type: 'pie',
17
+				backgroundColor: '#100e11',
18
+				options3d: {
19
+					enabled: true,
20
+					alpha: 45,
21
+					beta: 0
22
+				}
23
+			},
24
+			title: {
25
+				text: '受理渠道话务量',
26
+				style: {
27
+					color: '#fff',
28
+				}
29
+			},
30
+			//LOGO 去掉
31
+			credits: {
32
+				enabled: false
33
+			},
34
+			tooltip: {
35
+				pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
36
+			
37
+			},
38
+			plotOptions: {
39
+				pie: {
40
+					allowPointSelect: true,
41
+					cursor: 'pointer',
42
+					depth: 35,
43
+					dataLabels: {
44
+						enabled: true,
45
+						format: '<b style="font-size:14px; ">{point.name}</b>: <b>{point.percentage:.1f}%</b>'
46
+					}
47
+				}
48
+			},
49
+			series: [{
50
+				type: 'pie',
51
+				name: '受理渠道话务量',
52
+				data: [
53
+					['电话', 45.0],
54
+					['网站门户', 26.8],
55
+					{
56
+						name: 'APP',
57
+						y: 12.8,
58
+						sliced: true,
59
+						selected: true
60
+					},
61
+					['微信', 8.5],
62
+					['短信', 6.2],
63
+					['微博', 0.7],
64
+					['邮件', 10.5],
65
+				]
66
+			}]
67
+		});
68
+	
69
+		//通话数量
70
+		$('#th_num').highcharts({
71
+			chart: {
72
+				type: 'line',
73
+				backgroundColor: '#100e11'
74
+			},
75
+			title: {
76
+				text: '通话数量统计',
77
+				style: {
78
+					color: '#fff',
79
+				}
80
+			},
81
+			legend: {
82
+				align: 'right',
83
+				verticalAlign: 'top',
84
+				x: 0,
85
+				y: 50
86
+			},
87
+			//LOGO 去掉
88
+			credits: {
89
+				enabled: false
90
+			},
91
+			xAxis: {
92
+				categories: [
93
+					'1',
94
+					'2',
95
+					'3',
96
+					'4',
97
+					'5',
98
+					'6',
99
+					'7',
100
+					'8',
101
+					'9',
102
+					'10',
103
+					'11',
104
+					'12',
105
+					'13',
106
+					'14',
107
+					'15',
108
+					'16',
109
+					'17',
110
+					'18',
111
+					'19',
112
+					'20',
113
+					'21',
114
+					'22',
115
+					'23',
116
+					'24',
117
+				],
118
+				title: {
119
+					text: '时间',
120
+					align: 'high',
121
+					rotation:0,
122
+					y: -50
123
+				}
124
+			},
125
+			yAxis: {
126
+				gridLineColor: '#100e11',
127
+				title: {
128
+					text: '数量',
129
+					rotation: 0,
130
+					y: -160
131
+				}
132
+			},
133
+			plotOptions: {
134
+				line: {
135
+					dataLabels: {
136
+						enabled: true // 开启数据标签
137
+					},
138
+					enableMouseTracking: false // 关闭鼠标跟踪,对应的提示框、点击事件会失效
139
+				}
140
+			},
141
+			series: [{
142
+				name: '咨询类',
143
+				data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
144
+			}, {
145
+				name: '投诉类',
146
+				data: [3.9, 4.2, 5.7, 8.5, 11, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
147
+			}, {
148
+				name: '来电举报类',
149
+				data: [3.9, 5, 8, 8, 11, 8, 3, 16, 14, 10, 6, 4]
150
+			}, {
151
+				name: '建议类',
152
+				data: [8, 4, 5, 8, 11, 15, 17, 16, 14, 10, 6, 4]
153
+			}]
154
+		});
155
+		//接通率报表
156
+		$('#jtv_num').highcharts({
157
+			chart: {
158
+				zoomType: 'xy',
159
+				backgroundColor: '#100e11'
160
+			},
161
+			title: {
162
+				text: '接通率统计',
163
+				style: {
164
+					color: '#fff',
165
+				}
166
+			},
167
+			//LOGO 去掉
168
+			credits: {
169
+				enabled: false
170
+			},
171
+			xAxis: [{
172
+				categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
173
+					'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
174
+				],
175
+				crosshair: true
176
+			}],
177
+			yAxis: [{ // Primary yAxis
178
+				labels: {
179
+					format: '{value}%',
180
+					style: {
181
+						color: '#fff'
182
+					}
183
+				},
184
+				title: {
185
+					text: '比例',
186
+					style: {
187
+						color: '#fff',
188
+					},
189
+					rotation: 0,
190
+					y: -170
191
+				}
192
+			}, { // Secondary yAxis
193
+				title: {
194
+					text: '数量',
195
+					style: {
196
+						color: Highcharts.getOptions().colors[0]
197
+					}
198
+				},
199
+				labels: {
200
+					format: '{value} mm',
201
+					style: {
202
+						color: "red"
203
+					}
204
+				},
205
+				opposite: true
206
+			}],
207
+			tooltip: {
208
+				shared: true
209
+			},
210
+			legend: {
211
+				align: 'right',
212
+				verticalAlign: 'top',
213
+				x: 0,
214
+				y: 50
215
+			},
216
+			series: [{
217
+				name: '降雨量',
218
+				type: 'column',
219
+				yAxis: 1,
220
+				data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
221
+				tooltip: {
222
+					valueSuffix: ' mm'
223
+				}
224
+			}, {
225
+				name: '温度',
226
+				type: 'spline',
227
+				data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
228
+				tooltip: {
229
+					valueSuffix: '°C'
230
+				}
231
+			}]
232
+		});
233
+		//通话时长
234
+		var chart = new Highcharts.Chart('th_nums', {
235
+			chart: {
236
+				backgroundColor: '#100e11'
237
+			},
238
+			title: {
239
+				text: '平均通话时长统计',
240
+				style: {
241
+					color: '#fff',
242
+				}
243
+			},
244
+			//LOGO 去掉
245
+			credits: {
246
+				enabled: false
247
+			},
248
+			xAxis: {
249
+				categories: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
250
+			},
251
+			yAxis: {
252
+				title: {
253
+					rotation: 0,
254
+					y: -170,
255
+					text: '小时'
256
+				},
257
+				plotLines: [{
258
+					value: 0,
259
+					width: 1,
260
+					color: '#808080'
261
+				}]
262
+			},
263
+			tooltip: {
264
+				valueSuffix: 'h'
265
+			},
266
+			legend: {
267
+				align: 'right',
268
+				verticalAlign: 'top',
269
+				x: 0,
270
+				y: 50
271
+			},
272
+			series: [{
273
+				name: '平均通话时长统计',
274
+				data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
275
+			}]
276
+		});
277
+
278
+	}]);