var ws, n = 0,
timer;
var lockReconnect = false; //避免重复连接
var obj = {};
var Statess;
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();
//$(".hwzt").text('连接成功!');
};
//接收到消息的回调方法
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) {
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) {
$(".ldhm").val(data.Number);
$(".hidTel").val(data.Number);
$(".tel").text(data.Number);
$(".ldtime").text(getNowFormatDate());
$(".thsc").text("00:00");
$(".hidCallID").val(data.CallID);
//获取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") {
$(".ldlocation").text(result.data[0].F_Name);
$(".khgsd").text(result.data[0].F_Name);
}
})
//获取客户信息
$(".ttsdh").text($(".hidTel").val());
$(".tsdh").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) {
$(".khmc").val(result.data[0].F_CustomerName);
$(".tkhmc").text(result.data[0].F_CustomerName);
$("#khid").val(result.data[0].F_CustomerId);
$(".lxdh").val(result.data[0].F_Telephone);
$(".tsdh").val(result.data[0].F_Mobile);
$(".ttsdh").text(result.data[0].F_Mobile);
$(".lxr").val(result.data[0].F_CustomerEName);
$(".postcode").val(result.data[0].F_PostCode);
$(".email").val(result.data[0].F_Email);
}
}
})
$('.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");
$(".Meeting").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();
}
if(obj.attr("data-id") == "./TelCall/zxKong.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();
}
if(obj.attr("data-id") == "./TelCall/zxKong.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);
}
if(obj.attr("data-id") == "./TelCall/zxKong.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);
}
if(obj.attr("data-id") == "./TelCall/zxKong.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;
}
$(document).ready(function() {
//来电弹屏
laydate.skin('blue');
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();
});
//最大化 最小化效果
//最小化
$('.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();
})
//点击挂断
$('.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-time .lhtime").text(getNowFormatDate());
$('.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();
}
})
})
if(/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
$(".title-box").hide();
}
obj.AgentExten = $.cookie("extno");
if(obj.AgentExten==undefined){
$(".Gnum").hide();
}
$(".Gnum").text('(' + obj.AgentExten + ')');
$.getJSON(huayi.config.callcenter_url + 'UserAccount/GetNowUser', {
"token": $.cookie("token")
}, function(result) {
if(result.state.toLowerCase() == "success") {
console.log(result);
$("#RoleCode").val(result.data.user.F_RoleCode);
console.log($("#RoleCode").val());
$(".username").text(result.data.user.F_UserName);
if(result.data.role) {
$(".rolename").text(result.data.role.F_RoleName);
}
$(".yhtx").attr("src", huayi.config.callcenter_url.substr(0, huayi.config.callcenter_url.length - 1) + result.data.user.F_See);
obj.AgentID = result.data.user.F_UserCode;
//obj.AgentExten = result.data.user.F_WorkNumber;
$('.mgh').val(result.data.user.F_UserCode);
$('.mn').val(result.data.user.F_UserName);
if(result.data.user.F_SeatFlag) {
Connect();
heartbeat = setInterval(function() {
Heart()
}, 60000);
$("#top-search").show();
$(".zts").show();
//签入
//obj.Type = "Login";
//obj.AgentGroup = "364";
//obj.AgentType = "0";
//Send();
}
}
});
$.ajaxSettings.async = false;
$.getJSON(huayi.config.callcenter_url + 'Index/GetMenu', {
"token": $.cookie("token")
}, function(result) {
$.ajaxSettings.async = true;
if(result.state.toLowerCase() == "success") {
$(result.data).each(function(i, n) {
var html = '
' + n.F_FunctionName + '';
html += '';
$(n.item).each(function(j, m) {
html += '';
})
html += '
';
$(html).appendTo($("#side-menu"));
})
$(".J_menuItem").click(function() {
if($(this).text() == "来电弹屏") {
$('.maxOpen').trigger("click");
$('.head-pic .lahei .la-before').show();
$('.head-pic .lahei .la-after').hide();
}
})
}
})
//分机号
//话务相关
$("#top-search li").click(function() {
if($(this).find("i").hasClass("active")) {
if(obj.AgentID) {
var fun = $(this).attr("datafun");
obj.Type = fun;
switch(fun) {
case "Login":
obj.AgentGroup = "364";
obj.AgentType = "0";
Send();
break; //签入
case "MakeCall":
$(".hidCallID").val("");
$("#hidwhtype").val(fun);
whtp();
//obj.DestinationNumber = "1012";
break; //外呼
case "Meeting":
$("#hidwhtype").val(fun);
whtp();
//obj.DestinationNumber = "1012";
break; //多方通话
case "Transfer":
$("#hidwhtype").val(fun);
whtp();
//obj.DestinationNumber = "1012";
break; //转移
default:
Send();
break;
}
}
}
});
//知识库查询
$(".searIcon").click(function() {
loadZSK();
})
//历史记录查询
$(".searchbtn").click(function() {
loadOld();
})
//新增记录
$(".addjl").click(function() {
$(".addgd").show();
$(".tbold").hide();
})
//关闭外呼弹屏
$(".closes").click(function() {
$(".WH").removeClass("fadeInDown").addClass("fadeOutUp");
$(".WH").addClass("hidens");
})
//外呼呼出
$(".CallOut").click(function(event) {
event.stopPropagation();
if ($("#Result").val()) {
$.ajax({
type: "get",
url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
async: true,
dataType: 'json',
data: {
token: $.cookie("token"),
phone: $("#Result").val()
},
success: function (result) {
if (result.state.toLowerCase() == "success") {
var guid = uuid();
obj.Type = $("#hidwhtype").val();
obj.DestinationNumber = result.data.phone;
obj.Header = result.data.fix;
obj.TaskType = "0"; //0:拨号外呼;1:未接来电外呼;2:回访外呼
obj.TaskPhoneID = ""; //回访的电话ID
obj.TaskID = guid; //回访记录编号
Send();
$('#Result').val('');
$(".WH").addClass("hidens");
}
}
});
}
})
//外呼弹屏数字键盘样式
$(".Num_ul div").mousedown(function() {
$(this).addClass("actives");
$(".img").removeClass("hidens");
}).mouseup(function() {
$(this).removeClass("actives");
})
//外呼弹屏数字键盘号码输入
$(".Num_ul li div").click(function() {
var rt = $("#Result").val() + "";
if(rt.length < 18) {
rt = rt + $(this).find("a").text();
$("#Result").val(rt);
}
});
//外呼弹屏数字键盘号码截取
$(".img").click(function() {
var Result = $("#Result").val() + "";
Result = Result.substr(0, Result.length - 1);
$("#Result").val(Result);
if(Result.length == 0) {
$(".img").addClass("hidens");
}
})
//外呼电话列表
$(".bg_title li").click(function() {
$(this).addClass("lactive").siblings().removeClass("lactive");
loadWH();
})
$(".ty").click(function() {
loadWH();
})
//创建投诉工单
$(".addt_").click(function() {
Statess=0
var value=$(' input[name="banli"]:checked ').val();
if(!$("#cusname").val()){
layer.msg("填写姓名");
} else if (!$("#cusphone").val()) {
layer.msg("投诉电话不能为空");
} else if (!$("#title").val() ) {
layer.msg("填写标题");
}else if(!$("#content").val()){
layer.msg("内容不能为空");
}else if(!$("#keys").val()){
layer.msg("主题词不能为空");
}else if(value==1&&!$('#result').val()){
layer.msg("输入直办内容");
} else{
Adds()
}
})
//创建投诉工单
$(".addts").click(function() {
Statess=1;
var values=$(' input[name="banli"]:checked ').val();
if(!$("#cusname").val()){
layer.msg("填写姓名");
} else if (!$("#cusphone").val() ) {
layer.msg("投诉电话不能为空");
} else if (!$("#title").val()) {
layer.msg("填写标题");
}else if(!$("#content").val()){
layer.msg("内容不能为空");
}else if(!$("#keys").val()){
layer.msg("主题词不能为空");
}else if(values==1&&!$('#result').val()){
layer.msg("输入直办内容");
} else{
Adds()
}
})
function Adds(){
var callid = $(".hidCallID").val();
$.ajax({
type: "post",
url: huayi.config.callcenter_url + "/WorkOrder/AddWorkOrder",
dataType: 'json',
async: true,
data: {
cusname: $("#cusname").val(), //=投诉人姓名
cussex: $("#cussex").val(),
cusphone: $("#cusphone").val(), //=投诉人电话
email: $("#email").val(),
zipcode: $("#zipcode").val(),
conphone: $("#conphone").val(),
title: $("#title").val(),
content: $("#content").val(),
callid : callid,
// files:$("#file").val(),//(多个用英文逗号,隔开)
sourcearea: $("#sourcearea").val(), //=事发地域id
sourceaddress: $('#sourceaddress').val(), //=事发详细地址
source: 1, //=来源
isresult: $(' input[name="banli"]:checked ').val(), //=(0转办1直办)
result: $('#result').val(),
keys: $("#keys").val(), //=关键词id(多个用英文逗号,隔开)
type: $("#type").val(), //=类型
isprotect: $(' input[name="mj"]:checked ').val(), //=(0普通1保密)
level: $('#level').val(), //=(1普通2紧急)
issubmit: Statess, //=(0保存1保存并提交)
token: $.cookie("token")
},
success: function(data) {
$(".ldtp-cr ul.ld-service li").eq(2).trigger("click");
layer.msg("操作成功");
Clean();
}
})
}
//清空
function Clean() {
$("#cusname").val(''); //=投诉人姓名
$("#cussex").val('');
$("#cusphone").val(''); //=投诉人电话
$("#email").val('');
$("#zipcode").val('');
$("#conphone").val('');
$("#title").val('');
$("#content").val('');
$("#sourcearea").val(); //=事发地域id
$('#sourceaddress').val(''); //=事发详细地址
$("input[name='baomi'][value='1']").prop("checked", true) //=(0转办1直办)
$("#type option:first").prop("selected", 'selected');
$("#level option:first").prop("selected", 'selected');
$("#keys option:first").prop("selected", 'selected');
$("#sourcearea option:first").prop("selected", 'selected');
$('#result').val('');
}
//加载知识库
loadZSK();
//加载左侧导航菜单
//loadMenu();
//客户资料
$('.khzl tbody>tr>td input').attr('readonly', true);
$('.save').hide();
$('.cancel').hide();
$('.edit').click(function() {
$('.save').show();
$('.cancel').show();
$('.edit').hide();
$('.khzl tbody>tr>td input').attr('readonly', false);
$('.khzl tbody>tr>td input').css('border-bottom', "1px solid #b3b3b3");
})
$('.cancel').click(function() {
$('.khzl tbody>tr>td input').attr('readonly', true);
$('.khzl tbody>tr>td input').css('border', "0");
$('.save').hide();
$('.cancel').hide();
$('.edit').show();
})
//保存客户
$(".save").click(function() {
var khid = $("#khid").val();
var khmc = $(".khmc").val();
var tsdh = $(".tsdh").val();
var lxr = $(".lxr").val();
var lxdh = $(".lxdh").val();
var postcode = $(".postcode").val();
var email = $(".email").val();
if(!khmc) {
layer.confirm('请输入客户名称!', {
btn: ['确定']
});
return;
}
$.post(huayi.config.callcenter_url + 'Customer/AddCustomer', {
cid: khid,
name: khmc,
lxr: lxr,
mobile: tsdh,
telphone: lxdh,
postcode: postcode,
email: email,
"token": $.cookie("token")
}, function(result) {
result = $.parseJSON(result);
if(result.state.toLowerCase() == "success") {
$("#khid").val(result.data);
$(".khmc").val(khmc);
$(".tkhmc").text(khmc);
$(".lxdh").val(lxdh);
$(".tsdh").val(tsdh);
$(".ttsdh").text(tsdh);
$(".lxr").val(lxr);
$(".postcode").val(postcode);
$(".email").val(email);
layer.msg("保存成功");
$('.khzl tbody>tr>td input').attr('readonly', true);
$('.khzl tbody>tr>td input').css('border', "0");
$('.save').hide();
$('.cancel').hide();
$('.edit').show();
}
})
})
//关闭录音弹出
$(".setwin").click(function() {
$(".t-shade").removeClass("cx");
$('audio')[0].pause();
});
//修改密码开始
$('.shezhi').click(function() {
$('.personal').show();
})
//tab切换
$('.perTab li').click(function() {
$(this).addClass('sel').siblings().removeClass('sel');
var index = $(this).index();
$('.perTab_con').children('div').eq(index).show().siblings().hide();
})
//编辑个人资料
$('.grzl tbody>tr>td input.zhidu').attr('readonly', true);
$('.grbj').click(function() {
$('.grzl tbody>tr>td input.zhidu').attr('readonly', false);
$('.grzl tbody>tr>td input.zhidu').css('border-bottom', "1px solid #b3b3b3");
})
//取消编辑
$('.grqx').click(function() {
$('.grzl tbody>tr>td input.zhidu').attr('readonly', true);
$('.grzl tbody>tr>td input.zhidu').css('border-bottom', "none");
})
//关闭按钮
$('.ptr').click(function() {
$('.personal').hide();
})
//修改密码
$('.grbtn').click(function() {
var gh = $('.mgh').val();
var xm = $('.mn').val();
var ymm = $('.spwd').val();
var xmm = $('.npwd').val();
var qmm = $('.epwd').val();
if(xmm !== qmm) {
$('.wrong').show();
$('.npwd').val('')
$('.epwd').val('')
} else if(xmm == '') {
layer.msg("密码不允许为空!");
} else {
$('.wrong').hide();
$('.grzl tbody>tr>td input').attr('readonly', true);
$('.grzl tbody>tr>td input').css('border-bottom', "none");
$.ajax({
type: "post",
url: huayi.config.callcenter_url + "UserAccount/UpdatePwd",
async: true,
dataType: 'json',
data: {
token: $.cookie("token"),
usercode: gh,
pwd: $.md5(xmm),
oldpwd: $.md5(ymm)
},
success: function(result) {
if(result.state.toLowerCase() == "success") {
layer.msg("修改成功!");
}
}
});
}
})
//图片裁剪
var o = $(".image-crop > img");
$(o).cropper({
aspectRatio: 1 / 1,
resizable: false,
dragCrop: false,
preview: ".img-preview",
done: function() {}
});
var r = $("#inputImage");
if(window.FileReader) {
r.change(function() {
var e, i = new FileReader,
t = this.files;
if(t.length && (e = t[0], /^image\/\w+$/.test(e.type))) {
i.readAsDataURL(e);
i.onload = function() {
r.val("");
o.cropper("reset", !0).cropper("replace", this.result);
}
} else {
layer.msg("请选择图片文件");
}
});
$("#setDrag").click(function() {
o.cropper("setDragMode", "crop");
var img = o.cropper("getDataURL");
$.post(huayi.config.callcenter_url + "Index/UploadTX64", {
dataurl: encodeURIComponent(img),
"token": $.cookie("token")
}, function(result) {
result = $.parseJSON(result);
if(result.state.toLowerCase() == "success") {
$(".yhtx").attr("src", huayi.config.callcenter_url.substr(0, huayi.config.callcenter_url.length - 1) + result.data);
layer.msg("上传成功");
$('.personal').hide();
}
})
});
$("#zoomIn").click(function() {
o.cropper("zoom", .1)
});
$("#zoomOut").click(function() {
o.cropper("zoom", -.1)
});
$("#rotateLeft").click(function() {
o.cropper("rotate", 45)
});
$("#rotateRight").click(function() {
o.cropper("rotate", -45)
});
} else {
r.addClass("hide");
}
//工单中的类型
$("#xxlb").empty();
$("#xxlb").append('');
$.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById", {
"token": $.cookie("token"),
id: 2
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo($("#xxlb"));
})
}
})
$("#xxlb").change(function() {
$("#tsxl").empty();
$("#tsxl").append('');
loadDic($("#tsdl"), $("#xxlb").val());
})
$("#tsdl").change(function() {
loadDic($("#tsxl"), $("#tsdl").val());
})
loadArea($("#FArea"));
loadArea($("#JArea"));
$("#FArea").change(function() {
$("#Twon").empty();
$("#Twon").append('');
var aid = $("#FArea").val();
if(!aid) {
aid = -1;
}
$.getJSON(huayi.config.callcenter_url + "Department/GetTownList", {
"token": $.cookie("token"),
aid: aid
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo($("#Twon"));
})
}
})
})
$("#JArea").change(function() {
$("#Jtype").empty();
$("#Jtype").append('');
$("#Department").empty();
$("#Department").append('');
var aid = $("#JArea").val();
if(!aid) {
aid = -1;
}
$.getJSON(huayi.config.callcenter_url + "Department/GetDeptTypeList", {
"token": $.cookie("token"),
aid: aid
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo($("#Jtype"));
})
}
})
})
$("#Jtype").change(function() {
$("#Department").empty();
$("#Department").append('');
var tid = $("#Jtype").val();
if(!tid) {
tid = -1;
}
$.getJSON(huayi.config.callcenter_url + "Department/GetDeptList", {
"token": $.cookie("token"),
tid: tid
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo($("#Department"));
})
}
})
})
$(".min_select").each(function() {
$(this).empty();
for(var i = 1; i <= 10; i++) {
if(i == 5) {
$("").appendTo($(this));
} else {
$("").appendTo($(this));
}
}
})
})
function clearworkorder() {
$("#xxlb").val("");
$("#xxlb").trigger("change");
$("#FArea").val("");
$("#FArea").trigger("change");
$("#sfdz").val("");
$("#tskh").val("");
$("#tsdh").val("");
$("#email").val("");
$("#postcode").val("");
$("#lxr").val("");
$("#lxdh").val("");
$("#content").val("");
$("#result").val("");
$("#JArea").val("");
$("#JArea").trigger("change");
$("#remark").val("");
$("#khid").val("");
$(".khmc").val("");
$(".tsdh").val("");
$(".lxr").val("");
$(".lxdh").val("");
$(".postcode").val("");
$(".email").val("");
}
//获取历史记录
function loadOld() {
var type = $(".ldtp-cr ul.ld-service .cr-click").attr("itemtype");
$(".complain").hide();
$(".complain").eq(type * 1).show();
if(type == '2') {
//先销毁表格
$('#orderlist').bootstrapTable('destroy');
//初始化表格,动态从服务器加载数据
$("#orderlist").bootstrapTable({
method: "get", //使用get请求到服务器获取数据
url: huayi.config.callcenter_url + "WorkOrder/GetList", //获取数据的Servlet地址
contentType: "application/x-www-form-urlencoded",
striped: true, //表格显示条纹
pagination: true, //启动分页
pageSize: 5, //每页显示的记录数
pageNumber: 1, //当前第几页
pageList: [5, 10, 50, 100], //记录数可选列表
search: false, //是否启用查询
showColumns: false, //显示下拉框勾选要显示的列
showRefresh: false, //显示刷新按钮
sidePagination: "server", //表示服务端请求
//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
//设置为limit可以获取limit, offset, search, sort, order
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
page: params.pageNumber,
pagesize: params.pageSize,
tel: $(".hidTel").val(),
starttime: $("#con_startTime").val(),
endtime: $("#con_endTime").val(),
token: $.cookie("token")
};
return param;
},
onLoadSuccess: function() { //加载成功时执行
//layer.msg("加载成功");
},
onLoadError: function() { //加载失败时执行
//layer.msg("加载数据失败", { time: 1500, icon: 2 });
}
});
} else if(type == '1') {
//先销毁表格
$('#oldlist').bootstrapTable('destroy');
//初始化表格,动态从服务器加载数据
$("#oldlist").bootstrapTable({
method: "get", //使用get请求到服务器获取数据
url: huayi.config.callcenter_url + "CallInScreen/GetOldList", //获取数据的Servlet地址
contentType: "application/x-www-form-urlencoded",
striped: true, //表格显示条纹
pagination: true, //启动分页
pageSize: 5, //每页显示的记录数
pageNumber: 1, //当前第几页
pageList: [5, 10, 50, 100], //记录数可选列表
search: false, //是否启用查询
showColumns: false, //显示下拉框勾选要显示的列
showRefresh: false, //显示刷新按钮
sidePagination: "server", //表示服务端请求
//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
//设置为limit可以获取limit, offset, search, sort, order
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
page: params.pageNumber,
pagesize: params.pageSize,
tel: $(".hidTel").val(),
starttime: $("#old_startTime").val(),
endtime: $("#old_endTime").val(),
token: $.cookie("token")
};
return param;
},
onLoadSuccess: function() { //加载成功时执行
//layer.msg("加载成功");
},
onLoadError: function() { //加载失败时执行
//layer.msg("加载数据失败", { time: 1500, icon: 2 });
}
});
}
}
function GetCallState(val) {
if(val == '1') {
return '已接通';
} else {
return '未接通';
}
}
//音频
function setCode(val) {
if(val) {
return '' +
'

' +
'
';
} else {
return '';
}
}
//录音
function ck(val) {
var path = $(val).attr("item");
$(".t-shade").addClass("cx");
$(".Ly_box").empty();
$(".LY_box").empty();
$(".down").attr("href", path);
$('').appendTo(".Ly_box");
$('下载录音').appendTo(".LY_box");
$('.shade_k').css({
'top' : $(document).scrollTop() + ($(window).height() - $('.shade_k').height() - 289)/2,
'left' : ($(window).width()-$('.shade_k').width())/2,
'position' : 'absolute'
});
}
function GetLink(val) {
if(val) {
return '' + val + '';
} else {
return '';
}
}
//查看详情
function ckxq(str) {
layer.open({
type: 2,
content: "CommonHtml/WorkDatil.html?wid=" + str, //iframe的url,no代表不显示滚动条
title: '工单详情',
area: ['85%', '80%'], //宽高
});
}
//截取字符串
function GetCont(val) {
if(val) {
var str = ' 10) {
str = str + ' title="' + val + '" ';
val = val.substr(0, 10) + "...";
}
return str + '>' + val + '
';
} else {
return '';
}
}
//加载字典
function loadDic(obj, pid) {
obj.empty();
obj.append('');
if(!pid) {
pid = -1;
}
$.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListByParentId", {
"token": $.cookie("token"),
pid: pid
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo(obj);
})
}
})
}
//加载区域
function loadArea(obj) {
obj.empty();
obj.append('');
$.getJSON(huayi.config.callcenter_url + "Department/GetAreaList", {
"token": $.cookie("token")
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo(obj);
})
}
})
}
//获取知识库
function loadZSK() {
$.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetZSKList', {
"keywords": $(".search").val(),
"token": $.cookie("token")
}, function(result) {
if(result.state.toLowerCase() == "success") {
$(".ldcr-bottom .detail-con ul").empty();
$(result.data).each(function(i, n) {
var html = '' +
' ' +
' ' +
n.F_Content +
'
' +
'';
$(html).appendTo($(".ldcr-bottom .detail-con ul")).find(".zhishi-title").click(function(event) {
event.stopPropagation();
if($(this).hasClass("active")) {
$(this).removeClass("active")
} else {
$(".zhishi-title").removeClass("active");
$(this).addClass("active");
}
})
})
}
})
}
//外呼弹屏
function whtp() {
$("#Result").val("");
if($(".WH").hasClass("fadeOutUp")) {
$(".WH").removeClass("fadeOutUp").addClass("fadeInDown");
}
$(".WH").removeClass("hidens");
$('.first').removeClass('first');
$('.WH').addClass('first');
loadWH();
}
//加载外呼电话列表
function loadWH() {
$(".phonediv").hide();
var n = $(".bg_title .lactive").attr("itemid");
switch(n) {
case '0':
var obj = $(".phonediv").eq(0);
obj.show();
//先销毁表格
var table = obj.find(".phonelist");
table.bootstrapTable('destroy');
//初始化表格,动态从服务器加载数据
table.bootstrapTable({
method: "get", //使用get请求到服务器获取数据
url: huayi.config.callcenter_url + "CallOutScreen/GetPhoneList", //获取数据的Servlet地址
contentType: "application/x-www-form-urlencoded",
striped: true, //表格显示条纹
pagination: true, //启动分页
pageSize: 10, //每页显示的记录数
pageNumber: 1, //当前第几页
pageList: [10, 20, 50, 100], //记录数可选列表
search: false, //是否启用查询
showColumns: false, //显示下拉框勾选要显示的列
showRefresh: false, //显示刷新按钮
sidePagination: "server", //表示服务端请求
//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
//设置为limit可以获取limit, offset, search, sort, order
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
page: params.pageNumber,
pagesize: params.pageSize,
tel: $("#lastphone").val(),
token: $.cookie("token")
};
return param;
},
onLoadSuccess: function() { //加载成功时执行
//layer.msg("加载成功");
},
onLoadError: function() { //加载失败时执行
//layer.msg("加载数据失败", { time: 1500, icon: 2 });
}
});
break;
case '1':
var obj = $(".phonediv").eq(1);
obj.show();
var table = obj.find(".phonelist");
table.bootstrapTable('destroy');
//初始化表格,动态从服务器加载数据
table.bootstrapTable({
method: "get", //使用get请求到服务器获取数据
url: huayi.config.callcenter_url + "CallOutScreen/GetUserList", //获取数据的Servlet地址
contentType: "application/x-www-form-urlencoded",
striped: true, //表格显示条纹
pagination: true, //启动分页
pageSize: 10, //每页显示的记录数
pageNumber: 1, //当前第几页
pageList: [10, 20, 50, 100], //记录数可选列表
search: false, //是否启用查询
showColumns: false, //显示下拉框勾选要显示的列
showRefresh: false, //显示刷新按钮
sidePagination: "server", //表示服务端请求
//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
//设置为limit可以获取limit, offset, search, sort, order
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
page: params.pageNumber,
pagesize: params.pageSize,
tel: $("#gsphone").val(),
name: $("#gsname").val(),
token: $.cookie("token")
};
return param;
},
onLoadSuccess: function() { //加载成功时执行
//layer.msg("加载成功");
},
onLoadError: function() { //加载失败时执行
//layer.msg("加载数据失败", { time: 1500, icon: 2 });
}
});
break;
case '2':
var obj = $(".phonediv").eq(2);
obj.show();
var table = obj.find(".phonelist");
table.bootstrapTable('destroy');
//初始化表格,动态从服务器加载数据
table.bootstrapTable({
method: "get", //使用get请求到服务器获取数据
url: huayi.config.callcenter_url + "CallOutScreen/GetCustomerList", //获取数据的Servlet地址
contentType: "application/x-www-form-urlencoded",
striped: true, //表格显示条纹
pagination: true, //启动分页
pageSize: 10, //每页显示的记录数
pageNumber: 1, //当前第几页
pageList: [10, 20, 50, 100], //记录数可选列表
search: false, //是否启用查询
showColumns: false, //显示下拉框勾选要显示的列
showRefresh: false, //显示刷新按钮
sidePagination: "server", //表示服务端请求
//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
//设置为limit可以获取limit, offset, search, sort, order
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
page: params.pageNumber,
pagesize: params.pageSize,
tel: $("#khphone").val(),
name: $("#khname").val(),
token: $.cookie("token")
};
return param;
},
onLoadSuccess: function() { //加载成功时执行
//layer.msg("加载成功");
},
onLoadError: function() { //加载失败时执行
//layer.msg("加载数据失败", { time: 1500, icon: 2 });
}
});
break;
}
}
function view(val) {
var str = '';
if(val) {
str = '' + val + '';
}
return str;
}
function call(val) {
$("#Result").val(val);
$(".img").removeClass("hidens");
}
function ftime(val) {
if(val) {
return helper.DateFormat.getFormatTime(val);
} else {
return '';
}
}
function logout() {
$.ajax({
url: huayi.config.callcenter_url + "Login/Logout",
data: {
token: $.cookie("token")
},
dataType: "json",
success: function(res) {
if(res.state) {
location.href = "./login.html";
}
}
});
}
//跳转
function Jumps() {
$("iframe:visible")[0].src = "widgets.html"
}
//子页面返回主页
function home_index() {
top.$("iframe:visible")[0].src = "widgets.html";
}
//工单
//当即办理
$(".Nows").click(function() {
$(".Nows_box").toggle();
})
$(".Nows_").click(function() {
$(".Nows_box").toggle();
})
QY($("#sourcearea"));
LB($("#type"));
ZT($("#keys"));
//通知公告
function QY(obj) {
obj.empty();
$.getJSON(huayi.config.callcenter_url + "Area/GetAreaListById?", {
"token": $.cookie("token"),
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo(obj);
})
}
})
}
//来源
function LY(obj) {
obj.empty();
$.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById?", {
"token": $.cookie("token"),
id: 1
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo(obj);
})
}
})
}
//类别
function LB(obj) {
obj.empty();
$.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById?", {
"token": $.cookie("token"),
id: 2
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo(obj);
})
}
})
}
// 主题
function ZT(obj) {
obj.empty();
$.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById?", {
"token": $.cookie("token"),
id: 3
}, function(data) {
if(data.state.toLowerCase() == "success") {
var content = data.data;
$(content).each(function(i, n) {
$("").appendTo(obj);
})
}
})
}