Kaynağa Gözat

Revert "双汇app"

This reverts commit 9a7da70a3f7f3d62b9188b4b6abc58738c9ef718.
miaofuhao 6 yıl önce
ebeveyn
işleme
1631420725
2 değiştirilmiş dosya ile 746 ekleme ve 0 silme
  1. 549 0
      CallCenterWeb.UI/js/main.js
  2. 197 0
      CallCenterWeb.UI/login.html

+ 549 - 0
CallCenterWeb.UI/js/main.js

@@ -0,0 +1,549 @@
1
+var ws, n = 0,
2
+	timer,hidTel,hidCallID,hidActionID;
3
+var lockReconnect = false; //避免重复连接
4
+var obj = {};
5
+
6
+var cls = 0;
7
+var lasttime = new Date().getTime();
8
+//创建scoket连接
9
+function createWebSocket() {
10
+	try {
11
+		$("#top-search li i").removeClass("active");
12
+		
13
+		Connect();
14
+	} catch(e) {
15
+		reconnect();
16
+	}
17
+}
18
+//连接
19
+function Connect() {
20
+
21
+		ws = new WebSocket("ws://" + huayi.config.socket_ip + ":" + huayi.config.socket_port);
22
+		ws.onopen = function() {
23
+			console.log(new Date() + "    " + "建立连接");
24
+
25
+			//心跳检测重置
26
+			heartCheck.reset().start();
27
+
28
+			cls = 0;
29
+			$(".Login").addClass("active");
30
+			//自动签入
31
+			lasttime = new Date().getTime();
32
+			obj.Type = "Login";
33
+			obj.AgentType = "0";
34
+			Send(); /*2018-05-19zhangshaungnan注释*/
35
+		};
36
+		//接收到消息的回调方法
37
+		ws.onmessage = function(evt) {
38
+			//如果获取到消息,心跳检测重置
39
+			//拿到任何消息都说明当前连接是正常的
40
+			heartCheck.reset().start();
41
+			var myDate = new Date();
42
+			console.log(myDate + "  receive  " + evt.data);
43
+			var data = JSON.parse(evt.data)[0];
44
+			if(data) {
45
+				var rlt = data.Result;
46
+				if(rlt == true) {
47
+					var type = data.Type;
48
+					switch(type.toLowerCase()) {
49
+						//case "heart": HeartBack(); break;//心跳
50
+						case "login":
51
+							LoginBack();
52
+							break; //签入
53
+						case "logout":
54
+							LogoutBack();
55
+							break; //签出
56
+						case "dropcall":
57
+							DropCallBack();
58
+							break; //挂断
59
+						case "makecall":
60
+							MakeCallBack();
61
+							break; //外呼
62
+						case "setstate":
63
+							SetState(data);
64
+							break; //置忙置闲
65
+							//case "saybusy": SayBusyBack(data); break;
66
+							//case "sayfree": SayFreeBack(data); break;
67
+						case "meeting":
68
+							MeetingBack();
69
+							break; //多方通话
70
+						case "transfer":
71
+							TransferBack();
72
+							break; //转移
73
+						case "hold":
74
+							HoldBack();
75
+							break; //保持
76
+						case "retrieve":
77
+							RetrieveBack();
78
+							break; //接回
79
+						case "incoming":
80
+							IncomingBack(data);
81
+							break; //来电
82
+						case "subscribe":
83
+							SubScribeBack();
84
+							break; //监测
85
+						case "subscribecancel":
86
+							SubScribeCancelBack();
87
+							break; //停止监测
88
+						case "agentstate":
89
+							AgentStateBack(data);
90
+							break; //坐席状态
91
+						case "linestate":
92
+							LineStateBack(data);
93
+							break; //线路状态
94
+						case "motorsetstate":
95
+							SayFreeBack();
96
+							break; //班长置闲
97
+						case "linestateagent":
98
+							LineStateAgentBack(data);
99
+							break; //线路状态通知
100
+//						case "agentstateagent":
101
+//	                        AgentStateAgentBack(data);
102
+//	                        break; //坐席状态通知
103
+	                        
104
+						case "callid":
105
+							CallIDBack(data);
106
+							break; //获取callid
107
+						case "recordpath":
108
+							RecordPathBack(data);
109
+							break; //录音返回
110
+
111
+					}
112
+				} else {
113
+					if(rlt == false) {
114
+                        //$(".hwzt").text('操作失败!');
115
+                        //外呼失败的文字展示
116
+                        if (data.Type.toLowerCase() == "makecall") {
117
+                            switch (data.ErrorCode) {
118
+                                case 1: $(".hwzt").text(' 挂机,请重试!'); break;
119
+                                case 2: $(".hwzt").text(' FS外呼命令失败,请重试!'); break;
120
+                                case 3: $(".hwzt").text(' 外呼获取座席失败,请重试!'); break;
121
+                                case 4: $(".hwzt").text(' 座席置忙禁止座席外呼,请重试!'); break;
122
+                                case 5: $(".hwzt").text(' 主叫座席分机非空闲或摘机拨号,请重试!'); break;
123
+                                case 6: $(".hwzt").text(' 为外呼设置座席状态失败,请重试!'); break;
124
+                                case 7: $(".hwzt").text(' 被叫座席非空闲,请重试!'); break;
125
+                                case 8: $(".hwzt").text(' 执行分机呼叫失败, 未找到分机通道,请重试!'); break;
126
+                                case 9: $(".hwzt").text(' 执行分机呼叫失败, 无法绑定分机通道,请重试!'); break;
127
+                                case 10: $(".hwzt").text(' 禁止分机自呼,请重试!'); break;
128
+                                case 11: $(".hwzt").text(' 发送分机呼叫Esl命令失败,请重试!'); break;
129
+                                case 12: $(".hwzt").text(' 目标分机非空闲,请重试!'); break;
130
+                                case 13: $(".hwzt").text(' 主控通道非空闲,请重试!'); break;
131
+                                case 14: $(".hwzt").text(' 校验不通过绑定本端逻辑线路失败,请重试!'); break;
132
+                                case 15: $(".hwzt").text(' 校验不通过本端当前线路忙,请重试!'); break;
133
+                                case 16: $(".hwzt").text(' 校验不通过对端线路状态忙,请重试!'); break;
134
+                                case 17: $(".hwzt").text(' 被叫关机,请重试!'); break;
135
+                                case 18: $(".hwzt").text(' 无效号码,请重试!'); break;
136
+                                case 19: $(".hwzt").text(' 无人接听,请重试!'); break;
137
+                                case 20: $(".hwzt").text(' 交换机错误(用户无法接通),请重试!'); break;
138
+                                case 21: $(".hwzt").text(' 话机外呼执行数据交换操作失败未找到分机通道,请重试!'); break;
139
+                                case 22: $(".hwzt").text(' 话机外呼执行数据交换操作失败分机通道未绑定任务,请重试!'); break;
140
+                                case 23: $(".hwzt").text(' 执行设备外呼任务失败无法获取对应线路,请重试!'); break;
141
+                            }
142
+                        }
143
+						if(data.Type=='AcdConnectNotify'){
144
+							$("#top-search li i").removeClass("active");
145
+							$(".hwzt").text('Acd未连接');
146
+						}
147
+					} else {
148
+						$(".hwzt").text(rlt);
149
+						//layer.confirm(rlt, {
150
+						//    btn: ['确定']
151
+						//});
152
+					}
153
+				}
154
+			}
155
+		};
156
+		//连接关闭的回调方法
157
+		ws.onclose = function(evt) {
158
+			if(cls == 0) {
159
+				cls = 1;
160
+				//console.log("连接关闭!");
161
+				//layer.confirm('连接关闭!', {
162
+				//    btn: ['确定']
163
+				//});
164
+				$(".hwzt").text('连接关闭!');
165
+				$("#top-search li i").removeClass("active");
166
+				reconnect();
167
+			}
168
+		};
169
+		//连接发生错误的回调方法
170
+		ws.onerror = function(evt) {
171
+			//产生异常
172
+			$(".hwzt").text('连接出现异常!');
173
+			console.log(ws);
174
+			if(ws == null || ws.readyState != ws.OPEN) {
175
+				console.log(new Date() + "开始重连");
176
+				reconnect();
177
+			}
178
+
179
+		};
180
+}
181
+
182
+//重连
183
+function reconnect() {
184
+	if(lockReconnect) return;
185
+	lockReconnect = true;
186
+	//没连接上会一直重连,设置延迟避免请求过多
187
+	setTimeout(function() {
188
+		console.log(new Date() + "    " + "重连中……");
189
+		createWebSocket("ws://" + huayi.config.socket_ip + ":" + huayi.config.socket_port);
190
+		lockReconnect = false;
191
+	}, 2000);
192
+}
193
+//发送
194
+function Send() {
195
+	if(ws.readyState != ws.OPEN) {
196
+		reconnect();
197
+	}
198
+	if(ws.readyState == ws.OPEN) {
199
+		console.log(new Date() + "  send  " + JSON.stringify(obj));
200
+		ws.send(JSON.stringify(obj));
201
+	}
202
+}
203
+//心跳检测
204
+var heartCheck = {
205
+	timeout: 25000, //25秒
206
+	timeoutObj: null,
207
+	serverTimeoutObj: null,
208
+	reset: function() {
209
+		clearTimeout(this.timeoutObj);
210
+		clearTimeout(this.serverTimeoutObj);
211
+		return this;
212
+	},
213
+	start: function() {
214
+		var self = this;
215
+		this.timeoutObj = setTimeout(function() {
216
+			//这里发送一个心跳,后端收到后,返回一个心跳消息,
217
+			//onmessage拿到返回的心跳就说明连接正常
218
+			obj.Type = "Heart";
219
+			Send();
220
+			self.serverTimeoutObj = setTimeout(function() { //如果超过一定时间还没重置,说明后端主动断开了
221
+				ws.close(); //如果onclose会执行reconnect,我们执行ws.close()就行了.如果直接执行reconnect 会触发onclose导致重连两次
222
+			}, self.timeout)
223
+		}, this.timeout)
224
+	}
225
+}
226
+
227
+//签入
228
+function LoginBack() {
229
+	$("#top-search li i").removeClass("active");
230
+	$(".Logout").addClass("active");
231
+	$(".SayBusy").addClass("active");
232
+	$(".MakeCall").addClass("active");
233
+
234
+	$(".zxzt").removeClass("br").addClass("bl");
235
+	$(".fwzt").removeClass("br").addClass("bl");
236
+	$(".hwzt").text('空闲');
237
+}
238
+//签出
239
+function LogoutBack() {
240
+	$("#top-search li i").removeClass("active");
241
+	$(".Login").addClass("active");
242
+	$(".zxzt").removeClass("bl").addClass("br");
243
+	$(".fwzt").removeClass("bl").addClass("br");
244
+	$(".hwzt").text('');
245
+}
246
+//来电
247
+function IncomingBack(data) {
248
+	if(data.CallID!=0){
249
+		var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID=' + data.CallID + '">来电弹屏' + data.Number + ' <i class="fa fa-times-circle"></i></a>';
250
+		$(".J_menuTab").removeClass("active");
251
+		var nif = '<iframe class="J_iframe J_iframeNew" name="iframe'+ data.CallID  +'"  width="100%" height="100%" src="./callScreen/callScreen.html?Number=' + data.Number + '&CallID=' + data.CallID + '&ActionID=' + data.ActionID + '" frameborder="0" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID=' + data.CallID + '" seamless></iframe>';
252
+		$(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nif);
253
+		$(".J_menuTabs .page-tabs-content").append(p);
254
+		hidTel=data.Number;
255
+		hidCallID=data.CallID;
256
+		hidActionID=data.ActionID;
257
+	}else{
258
+	var timestamp = Date.parse(new Date());
259
+	var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID='+timestamp+'">来电弹屏' + data.Number + ' <i class="fa fa-times-circle"></i></a>';
260
+	$(".J_menuTab").removeClass("active");
261
+	var nif = '<iframe class="J_iframe J_iframeNew" name="iframe'+timestamp+'"  width="100%" height="100%" src="./callScreen/callScreen.html?Number=' + data.Number + '&CallID='+timestamp+'" frameborder="0" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID='+timestamp+'" seamless></iframe>';
262
+	$(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nif);
263
+	$(".J_menuTabs .page-tabs-content").append(p);
264
+	hidTel=data.Number;
265
+	hidCallID=timestamp;
266
+	}
267
+	
268
+}
269
+
270
+//***************************************************
271
+function CallIDBack(data) {
272
+	//$(".hidCallID").val(data.CurrID);
273
+}
274
+
275
+//挂断
276
+function DropCallBack() {
277
+	$("#top-search li i").removeClass("active");
278
+	$(".Logout").addClass("active");
279
+	$(".SayBusy").addClass("active");
280
+	$(".MakeCall").addClass("active");
281
+	var obj = $("iframe:visible")
282
+//  if (obj.attr("data-id") == './callScreen/callScreen.html?tel=' + hidTel + '&CallID=' + hidCallID + '') {
283
+//	        window.frames[obj.attr("name")].$(".td-call").hide();
284
+//	        window.frames['iframe'+ hidCallID +''].$(".td-call").hide();
285
+//	    }
286
+
287
+	if(window.frames['iframe'+ hidCallID +'']){
288
+		 window.frames['iframe'+ hidCallID +''].$(".td-call").hide();
289
+	}
290
+
291
+
292
+}
293
+//线路状态通知
294
+function LineStateAgentBack(data) {
295
+	 var objiframe = $("iframe:visible")
296
+	//0分机不可用,1空闲,2摘机等待拨号,3正在拨号,4呼出振铃,5来电振铃,6通话中,7播放忙音中,8移除IP分机,9通话保持中
297
+	if(data.State == '0') {
298
+		$(".hwzt").text('分机不可用'); //左下角状态显示
299
+		//$(".fwzt").removeClass("br").removeClass("bl");
300
+		$(".fwzt").removeClass("bl").addClass("br");//20180509 by fanlongfei 增加话机状态灯
301
+		$(".zxzt").removeClass("bl").addClass("br");//20180509 by fanlongfei 增加坐席状态灯
302
+	}
303
+	if(data.State == '1') {
304
+//		var isml=0;
305
+		if($("#isml").val()==1){
306
+//			isml=1;
307
+			$(".hwzt").text('置忙'); //左下角状态显示
308
+			$(".zxzt").removeClass("bl").addClass("br");
309
+		}
310
+		else{
311
+			$(".hwzt").text('空闲'); //左下角状态显示
312
+			$(".zxzt").removeClass("br").addClass("bl");
313
+		}
314
+		
315
+		$(".fwzt").removeClass("br").addClass("bl");
316
+//		$(".zxzt").removeClass("br").addClass("bl");//20180509 by fanlongfei 增加坐席状态灯
317
+		if(window.frames['iframe'+ hidCallID +'']){
318
+			 window.frames['iframe'+ hidCallID +''].clearInter();
319
+		}
320
+		 if (hidTel && hidCallID) {
321
+            $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateGJ', {
322
+                callid: hidTel,
323
+                "token": $.cookie("token")
324
+            }, function (result) {
325
+                result = JSON.parse(result);
326
+                if (result.state.toLowerCase() == "success") { }
327
+            })
328
+        }
329
+		$("#top-search li i").removeClass("active");
330
+		$(".Logout").addClass("active");
331
+		if($("#isml").val()==0){
332
+		$(".SayBusy").addClass("active");
333
+		}
334
+		else{
335
+			$(".SayFree").addClass("active");
336
+		}
337
+		$(".MakeCall").addClass("active");
338
+
339
+		if(window.frames['iframe'+ hidCallID +'']){
340
+			  window.frames['iframe'+ hidCallID +''].$(".td-call").hide();
341
+		}
342
+	}
343
+	if(data.State == '2') {
344
+		$(".hwzt").text('摘机等待拨号'); //左下角状态显示
345
+	}
346
+	if(data.State == '3') {
347
+		$(".hwzt").text('正在拨号'); //左下角状态显示
348
+	}
349
+	if(data.State == '4') {
350
+		$(".hwzt").text('呼出振铃'); //左下角状态显示
351
+	}
352
+	if(data.State == '5') {
353
+		$(".hwzt").text('来电振铃'); //左下角状态显示
354
+		//$(".fwzt").removeClass("bl").addClass("br");
355
+		$(".fwzt").removeClass("br").addClass("bl");//20180509 by fanlongfei 增加话机状态灯
356
+		$(".zxzt").removeClass("bl").addClass("br");//20180509 by fanlongfei 增加坐席状态灯
357
+		if (hidTel && hidCallID) {
358
+            $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZL', {
359
+                callid: hidCallID,
360
+                "token": $.cookie("token")
361
+            }, function (result) {
362
+                result = JSON.parse(result);
363
+                if (result.state.toLowerCase() == "success") { }
364
+            })
365
+        }
366
+	}
367
+	if(data.State == '6') {
368
+		$(".hwzt").text('通话中'); //左下角状态显示
369
+		$(".fwzt").removeClass("bl").addClass("br");
370
+		$(".zxzt").removeClass("bl").addClass("br");//20180509 by fanlongfei 增加坐席状态灯
371
+		if(hidTel && hidCallID) {
372
+			$.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZJ', {
373
+				callid: hidCallID,
374
+				"token": $.cookie("token")
375
+			}, function(result) {
376
+				result = JSON.parse(result);
377
+				if(result.state.toLowerCase() == "success") {}
378
+			})
379
+		}
380
+		$("#top-search li i").removeClass("active");
381
+		$(".DropCall").addClass("active");
382
+		$(".Hold").addClass("active");
383
+		$(".Transfer").addClass("active");
384
+		$(".Meeting").addClass("active");
385
+		if(data.CallDirection=="in"){
386
+			window.frames['iframe'+ hidCallID +''].window.onload = function(){
387
+				var callingFun = window.frames['iframe'+ hidCallID +''].window.calling;
388
+				callingFun();
389
+			}
390
+//			if (objiframe.attr("data-id") == './callScreen/callScreen.html?tel=' + hidTel + '&CallID=' + hidCallID + '') {
391
+//				setTimeout (window.frames['iframe'+ hidCallID +''].onload.calling(),500);/*2018-05-19 zhangshuangnan 修改  ps: 因软电话设置为 自动应答 通话时间不计时问题*/
392
+//		    }
393
+		}
394
+	}
395
+	if(data.State == '7') {
396
+		$(".hwzt").text('播放忙音中'); //左下角状态显示
397
+	}
398
+	if(data.State == '8') {
399
+		$(".hwzt").text('移除IP分机'); //左下角状态显示
400
+	}
401
+	if(data.State == '9') {
402
+		$(".hwzt").text('通话保持中'); //左下角状态显示
403
+	}
404
+}
405
+
406
+function toDub(i) {
407
+	return i < 10 ? "0" + i : "" + i;
408
+}
409
+//外呼
410
+function MakeCallBack() {
411
+	$("#top-search li i").removeClass("active");
412
+	$(".DropCall").addClass("active");
413
+//	alert('1');
414
+//	 window.frames[obj.attr("name")].calling();
415
+}
416
+
417
+//置忙置闲
418
+function SetState(obj) {
419
+	if(obj.State == '5') {
420
+		$(".SayBusy").removeClass("active");
421
+		$(".SayFree").addClass("active");
422
+		$(".zxzt").removeClass("bl").addClass("br");
423
+		$(".hwzt").text('置忙');
424
+		$("#isml").val(1)
425
+
426
+	}
427
+	if(obj.State == '2') {
428
+		$(".SayBusy").addClass("active");
429
+		$(".SayFree").removeClass("active");
430
+		$(".zxzt").removeClass("br").addClass("bl");
431
+		$(".hwzt").text('空闲');
432
+		$("#isml").val(0)
433
+	}
434
+}
435
+//置忙
436
+function SayBusyBack() {
437
+	$(".SayBusy").removeClass("active");
438
+	$(".SayFree").addClass("active");
439
+	$("#isml").val(1)
440
+}
441
+//坐席班长置闲
442
+function SayFreeBack() {
443
+	$(".SayBusy").addClass("active");
444
+	$(".SayFree").removeClass("active");
445
+	$(".zxzt").removeClass("br").addClass("bl"); // 2018/05/09 by fanlongfei 增加坐席状态指示
446
+	$(".hwzt").text('空闲');// 2018/05/09 by fanlongfei 增加坐席状态指示
447
+	$("#isml").val(0)
448
+}
449
+//多方通话
450
+function MeetingBack() {
451
+
452
+}
453
+//转移
454
+function TransferBack() {
455
+	$("#top-search li i").removeClass("active");
456
+	$(".Logout").addClass("active");
457
+	$(".SayBusy").addClass("active");
458
+	$(".MakeCall").addClass("active");
459
+}
460
+//保持
461
+function HoldBack() {
462
+	$(".Hold").removeClass("active");
463
+	$(".Retrieve").addClass("active");
464
+}
465
+//接回
466
+function RetrieveBack() {
467
+	$(".Hold").addClass("active");
468
+	$(".Retrieve").removeClass("active");
469
+}
470
+//监测
471
+function SubScribeBack() {
472
+	$('#content-main .J_iframeNew').each(function(i,n){
473
+		if($(this).attr('data-id') == "./TelCall/SeatMonitor.html"){
474
+			window.frames[$(this).attr("name")].Start();
475
+		}
476
+	})/*2018-05-24 zhangshuangnan 修改 解决通话中时 坐席监控状态不改变的问题*/
477
+	
478
+	
479
+}
480
+//取消监测
481
+function SubScribeCancelBack() {
482
+//	var obj = $("iframe:visible")
483
+//	if(obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
484
+//		window.frames[obj.attr("name")].();
485
+//	}
486
+	$('#content-main .J_iframeNew').each(function(i,n){
487
+		if($(this).attr('data-id') == "./TelCall/SeatMonitor.html"){
488
+			window.frames[$(this).attr("name")].Stop();
489
+		}
490
+	})/*2018-05-24 zhangshuangnan 修改 解决通话中时 坐席监控状态不改变的问题*/
491
+	
492
+}
493
+//班长监测返回状态
494
+//坐席状态
495
+function AgentStateBack(data) {
496
+	$('#content-main .J_iframeNew').each(function(i,n){
497
+		if($(this).attr('data-id') == "./TelCall/SeatMonitor.html"){
498
+			window.frames[$(this).attr("name")].UpdateAgentState(data.AgentID, data.State);
499
+		}
500
+	})/*2018-05-24 zhangshuangnan 修改 解决通话中时 坐席监控状态不改变的问题*/
501
+}
502
+//线路状态
503
+function LineStateBack(data) {
504
+	$('#content-main .J_iframeNew').each(function(i,n){
505
+		if($(this).attr('data-id') == "./TelCall/SeatMonitor.html"){
506
+			window.frames[$(this).attr("name")].UpdateLineState(data.AgentID, data.State);
507
+		}
508
+	})/*2018-05-24 zhangshuangnan 修改 解决通话中时 坐席监控状态不改变的问题*/
509
+}
510
+//录音返回
511
+function RecordPathBack(data) {
512
+	$(".hidCallID").val(data.CallID);
513
+	//if ($(".hidTel").val() && $(".hidCallID").val()) {
514
+	//    $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateLY', { callid: $(".hidCallID").val(),path:data.RecPath, "token": $.cookie("token") }, function (result) {
515
+	//        result = JSON.parse(result);
516
+	//        if (result.state.toLowerCase() == "success") {
517
+	//        }
518
+	//    })
519
+	//}
520
+	
521
+	if(hidTel) {
522
+		$.post(huayi.config.callcenter_url + 'CallInScreen/UpdateLY', {
523
+			callid: data.CallID,
524
+			path: data.RecPath,
525
+			"token": $.cookie("token")
526
+		}, function(result) {
527
+			result = JSON.parse(result);
528
+			if(result.state.toLowerCase() == "success") {}
529
+		})
530
+	}
531
+}
532
+//获取当前的日期时间 格式“yyyy-MM-dd HH:mm:ss”
533
+function getNowFormatDate() {
534
+	var date = new Date();
535
+	var seperator1 = "-";
536
+	var seperator2 = ":";
537
+	var month = date.getMonth() + 1;
538
+	var strDate = date.getDate();
539
+	if(month >= 1 && month <= 9) {
540
+		month = "0" + month;
541
+	}
542
+	if(strDate >= 0 && strDate <= 9) {
543
+		strDate = "0" + strDate;
544
+	}
545
+	var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate +
546
+		" " + date.getHours() + seperator2 + date.getMinutes() +
547
+		seperator2 + date.getSeconds();
548
+	return currentdate;
549
+}

+ 197 - 0
CallCenterWeb.UI/login.html

@@ -0,0 +1,197 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+<head>
4
+    <meta charset="utf-8">
5
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
6
+    <title>登录</title>
7
+    <meta name="keywords">
8
+    <meta name="description">
9
+    <meta name="renderer" content="webkit|ie-comp|ie-stand" />
10
+    <link rel="shortcut icon" href="img/32.ico" />
11
+    <script src="Script/Common/huayi.load.js"></script>
12
+    <script src="Script/Common/huayi.config.js"></script>
13
+    <link href="./css/login.css" rel="stylesheet">
14
+    <!--[if lt IE 9]>
15
+    <meta http-equiv="refresh" content="0;ie.html" />
16
+    <![endif]-->
17
+    <style>
18
+    	.signin_left{
19
+    		position: relative;
20
+    	}
21
+    	.left_word{
22
+    		position: absolute;
23
+    		height: 100%;
24
+    		width: 50%;
25
+    	}
26
+    	.left_word>div{
27
+		    position: absolute;
28
+		    right: 0;
29
+		    bottom: 23%
30
+    	}
31
+    	
32
+    	.left_word>div h2 + p{
33
+			margin-top: 22.163%;
34
+			margin-bottom: 22.163%;
35
+			font-size: 18px;
36
+		}
37
+		.signin_left h3{
38
+			font-size: 24px;
39
+			color: #006967;
40
+			margin-bottom: 2.5%;
41
+		}
42
+		.signin_left h3 + p{
43
+			line-height: 30px;
44
+			font-size: 18px;
45
+		}
46
+    	
47
+    </style>
48
+    
49
+    
50
+</head>
51
+
52
+<body class="signin">
53
+    <div class="signin_bg row">
54
+        <div class="signin_bg_left col-md-5"></div>
55
+        <div class="signin_bg_mask"></div>
56
+           <div class="left_word">
57
+           	<!--<div>
58
+           		  	 <h3>用心做,更出色</h3>
59
+                <p>致力于临床实验技术的普及和提高,为人类健康服务</p>
60
+           	</div>-->
61
+           </div>
62
+    </div>
63
+    <div class="container">
64
+        <div class="row clearfix">
65
+            <div class="signin_left col-md-5">
66
+               <!--<h2>
67
+                   <i></i>
68
+                    <span>全客服平台</span>
69
+                </h2>-->
70
+                <!--<p>欢迎您进入全客服平台,开启智慧客服新篇章!</p>-->
71
+                <!--<div class="left_word">
72
+                	 <h3>用心做,更出色</h3>
73
+                <p>致力于临床实验技术的普通和提高,为人类健康服务</p>
74
+                </div>-->
75
+            </div>
76
+            <div class="signin_right col-md-5">
77
+                <div class="signin_panel">
78
+                	<div class="logo_title">
79
+                		<img src="img/snLogo.png" alt=""width="50px" height="50px"/>
80
+                		<span>双汇客服中心管理系统</span>
81
+                	</div>
82
+                    <!--<h1>思念呼叫中心管理系统</h1>-->
83
+                    <div class="signin_user">
84
+                        <i class="signin_icons"></i>
85
+                        <input class="form-control" type="text" placeholder="请输入您的管理账号" id="user" autofocus autocomplete="off">
86
+                        <i class="ts user_ts"></i>
87
+                    </div>
88
+                    <div class="signin_seat">
89
+                        <i class="signin_icons"></i>
90
+                        <input class="form-control" type="text" placeholder="请输入分机号" id="userSeat" autocomplete="off">
91
+                    </div>
92
+                    <div class="signin_password">
93
+                        <i class="signin_icons"></i>
94
+                        <input class="form-control" type="password" placeholder="请输入您的密码" id="password" autocomplete="off">
95
+                        <i class="ts password_ts"></i>
96
+                    </div>
97
+                    <div class="clearfix singin_rpassword">
98
+                        <div class="rpassword">
99
+                            <label for="rpassword">
100
+                                <input type="checkbox" id="rpassword">
101
+                                <span class="checkbox_icon"></span>
102
+                                	记住密码
103
+                            </label>
104
+                        </div>
105
+                    </div>
106
+                    <div class="btns" type="button">登录</div>
107
+                    <div class="signfooter">
108
+                        <a href="ExeWork/LeCallCenterSetup.exe">下载客户端|</a>
109
+                        <a href="ExeWork/Microsoft.NET4.5.2.exe">下载安装环境|</a>
110
+                        <a href="ExeWork/vc_redist.x86.exe">安装包异常补充包</a>
111
+                    </div>
112
+                </div>
113
+            </div>
114
+        </div>
115
+    </div>
116
+    <script>
117
+        $(function () {
118
+            /*输入框样式改变*/
119
+            $("#user").focus(function () {
120
+                $(this).parent().addClass("_success");
121
+            });
122
+            $("#user").blur(function () {
123
+                $(this).parent().removeClass("_success");
124
+            });
125
+            $("#password").focus(function () {
126
+                $(this).parent().addClass("_success");
127
+            });
128
+            $("#password").blur(function () {
129
+                $(this).parent().removeClass("_success");
130
+            });
131
+
132
+            /*cook存储数据*/
133
+            if ($.cookie("username")) {
134
+                //取值如果存在则赋值
135
+                $("#user").val($.cookie("user"));//用户名
136
+            }
137
+
138
+            $(".btns").click(function () {
139
+                login();
140
+            });
141
+
142
+            $('input').bind('keypress', function (event) {
143
+                if (event.keyCode == "13") {
144
+                    $('.btns').trigger("click");
145
+                }
146
+            });
147
+
148
+        });
149
+        /*点击提交*/
150
+        function login() {
151
+            var User = $("#user").val();
152
+            var Password = $("#password").val();
153
+            var userSeat = $("#userSeat").val();
154
+            /*保存COOK*/
155
+            //$.cookie("user", $("#user").val(),{expires: 7,secure:true});
156
+            /*表单验证*/
157
+            if (!User|| !Password) {
158
+                $(".ts").addClass("Yz_error");
159
+                if ($("#user").val() == "") {
160
+                    $("#user").focus(function () {
161
+                        $(".user_ts").removeClass("Yz_error");
162
+                        $(".password_ts").removeClass("Yz_error");
163
+                        $(this).parent().addClass("_success");
164
+                    });
165
+                } else {
166
+                    $(".user_ts").addClass("Yz_success");
167
+                }
168
+            } else {
169
+                /*请求后台*/
170
+                $.ajax({
171
+                    type: "post",
172
+                    url: huayi.config.callcenter_url + "/Login/login",
173
+                    dataType: 'json',
174
+                    async: true,
175
+                    data: {
176
+                        username: User,
177
+                        extensionphone: userSeat,
178
+                        password: Password
179
+                    },
180
+                    success: function (data) {
181
+                        /*验证请求*/
182
+                        if (data.state == "success") {
183
+                            $.cookie("token", data.data.token, { expires: 7 });
184
+                            $.cookie("extno", userSeat, { expires: 7 });
185
+                            window.location.href = "index.html";
186
+                        } else {
187
+                            layer.msg("登录失败");
188
+                        }
189
+                    }
190
+                });
191
+            }
192
+        }
193
+
194
+
195
+    </script>
196
+</body>
197
+</html>