Browse Source

reactor:列表样式统一调整紧凑;

zhangchong 9 tháng trước cách đây
mục cha
commit
1157c63632

+ 16 - 16
src/views/business/order/index.vue

@@ -496,10 +496,10 @@ const selectable = (row: any) => {
 };
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'selection', fixed: 'left', width: 55, selectable: selectable, align: 'center' },
+	{ type: 'selection', fixed: 'left', width: 40, selectable: selectable, align: 'center' },
 	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', width: 80 },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
 	{
 		prop: 'isUrgentText',
 		label: '是否紧急',
@@ -507,13 +507,13 @@ const columns = ref<any[]>([
 			return <span class="color-danger font-bold">{scope.row.isUrgentText}</span>;
 		},
 	},
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
+	{ prop: 'title', label: '工单标题', width: 200 },
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -521,7 +521,7 @@ const columns = ref<any[]>([
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -529,23 +529,23 @@ const columns = ref<any[]>([
 	{
 		prop: 'filedTime',
 		label: '办结时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'orgLevelOneName', label: '一级部门', width: 170 },
-	{ prop: 'actualHandleOrgName', label: '接办部门', width: 170 },
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
-	{ prop: 'counterSignTypeText', label: '是否会签', width: 100 },
+	{ prop: 'orgLevelOneName', label: '一级部门', width: 140 },
+	{ prop: 'actualHandleOrgName', label: '接办部门', width: 140 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
 	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
 	{
 		prop: 'sensitiveText',
 		label: '敏感词',
-		width: 200,
+		width: 150,
 	},
-	{ prop: 'acceptorName', label: '受理人', width: 100 },
+	{ prop: 'acceptorName', label: '受理人', width: 120 },
 	{
 		prop: 'reTransactNum',
 		label: '重办次数',
@@ -560,7 +560,7 @@ const columns = ref<any[]>([
 		label: '办理结果',
 		isShow: false,
 	},
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
 ]);
 // 选择事发地址
 const areaRef = ref<RefType>();

+ 15 - 15
src/views/business/publish/index.vue

@@ -69,20 +69,20 @@ const ruleFormRef = ref<RefType>(); // 表单ref
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ prop: 'order.no', label: '工单编码', width: 150 },
-	{ prop: 'order.isProvinceText', label: '省/市工单', width: 100 },
-	{ prop: 'order.title', label: '工单标题', width: 300 },
-	{ prop: 'order.counterSignTypeText', label: '是否会签', width: 100 },
-	{ prop: 'order.sourceChannel', label: '来源渠道', width: 120 },
+	{ prop: 'order.no', label: '工单编码', width: 140 },
+	{ prop: 'order.isProvinceText', label: '省/市工单', width: 90 },
+	{ prop: 'order.title', label: '工单标题', width: 200 },
+	{ prop: 'order.counterSignTypeText', label: '是否会签', minWidth: 90 },
+	{ prop: 'order.sourceChannel', label: '来源渠道', width: 100 },
 	{ prop: 'order.statusText', label: '工单状态', width: 100 },
-	{ prop: 'order.acceptType', label: '受理类型', width: 150 },
-	{ prop: 'order.hotspotName', label: '热点分类', width: 200 },
-	{ prop: 'acceptorName', label: '受理人', width: 170 },
-	{ prop: 'order.actualHandleOrgName', label: '接办部门', width: 120 },
+	{ prop: 'order.acceptType', label: '受理类型', width: 100 },
+	{ prop: 'order.hotspotName', label: '热点分类', width: 150 },
+	{ prop: 'acceptorName', label: '受理人', width: 120 },
+	{ prop: 'order.actualHandleOrgName', label: '接办部门', width: 140 },
 	{
 		prop: 'order.filedTime',
 		label: '办结时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.order?.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -91,7 +91,7 @@ const columns = ref<any[]>([
 	{
 		prop: 'order.startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -99,7 +99,7 @@ const columns = ref<any[]>([
 	{
 		prop: 'publishTime',
 		label: '发布时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.publishTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -107,13 +107,13 @@ const columns = ref<any[]>([
 	{
 		prop: 'lastModificationTime',
 		label: '更新时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.lastModificationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'publishState', label: '是否公开', width: 100 },
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 170, align: 'center' },
+	{ prop: 'publishState', label: '是否公开' },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
 ]);
 const state = reactive({
 	queryParams: {

+ 11 - 11
src/views/business/publish/todo.vue

@@ -130,20 +130,20 @@ const selectable = (row: any) => {
 };
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'selection', selectable: selectable, fixed: 'left', width: 55, align: 'center' },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
+	{ type: 'selection', selectable: selectable, fixed: 'left', width: 40, align: 'center' },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
 	{ prop: 'statusText', label: '发布状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
-	{ prop: 'sourceChannel', label: '来源渠道' },
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
-	{ prop: 'counterSignTypeText', label: '是否会签', width: 100 },
-	{ prop: 'actualHandleOrgName', label: '接办部门', width: 150 },
+	{ prop: 'title', label: '工单标题', width: 200 },
+	{ prop: 'sourceChannel', label: '来源渠道',minWidth:100 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
+	{ prop: 'actualHandleOrgName', label: '接办部门', width: 140 },
 	{ prop: 'acceptorName', label: '受理人', width: 120 },
 	{
 		prop: 'actualHandleTime',
 		label: '接办时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -151,7 +151,7 @@ const columns = ref<any[]>([
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -159,7 +159,7 @@ const columns = ref<any[]>([
 	{
 		prop: 'filedTime',
 		label: '办结时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},

+ 23 - 23
src/views/home/component/ToDo.vue

@@ -84,16 +84,16 @@ const proTableRef = ref<RefType>(); // 表格ref
 const columns = ref<any[]>([]);
 // 工单待办表头
 const todoColumns = [
-	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', fixed: 'left', width: 80 },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
+	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', width: 80 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
+	{ prop: 'title', label: '工单标题', width: 200 },
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -101,28 +101,28 @@ const todoColumns = [
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'acceptType', label: '受理类型', width: 120 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
 	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
-	{ prop: 'acceptorName', label: '受理人', width: 170 },
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
+	{ prop: 'acceptorName', label: '受理人', width: 120 },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
 ];
 // 工单坐席待办表头
 const seatsColumns = [
-	{ prop: 'no', label: '工单编码', width: 150, fixed: 'left' },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
+	{ prop: 'title', label: '工单标题', width: 200 },
 	{
 		prop: 'creationTime',
 		label: '生成时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -130,7 +130,7 @@ const seatsColumns = [
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -138,16 +138,16 @@ const seatsColumns = [
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'acceptType', label: '受理类型', width: 120 },
-	{ prop: 'sourceChannel', label: '来源渠道', width: 120 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
-	{ prop: 'acceptorName', label: '受理人', width: 150 },
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
+	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
+	{ prop: 'acceptorName', label: '受理人', width: 120 },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
 ];
 // tab切换
 const handleChange = async (tab: any) => {

+ 0 - 0
src/views/auxiliary/province/zmhd/components/Public-detail.vue → src/views/province/zmhd/components/Public-detail.vue


+ 0 - 0
src/views/auxiliary/province/zmhd/components/Public-handle.vue → src/views/province/zmhd/components/Public-handle.vue


+ 14 - 14
src/views/auxiliary/province/zmhd/index.vue → src/views/province/zmhd/index.vue

@@ -113,7 +113,7 @@
 		<public-detail ref="publicDetailRef" />
 	</div>
 </template>
-<script setup lang="tsx" name="auxiliaryProvinceZmhd">
+<script setup lang="tsx" name="provinceZmhd">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import type { FormInstance } from 'element-plus';
 import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
@@ -124,8 +124,8 @@ import { provinceZmhdList } from '@/api/auxiliary/province';
 
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
-const PublicHandle = defineAsyncComponent(() => import('@/views/auxiliary/province/zmhd/components/Public-handle.vue')); // 公开
-const PublicDetail = defineAsyncComponent(() => import('@/views/auxiliary/province/zmhd/components/Public-detail.vue')); // 公开详情
+const PublicHandle = defineAsyncComponent(() => import('@/views/province/zmhd/components/Public-handle.vue')); // 公开
+const PublicDetail = defineAsyncComponent(() => import('@/views/province/zmhd/components/Public-detail.vue')); // 公开详情
 
 // 定义变量内容
 const state = reactive<any>({
@@ -183,7 +183,7 @@ const columns = ref<any[]>([
 			return <span>{scope.row.isProvinceZmhd ? '已公开' : '未处理'}</span>;
 		},
 	},
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 120 },
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{
 		prop: 'isUrgentText',
 		label: '是否紧急',
@@ -191,30 +191,30 @@ const columns = ref<any[]>([
 			return <span class="color-danger font-bold">{scope.row.isUrgentText}</span>;
 		},
 	},
-	{ prop: 'provinceNo', label: '省工单编码', width: 220 },
-	{ prop: 'no', label: '工单编码', width: 150 },
+	{ prop: 'provinceNo', label: '省工单编码', minWidth: 230 },
+	{ prop: 'no', label: '工单编码', width: 140 },
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'title', label: '工单标题', width: 300 },
+	{ prop: 'title', label: '工单标题', width: 200 },
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'actualHandleOrgName', label: '接办部门', width: 170 },
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
-	{ prop: 'acceptorName', label: '受理人', width: 100 },
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 160, align: 'center' },
+	{ prop: 'actualHandleOrgName', label: '接办部门', width: 140 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
+	{ prop: 'acceptorName', label: '受理人', width: 120 },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
 ]);
 // 手动查询,将页码设置为1
 const handleQuery = () => {

+ 92 - 28
src/views/statistics/call/detailIndex.vue

@@ -40,7 +40,6 @@
           border
           :pagination="false"
           :toolButton="['refresh', 'setting', 'exportAll']"
-          :key="Math.random()"
           :exportMethod="orderSourceTimeExport"
           :exportParams="requestParams"
       >
@@ -54,9 +53,99 @@ import { FormInstance } from 'element-plus';
 import { orderSourceTime, orderSourceTimeExport } from '@/api/statistics/order';
 import { defaultDate, shortcuts } from '@/utils/constants';
 import Other from '@/utils/other';
+import {formatDate} from "@/utils/formatTime";
 
 // 表格配置项
-const columns = ref<any[]>([]);
+const columns = ref<any[]>([
+  { prop: 'cpn', label: '日期', align: 'center',render: (scope) => {
+      return (
+          <el-button type="primary" link onClick={() => linkDetail(scope)}>
+            {scope.row.count}
+          </el-button>
+      );
+    }, },
+  {
+    prop: 'cdpn',
+    label: '呼入总量',
+    align: 'center',
+    render: (scope) => {
+      return (
+          <el-button type="primary" link onClick={() => linkDetail(scope)}>
+            {scope.row.count}
+          </el-button>
+      );
+    },
+  }, {
+    prop: 'cdpn',
+    label: '接通总量',
+    align: 'center',
+    render: (scope) => {
+      return (
+          <el-button type="primary" link onClick={() => linkDetail(scope)}>
+            {scope.row.count}
+          </el-button>
+      );
+    },
+  }, {
+    prop: 'cdpn',
+    label: '未接通秒挂',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '接通率',
+    align: 'center',
+  },
+  {
+    prop: 'cdpn',
+    label: '平均时长',
+    align: 'center',
+  },
+  {
+    prop: 'cdpn',
+    label: '有效接通量',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '接通秒挂',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '有效接通率',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '超时接通量',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '超时挂断量',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '按时接通率',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '队列挂断',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: 'IVR挂断',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '呼出总量',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '呼出接通量',
+    align: 'center',
+  }, {
+    prop: 'cdpn',
+    label: '呼出接通率',
+    align: 'center',
+  }
+]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive<any>({
@@ -87,32 +176,7 @@ const queryList = async () => {
     requestParams.value.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
     requestParams.value.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
     Reflect.deleteProperty(requestParams.value, 'crTime');
-    const dataRes = await orderSourceTime(requestParams.value);
-    const headerRes = await orderSourceTimeHeader();
-    columns.value = headerRes.result.map((item: any) => {
-      return {
-        prop: item.value.replace(item.value[0], item.value[0].toLowerCase()),
-        label: item.key,
-        align: 'center',
-        minWidth: 120,
-      };
-    });
-    columns.value.unshift(
-        {
-          prop: 'time',
-          label: '时间段',
-          align: 'center',
-          minWidth: 120,
-          fixed: 'left',
-        },
-        {
-          prop: 'subtotal',
-          label: '小计',
-          align: 'center',
-          minWidth: 100,
-        }
-    );
-    state.tableData = dataRes.result;
+
     state.loading = false;
   } catch (e) {
     state.loading = false;

+ 0 - 1
src/views/statistics/call/detailTalkTime.vue

@@ -63,7 +63,6 @@ import { useRoute } from 'vue-router';
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'cpn', label: '主叫号码', align: 'center' },
 	{
 		prop: 'cdpn',

+ 17 - 5
src/views/statistics/call/hotNumber.vue

@@ -3,9 +3,11 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-				<el-form-item label="热线号码" prop="gateway">
-					<el-input v-model="state.queryParams.gateway" placeholder="热线号码" clearable @keyup.enter="handleQuery" class="keyword-input" />
-				</el-form-item>
+        <el-form-item label="热线号码" prop="gateway">
+          <el-select v-model="state.queryParams.gateway" placeholder="请选择热线号码" clearable @change="handleQuery">
+            <el-option v-for="item in state.callForwardingSource" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="时间段" prop="crTime">
 					<el-date-picker
 						v-model="state.queryParams.crTime"
@@ -47,12 +49,11 @@
 <script setup lang="tsx" name="statisticsCallHotNumber">
 import { onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
-import { callHotline } from '@/api/statistics/call';
+import {callHotline, callPeriodBase} from '@/api/statistics/call';
 import { defaultDate, shortcuts } from "@/utils/constants";
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'gateWay', label: '热线号码', align: 'center' },
 	{
 		prop: 'allCall',
@@ -90,6 +91,7 @@ const state = reactive({
 	tableData: [], //表单
 	loading: false, // 加载
 	total: 0, // 总数
+  callForwardingSource:[],
 });
 /** 搜索按钮操作 */
 const handleQuery = () => {
@@ -155,7 +157,17 @@ const getSummaries = (param: any) => {
 	});
 	return sums;
 };
+// 获取基础信息
+const getBaseInfo = async () => {
+  try {
+    const { result } = await callPeriodBase();
+    state.callForwardingSource = result.callForwardingSource ?? [];
+  } catch (e) {
+    console.log(e);
+  }
+};
 onMounted(() => {
+  getBaseInfo();
 	queryList();
 });
 </script>

+ 7 - 7
src/views/statistics/call/index.vue

@@ -3,8 +3,8 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-				<el-form-item label="来源" prop="Keyword">
-					<el-select v-model="state.queryParams.Keyword" placeholder="请选择来源" clearable @change="handleQuery">
+				<el-form-item label="热线号码" prop="Keyword">
+					<el-select v-model="state.queryParams.Keyword" placeholder="请选择热线号码" clearable @change="handleQuery">
 						<el-option v-for="item in state.callForwardingSource" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
 					</el-select>
 				</el-form-item>
@@ -27,7 +27,7 @@
 					<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
 						<SvgIcon name="ele-Refresh" class="mr5" />重置
 					</el-button>
-					<!--          <el-button type="info" @click="onDetail" :loading="state.loading"> <SvgIcon name="ele-List" class="mr5" /> 话务日期明细 </el-button>-->
+					<el-button type="primary" @click="onDetail" :loading="state.loading"> <SvgIcon name="ele-List" class="mr5" /> 话务日期明细 </el-button>
 				</el-form-item>
 			</el-form>
 		</el-card>
@@ -117,12 +117,12 @@ const handleQuery = () => {
 	queryList();
 };
 /** 获取列表 */
-const requestParams = ref({})
+const requestParams = ref({});
 const queryList = () => {
 	state.loading = true;
-  requestParams.value = Other.deepClone(state.queryParams);
-  requestParams.value.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
-  requestParams.value.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
+	requestParams.value = Other.deepClone(state.queryParams);
+	requestParams.value.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
+	requestParams.value.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
 	Reflect.deleteProperty(requestParams.value, 'crTime');
 	callList(requestParams.value)
 		.then((res: any) => {

+ 0 - 1
src/views/statistics/call/seatsRecord.vue

@@ -62,7 +62,6 @@ import { formatDate } from "@/utils/formatTime";
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'userName', label: '坐席', align: 'center' },
 	{ prop: 'telNo', label: '分机号', align: 'center' },
 	{ prop: 'queueId', label: '分机组', align: 'center' },

+ 0 - 1
src/views/statistics/call/seatsRest.vue

@@ -55,7 +55,6 @@ import { defaultDate, shortcuts } from "@/utils/constants";
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'staffNo', label: '工号', align: 'center' },
 	{ prop: 'userName', label: '坐席名称', align: 'center' },
 	{ prop: 'restCount', label: '小休次数', align: 'center', sortable: 'custom' },

+ 2 - 14
src/views/statistics/call/talkTime.vue

@@ -1,10 +1,9 @@
 <template>
 	<div class="statistics-call-talk-time-container layout-pd">
-		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-				<el-form-item label="来源" prop="source">
-					<el-select v-model="state.queryParams.source" placeholder="请选择来源" clearable @change="handleQuery">
+				<el-form-item label="热线号码" prop="source">
+					<el-select v-model="state.queryParams.source" placeholder="请选择热线号码" clearable @change="handleQuery">
 						<el-option v-for="item in state.callForwardingSource" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
 					</el-select>
 				</el-form-item>
@@ -42,8 +41,6 @@
 				:pagination="false"
 				border
 				show-summary
-				@exportCurrent="exportCurrent"
-				@exportAll="exportAll"
 			>
 			</ProTable>
 		</el-card>
@@ -60,7 +57,6 @@ import Other from '@/utils/other';
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'hourTo', label: '时间段', align: 'center' },
 	{
 		prop: 'count',
@@ -204,14 +200,6 @@ const linkDetail = (scope: any) => {
 		},
 	});
 };
-// 导出当前页
-const exportCurrent = (val: any, props: string[]) => {
-	console.log(val, props);
-};
-//导出全部
-const exportAll = (val: any, props: string[]) => {
-	console.log(val, props);
-};
 // 获取基础信息
 const getBaseInfo = async () => {
 	try {

+ 0 - 1
src/views/statistics/call/telephone.vue

@@ -89,7 +89,6 @@ import { formatDate } from '@/utils/formatTime';
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'orgName', label: '坐席人员', align: 'center' },
 	{ prop: 'addNum', label: '工号', align: 'center', sortable: 'custom' },
 	{ prop: 'addNum', label: '工作组', align: 'center', sortable: 'custom' },

+ 7 - 8
src/views/statistics/call/telephonist.vue

@@ -58,12 +58,11 @@ import { formatDurationDay } from '@/utils/formatTime';
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{
 		prop: 'name',
 		label: '坐席工号',
 		align: 'center',
-		minWidth: 120,
+		minWidth: 110,
 		render: (scope) => (
 			<span>
 				{scope.row.name} {scope.row.staffNo ? <span>({scope.row.telNo})</span> : ''}{' '}
@@ -106,23 +105,23 @@ const columns = ref<any[]>([
 		prop: 'outDurationAvg',
 		label: '呼出平均时长',
 		align: 'center',
-		minWidth: 140,
+		minWidth: 110,
 	},
 	{
 		prop: 'loginDuration',
 		label: '登录时长',
 		align: 'center',
-		minWidth: 200,
+		minWidth: 150,
 		render: (scope) => <span>{formatDurationDay(scope.row.loginDuration)}</span>,
 	},
 	{
 		prop: 'restDuration',
 		label: '小休时长',
 		align: 'center',
-		minWidth: 200,
+		minWidth: 100,
 		render: (scope) => <span>{formatDurationDay(scope.row.restDuration)}</span>,
 	},
-	{ prop: 'workRate', label: '工作效率', align: 'center', minWidth: 120, render: (scope) => <span>{scope.row.workRate}%</span> },
+	{ prop: 'workRate', label: '工作效率', align: 'center', minWidth: 100, render: (scope) => <span>{scope.row.workRate}%</span> },
 ]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
@@ -190,7 +189,7 @@ const getSummaries = (param: any) => {
 			return;
 		}
 		const values = data.map((item: { [x: string]: any }) => Number(item[column.property]));
-		if (['inAnsweredRate', 'outAnsweredRate', 'inAvailableAnswer', 'outDurationAvg', 'workRate'].includes(column.property)) {
+		if (['inAnsweredRate', 'outAnsweredRate', 'workRate'].includes(column.property)) {
 			//百分比不能计算
 			sums[index] = '';
 			return '';
@@ -245,4 +244,4 @@ const getSummaries = (param: any) => {
 onMounted(() => {
 	queryList();
 });
-</script>
+</script>

+ 0 - 1
src/views/statistics/call/transferOut.vue

@@ -57,7 +57,6 @@ import { formatDate } from '@/utils/formatTime';
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'cdpn', label: '外线号码', align: 'center' },
 	{ prop: 'cpn', label: '来电号码', align: 'center' },
 	{ prop: 'telNo', label: '转接分机号', align: 'center' },

+ 0 - 1
src/views/statistics/order/acceptTopTen.vue

@@ -49,7 +49,6 @@ import { defaultDate, shortcuts } from "@/utils/constants";
 
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'name', label: '省一级热点名称', align: 'center' },
 	{ prop: 'validAccept', label: '有效受理量', align: 'center', sortable: true },
 	{ prop: 'consult', label: '咨询', align: 'center', sortable: true },

+ 0 - 1
src/views/statistics/order/centerCount.vue

@@ -55,7 +55,6 @@ import { defaultDate, shortcuts } from '@/utils/constants';
 
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'userName', label: '姓名', align: 'center' },
 	{
 		label: '有效件',

+ 0 - 1
src/views/statistics/order/visitCount.vue

@@ -91,7 +91,6 @@ import { defaultDate, shortcuts } from "@/utils/constants";
 // 定义变量内容
 
 const columns = ref<any>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
 	{ prop: 'visitName', label: '回访员', align: 'center' },
 	{ prop: 'callVisitCount', label: '电话回访量', align: 'center' },
 	{ prop: 'artificialVisitCount', label: '人工回访量', align: 'center' },

+ 3 - 9
src/views/system/menu/index.vue

@@ -120,12 +120,6 @@ const state = reactive<any>({
 			title: '权限编码',
 			width: 100,
 		},
-		{
-			key: 'forePermissionCode',
-			dataKey: 'forePermissionCode',
-			title: '权限标志',
-			width: 300,
-		},
 		{
 			key: 'displayOrder',
 			dataKey: 'displayOrder',
@@ -136,13 +130,13 @@ const state = reactive<any>({
 			key: 'component',
 			dataKey: 'component',
 			title: '组件路径',
-			width: 400,
+			width: 300,
 		},
 		{
 			key: 'isFast',
 			dataKey: 'isFast',
 			title: '快捷入口',
-			width: 100,
+			width: 90,
 			cellRenderer: ({ rowData }: any) => {
 				if ([1, 2].includes(rowData.menuType)) {
 					return <el-tag type={rowData.isFast ? 'success' : 'info'}>{rowData.isFast ? '是' : '否'}</el-tag>;
@@ -153,7 +147,7 @@ const state = reactive<any>({
 			key: 'isHide',
 			dataKey: 'isHide',
 			title: '是否隐藏',
-			width: 100,
+			width: 90,
 			cellRenderer: ({ rowData }: any) => {
 				if ([1, 2].includes(rowData.menuType)) {
 					return <el-tag type={rowData.isHide ? 'success' : 'info'}>{rowData.isHide ? '是' : '否'}</el-tag>;

+ 14 - 14
src/views/todo/center/index.vue

@@ -218,10 +218,10 @@ const router = useRouter(); // 路由
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ type: 'selection', fixed: 'left', width: 55, align: 'center' },
+	{ type: 'selection', fixed: 'left', width: 40, align: 'center' },
 	{ prop: 'expiredStatusText', label: '超期状态', width: 80, align: 'center' },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
 	{
 		prop: 'isUrgentText',
 		label: '是否紧急',
@@ -229,14 +229,14 @@ const columns = ref<any[]>([
 			return <span class="color-danger font-bold">{scope.row.isUrgentText}</span>;
 		},
 	},
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
+	{ prop: 'title', label: '工单标题', width: 200 },
   { prop: 'centerToOrgHandlerName', label: '派单员', minWidth: 120 },
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -244,7 +244,7 @@ const columns = ref<any[]>([
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -252,21 +252,21 @@ const columns = ref<any[]>([
 	{
 		prop: 'filedTime',
 		label: '办结时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'orgLevelOneName', label: '一级部门', width: 170 },
-	{ prop: 'actualHandleOrgName', label: '接办部门', width: 170 },
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
-	{ prop: 'counterSignTypeText', label: '是否会签', width: 100 },
+	{ prop: 'orgLevelOneName', label: '一级部门', width: 140 },
+	{ prop: 'actualHandleOrgName', label: '接办部门', width: 140 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
 	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
 	{
 		prop: 'sensitive',
 		label: '敏感词',
-		width: 200,
+		minWidth: 150,
 	},
 	{ prop: 'acceptorName', label: '受理人', width: 120 },
 	{

+ 30 - 30
src/views/todo/order/index.vue

@@ -166,10 +166,10 @@ const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([]);
 const columnsTodo = [
-	{ type: 'selection', fixed: 'left', width: 55, align: 'center' },
-	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', width: 80 },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
+	{ type: 'selection', fixed: 'left', minWidth: 40, align: 'center' },
+	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', minWidth: 80 },
+	{ prop: 'no', label: '工单编码', minWidth: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', minWidth: 90 },
   {
     prop: 'isUrgentText',
     label: '是否紧急',
@@ -177,14 +177,14 @@ const columnsTodo = [
       return <span class="color-danger font-bold">{scope.row.isUrgentText}</span>;
     },
   },
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
-	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
-	{ prop: 'counterSignTypeText', label: '是否会签', width: 100 },
+	{ prop: 'actualHandleStepName', label: '办理节点', minWidth: 100 },
+	{ prop: 'statusText', label: '工单状态', minWidth: 100 },
+	{ prop: 'title', label: '工单标题', minWidth: 200 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
 	{
 		prop: 'creationTime',
 		label: '生成时间',
-		width: 170,
+    minWidth: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -192,7 +192,7 @@ const columnsTodo = [
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+    minWidth: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -200,27 +200,27 @@ const columnsTodo = [
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+    minWidth: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
-	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
-	{ prop: 'acceptorName', label: '受理人', width: 120 },
+	{ prop: 'acceptType', label: '受理类型', minWidth: 100 },
+	{ prop: 'sourceChannel', label: '来源渠道', minWidth: 100 },
+	{ prop: 'hotspotName', label: '热点分类', minWidth: 150 },
+	{ prop: 'acceptorName', label: '受理人', minWidth: 120 },
 	{
 		prop: 'reTransactNum',
 		label: '重办次数',
 	},
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 90, align: 'center' },
 ];
 const columnsDone = [
 	// 已办
-	{ type: 'selection', fixed: 'left', width: 55, align: 'center' },
+	{ type: 'selection', fixed: 'left', width: 40, align: 'center' },
 	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', width: 80 },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
   {
     prop: 'isUrgentText',
     label: '是否紧急',
@@ -228,14 +228,14 @@ const columnsDone = [
       return <span class="color-danger font-bold">{scope.row.isUrgentText}</span>;
     },
   },
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
-	{ prop: 'counterSignTypeText', label: '是否会签', width: 100 },
+	{ prop: 'title', label: '工单标题', width: 200 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
 	{
 		prop: 'creationTime',
 		label: '生成时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -243,7 +243,7 @@ const columnsDone = [
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -251,22 +251,22 @@ const columnsDone = [
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'orgLevelOneName', label: '一级部门', width: 150 },
-	{ prop: 'actualHandleOrgName', label: '接办部门', width: 150 },
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
+	{ prop: 'orgLevelOneName', label: '一级部门', width: 140 },
+	{ prop: 'actualHandleOrgName', label: '接办部门', width: 140 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
 	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
 	{ prop: 'acceptorName', label: '受理人', width: 120 },
 	{
 		prop: 'reTransactNum',
 		label: '重办次数',
 	},
-	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 90, align: 'center' },
 ];
 // 手动查询,将页码设置为1
 const handleQuery = () => {

+ 43 - 43
src/views/todo/seats/index.vue

@@ -116,14 +116,14 @@
 	</div>
 </template>
 <script setup lang="tsx" name="todoSeats">
-import { defineAsyncComponent, onMounted, reactive, ref,onActivated, onBeforeUnmount } from 'vue';
+import { defineAsyncComponent, onMounted, reactive, ref, onActivated, onBeforeUnmount } from 'vue';
 import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
 import { useRouter } from 'vue-router';
 import { seatsListTodo, orderSign } from '@/api/todo/order';
 import { downloadFileByStream, downloadZip } from '@/utils/tools';
 import { exportJbOrder, exportOrder } from '@/api/business/order';
-import { defaultDateThree, defaultTimeStartEnd, shortcuts } from "@/utils/constants";
+import { defaultDateThree, defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import Other from '@/utils/other';
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
@@ -137,10 +137,10 @@ const state = reactive<any>({
 		Keyword: null, // 关键字
 		IsProvince: null, // 是否省工单
 		IsCounterSign: null, // 是否会签
-    scTime: defaultDateThree,
+		scTime: defaultDateThree,
 		StartTime: null,
 		EndTime: null,
-    IsUrgent:null,
+		IsUrgent: null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -152,30 +152,30 @@ const proTableRef = ref<RefType>(); // 表格ref
 const searchCol = ref(true); // 展开/收起
 // 展开/收起
 const closeSearch = () => {
-  searchCol.value = !searchCol.value;
+	searchCol.value = !searchCol.value;
 };
 // 表格配置项
 const columns = ref<any[]>([]);
 const columnsTodo = [
-	{ type: 'selection', fixed: 'left', width: 55, align: 'center' },
+	{ type: 'selection', width: 40, align: 'center', fixed: 'left' },
 	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', width: 80 },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
-  {
-    prop: 'isUrgentText',
-    label: '是否紧急',
-    render: (scope) => {
-      return <span class="color-danger font-bold">{scope.row.isUrgentText}</span>;
-    },
-  },
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
+	{
+		prop: 'isUrgentText',
+		label: '是否紧急',
+		render: (scope) => {
+			return <span class="color-danger font-bold">{scope.row.isUrgentText}</span>;
+		},
+	},
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
-	{ prop: 'counterSignTypeText', label: '是否会签', width: 100 },
+	{ prop: 'title', label: '工单标题', width: 200 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
 	{
 		prop: 'creationTime',
 		label: '生成时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -183,7 +183,7 @@ const columnsTodo = [
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -191,14 +191,14 @@ const columnsTodo = [
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
 	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
 	{ prop: 'acceptorName', label: '受理人', width: 120 },
 	{
 		prop: 'reTransactNum',
@@ -208,18 +208,18 @@ const columnsTodo = [
 ];
 const columnsDone = [
 	// 已办
-	{ type: 'selection', fixed: 'left', width: 55, align: 'center' },
+	{ type: 'selection', fixed: 'left', width: 40, align: 'center' },
 	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', width: 80 },
-	{ prop: 'no', label: '工单编码', width: 150 },
-	{ prop: 'isProvinceText', label: '省/市工单', width: 100 },
-	{ prop: 'actualHandleStepName', label: '办理节点', width: 150 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
+	{ prop: 'actualHandleStepName', label: '办理节点', width: 100 },
 	{ prop: 'statusText', label: '工单状态', width: 100 },
-	{ prop: 'title', label: '工单标题', width: 300 },
-	{ prop: 'counterSignTypeText', label: '是否会签', width: 100 },
+	{ prop: 'title', label: '工单标题', width: 200 },
+	{ prop: 'counterSignTypeText', label: '是否会签', minWidth: 90 },
 	{
 		prop: 'creationTime',
 		label: '生成时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -227,7 +227,7 @@ const columnsDone = [
 	{
 		prop: 'startTime',
 		label: '受理时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
@@ -235,17 +235,17 @@ const columnsDone = [
 	{
 		prop: 'expiredTime',
 		label: '工单期满时间',
-		width: 170,
+		width: 160,
 		render: (scope) => {
 			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'orgLevelOneName', label: '一级部门', width: 150 },
-	{ prop: 'actualHandleOrgName', label: '接办部门', width: 150 },
-	{ prop: 'acceptType', label: '受理类型', width: 150 },
+	{ prop: 'orgLevelOneName', label: '一级部门', width: 140 },
+	{ prop: 'actualHandleOrgName', label: '接办部门', width: 140 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
 	{ prop: 'sourceChannel', label: '来源渠道', width: 100 },
-	{ prop: 'hotspotName', label: '热点分类', width: 200 },
-	{ prop: 'acceptorName', label: '受理人', width: 120 },
+	{ prop: 'hotspotName', label: '热点分类', width: 150 },
+	{ prop: 'acceptorName', label: '受理人', width: 100 },
 	{
 		prop: 'reTransactNum',
 		label: '重办次数',
@@ -289,18 +289,18 @@ const resetQuery = (formEl: FormInstance | undefined) => {
 const onAddOrder = () => {
 	router.push({
 		name: 'orderAccept',
-    query:{
-      timeStamp: new Date().getTime()
-    }
+		query: {
+			timeStamp: new Date().getTime(),
+		},
 	});
 };
 // 编辑工单
 const onOrderEdit = (row: any) => {
 	router.push({
 		name: 'orderAccept',
-    query:{
-      id: row.id,
-    }
+		query: {
+			id: row.id,
+		},
 	});
 };
 // 签收工单