|
@@ -1,10 +1,11 @@
|
|
|
<template>
|
|
|
<div class="tels-callLog-container layout-pd">
|
|
|
<el-card shadow="never">
|
|
|
- <el-tabs v-model="state.queryParams.IsConnected" @tab-change="changeTba">
|
|
|
- <el-tab-pane name="" label="全部"></el-tab-pane>
|
|
|
- <el-tab-pane name="true" label="已接通"></el-tab-pane>
|
|
|
- <el-tab-pane name="false" label="未接"></el-tab-pane>
|
|
|
+ <el-tabs v-model="state.queryParams.type" @tab-change="changeTba">
|
|
|
+<!-- <el-tab-pane name="0" label="全部"></el-tab-pane>-->
|
|
|
+ <el-tab-pane name="1" label="呼入列表"></el-tab-pane>
|
|
|
+ <el-tab-pane name="2" label="呼出列表"></el-tab-pane>
|
|
|
+ <el-tab-pane name="3" label="未接列表"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="20px">
|
|
|
<el-row :gutter="10">
|
|
@@ -40,7 +41,7 @@
|
|
|
<transition name="el-zoom-in-top">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol || ['4'].includes(state.queryParams.type)">
|
|
|
<el-form-item prop="EndBy">
|
|
|
- <el-select v-model="state.queryParams.EndBy" placeholder="挂机类型" clearable class="w100" @change="handleQuery">
|
|
|
+ <el-select v-model="state.queryParams.EndBy" placeholder="挂断状态" clearable class="w100" @change="handleQuery">
|
|
|
<el-option v-for="item in state.endByOptions" :value="item.key" :key="item.key" :label="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -54,8 +55,8 @@
|
|
|
type="datetimerange"
|
|
|
unlink-panels
|
|
|
range-separator="至"
|
|
|
- start-placeholder="呼入时间"
|
|
|
- end-placeholder="结束事件"
|
|
|
+ start-placeholder="开始时间"
|
|
|
+ end-placeholder="挂断时间"
|
|
|
:shortcuts="shortcuts"
|
|
|
@change="handleQuery"
|
|
|
value-format="YYYY-MM-DD[T]HH:mm:ss"
|
|
@@ -145,10 +146,8 @@ import { defineAsyncComponent, onMounted, reactive, ref, onActivated, onBeforeUn
|
|
|
import type { FormInstance } from 'element-plus';
|
|
|
import { ElMessageBox } from 'element-plus';
|
|
|
import { downloadFileByStream, getNeedArr } from '@/utils/tools';
|
|
|
-import { callBaseData, callLogPaged } from '@/api/tels/callLog';
|
|
|
import { formatDate } from '@/utils/formatTime';
|
|
|
import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
|
|
|
-import other from '@/utils/other';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
import { fileDownload } from '@/api/public/file';
|
|
|
import mittBus from '@/utils/mitt';
|
|
@@ -168,7 +167,8 @@ const state = reactive<any>({
|
|
|
queryParams: {
|
|
|
PageIndex: 1, // 当前页
|
|
|
PageSize: 10, // 每页条数
|
|
|
- IsConnected: '', // 接通状态
|
|
|
+ type: '1', // 默认全部
|
|
|
+ IsConnected: null, // 接通状态
|
|
|
FromNo: null, // 主叫
|
|
|
ToNo: null, // 被叫
|
|
|
UserName: null, // 话务员名称
|
|
@@ -198,341 +198,87 @@ const allColumns = [
|
|
|
{ prop: 'toNo', label: '被叫号码', width: 120 },
|
|
|
{ prop: 'order.no', label: '工单编码', width: 150 },
|
|
|
{ prop: 'order.title', label: '工单标题', width: 200 },
|
|
|
- { prop: 'telNo', label: '响应分机', width: 120 },
|
|
|
+ { prop: 'telNo', label: '响应分机' },
|
|
|
{ prop: 'mobileAreaName', label: '号码归属地', width: 120 },
|
|
|
{ prop: 'userName', label: '话务员', width: 120 },
|
|
|
- { prop: 'duration', label: '通话时间(秒)', width: 120 },
|
|
|
+ { prop: 'groupId', label: '功能组号码', width: 120 },
|
|
|
+ { prop: 'duration', label: '通话时长(秒)', width: 120 },
|
|
|
{ prop: 'onStateText', label: '通话结果' },
|
|
|
{ prop: 'directionText', label: '电话方向' },
|
|
|
- { prop: 'hangupBy', label: '挂机类型', width: 120 },
|
|
|
- {
|
|
|
- prop: 'beginIvrTime',
|
|
|
- label: 'ivr开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endIvrTime',
|
|
|
- label: 'ivr结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.endIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginQueueTime',
|
|
|
- label: '队列开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endQueueTime',
|
|
|
- label: '队列结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginRingTime',
|
|
|
- label: '开始振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.beginRingTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endRingTimg',
|
|
|
- label: '结束振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endRingTimg, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'createdTime',
|
|
|
- label: '开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.createdTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
+ { prop: 'hangupBy', label: '挂断状态', width: 120 },
|
|
|
{
|
|
|
prop: 'answeredTime',
|
|
|
label: '接通时间',
|
|
|
- width: 170,
|
|
|
+ width: 160,
|
|
|
render: (scope) => <span>{formatDate(scope.row.answeredTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
},
|
|
|
- { prop: 'overTime', label: '挂断时间', width: 170, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
+ { prop: 'overTime', label: '挂断时间', width: 160, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
|
|
|
];
|
|
|
-// 呼入已接表头
|
|
|
+// 呼入列表表头(已接通)
|
|
|
const inColumns = [
|
|
|
- { prop: 'cpn', label: '主叫号码', width: 120 },
|
|
|
- { prop: 'cdpn', label: '被叫号码', width: 120 },
|
|
|
+ { prop: 'fromNo', label: '主叫号码', width: 120 },
|
|
|
+ { prop: 'toNo', label: '被叫号码', width: 120 },
|
|
|
{ prop: 'order.no', label: '工单编码', width: 150 },
|
|
|
- { prop: 'title', label: '工单标题', width: 300 },
|
|
|
- { prop: 'telNo', label: '响应分机', width: 120 },
|
|
|
+ { prop: 'order.title', label: '工单标题', width: 300 },
|
|
|
+ { prop: 'telNo', label: '响应分机' },
|
|
|
{ prop: 'mobileAreaName', label: '号码归属地', width: 120 },
|
|
|
{ prop: 'userName', label: '话务员', width: 120 },
|
|
|
+ { prop: 'groupId', label: '功能组号码', width: 120 },
|
|
|
{ prop: 'duration', label: '通话时间(秒)', width: 120 },
|
|
|
- { prop: 'hangupBy', label: '挂机类型', width: 120 },
|
|
|
- {
|
|
|
- prop: 'beginIvrTime',
|
|
|
- label: 'ivr开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endIvrTime',
|
|
|
- label: 'ivr结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.endIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginQueueTime',
|
|
|
- label: '队列开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endQueueTime',
|
|
|
- label: '队列结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginRingTime',
|
|
|
- label: '开始振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.beginRingTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endRingTimg',
|
|
|
- label: '结束振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endRingTimg, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
+ { prop: 'hangupBy', label: '挂断状态', width: 120 },
|
|
|
{
|
|
|
prop: 'createdTime',
|
|
|
label: '开始时间',
|
|
|
- width: 170,
|
|
|
+ width: 160,
|
|
|
render: (scope) => <span>{formatDate(scope.row.createdTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
},
|
|
|
{
|
|
|
prop: 'answeredTime',
|
|
|
label: '接通时间',
|
|
|
- width: 170,
|
|
|
+ width: 160,
|
|
|
render: (scope) => <span>{formatDate(scope.row.answeredTime, ' YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
},
|
|
|
- { prop: 'overTime', label: '挂断结束时间', width: 170, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
+ { prop: 'overTime', label: '挂断时间', width: 160, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
{ prop: 'operation', label: '操作', fixed: 'right', width: 310, align: 'center' },
|
|
|
];
|
|
|
-// 呼出已接表头
|
|
|
+// 呼出列表表头(已接通)
|
|
|
const outColumns = [
|
|
|
- { prop: 'cpn', label: '主叫号码', width: 120 },
|
|
|
- { prop: 'cdpn', label: '被叫号码', width: 120 },
|
|
|
+ { prop: 'fromNo', label: '主叫号码', width: 120 },
|
|
|
+ { prop: 'toNo', label: '被叫号码', width: 120 },
|
|
|
{ prop: 'telNo', label: '响应分机' },
|
|
|
- { prop: 'gateway', label: '中继号码', width: 120 },
|
|
|
- { prop: 'userName', label: '话务员' },
|
|
|
+ { prop: 'hangupBy', label: '挂断状态', width: 120 },
|
|
|
+ { prop: 'groupId', label: '功能组号码', width: 120 },
|
|
|
{ prop: 'duration', label: '通话时间(秒)', width: 120 },
|
|
|
- { prop: 'endByText', label: '挂机类型', width: 120 },
|
|
|
{
|
|
|
prop: 'createdTime',
|
|
|
label: '开始时间',
|
|
|
- width: 170,
|
|
|
+ width: 160,
|
|
|
render: (scope) => <span>{formatDate(scope.row.createdTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
},
|
|
|
{
|
|
|
prop: 'answeredTime',
|
|
|
label: '接通时间',
|
|
|
- width: 170,
|
|
|
+ width: 160,
|
|
|
render: (scope) => <span>{formatDate(scope.row.answeredTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
},
|
|
|
- { prop: 'overTime', label: '挂断时间', width: 170, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
+ { prop: 'overTime', label: '挂断时间', width: 160, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
|
|
|
];
|
|
|
// 未接表头
|
|
|
const noColumns = [
|
|
|
- { prop: 'cpn', label: '主叫号码', width: 120 },
|
|
|
+ { prop: 'callDirectionText', label: '呼叫方向' },
|
|
|
+ { prop: 'fromNo', label: '主叫号码', width: 120 },
|
|
|
{ prop: 'cdpn', label: '被叫号码', width: 120 },
|
|
|
{ prop: 'telNo', label: '响应分机' },
|
|
|
- { prop: 'gateway', label: '中继号码', width: 120 },
|
|
|
- { prop: 'mobileAreaName', label: '号码归属地', width: 120 },
|
|
|
- { prop: 'userName', label: '话务员' },
|
|
|
- { prop: 'callDirectionText', label: '电话方向' },
|
|
|
- {
|
|
|
- prop: 'beginIvrTime',
|
|
|
- label: 'ivr开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endIvrTime',
|
|
|
- label: 'ivr结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.endIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginQueueTime',
|
|
|
- label: '队列开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endQueueTime',
|
|
|
- label: '队列结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginRingTime',
|
|
|
- label: '开始振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.beginRingTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endRingTimg',
|
|
|
- label: '结束振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endRingTimg, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
+ { prop: 'groupId', label: '功能组号码', width: 120 },
|
|
|
{
|
|
|
prop: 'createdTime',
|
|
|
label: '开始时间',
|
|
|
- width: 170,
|
|
|
+ width: 160,
|
|
|
render: (scope) => <span>{formatDate(scope.row.createdTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
},
|
|
|
- { prop: 'overTime', label: '挂断时间', width: 170, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
-];
|
|
|
-// 智能应答
|
|
|
-const smartColumns = [
|
|
|
- { prop: 'cpn', label: '主叫号码', width: 120 },
|
|
|
- { prop: 'cdpn', label: '被叫号码', width: 120 },
|
|
|
- { prop: 'gateway', label: '中继号码', width: 120 },
|
|
|
- { prop: 'mobileAreaName', label: '号码归属地', width: 120 },
|
|
|
- { prop: 'duration', label: '通话时间(秒)', width: 120 },
|
|
|
- { prop: 'endByText', label: '挂机类型', width: 120 },
|
|
|
- {
|
|
|
- prop: 'beginIvrTime',
|
|
|
- label: 'ivr开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endIvrTime',
|
|
|
- label: 'ivr结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.endIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'createdTime',
|
|
|
- label: '开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.createdTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'answeredTime',
|
|
|
- label: '接通时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.answeredTime, ' YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- { prop: 'overTime', label: '挂断结束时间', width: 170, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
- { prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
|
|
|
-];
|
|
|
-// 呼入白名单表头
|
|
|
-const whiteColumns = [
|
|
|
- { prop: 'cpn', label: '主叫号码', width: 120 },
|
|
|
- { prop: 'cdpn', label: '被叫号码', width: 120 },
|
|
|
- { prop: 'telNo', label: '响应分机', width: 120 },
|
|
|
- { prop: 'gateway', label: '中继号码', width: 120 },
|
|
|
- { prop: 'mobileAreaName', label: '号码归属地', width: 120 },
|
|
|
- { prop: 'userName', label: '话务员', width: 120 },
|
|
|
- { prop: 'duration', label: '通话时间(秒)', width: 120 },
|
|
|
- { prop: 'onStateText', label: '通话结果' },
|
|
|
- { prop: 'callDirectionText', label: '电话方向' },
|
|
|
- { prop: 'endByText', label: '挂机类型', width: 120 },
|
|
|
- {
|
|
|
- prop: 'beginIvrTime',
|
|
|
- label: 'ivr开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endIvrTime',
|
|
|
- label: 'ivr结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.endIvrTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginQueueTime',
|
|
|
- label: '队列开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.beginQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endQueueTime',
|
|
|
- label: '队列结束时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endQueueTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'beginRingTime',
|
|
|
- label: '开始振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.beginRingTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'endRingTimg',
|
|
|
- label: '结束振铃时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => {
|
|
|
- return <span>{formatDate(scope.row.endRingTimg, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'createdTime',
|
|
|
- label: '开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.createdTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'answeredTime',
|
|
|
- label: '接通时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.answeredTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- { prop: 'overTime', label: '挂断时间', width: 170, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
- { prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
|
|
|
-];
|
|
|
-// 呼入黑名单表头
|
|
|
-const blackColumns = [
|
|
|
- { prop: 'cpn', label: '主叫号码', minWidth: 120 },
|
|
|
- { prop: 'cdpn', label: '被叫号码', minWidth: 120 },
|
|
|
- { prop: 'telNo', label: '响应分机', minWidth: 120 },
|
|
|
- { prop: 'gateway', label: '中继号码', minWidth: 120 },
|
|
|
- { prop: 'mobileAreaName', label: '号码归属地', minWidth: 120 },
|
|
|
- { prop: 'duration', label: '通话时间(秒)', minWidth: 120 },
|
|
|
- { prop: 'endByText', label: '挂机类型', minWidth: 120 },
|
|
|
- {
|
|
|
- prop: 'createdTime',
|
|
|
- label: '开始时间',
|
|
|
- width: 170,
|
|
|
- render: (scope) => <span>{formatDate(scope.row.createdTime, 'YYYY-mm-dd HH:MM:SS')}</span>,
|
|
|
- },
|
|
|
- { prop: 'overTime', label: '挂断结束时间', width: 170, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
+ { prop: 'overTime', label: '挂断时间', width: 160, render: (scope) => <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span> },
|
|
|
];
|
|
|
const changeTba = () => {
|
|
|
ruleFormRef.value.resetFields();
|
|
@@ -569,38 +315,23 @@ const queryList = async (isQuery: boolean = false) => {
|
|
|
requestParams.value.CallStartTimeLT = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
|
|
|
Reflect.deleteProperty(requestParams.value, 'crTime'); // 通话开始和结束时间段
|
|
|
|
|
|
- switch (state.queryParams.IsConnected) {
|
|
|
- case '': // 全部
|
|
|
+ switch (state.queryParams.type) {
|
|
|
+ case '0': // 全部
|
|
|
columns.value = allColumns;
|
|
|
break;
|
|
|
- case '1': // 呼入已接
|
|
|
+ case '1': // 呼入列表(已接通)
|
|
|
columns.value = inColumns;
|
|
|
- requestParams.value.CallDirection = 0;
|
|
|
- requestParams.value.OnState = 1;
|
|
|
+ requestParams.value.IsConnected = true; // 是否接通
|
|
|
+ requestParams.value.Direction = 0; // 来电
|
|
|
break;
|
|
|
- case '2': // 呼出已接
|
|
|
+ case '2': // 呼出列表(已接通)
|
|
|
columns.value = outColumns;
|
|
|
- requestParams.value.CallDirection = 1;
|
|
|
- requestParams.value.OnState = 1;
|
|
|
+ requestParams.value.IsConnected = true; // 是否接通
|
|
|
+ requestParams.value.Direction = 1; // 呼出
|
|
|
break;
|
|
|
- case '3': // 未接
|
|
|
+ case '3': // 未接列表
|
|
|
columns.value = noColumns;
|
|
|
- requestParams.value.OnState = 2;
|
|
|
- break;
|
|
|
- case '4': // 智能应答
|
|
|
- columns.value = smartColumns;
|
|
|
- requestParams.value.IsAiAnswered = true;
|
|
|
- requestParams.value.OnState = 1;
|
|
|
- requestParams.value.CallDirection = 0;
|
|
|
- break;
|
|
|
- case '5': // 呼入白名单
|
|
|
- columns.value = whiteColumns;
|
|
|
- requestParams.value.PhoneTypes = 1; // 呼入VIP
|
|
|
- requestParams.value.CallDirection = 0; // 来电
|
|
|
- break;
|
|
|
- case '6': // 呼入黑名单
|
|
|
- columns.value = blackColumns;
|
|
|
- requestParams.value.PhoneTypes = 2; // 呼入黑名单
|
|
|
+ requestParams.value.IsConnected = false; // 是否接通
|
|
|
break;
|
|
|
default:
|
|
|
columns.value = allColumns;
|