Ver código fonte

reactor:延期审批后刷新列表 新增话务保持动作;

zhangchong 11 meses atrás
pai
commit
6894bafa62

+ 8 - 4
src/api/public/wex.ts

@@ -183,20 +183,24 @@ export const switchMode = (data?: object) => {
 	});
 };
 /**
- * @description 话后整理开始
+ * @description 动作开始 1话后整理 2 保持
+ * @param {object} params
  */
-export const startAfterCall = () => {
+export const startAfterCall = (params:object) => {
 	return request({
 		url: `/api/v1/IPPbx/callennd-arrange-begin`,
 		method: 'get',
+		params
 	});
 };
 /**
- * @description 话后整理结束
+ * @description 动作结束 1话后整理 2 保持
+ * @param {object} params
  */
-export const endAfterCall = () => {
+export const endAfterCall = (params:object) => {
 	return request({
 		url: `/api/v1/IPPbx/callend-arrange-end`,
 		method: 'get',
+		params
 	});
 };

+ 25 - 2
src/layout/navBars/breadcrumb/telControl.vue

@@ -824,7 +824,7 @@ const sendMsg = (msg: any) => {
 // 业务系统记录话后整理开始
 const onBeginAcw = async () => {
 	try {
-		const res: any = await startAfterCall();
+		const res: any = await startAfterCall({ actionType: 1 });
 		console.log(res, '业务系统记录话后整理开始');
 	} catch (err) {
 		console.log(err);
@@ -833,7 +833,7 @@ const onBeginAcw = async () => {
 // 业务系统记录话后整理结束
 const onEndAcw = async () => {
 	try {
-		const res: any = await endAfterCall();
+		const res: any = await endAfterCall({ actionType: 1 });
 		console.log(res, '业务系统记录话后整理结束');
 	} catch (err) {
 		console.log(err);
@@ -1025,6 +1025,8 @@ const onMessage = async (event: any) => {
 			if (['held', 'unheld'].includes(data.private_data)) {
 				// 保持
 				holdStatus(data.private_data); //处理保持
+        if(data.private_data == 'held') await holdStart(); // 保持开始 业务系统统计需要
+        else await holdEnd();
 			} else {
 				// 非保持状态
 				if (data.private_data == 'monitoring') {
@@ -1612,6 +1614,24 @@ const onRestEnd = () => {
 		})
 		.catch(() => {});
 };
+// 业务系统保持开始
+const holdStart = async () => {
+	try {
+		const res: any = await startAfterCall({ actionType: 2 });
+		console.log(res, '业务系统记录保持开始');
+	} catch (err) {
+		console.log(err);
+	}
+};
+// 业务系统保持结束
+const holdEnd = async () => {
+	try {
+		const res: any = await endAfterCall({ actionType: 2 });
+		console.log(res, '业务系统记录保持结束');
+	} catch (err) {
+		console.log(err);
+	}
+};
 // 通话保持
 const onHold = () => {
 	ElMessageBox.confirm(`确定要保持,是否继续?`, '提示', {
@@ -1803,6 +1823,7 @@ const resetState = () => {
 	state.loading = false;
 };
 // 获取当前分机状态
+const isCallHold = ref(false); // 是否是保持中
 const getTelStatusFn = async () => {
 	try {
 		const { result } = await getTelStatus();
@@ -1813,6 +1834,7 @@ const getTelStatusFn = async () => {
 		currentTel.value.queueCallOut = result.queueCallOut; // 呼出分机组
 		startDutyTimer(result.second); // 开启计时 签入时长
 		isRest.value = result.isRest;
+		isCallHold.value = result.isCallHold;
 	} catch (e) {
 		console.log(e);
 	}
@@ -1833,6 +1855,7 @@ const callCenterConnect = async () => {
 			currentTel.value.queueCallOut = result.queueCallOut; // 呼出分机组
 			websocket_connect(); //开启消息监听
 			startDutyTimer(result.second); // 开启计时 签入时长
+			isCallHold.value = result.isCallHold;
 			isRest.value = result.isRest;
 			state.loading = false;
 		} else {

+ 0 - 0
src/utils/signalR.tsx → src/utils/signalR.ts


+ 11 - 1
src/views/business/delay/components/Delay-detail.vue

@@ -56,7 +56,7 @@
 	<!-- 审核记录 -->
 	<audit-record ref="auditRecordRef" />
 	<!--  流程审批  -->
-	<process-audit ref="processAuditRef" @orderProcessSuccess="closeDialog"></process-audit>
+	<process-audit ref="processAuditRef" @orderProcessSuccess="orderProcessSuccess" @orderProcessFailed="orderProcessFailed"></process-audit>
 </template>
 <script setup lang="ts" name="delayDetail">
 import { defineAsyncComponent, reactive, ref } from 'vue';
@@ -142,6 +142,16 @@ const processDetail = () => {
 	};
 	auditRecordRef.value.openDialog(params);
 };
+// 审核成功
+const orderProcessSuccess = () => {
+	emit('updateList');
+	closeDialog();
+};
+// 审核失败
+const orderProcessFailed = () => {
+	emit('updateList');
+	closeDialog();
+};
 defineExpose({
 	openDialog,
 	closeDialog,

+ 2 - 1
src/views/tels/callLog/index.vue

@@ -644,7 +644,6 @@ const queryList = async () => {
 		Reflect.deleteProperty(request, 'beginRingTime'); // 删除无用的参数
 		Reflect.deleteProperty(request, 'endRingTime'); // 删除无用的参数
 		Reflect.deleteProperty(request, 'type'); // 删除无用的参数
-
 		switch (state.queryParams.type) {
 			case '0':
 				columns.value = allColumns;
@@ -652,10 +651,12 @@ const queryList = async () => {
 			case '1':
 				columns.value = inColumns;
 				request.CallDirection = 0;
+				request.OnState = 1;
 				break;
 			case '2':
 				columns.value = outColumns;
 				request.CallDirection = 1;
+				request.OnState = 1;
 				break;
 			case '3':
 				columns.value = noColumns;