|
@@ -853,6 +853,12 @@ const onMessage = (event: any) => {
|
|
|
const data = JSON.parse(event.data);
|
|
|
console.log('onMessage', data);
|
|
|
if (data.event_type == 'agent_state') {
|
|
|
+ if(data.agent_extn){
|
|
|
+ // 设置签入状态
|
|
|
+ useTelStatusStore.setDutyState(true);
|
|
|
+ // 设置分机号和坐席组
|
|
|
+ useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
+ }
|
|
|
// 坐席状态
|
|
|
if (data.state == 'login') {
|
|
|
// 签入
|
|
@@ -885,10 +891,6 @@ const onMessage = (event: any) => {
|
|
|
// ElMessage.success('示闲中!');
|
|
|
console.log('示闲中');
|
|
|
} else if (data.state == 'unready') {
|
|
|
- // 设置分机号和坐席组
|
|
|
- useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
// 示忙中
|
|
|
useTelStatusStore.setPhoneControlState(TelStates.rest);
|
|
|
useTelStatusStore.setRest(RestStates.resting);
|
|
@@ -930,8 +932,7 @@ const onMessage = (event: any) => {
|
|
|
} else if (data.state == 'acw') {
|
|
|
// 设置分机号和坐席组
|
|
|
useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
+
|
|
|
|
|
|
// 话后整理中
|
|
|
const time: number = AppConfigInfo.value.talkingDealTime * 1000; // 话后整理时间
|
|
@@ -962,10 +963,6 @@ const onMessage = (event: any) => {
|
|
|
if (data.call_direction == 'outbound') {
|
|
|
// 呼出
|
|
|
if (data.private_data == 'calling') {
|
|
|
- // 设置分机号和坐席组
|
|
|
- useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
// 拨号中
|
|
|
// 设置电话状态 振铃中
|
|
|
useTelStatusStore.setPhoneControlState(TelStates.ring);
|
|
@@ -973,18 +970,10 @@ const onMessage = (event: any) => {
|
|
|
} else if (data.private_data == 'answered') {
|
|
|
//振铃中
|
|
|
if (data.other_answered == false) {
|
|
|
- // 设置分机号和坐席组
|
|
|
- useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
// 设置电话状态 振铃中
|
|
|
useTelStatusStore.setPhoneControlState(TelStates.ring);
|
|
|
console.log('呼出振铃中');
|
|
|
} else if (data.other_answered == true) {
|
|
|
- // 设置分机号和坐席组
|
|
|
- useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
// 通话中
|
|
|
// 开始计时
|
|
|
startTime();
|
|
@@ -998,10 +987,6 @@ const onMessage = (event: any) => {
|
|
|
} else {
|
|
|
// 呼入
|
|
|
if (data.private_data == 'ring') {
|
|
|
- // 设置分机号和坐席组
|
|
|
- useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
// 设置电话状态 振铃中
|
|
|
useTelStatusStore.setPhoneControlState(TelStates.ring);
|
|
|
console.log(data,'来电弹单信息')
|
|
@@ -1025,10 +1010,6 @@ const onMessage = (event: any) => {
|
|
|
|
|
|
|
|
|
} else if (data.private_data == 'answered') {
|
|
|
- // 设置分机号和坐席组
|
|
|
- useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
// 开始计时
|
|
|
startTime();
|
|
|
// 设置电话状态 通话中
|
|
@@ -1044,8 +1025,7 @@ const onMessage = (event: any) => {
|
|
|
|
|
|
// 设置分机号和坐席组
|
|
|
useTelStatusStore.setCallInfo({ telsNo: data.agent_extn});
|
|
|
- // 设置话机状态 结束休息改为签入状态
|
|
|
- useTelStatusStore.setPhoneControlState(TelStates.dutyOn);
|
|
|
+
|
|
|
|
|
|
// 结束计时
|
|
|
removeTimer();
|
|
@@ -1411,7 +1391,7 @@ onMounted(async () => {
|
|
|
signalRStart(); //开启消息监听
|
|
|
await getTelsLists(); // 查询所有分机
|
|
|
if (telStatusInfo.value.telsNo) {
|
|
|
- dutyOn({ telNo: userInfos.value.defaultTelNo })
|
|
|
+ dutyOn({ telNo: telStatusInfo.value.telsNo })
|
|
|
.then((res: any) => {
|
|
|
currentTel.value.password = res.result.telPwd;
|
|
|
currentTel.value.telNo = res.result.telNo;
|