瀏覽代碼

reactor: 【话务统计分析】菜单新增功能;为某些报表增加【类型】查询条件

zhangchong 9 月之前
父節點
當前提交
5b71871eef

+ 3 - 3
.env.development

@@ -3,11 +3,11 @@ VITE_MODE_NAME=development
 # 防止部署多套系统到同一域名不同目录时,变量共用的问题 设置不同的前缀
 VITE_STORAGE_NAME=dev
 # 基础请求地址
-VITE_API_URL=http://110.188.24.28:50300
+VITE_API_URL=http://110.188.24.28:50100
 # 数据共享平台请求地址
 VITE_DATASHARE_API_YRL=http://ds.12345lm.cn
 # socket API
-VITE_API_SOCKET_URL=http://110.188.24.28:50300/hubs/hotline
+VITE_API_SOCKET_URL=http://110.188.24.28:50100/hubs/hotline
 # 上传 API
 VITE_API_UPLOAD_URL=http://110.188.24.28:50120
 # 文件上传地址前缀
@@ -25,4 +25,4 @@ VITE_JTHS_API_URL=http://118.121.58.161:19021
 # 捷通华声AppKey
 VITE_JTHS_APPKEY=MTAwMDAx
 # 当前地州市
-VITE_CURRENT_CITY=zigong
+VITE_CURRENT_CITY=yibin

+ 1 - 1
src/router/route.ts

@@ -150,7 +150,7 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
 		},
 	},
 	{
-		path: '/statistics/department/Detail',
+		path: '/statistics/department/DepartmentSatisfiedDetail',
 		name: 'statisticsDepartmentSatisfiedDetail',
 		component: () => import('@/views/statistics/department/detailSatisfied.vue'),
 		meta: {

+ 1 - 1
src/theme/element.scss

@@ -375,7 +375,7 @@
 }*/
 .el-form--inline {
 	.el-form-item {
-		& > .el-input, .el-cascader, .el-select, .el-date-editor, .el-autocomplete {
+		.el-select{
 			width: 240px;
 		}
 	}

+ 4 - 4
src/views/statistics/department/delay.vue

@@ -2,13 +2,13 @@
 	<div class="statistics-department-delay-container layout-pd">
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-<!--        <el-form-item label="来电主体" prop="IdentityType">
-          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电主体" @change="handleQuery">
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
             <el-option :value="0" label="全部" />
             <el-option :value="1" label="市民" />
             <el-option :value="2" label="企业" />
           </el-select>
-        </el-form-item>-->
+        </el-form-item>
 				<el-form-item label="延期部门" prop="OrgName">
 					<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -114,7 +114,7 @@ const state = reactive<any>({
 	queryParams: {
 		OrgName: null, // 关键词
 		crTime: defaultDate, // 时间默认今天开始到今天结束
-    IdentityType:0,
+    TypeId:0,
     StartTime:null,
     EndTime:null
 	},

+ 20 - 1
src/views/statistics/department/detailDelay.vue

@@ -1,5 +1,22 @@
 <template>
 	<div class="statistics-department-detail-delay-container layout-pd">
+    <el-card shadow="never">
+      <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
+            <el-option :value="0" label="全部" />
+            <el-option :value="1" label="市民" />
+            <el-option :value="2" label="企业" />
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+          <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
+            <SvgIcon name="ele-Refresh" class="mr5" />重置
+          </el-button>
+        </el-form-item>
+      </el-form>
+    </el-card>
 		<el-card shadow="never">
 			<ProTable
 				ref="proTableRef"
@@ -37,6 +54,7 @@ import { formatDate } from '@/utils/formatTime';
 import { useRoute, useRouter } from 'vue-router';
 import { delayDetail } from '@/api/business/delay';
 import { departmentDelayDetail, departmentDelayDetailExport } from '@/api/statistics/department';
+import {shortcuts} from "@/utils/constants";
 
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
@@ -111,7 +129,7 @@ const state = reactive({
 		// 查询条件
 		PageIndex: 1,
 		PageSize: 10,
-		Keyword: null, // 关键字
+    TypeId: 0,
 	},
 	tableData: [{}], //表单
 	loading: false, // 加载
@@ -135,6 +153,7 @@ const queryList = () => {
 		EndTime: routeQueryParams?.EndTime,
 		OrgCode: routeQueryParams?.OrgCode,
 		Type: routeQueryParams?.Type,
+    TypeId:state.queryParams.TypeId
 	};
 	departmentDelayDetail(requestParams.value)
 		.then((res) => {

+ 119 - 100
src/views/statistics/department/detailHandle.vue

@@ -1,31 +1,48 @@
 <template>
-  <div class="statistics-department-detail-handle-container layout-pd">
-    <el-card shadow="never">
-      <ProTable
-        ref="proTableRef"
-        :columns="columns"
-        :data="state.tableData"
-        @updateTable="queryList"
-        :loading="state.loading"
-        :total="state.total"
-        v-model:page-index="state.queryParams.PageIndex"
-        v-model:page-size="state.queryParams.PageSize"
-        :toolButton="['refresh', 'setting', 'exportCurrent', 'exportAll']"
-        :exportMethod="departmentOrderDetailExport"
-        :exportParams="requestParams"
-      >
-        <template #expiredStatusText="{ row }">
-          <span :class="'overdue-status-' + row.expiredStatus" :title="row.expiredStatusText"></span>
-        </template>
-        <template #title="{ row }">
-          <order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
-        </template>
-        <template #operation="{ row }">
-          <order-detail :order="row" @updateList="queryList" />
-        </template>
-      </ProTable>
-    </el-card>
-  </div>
+	<div class="statistics-department-detail-handle-container layout-pd">
+		<el-card shadow="never">
+			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+				<el-form-item label="来电主体" prop="TypeId">
+					<el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
+						<el-option :value="0" label="全部" />
+						<el-option :value="1" label="市民" />
+						<el-option :value="2" label="企业" />
+					</el-select>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+					<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
+						<SvgIcon name="ele-Refresh" class="mr5" />重置
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+		<el-card shadow="never">
+			<ProTable
+				ref="proTableRef"
+				:columns="columns"
+				:data="state.tableData"
+				@updateTable="queryList"
+				:loading="state.loading"
+				:total="state.total"
+				v-model:page-index="state.queryParams.PageIndex"
+				v-model:page-size="state.queryParams.PageSize"
+				:toolButton="['refresh', 'setting', 'exportCurrent', 'exportAll']"
+				:exportMethod="departmentOrderDetailExport"
+				:exportParams="requestParams"
+			>
+				<template #expiredStatusText="{ row }">
+					<span :class="'overdue-status-' + row.expiredStatus" :title="row.expiredStatusText"></span>
+				</template>
+				<template #title="{ row }">
+					<order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
+				</template>
+				<template #operation="{ row }">
+					<order-detail :order="row" @updateList="queryList" />
+				</template>
+			</ProTable>
+		</el-card>
+	</div>
 </template>
 <script setup lang="tsx" name="statisticsDepartmentDetailHandle">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
@@ -33,22 +50,24 @@ import type { FormInstance } from 'element-plus';
 import other from '@/utils/other';
 import { useRoute, useRouter } from 'vue-router';
 import { formatDate } from '@/utils/formatTime';
-import { departmentOrderDetail, departmentOrderDetailExport } from "@/api/statistics/department";
-import { downloadFileByStream } from "@/utils/tools";
-import {centerReturnErrorExport} from "@/api/statistics/center";
+import { departmentOrderDetail, departmentOrderDetailExport } from '@/api/statistics/department';
+import { downloadFileByStream } from '@/utils/tools';
+import { centerReturnErrorExport } from '@/api/statistics/center';
+import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 
 // 定义变量内容
 const state = reactive<any>({
-  queryParams: {
-    PageIndex: 1, // 当前页
-    PageSize: 10, // 每页条数
-  },
-  tableData: [], //表单
-  loading: false, // 加载
-  total: 0, // 总数
+	queryParams: {
+		PageIndex: 1, // 当前页
+		PageSize: 10, // 每页条数
+		TypeId: 0,
+	},
+	tableData: [], //表单
+	loading: false, // 加载
+	total: 0, // 总数
 });
 const ruleFormRef = ref<RefType>(); // 表单ref
 const route = useRoute(); // 路由
@@ -56,79 +75,79 @@ const router = useRouter(); // 路由
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-  { prop: 'expiredStatusText', label: '超期状态', align: 'center',width: 80 },
-  { prop: 'no', label: '工单编码', width: 140 },
-  { prop: 'isProvinceText', label: '省/市工单', width: 90 },
-  { prop: 'currentStepName', label: '当前节点', width: 100 },
-  { prop: 'statusText', label: '工单状态', width: 100 },
-  { prop: 'title', label: '工单标题', width: 200 },
-  {
-    prop: 'startTime',
-    label: '受理时间',
-    width: 160,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  {
-    prop: 'expiredTime',
-    label: '工单期满时间',
-    width: 160,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  {
-    prop: 'filedTime',
-    label: '办结时间',
-    width: 160,
-    render: (scope) => {
-      return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
-    },
-  },
-  { prop: 'orgLevelOneName', label: '一级部门', width: 140 },
-  { prop: 'currentHandleOrgName', label: '接办部门', width: 140 },
-  { prop: 'acceptType', label: '受理类型', width: 100 },
-  { prop: 'counterSignTypeText', label: '是否会签', width: 90 },
-  { prop: 'sourceChannel', label: '来源渠道', minWidth: 100  },
-  { prop: 'hotspotName', label: '热点分类', minWidth: 150 },
-  { prop: 'acceptorName', label: '受理人', width: 120 },
-  { prop: 'operation', label: '操作', fixed: 'right', width: 90, align: 'center' },
+	{ prop: 'expiredStatusText', label: '超期状态', align: 'center', width: 80 },
+	{ prop: 'no', label: '工单编码', width: 140 },
+	{ prop: 'isProvinceText', label: '省/市工单', width: 90 },
+	{ prop: 'currentStepName', label: '当前节点', width: 100 },
+	{ prop: 'statusText', label: '工单状态', width: 100 },
+	{ prop: 'title', label: '工单标题', width: 200 },
+	{
+		prop: 'startTime',
+		label: '受理时间',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'expiredTime',
+		label: '工单期满时间',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'filedTime',
+		label: '办结时间',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{ prop: 'orgLevelOneName', label: '一级部门', width: 140 },
+	{ prop: 'currentHandleOrgName', label: '接办部门', width: 140 },
+	{ prop: 'acceptType', label: '受理类型', width: 100 },
+	{ prop: 'counterSignTypeText', label: '是否会签', width: 90 },
+	{ prop: 'sourceChannel', label: '来源渠道', minWidth: 100 },
+	{ prop: 'hotspotName', label: '热点分类', minWidth: 150 },
+	{ prop: 'acceptorName', label: '受理人', width: 120 },
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 90, align: 'center' },
 ]);
 // 手动查询,将页码设置为1
 const handleQuery = () => {
-  state.queryParams.PageIndex = 1;
-  queryList();
+	state.queryParams.PageIndex = 1;
+	queryList();
 };
 const routeQueryParams = route.query;
 /** 获取列表 */
-const requestParams = ref({})
+const requestParams = ref({});
 const queryList = () => {
-  requestParams.value = other.deepClone(state.queryParams);
-  requestParams.value.StartTime = routeQueryParams.StartTime;
-  requestParams.value.EndTime = routeQueryParams.EndTime;
-  requestParams.value.OrgCode = routeQueryParams.OrgCode;
-  requestParams.value.StatisticsType = Number(routeQueryParams.StatisticsType);
-  requestParams.value.isProvince = routeQueryParams.isProvince;
-  requestParams.value.ParentOrgCode = routeQueryParams.ParentOrgCode;
-  state.loading = true;
-  departmentOrderDetail(requestParams.value)
-    .then((response: any) => {
-      state.tableData = response?.result.items ?? [];
-      state.total = response?.result.total;
-      state.loading = false;
-    })
-    .catch(() => {
-      state.loading = false;
-    });
+	requestParams.value = other.deepClone(state.queryParams);
+	requestParams.value.StartTime = routeQueryParams.StartTime;
+	requestParams.value.EndTime = routeQueryParams.EndTime;
+	requestParams.value.OrgCode = routeQueryParams.OrgCode;
+	requestParams.value.StatisticsType = Number(routeQueryParams.StatisticsType);
+	requestParams.value.isProvince = routeQueryParams.isProvince;
+	requestParams.value.ParentOrgCode = routeQueryParams.ParentOrgCode;
+	state.loading = true;
+	departmentOrderDetail(requestParams.value)
+		.then((response: any) => {
+			state.tableData = response?.result.items ?? [];
+			state.total = response?.result.total;
+			state.loading = false;
+		})
+		.catch(() => {
+			state.loading = false;
+		});
 };
 /** 重置按钮操作 */
 const resetQuery = (formEl: FormInstance | undefined) => {
-  if (!formEl) return;
-  formEl.resetFields();
-  queryList();
+	if (!formEl) return;
+	formEl.resetFields();
+	queryList();
 };
 onMounted(() => {
-  queryList();
+	queryList();
 });
-</script>
+</script>

+ 8 - 0
src/views/statistics/department/detailHandleList.vue

@@ -2,6 +2,13 @@
 	<div class="statistics-department-satisfaction-detail-list-container layout-pd">
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="100px" inline>
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
+            <el-option :value="0" label="全部" />
+            <el-option :value="1" label="市民" />
+            <el-option :value="2" label="企业" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="时间段" prop="crTime">
 					<el-date-picker
 						v-model="state.queryParams.crTime"
@@ -145,6 +152,7 @@ const state = reactive<any>({
 		crTime: defaultDateTime,
 		StartTime: null,
 		EndTime: null,
+    TypeId:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 9 - 0
src/views/statistics/department/detailHandleOrg.vue

@@ -2,6 +2,13 @@
 	<div class="statistics-department-handle-container layout-pd">
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
+            <el-option :value="0" label="全部" />
+            <el-option :value="1" label="市民" />
+            <el-option :value="2" label="企业" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="部门名称" prop="OrgName">
 					<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -392,6 +399,7 @@ const state = reactive({
 	queryParams: {
 		// 查询条件
 		OrgName: null, // 部门名称
+    TypeId:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -418,6 +426,7 @@ const queryList = () => {
 		OrgName: state.queryParams.OrgName,
 		OrgCode,
 		isProvince,
+    TypeId:state.queryParams.TypeId
 	};
 	departmentOrderOrg(requestParams.value)
 		.then((res: any) => {

+ 8 - 0
src/views/statistics/department/detailOverdue.vue

@@ -5,6 +5,13 @@
 				<el-form-item label="工单编码" prop="No">
 					<el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
+            <el-option :value="0" label="全部" />
+            <el-option :value="1" label="市民" />
+            <el-option :value="2" label="企业" />
+          </el-select>
+        </el-form-item>
 				<!--        <el-form-item label="超期类型" prop="ExpiredType">
           <el-select v-model="state.queryParams.ExpiredType" placeholder="请选择超期类型" clearable @change="handleQuery">
             <el-option  value="1" label="系统中超期"></el-option>
@@ -105,6 +112,7 @@ const state = reactive({
 		PageSize: 10,
 		No: null, //
 		ExpiredType: null,
+    TypeId:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 12 - 0
src/views/statistics/department/detailOverdueList.vue

@@ -57,6 +57,17 @@
 							</el-form-item>
 						</el-col>
 					</transition>
+					<transition name="el-zoom-in-top" v-show="!searchCol">
+						<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
+							<el-form-item label="来电主体" prop="TypeId">
+								<el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
+									<el-option :value="0" label="全部" />
+									<el-option :value="1" label="市民" />
+									<el-option :value="2" label="企业" />
+								</el-select>
+							</el-form-item>
+						</el-col>
+					</transition>
 					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
 						<el-form-item label=" ">
 							<div class="flex-end w100">
@@ -187,6 +198,7 @@ const state = reactive<any>({
 		No: null,
 		Statuses: [], // 状态
 		OrgName: null, // 部门名称
+		TypeId: 0,
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 25 - 0
src/views/statistics/department/detailSatisfied.vue

@@ -1,5 +1,28 @@
 <template>
 	<div class="statistics-department-satisfaction-detail-container layout-pd">
+    <el-card shadow="never">
+      <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电主体" prop="TypeCode">
+          <el-select v-model="state.queryParams.TypeCode" placeholder="请选择来电主体" @change="handleQuery">
+            <el-option :value="0" label="全部" />
+            <el-option :value="1" label="市民" />
+            <el-option :value="2" label="企业" />
+          </el-select>
+        </el-form-item>
+        <!--        <el-form-item label="超期类型" prop="ExpiredType">
+          <el-select v-model="state.queryParams.ExpiredType" placeholder="请选择超期类型" clearable @change="handleQuery">
+            <el-option  value="1" label="系统中超期"></el-option>
+            <el-option  value="2" label="申请延期超期"></el-option>
+          </el-select>
+        </el-form-item>-->
+        <el-form-item>
+          <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+          <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
+            <SvgIcon name="ele-Refresh" class="mr5" />重置
+          </el-button>
+        </el-form-item>
+      </el-form>
+    </el-card>
 		<el-card shadow="never">
 			<ProTable
 				ref="proTableRef"
@@ -108,6 +131,7 @@ const state = reactive({
 		TypeId: '1', //
 		LineNum: null,
 		crTime: defaultDate, // 时间默认今天开始到今天结束
+    TypeCode:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -135,6 +159,7 @@ const queryList = () => {
 		PageIndex: state.queryParams.PageIndex,
 		PageSize: state.queryParams.PageSize,
 		IsOnlyMy: routeQueryParams.IsOnlyMy,
+    TypeCode: state.queryParams.TypeCode
 	};
 	departmentSatisfactionDetail(requestParams.value)
 		.then((res: any) => {

+ 13 - 0
src/views/statistics/department/detailSatisfiedList.vue

@@ -95,6 +95,17 @@
 							</el-form-item>
 						</el-col>
 					</transition>
+          <transition name="el-zoom-in-top" v-show="!searchCol">
+            <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
+              <el-form-item label="来电主体" prop="TypeCode">
+                <el-select v-model="state.queryParams.TypeCode" placeholder="请选择来电主体" @change="handleQuery">
+                  <el-option :value="0" label="全部" />
+                  <el-option :value="1" label="市民" />
+                  <el-option :value="2" label="企业" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </transition>
 					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
 						<el-form-item label=" ">
 							<div class="flex-end w100">
@@ -239,6 +250,8 @@ const state = reactive<any>({
 		VisitUser: null,
 		OrgProcessingResults: null,
     OrgId:null,
+    TypeId:'1',
+    TypeCode:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 44 - 35
src/views/statistics/department/detailSatisfiedOrg.vue

@@ -1,40 +1,47 @@
 <template>
 	<div class="statistics-department-satisfied-container layout-pd">
-		<!--    <el-card shadow="never">
-      <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-        <el-form-item label="部门名称" prop="OrgName">
-          <el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
-        </el-form-item>
-        <el-form-item label="时间段" prop="crTime">
-          <el-date-picker
-            v-model="state.queryParams.crTime"
-            type="daterange"
-            unlink-panels
-            range-separator="至"
-            start-placeholder="开始时间"
-            end-placeholder="结束时间"
-            :shortcuts="shortcuts"
-            @change="handleQuery"
-            value-format="YYYY-MM-DD"
-          />
-        </el-form-item>
-        <el-form-item label="类型" prop="TypeId">
-          <el-select v-model="state.queryParams.TypeId" placeholder="类型" @change="handleQuery">
-            <el-option label="办件结果" value="1" />
-            <el-option label="办件态度" value="2" />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="热线号码" prop="LineNum">
-          <el-input v-model="state.queryParams.LineNum" placeholder="热线号码" clearable @keyup.enter="handleQuery" class="keyword-input" />
-        </el-form-item>
-        <el-form-item>
-          <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-          <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-            <SvgIcon name="ele-Refresh" class="mr5" />重置
-          </el-button>
-        </el-form-item>
-      </el-form>
-    </el-card>-->
+		<el-card shadow="never">
+			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+				<el-form-item label="来电主体" prop="TypeCode">
+					<el-select v-model="state.queryParams.TypeCode" placeholder="请选择来电主体" @change="handleQuery">
+						<el-option :value="0" label="全部" />
+						<el-option :value="1" label="市民" />
+						<el-option :value="2" label="企业" />
+					</el-select>
+				</el-form-item>
+				<!--      <el-form-item label="部门名称" prop="OrgName">
+    <el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
+  </el-form-item>
+  <el-form-item label="时间段" prop="crTime">
+    <el-date-picker
+      v-model="state.queryParams.crTime"
+      type="daterange"
+      unlink-panels
+      range-separator="至"
+      start-placeholder="开始时间"
+      end-placeholder="结束时间"
+      :shortcuts="shortcuts"
+      @change="handleQuery"
+      value-format="YYYY-MM-DD"
+    />
+  </el-form-item>
+  <el-form-item label="类型" prop="TypeId">
+    <el-select v-model="state.queryParams.TypeId" placeholder="类型" @change="handleQuery">
+      <el-option label="办件结果" value="1" />
+      <el-option label="办件态度" value="2" />
+    </el-select>
+  </el-form-item>
+  <el-form-item label="热线号码" prop="LineNum">
+    <el-input v-model="state.queryParams.LineNum" placeholder="热线号码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+  </el-form-item>-->
+				<el-form-item>
+					<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+					<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
+						<SvgIcon name="ele-Refresh" class="mr5" />重置
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
 		<el-card shadow="never">
 			<ProTable
 				ref="proTableRef"
@@ -244,6 +251,7 @@ const state = reactive({
 		PageIndex: 1,
 		PageSize: 10,
 		TypeId: '1', //
+		TypeCode: 0,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -268,6 +276,7 @@ const queryList = () => {
 		LineNum: routeQueryParams.LineNum,
 		OrgCode: routeQueryParams.OrgCode,
 		DateValue: routeQueryParams.DateValue,
+		TypeCode: state.queryParams.TypeCode,
 	};
 	departmentSatisfactionOrg(requestParams.value)
 		.then((res: any) => {

+ 4 - 3
src/views/statistics/department/handle.vue

@@ -2,13 +2,13 @@
 	<div class="statistics-department-handle-container layout-pd">
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-<!--        <el-form-item label="来电主体" prop="IdentityType">
-          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电主体" @change="handleQuery">
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
             <el-option :value="0" label="全部" />
             <el-option :value="1" label="市民" />
             <el-option :value="2" label="企业" />
           </el-select>
-        </el-form-item>-->
+        </el-form-item>
 				<el-form-item label="部门名称" prop="OrgName">
 					<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -420,6 +420,7 @@ const state = reactive<any>({
 		OrgName: null, // 部门名称
 		crTime: defaultDate, // 时间默认今天开始到今天结束
 		isProvince: null,
+    TypeId:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 4 - 4
src/views/statistics/department/overdue.vue

@@ -2,13 +2,13 @@
 	<div class="statistics-department-overdue-container layout-pd">
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-<!--        <el-form-item label="来电主体" prop="IdentityType">
-          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电主体" @change="handleQuery">
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
             <el-option :value="0" label="全部" />
             <el-option :value="1" label="市民" />
             <el-option :value="2" label="企业" />
           </el-select>
-        </el-form-item>-->
+        </el-form-item>
 				<el-form-item label="超期部门" prop="Keyword">
 					<el-input v-model="state.queryParams.Keyword" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -169,7 +169,7 @@ const state = reactive<any>({
     EndTime:null,
 		SortField: null,
 		SortRule: null,
-    IdentityType:0
+    TypeId:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 5 - 5
src/views/statistics/department/satisfied.vue

@@ -2,13 +2,13 @@
 	<div class="statistics-department-satisfied-container layout-pd">
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-<!--        <el-form-item label="来电主体" prop="IdentityType">
-          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电主体" @change="handleQuery">
+        <el-form-item label="来电主体" prop="TypeCode">
+          <el-select v-model="state.queryParams.TypeCode" placeholder="请选择来电主体" @change="handleQuery">
             <el-option :value="0" label="全部" />
             <el-option :value="1" label="市民" />
             <el-option :value="2" label="企业" />
           </el-select>
-        </el-form-item>-->
+        </el-form-item>
 				<el-form-item label="部门名称" prop="OrgName">
 					<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -301,13 +301,13 @@ const state = reactive<any>({
 		// 查询条件
 		PageIndex: 1,
 		PageSize: 10,
-		TypeId: '1', //
 		OrgName: null,
 		LineNum: null,
 		crTime: defaultDate, // 时间默认今天开始到今天结束
     StartTime:null,
     EndTime:null,
-    IdentityType:0
+    TypeId:'1',
+    TypeCode:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 9 - 11
src/views/statistics/order/departmentAcceptType.vue

@@ -2,8 +2,8 @@
 	<div class="statistics-order-department-accept-type-container layout-pd">
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-        <el-form-item label="来电主体" prop="IdentityType">
-          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电主体" @change="handleQuery">
+        <el-form-item label="来电主体" prop="TypeId">
+          <el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
             <el-option :value="0" label="全部" />
             <el-option :value="1" label="市民" />
             <el-option :value="2" label="企业" />
@@ -63,6 +63,7 @@ import { departmentAcceptType, departmentAcceptTypeExport } from '@/api/statisti
 import { defaultDate, shortcuts } from '@/utils/constants';
 import ProTable from '@/components/ProTable/index.vue';
 import { useRouter } from 'vue-router';
+import Other from "@/utils/other";
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const columns = reactive<any[]>([
@@ -228,10 +229,10 @@ const state = reactive<any>({
 	queryParams: {
 		// 查询条件
 		TypeCode: '0', // 关键词
-    IdentityType:0,
 		crTime: defaultDate,
     StartTime:null,
-    EndTime:null
+    EndTime:null,
+    TypeId:0
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -247,13 +248,10 @@ const handleQuery = () => {
 const requestParams = ref({});
 const queryList = () => {
 	state.loading = true;
-	const StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
-	const EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
-	requestParams.value = {
-		StartTime,
-		EndTime,
-		TypeCode: state.queryParams.TypeCode,
-	};
+  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');
 	departmentAcceptType(requestParams.value)
 		.then((res: any) => {
 			state.tableData = res.result?.list ?? [];

+ 24 - 0
src/views/statistics/order/departmentDetailAcceptType.vue

@@ -1,5 +1,28 @@
 <template>
 	<div class="statistics-order-detail-accept-type layout-pd">
+		<el-card shadow="never">
+			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+				<el-form-item label="来电主体" prop="TypeId">
+					<el-select v-model="state.queryParams.TypeId" placeholder="请选择来电主体" @change="handleQuery">
+						<el-option :value="0" label="全部" />
+						<el-option :value="1" label="市民" />
+						<el-option :value="2" label="企业" />
+					</el-select>
+				</el-form-item>
+				<!--        <el-form-item label="超期类型" prop="ExpiredType">
+          <el-select v-model="state.queryParams.ExpiredType" placeholder="请选择超期类型" clearable @change="handleQuery">
+            <el-option  value="1" label="系统中超期"></el-option>
+            <el-option  value="2" label="申请延期超期"></el-option>
+          </el-select>
+        </el-form-item>-->
+				<el-form-item>
+					<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+					<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
+						<SvgIcon name="ele-Refresh" class="mr5" />重置
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
 		<el-card shadow="never">
 			<ProTable
 				ref="proTableRef"
@@ -45,6 +68,7 @@ const state = reactive<any>({
 	queryParams: {
 		PageIndex: 1, // 当前页
 		PageSize: 10, // 每页条数
+		TypeId: 0,
 	},
 	tableData: [], //表单
 	loading: false, // 加载