Sfoglia il codice sorgente

reactor:关于省件在本地系统的各项功能;

zhangchong 9 mesi fa
parent
commit
69d5d9dbf2
1 ha cambiato i file con 35 aggiunte e 22 eliminazioni
  1. 35 22
      src/layout/navBars/breadcrumb/zgTel.vue

+ 35 - 22
src/layout/navBars/breadcrumb/zgTel.vue

@@ -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) {