Quellcode durchsuchen

reactor:来电弹单按1来电人身份选中是市民,按2选中企业;

zhangchong vor 10 Monaten
Ursprung
Commit
04d69fb6a0
1 geänderte Dateien mit 103 neuen und 83 gelöschten Zeilen
  1. 103 83
      src/views/tels/extension/index.vue

+ 103 - 83
src/views/tels/extension/index.vue

@@ -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>