|
@@ -1,78 +1,85 @@
|
|
|
<template>
|
|
|
- <div class="tels-callLog-container layout-pd">
|
|
|
- <el-card shadow="never">
|
|
|
- <ProTable
|
|
|
- ref="proTableRef"
|
|
|
- :columns="columns"
|
|
|
- :data="state.tableData"
|
|
|
- @updateTable="queryList"
|
|
|
- :loading="state.loading"
|
|
|
- :pagination="false"
|
|
|
- row-key="telNo"
|
|
|
- >
|
|
|
- <template #tableHeader="scope">
|
|
|
- <el-radio-group v-model="telState" class="mb10" @change="search">
|
|
|
- <el-radio label=" "
|
|
|
- >总数:
|
|
|
- <el-tag type="">{{ state.tableList.length }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="device"
|
|
|
- >注册数:
|
|
|
- <el-tag type="success">{{ registerCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="login"
|
|
|
- >签入数:
|
|
|
- <el-tag type="danger">{{ loginCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="ready"
|
|
|
- >示闲数:
|
|
|
- <el-tag type="info">{{ readyCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="unready"
|
|
|
- >小休数:
|
|
|
- <el-tag type="success">{{ unreadyCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="busy"
|
|
|
- >通话数:
|
|
|
- <el-tag type="danger">{{ busyCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="acw"
|
|
|
- >整理数:
|
|
|
- <el-tag type="info">{{ acwCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="held"
|
|
|
- >保持数:
|
|
|
- <el-tag type="success">{{ heldCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- <el-radio label="threeWay"
|
|
|
- >三方会议数:
|
|
|
- <el-tag type="danger">{{ threeWayCount }}</el-tag>
|
|
|
- </el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </template>
|
|
|
- <template #sipState="{ row }">
|
|
|
- <el-tag v-if="row.sipState === 'true'" type="success">已注册</el-tag>
|
|
|
- <el-tag v-else type="danger">未注册</el-tag>
|
|
|
- </template>
|
|
|
- <template #state="{ row }">
|
|
|
- <el-tag v-if="row.state === 'login'" type="success">签入</el-tag>
|
|
|
- <el-tag v-else-if="row.state === 'ready'" type="info">示闲</el-tag>
|
|
|
- <el-tag v-else-if="row.state === 'unready'" type="warning">小休</el-tag>
|
|
|
- <el-tag v-else-if="row.state === 'busy'">通话</el-tag>
|
|
|
- <el-tag v-else-if="row.state === 'acw'" type="info">整理</el-tag>
|
|
|
- <el-tag v-else-if="row.state === 'logout'" type="danger">签出</el-tag>
|
|
|
- <el-tag v-else-if="row.state === 'held'" type="danger">保持</el-tag>
|
|
|
- <el-tag v-else-if="row.state === 'threeWay'" type="danger">三方会议</el-tag>
|
|
|
- </template>
|
|
|
- <!-- 表格操作 -->
|
|
|
- <template #operation="{ row }">
|
|
|
- <el-button link type="primary" @click="onListen(row)" title="监听分机" v-auth="'tels:extension:listen'" v-if="row.state === 'busy'">
|
|
|
- 监听分机
|
|
|
- </el-button>
|
|
|
- <el-button link type="primary" @click="onOffline(row)" title="强制下线" v-auth="'tels:extension:forceLogout'"> 强制下线 </el-button>
|
|
|
- </template>
|
|
|
- </ProTable>
|
|
|
- </el-card>
|
|
|
+ <div class="tels-callLog-container layout-padding">
|
|
|
+ <div class="layout-padding-auto layout-padding-view pd20">
|
|
|
+ <el-auto-resizer>
|
|
|
+ <template #default="{ height, width }">
|
|
|
+ <ProTable
|
|
|
+ ref="proTableRef"
|
|
|
+ :columns="columns"
|
|
|
+ :data="state.tableData"
|
|
|
+ @updateTable="queryList"
|
|
|
+ :loading="state.loading"
|
|
|
+ :pagination="false"
|
|
|
+ row-key="telNo"
|
|
|
+ :height="height - 50"
|
|
|
+ class="pro-table"
|
|
|
+ >
|
|
|
+ <template #tableHeader="scope">
|
|
|
+ <el-radio-group v-model="telState" class="mb10" @change="search">
|
|
|
+ <el-radio label=" "
|
|
|
+ >总数:
|
|
|
+ <el-tag type="">{{ state.tableList.length }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="device"
|
|
|
+ >注册数:
|
|
|
+ <el-tag type="success">{{ registerCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="login"
|
|
|
+ >签入数:
|
|
|
+ <el-tag type="danger">{{ loginCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="ready"
|
|
|
+ >示闲数:
|
|
|
+ <el-tag type="info">{{ readyCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="unready"
|
|
|
+ >小休数:
|
|
|
+ <el-tag type="success">{{ unreadyCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="busy"
|
|
|
+ >通话数:
|
|
|
+ <el-tag type="danger">{{ busyCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="acw"
|
|
|
+ >整理数:
|
|
|
+ <el-tag type="info">{{ acwCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="held"
|
|
|
+ >保持数:
|
|
|
+ <el-tag type="success">{{ heldCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio label="threeWay"
|
|
|
+ >三方会议数:
|
|
|
+ <el-tag type="danger">{{ threeWayCount }}</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </template>
|
|
|
+ <template #sipState="{ row }">
|
|
|
+ <el-tag v-if="row.sipState === 'true'" type="success">已注册</el-tag>
|
|
|
+ <el-tag v-else type="danger">未注册</el-tag>
|
|
|
+ </template>
|
|
|
+ <template #state="{ row }">
|
|
|
+ <el-tag v-if="row.state === 'login'" type="success">签入</el-tag>
|
|
|
+ <el-tag v-else-if="row.state === 'ready'" type="info">示闲</el-tag>
|
|
|
+ <el-tag v-else-if="row.state === 'unready'" type="warning">小休</el-tag>
|
|
|
+ <el-tag v-else-if="row.state === 'busy'">通话</el-tag>
|
|
|
+ <el-tag v-else-if="row.state === 'acw'" type="info">整理</el-tag>
|
|
|
+ <el-tag v-else-if="row.state === 'logout'" type="danger">签出</el-tag>
|
|
|
+ <el-tag v-else-if="row.state === 'held'" type="danger">保持</el-tag>
|
|
|
+ <el-tag v-else-if="row.state === 'threeWay'" type="danger">三方会议</el-tag>
|
|
|
+ </template>
|
|
|
+ <!-- 表格操作 -->
|
|
|
+ <template #operation="{ row }">
|
|
|
+ <el-button link type="primary" @click="onListen(row)" title="监听分机" v-auth="'tels:extension:listen'" v-if="row.state === 'busy'">
|
|
|
+ 监听分机
|
|
|
+ </el-button>
|
|
|
+ <el-button link type="primary" @click="onOffline(row)" title="强制下线" v-auth="'tels:extension:forceLogout'"> 强制下线 </el-button>
|
|
|
+ </template>
|
|
|
+ </ProTable>
|
|
|
+ <el-backtop target=".pro-table .el-scrollbar__wrap" />
|
|
|
+ </template>
|
|
|
+ </el-auto-resizer>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -121,8 +128,24 @@ const ruleFormRef = ref<FormInstance>(); // 表单ref
|
|
|
const queryList = async () => {
|
|
|
state.loading = true;
|
|
|
try {
|
|
|
- const response = await extensionPaged();
|
|
|
- state.tableList = response.result;
|
|
|
+ const { result } = await extensionPaged();
|
|
|
+ // state.tableList = result;
|
|
|
+ state.tableList = [
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ...result,
|
|
|
+ ];
|
|
|
state.tableData = state.tableList;
|
|
|
state.loading = false;
|
|
|
} catch (e) {
|
|
@@ -218,12 +241,9 @@ onUnmounted(() => {
|
|
|
});
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
-.arrow {
|
|
|
- transition: transform var(--el-transition-duration);
|
|
|
- cursor: pointer;
|
|
|
-}
|
|
|
-
|
|
|
-.arrow.is-reverse {
|
|
|
- transform: rotateZ(-180deg);
|
|
|
+.tels-callLog-container {
|
|
|
+ .el-table {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|