|
@@ -216,6 +216,7 @@ const m_IsHangup = ref(false); // 是否挂机
|
|
|
const m_IsHold = ref(false); // 是否保持
|
|
|
const m_IsMonListen = ref('0'); // 监控状态 0-未监听;1-监控成功;2-监控失败;
|
|
|
const m_strTelState = ref('0'); // 当前状态
|
|
|
+const m_AutoSignout = ref(false); // 签入自动签出
|
|
|
const showPop = ref(false);
|
|
|
// 点击事件
|
|
|
const onEvent = (event: string) => {
|
|
@@ -451,7 +452,7 @@ const ResAgentMonitor = (data) => {
|
|
|
{“Action”:”ResAgentLogin”,”Param”:{“Result”:}}
|
|
|
Result: 3:分机错误 7:已登录 0:登录成功
|
|
|
*/
|
|
|
-const signInFn = () => {
|
|
|
+const SendSignIn = () => {
|
|
|
const sendObj = {
|
|
|
Action: 'ReqAgentLogin',
|
|
|
Param: {
|
|
@@ -469,6 +470,8 @@ const signInFn = () => {
|
|
|
callCenterWs.value = wsRef.value;
|
|
|
// 发送请求
|
|
|
e_TelSendMsg(sendObj);
|
|
|
+ // 状态调整为不在退回时签入
|
|
|
+ m_AutoSignout.value = false;
|
|
|
console.log(`${getNowDateTime()}:呼叫中心签入`);
|
|
|
};
|
|
|
const signTime = ref(0); //签入时长
|
|
@@ -530,7 +533,7 @@ const onSignIn = (data?: any) => {
|
|
|
telGroup: userInfos.value.defaultTelGroup,
|
|
|
jobNum: <string>userInfos.value.staffNo,
|
|
|
};
|
|
|
- signInFn();
|
|
|
+ SendSignIn();
|
|
|
return;
|
|
|
}
|
|
|
if (AppConfigInfo.value.isNeedTelNo) {
|
|
@@ -554,7 +557,7 @@ const onSignIn = (data?: any) => {
|
|
|
telGroup: userInfos.value.defaultTelGroup,
|
|
|
jobNum: <string>userInfos.value.staffNo,
|
|
|
};
|
|
|
- signInFn();
|
|
|
+ SendSignIn();
|
|
|
}
|
|
|
};
|
|
|
const dutyFormRef = ref();
|
|
@@ -571,7 +574,7 @@ const clickOnDuty = (formEl: FormInstance | undefined) => {
|
|
|
telGroup: state.dutyForm.skillId,
|
|
|
jobNum: state.dutyForm.telNo,
|
|
|
};
|
|
|
- signInFn();
|
|
|
+ SendSignIn();
|
|
|
state.dutyDialogVisible = false;
|
|
|
});
|
|
|
};
|
|
@@ -605,9 +608,9 @@ const retSignIn = (data: any) => {
|
|
|
ElMessage.error('分机错误');
|
|
|
// 分机错误
|
|
|
} else if (data.Param.Result === '7') {
|
|
|
+ m_AutoSignout.value = true;
|
|
|
// 已经处于登录状态
|
|
|
signOutFn();
|
|
|
- ElMessage.error('已经处于签入状态,系统将自动签出,请重新签入');
|
|
|
}
|
|
|
};
|
|
|
// 开启链接
|
|
@@ -773,6 +776,10 @@ const signOutFn = () => {
|
|
|
};
|
|
|
// 发送请求
|
|
|
e_TelSendMsg(objMsg);
|
|
|
+ if (m_AutoSignout.value) {// 签入之前自动签出业务处理
|
|
|
+ // 签入业务
|
|
|
+ SendSignIn();
|
|
|
+ }
|
|
|
};
|
|
|
const onSignOut = () => {
|
|
|
ElMessageBox.confirm(`确定要签出,是否继续?`, '提示', {
|
|
@@ -794,24 +801,29 @@ const onSignOut = () => {
|
|
|
* 签出事件
|
|
|
*/
|
|
|
const retSignOut = () => {
|
|
|
- currentState.value = '签出';
|
|
|
+ if (m_AutoSignout.value) {// 签入之前自动签出业务处理
|
|
|
+ //签出事件
|
|
|
+ //签出成功事件之后登陆 改为 签出提交后 直接
|
|
|
+ } else {
|
|
|
+ currentState.value = '签出';
|
|
|
|
|
|
- state.loading = false;
|
|
|
- // 登出成功
|
|
|
- m_strTelState.value = '0';
|
|
|
- e_TopStateChange(m_strTelState.value);
|
|
|
- // 签出
|
|
|
- e_ActionUpdate('1'); // 更新话机动作
|
|
|
- // 附加签出方法(用户分机分离 调用业务系统等处)
|
|
|
- e_TelSignOut(m_strUserNo.value, m_strSkillId.value);
|
|
|
- m_bLogin.value = false;
|
|
|
- callCenterIsSignIn.value = false; // 签出状态
|
|
|
- // 关闭ws
|
|
|
- wsRef.value.close();
|
|
|
- stopSignTime(); // 停止签入计时器
|
|
|
- stopBusyTime(); // 停止示忙计时器
|
|
|
- stopIdleTime(); // 停止空闲计时器
|
|
|
- stopTalkTimer(); // 停止通话计时器
|
|
|
+ state.loading = false;
|
|
|
+ // 登出成功
|
|
|
+ m_strTelState.value = '0';
|
|
|
+ e_TopStateChange(m_strTelState.value);
|
|
|
+ // 签出
|
|
|
+ e_ActionUpdate('1'); // 更新话机动作
|
|
|
+ // 附加签出方法(用户分机分离 调用业务系统等处)
|
|
|
+ e_TelSignOut(m_strUserNo.value, m_strSkillId.value);
|
|
|
+ m_bLogin.value = false;
|
|
|
+ callCenterIsSignIn.value = false; // 签出状态
|
|
|
+ // 关闭ws
|
|
|
+ wsRef.value.close();
|
|
|
+ stopSignTime(); // 停止签入计时器
|
|
|
+ stopBusyTime(); // 停止示忙计时器
|
|
|
+ stopIdleTime(); // 停止空闲计时器
|
|
|
+ stopTalkTimer(); // 停止通话计时器
|
|
|
+ }
|
|
|
};
|
|
|
/*
|
|
|
* 示忙
|
|
@@ -1837,6 +1849,7 @@ onMounted(async () => {
|
|
|
// 加入分组
|
|
|
await signalR.joinGroup('CallCenter');
|
|
|
await checkLogin(); // 检查登录状态
|
|
|
+ websocket_connect();
|
|
|
// 是否在通话中
|
|
|
window.onbeforeunload = function (e) {
|
|
|
if (m_bCallConnect.value) {
|