Ver código fonte

refactor:553 工单详情弹窗的来电人信息区域,增加“政治身份”

zhangchong 3 dias atrás
pai
commit
49642179b9

+ 7 - 2
src/views/business/publish/components/Order-publish.vue

@@ -325,8 +325,13 @@ const openDialog = async (row: any, isDisabled: boolean = false) => {
 			idNamesArray.value = res.result?.idNames ?? [];
 			netizenEvaluateType.value = res.result?.netizenEvaluateType ?? [];
 			dialogTitle.value = '工单发布';
-			isProvincePublic.value = res.result?.isProvincePublic;
-			publishDisabled.value = res.result?.isProvincePublic === false; // 诉求人意愿是否公开 否 禁用是否公开按钮
+			if (res.result?.isProvincePublic) {
+				isProvincePublic.value = res.result?.isProvincePublic; // 是否展示 诉求人意愿是否公开 和不公开理由
+				publishDisabled.value = res.result?.isPublic === false; // 诉求人意愿是否公开 否 禁用是否公开按钮
+			} else {
+				isProvincePublic.value = false; // 是否展示 诉求人意愿是否公开 和不公开理由
+				publishDisabled.value = false; // 诉求人意愿是否公开 否 禁用是否公开按钮
+			}
 			state.loading = false;
 			state.dialogVisible = true;
 		}

+ 173 - 80
src/views/statistics/department/handle.vue

@@ -89,12 +89,12 @@
 					showHeaderOverflow
 					:params="{ exportMethod: departmentOrderExport, exportParams: requestParams }"
 					show-footer
-					:footer-method="footerMethod"
+					:footer-data="state.footerData"
 				>
 					<vxe-column field="orgName" title="部门名称" min-width="200" fixed="left">
-						<template #default="scope">
-							<el-button type="primary" link @click="linkDetail(scope)">
-								{{ scope.row.orgName }}
+						<template #default="{ row }">
+							<el-button type="primary" link @click="linkDetail(row)">
+								{{ row.orgName }}
 							</el-button>
 						</template>
 					</vxe-column>
@@ -102,16 +102,26 @@
 					<vxe-column field="orderCountNum" title="信件总量" min-width="90" fixed="left"> </vxe-column>
 					<vxe-colgroup title="办件信息" align="center">
 						<vxe-column title="已办案件" field="ybOrderCountNum" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '0')">
-									{{ scope.row.ybOrderCountNum }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '0')">
+									{{ row.ybOrderCountNum }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '0', true)">
+									{{ row.ybOrderCountNum }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="在办案件" field="zbOrderCountNum" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '1')">
-									{{ scope.row.zbOrderCountNum }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '1')">
+									{{ row.zbOrderCountNum }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '1', true)">
+									{{ row.zbOrderCountNum }}
 								</el-button>
 							</template>
 						</vxe-column>
@@ -120,9 +130,14 @@
 					</vxe-colgroup>
 					<vxe-colgroup title="延期次数" align="center">
 						<vxe-column title="延期次数" field="orderDelayCount" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '2')">
-									{{ scope.row.orderDelayCount }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '2')">
+									{{ row.orderDelayCount }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '2', true)">
+									{{ row.orderDelayCount }}
 								</el-button>
 							</template>
 						</vxe-column>
@@ -130,37 +145,62 @@
 					</vxe-colgroup>
 					<vxe-colgroup title="超期信息" align="center">
 						<vxe-column title="已办超期" field="ybOverdue" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '3')">
-									{{ scope.row.ybOverdue }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '3')">
+									{{ row.ybOverdue }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '3', true)">
+									{{ row.ybOverdue }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="待办超期" field="zbOverdue" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '4')">
-									{{ scope.row.zbOverdue }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '4')">
+									{{ row.zbOverdue }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '4', true)">
+									{{ row.zbOverdue }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="会签已办超期" field="hqybOverdue" min-width="110">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '5')">
-									{{ scope.row.hqybOverdue }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '5')">
+									{{ row.hqybOverdue }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '5', true)">
+									{{ row.hqybOverdue }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="会签待办超期" field="hqzbOverdue" min-width="110">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '6')">
-									{{ scope.row.hqzbOverdue }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '6')">
+									{{ row.hqzbOverdue }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '6', true)">
+									{{ row.hqzbOverdue }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="超期件数" field="subtotalOverdue" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '7')">
-									{{ scope.row.subtotalOverdue }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '7')">
+									{{ row.subtotalOverdue }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '7', true)">
+									{{ row.subtotalOverdue }}
 								</el-button>
 							</template>
 						</vxe-column>
@@ -168,85 +208,140 @@
 					</vxe-colgroup>
 					<vxe-colgroup title="会签信息" align="center">
 						<vxe-column title="会签已办" field="delayEnd" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '8')">
-									{{ scope.row.delayEnd }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '8')">
+									{{ row.delayEnd }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '8', true)">
+									{{ row.delayEnd }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="会签待办" field="delayWait" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '9')">
-									{{ scope.row.delayWait }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '9')">
+									{{ row.delayWait }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '9', true)">
+									{{ row.delayWait }}
 								</el-button>
 							</template>
 						</vxe-column>
 					</vxe-colgroup>
 					<vxe-colgroup title="归档信息" align="center">
 						<vxe-column title="待归档" field="toBeArchived" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '10')">
-									{{ scope.row.toBeArchived }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '10')">
+									{{ row.toBeArchived }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '10', true)">
+									{{ row.toBeArchived }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="已归档" field="archived" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '11')">
-									{{ scope.row.archived }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '11')">
+									{{ row.archived }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '11', true)">
+									{{ row.archived }}
 								</el-button>
 							</template>
 						</vxe-column>
 					</vxe-colgroup>
 					<vxe-colgroup title="发布信息" align="center">
 						<vxe-column title="待发布" field="waitPublished" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '12')">
-									{{ scope.row.waitPublished }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '12')">
+									{{ row.waitPublished }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '12', true)">
+									{{ row.waitPublished }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="公开件" field="publishedOpen" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '13')">
-									{{ scope.row.publishedOpen }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '13')">
+									{{ row.publishedOpen }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '13', true)">
+									{{ row.publishedOpen }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="不公开件" field="publishedNoOpen" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '14')">
-									{{ scope.row.publishedNoOpen }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '14')">
+									{{ row.publishedNoOpen }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '14', true)">
+									{{ row.publishedNoOpen }}
 								</el-button>
 							</template>
 						</vxe-column>
 					</vxe-colgroup>
 					<vxe-colgroup title="甄别件" align="center">
 						<vxe-column title="申请总量" field="screenCount" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '15')">
-									{{ scope.row.screenCount }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '15')">
+									{{ row.screenCount }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '15', true)">
+									{{ row.screenCount }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="待甄别" field="screenApproval" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '16')">
-									{{ scope.row.screenApproval }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '16')">
+									{{ row.screenApproval }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '16', true)">
+									{{ row.screenApproval }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="已同意" field="screenPass" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '17')">
-									{{ scope.row.screenPass }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '17')">
+									{{ row.screenPass }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '17', true)">
+									{{ row.screenPass }}
 								</el-button>
 							</template>
 						</vxe-column>
 						<vxe-column title="未同意" field="screenNotPass" min-width="100">
-							<template #default="scope">
-								<el-button type="primary" link @click="linkDetail(scope, '18')">
-									{{ scope.row.screenNotPass }}
+							<template #default="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '18')">
+									{{ row.screenNotPass }}
+								</el-button>
+							</template>
+							<template #footer="{ row }">
+								<el-button type="primary" link @click="linkDetail(row, '18', true)">
+									{{ row.screenNotPass }}
 								</el-button>
 							</template>
 						</vxe-column>
@@ -264,8 +359,6 @@ import { departmentOrder, departmentOrderExport } from '@/api/statistics/departm
 import { defaultDate } from '@/utils/constants';
 import { useRouter } from 'vue-router';
 import Other from '@/utils/other';
-import { centerUnreceivedExport } from '@/api/statistics/center';
-import XEUtils from 'xe-utils';
 
 const StatisticalTime = defineAsyncComponent(() => import('@/components/StatisticalTime/index.vue')); // 日期类型选择组件
 // 定义变量内容
@@ -282,6 +375,7 @@ const state = reactive<any>({
 	loading: false, // 加载
 	totalCount: 0, // 总计
 	IdentityType: 0,
+	footerData: [],
 });
 /** 搜索按钮操作 */
 const handleQuery = () => {
@@ -299,7 +393,7 @@ const queryList = () => {
 	departmentOrder(requestParams.value)
 		.then((res: any) => {
 			state.tableData = res.result?.list ?? [];
-			state.totalCount = res.result?.total;
+			state.footerData = [res.result?.total] ?? [];
 			state.loading = false;
 		})
 		.catch(() => {
@@ -314,31 +408,30 @@ const resetQuery = (formEl: FormInstance | undefined) => {
 	statisticalTimeRef.value.reset();
 	queryList();
 };
-// 计算合计
-const footerMethod = ({ columns, data }) => {
-	return [
-		columns.map((column: any, columnIndex: number) => {
-			if (columnIndex === 0) {
-				return '合计';
-			}
-			// 后端返回了数据集合 state.totalCount 所以不需要计算 直接进行赋值
-			return XEUtils.get(state.totalCount, column.property);
-		}),
-	];
-};
 // 查看详情
 const router = useRouter();
-const linkDetail = (scope:any, key?: string) => {
+const linkDetail = (row: any, key?: string, isFooter?: boolean) => {
 	let StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
 	let EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
-	if (key) {
+	if (isFooter) {
+		// 点击合计
+		router.push({
+			name: 'statisticsDepartmentDetailHandle',
+			query: {
+				StartTime,
+				EndTime,
+				StatisticsType: key,
+				isProvince: state.queryParams.isProvince,
+			},
+		});
+	} else if (key) {
 		// 点击数字
 		router.push({
 			name: 'statisticsDepartmentDetailHandle',
 			query: {
 				StartTime,
 				EndTime,
-				OrgCode: scope.row.orgCode,
+				OrgCode: row.orgCode,
 				StatisticsType: key,
 				isProvince: state.queryParams.isProvince,
 			},
@@ -351,7 +444,7 @@ const linkDetail = (scope:any, key?: string) => {
 				StartTime,
 				EndTime,
 				isProvince: state.queryParams.isProvince,
-				id: scope.row.orgCode,
+				id: row.orgCode,
 			},
 		});
 	}