|
@@ -914,8 +914,6 @@ const onMessage = async (event: any) => {
|
|
|
sendMsg('login');
|
|
|
} else if (data.state == 'logout') {
|
|
|
// 签出
|
|
|
- // 重置所有状态
|
|
|
- useTelStatusStore.resetState();
|
|
|
console.log('呼叫中心:已签出');
|
|
|
ElMessage.success('签出成功');
|
|
|
seatAssistOff(); // 坐席助手关闭
|
|
@@ -1243,13 +1241,12 @@ const submitLogFn = async (event: any) => {
|
|
|
// 呼叫中心链接关闭
|
|
|
const isReconnect = ref<boolean>(true); // 是否需要重连
|
|
|
const onClose = async (event: any) => {
|
|
|
+ resetState();
|
|
|
const { result } = await getTelStatus();
|
|
|
console.log('呼叫中心断开链接', result && isReconnect.value ? '需要重连' : '不需要重连');
|
|
|
if (result && isReconnect.value) {
|
|
|
// 签入状态需要重连
|
|
|
await reConnect(); // 重新链接呼叫中心
|
|
|
- } else {
|
|
|
- resetState();
|
|
|
}
|
|
|
await submitLogFn(event);
|
|
|
};
|
|
@@ -1283,8 +1280,10 @@ const reConnect = async () => {
|
|
|
// 链接成功 停止重连
|
|
|
const stopReconnect = () => {
|
|
|
clearTimeout(reconnectTimeout.value);
|
|
|
- isReconnect.value = false;
|
|
|
console.log('停止重连');
|
|
|
+ setTimeout(() => {
|
|
|
+ isReconnect.value = true;
|
|
|
+ }, 3000);
|
|
|
};
|
|
|
const dutyFormRef = ref<RefType>();
|
|
|
const currentTel = ref<any>({}); // 当前分机
|
|
@@ -1415,12 +1414,12 @@ const offDutyFn = () => {
|
|
|
console.log('业务系统:签出成功');
|
|
|
sendMsg('logout');
|
|
|
ola.logout(currentTel.value.telNo); //签出
|
|
|
+ state.dutyOnSrc = getImageUrl('phoneControls/dutyOn_blue.png'); //签入图片
|
|
|
+ isReconnect.value = false;
|
|
|
setTimeout(() => {
|
|
|
ola.close();
|
|
|
}, 500);
|
|
|
- state.dutyOnSrc = getImageUrl('phoneControls/dutyOn_blue.png'); //签入图片
|
|
|
- isReconnect.value = false;
|
|
|
- resetState(); // 重置所有状态
|
|
|
+ resetState();
|
|
|
state.loading = false;
|
|
|
})
|
|
|
.catch(() => {})
|
|
@@ -1928,7 +1927,6 @@ const resetState = () => {
|
|
|
clearInterval(pingTimer.value); // 清除心跳定时器
|
|
|
clearInterval(onDutyTimer.value); // 清除签入时长定时器
|
|
|
clearInterval(talkTimer.value); // 清除通话时长定时器
|
|
|
- isReconnect.value = true;
|
|
|
state.loading = false;
|
|
|
};
|
|
|
// 获取当前分机状态
|
|
@@ -1974,8 +1972,6 @@ const callCenterConnect = async () => {
|
|
|
isTelMute.value = result.isTelMute; // 是否静音中
|
|
|
state.loading = false;
|
|
|
} else {
|
|
|
- // 没有查询到当前用户上班状态 直接重置
|
|
|
- resetState();
|
|
|
state.loading = false;
|
|
|
}
|
|
|
} catch (e) {
|