Selaa lähdekoodia

feat:对接坐席小休统计表;

zhangchong 1 vuosi sitten
vanhempi
commit
9eb4a9ef31
2 muutettua tiedostoa jossa 48 lisäystä ja 41 poistoa
  1. 25 14
      src/api/statistics/call/index.ts
  2. 23 27
      src/views/statistics/call/seatsRest.vue

+ 25 - 14
src/api/statistics/call/index.ts

@@ -7,21 +7,32 @@ import request from '@/utils/request';
  * @description 话务统计列表查询
  * @param {object} params
  */
-export const callList = (params:object) => {
-    return request({
-        url: `/api/v1/BiCall/calls`,
-        method: 'get',
-        params
-    });
-}
+export const callList = (params: object) => {
+	return request({
+		url: `/api/v1/BiCall/calls`,
+		method: 'get',
+		params,
+	});
+};
 /**
  * @description 坐席话务统计分析
  * @param {object} params
  */
-export const callAgent = (params:object) => {
-    return request({
-        url: `/api/v1/BiCall/seats`,
-        method: 'get',
-        params
-    });
-}
+export const callAgent = (params: object) => {
+	return request({
+		url: `/api/v1/BiCall/seats`,
+		method: 'get',
+		params,
+	});
+};
+/**
+ * @description 坐席小休统计
+ * @param {object} params
+ */
+export const callRest = (params: object) => {
+	return request({
+		url: `/api/v1/BiCall/rests`,
+		method: 'get',
+		params,
+	});
+};

+ 23 - 27
src/views/statistics/call/seatsRest.vue

@@ -3,11 +3,11 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent class="mt15" inline>
-				<el-form-item label="工号" prop="Keyword">
-					<el-input v-model="state.queryParams.Keyword" placeholder="工号" clearable @keyup.enter="queryList" />
+				<el-form-item label="工号" prop="StaffNo">
+					<el-input v-model="state.queryParams.StaffNo" placeholder="工号" clearable @keyup.enter="queryList" />
 				</el-form-item>
-				<el-form-item label="坐席名称" prop="Keyword">
-					<el-input v-model="state.queryParams.Keyword" placeholder="坐席名称" clearable @keyup.enter="queryList" />
+				<el-form-item label="坐席名称" prop="UserName">
+					<el-input v-model="state.queryParams.UserName" placeholder="坐席名称" clearable @keyup.enter="queryList" />
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
 					<el-date-picker
@@ -35,27 +35,23 @@
 			<el-table
 				:data="state.tableData"
 				v-loading="state.loading"
-				row-key="userId"
 				ref="multipleTableRef"
 				@selection-change="handleSelectionChange"
 				@sort-change="sortChange"
 			>
 				<el-table-column type="selection" width="55" align="center" />
-        <el-table-column prop="invalid" label="工号" show-overflow-tooltip align="center"></el-table-column>
+				<el-table-column prop="staffNo" label="工号" show-overflow-tooltip align="center"></el-table-column>
 				<el-table-column prop="userName" label="坐席名称" show-overflow-tooltip align="center"></el-table-column>
-				<el-table-column prop="invalid" label="小休次数" show-overflow-tooltip align="center"></el-table-column>
-				<el-table-column prop="repeat" label="小休平均时长(分)" show-overflow-tooltip align="center" sortable="custom"></el-table-column>
+				<el-table-column prop="restCount" label="小休次数" show-overflow-tooltip align="center" sortable="custom"></el-table-column>
+				<el-table-column prop="restDuration" label="小休平均时长(分)" show-overflow-tooltip align="center" sortable="custom">
+					<template #default="{ row }">
+						{{ Number(row.restDuration).toFixed(2) }}
+					</template>
+				</el-table-column>
 				<template #empty>
 					<Empty />
 				</template>
 			</el-table>
-			<!-- 分页 -->
-			<pagination
-				:total="state.total"
-				v-model:page="state.queryParams.PageIndex"
-				v-model:limit="state.queryParams.PageSize"
-				@pagination="queryList"
-			/>
 		</el-card>
 	</div>
 </template>
@@ -63,17 +59,18 @@
 import { onMounted, reactive, ref } from 'vue';
 import { ElButton, FormInstance } from 'element-plus';
 import { throttle } from '@/utils/tools';
-import { centerList } from '@/api/statistics/order';
+import { callRest } from '@/api/statistics/call';
 import { shortcuts } from '@/utils/constants';
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive(<any>{
 	queryParams: {
 		// 查询条件
-		PageIndex: 1,
-		PageSize: 10,
-		Keyword: null, // 关键词
-		crTime: [], // 时间默认今天开始到今天结束
+		StaffNo: null, // 工号
+		UserName: null, // 坐席名称
+		SortField: 'restDuration', // 排序字段
+		SortRule: 1, // 排序规则
+		crTime: [],
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -83,18 +80,17 @@ const state = reactive(<any>{
 const queryList = throttle(() => {
 	state.loading = true;
 	const request = {
-		CreationTimeStart: state.queryParams.crTime[0],
-		CreationTimeEnd: state.queryParams.crTime[1],
-		DelayState: state.queryParams.DelayState,
-		PageIndex: state.queryParams.PageIndex,
-		PageSize: state.queryParams.PageSize,
+		StartTime: state.queryParams.crTime[0],
+		EndTime: state.queryParams.crTime[1],
+		StaffNo: state.queryParams.StaffNo,
+		UserName: state.queryParams.UserName,
 		Keyword: state.queryParams.Keyword,
 		SortField: state.queryParams.SortField,
 		SortRule: state.queryParams.SortRule,
 	};
-	centerList(request)
+	callRest(request)
 		.then((res: any) => {
-			state.tableData = res.result?.items ?? [];
+			state.tableData = res.result ?? [];
 			state.total = res.result?.total ?? 0;
 			state.loading = false;
 		})