瀏覽代碼

reactor:355 增加工单词库导出功能;并再添加工单字库时,进行唯一性判断

zhangchong 1 月之前
父節點
當前提交
a5c2618426
共有 2 個文件被更改,包括 62 次插入176 次删除
  1. 1 1
      .env.development
  2. 61 175
      src/views/snapshot/statistics/industry.vue

+ 1 - 1
.env.development

@@ -3,7 +3,7 @@ VITE_MODE_NAME=development
 # 防止部署多套系统到同一域名不同目录时,变量共用的问题 设置不同的前缀
 VITE_STORAGE_NAME=dev
 # 业务系统基础请求地址
-VITE_API_URL=http://110.188.24.28:50100
+VITE_API_URL=http://110.188.24.28:50300
 # 业务系统socket请求地址
 VITE_API_SOCKET_URL=http://110.188.24.28:50100/hubs/hotline
 # 业务系统文件上传上传请求地址

+ 61 - 175
src/views/snapshot/statistics/industry.vue

@@ -24,7 +24,10 @@
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
 import { defaultDate } from '@/utils/constants';
-import { getSSPStatisticsProcess, getSSPStatisticsProcessExport } from '@/api/snapshot/statistics';
+import {
+	getSSPStatisticsIndustry,
+	getSSPStatisticsIndustryExport,
+} from '@/api/snapshot/statistics';
 import Other from '@/utils/other';
 import { useRouter } from 'vue-router';
 
@@ -78,180 +81,10 @@ const gridOptions = reactive<any>({
 			width: 200,
 			fixed: 'left',
 		},
-		{
-			title: '上报情况',
-			children: [
-				{
-					field: 'ybOrderCountNum',
-					title: '上报数量',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'ybOrderCountNum')} link>
-									{row.ybOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'ybOrderCountNum',
-					title: '总办理时长',
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '重点工单',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-			],
-		},
-		{
-			title: '上报区域',
-			children: [
-				{
-					field: 'zbOrderCountNum',
-					title: '自贡市',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '自流井区',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '高新区',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '荣县',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '富顺县',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '沿滩区',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '贡井区',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '大安区',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '外地',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-				{
-					field: 'zbOrderCountNum',
-					title: '其它',
-					slots: {
-						default({ row }) {
-							return (
-								<el-button type="primary" onClick={() => linkDetail(row, 'zbOrderCountNum')} link>
-									{row.zbOrderCountNum}
-								</el-button>
-							);
-						},
-					},
-				},
-			],
-		}
 	],
 	data: [],
 	params: {
-		exportMethod: getSSPStatisticsProcessExport,
+		exportMethod: getSSPStatisticsIndustryExport,
 		exportParams: requestParams,
 	},
 });
@@ -268,11 +101,64 @@ const queryList = () => {
 	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'); // 删除无用的参数
-	getSSPStatisticsProcess(requestParams.value)
+	getSSPStatisticsIndustry(requestParams.value)
 		.then((res) => {
-			state.loading = false;
-			gridOptions.data = res.result ?? [];
+			let columns: EmptyArrayType = [];
+			const parent = {
+				title: '上报区域',
+				children: [],
+			};
+			parent.children = res.result.headers?.map((item: any) => {
+				return {
+					align: 'center',
+					field: item.dicDataValue,
+					title: item.dicDataValue,
+					slots: {
+						default(scope: any) {
+							return (
+								<el-button type="primary" onClick={() => linkDetail(scope.row, item.dicDataValue)} link>
+									{scope.row[item.dicDataValue] ? scope.row[item.dicDataValue] : 0}
+								</el-button>
+							);
+						},
+					},
+				};
+			});
+			columns.unshift(
+				{
+					field: 'IndustryName',
+					title: '行业类型',
+					fixed: 'left',
+					minWidth: 120,
+				},
+				{
+					title: '上报情况',
+					children: [
+						{
+							field: 'OrderCountNum',
+							title: '上报数量',
+							slots: {
+								default(scope: any) {
+									return (
+										<el-button type="primary" onClick={() => linkDetail(scope.row, 'OrderCountNum')} link>
+											{scope.row.OrderCountNum ? scope.row.OrderCountNum : 0}
+										</el-button>
+									);
+								},
+							},
+						},
+						{
+							field: 'AllDuration',
+							title: '总办理时长',
+						},
+					],
+				}
+			);
+			columns.push(parent);
+			gridOptions.data = res?.result.data ?? [];
+			gridOptions.columns = columns;
 			gridOptions.loading = false;
+			state.loading = false;
 		})
 		.finally(() => {
 			state.loading = false;