Ver código fonte

reactor:对接数据共享平台;

zhangchong 10 meses atrás
pai
commit
8cd5f44b15

+ 15 - 10
src/layout/navBars/breadcrumb/ybTel.vue

@@ -212,7 +212,7 @@
 				</div>
 			</template>
 
-<!--			&lt;!&ndash; 三方会议 可用(当前处于通话中)&ndash;&gt;
+			<!--			&lt;!&ndash; 三方会议 可用(当前处于通话中)&ndash;&gt;
 			<template v-if="telStatusInfo.isDutyOn && activeArr.includes('conference') && onCallArr.length !== 1">
 				<div
 					class="item active"
@@ -1194,13 +1194,13 @@ const onMessage = async (event: any) => {
 
 						await router.push({
 							name: 'orderAccept',
-              query:{
-                createBy: 'tel',
-                fromTel: data.ani, // 来电号码
-                callId: data.other_accept,
-                transfer: data.gateway, // 转接来源(如12345,12333)
-                identityType: data.app_data.dtmf_his, // 按键接收(1:市民 2:企业 3:智能应答)
-              }
+							query: {
+								createBy: 'tel',
+								fromTel: data.ani, // 来电号码
+								callId: data.other_accept,
+								transfer: data.gateway, // 转接来源(如12345,12333)
+								identityType: data.app_data.dtmf_his, // 按键接收(1:市民 2:企业 3:智能应答)
+							},
 						});
 					} else if (data.private_data == 'answered') {
 						// 开始计时
@@ -1243,8 +1243,13 @@ const onError = (ws: any, e: any) => {
 	console.log(`呼叫中心链接错误:${e}`);
 };
 // 业务系统发送消息
-const sendMsg = (msg: any) => {
-	signalR.SR.invoke('SendSeatState', { telNo: telStatusInfo.value.telsNo, state: msg });
+const sendMsg = (state: string) => {
+	signalR.SR.invoke('SendSeatState', {
+		telNo: telStatusInfo.value.telsNo,
+		state,
+		workUserName: userInfos.value.name,
+		workUserId: userInfos.value.id,
+	});
 };
 // 业务系统记录话后整理开始
 const onBeginAcw = async () => {

+ 15 - 24
src/utils/signalR.ts

@@ -1,8 +1,8 @@
 // 官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/signalr/javascript-client?view=aspnetcore-6.0&viewFallbackFrom=aspnetcore-2.2&tabs=visual-studio
 import * as signalR from '@microsoft/signalr';
 import { Cookie, Local } from '@/utils/storage';
-import { submitLog } from "@/api/public/log";
-import { getNowDateTime } from "@/utils/constants";
+import { submitLog } from '@/api/public/log';
+import { getNowDateTime } from '@/utils/constants';
 // 记录日志
 const submitLogFn = async (request: any) => {
 	try {
@@ -37,7 +37,7 @@ export default {
 				executeUrl: import.meta.env.VITE_API_SOCKET_URL,
 			};
 			await submitLogFn(request);
-			console.log('业务系统signal当前链接状态:', connection.state,getNowDateTime());
+			console.log('业务系统signal当前链接状态:', connection.state, getNowDateTime());
 			// 建议用户重新刷新浏览器
 			await this.start();
 		});
@@ -51,7 +51,7 @@ export default {
 				executeUrl: import.meta.env.VITE_API_SOCKET_URL,
 			};
 			await submitLogFn(request);
-			console.log('业务系统signal断线重连成功',getNowDateTime());
+			console.log('业务系统signal断线重连成功', getNowDateTime());
 			// location.reload();
 			/*ElNotification({
 				type: 'success',
@@ -61,15 +61,15 @@ export default {
 		});
 		// 服务端推送消息
 		connection.on('Send', (message: any) => {
-			console.log(`有用户加入分组:${message}`,getNowDateTime());
+			console.log(`有用户加入分组:${message}`, getNowDateTime());
 		});
 		// 服务端推送消息
 		connection.on('CircularRecord', (message: any) => {
-			console.log(`小红点消息:${message}`,getNowDateTime());
+			console.log(`小红点消息:${message}`, getNowDateTime());
 		});
 		// 服务端推送消息
 		connection.on('SeatState', (message: any) => {
-			console.log(`座席状态:${JSON.stringify(message)}`,getNowDateTime());
+			console.log(`座席状态:${JSON.stringify(message)}`, getNowDateTime());
 		});
 		// 服务端推送消息
 		connection.on('RestApplyPass', (message: any) => {
@@ -101,7 +101,7 @@ export default {
 		try {
 			//使用async和await 或 promise的then 和catch 处理来自服务端的异常
 			await this.SR.start();
-			console.log('业务系统signal当前链接状态:', this.SR.state,getNowDateTime());
+			console.log('业务系统signal当前链接状态:', this.SR.state, getNowDateTime());
 			const name: string = `业务系统的websocket链接成功`;
 			const remark: string = `业务系统的websocket断开链接`;
 			const request = {
@@ -140,22 +140,14 @@ export default {
 			// 判断是否已经建立链接 如果没有 先链接
 			await this.SR.invoke('JoinGroupAsync', { GroupName: groupName });
 		} else {
-			// 等待链接成功再发送
-			if (this.SR?.state === 'Connecting') {
+			try {
+				await this.start();
 				setTimeout(async () => {
-					await this.SR.invoke('JoinGroupAsync', { GroupName: groupName });
+					await this.SR?.invoke('JoinGroupAsync', { GroupName: groupName });
 				}, 500);
-				return;
+			} catch (err) {
+				console.log(err);
 			}
-			await this.start()
-				.then(async () => {
-					setTimeout(async () => {
-						await this.SR?.invoke('JoinGroupAsync', { GroupName: groupName });
-					}, 500);
-				})
-				.catch((err) => {
-					console.log(err);
-				});
 		}
 	},
 	/**
@@ -197,7 +189,7 @@ export default {
 		try {
 			//使用async和await 或 promise的then 和catch 处理来自服务端的异常
 			await this.SR.stop();
-			console.log(this.SR.state, '断开链接',getNowDateTime());
+			console.log(this.SR.state, '断开链接', getNowDateTime());
 		} catch (error) {
 			console.log('signalR', error);
 		}
@@ -210,11 +202,10 @@ export default {
 		try {
 			const telStatusInfo = Local.get('telStatusInfo');
 			//使用async和await 或 promise的then 和catch 处理来自服务端的异常
-			this.SR?.invoke('SendSeatState', { telNo: telStatusInfo?.telStatusInfo?.telsNo ?? '', state: 'logout' });
 			await this.leaveGroup('CallCenter');
 			await this.leaveGroup('BigScreen-SeatState');
 			await this.stop();
-			console.log(this.SR.state, '断开链接',getNowDateTime());
+			console.log(this.SR.state, '断开链接', getNowDateTime());
 		} catch (error) {
 			console.log('signalR', error);
 		}

+ 5 - 5
src/views/statistics/department/handle.vue

@@ -427,7 +427,7 @@ const handleQuery = () => {
 const queryList = () => {
 	state.loading = true;
   let request = Other.deepClone(state.queryParams);
-  request.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
+  request.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
   request.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
   Reflect.deleteProperty(request, 'crTime');
 	departmentOrder(request)
@@ -544,14 +544,14 @@ const getSummaries = (param: any) => {
 // 查看详情
 const router = useRouter();
 const linkDetail = (scope, key?: string) => {
-  let EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
+  let StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
   let EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
 	if (key) {
 		// 点击数字
 		router.push({
 			name: 'statisticsDepartmentDetailHandle',
 			query: {
-				EndTime,
+				StartTime,
 				EndTime,
 				OrgCode: scope.row.orgCode,
 				StatisticsType: key,
@@ -563,7 +563,7 @@ const linkDetail = (scope, key?: string) => {
 		router.push({
 			name: 'statisticsDepartmentDetailHandleOrg',
 			query: {
-				EndTime,
+				StartTime,
 				EndTime,
         isProvince:state.queryParams.isProvince,
         id: scope.row.orgCode,
@@ -574,7 +574,7 @@ const linkDetail = (scope, key?: string) => {
 // 表格导出
 const exportTable = (columnInfos: any, isExportAll = false) => {
   let request = Other.deepClone(state.queryParams);
-  request.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
+  request.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
   request.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
   Reflect.deleteProperty(request, 'crTime');
   const req = {