Przeglądaj źródła

增加 坐席监控页面,修改首页自动外呼弹屏js

yuqian 8 lat temu
rodzic
commit
adbdd5cfd2
2 zmienionych plików z 857 dodań i 40 usunięć
  1. 791 0
      CallCenterWeb.UI/TelCall/zxKong.html
  2. 66 40
      CallCenterWeb.UI/js/main.js

+ 791 - 0
CallCenterWeb.UI/TelCall/zxKong.html

@@ -0,0 +1,791 @@
1
+<!DOCTYPE html>
2
+<html>
3
+
4
+	<head>
5
+		<meta charset="UTF-8">
6
+		<script src="../Script/Common/huayi.load.js"></script>
7
+		<script src="../Script/Common/huayi.config.js"></script>
8
+		<!--<link rel="stylesheet" href="../css/layer/need/layer.css" />-->
9
+		<link rel="stylesheet" href="../js/zTree/zTreeStyle.css" />
10
+		<link rel="stylesheet" href="../css/init.css" />
11
+		<title>坐席监控</title>
12
+		<style>
13
+			.toolBar {
14
+				padding: 15px 0;
15
+				border-bottom: 1px solid #ccc;
16
+			}
17
+			
18
+			.jc {
19
+				background: #9E9E9E;
20
+			}
21
+			
22
+			.toolRight {
23
+				/*float: right;*/
24
+				padding: 22px 13px;
25
+			}
26
+			
27
+			ul li {
28
+				/*float: left;*/
29
+			}
30
+			
31
+			.zx-title {
32
+				background-color: #2e4050;
33
+				display: block;
34
+				color: #FFFFFF;
35
+				padding: 5px 0;
36
+				width: 100%;
37
+				text-align: center;
38
+				border-top-left-radius: 5px;
39
+				border-top-right-radius: 5px;
40
+				letter-spacing: 3px;
41
+			}
42
+			
43
+			ul {
44
+				overflow: hidden;
45
+			}
46
+			
47
+			ul li {
48
+				list-style: none;
49
+			}
50
+			
51
+			.fenxian {
52
+				list-style: none;
53
+				width: 136px;
54
+				padding: 0;
55
+				height: 7px;
56
+			}
57
+			
58
+			.fenxian li {
59
+				width: 50%;
60
+				list-style: none;
61
+				height: 8px;
62
+				float: left;
63
+			}
64
+			
65
+			.left_red {
66
+				background: #65c2ca;
67
+			}
68
+			
69
+			.rg_green {
70
+				background: #F95A83;
71
+			}
72
+			
73
+			.zx-box {
74
+				background: #F5F5F5;
75
+				/*height: 200px;*/
76
+				/*border-radius: 5px;*/
77
+				box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
78
+				margin-bottom: 30px;
79
+				overflow: hidden;
80
+			}
81
+			
82
+			.m-b {
83
+				margin-bottom: 0;
84
+			}
85
+			/*坐席数量*/
86
+			
87
+			.zt-content ul {
88
+				width: 100%;
89
+				overflow: hidden;
90
+				padding-left: 0px;
91
+				padding-top: 20px;
92
+			}
93
+			
94
+			.zt-content ul li {
95
+				/*width: 40%;*/
96
+				font-size: 14px;
97
+				/*float: left;*/
98
+				margin-bottom: 15px;
99
+				/*text-align: center;*/
100
+				margin-left: 10%;
101
+			}
102
+			
103
+			.zt-content ul li i {
104
+				display: inline-block;
105
+				width: 20px;
106
+				height: 21px;
107
+				vertical-align: middle;
108
+				margin-right: 10px;
109
+				background: url(../img/zuoxiIcon.png) no-repeat;
110
+			}
111
+			
112
+			.hc {
113
+				background-position: 0 0 !important;
114
+			}
115
+			
116
+			.ml {
117
+				background-position: 0 -24px !important;
118
+			}
119
+			
120
+			.kx {
121
+				background-position: 0 -68px !important;
122
+			}
123
+			
124
+			.zl {
125
+				background-position: 0 -93px !important;
126
+			}
127
+			
128
+			.qc {
129
+				background-position: 0 -116px !important;
130
+			}
131
+			
132
+			.lx {
133
+				background-position: 0 -138px !important;
134
+			}
135
+			
136
+			.hh {
137
+				background-position: 0 -46px !important;
138
+			}
139
+			/*坐席监控*/
140
+			
141
+			.bg_person {
142
+				background: url(../img/bg-person.png)no-repeat;
143
+				width: 65px;
144
+				height: 65px;
145
+				text-align: -webkit-center;
146
+				background-position: center center;
147
+				margin: 0 auto;
148
+			}
149
+			
150
+			.zx_people {
151
+				padding: 0;
152
+			}
153
+			
154
+			.zx_content ul:after {
155
+				content: "";
156
+				display: block;
157
+				clear: both;
158
+			}
159
+			
160
+			.people_list p {
161
+				margin-bottom: 5px !important;
162
+			}
163
+			
164
+			.zx_content ul {
165
+				height: 800px;
166
+				overflow: auto;
167
+			}
168
+			
169
+			.zx_content ul li {
170
+				width: 14%;
171
+				text-align: center;
172
+				float: left;
173
+				cursor: pointer;
174
+			}
175
+			
176
+			.zx_content ul li>div {
177
+				width: 100%;
178
+				position: relative;
179
+			}
180
+			
181
+			#table1 i {
182
+				display: block;
183
+				height: 22px;
184
+				width: 20px;
185
+				background: url(../img/zuoxiIcon.png) no-repeat;
186
+				/*position: absolute;
187
+				right: 25px;
188
+				top: 25px;*/
189
+			}
190
+			/*坐席状态*/
191
+			
192
+			.ztsm {
193
+				width: 100%;
194
+				overflow: hidden;
195
+				padding-left: 0px;
196
+				padding-top: 20px;
197
+			}
198
+			
199
+			.ztsm b {
200
+				padding: 3px 15px;
201
+				border-radius: 10px;
202
+				color: #FFFFFF;
203
+			}
204
+			
205
+			.ztsm2 ul li {
206
+				width: 33%;
207
+				font-size: 14px;
208
+				float: left;
209
+				margin-bottom: 25px;
210
+				text-align: center;
211
+				cursor: pointer;
212
+			}
213
+			
214
+			.zx {
215
+				/*background: #989898;*/
216
+				background: #61b960;
217
+			}
218
+			
219
+			.jt {
220
+				background: #5ed7b7;
221
+			}
222
+			
223
+			.dj {
224
+				background: #bed75b;
225
+			}
226
+			
227
+			.qca {
228
+				background: #d75e7c;
229
+			}
230
+			
231
+			.lj {
232
+				background: #5daed8;
233
+			}
234
+			
235
+			.qc {
236
+				background: #d8988f;
237
+			}
238
+			
239
+			.kqc {
240
+				background: #44af3c;
241
+			}
242
+			
243
+			.jqc {
244
+				background: #d91e06;
245
+			}
246
+			
247
+			.dis {
248
+				background: #989898;
249
+			}
250
+			/*坐席弹屏*/
251
+			
252
+			.toolLeft ul li {
253
+				float: left;
254
+			}
255
+			
256
+			.zx_photo {
257
+				padding: 10px;
258
+			}
259
+			
260
+			.zx_photo p {
261
+				text-align: center;
262
+			}
263
+			
264
+			.zx-box_ul {
265
+				display: none;
266
+			}
267
+			
268
+			.zx-box_ul>ul {
269
+				padding-left: 0px;
270
+			}
271
+			
272
+			.zx-box_ul>ul>li {
273
+				/*width: 33% !important;*/
274
+				padding: 22px 13px;
275
+				text-align: -webkit-center;
276
+				font-size: 15px;
277
+				cursor: pointer;
278
+			}
279
+			
280
+			.zx-box_ul>ul>li b {
281
+				padding: 7px 15px;
282
+				border-radius: 10px;
283
+				color: #FFFFFF;
284
+			}
285
+			
286
+			.zxtp {
287
+				position: absolute;
288
+				display: none;
289
+			}
290
+			
291
+			.shows {
292
+				display: block;
293
+			}
294
+			
295
+			.hides {
296
+				display: block;
297
+			}
298
+		</style>
299
+	</head>
300
+
301
+	<body class="gray-bg">
302
+		<div class="container-fluid wrapper wrapper-content animated fadeInRight">
303
+			<div class="daoHang clearfix">
304
+				<div class="dhLeft">
305
+					<sapn><i class="syIcon"></i>位置:
306
+						<a id="ReIndex">首页</a>&gt;
307
+						<a href="javaScript:;">话务管理</a>&gt;
308
+						<a href="" class="nowPosition">坐席监控</a>
309
+					</sapn>
310
+				</div>
311
+				<div class="dhRight">
312
+					<a href="" title="刷新"><i class="fa fa-refresh"></i></a>
313
+				</div>
314
+			</div>
315
+			<div class="toolBar clearfix">
316
+				<div class="toolLeft">
317
+					<div class="zx-box_ul row" zxtp-code="">
318
+						<ul>
319
+							<li><b class="zx" item="ForceAgentState">置闲</b></li>
320
+							<li><b class="jt" item="Listen">监听</b></li>
321
+							<li><b class="dj" item="Instead">代接</b></li>
322
+							<li><b class="qca" item="Insert">强插</b></li>
323
+							<li><b class="lj" item="Intercept">拦截</b></li>
324
+							<li><b class="qc" item="Break">强拆</b></li>
325
+						</ul>
326
+					</div>
327
+				</div>
328
+				<div class="toolRight">
329
+					<button class="btns kqc">开始监测</button>
330
+					<button class="btns jqc dis">停止监测</button>
331
+				</div>
332
+			</div>
333
+			<div class="treeTable clearfix">
334
+				<div class="tableCon" style="float: left; width: 88%;">
335
+					<table id="table1" class="table">
336
+						<thead>
337
+							<tr>
338
+								<th>选择</th>
339
+								<th>主叫号码</th>
340
+								<th>被叫号码</th>
341
+								<th>状态</th>
342
+								<th>工号</th>
343
+								<th>姓名</th>
344
+								<th>分机号</th>
345
+								<th>空闲时长</th>
346
+								<th>置忙时长 </th>
347
+								<th>通话时长 </th>
348
+								<th>话后处理时长 </th>
349
+								<th>置忙次数</th>
350
+								<th>登录次数 </th>
351
+								<th>签入时间 </th>
352
+								<th>当前签入时长 </th>
353
+								<th>呼入量</th>
354
+								<th>呼出量</th>
355
+
356
+							</tr>
357
+						</thead>
358
+						<tbody>
359
+
360
+						</tbody>
361
+
362
+					</table>
363
+
364
+				</div>
365
+				<div style="float: right; width: 12%;">
366
+					<!--<div class="zx_top">
367
+                    <span class="zx-title">监控操作</span>
368
+                    <ul class="m-b  fenxian" style="width:104px;">
369
+                        <li class="left_red"></li>
370
+                        <li class="rg_green"></li>
371
+                    </ul>
372
+                    <div class="zx-box">
373
+                        <div class="ztsm2 w_3">
374
+                            <ul class="ztsm">
375
+                                <li style="width: 50%;"><b class="kqc">开始监测</b></li>
376
+                                <li style="width: 50%;"><b class="jqc dis">停止监测</b></li>
377
+                            </ul>
378
+                        </div>
379
+                    </div>
380
+                </div>-->
381
+					<div class="zx_top">
382
+						<span class="zx-title">状态说明</span>
383
+						<ul class="m-b  fenxian" style="width:100%;">
384
+							<li class="left_red"></li>
385
+							<li class="rg_green"></li>
386
+						</ul>
387
+						<div class="zx-box">
388
+							<div class="zt-content w_5">
389
+								<ul>
390
+									<li><i class="hc"></i>通话中</li>
391
+									<li><i class="ml"></i>置忙</li>
392
+									<li><i class="kx"></i>空闲</li>
393
+									<li><i class="zl"></i>振铃</li>
394
+									<!--<li><i class="qc"></i>&nbsp;签出</li>-->
395
+									<li><i class="lx"></i>离线</li>
396
+									<li><i class="hh"></i>话后处理</li>
397
+								</ul>
398
+							</div>
399
+						</div>
400
+					</div>
401
+					<div class="zx_top">
402
+						<span class="zx-title">实时统计</span>
403
+						<ul class="m-b  fenxian" style="width:100%;">
404
+							<li class="left_red"></li>
405
+							<li class="rg_green"></li>
406
+						</ul>
407
+						<div class="zx-box">
408
+							<div class="zt-content w_5">
409
+								<ul class="tjcount">
410
+									<li>登录坐席:<b>0</b></li>
411
+									<li>离线人数:<b>0</b></li>
412
+									<li>空闲人数:<b>0</b></li>
413
+									<li>通话人数:<b>0</b></li>
414
+									<li>系统呼入:<b>0</b></li>
415
+									<li>置忙坐席:<b>0</b></li>
416
+									<!--<li>签出坐席:<b>100</b></li>-->
417
+									<li>全部坐席:<b>0</b></li>
418
+								</ul>
419
+							</div>
420
+						</div>
421
+					</div>
422
+				</div>
423
+			</div>
424
+
425
+		</div>
426
+		<script src="../css/layer/layer.js"></script>
427
+		<script src="../js/zTree/jquery.ztree.core.js"></script>
428
+		<script>
429
+			var user;
430
+			var hour = 0,
431
+				minute = 0,
432
+				second = 0;
433
+//				var t;
434
+				var flag;
435
+			function studyTime(t) {
436
+				hour = Math.floor(t / 60 / 60);
437
+				minute = Math.floor(t / 60 % 60);
438
+				second = Math.floor(t % 60);
439
+				if(hour < 10) {
440
+					hour = "0" + hour;
441
+				}
442
+				if(minute < 10) {
443
+					minute = "0" + minute;
444
+				}
445
+				if(second < 10) {
446
+					second = "0" + second;
447
+				}
448
+				//      localStorage.setItem(,hour +":"+minute+":"+second);	
449
+//				t++;
450
+			}
451
+//			flag = setInterval(studyTime, 1000);
452
+			 //终止计时器
453
+			    function stopTime()
454
+			    {
455
+			        clearInterval(flag);
456
+			    }
457
+			$(document).ready(function() {
458
+					if(!top.ws) {
459
+						top.Connect();
460
+					}
461
+					$.getJSON(huayi.config.callcenter_url + 'SeatMonitoring/getlist', {
462
+						"token": $.cookie("token")
463
+					}, function(result) {
464
+						if(result.state.toLowerCase() == "success") {
465
+							user = result.data;
466
+							$(".tjcount li").eq(6).find("b").text(user.length);
467
+						}
468
+					}) //判断socket是否连上
469
+					if(top.ws.readyState != 1) {
470
+						$(".kqc").addClass("dis")
471
+					} else {
472
+						$(".kqc").removeClass("dis") //开始监测
473
+						$(".kqc").click(function() {
474
+//							alert(1)
475
+							if(!$(this).hasClass("dis")) {
476
+								Ajax();
477
+								setInterval(Ajax, 10000);
478
+							}
479
+						})
480
+					}
481
+					//停止监测
482
+					$(".jqc").click(function() {
483
+						if(!$(this).hasClass("dis")) {
484
+							//$(user).each(function (i, n) {
485
+							//    top.obj.Type = "SubScribeCancel";
486
+							//    top.obj.SubParmer = n.F_WorkNumber;
487
+							//    top.obj.SubType = "0";//根据工号取消订阅坐席状态
488
+							//    top.Send();
489
+							//    top.obj.SubType = "1";//根据工号取消订阅线路状态
490
+							//    top.Send();
491
+							//})
492
+							top.obj.Type = "SubScribeCancel";
493
+							top.obj.SubParmer = "-1";
494
+							top.obj.SubType = "0"; //根据工号取消订阅坐席状态
495
+							top.Send();
496
+							top.obj.SubType = "1"; //根据工号取消订阅线路状态
497
+							top.Send();
498
+						}
499
+					}) //班长操作坐席
500
+					$(".zx-box_ul b").click(function() {
501
+						if(!$(this).hasClass("dis")) {
502
+							//						alert(1)
503
+							var wn = $(".zx-box_ul").attr('zxtp-code');
504
+							var type = $(this).attr("item");
505
+							//						console.log(type);
506
+							top.obj.Type = type;
507
+							top.obj.AgentID = $.cookie("zx_user"); //操作人工号
508
+							top.obj.AgentExten = $.cookie("extno"); //操作人分机号
509
+							top.obj.TargetAgentID = wn * 1; //被操作人工号
510
+							top.Send();
511
+						}
512
+					})
513
+				}
514
+
515
+			) //坐席表格
516
+			function Ajax() {
517
+				$.ajax({
518
+					type: "get",
519
+					url: huayi.config.callcenter_url + "SeatMonitoring/GetAgentList",
520
+					async: true,
521
+					dataType: 'json',
522
+					data: {
523
+						"token": $.cookie("token")
524
+					},
525
+					success: function(data) {
526
+						user = data.data;
527
+						$(".tjcount li").eq(0).find("b").text(user.length);
528
+						if(data.state.toLowerCase() == 'success') {
529
+							$("#table1 tbody").html('');
530
+							$(user).each(function(i, n) {
531
+								if(localStorage.getItem(n.UserCode + "telnum")) {
532
+									var telNum = localStorage.getItem(n.UserCode + "telnum");
533
+									var beiTelnum = localStorage.getItem(n.UserCode + "beiTelnum");
534
+								} else {
535
+									var telNum = '';
536
+									var beiTelnum = '';
537
+								}
538
+								var html = '<tr>' + '<td><input type="radio" name="seatSelect" zx_item="0" xl_item="0" user-code="' + n.UserCode + '" /></td>' //序号
539
+									+
540
+									'<td class=" ' + n.UserCode + 'telnum">' + telNum + '</td>' //主叫号码
541
+									+
542
+									'<td class=" ' + n.UserCode + 'beiTelnum">' + beiTelnum + '</td>' //被叫号码
543
+									+
544
+									'<td class=" ' + n.UserCode + 'state"><i class="lx" zx_item="0" xl_item="0"></i></td>' //状态
545
+									+
546
+									'<td>' + n.UserCode + '</td>' //工号
547
+									+
548
+									'<td>' + n.UserName + '</td>' //姓名
549
+									+
550
+									'<td>' + n.ExtNumber + '</td>' //分机号
551
+									+
552
+									'<td class=" ' + n.UserCode + 'kxTime" second="0">' + n.free + '秒</td>' //空闲时长
553
+									+
554
+									'<td class=" ' + n.UserCode + 'zmTime" second="0">' + n.repose + '秒</td>' //置忙时长
555
+									+
556
+									'<td class=" ' + n.UserCode + 'thTime" second="0">' + n.talking + '秒</td>' //通话时长
557
+									+
558
+									'<td class=" ' + n.UserCode + 'hhTime" second="0">' + n.postprocess + '秒</td>' //话后处理时长
559
+									+
560
+									'<td>' + n.reposeconut + '</td>' //置忙次数
561
+									+
562
+									'<td>' + n.logcount + '</td>' //登陆次数
563
+									+
564
+									'<td>' + n.logintime + '</td>' //签入时间
565
+									+
566
+									'<td>' + n.logtimes + '秒</td>' //当前签入时长
567
+									+
568
+									'<td>' + n.callincount + '</td>' //呼入量
569
+									+
570
+									'<td>' + n.calloutcount + '</td>' //呼出量
571
+									+
572
+									'</tr>';
573
+								$(html).appendTo($("#table1 tbody"));
574
+								//                  top.obj.Type = "SubScribe";
575
+								//                  top.obj.SubParmer = n.UserCode;
576
+								//                  top.obj.SubType = "0"; //根据工号订阅坐席状态
577
+								//                  top.Send();
578
+								$('input:radio[name="seatSelect"]').click(function(event) {
579
+									event.stopPropagation();
580
+									if(top.obj.AgentID != $(this).attr("user-code")) {
581
+										$('.zx-box_ul').attr('zxtp-code', $(this).attr("user-code"));
582
+										$(".zx-box_ul").show();
583
+										UpdateSelState($(this).parent().siblings().find("i").attr("zx_item"), $(this).parent().siblings().find("i").attr("xl_item"));
584
+									} else {
585
+										layer.confirm('不能操作自己的坐席!', {
586
+											btn: ['确定']
587
+										});
588
+										$(this).prop("checked", false);
589
+									}
590
+								});
591
+								top.obj.Type = "SubScribe";
592
+								top.obj.SubParmer = n.UserCode * 1;
593
+								top.obj.SubType = "0"; //根据工号订阅坐席状态
594
+								top.Send();
595
+								top.obj.SubType = "1"; //根据工号订阅线路状态
596
+								top.Send();
597
+							})
598
+						}
599
+					}
600
+				});
601
+			}
602
+
603
+			//开始监测成功后
604
+			function Start() {
605
+				$(".kqc").addClass("dis");
606
+				$(".jqc").removeClass("dis");
607
+			}
608
+			//停止监测成功后
609
+			function Stop() {
610
+				$(".jqc").addClass("dis");
611
+				$(".kqc").removeClass("dis");
612
+				$("#table1 i").removeClass().addClass("lx").attr("zx_item", "0").attr("xl_item", "0");
613
+			}
614
+
615
+			//计算数量
616
+			var tj;
617
+			function tjcount() {
618
+				tj = {
619
+					hr: 0,
620
+					tx: 0,
621
+					kx: 0,
622
+					lx: 0,
623
+					zm: 0,
624
+					dl: 0
625
+				};
626
+				$('#table1 tbody i').each(function() {
627
+					var zx = $(this).attr("zx_item");
628
+					var xl = $(this).attr("xl_item");
629
+					switch(zx) {
630
+						case "0":
631
+							tj.lx = tj.lx + 1;
632
+							break; //离线
633
+						case "5":
634
+							tj.zm = tj.zm + 1;
635
+							break; //小休
636
+					}
637
+					switch(xl) {
638
+						case "5":
639
+							tj.hr = tj.hr + 1;
640
+							break; //来电振铃
641
+						case "6":
642
+							tj.tx = tj.tx + 1;
643
+							break; //通话中
644
+					}
645
+					if(zx == '2' && xl == '1') {
646
+						tj.kx = tj.kx + 1;
647
+					} //空闲
648
+					if(zx != '0' && zx != '7' && xl != '0' && xl != '9') {
649
+						tj.dl = tj.dl + 1;
650
+					}
651
+				}) //				    $(".tjcount li").eq(0).find("b").text(tj.dl);
652
+				$(".tjcount li").eq(1).find("b").text(tj.lx);
653
+				$(".tjcount li").eq(2).find("b").text(tj.kx);
654
+				$(".tjcount li").eq(3).find("b").text(tj.tx);
655
+				$(".tjcount li").eq(4).find("b").text(tj.hr);
656
+				$(".tjcount li").eq(5).find("b").text(tj.zm);
657
+			}
658
+
659
+			//坐席状态
660
+			function UpdateAgentState(WorkNumber, State) {
661
+				//      		console.log("坐席状态"+WorkNumber+","+State);
662
+				var sts = "";
663
+				var timeClass = "";
664
+				switch(State) {
665
+					case "0":sts = "lx";break; //离线
666
+					case "1":break; //登录中
667
+					case "2":sts = "kx";timeClass = "kxTime";break; //空闲
668
+					case "3":sts = "th";timeClass = "thTime";break; //通话中
669
+					case "4":sts = "hh";timeClass = "hhTime";break; //话后处理中
670
+					case "5":sts = "ml";timeClass = "zmTime";break; //小休
671
+					case "6":sts = "zl";break; //被请求
672
+					case "7":sts = "lx";break; //注销
673
+				}
674
+				if(WorkNumber * 1 < 10) {
675
+					WorkNumber = '0' + WorkNumber;
676
+				}
677
+				var ele = $("." + WorkNumber + "state").find("i");
678
+				
679
+				//          console.log(sts);
680
+				if(sts) {
681
+					ele.removeClass().addClass(sts);
682
+					//              ele.addClass(sts);
683
+				}
684
+				ele.attr("zx_item", State);
685
+				if(timeClass){
686
+					t = $("." + WorkNumber + timeClass).attr("second");
687
+//					flag = setInterval(studyTime, 1000);
688
+					
689
+				}
690
+				if($(".zx-box_ul").attr('zxtp-code') == WorkNumber) {
691
+					//              if (sts) {
692
+					//                  $(".zxtp i").removeClass().addClass(sts);
693
+					//              }
694
+					UpdateSelState(State, ele.attr("xl_item"))
695
+				}
696
+				tjcount();
697
+			}
698
+
699
+			//线路状态
700
+			function UpdateLineState(WorkNumber, State) {
701
+				//      	console.log("线路状态"+WorkNumber+","+State);
702
+				var sts = "";
703
+				var arr = [];
704
+				if(State.indexOf("|") != -1) {
705
+					arr = State.split("|");
706
+					localStorage.setItem(WorkNumber + "telnum", arr[1]);
707
+					localStorage.setItem(WorkNumber + "beiTelnum", arr[2]);
708
+					//          	$('.'+WorkNumber+"telnum").html(arr[1])
709
+					//          	$('.'+WorkNumber+"beiTelnum").html(arr[2])
710
+					State = arr[0];
711
+					if(State == "6") {
712
+						sts = "th";
713
+					}
714
+				}
715
+				switch(State) {
716
+					case "0":
717
+						sts = "lx";
718
+						break; //分机不可用
719
+						//case "1": sts = "kx"; break;//空闲
720
+					case "2":
721
+						sts = "ml";
722
+						break; //摘机等待拨号
723
+					case "3":
724
+						sts = "ml";
725
+						break; //正在拨号
726
+					case "4":
727
+						sts = "hc";
728
+						break; //呼出振铃
729
+					case "5":
730
+						sts = "zl";
731
+						break; //来电振铃
732
+					case "6":
733
+						sts = "th";
734
+						break; //通话中
735
+					case "7":
736
+						sts = "ml";
737
+						break; //播放忙音中
738
+					case "8":
739
+						sts = "th";
740
+						break; //通话保持中
741
+					case "9":
742
+						break; //话机移除
743
+					case "10":
744
+						break; //保持/空闲
745
+					case "11":
746
+						break; //保持/摘机等待拨号
747
+					case "12":
748
+						break; //保持/正在拨号
749
+					case "13":
750
+						break; //保持/呼出振铃
751
+					case "14":
752
+						break; //保持/通话中
753
+				}
754
+				if(WorkNumber * 1 < 10) {
755
+					WorkNumber = '0' + WorkNumber;
756
+				}
757
+				var ele = $("." + WorkNumber + "state").find("i");
758
+				if(sts) {
759
+					ele.removeClass().addClass(sts);
760
+				}
761
+				ele.attr("xl_item", State);
762
+				if($(".zx-box_ul").attr('zxtp-code') == WorkNumber) {
763
+					//              if (sts) {
764
+					//                  $(".zxtp i").removeClass().addClass(sts);
765
+					//              }
766
+					UpdateSelState(ele.attr("zx_item"), State)
767
+				}
768
+				tjcount();
769
+			}
770
+
771
+			//更新选中坐席的可操作
772
+			function UpdateSelState(zxState, xlState) {
773
+				//      	console.log("更新选中坐席的可操作:"+zxState+"第二个:"+xlState);
774
+				$(".zx-box_ul b").addClass("dis");
775
+				if(zxState == '5' && xlState == '1') {
776
+					$(".zx-box_ul .zx").removeClass("dis");
777
+				}
778
+				if(zxState == '3' && xlState == '6') {
779
+					$(".zx-box_ul .jt").removeClass("dis");
780
+					$(".zx-box_ul .qca").removeClass("dis");
781
+					$(".zx-box_ul .qc").removeClass("dis");
782
+					$(".zx-box_ul .lj").removeClass("dis");
783
+				}
784
+				if(zxState == '2' && xlState == '5') {
785
+					$(".zx-box_ul .dj").removeClass("dis");
786
+				}
787
+			}
788
+		</script>
789
+	</body>
790
+
791
+</html>

+ 66 - 40
CallCenterWeb.UI/js/main.js

@@ -108,7 +108,7 @@ function Connect() {
108 108
             //产生异常
109 109
             $(".hwzt").text('连接出现异常!');
110 110
             console.log(ws);
111
-            if (ws==null||ws.readyState != ws.OPEN) {
111
+            if (ws == null || ws.readyState != ws.OPEN) {
112 112
                 console.log(new Date() + "开始重连");
113 113
                 reconnect();
114 114
             }
@@ -195,52 +195,78 @@ function IncomingBack(data) {
195 195
 
196 196
     $(".hidTel").val(data.Number);
197 197
     $(".tel").text(data.Number);
198
-    $("#zxdh_").val(data.Number);
199
-    $("#tsdh").val(data.Number);
198
+    //$("#zxdh_").val(data.Number);
199
+    //$("#tsdh").val(data.Number);
200 200
     $(".ldtime").text(getNowFormatDate());
201 201
     $(".thsc").text("00:00");
202
-    //获取callid
203
-    $.ajaxSettings.async = false;
204
-    $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetCallIdByPhone', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
205
-        $.ajaxSettings.async = true;
206
-        if (result.state.toLowerCase() == "success") {
207
-            $(".hidCallID").val(result.data.CallId);
208
-        }
209
-    })
210
-    //获取电话所属地
211
-    $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
212
-        if (result.state.toLowerCase() == "success") {
213
-            $(".khgsd").text(result.data);
214
-
215 202
 
203
+    if (data.NumberId) {
204
+        $(".hidAutoCallID").val(data.NumberId);
205
+        //根据callid去除号码前缀
206
+        $.getJSON(huayi.config.callcenter_url + 'CallPlan/RemovePre', {
207
+            "callId": data.CurrID, "tel": $(".hidTel").val(), "token": $.cookie("token")
208
+        }, function (result) {
209
+            if (result.state.toLowerCase() == "success") {
210
+                $(".hidTel").val(result.data);
211
+                $(".tel").text(result.data);
212
+                //获取电话所属地
213
+                $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', {
214
+                    "tel": $(".hidTel").val(), "token": $.cookie("token")
215
+                }, function (result) {
216
+                    if (result.state.toLowerCase() == "success") {
217
+                        $(".khgsd").text(result.data);
218
+                    }
219
+                })
220
+            }
221
+        });
216 222
 
217
-        }
218
-    })
219
-    //获取客户信息
220
-    $(".ldtel").text($(".hidTel").val());
221
-    $("#tsdh").val($(".hidTel").val());
222
-    $(".ldtel1").val($(".hidTel").val());
223
-    $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetCustomerByTel', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
224
-        if (result.state.toLowerCase() == "success") {
225
-            if (result.data.length > 0) {
226
-                $("#zxr_").val(result.data[0].F_CustomerName);
227
-                $("#tskh").val(result.data[0].F_CustomerName);
228
-                $("#khid").val(result.data[0].F_CustomerId);
229
-                $(".khbh").val(result.data[0].F_CustomerCode);
230
-                $(".ldtel1").val(result.data[0].F_Telephone);
231
-                $(".ldtel2").val(result.data[0].F_Mobile);
232
-                $(".ldtel3").val(result.data[0].F_ChargeTelephone);
223
+        $('.maxOpen').trigger("click");
224
+        $('.head-pic .lahei .la-before').show();
225
+        $('.head-pic .lahei .la-after').hide();
226
+        $(".Bacha").hide();
227
+    }
228
+    //获取callid
229
+    //$.ajaxSettings.async = false;
230
+    //$.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetCallIdByPhone', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
231
+    //    $.ajaxSettings.async = true;
232
+    //    if (result.state.toLowerCase() == "success") {
233
+    //        $(".hidCallID").val(result.data.CallId);
234
+    //    }
235
+    //})
236
+    ////获取电话所属地
237
+    //$.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
238
+    //    if (result.state.toLowerCase() == "success") {
239
+    //        $(".khgsd").text(result.data);
240
+
241
+
242
+
243
+    //    }
244
+    //})
245
+    ////获取客户信息
246
+    //$(".ldtel").text($(".hidTel").val());
247
+    //$("#tsdh").val($(".hidTel").val());
248
+    //$(".ldtel1").val($(".hidTel").val());
249
+    //$.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetCustomerByTel', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
250
+    //    if (result.state.toLowerCase() == "success") {
251
+    //        if (result.data.length > 0) {
252
+    //            $("#zxr_").val(result.data[0].F_CustomerName);
253
+    //            $("#tskh").val(result.data[0].F_CustomerName);
254
+    //            $("#khid").val(result.data[0].F_CustomerId);
255
+    //            $(".khbh").val(result.data[0].F_CustomerCode);
256
+    //            $(".ldtel1").val(result.data[0].F_Telephone);
257
+    //            $(".ldtel2").val(result.data[0].F_Mobile);
258
+    //            $(".ldtel3").val(result.data[0].F_ChargeTelephone);
233 259
 
234
-            }
235
-        }
236
-    })
260
+    //        }
261
+    //    }
262
+    //})
237 263
 
238
-    loadOld();
264
+    //loadOld();
239 265
 
240
-    $('.maxOpen').trigger("click");
241
-    $('.head-pic .lahei .la-before').show();
242
-    $('.head-pic .lahei .la-after').hide();
243
-    $(".Bacha").hide();
266
+    //$('.maxOpen').trigger("click");
267
+    //$('.head-pic .lahei .la-before').show();
268
+    //$('.head-pic .lahei .la-after').hide();
269
+    //$(".Bacha").hide();
244 270
 }
245 271
 function CallIDBack(data) {
246 272
     //$(".hidCallID").val(data.CurrID);