
<%@ page import="java.util.Date"%>
<%@ page import="com.sunyard.csr.vo.AgentUserInfo"%>
<%@ page import="com.sunyard.csr.common.GlobalKeyWord"%>
<%@ page import="com.sunyard.csr.service.CSRBusinessService"%>
<%@ page contentType="text/html; charset=GBK" isELIgnored="false"%>
<%
String cstName="";//客户姓名
String cstCallnum="";//来电号码
String cstSex="";//客户性别
String cstBirth="";//客户生日
String serverName = request.getServerName();
String serverPort = request.getServerPort()+"";
AgentUserInfo agentInfo = (AgentUserInfo) session.getAttribute(GlobalKeyWord.SESSION_AGENTINFOKEY);
String platformConnType = CSRBusinessService.getParamValueFromContext("platformConnType", "ROBOT", application);
String robotCode = CSRBusinessService.getParamValueFromContext("robotCode", "ROBOT", application);
String agentId = "";
String agentName = "";
String workid = "";
if(agentInfo!=null){
agentId = (String)agentInfo.getLoginCode();
agentName = (String)agentInfo.getName();
workid = (String)agentInfo.getWorkId();
//layer = uib.getLayer();
}
%>
<html>
<head>
<title>在线客服</title>
<script type="text/javascript">
var currCus="";//当前会话客户
var openId="";//当前会话客户
</script>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.font_style{
color: #333333 !important;
font-size: 12px !important;
font-family:"Arial","微软雅黑" !important;
}
.table{
width: 80%; margin-left:30px; margin-top:1px;padding:2px 0; font-family:cursive; font-weight:bolder; font-size: 20px;
}
.div1{
border-bottom: solid 1px; border-bottom-color:gray; width: 100%;font-size: 14px;font-weight: normal;margin-top: 3px; padding: 0px 3px;;
}
.bg1{
margin 0;padding 0; background: url(../../../images/common/bg.png);
}
.custinfo
{
background:url(../../../images/common/pic.png) no-repeat ;
}
.ivrinfo
{
background:url(../../../images/common/pic2.png) no-repeat ;
}
.csrinfo
{
background:url(../../../images/common/pic3.png) no-repeat ;
}
.flowinfo
{
background:url(../../../images/common/pic4.png) no-repeat ;
}
.fwhis
{
background:url(../../../images/common/pic5.png) no-repeat ;
}
.window
{
background:url(../../../images/common/windows.gif) no-repeat ;
}
.listen
{
background:url(../../../images/common/gongao.png) no-repeat ;
}
.feed
{
background:url(../../../images/common/feed_edit.png) no-repeat ;
}
.search
{
background:url(../../../images/common/search_btn.png) repeat-x ;
}
.tabtitle{
font-size: 18; font-weight: 800;
}
.huashuOn{
background-color: gray;
}
<!--客户聊天消息 ylp -->
.netChat{
background:url(../../../images/common/img/2.png) !important;
}
.HuiHuainfo {
background:url(../../../images/common/img/khlb.png) no-repeat ;
}
.comm{
background:url(../../../images/common/img/cygn.png) no-repeat ;
}
.clientIconCls{
background:url(../../../images/common/img/weixin.png) no-repeat ;
}
</style>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/extjs/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/extjs/css/xtheme-gray.css" />
<script type="text/javascript" src="<%=request.getContextPath()%>/extjs/js/ext-base.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/extjs/js/ext-all.js"></script>
<script type='text/javascript'src='<%=request.getContextPath()%>/extjs/extend/datetime/Spinner.js'> </script>
<script type='text/javascript'src='<%=request.getContextPath()%>/extjs/extend/datetime/SpinnerField.js'> </script>
<script type='text/javascript'src='<%=request.getContextPath()%>/extjs/extend/datetime/Ext.ux.form.DateTimeField.js'> </script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/FUNCTION.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/COMITEM.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/COMONSTORE.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/COMTRANS.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/COMPARAM.js"></script>
<script type="text/javascript" src="HashMap.js"></script>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/extjs/css/menus.css" />
<link type="text/css" rel="stylesheet" href="portal.css" />
<script type="text/javascript" src="constantData.js"></script>
<script type="text/javascript" src="COMZXKF.js"></script>
<script type="text/javascript" src="robot.js"></script>
<script type="text/javascript" src="zxkf_index.js"></script>
<script type="text/javascript" src="emote.js"></script>
<script type="text/javascript" src="emotionOperate.js"></script>
<link rel="stylesheet" href="css/zxkf_index.css" type="text/css"></link>
<script type="text/javascript" src="printScreen.js"></script>
<script type="text/javascript" src="yxptPic.js"></script>
<script type="text/javascript" src="onlineChat.js"></script>
<script type="text/javascript" src="../../../extjs/js/PagingMemoryProxy.js"></script>
<script type="text/javascript" src="./robotNew.js"></script>
<script type="text/javascript" src="../../../jquery.js"></script>
<style>
/*机器人满意度 start*/
.robot-evaluate-{
display: none;
}
.robot-evaluate-res{
color:blue;
}
.globle-a-blue {
text-decoration:underline;
color:blue;
cursor:pointer;
}
</style>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = '<%=request.getContextPath()%>/extjs/images/default/s.gif';
var maxOpenTabNum=10;
var appInfoObj;
var flag=false;
var platformConnType = '<%=platformConnType%>';
var robotCode = '<%=robotCode%>';
var serverName = '<%=serverName%>';
var serverPort = '<%=serverPort%>';
var basepath = '<%=request.getContextPath()%>';
// var zxfwhtml = '<table ><tr height="12px;" style="color:#000; background-color:#CCCCCC; font-size: 12px;"> <td style="height:12px;width:80px;">呼入时间</td><td style="height:12px;width:60px;">客户姓名</td><td style="height:12px;width:50px;">操作员工</td><td style="height:12px;width:50px;">渠道</td> </tr> ';
var cstName='';
var cstCallnum='';
var cstSex='';
var cstBirth='';
var cstIvrStatus='';
var cstQY="";//是否签约
var cstCXCode="";//是否有查询密码
var inboundphone='';
var callpress='';
var currentWin = "center_id";
var summaryWin;
var AgentObj = {
agentId:'<%=agentId%>',
agentName:'<%=agentName%>',
workid:'<%=workid%>'
}
var clientChannel="";//来源渠道
//清空客户信息
function clearCustInfo(){
document.getElementById("name").innerHTML = "姓    名:";
document.getElementById("gender").innerHTML = "性    别:";
document.getElementById("khlx").innerHTML = "客户类型:";
document.getElementById("zjlx").innerHTML = "证件类型:";
document.getElementById("zjhm").innerHTML = "证件号码:";
}
function playaudio(voice){
document.getElementById(voice).play();
}
/**
* 点击菜单树,添加tab页签
*/
function chooseMenu(id,url,text){
var time = new Date();
var tabid=id;
var url=url;
var text=text;
var centertab =Ext.getCmp('center_id');
if(centertab.getItem(tabid)!=null){
setTimeout(function(){
centertab.activate(tabid);
},100);//100毫秒的延迟
}else{
setTimeout(function(){
centertab.add({
title: '<span style="font-size: 12;font-weight:600;color: #22345a;">'+text+'</span>',
iconCls:'window',
resizeTabs:true,
id:tabid,
enableTabScroll:true,
animScroll :true,
html:"<iframe id= 'app"+tabid+"' name='"+tabid+"' src='"+basepath+url+"&cashtime="+time.getTime()+"' width=100% height=100% frameborder=0 scrolling=auto></iframe>",
closable:true
}).show();
},100); //100毫秒的延迟
}
}
function addTab(tabid,url,text){
var time = new Date();
/* var tabid=item.id;
var url=item.url;
var text=item.text; */
var centertab = Ext.getCmp('center_id');
if(centertab.getItem(tabid)!=null){
setTimeout(function(){
centertab.activate(tabid);
},100);//100毫秒的延迟
}else{
if(centertab.items.length<maxOpenTabNum){
setTimeout(function(){
centertab.add({
title: '<span style="font-size: 12;font-weight:600;color: #22345a;">'+text+'</span>',
resizeTabs:true,
id: tabid,
listeners : {
activate:function(){
currentWin = tabid;
//如果是会话框,则显示消息
if(tabid.indexOf("c_")==0){
var userId = tabid.substring(2);
document.getElementById(userId).className = clientObjMap.get(userId).channelCls;
//证件类型
var cardtype_v=(clientObjMap.get(userId).idtftp!=null?clientObjMap.get(userId).idtftp:"");
var cardtype='';
if(cardtype_v!=''){
cardtype=FUNCTION.renderZJLX(cardtype_v);
//alert(cardtype)
}
document.getElementById("name").innerHTML = "姓    名:"+(clientObjMap.get(userId).custna!=null?clientObjMap.get(userId).custna:"");
/* +"    "+(clientObjMap.get(userId).gender!=null?(clientObjMap.get(userId).gender==0?"先生":"女士"):""); */
document.getElementById("gender").innerHTML ="性    别:"+(clientObjMap.get(userId).gender!=null?(clientObjMap.get(userId).gender=='M'?"男":"女"):"");
document.getElementById("khlx").innerHTML = "客户类型:"+(clientObjMap.get(userId).custtp!=null?(clientObjMap.get(userId).custtp):"");
document.getElementById("zjlx").innerHTML = "证件类型:"+zjlx((clientObjMap.get(userId).idtftp!=null?(clientObjMap.get(userId).idtftp):""));
document.getElementById("zjhm").innerHTML = "证件号码:"+(clientObjMap.get(userId).idtfno!=null?clientObjMap.get(userId).idtfno:"");
//currCus=connId;
currCus=clientObjMap.get(userId).attachedData.customerid;
openId=clientObjMap.get(userId).attachedData.userid;
//来源渠道
clientChannel=clientObjMap.get(userId).attachedData.platform_str;
if(isETPsucess){
//alert(clientObjMap.get(userId).gender);1男2女
//alert(cardtype)
//姓名*性别
setSession(clientObjMap.get(userId).custna,(clientObjMap.get(userId).mobitl!=null?clientObjMap.get(userId).mobitl:""),(clientObjMap.get(userId).gender!=null?(clientObjMap.get(userId).gender=='M'?"1":"2"):"3"),(clientObjMap.get(userId).idtftp!=null?(clientObjMap.get(userId).idtftp):""),clientObjMap.get(userId).idtfno!=null?clientObjMap.get(userId).idtfno:"",clientChannel);
}
//查询服务历史信息
getHisCall(clientObjMap.get(userId).attachedData.customerid,clientObjMap.get(userId).attachedData.userid);
//把信息存入session
}
},
beforeclose: function(){
if(tabid.indexOf("flows")!=-1){
parent.saveFlowTabs('app'+tabid);
return false;
}
if(centertab.items.length==2){
clearCustInfo();
document.getElementById('zxfwhisid').innerHTML='<font size="2">没有服务历史</font>';
}
},
afterrender:function(){
var temp = Ext.getCmp(tabid);
temp.addClass("clientIconCls");
}
},
enableTabScroll:true,
animScroll :true,
iconCls:'window',
html:"<iframe id= 'app"+tabid+"' src='"+basepath+url+"&cashtime="+time.getTime()+"' width=100% height=100% frameborder=0 scrolling=auto></iframe>",
closable:true
}).show();
},100);//100毫秒的延迟
} else {
Ext.Msg.alert("提示",'已达到最大打开页面数');
};
//var tab=centertab.findById(tabid)
//centertab.setActiveTab(tab);
}
}
//session
var setSession = function(data1,data2,data3,data4,data5,data6) {
var url = '../../../SessionManagerAction.do?dataType=json';
var data = 'type=setzxkfSession&data1='+data1+'&data2='+data2+'&data3='+data3+'&data4='+data4+'&data5='+data5+'&data6='+data6;
var rtnData = FUNCTION.syncAJAX(url,data);
if(null!=rtnData && ''!=rtnData){ // 回调函数
var obj= Ext.decode(rtnData);
if(obj.success){
} else {
//Ext.Msg.alert("提示", "客户信息设置失败!");
}
} else {
//Ext.Msg.alert("提示", "客户信息设置失败!");
}
}
function addKbTab(tabid,url,text){
//alert("zxkf_admin");
var time = new Date();
/* var tabid=item.id;
var url=item.url;
var text=item.text; */
var centertab = Ext.getCmp('center_id');
if(centertab.getItem(tabid)!=null){
setTimeout(function(){
centertab.activate(tabid);
},100);//100毫秒的延迟
}else{
if(centertab.items.length<maxOpenTabNum){
setTimeout(function(){
centertab.add({
title: '<span style="font-size: 12;font-weight:600;color: #22345a;">'+text+'</span>',
resizeTabs:true,
id: tabid,
listeners:{
activate:function(){
currentWin = tabid;
/*/如果是会话框,则显示消息
if(tabid.indexOf("c_")==0){
var userId = tabid.substring(2);
document.getElementById(userId).className = clientObjMap.get(userId).channelCls;
document.getElementById("name").innerHTML = "姓    名:"+clientObjMap.get(userId).username;
currCus=userId;
})*/
},
beforeclose: function(){
if(tabid.indexOf("flows")!=-1){
parent.saveFlowTabs('app'+tabid);
return false;
}
}
},
tbar: [
{
text:"查看附件",
handler:function(){
//alert("查看附件________"+tabid+"___text___"+item.id);
url="http://10.1.85.242:8989/kbnew/attchFile.jsp?tabid="+tabid;
window.showModalDialog(url,window,"dialogWidth:600px;dialogHeight:500px");
//showAttachFiles();
},
pressed: true
}
],
enableTabScroll:true,
animScroll :true,
iconCls:'window',
html:"<iframe id= 'app"+tabid+"' src='"+url+"' width=100% height=100% frameborder=0 scrolling=auto></iframe>",
closable:true
}).show();
},100);//100毫秒的延迟
} else {
Ext.Msg.alert("提示",'已达到最大打开页面数');
};
//var tab=centertab.findById(tabid)
//centertab.setActiveTab(tab);
}
}
function deleteTab(tabid){
var centertab = Ext.getCmp('center_id');
centertab.remove(tabid);
}
function getCenterTab(){
var centerTab= Ext.getCmp('center_id');
return centerTab;
}
// 调用制定页面IVR监听方法
function appIvrReturnPageListener(info,ivrcurrentlocktabId) {
document.frames("app"+ivrcurrentlocktabId).appIvrReturnPageListen(info);
}
// 刷新制定tab页
function reloadTabPage(innerTabId) {
document.frames(innerTabId).location.reload();
}
//清除treesession
function cleartreeSession() {
treelist = [];
c = 0;
}
//关闭工单
function closeFlowTab(tabId){
var centertab=Ext.getCmp('center_id');
var tab = centertab.findById(tabId);
centertab.remove(tab);
}
//关闭页面是提示是否要存入草稿箱,如确定则存入,取消则不存入
function closeSaveTask(tabId){
Ext.Msg.confirm("存草稿提醒","是否存草稿",callback5,buttons={yes:'确定',no:'取消'});
function callback5(id){
if(id=='yes'){
document.frames(tabId).autoSave();
// document.frames(tabId).saveGD();
}else{
appCloseMoodTab(tabId);
}
}
}
function appCloseMoodTab(tabId){
var centertab= Ext.getCmp('center_id');
tabId = tabId.substring(3,tabId.lenght);
var tab = centertab.findById(tabId);
centertab.remove(tab);
}
/******************************获取待处理留言条数****************************/
function getNoReplyMsgCount(){
Ext.Ajax.request({
url: '../../../replyManageAction.do?functionText=getNoReplyMsgCount',
success : function(response, opts){
var obj= Ext.decode(response.responseText);
var htm="待处理留言:"+obj+"条";
document.getElementById('noReplyMsgCount').innerHTML=htm;
}
})
}
/******************************页面初始化****************************/
Ext.onReady(function(){
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
// Interval();
//document.oncontextmenu=false;
appInfoObj=new CSR.ux.appInfoShow();
getcommonSpeakInfo();
setSession('','','','','','3');
getNoReplyMsgCount();
});
window.onload=function(){
setInterval("getsxl()", 20000);
setInterval("getNoReplyMsgCount()", 2*60*1000);
}
/******************************页面初始化end****************************/
function appCloseFlowTab(tabId){
// tabId = tabId.substring(3,tabId.lenght);
var centertab = Ext.getCmp('center_id');
var tab = centertab.findById(tabId);
centertab.remove(tab);
}
/**接进新用户**/
function receiveZxkfMsg(result){
return OnlineChat.acceptNewClient(result);
}
function receiveClientMsg(result){
//alert("receiveClientMsg");
OnlineChat.receiveClientMsg(result);
}
/**发送欢迎语**/
function sendWelcomeMsg(connId,msg){
return parent.sendNotifyMedia(connId,msg);
}
/**
方法说明:发送消息
参数说明:connId 会话id
msg:= '{mediaType:1,msg:"啥打法啥打法三方",agentid:"80002"}'
visibility:传0
*/
function sendChatMsg(connId,msg,visibility){
return parent.sendChatMessageMedia(connId,msg,visibility);
}
//坐席结束回话
function agentEndChat(connId){
return parent.stopMedia(connId);
}
//客户结束回话
function clientEndChat(result){
OnlineChat.clientEndChat(result);
}
//座席签出
function agentLogout(){
var chatObjArr = clientObjMap.values();
for(var i = 0;i<chatObjArr.length;i++){
if(chatObjArr[i].chatStatus==true){
return false;
}
}
return true;
}
//转接会话
function transferClient(connId,gh){
return parent.transfMedia(connId,gh);
}
//客户结束回话
function excpEndChat(){
OnlineChat.excpEndChat();
}
//刷新,结束所有回话!
window.onbeforeunload = function(){
var clientsArr = clientObjMap.values();
for(var i = 0;i<clientsArr.length;i++){
if(clientsArr[i].chatStatus){
parent.stopMedia(clientsArr[i].connId);
}
}
//异常退出的时候,把缓存里所有的客户存一下库
byexcp();
}
</script>
<script type="text/javascript" for="CatchScreen" event="EndCatchScreen()">
PrintScreen.showPrintScreen();
</script>
</head>
<body>
<!-- <audio id="sound" autoplay="autoplay"> -->
<embed id="audioRing" src="./resources/audio/ring.wav" quality="high" height="4px" align="middle" allowScriptAccess="always" autostart="false" hidden="true">
<embed id="audioMsg" src="./resources/audio/msg.wav" quality="high" height="4px" align="middle" allowScriptAccess="always" autostart="false" hidden="true">
<div id="my-tabs"></div>
<div id="commonQuestionPanel" class="x-hide-display">
<div id="commonQuestion" style="width:100%;margin:5px 5px 5px 5px;color: #22345a; font-size: 14px; font-weight: 600; line-height:20px;"></div>
</div>
<div id="rotbotAnswerPanel" class="x-hide-display" style="width:100%;align:center;">
<div id="robotSearchContainer" style="width:100%;align:center;"></div>
<div id="robotAnswer" style="width:100%;margin:5px 5px 5px 5px;color: #22345a; font-size: 14px; font-weight: 600; line-height:20px;height:300px;overflow-y:scroll;overflow-x:scroll"></div>
</div>
</body>
</html>
<script type="text/javascript" >
getHot()
//robotQuery("nihao")
</script>