Procházet zdrojové kódy

reactor:数据共享平台新增其他平台数据接收;

zhangchong před 8 měsíci
rodič
revize
898b9027ba

+ 12 - 0
src/api/dataShare/index.ts

@@ -312,4 +312,16 @@ export const pushFailData = (params: object) => {
       'userinfo': userInfos.value.encryptionHeader
     }
   });
+};
+/**
+ * @description 查询接收道德原始数据
+ * @param {object}  params
+ */
+export const getReceiveData = (params: object) => {
+  return request({
+    baseURL:import.meta.env.VITE_DATASHARE_API_YRL,
+    url: `/api/v1/HotlineWeb/get_receive_raw_data`,
+    method: 'get',
+    params
+  });
 };

+ 0 - 2
src/utils/tools.ts

@@ -426,9 +426,7 @@ export function isJSON(str:string) {
 		const jsonStr = JSON.parse(str);
 		const jsonObj = JSON.parse(jsonStr);
 		return !!(typeof jsonObj == 'object' && jsonObj);
-
 	} catch (e) {
-		console.log('error:' + str + '!!!' + e);
 		return false;
 	}
 }

+ 1 - 1
src/views/business/publish/component/Order-publish.vue

@@ -252,7 +252,7 @@ const onPublish = (formEl: FormInstance | undefined) => {
 	formEl.validate((valid: boolean) => {
 		if (!valid) return;
 		state.loading = true;
-		let idNames = <any[]>[];
+		let idNames:EmptyArrayType;
 		state.ruleForm.netizenEvaluate = netizenEvaluateType.value.find((item) => item.key === state.ruleForm.netizen);
 		if (state.ruleForm.idNames.length > 0) {
 			// 如果选择了部门

+ 1 - 1
src/views/dataShare/callLog.vue

@@ -52,7 +52,7 @@
 <script setup lang="tsx" name="dataShareCallLog">
 import { onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
-import { defaultDate, defaultDateTime, defaultTimeStartEnd, shortcuts } from "@/utils/constants";
+import { defaultDateTime, defaultTimeStartEnd, shortcuts } from "@/utils/constants";
 import { formatDate } from '@/utils/formatTime';
 import { getCallList } from '@/api/dataShare';
 import Other from "@/utils/other";

+ 114 - 0
src/views/dataShare/otherPlatform.vue

@@ -0,0 +1,114 @@
+<template>
+	<div class="dataShare-other-platform-container layout-padding">
+		<div class="layout-padding-auto layout-padding-view pd20">
+			<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"
+			>
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="时间段" prop="crTime">
+							<el-date-picker
+								v-model="state.queryParams.crTime"
+								type="datetimerange"
+								unlink-panels
+								range-separator="至"
+								start-placeholder="开始时间"
+								end-placeholder="结束时间"
+								:shortcuts="shortcuts"
+								@change="handleQuery"
+								value-format="YYYY-MM-DD[T]HH:mm:ss"
+								:default-time="defaultTimeStartEnd"
+								:clearable="false"
+							/>
+						</el-form-item>
+						<el-form-item label-width="0">
+							<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>
+				</template>
+			</ProTable>
+		</div>
+	</div>
+</template>
+<script setup lang="tsx" name="dataShareOtherPlatform">
+import { onMounted, reactive, ref } from 'vue';
+import { FormInstance } from 'element-plus';
+import { defaultDateTime, defaultTimeStartEnd, shortcuts } from "@/utils/constants";
+import { formatDate } from '@/utils/formatTime';
+import { getReceiveData } from '@/api/dataShare';
+import Other from "@/utils/other";
+const proTableRef = ref<RefType>(); // 表格ref
+// 表格配置项
+const columns = ref<any[]>([
+	{ prop: 'orderNo', label: '工单编码', align: 'center', width: 140 },
+	{
+		prop: 'creationTime',
+		label: '创建时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{ prop: 'platformsName', label: '平台名称', align: 'center',width: 120 },
+	{ prop: 'rawData', label: '数据', minWidth: 200, align: 'center' },
+	{ prop: 'serviceInterface', label: 'serviceInterface', align: 'center' }
+]);
+// 定义变量内容
+const ruleFormRef = ref<RefType>(); // 表单ref
+const state = reactive<any>({
+	queryParams: {
+		PageIndex: 1,
+		PageSize: 20,
+		// 查询条件
+		crTime: defaultDateTime,
+		StartTime:null,
+		EndTime:null,
+		CaseSerial:null
+	},
+	tableData: [], //表单
+	loading: false, // 加载
+	total: 0, // 总数
+});
+/** 搜索按钮操作 */
+const handleQuery = () => {
+	// state.queryParams.PageIndex = 1;
+	queryList();
+};
+/** 获取列表 */
+const queryList = () => {
+	state.loading = true;
+	let request = Other.deepClone(state.queryParams);
+	request.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
+	request.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
+	Reflect.deleteProperty(request, 'crTime');
+	getReceiveData(request)
+		.then((res: any) => {
+			state.tableData = res.result?.items ?? [];
+			state.total = res.result?.total ?? 0;
+			state.loading = false;
+		})
+		.catch(() => {
+			state.loading = false;
+		});
+};
+/** 重置按钮操作 */
+const resetQuery = (formEl: FormInstance | undefined) => {
+	if (!formEl) return;
+	formEl.resetFields();
+	queryList();
+};
+onMounted(() => {
+	queryList();
+});
+</script>

+ 287 - 48
src/views/dataShare/pushedTask.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="dataShare-pushedTask-container layout-padding">
-    <div class="layout-padding-auto layout-padding-view pd20">
+		<div class="layout-padding-auto layout-padding-view pd20">
 			<el-tabs v-model="state.queryParams.SelectType" @tab-change="handleQuery">
 				<el-tab-pane name="1" label="服务工单受理"></el-tab-pane>
 				<el-tab-pane name="2" label="电话记录"></el-tab-pane>
@@ -9,64 +9,155 @@
 				<el-tab-pane name="5" label="省平台推送其他"></el-tab-pane>
 				<el-tab-pane name="6" label="其他平台"></el-tab-pane>
 			</el-tabs>
-      <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"
-      >
-        <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+			<ProTable
+				:columns="columns1"
+				: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"
+				v-if="['1'].includes(state.queryParams.SelectType)"
+			>
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 						<el-form-item label="省工单编码" prop="CaseSerial">
-							<el-input v-model="state.queryParams.CaseSerial" placeholder="省工单编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
+							<el-input v-model="state.queryParams.CaseSerial" placeholder="省工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
 						</el-form-item>
 						<el-form-item label="请求地址" prop="Path">
-							<el-input v-model="state.queryParams.Path" placeholder="请求地址" clearable @keyup.enter="handleQuery" class="keyword-input"/>
+							<el-input v-model="state.queryParams.Path" 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="datetimerange"
-                  unlink-panels
-                  range-separator="至"
-                  start-placeholder="开始时间"
-                  end-placeholder="结束时间"
-                  :shortcuts="shortcuts"
-                  @change="handleQuery"
-                  value-format="YYYY-MM-DD[T]HH:mm:ss"
-                  :default-time="defaultTimeStartEnd"
-                  :clearable="false"
-              />
-            </el-form-item>
-            <el-form-item label-width="0">
-              <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>
-        </template>
-        <template #operation="{ row }">
-          <el-button link type="primary" @click="onDetail(row)" title="查看任务明细"> 任务明细 </el-button>
-          <el-button link type="primary" @click="onRePush(row)" title="重新推送"> 重推 </el-button>
-        </template>
-      </ProTable>
+						<el-form-item label="时间段" prop="crTime">
+							<el-date-picker
+								v-model="state.queryParams.crTime"
+								type="datetimerange"
+								unlink-panels
+								range-separator="至"
+								start-placeholder="开始时间"
+								end-placeholder="结束时间"
+								:shortcuts="shortcuts"
+								@change="handleQuery"
+								value-format="YYYY-MM-DD[T]HH:mm:ss"
+								:default-time="defaultTimeStartEnd"
+								:clearable="false"
+							/>
+						</el-form-item>
+						<el-form-item label-width="0">
+							<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>
+				</template>
+				<template #operation="{ row }">
+					<el-button link type="primary" @click="onDetail(row)" title="查看任务明细"> 任务明细 </el-button>
+					<el-button link type="primary" @click="onRePush(row)" title="重新推送"> 重推 </el-button>
+				</template>
+			</ProTable>
+			<ProTable
+				:columns="columns4"
+				: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"
+				v-if="['4'].includes(state.queryParams.SelectType)"
+			>
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="省工单编码" prop="CaseSerial">
+							<el-input v-model="state.queryParams.CaseSerial" placeholder="省工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="请求地址" prop="Path">
+							<el-input v-model="state.queryParams.Path" 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="datetimerange"
+								unlink-panels
+								range-separator="至"
+								start-placeholder="开始时间"
+								end-placeholder="结束时间"
+								:shortcuts="shortcuts"
+								@change="handleQuery"
+								value-format="YYYY-MM-DD[T]HH:mm:ss"
+								:default-time="defaultTimeStartEnd"
+								:clearable="false"
+							/>
+						</el-form-item>
+						<el-form-item label-width="0">
+							<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>
+				</template>
+				<template #operation="{ row }">
+					<el-button link type="primary" @click="onDetail(row)" title="查看任务明细"> 任务明细 </el-button>
+					<el-button link type="primary" @click="onRePush(row)" title="重新推送"> 重推 </el-button>
+				</template>
+			</ProTable>
+			<ProTable
+				: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"
+				v-if="['2', '3', '5', '6'].includes(state.queryParams.SelectType)"
+			>
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="省工单编码" prop="CaseSerial">
+							<el-input v-model="state.queryParams.CaseSerial" placeholder="省工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="请求地址" prop="Path">
+							<el-input v-model="state.queryParams.Path" 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="datetimerange"
+								unlink-panels
+								range-separator="至"
+								start-placeholder="开始时间"
+								end-placeholder="结束时间"
+								:shortcuts="shortcuts"
+								@change="handleQuery"
+								value-format="YYYY-MM-DD[T]HH:mm:ss"
+								:default-time="defaultTimeStartEnd"
+								:clearable="false"
+							/>
+						</el-form-item>
+						<el-form-item label-width="0">
+							<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>
+				</template>
+				<template #operation="{ row }">
+					<el-button link type="primary" @click="onDetail(row)" title="查看任务明细"> 任务明细 </el-button>
+					<el-button link type="primary" @click="onRePush(row)" title="重新推送"> 重推 </el-button>
+				</template>
+			</ProTable>
 		</div>
 	</div>
 </template>
 <script setup lang="tsx" name="dataSharePushedTask">
 import { onMounted, reactive, ref } from 'vue';
 import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
-import { defaultDateTime, defaultTimeStartEnd, shortcuts } from "@/utils/constants";
+import { defaultDateTime, defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import { getPushedTask, rePushNew } from '@/api/dataShare';
 import { formatDate } from '@/utils/formatTime';
 import { useRouter } from 'vue-router';
 import other from '@/utils/other';
-const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
 	{ prop: 'provinceNo', label: '省工单编码', align: 'center', minWidth: 200 },
@@ -103,7 +194,155 @@ const columns = ref<any[]>([
 		label: '平台名称',
 		align: 'center',
 	},
-	{ prop: 'pathText', label: '任务类型', align: 'center' },
+	{ prop: 'pathText', label: '任务类型', align: 'center', minWidth: 150 },
+	{ prop: 'request', label: '请求参数', align: 'center', minWidth: 200 },
+	{
+		prop: 'generationTime',
+		label: '生成时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.generationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'creationTime',
+		label: '创建时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
+]);
+const columns1 = ref<any[]>([
+	{ prop: 'provinceNo', label: '省工单编码', align: 'center', minWidth: 200 },
+	{
+		prop: 'expiredTime',
+		label: '期满时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'firstTime',
+		label: '初次推送时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.firstTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'lastTime',
+		label: '最近一次推送时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.lastTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'sendTimes',
+		label: '推送次数',
+		align: 'center',
+	},
+	{
+		prop: 'isSuccesseText',
+		label: '推送状态',
+		align: 'center',
+		minWidth: 100,
+	},
+	{
+		prop: 'platformSourceText',
+		label: '平台名称',
+		align: 'center',
+	},
+	{ prop: 'pathText', label: '任务类型', align: 'center', minWidth: 150 },
+	{ prop: 'request', label: '请求参数', align: 'center', minWidth: 200 },
+	{
+		prop: 'generationTime',
+		label: '生成时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.generationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'creationTime',
+		label: '创建时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{ prop: 'operation', label: '操作', fixed: 'right', width: 140, align: 'center' },
+]);
+const columns4 = ref<any[]>([
+	{ prop: 'provinceNo', label: '省工单编码', align: 'center', minWidth: 200 },
+	{
+		prop: 'expiredTime',
+		label: '期满时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'firstTime',
+		label: '初次推送时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.firstTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'lastTime',
+		label: '最近一次推送时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.lastTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'isOverdueText',
+		label: '是否超期',
+		align: 'center',
+	},
+	{
+		prop: 'filedTime',
+		label: '办结时间',
+		align: 'center',
+		width: 160,
+		render: (scope) => {
+			return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+		},
+	},
+	{
+		prop: 'sendTimes',
+		label: '推送次数',
+		align: 'center',
+	},
+	{
+		prop: 'isSuccesseText',
+		label: '推送状态',
+		align: 'center',
+		minWidth: 100,
+	},
+	{
+		prop: 'platformSourceText',
+		label: '平台名称',
+		align: 'center',
+	},
+	{ prop: 'pathText', label: '任务类型', align: 'center', minWidth: 150 },
 	{ prop: 'request', label: '请求参数', align: 'center', minWidth: 200 },
 	{
 		prop: 'generationTime',
@@ -139,8 +378,8 @@ const state = reactive<any>({
 		SelectType: '1',
 		StartTime: null,
 		EndTime: null,
-		CaseSerial:null,
-		Path:null
+		CaseSerial: null,
+		Path: null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 1 - 1
src/views/home/component/Todo-center.vue

@@ -79,7 +79,7 @@
 						:width="width"
 						:height="height"
 						:header-height="0"
-						:row-height="34"
+						:row-height="32"
 						:scrollbar-always-on="true"
 						v-loading="state.tableLoading"
 						fixed

+ 1 - 1
src/views/home/component/Todo-department.vue

@@ -70,7 +70,7 @@
 						:width="width"
 						:height="height"
 						:header-height="0"
-						:row-height="34"
+						:row-height="32"
 						:scrollbar-always-on="true"
 						v-loading="state.tableLoading"
 						fixed