| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157 |
-
- var ws, n = 0, timer;
- var lockReconnect = false;//避免重复连接
- var obj = {};
- var cls = 0;
- var lasttime = new Date().getTime();
- //创建scoket连接
- function createWebSocket() {
- try {
- $("#top-search li i").removeClass("active");
- ws = new WebSocket("ws://" + huayi.config.socket_ip + ":" + huayi.config.socket_port);
- Connect();
- } catch (e) {
- reconnect();
- }
- }
- //连接
- function Connect() {
- try {
- ws.onopen = function () {
- console.log(new Date() + " " + "建立连接");
- //心跳检测重置
- heartCheck.reset().start();
- cls = 0;
- $(".Login").addClass("active");
- //自动签入
- //lasttime = new Date().getTime();
- //obj.Type = "Login";
- //obj.AgentType = "0";
- Send();
- };
- //接收到消息的回调方法
- ws.onmessage = function (evt) {
- //如果获取到消息,心跳检测重置
- //拿到任何消息都说明当前连接是正常的
- heartCheck.reset().start();
- var myDate = new Date();
- console.log(myDate + " " + evt.data);
- var data = JSON.parse(evt.data)[0];
- if (data) {
- var rlt = data.Result;
- if (rlt == true) {
- var type = data.Type;
- switch (type.toLowerCase()) {
- //case "heart": HeartBack(); break;//心跳
- case "login": LoginBack(); break;//签入
- case "logout": LogoutBack(); break;//签出
- case "dropcall": DropCallBack(); break;//挂断
- case "makecall": MakeCallBack(); break;//外呼
- case "setstate": SetState(data); break;//置忙置闲
- //case "saybusy": SayBusyBack(data); break;
- //case "sayfree": SayFreeBack(data); break;
- case "meeting": MeetingBack(); break;//多方通话
- case "transfer": TransferBack(); break;//转移
- case "hold": HoldBack(); break;//保持
- case "retrieve": RetrieveBack(); break;//接回
- case "incoming": IncomingBack(data); break;//来电
- case "subscribe": SubScribeBack(); break;//监测
- case "subscribecancel": SubScribeCancelBack(); break;//停止监测
- case "agentstate": AgentStateBack(data); break;//坐席状态
- case "linestate": LineStateBack(data); break;//线路状态
- case "motorsetstate": SayFreeBack(); break;//班长置闲
- case "linestateagent": LineStateAgentBack(data); break;//线路状态通知
- //case "callid": CallIDBack(data); break;//获取callid 此方法无用
- case "recordpath": RecordPathBack(data); break;//录音返回
- }
- }
- else {
- if (rlt == false) {
- //layer.confirm('操作失败!', {
- // btn: ['确定']
- //});
- $(".hwzt").text('操作失败!');
- }
- else {
- $(".hwzt").text(rlt);
- //layer.confirm(rlt, {
- // btn: ['确定']
- //});
- }
- }
- }
- };
- //连接关闭的回调方法
- ws.onclose = function (evt) {
- if (cls == 0) {
- cls = 1;
- //console.log("连接关闭!");
- //layer.confirm('连接关闭!', {
- // btn: ['确定']
- //});
- $(".hwzt").text('连接关闭!');
- $("#top-search li i").removeClass("active");
- reconnect();
- }
- };
- //连接发生错误的回调方法
- ws.onerror = function (evt) {
- //产生异常
- $(".hwzt").text('连接出现异常!');
- console.log(ws);
- if (ws == null || ws.readyState != ws.OPEN) {
- console.log(new Date() + "开始重连");
- reconnect();
- }
- };
- }
- catch (ex) {
- $(".hwzt").text('连接关闭 try-catch!');
- $("#top-search li i").removeClass("active");
- reconnect();
- }
- }
- //重连
- function reconnect() {
- if (lockReconnect) return;
- lockReconnect = true;
- //没连接上会一直重连,设置延迟避免请求过多
- setTimeout(function () {
- console.log(new Date() + " " + "重连中……");
- createWebSocket("ws://" + huayi.config.socket_ip + ":" + huayi.config.socket_port);
- lockReconnect = false;
- }, 2000);
- }
- //发送
- function Send() {
- if (ws.readyState != ws.OPEN) {
- reconnect();
- }
- if (ws.readyState == ws.OPEN) {
- var myDate = new Date();
- console.log(obj)
- ws.send(JSON.stringify(obj));
- }
- }
- //心跳检测
- var heartCheck = {
- timeout: 25000,//25秒
- timeoutObj: null,
- serverTimeoutObj: null,
- reset: function () {
- clearTimeout(this.timeoutObj);
- clearTimeout(this.serverTimeoutObj);
- return this;
- },
- start: function () {
- var self = this;
- this.timeoutObj = setTimeout(function () {
- //这里发送一个心跳,后端收到后,返回一个心跳消息,
- //onmessage拿到返回的心跳就说明连接正常
- obj.Type = "Heart";
- Send();
- self.serverTimeoutObj = setTimeout(function () {//如果超过一定时间还没重置,说明后端主动断开了
- ws.close();//如果onclose会执行reconnect,我们执行ws.close()就行了.如果直接执行reconnect 会触发onclose导致重连两次
- }, self.timeout)
- }, this.timeout)
- }
- }
- //签入
- function LoginBack() {
- $("#top-search li i").removeClass("active");
- $(".Logout").addClass("active");
- $(".SayBusy").addClass("active");
- $(".MakeCall").addClass("active");
- $(".zxzt").removeClass("br").addClass("bl");
- $(".fwzt").removeClass("br").addClass("bl");
- $(".hwzt").text('');
- }
- //签出
- function LogoutBack() {
- $("#top-search li i").removeClass("active");
- $(".Login").addClass("active");
- $(".zxzt").removeClass("bl").addClass("br");
- $(".fwzt").removeClass("bl").addClass("br");
- $(".hwzt").text('');
- }
- //来电
- function IncomingBack(data) {
- $(".hidTel").val(data.Number);
- $(".tel").text(data.Number);
- $(".ldtime").text(getNowFormatDate());
- $(".thsc").text("00:00");
- //自动外呼弹屏
- if (data.NumberId !== '' && typeof data.NumberId !== 'undefined') {
- //根据NumberId去除号码前缀
- $.getJSON(huayi.config.callcenter_url + 'CallPlan/RemovePre', { "callId": data.NumberId, "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- if (result.state.toLowerCase() == "success") {
- $(".hidTel").val(result.data);
- $(".tel").text(result.data);
- //获取电话所属地
- $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- if (result.state.toLowerCase() == "success") {
- $(".khgsd").text(result.data);
- }
- })
- }
- })
- }
- //来电弹屏
- else if (data.CallID !== '' && typeof data.CallID !== 'undefined') {
- $("#zxdh_").val(data.Number);
- $("#tsdh").val(data.Number);
- $(".hidCallID").val(data.CallID);
- //获取电话所属地
- $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- if (result.state.toLowerCase() == "success") {
- $(".khgsd").text(result.data);
- }
- })
- }
- //获取客户信息
- $(".ldtel").text($(".hidTel").val());
- $("#tsdh").val($(".hidTel").val());
- $(".ldtel1").val($(".hidTel").val());
- $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetCustomerByTel', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- if (result.state.toLowerCase() == "success") {
- if (result.data.length > 0) {
- $("#zxr_").val(result.data[0].F_CustomerName);
- $("#tskh").val(result.data[0].F_CustomerName);
- $("#khid").val(result.data[0].F_CustomerId);
- $(".khbh").val(result.data[0].F_CustomerCode);
- $(".ldtel1").val(result.data[0].F_Telephone);
- $(".ldtel2").val(result.data[0].F_Mobile);
- $(".ldtel3").val(result.data[0].F_ChargeTelephone);
- }
- }
- })
- //获取历史通话记录
- loadOld();
- $('.maxOpen').trigger("click");
- $('.head-pic .lahei .la-before').show();
- $('.head-pic .lahei .la-after').hide();
- $(".Bacha").hide();
- }
- //CallID 在 type=Incoming 时就已经返回了,此方法无用
- //function CallIDBack(data) {
- // //$(".hidCallID").val(data.CurrID);
- //}
- //挂断
- function DropCallBack() {
- $("#top-search li i").removeClass("active");
- $(".Logout").addClass("active");
- $(".SayBusy").addClass("active");
- $(".MakeCall").addClass("active");
- $(".td-call").hide();
- //$('.ldtp-con').css("display", 'none');
- }
- function LineStateAgentBack(data) {
- //0分机不可用,1空闲,2摘机等待拨号,3正在拨号,4呼出振铃,5来电振铃,6通话中,7播放忙音中,8移除IP分机,9通话保持中
- if (data.State == '0') {
- $(".hwzt").text('分机不可用');//左下角状态显示
- }
- if (data.State == '1') {
- $(".hwzt").text('空闲');//左下角状态显示
- $(".fwzt").removeClass("br").addClass("bl");
- clearInterval(timer);
- if ($(".hidTel").val() && $(".hidCallID").val()) {
- $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateGJ', { callid: $(".hidCallID").val(), "token": $.cookie("token") }, function (result) {
- result = JSON.parse(result);
- if (result.state.toLowerCase() == "success") {
- }
- })
- }
- $("#top-search li i").removeClass("active");
- $(".Logout").addClass("active");
- $(".SayBusy").addClass("active");
- $(".MakeCall").addClass("active");
- $(".td-call").hide();
- $(".Bacha").show();
- //$(".hidTel").val("");
- //$(".hidCallID").val("");
- }
- if (data.State == '2') {
- $(".hwzt").text('摘机等待拨号');//左下角状态显示
- }
- if (data.State == '3') {
- $(".hwzt").text('正在拨号');//左下角状态显示
- }
- if (data.State == '4') {
- $(".hwzt").text('呼出振铃');//左下角状态显示
- }
- if (data.State == '5') {
- $(".hwzt").text('来电振铃');//左下角状态显示
- $(".fwzt").removeClass("bl").addClass("br");
- if ($(".hidTel").val() && $(".hidCallID").val()) {
- $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZL', { callid: $(".hidCallID").val(), "token": $.cookie("token") }, function (result) {
- result = JSON.parse(result);
- if (result.state.toLowerCase() == "success") {
- }
- })
- }
- }
- if (data.State == '6') {
- $(".hwzt").text('通话中');//左下角状态显示
- $(".fwzt").removeClass("bl").addClass("br");
- if ($(".hidTel").val() && $(".hidCallID").val()) {
- $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZJ', { callid: $(".hidCallID").val(), "token": $.cookie("token") }, function (result) {
- result = JSON.parse(result);
- if (result.state.toLowerCase() == "success") {
- }
- })
- }
- $(".td-call").show();
- n = 0;
- $("#top-search li i").removeClass("active");
- $(".DropCall").addClass("active");
- $(".Hold").addClass("active");
- $(".Transfer").addClass("active");
- $(".Meeting").addClass("active");
- clearInterval(timer);
- timer = setInterval(function () {
- n++;
- var m = parseInt(n / 60 % 60);
- var s = parseInt(n % 60);
- $(".thsc").text(toDub(m) + ":" + toDub(s));
- }, 1000);
- }
- if (data.State == '7') {
- $(".hwzt").text('播放忙音中');//左下角状态显示
- }
- if (data.State == '8') {
- $(".hwzt").text('移除IP分机');//左下角状态显示
- }
- if (data.State == '9') {
- $(".hwzt").text('通话保持中');//左下角状态显示
- }
- }
- function toDub(i) {
- return i < 10 ? "0" + i : "" + i;
- }
- //外呼
- function MakeCallBack() {
- $("#top-search li i").removeClass("active");
- $(".DropCall").addClass("active");
- }
- //置忙置闲
- function SetState(obj) {
- if (obj.State == '5') {
- $(".SayBusy").removeClass("active");
- $(".SayFree").addClass("active");
- $(".zxzt").removeClass("bl").addClass("br");
- $(".hwzt").text('置忙');
- }
- if (obj.State == '2') {
- $(".SayBusy").addClass("active");
- $(".SayFree").removeClass("active");
- $(".zxzt").removeClass("br").addClass("bl");
- $(".hwzt").text('空闲');
- }
- }
- //置忙
- function SayBusyBack() {
- $(".SayBusy").removeClass("active");
- $(".SayFree").addClass("active");
- }
- //置闲
- function SayFreeBack() {
- $(".SayBusy").addClass("active");
- $(".SayFree").removeClass("active");
- }
- //多方通话
- function MeetingBack() {
- }
- //转移
- function TransferBack() {
- $("#top-search li i").removeClass("active");
- $(".Logout").addClass("active");
- $(".SayBusy").addClass("active");
- $(".MakeCall").addClass("active");
- }
- //保持
- function HoldBack() {
- $(".Hold").removeClass("active");
- $(".Retrieve").addClass("active");
- }
- //接回
- function RetrieveBack() {
- $(".Hold").addClass("active");
- $(".Retrieve").removeClass("active");
- }
- //监测
- function SubScribeBack() {
- var obj = $("iframe:visible")
- if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- window.frames[obj.attr("name")].Start();
- }
- }
- //取消监测
- function SubScribeCancelBack() {
- var obj = $("iframe:visible")
- if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- window.frames[obj.attr("name")].Stop();
- }
- }
- //班长监测返回状态
- //坐席状态
- function AgentStateBack(data) {
- var obj = $("iframe:visible")
- if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- window.frames[obj.attr("name")].UpdateAgentState(data.AgentID, data.State);
- }
- }
- //线路状态
- function LineStateBack(data) {
- var obj = $("iframe:visible")
- if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- window.frames[obj.attr("name")].UpdateLineState(data.AgentID, data.State);
- }
- }
- //录音返回
- function RecordPathBack(data) {
- //if ($(".hidTel").val() && $(".hidCallID").val()) {
- // $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateLY', { callid: $(".hidCallID").val(),path:data.RecPath, "token": $.cookie("token") }, function (result) {
- // result = JSON.parse(result);
- // if (result.state.toLowerCase() == "success") {
- // }
- // })
- //}
- if ($(".hidTel").val()) {
- $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateLY', { callid: data.CallID, path: data.RecPath, "token": $.cookie("token") }, function (result) {
- result = JSON.parse(result);
- if (result.state.toLowerCase() == "success") {
- }
- })
- }
- }
- //获取当前的日期时间 格式“yyyy-MM-dd HH:mm:ss”
- function getNowFormatDate() {
- var date = new Date();
- var seperator1 = "-";
- var seperator2 = ":";
- var month = date.getMonth() + 1;
- var strDate = date.getDate();
- if (month >= 1 && month <= 9) {
- month = "0" + month;
- }
- if (strDate >= 0 && strDate <= 9) {
- strDate = "0" + strDate;
- }
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
- + " " + date.getHours() + seperator2 + date.getMinutes()
- + seperator2 + date.getSeconds();
- return currentdate;
- }
- //来电弹屏
- laydate.skin('molv');
- //laydate({
- // elem: '#old_startTime',
- // event: 'focus'
- //});
- //laydate({
- // elem: '#old_endTime',
- // event: 'focus'
- //});
- //laydate({
- // elem: '#con_startTime',
- // event: 'focus'
- //});
- //laydate({
- // elem: '#con_endTime',
- // event: 'focus'
- //});
- //弹屏右侧切换效果
- $(".ldtp-cr ul.ld-service li").click(function () {
- $(this).addClass("cr-click").siblings().removeClass("cr-click");
- loadOld();
- });
- $('.pre-add').click(function () {
- var par = $(this).parent().parent();
- par.hide().siblings().show();
- })
- //最大化 最小化效果
- //最小化
- $('.minClosed').click(function () {
- $('.ldtp-con').removeClass('fadeInDown');
- $('.ldtp-con').addClass('fadeOutUp');
- $('.ldtp-con').css("display", "none");
- $('.maxOpen').show();
- $('.maxOpen').addClass('fadeInDown');
- });
- //最大化
- $('.maxOpen').click(function () {
- $('.ldtp-con').removeClass('fadeOutUp');
- $('.ldtp-con').addClass('fadeInDown');
- $('.ldtp-con').css("display", "block");
- $('.maxOpen').hide();
- $('.maxOpen').removeClass('fadeInDown');
- $('.maxOpen').addClass('fadeInDown');
- $('.first').removeClass('first');
- $('.ldtp-con').addClass('first');
- })
- //关闭弹框
- $(".Bacha").click(function () {
- $('.ldtp-con').removeClass('fadeInDown');
- $('.ldtp-con').addClass('fadeOutUp');
- $('.ldtp-con').css("display", "none");
- obj.Type = "SayFree";
- Send();
- })
- //顶部小头像
- var little_pic = $('.head-pic .hp-box img').attr("src");
- $('.maxOpen li .photo img').attr("src", little_pic);
- //点击左侧菜单来电弹屏显示
- $('.tantan').click(function () {
- $('.maxOpen').trigger("click");
- $('.head-pic .lahei .la-before').show();
- $('.head-pic .lahei .la-after').hide();
- loadOld();
- })
- //点击挂断
- $('.head-pic .td-call .take').click(function () {
- obj.Type = "DropCall";
- Send();
- });
- //点击拉黑事件
- $('.head-pic .lahei .la-before').click(function () {
- if (!$(".hidTel").val()) {
- layer.confirm('来电号码为空!', {
- btn: ['确定']
- });
- return;
- }
- $("#time-word").val('');
- $('.ldtp-con .hei-list').show();
- })
- //拉黑输入框事件
- $('.hei-list .bacha').click(function () {
- $('.ldtp-con .hei-list').hide();
- $("#time-word").val('');
- })
- var reg = /^\+?[1-9][0-9]*$/;
- $('#bc').click(function () {
- var n = $("#time-word").val();
- var val = $("input[name='time']:checked").val();
- if (n) {
- if (!(reg.test(n))) {
- layer.confirm('请输入整数时间!', {
- btn: ['确定']
- });
- return;
- }
- }
- else {
- if (val == '4') {
- n = 0;
- }
- else {
- layer.confirm('请输入整数时间!', {
- btn: ['确定']
- });
- return;
- }
- }
- $.post(huayi.config.callcenter_url + 'CallInScreen/AddBlack', { tel: $(".hidTel").val(), num: n, type: val, "token": $.cookie("token") }, function (result) {
- result = $.parseJSON(result);
- if (result.state.toLowerCase() == "success") {
- layer.msg("拉入黑名单成功");
- $('.la-shichang .blackTime').html(result.data);
- $('.ldtp-con .hei-list').hide();
- $('.head-pic .lahei .la-before').hide();
- $('.head-pic .lahei .la-after').show();
- $('.head-pic .lahei .retur').show();
- }
- })
- })
- $('.la-after').click(function () {
- if (!$(".hidTel").val()) {
- layer.confirm('来电号码为空!', {
- btn: ['确定']
- });
- return;
- }
- $("#time-word").val('');
- $('.ldtp-con .hei-list').show();
- $('.ldtp-con .hei-list').removeClass('bounceOutUp');
- $('.ldtp-con .hei-list').addClass('bounceIn');
- })
- $('.head-pic .lahei .retur').click(function () {
- $.getJSON(huayi.config.callcenter_url + 'CallInScreen/DelBlack', { tel: $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- if (result.state.toLowerCase() == "success") {
- layer.msg("取消黑名单成功");
- $('.head-pic .lahei .retur').hide();
- $('.head-pic .lahei .la-after').hide();
- $('.head-pic .lahei .la-before').show();
- }
- })
- })
- //var ws, n = 0, timer;
- //var lockReconnect = false;//避免重复连接
- //var obj = {};
- //var cls = 0;
- //var lasttime = new Date().getTime();
- ////创建scoket连接
- //function createWebSocket() {
- // try {
- // $("#top-search li i").removeClass("active");
- // ws = new WebSocket("ws://" + huayi.config.socket_ip + ":" + huayi.config.socket_port);
- // Connect();
- // } catch (e) {
- // reconnect();
- // }
- //}
- ////连接
- //function Connect() {
- // try {
- // ws.onopen = function () {
- // console.log(new Date() + " " + "建立连接");
- // //心跳检测重置
- // heartCheck.reset().start();
- // cls = 0;
- // $(".Login").addClass("active");
- // //自动签入
- // //lasttime = new Date().getTime();
- // //obj.Type = "Login";
- // //obj.AgentType = "0";
- // Send();
- // };
- // //接收到消息的回调方法
- // ws.onmessage = function (evt) {
- // //如果获取到消息,心跳检测重置
- // //拿到任何消息都说明当前连接是正常的
- // heartCheck.reset().start();
- // var myDate = new Date();
- // console.log(myDate + " receive " + evt.data);
- // var data = JSON.parse(evt.data)[0];
- // if (data) {
- // var rlt = data.Result;
- // if (rlt == true) {
- // var type = data.Type;
- // switch (type.toLowerCase()) {
- // //case "heart": HeartBack(); break;//心跳
- // case "login": LoginBack(); break;//签入
- // case "logout": LogoutBack(); break;//签出
- // case "dropcall": DropCallBack(); break;//挂断
- // case "makecall": MakeCallBack(); break;//外呼
- // case "setstate": SetState(data); break;//置忙置闲
- // //case "saybusy": SayBusyBack(data); break;
- // //case "sayfree": SayFreeBack(data); break;
- // case "meeting": MeetingBack(); break;//多方通话
- // case "transfer": TransferBack(); break;//转移
- // case "hold": HoldBack(); break;//保持
- // case "retrieve": RetrieveBack(); break;//接回
- // case "incoming": IncomingBack(data); break;//来电
- // case "subscribe": SubScribeBack(); break;//监测
- // case "subscribecancel": SubScribeCancelBack(); break;//停止监测
- // case "agentstate": AgentStateBack(data); break;//坐席状态
- // case "linestate": LineStateBack(data); break;//线路状态
- // case "motorsetstate": SayFreeBack(); break;//班长置闲
- // case "linestateagent": LineStateAgentBack(data); break;//线路状态通知
- // case "callid": CallIDBack(data); break;//获取callid
- // case "recordpath": RecordPathBack(data); break;//录音返回
- // }
- // }
- // else {
- // if (rlt == false) {
- // //layer.confirm('操作失败!', {
- // // btn: ['确定']
- // //});
- // $(".hwzt").text('操作失败!');
- // }
- // else {
- // $(".hwzt").text(rlt);
- // //layer.confirm(rlt, {
- // // btn: ['确定']
- // //});
- // }
- // }
- // }
- // };
- // //连接关闭的回调方法
- // ws.onclose = function (evt) {
- // if (cls == 0) {
- // cls = 1;
- // //console.log("连接关闭!");
- // //layer.confirm('连接关闭!', {
- // // btn: ['确定']
- // //});
- // $(".hwzt").text('连接关闭!');
- // $("#top-search li i").removeClass("active");
- // reconnect();
- // }
- // };
- // //连接发生错误的回调方法
- // ws.onerror = function (evt) {
- // //产生异常
- // $(".hwzt").text('连接出现异常!');
- // console.log(ws);
- // if (ws == null || ws.readyState != ws.OPEN) {
- // console.log(new Date() + "开始重连");
- // reconnect();
- // }
- // };
- // }
- // catch (ex) {
- // $(".hwzt").text('连接关闭 try-catch!');
- // $("#top-search li i").removeClass("active");
- // reconnect();
- // }
- //}
- ////重连
- //function reconnect() {
- // if (lockReconnect) return;
- // lockReconnect = true;
- // //没连接上会一直重连,设置延迟避免请求过多
- // setTimeout(function () {
- // console.log(new Date() + " " + "重连中……");
- // createWebSocket("ws://" + huayi.config.socket_ip + ":" + huayi.config.socket_port);
- // lockReconnect = false;
- // }, 2000);
- //}
- ////发送
- //function Send() {
- // if (ws.readyState != ws.OPEN) {
- // reconnect();
- // }
- // if (ws.readyState == ws.OPEN) {
- // console.log(new Date() + " send " + JSON.stringify(obj));
- // ws.send(JSON.stringify(obj));
- // }
- //}
- ////心跳检测
- //var heartCheck = {
- // timeout: 25000,//25秒
- // timeoutObj: null,
- // serverTimeoutObj: null,
- // reset: function () {
- // clearTimeout(this.timeoutObj);
- // clearTimeout(this.serverTimeoutObj);
- // return this;
- // },
- // start: function () {
- // var self = this;
- // this.timeoutObj = setTimeout(function () {
- // //这里发送一个心跳,后端收到后,返回一个心跳消息,
- // //onmessage拿到返回的心跳就说明连接正常
- // obj.Type = "Heart";
- // Send();
- // self.serverTimeoutObj = setTimeout(function () {//如果超过一定时间还没重置,说明后端主动断开了
- // ws.close();//如果onclose会执行reconnect,我们执行ws.close()就行了.如果直接执行reconnect 会触发onclose导致重连两次
- // }, self.timeout)
- // }, this.timeout)
- // }
- //}
- ////签入
- //function LoginBack() {
- // $("#top-search li i").removeClass("active");
- // $(".Logout").addClass("active");
- // $(".SayBusy").addClass("active");
- // $(".MakeCall").addClass("active");
- // $(".zxzt").removeClass("br").addClass("bl");
- // $(".fwzt").removeClass("br").addClass("bl");
- // $(".hwzt").text('');
- //}
- ////签出
- //function LogoutBack() {
- // $("#top-search li i").removeClass("active");
- // $(".Login").addClass("active");
- // $(".zxzt").removeClass("bl").addClass("br");
- // $(".fwzt").removeClass("bl").addClass("br");
- // $(".hwzt").text('');
- //}
- ////来电
- //function IncomingBack(data) {
- // $(".hidTel").val(data.Number);
- // $(".tel").text(data.Number);
- // $("#zxdh_").val(data.Number);
- // $("#tsdh").val(data.Number);
- // $(".ldtime").text(getNowFormatDate());
- // $(".thsc").text("00:00");
- // //获取callid
- // $.ajaxSettings.async = false;
- // $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetCallIdByPhone', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- // $.ajaxSettings.async = true;
- // if (result.state.toLowerCase() == "success") {
- // $(".hidCallID").val(result.data.CallId);
- // }
- // })
- // //获取电话所属地
- // $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- // if (result.state.toLowerCase() == "success") {
- // $(".khgsd").text(result.data);
- // }
- // })
- // //获取客户信息
- // $(".ldtel").text($(".hidTel").val());
- // $("#tsdh").val($(".hidTel").val());
- // $(".ldtel1").val($(".hidTel").val());
- // $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetCustomerByTel', { "tel": $(".hidTel").val(), "token": $.cookie("token") }, function (result) {
- // if (result.state.toLowerCase() == "success") {
- // if (result.data.length > 0) {
- // $("#zxr_").val(result.data[0].F_CustomerName);
- // $("#tskh").val(result.data[0].F_CustomerName);
- // $("#khid").val(result.data[0].F_CustomerId);
- // $(".khbh").val(result.data[0].F_CustomerCode);
- // $(".ldtel1").val(result.data[0].F_Telephone);
- // $(".ldtel2").val(result.data[0].F_Mobile);
- // $(".ldtel3").val(result.data[0].F_ChargeTelephone);
- // }
- // }
- // })
- // loadOld();
- // $('.maxOpen').trigger("click");
- // $('.head-pic .lahei .la-before').show();
- // $('.head-pic .lahei .la-after').hide();
- // $(".Bacha").hide();
- //}
- //function CallIDBack(data) {
- // //$(".hidCallID").val(data.CurrID);
- //}
- ////挂断
- //function DropCallBack() {
- // $("#top-search li i").removeClass("active");
- // $(".Logout").addClass("active");
- // $(".SayBusy").addClass("active");
- // $(".MakeCall").addClass("active");
- // $(".td-call").hide();
- // //$('.ldtp-con').css("display", 'none');
- //}
- //function LineStateAgentBack(data) {
- // //0分机不可用,1空闲,2摘机等待拨号,3正在拨号,4呼出振铃,5来电振铃,6通话中,7播放忙音中,8移除IP分机,9通话保持中
- // if (data.State == '0') {
- // $(".hwzt").text('分机不可用');//左下角状态显示
- // }
- // if (data.State == '1') {
- // $(".hwzt").text('空闲');//左下角状态显示
- // $(".fwzt").removeClass("br").addClass("bl");
- // clearInterval(timer);
- // if ($(".hidTel").val() && $(".hidCallID").val()) {
- // $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateGJ', { callid: $(".hidCallID").val(), "token": $.cookie("token") }, function (result) {
- // result = JSON.parse(result);
- // if (result.state.toLowerCase() == "success") {
- // }
- // })
- // }
- // $("#top-search li i").removeClass("active");
- // $(".Logout").addClass("active");
- // $(".SayBusy").addClass("active");
- // $(".MakeCall").addClass("active");
- // $(".td-call").hide();
- // $(".Bacha").show();
- // //$(".hidTel").val("");
- // //$(".hidCallID").val("");
- // }
- // if (data.State == '2') {
- // $(".hwzt").text('摘机等待拨号');//左下角状态显示
- // }
- // if (data.State == '3') {
- // $(".hwzt").text('正在拨号');//左下角状态显示
- // }
- // if (data.State == '4') {
- // $(".hwzt").text('呼出振铃');//左下角状态显示
- // }
- // if (data.State == '5') {
- // $(".hwzt").text('来电振铃');//左下角状态显示
- // $(".fwzt").removeClass("bl").addClass("br");
- // if ($(".hidTel").val() && $(".hidCallID").val()) {
- // $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZL', { callid: $(".hidCallID").val(), "token": $.cookie("token") }, function (result) {
- // result = JSON.parse(result);
- // if (result.state.toLowerCase() == "success") {
- // }
- // })
- // }
- // }
- // if (data.State == '6') {
- // $(".hwzt").text('通话中');//左下角状态显示
- // $(".fwzt").removeClass("bl").addClass("br");
- // if ($(".hidTel").val() && $(".hidCallID").val()) {
- // $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZJ', { callid: $(".hidCallID").val(), "token": $.cookie("token") }, function (result) {
- // result = JSON.parse(result);
- // if (result.state.toLowerCase() == "success") {
- // }
- // })
- // }
- // $(".td-call").show();
- // n = 0;
- // $("#top-search li i").removeClass("active");
- // $(".DropCall").addClass("active");
- // $(".Hold").addClass("active");
- // $(".Transfer").addClass("active");
- // $(".Meeting").addClass("active");
- // clearInterval(timer);
- // timer = setInterval(function () {
- // n++;
- // var m = parseInt(n / 60 % 60);
- // var s = parseInt(n % 60);
- // $(".thsc").text(toDub(m) + ":" + toDub(s));
- // }, 1000);
- // }
- // if (data.State == '7') {
- // $(".hwzt").text('播放忙音中');//左下角状态显示
- // }
- // if (data.State == '8') {
- // $(".hwzt").text('移除IP分机');//左下角状态显示
- // }
- // if (data.State == '9') {
- // $(".hwzt").text('通话保持中');//左下角状态显示
- // }
- //}
- //function toDub(i) {
- // return i < 10 ? "0" + i : "" + i;
- //}
- ////外呼
- //function MakeCallBack() {
- // $("#top-search li i").removeClass("active");
- // $(".DropCall").addClass("active");
- //}
- ////置忙置闲
- //function SetState(obj) {
- // if (obj.State == '5') {
- // $(".SayBusy").removeClass("active");
- // $(".SayFree").addClass("active");
- // $(".zxzt").removeClass("bl").addClass("br");
- // $(".hwzt").text('置忙');
- // }
- // if (obj.State == '2') {
- // $(".SayBusy").addClass("active");
- // $(".SayFree").removeClass("active");
- // $(".zxzt").removeClass("br").addClass("bl");
- // $(".hwzt").text('空闲');
- // }
- //}
- ////置忙
- //function SayBusyBack() {
- // $(".SayBusy").removeClass("active");
- // $(".SayFree").addClass("active");
- //}
- ////置闲
- //function SayFreeBack() {
- // $(".SayBusy").addClass("active");
- // $(".SayFree").removeClass("active");
- //}
- ////多方通话
- //function MeetingBack() {
- //}
- ////转移
- //function TransferBack() {
- // $("#top-search li i").removeClass("active");
- // $(".Logout").addClass("active");
- // $(".SayBusy").addClass("active");
- // $(".MakeCall").addClass("active");
- //}
- ////保持
- //function HoldBack() {
- // $(".Hold").removeClass("active");
- // $(".Retrieve").addClass("active");
- //}
- ////接回
- //function RetrieveBack() {
- // $(".Hold").addClass("active");
- // $(".Retrieve").removeClass("active");
- //}
- ////监测
- //function SubScribeBack() {
- // var obj = $("iframe:visible")
- // if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- // window.frames[obj.attr("name")].Start();
- // }
- //}
- ////取消监测
- //function SubScribeCancelBack() {
- // var obj = $("iframe:visible")
- // if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- // window.frames[obj.attr("name")].Stop();
- // }
- //}
- ////班长监测返回状态
- ////坐席状态
- //function AgentStateBack(data) {
- // var obj = $("iframe:visible")
- // if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- // window.frames[obj.attr("name")].UpdateAgentState(data.AgentID, data.State);
- // }
- //}
- ////线路状态
- //function LineStateBack(data) {
- // var obj = $("iframe:visible")
- // if (obj.attr("data-id") == "./TelCall/SeatMonitor.html") {
- // window.frames[obj.attr("name")].UpdateLineState(data.AgentID, data.State);
- // }
- //}
- ////录音返回
- //function RecordPathBack(data) {
- // //if ($(".hidTel").val() && $(".hidCallID").val()) {
- // // $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateLY', { callid: $(".hidCallID").val(),path:data.RecPath, "token": $.cookie("token") }, function (result) {
- // // result = JSON.parse(result);
- // // if (result.state.toLowerCase() == "success") {
- // // }
- // // })
- // //}
- // if ($(".hidTel").val()) {
- // $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateLY', { callid: data.CallID, path: data.RecPath, "token": $.cookie("token") }, function (result) {
- // result = JSON.parse(result);
- // if (result.state.toLowerCase() == "success") {
- // }
- // })
- // }
- //}
- ////获取当前的日期时间 格式“yyyy-MM-dd HH:mm:ss”
- //function getNowFormatDate() {
- // var date = new Date();
- // var seperator1 = "-";
- // var seperator2 = ":";
- // var month = date.getMonth() + 1;
- // var strDate = date.getDate();
- // if (month >= 1 && month <= 9) {
- // month = "0" + month;
- // }
- // if (strDate >= 0 && strDate <= 9) {
- // strDate = "0" + strDate;
- // }
- // var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
- // + " " + date.getHours() + seperator2 + date.getMinutes()
- // + seperator2 + date.getSeconds();
- // return currentdate;
- //}
|