|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div class="phoneControls" v-loading="state.loading">
|
|
|
+ <div class="phoneControls">
|
|
|
<el-popover :width="240" trigger="hover" v-model:visible="showPop">
|
|
|
<template #reference>
|
|
|
<div class="mr20 status-box">
|
|
@@ -183,7 +183,7 @@
|
|
|
<el-dialog v-model="state.dutyDialogVisible" draggable title="签入" width="500px" :show-close="false">
|
|
|
<el-form :model="state.dutyForm" label-width="80px" ref="dutyFormRef" @submit.native.prevent>
|
|
|
<el-form-item label="分机号" prop="telNo" :rules="[{ required: true, message: '请选择分机号', trigger: 'change' }]">
|
|
|
- <el-select-v2
|
|
|
+ <!-- <el-select-v2
|
|
|
v-model="state.dutyForm.telNo"
|
|
|
:options="telsList"
|
|
|
placeholder="请选择分机号"
|
|
@@ -194,8 +194,8 @@
|
|
|
value: 'no',
|
|
|
}"
|
|
|
clearable
|
|
|
- />
|
|
|
-<!-- <el-input v-model="state.dutyForm.telNo"></el-input>-->
|
|
|
+ />-->
|
|
|
+ <el-input v-model="state.dutyForm.telNo"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="技能组" prop="skillId" :rules="[{ required: true, message: '请选择技能组', trigger: 'change' }]">
|
|
|
<el-select-v2
|
|
@@ -289,7 +289,7 @@ import { callCenterIsOnThePhone, callCenterIsSignIn, callCenterWs, currentTel }
|
|
|
import mittBus from '@/utils/mitt';
|
|
|
import { callCenterSignIn, callCenterSignOut, getCallCenterGroupList, getCallCenterList } from '@/api/callCenter';
|
|
|
import { getCurrentCityConfig } from '@/utils/appConfig';
|
|
|
-import {useTimeoutFn} from "@vueuse/shared/index";
|
|
|
+import { useTimeoutFn } from '@vueuse/shared/index';
|
|
|
const state = reactive({
|
|
|
dutyDialogVisible: false,
|
|
|
loading: false,
|
|
@@ -321,7 +321,7 @@ const activeArr = computed(() => {
|
|
|
外呼中: ['hangup'], // 静音中
|
|
|
保持中: ['hangup', 'hold'], // 保持中
|
|
|
onTalkingDeal: ['TalkingDeal'], // 话后整理中
|
|
|
- 三方会议中: ['hangup', 'conference'], // 三方会议呼出中 只能挂断和踢人
|
|
|
+ 三方会议中: ['hangup'], // 三方会议中 只能挂断
|
|
|
};
|
|
|
let arr = <EmptyArrayType>[];
|
|
|
if (currentState.value in switchCases) {
|
|
@@ -375,7 +375,7 @@ const callId = ref(''); // 通话ID
|
|
|
const m_IsCallOut = ref(false); // 是否呼出
|
|
|
const m_IsCallIn = ref(false); // 是否是呼入
|
|
|
const m_strOpenFlag = ref('2'); // 来电弹屏方式 1-接通弹屏;2-振铃弹屏
|
|
|
-const m_CallOutOpen = ref(true); // 呼出是否弹屏(用于未接统计“回拨”业务处理)
|
|
|
+const m_CallOutOpen = ref(false); // 呼出是否弹屏(用于未接统计“回拨”业务处理)
|
|
|
const m_bIsOpen = ref(false); // 是否已经弹屏
|
|
|
const m_bCallConnect = ref(false); // 是否在通话状态
|
|
|
const m_isRing = ref(false); // 是否振铃中
|
|
@@ -729,6 +729,7 @@ const clickOnDuty = (formEl: FormInstance | undefined) => {
|
|
|
};
|
|
|
wsRef.value.open();
|
|
|
state.dutyDialogVisible = false;
|
|
|
+ state.loading = false;
|
|
|
});
|
|
|
};
|
|
|
// 签入消息回调
|
|
@@ -1167,6 +1168,7 @@ const retRehold = (data) => {
|
|
|
// 外呼
|
|
|
|
|
|
const onCallOut = () => {
|
|
|
+ state.loading = false;
|
|
|
state.outboundDialogVisible = true;
|
|
|
};
|
|
|
const outboundFormRef = ref<RefType>();
|
|
@@ -1228,6 +1230,7 @@ const retCallOut = (data) => {
|
|
|
* 咨询
|
|
|
*/
|
|
|
const onConsultOpen = () => {
|
|
|
+ state.loading = false;
|
|
|
state.consultDialogVisible = true;
|
|
|
};
|
|
|
const consultFormRef = ref<RefType>();
|
|
@@ -1353,6 +1356,7 @@ const retResTransfer = (data) => {
|
|
|
* 盲转
|
|
|
*/
|
|
|
const onTransferMzOpen = () => {
|
|
|
+ state.loading = false;
|
|
|
state.blindDialogVisible = true;
|
|
|
};
|
|
|
const blindFormRef = ref<RefType>();
|
|
@@ -1376,11 +1380,11 @@ const onTransferMz = (strCallNumber) => {
|
|
|
// 发送请求
|
|
|
e_TelSendMsg(objMsg);
|
|
|
state.loading = false;
|
|
|
- console.log(`${getNowDateTime()}盲转消息:${JSON.stringify(objMsg)}`)
|
|
|
- // 结束挂机
|
|
|
- useTimeoutFn(()=>{
|
|
|
- sendHangup();
|
|
|
- },300)
|
|
|
+ console.log(`${getNowDateTime()}盲转消息:${JSON.stringify(objMsg)}`);
|
|
|
+ // 结束挂机
|
|
|
+ useTimeoutFn(() => {
|
|
|
+ sendHangup();
|
|
|
+ }, 300);
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -1434,17 +1438,17 @@ const retResConference = (data) => {
|
|
|
{“Event”: “EvtHangup”}
|
|
|
*/
|
|
|
const sendHangup = () => {
|
|
|
- const objMsg = {
|
|
|
- Action: 'ReqHangup',
|
|
|
- Param: {
|
|
|
- Extension: m_strUserNo.value,
|
|
|
- },
|
|
|
- };
|
|
|
- // 发送请求
|
|
|
- e_TelSendMsg(objMsg);
|
|
|
-}
|
|
|
+ const objMsg = {
|
|
|
+ Action: 'ReqHangup',
|
|
|
+ Param: {
|
|
|
+ Extension: m_strUserNo.value,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ // 发送请求
|
|
|
+ e_TelSendMsg(objMsg);
|
|
|
+};
|
|
|
const onHangup = () => {
|
|
|
- ElMessageBox.confirm(`确定要挂断,是否继续?`, '提示', {
|
|
|
+ ElMessageBox.confirm(`确定要挂机,是否继续?`, '提示', {
|
|
|
confirmButtonText: '确认',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning',
|
|
@@ -1453,7 +1457,7 @@ const onHangup = () => {
|
|
|
autofocus: false,
|
|
|
})
|
|
|
.then(() => {
|
|
|
- sendHangup();
|
|
|
+ sendHangup();
|
|
|
})
|
|
|
.catch(() => {
|
|
|
state.loading = false;
|
|
@@ -1496,20 +1500,33 @@ const retHangup = (data?: any) => {
|
|
|
* 评价
|
|
|
*/
|
|
|
const i_evaluate = () => {
|
|
|
- const objMsg = {
|
|
|
- Action: 'ReqSatisfaction',
|
|
|
- Param: {
|
|
|
- Extension: m_strUserNo.value,
|
|
|
- },
|
|
|
- };
|
|
|
- // 发送请求
|
|
|
- e_TelSendMsg(objMsg);
|
|
|
- state.loading = false;
|
|
|
- console.log(`${getNowDateTime()}评价消息:${JSON.stringify(objMsg)}`)
|
|
|
- // 结束挂机
|
|
|
- useTimeoutFn(()=>{
|
|
|
- sendHangup();
|
|
|
- },300)
|
|
|
+ ElMessageBox.confirm(`确定要开启评价,评价后将直接挂机,是否继续?`, '提示', {
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ draggable: true,
|
|
|
+ cancelButtonClass: 'default-button',
|
|
|
+ autofocus: false,
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ const objMsg = {
|
|
|
+ Action: 'ReqSatisfaction',
|
|
|
+ Param: {
|
|
|
+ Extension: m_strUserNo.value,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ // 发送请求
|
|
|
+ e_TelSendMsg(objMsg);
|
|
|
+ state.loading = false;
|
|
|
+ console.log(`${getNowDateTime()}评价消息:${JSON.stringify(objMsg)}`);
|
|
|
+ // 结束挂机
|
|
|
+ useTimeoutFn(() => {
|
|
|
+ sendHangup();
|
|
|
+ }, 300);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ state.loading = false;
|
|
|
+ });
|
|
|
};
|
|
|
/*
|
|
|
* 监听
|