📄 softagent.js
字号:
// JavaScript Document
var ERR_SUCCESS=1;// 成功
var ERR_FAILURE=0;// 失败
var SET_AGENTSTATE_READY=50;//就绪
var SET_AGENTSTATE_BUSY=51;//忙
var CALL_UNKNOWN = 1;
//第一层状态<2^5
var CALL_DIALING= 2;
var CALL_RINGING = 4;
var CALL_ESTABLISHED=8;
var CALL_DESTINATIONBUSY=16;
var CALL_MULTI_MODE=32;
var CALL_MULTI_MODE_UPHELD=64;
//复合状态
var CALL_HELD=32;
var CALL_TRANSFERED=64;
var CALL_CONFERENCED=128;
var CALL_CONSULT=256;
var CALL_ERROR=512;
var AGENT_UNKNOWN=1;
var AGENT_LOGIN=2;
var AGENT_READY=4;
var AGENT_ERROR=8;
var AGENT_WORKMODE_REST=21;
var AGENT_WORKMODE_COMMON=20;
var AGENT_WORKMODE_AFTERCALLWORK=22;
var AGENT_TYPE_MONITOR='1';
var AGENT_TYPE_COMMON='0';
var BUTTON_UNKNOWN=999;
var BUTTON_AgentLogin=100;
var BUTTON_AgentReady =101;
var BUTTON_Hangup=102;
var BUTTON_DialAnswer=103;
var BUTTON_HoldRetrieve=104;
var BUTTON_Consult=105;
var BUTTON_Transfer=106;
var BUTTON_Conference=107;
var BUTTON_AgentRest=108;
var DIAL_EXTENTION=49;
var DIAL_AGENTID=50;
var DIAL_ACD=51;
var DIAL_AGENTGROUP=52;
CALLTYPE_BASE=48;// 基础值
CALLTYPE_NORMAL=49;// 普通呼叫
CALLTYPE_CONSULT=50;// 咨询呼叫
CALLTYPE_TRANSFER=51;// 转移呼叫
CALLTYPE_CONFERENCE=52;// 会议呼叫
CALLTYPE_CONSULTEE=53;// 咨询呼叫(顾问方)
function clearAgent()
{
agentStatus=AGENT_UNKNOWN;
agentCmdWorkMode=AGENT_WORKMODE_COMMON;
agentWorkMode=AGENT_WORKMODE_COMMON;
callStatus=CALL_UNKNOWN;
consultMonitor.consultState=CONSULT_IDLE;
transferMonitor.transferState=TRANSFER_IDLE;
conferenceMonitor.conferenceState=CONFERENCE_IDLE;
setClientInfo('','','','','','','');
clearAgentLog();
}
function clearCall()
{
callStatus=CALL_UNKNOWN;
consultMonitor.consultState=CONSULT_IDLE;
transferMonitor.transferState=TRANSFER_IDLE;
conferenceMonitor.conferenceState=CONFERENCE_IDLE;
softAgent.ctiClearData();
bCallNotify=false;
}
function CmdNameToInt(cmd)
{
var val=BUTTON_UNKNOWN;
if(cmd=='AgentLogin')
val=BUTTON_AgentLogin;
else if(cmd=='AgentReady')
val=BUTTON_AgentReady;
else if(cmd=='AgentRest')
val=BUTTON_AgentRest;
else if(cmd=='Hangup')
val=BUTTON_Hangup;
else if(cmd=='DialAnswer')
val=BUTTON_DialAnswer;
else if(cmd=='HoldRetrieve')
val=BUTTON_HoldRetrieve;
else if(cmd=='Consult')
val=BUTTON_Consult;
else if(cmd=='Transfer')
val=BUTTON_Transfer;
else if(cmd=='Conference')
val=BUTTON_Conference;
return val;
}
function clickCommandButton(cmd)
{
var val=CmdNameToInt(cmd);
//alert(val);
var dNo=getRealDestNoValue();
var dNoType=getRealDestNoType();
switch (val)
{
case BUTTON_AgentLogin:
if(equalCallStatus(CALL_ESTABLISHED)) return;
if(equalAgentStatus(AGENT_LOGIN))
{
if(confirm("do you want to exist?"))
{
softAgent.ctiUnRegister();
//softAgent.ctiExitInstance();
}
else
{
return;
}
}
else
{
if(softAgent.ctiIniInstance()==ERR_SUCCESS)
{
var a=myAgentInfo.groupno.split(",");
for(var i=0;i<a.length;i++)
{
softAgent.ctiAddGroup(a[i],myAgentInfo.agentLevel);
}
softAgent.ctiRegister(myAgentInfo.bAutoBusy,myAgentInfo.workCode, myAgentInfo.agentType);
}
else
{
softAgent.ctiAddGroup(myAgentInfo.groupno,myAgentInfo.agentLevel);
if(softAgent.ctiRegister(myAgentInfo.bAutoBusy,myAgentInfo.workCode, myAgentInfo.agentType)!=ERR_SUCCESS)
{
//softAgent.ctiExitInstance();
}
}
}
break;
case BUTTON_AgentReady:
if(equalCallStatus(CALL_ESTABLISHED)) return;
//alert("ddeeeeeeeeeee");
if(equalAgentStatus(AGENT_READY))
{
if(getPageSaveOrNot()==1)
softAgent.ctiSetAgentState(SET_AGENTSTATE_BUSY);
else
return;
}
else if(getAgentWorkMode()!=AGENT_WORKMODE_REST)
{
softAgent.ctiSetAgentState(SET_AGENTSTATE_READY);
}
setAgentCmdWorkMode(AGENT_WORKMODE_COMMON);
break;
case BUTTON_AgentRest:
if(equalCallStatus(CALL_ESTABLISHED)) return;
if(equalAgentStatus(AGENT_READY))
{
softAgent.ctiSetAgentState(SET_AGENTSTATE_BUSY);
}
else if(getAgentWorkMode()==AGENT_WORKMODE_REST)
{
softAgent.ctiSetAgentState(SET_AGENTSTATE_READY);
}
setAgentCmdWorkMode(AGENT_WORKMODE_REST);
break;
case BUTTON_Hangup:
softAgent.ctiHangupCall();
break;
case BUTTON_DialAnswer:
if(equalCallStatus(CALL_UNKNOWN))
{
if(equalAgentStatus(AGENT_READY)) return;
if(dNo==null||dNo=="")
{
alert("请选择呼出号码!");
return;
}
softAgent.ctiMakeCall(dNoType,dNo);
}
if(equalCallStatus(CALL_RINGING))
{
softAgent.ctiAnswerCall();
}
break;
case BUTTON_HoldRetrieve:
if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==false)
{
if(!equalCallStatus(CALL_HELD))
{
//alert("established*hold");
softAgent.ctiHoldCall();
}
}
else if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==true)
{
if(equalCallStatus(CALL_HELD))
{
//alert("established*retrieved");
softAgent.ctiRetrieveCall();
}
}
break;
case BUTTON_Consult:
if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==false)
{
if(!equalCallStatus(CALL_CONSULT))
{
if(dNo==null||dNo=="")
{
alert("请选择咨询方号码!");
return;
}
//alert("established*initConsultCall");
softAgent.ctiConsultCall(dNoType,dNo);
setConsultMonitorState(CONSULT_INITIATED);
}
}else if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==true)
{
if(equalCallStatus(CALL_CONSULT))
{
//alert("established*unConsultCall");
softAgent.ctiUnConsultCall();
}
}
break;
case BUTTON_Transfer:
if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==false)
{
if(!equalCallStatus(CALL_TRANSFERED))
{
if(dNo==null||dNo=="")
{
alert("请选择转接方号码!");
return;
}
//alert("established*transfer");
softAgent.ctiTransferCall(dNoType,dNo);
setTransferMonitorState(TRANSFER_INITIATED);
}
}
else if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==true)
{
if(equalCallStatus(CALL_TRANSFERED))
{
//alert("established*untransfered");
softAgent.ctiStopTransfer();
}
}
break;
case BUTTON_Conference:
if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==false)
{
if(!equalCallStatus(CALL_CONFERENCED))
{
if(dNo==null||dNo=="")
{
alert("请选择会议方号码!");
return;
}
//alert("established*conferenced");
softAgent.ctiConferenceCall(dNoType,dNo);
setConferenceMonitorState(CONFERENCE_INITIATED);
}
}else if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==true)
{
if(equalCallStatus(CALL_CONFERENCED))
{
//alert("established*unconferenced");
softAgent.ctiStopConference();
}
}
break;
}
}
function getAttachData()
{
}
function setAttachData()
{
}
function getRealDestNoValue()
{
var destDnNo=document.getElementById("destDn").value;
return destDnNo;
}
function getRealDestNoType()
{
var destDnNo=document.getElementById("destDn");
var destDnType=document.getElementById("destDnType");
var dI=destDnNo.selectedIndex;
var dT=destDnType.options[dI].value;
return dT;
}
var imgArray=new Array(8);
var imgPath="images/";
imgArray[0]=new ImageSrc('Sp_login_enable.gif','Sp_login_unselected.gif','Sp_logout_selected.gif','Sp_logout_disable.gif','','',false);//login
imgArray[1]=new ImageSrc('Sp_manulBusy_enable.gif','Sp_manulBusy_unselected.gif','Sp_manulReady_selected.gif','Sp_manulReady_disable.gif','','',false);//ready
imgArray[2]=new ImageSrc('Sp_hangup_enable.gif','Sp_hangup_unselected.gif','Sp_hangup_enable.gif','Sp_hangup_unselected.gif','','',false);//hangup
imgArray[3]=new ImageSrc('Sp_dial_enable.gif','Sp_dial_unselected.gif','Sp_answer_selected.gif','Sp_answer_unselected.gif','Sp_dialing_disable.gif','Sp_dialing_disable.gif',false);//dialAnswer
imgArray[4]=new ImageSrc('Sp_held_enable.gif','Sp_held_unselected.gif','Sp_retrieve_selected.gif','Sp_retrieve_disable.gif','','',false);//hold
imgArray[5]=new ImageSrc('Sp_initConsult_enable.gif','Sp_initConsult_unselected.gif','Sp_initConsult_selected.gif','Sp_initConsult_disable.gif','','',false);//consult
imgArray[6]=new ImageSrc('Sp_initTransfer_enable.gif','Sp_initTransfer_unselected.gif','Sp_initTransfer_enable.gif','Sp_initTransfer_unselected.gif','','',false);//transfer
imgArray[7]=new ImageSrc('Sp_initConference_enable.gif','Sp_initConference_unselected.gif','Sp_compConference_selected.gif','Sp_compConference_disable.gif','','',false);//conference
imgArray[8]=new ImageSrc('Sp_startRest_enable.gif','Sp_startRest_unselected.gif','Sp_endRest_selected.gif','Sp_endRest_disable.gif','','');//conference
function ImageSrc(imgEnable,imgDisable,imgSelected,imgUnseleted,imgOther,imgThird)
{
this.imgEnable=imgEnable;
this.imgDisable=imgDisable;
this.imgSelected=imgSelected;
this.imgUnseleted=imgUnseleted;
this.imgOther=imgOther;
this.imgThird=imgThird;
}
var IMGSTATE_UNKNOWN=0;
var IMGSTATE_ENABLE=2;
var IMGSTATE_DISABLE=4;
var IMGSTATE_SELECTED=8;
var IMGSTATE_UNSELECTED=16;
var IMGSTATE_IMGOTHER=32;
var IMGSTATE_IMGTHIRD=64;
function setImgSrc(img0,img1,img2,img3,img4,img5,img6,img7,img8)
{
var img_login=document.getElementById("AgentLogin");
var img_ready=document.getElementById("AgentReady");
var img_rest=document.getElementById("AgentRest");
var img_hangup=document.getElementById("Hangup");
var img_dialAnswer=document.getElementById("DialAnswer");
var img_holdRetrieve=document.getElementById("HoldRetrieve");
var img_Consult=document.getElementById("Consult");
var img_Transfer=document.getElementById("Transfer");
var img_Conference=document.getElementById("Conference");
getImgSrc(img_login,imgArray[0],img0);
getImgSrc(img_ready,imgArray[1],img1);
getImgSrc(img_rest,imgArray[8],img2);
getImgSrc(img_hangup,imgArray[2],img3);
getImgSrc(img_dialAnswer,imgArray[3],img4);
getImgSrc(img_holdRetrieve,imgArray[4],img5);
getImgSrc(img_Consult,imgArray[5],img6);
getImgSrc(img_Transfer,imgArray[6],img7);
getImgSrc(img_Conference,imgArray[7],img8);
}
function getImgSrc(btnSrc,valSrc,val)
{
var result='';
switch (val)
{
case IMGSTATE_ENABLE:
result=imgPath+valSrc.imgEnable;
break;
case IMGSTATE_DISABLE:
result=imgPath+valSrc.imgDisable;
break;
case IMGSTATE_SELECTED:
result=imgPath+valSrc.imgSelected;
break;
case IMGSTATE_UNSELECTED:
result=imgPath+valSrc.imgUnseleted;
break;
case IMGSTATE_IMGOTHER:
result=imgPath+valSrc.imgOther;
break;
case IMGSTATE_IMGTHIRD:
result=imgPath+valSrc.imgThird;
break;
}
if(result!='')
{
btnSrc.src=result;
}
}
var btnArray=new Array(8);
btnArray[0]=document.getElementById("AgentLogin");
btnArray[1]=document.getElementById("AgentReady");
btnArray[2]=document.getElementById("Hangup");
btnArray[3]=document.getElementById("DialAnswer");
btnArray[4]=document.getElementById("HoldRetrieve");
btnArray[5]=document.getElementById("Consult");
btnArray[6]=document.getElementById("Transfer");
btnArray[7]=document.getElementById("Conference");
btnArray[8]=document.getElementById("AgentRest");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -