浏览代码

历史数据查询
上级领导查询
通报信息查询 首页渲染ok

Luka 1 月之前
父节点
当前提交
35bafd4f61
共有 25 个文件被更改,包括 93 次插入599 次删除
  1. 3 4
      .env.development
  2. 2 2
      src/views/notificationInfoInquiry/administrativePenalty/index.vue
  3. 2 2
      src/views/notificationInfoInquiry/publish/index.vue
  4. 2 2
      src/views/notificationInfoInquiry/securityCheck/index.vue
  5. 0 154
      src/views/notificationInfoInquiry/securityInformationInquiry/index.vue
  6. 2 2
      src/views/notificationInfoInquiry/shipRegistration/index.vue
  7. 0 0
      src/views/notificationInfoManage/globalparam/index.vue
  8. 22 31
      src/views/notificationInfoManage/noticeInfoInquiry/components/detail.vue
  9. 0 56
      src/views/notificationInfoManage/noticeInfoInquiry/components/receivingUnitDealOpinion.vue
  10. 0 52
      src/views/notificationInfoManage/noticeInfoInquiry/components/receivingUnitOpinion.vue
  11. 2 2
      src/views/notificationInfoManage/noticeInfoInquiry/config/content.config.ts
  12. 3 3
      src/views/notificationInfoManage/noticeInfoInquiry/config/search.config.ts
  13. 1 1
      src/views/notificationInfoManage/noticeInfoInquiry/index.vue
  14. 19 27
      src/views/notificationInfoManage/superiorLeadersReview/components/detail.vue
  15. 0 56
      src/views/notificationInfoManage/superiorLeadersReview/components/receivingUnitDealOpinion.vue
  16. 0 52
      src/views/notificationInfoManage/superiorLeadersReview/components/receivingUnitOpinion.vue
  17. 1 1
      src/views/notificationInfoManage/superiorLeadersReview/config/content.config.ts
  18. 4 4
      src/views/notificationInfoManage/superiorLeadersReview/config/search.config.ts
  19. 1 1
      src/views/notificationInfoManage/superiorLeadersReview/index.vue
  20. 19 29
      src/views/notificationInfoManage/viewHistoricalData/components/detail.vue
  21. 0 56
      src/views/notificationInfoManage/viewHistoricalData/components/receivingUnitDealOpinion.vue
  22. 0 52
      src/views/notificationInfoManage/viewHistoricalData/components/receivingUnitOpinion.vue
  23. 4 4
      src/views/notificationInfoManage/viewHistoricalData/config/content.config.ts
  24. 4 4
      src/views/notificationInfoManage/viewHistoricalData/config/search.config.ts
  25. 2 2
      src/views/notificationInfoManage/viewHistoricalData/index.vue

+ 3 - 4
.env.development

@@ -15,10 +15,9 @@ VITE_APP_AES_KY = cgRUqDDXqUiySqib
 VITE_APP_TOKEN =  6617e72a5a7e41eb6c30aa4fa3000022
 
 # 开发接口地址
-VITE_APP_API_URL = "http://106.75.213.212:8080/"
-# # VITE_APP_API_URL = "http://172.33.7.60:8080/"/
-#  VITE_APP_API_URL = "http://libai1024.gnway.cc:80"
-VITE_APP_API_URL = "http://172.33.7.60:7070/"
+# VITE_APP_API_URL = "http://libai1024.gnway.cc"
+VITE_APP_API_URL = "http://gb6785ee.natappfree.cc"
+
 
 # 是否在打包时开启压缩,支持 gzip 和 brotli
 VITE_BUILD_COMPRESS = gzip

+ 2 - 2
src/views/notificationInfoInquiry/administrativePenalty/index.vue

@@ -73,7 +73,7 @@ const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick,
 
 const handleCheck = async (id?: string) => {
 	router.push({
-		path: 'shipRegistrationDetails',
+		path: '/notificationInfoInquiry/administrativePenaltyDetail',
 		query: { type: 'detail' },
 	});
 };
@@ -88,7 +88,7 @@ const onMessageChange = (scope, newVal) => {
 // 通报发布
 const handlePublish = releasedId => {
 	router.push({
-		name: 'publish',
+		path: '/notificationInfoInquiry/publish',
 		query: { type: 'add', releasedId: releasedId },
 	});
 };

+ 2 - 2
src/views/notificationInfoInquiry/publish/index.vue

@@ -31,10 +31,10 @@
 import { ref, onMounted, onBeforeUnmount } from 'vue';
 import { useRoute, useRouter } from 'vue-router';
 import PublishUnitInformation from '../components/publishUnitInformation.vue';
-import QuestionInformation from '../components/questionInformation.vue';
+import QuestionInformation from '../componentsquestionInformation.vue';
 import WaterSafetyInformation from '../components/waterSafetyInformation.vue';
 import OperationLog from '../components/operationLog.vue';
-import { addMyPublishApi, fetchReleaseDetail } from '@/api/notificationInfoInquiry/publish';
+import { addMyPublishApi, fetchReleaseDetail } from '@/api/notificationInfoManage/myPublish';
 // --- 路由与Store ---
 const route = useRoute();
 const router = useRouter();

+ 2 - 2
src/views/notificationInfoInquiry/securityCheck/index.vue

@@ -73,7 +73,7 @@ const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick,
 
 const handleCheck = async (id?: string) => {
 	router.push({
-		path: 'securityCheckDetails',
+		path: '/notificationInfoInquiry/securityCheckDetail',
 		query: { id: id },
 	});
 };
@@ -87,7 +87,7 @@ const onMessageChange = (scope, newVal) => {
 // 通报发布
 const handlePublish = releasedId => {
 	router.push({
-		name: 'publish',
+		path: '/notificationInfoInquiry/publish',
 		query: { type: 'add', releasedId: releasedId },
 	});
 };

+ 0 - 154
src/views/notificationInfoInquiry/securityInformationInquiry/index.vue

@@ -1,154 +0,0 @@
-<template>
-	<div class="sensitive-words">
-			<pageSearch ref="searchTableRef" :searchConfig="searchConfig">
-				<template #messageType="scope">
-					<el-select
-						v-model="scope.value"
-						placeholder="请选择消息类型"
-						@change="(newVal) => onMessageChange(scope, newVal)"
-					>
-						<el-option label="通知" value="notice"></el-option>
-						<el-option label="警告" value="warning"></el-option>
-						<el-option label="错误" value="error"></el-option>
-					</el-select>
-				</template>
-				<template #reportType="scope">
-					<el-select
-						v-model="scope.value"
-						placeholder="请选择通报事项类别"
-						@change="(newVal) => onMessageChange(scope, newVal)"
-					>
-						<el-option label="通知" value="notice"></el-option>
-						<el-option label="警告" value="warning"></el-option>
-						<el-option label="错误" value="error"></el-option>
-					</el-select>
-				</template>
-				<template #reportEvent="scope">
-					<el-select
-						v-model="scope.value"
-						placeholder="请选择通报事项"
-						@change="(newVal) => onMessageChange(scope, newVal)"
-					>
-						<el-option label="通知" value="notice"></el-option>
-						<el-option label="警告" value="warning"></el-option>
-						<el-option label="错误" value="error"></el-option>
-					</el-select>
-				</template>
-			</pageSearch>
-
-			<pageContent ref="tableListRef" :total="total" :contentConfig="contentConfig" :pageList="tableData">
-					<template #button>
-							<el-button type="primary" @click="handleCheck()">导出</el-button>
-					</template>
-					<template #operate="scope">
-							<el-button type="primary" link @click="handleCheck(scope.row.rentalCompanyId)">
-									查看
-							</el-button>
-							<el-button type="primary" link @click="handleDelete(scope.row.rentalCompanyId)">
-									发布通报
-							</el-button>
-							<el-button type="primary" link @click="handleDelete(scope.row.rentalCompanyId)">
-									不予通报
-							</el-button>
-					</template>
-			</pageContent>
-	</div>
-</template>
-
-<script setup lang="ts">
-import { useRouter } from 'vue-router';
-import contentConfig from './config/content.config';
-import pageContent from '@/components/components/pageContent.vue';
-import searchConfig from './config/search.config';
-import pageSearch from '@/components/components/pageSearch.vue';
-import useSystemStore from '@/store/main';
-const systemStore = useSystemStore();
-
-const total = ref(0);
-const pageSize = ref([10, 20, 30]);
-const tableData = ref([]);
-const tableListRef = ref();
-const router = useRouter()
-
-// 操作弹框
-import usePageModal from '@/components/components/hooks/usePageDetails';
-const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick, handlePageDetail } =
-	usePageModal();
-
-const handleCheck = async (id?: string) => {
-	router.push({
-    path: 'inquiryDetails',
-    query: { type: 'detail' }
-  });
-};
-
-const onMessageChange = (scope, newVal) => {
-	scope.onInput(newVal);
-}
-// 新增按钮
-const handleAdd = () => {
-	router.push({
-    path: 'addPublish',
-    query: { type: 'add' }
-  });
-};
-const searchTableRef = ref();
-const onClickDeleta = async (row: any) => {
-	ElMessageBox.confirm('确认删除此条数据吗?', '删除', {
-			confirmButtonText: '确认',
-			cancelButtonText: '取消',
-			type: 'warning',
-	}).then(() => {
-			// 删除后的回调
-	});
-};
-// 删除按钮
-function handleDelete(value: any) {
-	ElMessageBox.confirm('是否删除这条数据?', '删除提示', {
-			confirmButtonText: '确定',
-			cancelButtonText: '取消',
-			type: 'warning',
-	})
-			.then(() => {
-					systemStore.deletePageDataAction(contentConfig.pageName, value);
-			})
-			.catch(() => {
-					ElMessage({
-							type: 'info',
-							message: '取消删除',
-					});
-			});
-}
-
-// 筛选-状态赋值
-async function searchItem() {
-	searchConfig.formItems.forEach(item => {
-			if (item.prop === 'status') {
-					// item.options = searchList.value;
-			}
-	});
-}
-searchItem();
-</script>
-
-<style scoped lang="scss">
-.sensitive-words {
-	margin: 20px;
-	// background-color: #fff;
-}
-
-.status {
-	cursor: pointer;
-	position: relative;
-
-	.status-tip {
-			position: absolute;
-			top: 2px;
-			left: 60px;
-	}
-}
-
-.dialog-tip {
-	text-align: center;
-}
-</style>

+ 2 - 2
src/views/notificationInfoInquiry/shipRegistration/index.vue

@@ -73,7 +73,7 @@ const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick,
 
 const handleCheck = async (id?: string) => {
 	router.push({
-		path: 'shipRegistrationDetails',
+		path: '/notificationInfoInquiry/shipRegistrationDetail',
 		query: { type: 'detail' },
 	});
 };
@@ -87,7 +87,7 @@ const onMessageChange = (scope, newVal) => {
 // 通报发布
 const handlePublish = releasedId => {
 	router.push({
-		name: 'publish',
+		path: '/notificationInfoInquiry/publish',
 		query: { type: 'add', releasedId: releasedId },
 	});
 };

+ 0 - 0
src/views/globalparam/index.vue → src/views/notificationInfoManage/globalparam/index.vue


+ 22 - 31
src/views/notificationInfoManage/noticeInfoInquiry/components/detail.vue

@@ -1,20 +1,30 @@
 <template>
 	<div class="form-page">
 		<div class="page-header">
-			<h2 class="page-title">{{ pageTitle }}</h2>
+			<h2 class="page-title">信息处置管理查看</h2>
 		</div>
 
 		<!-- 发布单位信息 -->
-		<PublishUnitInformation :information="formData" class="mb20" />
+		<PublishUnitInformation :formData="formData" class="mb20" />
 		<!-- 涉事主体基本信息 -->
-		<QuestionInformation ref="shipFormRef" :information="formData" />
+		<QuestionInformation ref="questionInfoRef" :formData="formData" />
 		<!-- 水上交通安全通报信息 -->
-		<WaterSafetyInformation ref="waterSafetyRef" :information="formData" />
-		<OperationLog />
+		<WaterSafetyInformation ref="noticeChildRef" :formData="formData" />
+		<!-- 操作记录 -->
+		<OperationLog :formData="formData?.logVoList" />
 		<!-- 接收单位处置意见 如果需要反馈则隐藏 -->
-		<ReceivingUnitOpinion :information="formData?.names" v-if="formData?.wfirStr != '是'" />
+		<ReceivingUnitOpinion
+			v-if="formData?.wfir !== '1'"
+			:formData="formData?.logVoList[formData?.logVoList.length - 1]"
+		/>
 		<!-- 接收单位处理意见 -->
-		<ReceivingUnitDealOpinion :information="formData?.names" />
+		<ReceivingUnitDealOpinion
+			:formData="formData?.logVoList[formData?.logVoList.length - 1]"
+			ref="dealOpinionRef"
+		/>
+
+		<!-- 违法信息处置完成 TODO -->
+		<DisposalCompleted :formData="formData" />
 		<div class="book flex">
 			<div>水上交通安全相关通报文书:</div>
 			<div class="blue">《水上交通安全信息通报函》</div>
@@ -23,7 +33,7 @@
 		<div class="form-actions">
 			<slot name="btn">
 				<el-button type="primary" @click="handleSubmit">附件材料一键下载</el-button>
-				<el-button type="primary" @click="router.back">返回</el-button>
+				<el-button @click="router.back">返回</el-button>
 			</slot>
 		</div>
 	</div>
@@ -31,13 +41,13 @@
 
 <script setup lang="ts" name="CommonForm">
 import { ref, onMounted, onBeforeUnmount } from 'vue';
-import { useRoute, useRouter } from 'vue-router';
 import PublishUnitInformation from '@/components/notificationDetailsParts/publishUnitInformation.vue';
 import QuestionInformation from '@/components/notificationDetailsParts/questionInformation.vue';
-import ReceivingUnitDealOpinion from './receivingUnitDealOpinion.vue';
 import WaterSafetyInformation from '@/components/notificationDetailsParts/waterSafetyInformation.vue';
-import ReceivingUnitOpinion from './receivingUnitOpinion.vue';
 import OperationLog from '@/components/notificationDetailsParts/operationLog.vue';
+import ReceivingUnitDealOpinion from '@/components/notificationDetailsParts/receivingUnitDealOpinion.vue';
+import ReceivingUnitOpinion from '@/components/notificationDetailsParts/receivingUnitOpinion.vue';
+import DisposalCompleted from '@/components/notificationDetailsParts/disposalCompleted.vue';
 import { getPageDetail } from '@/api/main';
 import contentConfig from '../config/content.config';
 
@@ -57,27 +67,8 @@ onMounted(async () => {
 	if (releasedId) {
 		const response = await getPageDetail(contentConfig.pageName, releasedId);
 		formData.value = response.data;
-	}
-	try {
-		switch (type as string) {
-			case 'add':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 新增发布';
-				isEdit.value = false;
-				break;
-			case 'edit':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 编辑发布';
-				isEdit.value = true;
-				break;
-			case 'detail':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 查看发布';
-				isDetail.value = true;
-				break;
-			default:
-				throw new Error(`无效操作类型: ${type}`);
-		}
-	} catch (error) {
+	} else {
 		handleBack();
-	} finally {
 	}
 });
 

+ 0 - 56
src/views/notificationInfoManage/noticeInfoInquiry/components/receivingUnitDealOpinion.vue

@@ -1,56 +0,0 @@
-<template>
-	<div class="ship-info-form">
-		<el-collapse class="el-collapse" v-model="activeNames">
-			<el-collapse-item name="1">
-				<template #title="{ isActive }">
-					<div class="collapse-title">接收单位处理意见</div>
-				</template>
-				<div class="content">
-					<div>处置措施类型:处置</div>
-					<div>采取措施:其他</div>
-					<div>其他措施说明:船东已整改</div>
-					<div>信息处理人员:陈</div>
-					<div>信息处理时间:2025-10-1</div>
-					<div>信息处理接收单位:柳州船舶检验中心</div>
-					<div>附件查看:xxx.doc</div>
-					<div>接收流转单位:单位1</div>
-				</div>
-			</el-collapse-item>
-		</el-collapse>
-	</div>
-</template>
-
-<script setup lang="ts">
-interface IProps {
-	information: any;
-}
-const prop = withDefaults(defineProps<IProps>(), {
-	information: {},
-});
-const activeNames = ref(['1']);
-</script>
-
-<style scoped>
-.ship-info-form {
-	background: #fff;
-	border-radius: 8px;
-	padding: 20px;
-	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
-}
-:deep .el-collapse-item__header {
-	color: #5070ae;
-	font-size: 16px;
-	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
-	box-shadow: 0 8px 20px #fcfeff;
-	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
-	padding-left: 20px;
-}
-
-:deep .el-collapse-item__wrap {
-	padding: 20px;
-}
-
-.content {
-	font-size: 14px;
-}
-</style>

+ 0 - 52
src/views/notificationInfoManage/noticeInfoInquiry/components/receivingUnitOpinion.vue

@@ -1,52 +0,0 @@
-<template>
-	<div class="ship-info-form">
-		<el-collapse class="el-collapse" v-model="activeNames">
-			<el-collapse-item name="1">
-				<template #title="{ isActive }">
-					<div class="collapse-title">接收单位处置意见</div>
-				</template>
-				<div class="content">
-					<div>处置措施类型:接收</div>
-					<div>信息处置人员:陈海东</div>
-					<div>信息处置时间:2025-04-02</div>
-					<div>信息处置接收单位:柳州船舶检验中心</div>
-				</div>
-			</el-collapse-item>
-		</el-collapse>
-	</div>
-</template>
-
-<script setup lang="ts">
-interface IProps {
-	information: any;
-}
-const prop = withDefaults(defineProps<IProps>(), {
-	information: {},
-});
-const activeNames = ref(['1']);
-</script>
-
-<style scoped>
-.ship-info-form {
-	background: #fff;
-	border-radius: 8px;
-	padding: 20px;
-	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
-}
-:deep .el-collapse-item__header {
-	color: #5070ae;
-	font-size: 16px;
-	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
-	box-shadow: 0 8px 20px #fcfeff;
-	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
-	padding-left: 20px;
-}
-
-:deep .el-collapse-item__wrap {
-	padding: 20px;
-}
-
-.content {
-	font-size: 14px;
-}
-</style>

+ 2 - 2
src/views/notificationInfoManage/noticeInfoInquiry/config/content.config.ts

@@ -12,11 +12,11 @@ const contentConfig = {
 		{ type: 'normal', label: '通报事项', prop: 'notificationMatters' },
 		{ type: 'normal', label: '接收单位', prop: 'receivingUnit', width: 220 },
 		{ type: 'normal', label: '整体通报状态', prop: 'releaseStatusStr', width: 220 },
-		{ type: 'normal', label: '采取措施', prop: 'TODO', width: 220 },
+		{ type: 'normal', label: '采取措施', prop: 'takeMeasuresStr', width: 220 },
 		{ type: 'normal', label: '是否需要反馈', prop: 'wfirStr', width: 220 },
 		{ type: 'normal', label: '发布日期', prop: 'releasedDate', width: 140 },
 		{ type: 'normal', label: '受理日期', prop: 'acceptanceDate', width: 140 },
-		{ type: 'normal', label: '发布人员', prop: 'TODO', width: 140 },
+		{ type: 'normal', label: '发布人员', prop: 'publishers', width: 140 },
 		{ type: 'handler', label: '操作', slotName: 'operate', width: 180, fixed: 'right' },
 	],
 };

+ 3 - 3
src/views/notificationInfoManage/noticeInfoInquiry/config/search.config.ts

@@ -55,7 +55,7 @@ const searchConfig = {
 			label: '通报状态',
 			prop: 'notificationStatus',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择通报状态',
@@ -64,7 +64,7 @@ const searchConfig = {
 			label: '采取措施',
 			prop: 'takeMeasures',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择采取措施',
@@ -73,7 +73,7 @@ const searchConfig = {
 			label: '超期状态',
 			prop: 'overdueStatus',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择超期状态',

+ 1 - 1
src/views/notificationInfoManage/noticeInfoInquiry/index.vue

@@ -45,7 +45,7 @@ const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick,
 
 const handleDetails = async (releasedId: string) => {
 	router.push({
-		name: 'noticeInfoInquiryDetail',
+		path: '/notificationInfoManage/noticeInfoInquiryDetail',
 		query: { type: 'detail', releasedId: releasedId },
 	});
 };

+ 19 - 27
src/views/notificationInfoManage/superiorLeadersReview/components/detail.vue

@@ -1,7 +1,7 @@
 <template>
 	<div class="form-page">
 		<div class="page-header">
-			<h2 class="page-title">{{ pageTitle }}</h2>
+			<h2 class="page-title">信息处置管理查看</h2>
 		</div>
 
 		<!-- 发布单位信息 -->
@@ -10,11 +10,21 @@
 		<QuestionInformation ref="shipFormRef" :information="formData" />
 		<!-- 水上交通安全通报信息 -->
 		<WaterSafetyInformation ref="waterSafetyRef" :information="formData" />
-		<OperationLog />
+		<!-- 操作记录 -->
+		<OperationLog :formData="formData?.logVoList" />
 		<!-- 接收单位处置意见 如果需要反馈则隐藏 -->
-		<ReceivingUnitOpinion :information="formData?.names" v-if="formData?.wfirStr != '是'" />
+		<ReceivingUnitOpinion
+			v-if="formData?.wfir !== '1'"
+			:formData="formData?.logVoList[formData?.logVoList.length - 1]"
+		/>
 		<!-- 接收单位处理意见 -->
-		<ReceivingUnitDealOpinion :information="formData?.names" />
+		<ReceivingUnitDealOpinion
+			:formData="formData?.logVoList[formData?.logVoList.length - 1]"
+			ref="dealOpinionRef"
+		/>
+
+		<!-- 违法信息处置完成 TODO -->
+		<DisposalCompleted :formData="formData" />
 		<div class="book flex">
 			<div>水上交通安全相关通报文书:</div>
 			<div class="blue">《水上交通安全信息通报函》</div>
@@ -23,7 +33,7 @@
 		<div class="form-actions">
 			<slot name="btn">
 				<el-button type="primary" @click="handleSubmit">附件材料一键下载</el-button>
-				<el-button type="primary" @click="router.back">返回</el-button>
+				<el-button @click="router.back">返回</el-button>
 			</slot>
 		</div>
 	</div>
@@ -34,10 +44,11 @@ import { ref, onMounted, onBeforeUnmount } from 'vue';
 import { useRoute, useRouter } from 'vue-router';
 import PublishUnitInformation from '@/components/notificationDetailsParts/publishUnitInformation.vue';
 import QuestionInformation from '@/components/notificationDetailsParts/questionInformation.vue';
-import ReceivingUnitDealOpinion from './receivingUnitDealOpinion.vue';
 import WaterSafetyInformation from '@/components/notificationDetailsParts/waterSafetyInformation.vue';
-import ReceivingUnitOpinion from './receivingUnitOpinion.vue';
 import OperationLog from '@/components/notificationDetailsParts/operationLog.vue';
+import ReceivingUnitDealOpinion from '@/components/notificationDetailsParts/receivingUnitDealOpinion.vue';
+import ReceivingUnitOpinion from '@/components/notificationDetailsParts/receivingUnitOpinion.vue';
+import DisposalCompleted from '@/components/notificationDetailsParts/disposalCompleted.vue';
 import { getPageDetail } from '@/api/main';
 import contentConfig from '../config/content.config';
 
@@ -57,27 +68,8 @@ onMounted(async () => {
 	if (releasedId) {
 		const response = await getPageDetail(contentConfig.pageName, releasedId);
 		formData.value = response.data;
-	}
-	try {
-		switch (type as string) {
-			case 'add':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 新增发布';
-				isEdit.value = false;
-				break;
-			case 'edit':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 编辑发布';
-				isEdit.value = true;
-				break;
-			case 'detail':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 查看发布';
-				isDetail.value = true;
-				break;
-			default:
-				throw new Error(`无效操作类型: ${type}`);
-		}
-	} catch (error) {
+	} else {
 		handleBack();
-	} finally {
 	}
 });
 

+ 0 - 56
src/views/notificationInfoManage/superiorLeadersReview/components/receivingUnitDealOpinion.vue

@@ -1,56 +0,0 @@
-<template>
-	<div class="ship-info-form">
-		<el-collapse class="el-collapse" v-model="activeNames">
-			<el-collapse-item name="1">
-				<template #title="{ isActive }">
-					<div class="collapse-title">接收单位处理意见</div>
-				</template>
-				<div class="content">
-					<div>处置措施类型:处置</div>
-					<div>采取措施:其他</div>
-					<div>其他措施说明:船东已整改</div>
-					<div>信息处理人员:陈</div>
-					<div>信息处理时间:2025-10-1</div>
-					<div>信息处理接收单位:柳州船舶检验中心</div>
-					<div>附件查看:xxx.doc</div>
-					<div>接收流转单位:单位1</div>
-				</div>
-			</el-collapse-item>
-		</el-collapse>
-	</div>
-</template>
-
-<script setup lang="ts">
-interface IProps {
-	information: any;
-}
-const prop = withDefaults(defineProps<IProps>(), {
-	information: {},
-});
-const activeNames = ref(['1']);
-</script>
-
-<style scoped>
-.ship-info-form {
-	background: #fff;
-	border-radius: 8px;
-	padding: 20px;
-	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
-}
-:deep .el-collapse-item__header {
-	color: #5070ae;
-	font-size: 16px;
-	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
-	box-shadow: 0 8px 20px #fcfeff;
-	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
-	padding-left: 20px;
-}
-
-:deep .el-collapse-item__wrap {
-	padding: 20px;
-}
-
-.content {
-	font-size: 14px;
-}
-</style>

+ 0 - 52
src/views/notificationInfoManage/superiorLeadersReview/components/receivingUnitOpinion.vue

@@ -1,52 +0,0 @@
-<template>
-	<div class="ship-info-form">
-		<el-collapse class="el-collapse" v-model="activeNames">
-			<el-collapse-item name="1">
-				<template #title="{ isActive }">
-					<div class="collapse-title">接收单位处置意见</div>
-				</template>
-				<div class="content">
-					<div>处置措施类型:接收</div>
-					<div>信息处置人员:陈海东</div>
-					<div>信息处置时间:2025-04-02</div>
-					<div>信息处置接收单位:柳州船舶检验中心</div>
-				</div>
-			</el-collapse-item>
-		</el-collapse>
-	</div>
-</template>
-
-<script setup lang="ts">
-interface IProps {
-	information: any;
-}
-const prop = withDefaults(defineProps<IProps>(), {
-	information: {},
-});
-const activeNames = ref(['1']);
-</script>
-
-<style scoped>
-.ship-info-form {
-	background: #fff;
-	border-radius: 8px;
-	padding: 20px;
-	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
-}
-:deep .el-collapse-item__header {
-	color: #5070ae;
-	font-size: 16px;
-	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
-	box-shadow: 0 8px 20px #fcfeff;
-	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
-	padding-left: 20px;
-}
-
-:deep .el-collapse-item__wrap {
-	padding: 20px;
-}
-
-.content {
-	font-size: 14px;
-}
-</style>

+ 1 - 1
src/views/notificationInfoManage/superiorLeadersReview/config/content.config.ts

@@ -14,7 +14,7 @@ const contentConfig = {
 		{ type: 'normal', label: '整体通报状态', prop: 'releaseStatusStr', width: 220 },
 		{ type: 'normal', label: '是否需要反馈', prop: 'wfirStr', width: 220 },
 		{ type: 'normal', label: '发布日期', prop: 'releasedDate', width: 140 },
-		{ type: 'normal', label: '发布人员', prop: 'TODO', width: 140 },
+		{ type: 'normal', label: '发布人员', prop: 'publishers', width: 140 },
 		{ type: 'handler', label: '操作', slotName: 'operate', width: 180, fixed: 'right' },
 	],
 };

+ 4 - 4
src/views/notificationInfoManage/superiorLeadersReview/config/search.config.ts

@@ -55,7 +55,7 @@ const searchConfig = {
 			label: '通报状态',
 			prop: 'notificationStatus',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择通报状态',
@@ -64,7 +64,7 @@ const searchConfig = {
 			label: '采取措施',
 			prop: 'takeMeasures',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择采取措施',
@@ -73,7 +73,7 @@ const searchConfig = {
 			label: '超期状态',
 			prop: 'overdueStatus',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择超期状态',
@@ -103,7 +103,7 @@ const searchConfig = {
 			label: '是否需要反馈',
 			prop: 'wfir',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择是否需要反馈',

+ 1 - 1
src/views/notificationInfoManage/superiorLeadersReview/index.vue

@@ -46,7 +46,7 @@ const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick,
 
 const handleDetails = async (releasedId: string) => {
 	router.push({
-		name: 'superiorLeadersReviewDetail',
+		path: '/notificationInfoManage/superiorLeadersReviewDetail',
 		query: { type: 'detail', releasedId: releasedId },
 	});
 };

+ 19 - 29
src/views/notificationInfoManage/viewHistoricalData/components/detail.vue

@@ -1,7 +1,7 @@
 <template>
 	<div class="form-page">
 		<div class="page-header">
-			<h2 class="page-title">{{ pageTitle }}</h2>
+			<h2 class="page-title">信息处置管理查看</h2>
 		</div>
 
 		<!-- 发布单位信息 -->
@@ -10,12 +10,21 @@
 		<QuestionInformation ref="shipFormRef" :information="formData" />
 		<!-- 水上交通安全通报信息 -->
 		<WaterSafetyInformation ref="waterSafetyRef" :information="formData" />
-		<OperationLog />
+		<!-- 操作记录 -->
+		<OperationLog :formData="formData?.logVoList" />
 		<!-- 接收单位处置意见 如果需要反馈则隐藏 -->
-		<ReceivingUnitOpinion :information="formData?.names" v-if="formData?.wfirStr != '是'" />
+		<ReceivingUnitOpinion
+			v-if="formData?.wfir !== '1'"
+			:formData="formData?.logVoList[formData?.logVoList.length - 1]"
+		/>
 		<!-- 接收单位处理意见 -->
-		<ReceivingUnitDealOpinion :information="formData?.names" />
-		<!-- 违法信息处置完成 -->
+		<ReceivingUnitDealOpinion
+			:formData="formData?.logVoList[formData?.logVoList.length - 1]"
+			ref="dealOpinionRef"
+		/>
+
+		<!-- 违法信息处置完成 TODO -->
+		<DisposalCompleted :formData="formData" />
 		<div class="book flex">
 			<div>水上交通安全相关通报文书:</div>
 			<div class="blue">《水上交通安全信息通报函》</div>
@@ -24,7 +33,7 @@
 		<div class="form-actions">
 			<slot name="btn">
 				<el-button type="primary" @click="handleSubmit">附件材料一键下载</el-button>
-				<el-button type="primary" @click="router.back">返回</el-button>
+				<el-button @click="router.back">返回</el-button>
 			</slot>
 		</div>
 	</div>
@@ -35,10 +44,11 @@ import { ref, onMounted, onBeforeUnmount } from 'vue';
 import { useRoute, useRouter } from 'vue-router';
 import PublishUnitInformation from '@/components/notificationDetailsParts/publishUnitInformation.vue';
 import QuestionInformation from '@/components/notificationDetailsParts/questionInformation.vue';
-import ReceivingUnitDealOpinion from './receivingUnitDealOpinion.vue';
 import WaterSafetyInformation from '@/components/notificationDetailsParts/waterSafetyInformation.vue';
-import ReceivingUnitOpinion from './receivingUnitOpinion.vue';
 import OperationLog from '@/components/notificationDetailsParts/operationLog.vue';
+import ReceivingUnitDealOpinion from '@/components/notificationDetailsParts/receivingUnitDealOpinion.vue';
+import ReceivingUnitOpinion from '@/components/notificationDetailsParts/receivingUnitOpinion.vue';
+import DisposalCompleted from '@/components/notificationDetailsParts/disposalCompleted.vue';
 import { getPageDetail } from '@/api/main';
 import contentConfig from '../config/content.config';
 
@@ -58,28 +68,8 @@ onMounted(async () => {
 	if (releasedId) {
 		const response = await getPageDetail(contentConfig.pageName, releasedId);
 		formData.value = response.data;
-	}
-
-	try {
-		switch (type as string) {
-			case 'add':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 新增发布';
-				isEdit.value = false;
-				break;
-			case 'edit':
-				pageTitle.value = '水上交通安全信息发布与处置完成管理 编辑发布';
-				isEdit.value = true;
-				break;
-			case 'detail':
-				pageTitle.value = '信息处置管理查看';
-				isDetail.value = true;
-				break;
-			default:
-				throw new Error(`无效操作类型: ${type}`);
-		}
-	} catch (error) {
+	} else {
 		handleBack();
-	} finally {
 	}
 });
 

+ 0 - 56
src/views/notificationInfoManage/viewHistoricalData/components/receivingUnitDealOpinion.vue

@@ -1,56 +0,0 @@
-<template>
-	<div class="ship-info-form">
-		<el-collapse class="el-collapse" v-model="activeNames">
-			<el-collapse-item name="1">
-				<template #title="{ isActive }">
-					<div class="collapse-title">接收单位处理意见</div>
-				</template>
-				<div class="content">
-					<div>处置措施类型:处置</div>
-					<div>采取措施:其他</div>
-					<div>其他措施说明:船东已整改</div>
-					<div>信息处理人员:陈</div>
-					<div>信息处理时间:2025-10-1</div>
-					<div>信息处理接收单位:柳州船舶检验中心</div>
-					<div>附件查看:xxx.doc</div>
-					<div>接收流转单位:单位1</div>
-				</div>
-			</el-collapse-item>
-		</el-collapse>
-	</div>
-</template>
-
-<script setup lang="ts">
-interface IProps {
-	information: any;
-}
-const prop = withDefaults(defineProps<IProps>(), {
-	information: {},
-});
-const activeNames = ref(['1']);
-</script>
-
-<style scoped>
-.ship-info-form {
-	background: #fff;
-	border-radius: 8px;
-	padding: 20px;
-	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
-}
-:deep .el-collapse-item__header {
-	color: #5070ae;
-	font-size: 16px;
-	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
-	box-shadow: 0 8px 20px #fcfeff;
-	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
-	padding-left: 20px;
-}
-
-:deep .el-collapse-item__wrap {
-	padding: 20px;
-}
-
-.content {
-	font-size: 14px;
-}
-</style>

+ 0 - 52
src/views/notificationInfoManage/viewHistoricalData/components/receivingUnitOpinion.vue

@@ -1,52 +0,0 @@
-<template>
-	<div class="ship-info-form">
-		<el-collapse class="el-collapse" v-model="activeNames">
-			<el-collapse-item name="1">
-				<template #title="{ isActive }">
-					<div class="collapse-title">接收单位处置意见</div>
-				</template>
-				<div class="content">
-					<div>处置措施类型:接收</div>
-					<div>信息处置人员:陈海东</div>
-					<div>信息处置时间:2025-04-02</div>
-					<div>信息处置接收单位:柳州船舶检验中心</div>
-				</div>
-			</el-collapse-item>
-		</el-collapse>
-	</div>
-</template>
-
-<script setup lang="ts">
-interface IProps {
-	information: any;
-}
-const prop = withDefaults(defineProps<IProps>(), {
-	information: {},
-});
-const activeNames = ref(['1']);
-</script>
-
-<style scoped>
-.ship-info-form {
-	background: #fff;
-	border-radius: 8px;
-	padding: 20px;
-	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
-}
-:deep .el-collapse-item__header {
-	color: #5070ae;
-	font-size: 16px;
-	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
-	box-shadow: 0 8px 20px #fcfeff;
-	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
-	padding-left: 20px;
-}
-
-:deep .el-collapse-item__wrap {
-	padding: 20px;
-}
-
-.content {
-	font-size: 14px;
-}
-</style>

+ 4 - 4
src/views/notificationInfoManage/viewHistoricalData/config/content.config.ts

@@ -12,14 +12,14 @@ const contentConfig = {
 		{ type: 'normal', label: '通报事项', prop: 'notificationMatters' },
 		{ type: 'normal', label: '接收单位', prop: 'receivingUnit', width: 220 },
 		{ type: 'normal', label: '联络人电话', prop: 'callSign', width: 220 },
-		{ type: 'normal', label: '通报状态', prop: 'TODO', width: 220 },
-		{ type: 'normal', label: '超期状态', prop: 'TODO', width: 220 },
+		{ type: 'normal', label: '通报状态', prop: 'notificationStatusStr', width: 220 },
+		{ type: 'normal', label: '超期状态', prop: 'overdueStatusStr', width: 220 },
 		{ type: 'normal', label: '整体通报状态', prop: 'releaseStatusStr', width: 220 },
-		{ type: 'normal', label: '采取措施', prop: 'TODO', width: 220 },
+		{ type: 'normal', label: '采取措施', prop: 'takeMeasuresStr', width: 220 },
 		{ type: 'normal', label: '是否需要反馈', prop: 'wfirStr', width: 220 },
 		{ type: 'normal', label: '发布日期', prop: 'releasedDate', width: 140 },
 		{ type: 'normal', label: '受理日期', prop: 'acceptanceDate', width: 140 },
-		{ type: 'normal', label: '发布人员', prop: 'TODO', width: 140 },
+		{ type: 'normal', label: '发布人员', prop: 'publishers', width: 140 },
 		{ type: 'handler', label: '操作', slotName: 'operate', width: 180, fixed: 'right' },
 	],
 };

+ 4 - 4
src/views/notificationInfoManage/viewHistoricalData/config/search.config.ts

@@ -55,7 +55,7 @@ const searchConfig = {
 			label: '通报状态',
 			prop: 'notificationStatus',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择通报状态',
@@ -64,7 +64,7 @@ const searchConfig = {
 			label: '采取措施',
 			prop: 'takeMeasures',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择采取措施',
@@ -73,7 +73,7 @@ const searchConfig = {
 			label: '超期状态',
 			prop: 'overdueStatus',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择超期状态',
@@ -103,7 +103,7 @@ const searchConfig = {
 			label: '是否需要反馈',
 			prop: 'wfir',
 			type: 'select',
-			multiple: true,
+			multiple: false,
 			options: [] as OptionsType[],
 			span: 6,
 			placeholder: '请选择是否需要反馈',

+ 2 - 2
src/views/notificationInfoManage/viewHistoricalData/index.vue

@@ -51,7 +51,7 @@ const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick,
 
 const handleDetails = async (releasedId: string) => {
 	router.push({
-		name: 'viewHistoricalDataDetail',
+		path: '/notificationInfoManage/viewHistoricalDataDetail',
 		query: { type: 'detail', releasedId: releasedId },
 	});
 };
@@ -70,7 +70,7 @@ async function searchItem() {
 		if (item.prop === 'notificationType') {
 			item.options = bj_notification_type;
 		}
-		if (item.prop === 'notificationType') {
+		if (item.prop === 'conm') {
 			item.options = categoryOnm;
 		}
 		if (item.prop === 'publishingUnit') {