浏览代码

1、通报信息管理和通报信息查询前端路由重组整理。2、船舶登记通报信息查询静态页面搭建

Liuzhenyu 15 小时之前
父节点
当前提交
0202edb484
共有 34 个文件被更改,包括 674 次插入45 次删除
  1. 1 1
      src/permission.ts
  2. 33 41
      src/router/index.ts
  3. 0 0
      src/views/myPublish/config/btnsTypes.ts
  4. 0 0
      src/views/notificationInfoInquiry/securityInformationInquiry/components/detail.vue
  5. 0 0
      src/views/notificationInfoInquiry/securityInformationInquiry/config/content.config.ts
  6. 0 0
      src/views/notificationInfoInquiry/securityInformationInquiry/config/detail.config.ts
  7. 0 0
      src/views/notificationInfoInquiry/securityInformationInquiry/config/search.config.ts
  8. 1 1
      src/views/notificationInfoInquiry/securityInformationInquiry/index.vue
  9. 127 0
      src/views/notificationInfoInquiry/shipRegistration/components/basicInformationOfVessel.vue
  10. 124 0
      src/views/notificationInfoInquiry/shipRegistration/components/detail.vue
  11. 40 0
      src/views/notificationInfoInquiry/shipRegistration/components/shipCancelInfo.vue
  12. 24 0
      src/views/notificationInfoInquiry/shipRegistration/config/content.config.ts
  13. 74 0
      src/views/notificationInfoInquiry/shipRegistration/config/detail.config.ts
  14. 89 0
      src/views/notificationInfoInquiry/shipRegistration/config/search.config.ts
  15. 154 0
      src/views/notificationInfoInquiry/shipRegistration/index.vue
  16. 0 0
      src/views/notificationInfoManage/addressBook/components/detail.vue
  17. 0 0
      src/views/notificationInfoManage/addressBook/components/treeSelect.vue
  18. 0 0
      src/views/notificationInfoManage/addressBook/config/content.config.ts
  19. 0 0
      src/views/notificationInfoManage/addressBook/config/content.nonIndustry.config.ts
  20. 0 0
      src/views/notificationInfoManage/addressBook/config/detail.config.ts
  21. 0 0
      src/views/notificationInfoManage/addressBook/config/detail.nonIndustry.config.ts
  22. 0 0
      src/views/notificationInfoManage/addressBook/config/search.config.ts
  23. 0 0
      src/views/notificationInfoManage/addressBook/config/search.nonIndustry.config.ts
  24. 0 0
      src/views/notificationInfoManage/addressBook/index.vue
  25. 0 0
      src/views/notificationInfoManage/myPublish/components/detail.vue
  26. 0 0
      src/views/notificationInfoManage/myPublish/config/content.config.ts
  27. 0 0
      src/views/notificationInfoManage/myPublish/config/detail.config.ts
  28. 1 1
      src/views/notificationInfoManage/myPublish/config/search.config.ts
  29. 6 1
      src/views/notificationInfoManage/myPublish/index.vue
  30. 0 0
      src/views/notificationInfoManage/notificationListManage/components/detail.vue
  31. 0 0
      src/views/notificationInfoManage/notificationListManage/config/content.config.ts
  32. 0 0
      src/views/notificationInfoManage/notificationListManage/config/detail.config.ts
  33. 0 0
      src/views/notificationInfoManage/notificationListManage/config/search.config.ts
  34. 0 0
      src/views/notificationInfoManage/notificationListManage/index.vue

+ 1 - 1
src/permission.ts

@@ -68,7 +68,7 @@ router.beforeEach((to, from, next) => {
 	} else {
 		// TODO 暂时使用 待联调登陆的时候删除
 		setToken(
-			'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJacWFFWklRM0F4VVpnd1ViZXVwSmJCRkl6eU1iNWNLVyIsImNsaWVudGlkIjoiZTVjZDdlNDg5MWJmOTVkMWQxOTIwNmNlMjRhN2IzMmUiLCJ0ZW5hbnRJZCI6IjAwMDAwMCIsInVzZXJJZCI6MSwidXNlck5hbWUiOiJhZG1pbiIsImRlcHRJZCI6MTAzLCJkZXB0TmFtZSI6IueglOWPkemDqOmXqCIsImRlcHRDYXRlZ29yeSI6IiJ9.vZ3y_PsBzYsdCCc-uc9N4zJSeCkk_owmUT-gbrtgluE'
+			'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJEZDdhT3JWSkxOWHBjUXFmWXVqQjRLWWlmaVJ0ZGJ5cSIsImNsaWVudGlkIjoiZTVjZDdlNDg5MWJmOTVkMWQxOTIwNmNlMjRhN2IzMmUiLCJ0ZW5hbnRJZCI6IjAwMDAwMCIsInVzZXJJZCI6MSwidXNlck5hbWUiOiJhZG1pbiIsImRlcHRJZCI6MTAzLCJkZXB0TmFtZSI6IueglOWPkemDqOmXqCIsImRlcHRDYXRlZ29yeSI6IiJ9.ewmlCaJqd6bzIeFCUX7ebOfDilhC0Qd6fRQjembIpoQ'
 		);
 		next();
 		// 没有token

+ 33 - 41
src/router/index.ts

@@ -102,61 +102,38 @@ export const constantRoutes: RouteRecordRaw[] = [
 		],
 	},
 	// TODO 临时路由建立,仅供静态页面搭建使用
+	// 通报信息管理
 	{
-		path: '/illegalInformation',
+		path: '/notificationInfoManage',
 		component: Layout,
 		children: [
 			{
-				path: 'address',
-				component: () => import('@/views/addressBook/index.vue'),
-				name: 'address',
-				meta: { title: '违法信息通报通讯录', icon: 'user' },
+				path: 'addressBook',
+				component: () => import('@/views/notificationInfoManage/addressBook/index.vue'),
+				name: 'addressBook',
+				meta: { title: '通报联络员管理', icon: 'user' },
 			},
-		],
-	},
-	{
-		path: '/matters',
-		component: Layout,
-		children: [
 			{
-				path: 'notification',
-				component: () => import('@/views/notificationListManage/index.vue'),
-				name: 'notification',
-				meta: { title: '违法信息通报事项清单管理', icon: 'user' },
+				path: 'notificationList',
+				component: () => import('@/views/notificationInfoManage/notificationListManage/index.vue'),
+				name: 'notificationList',
+				meta: { title: '通报事项清单管理', icon: 'user' },
 			},
-		],
-	},
-	{
-		path: '/myPublish',
-		component: Layout,
-		children: [
 			{
-				path: 'publish',
-				component: () => import('@/views/myPublish/index.vue'),
-				name: 'publish',
+				path: 'myPublish',
+				component: () => import('@/views/notificationInfoManage/myPublish/index.vue'),
+				name: 'myPublish',
 				meta: { title: '我要发布', icon: 'user' },
 			},
-
 			{
 				path: 'addPublish',
-				component: () => import('@/views/myPublish/components/detail.vue'),
+				component: () => import('@/views/notificationInfoManage/myPublish/components/detail.vue'),
 				name: 'addPublish',
 				meta: { title: '新增发布', icon: 'user' },
 			},
 		],
 	},
-	{
-		path: '/notificationListManage',
-		component: Layout,
-		children: [
-			{
-				path: 'notificationList',
-				component: () => import('@/views/InformationDisposalManage/index.vue'),
-				name: 'notificationList',
-				meta: { title: '我的接收处置', icon: 'user' },
-			},
-		],
-	},
+	// 超时提醒
 	{
 		path: '/globalparam',
 		component: Layout,
@@ -169,22 +146,35 @@ export const constantRoutes: RouteRecordRaw[] = [
 			},
 		],
 	},
+	// 通报信息查询
 	{
-		path: '/securityInformationInquiry',
+		path: '/notificationInfoInquiry',
 		component: Layout,
 		children: [
 			{
 				path: 'inquiry',
-				component: () => import('@/views/securityInformationInquiry/index.vue'),
+				component: () => import('@/views/notificationInfoInquiry/securityInformationInquiry/index.vue'),
 				name: 'inquiry',
 				meta: { title: '安全检查通报信息查询', icon: 'user' },
 			},
 			{
 				path: 'inquiryDetails',
-				component: () => import('@/views/securityInformationInquiry/components/detail.vue'),
+				component: () => import('@/views/notificationInfoInquiry/securityInformationInquiry/components/detail.vue'),
 				name: 'inquiryDetails',
 				meta: { title: '查看通报信息', icon: 'user' },
 			},
+			{
+				path: 'shipRegistration',
+				component: () => import('@/views/notificationInfoInquiry/shipRegistration/index.vue'),
+				name: 'shipRegistration',
+				meta: { title: '船舶登记通报信息查询', icon: 'user' },
+			},
+			{
+				path: 'shipRegistrationDetails',
+				component: () => import('@/views/notificationInfoInquiry/shipRegistration/components/detail.vue'),
+				name: 'shipRegistrationDetails',
+				meta: { title: '查看船舶登记通报信息', icon: 'user' },
+			},
 		],
 	},
 ];
@@ -276,4 +266,6 @@ const router = createRouter({
 	},
 });
 
+console.log(router.getRoutes()); 
+
 export default router;

+ 0 - 0
src/views/myPublish/config/btnsTypes.ts


+ 0 - 0
src/views/securityInformationInquiry/components/detail.vue → src/views/notificationInfoInquiry/securityInformationInquiry/components/detail.vue


+ 0 - 0
src/views/securityInformationInquiry/config/content.config.ts → src/views/notificationInfoInquiry/securityInformationInquiry/config/content.config.ts


+ 0 - 0
src/views/securityInformationInquiry/config/detail.config.ts → src/views/notificationInfoInquiry/securityInformationInquiry/config/detail.config.ts


+ 0 - 0
src/views/securityInformationInquiry/config/search.config.ts → src/views/notificationInfoInquiry/securityInformationInquiry/config/search.config.ts


+ 1 - 1
src/views/securityInformationInquiry/index.vue → src/views/notificationInfoInquiry/securityInformationInquiry/index.vue

@@ -77,7 +77,7 @@ const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick,
 
 const handleCheck = async (id?: string) => {
 	router.push({
-    name: 'inquiryDetails',
+    path: 'inquiryDetails',
     query: { type: 'detail' }
   });
 };

+ 127 - 0
src/views/notificationInfoInquiry/shipRegistration/components/basicInformationOfVessel.vue

@@ -0,0 +1,127 @@
+<template>
+  <div class="ship-info-form">
+    <el-collapse v-model="activeNames">
+      <el-collapse-item name="1">
+        <template #title="{ isActive }">
+          <div class="collapse-title">
+            船舶基本信息
+          </div>
+        </template>
+        <el-form
+          ref="ruleFormRef"
+          :model="formData"
+          label-width="150px"
+          size="default"
+          class="form-container mt20"
+        >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="船舶识别号"><div>CS20250719</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="中文船名"><div>{{ formData.chineseName }}</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="英文船名"><div>YUE SAN SH HUO</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="初次登记号"><div>YUE SAN SH HUO</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="船舶种类"><div>无</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="船籍港"><div>广州</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="船舶所有人"><div>无</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="船舶所有人联系方式"><div>15817883344</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="船舶状态"><div>已注销</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="注销内容"><div>所有权 国籍</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="英文注销内容"><div>OWNERSHIP NATION</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="不注销内容"><div>-</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="注销原因"><div>交易至国内</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="注销原因详情内容"><div>郭患平卖船给徐铭</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="注销原因详情内容"><div>船东申报船舶的值为人民币580万</div></el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="受理人"><div>李玉成</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="初审人"><div>李玉成</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="复审人"><div>李玉成</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="审批人"><div>李玉成</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="受理日期"><div>2025-08-14</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="初审日期"><div>2025-08-14</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="复审日期"><div>2025-08-14</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="操作人员"><div>李雪花</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="操作时间"><div>2025.10.1</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="证书编号"><div>2424132</div></el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="证书号码"><div>2049395385</div></el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </el-collapse-item>
+    </el-collapse>
+  </div>
+</template>
+
+<script setup lang="ts">
+  const activeNames = ref(['1']);
+  const formData = reactive({
+    chineseName: '测试'
+  })
+</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;
+  size: 24px;
+  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;
+}
+</style>

+ 124 - 0
src/views/notificationInfoInquiry/shipRegistration/components/detail.vue

@@ -0,0 +1,124 @@
+<template>
+	<div class="form-page">
+		<div class="page-header">
+			<h2 class="page-title">{{ pageTitle }}</h2>
+		</div>
+
+		<!-- 船舶基本信息 -->
+		<BasicInformationOfVessel class="mb20" />
+		<!-- 船舶注销信息 -->
+		<ShipCancelInfo />
+		<!-- 底部按钮区 -->
+		<div class="form-actions">
+			<slot name="btn">
+				<el-button type="primary" @click="handleSubmit">发布通报</el-button>
+				<el-button type="primary" @click="router.back">返回</el-button>
+			</slot>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="CommonForm">
+import { ref, onMounted, onBeforeUnmount } from 'vue';
+import { useRoute, useRouter } from 'vue-router';
+import BasicInformationOfVessel from './basicInformationOfVessel.vue';
+import ShipCancelInfo from './shipCancelInfo.vue';
+
+// --- 路由与Store ---
+const route = useRoute();
+const router = useRouter();
+
+const pageTitle = ref(''); // 页面标题
+const isDetail = ref(false); // 是否为详情模式
+const isEdit = ref(false); // 是否为编辑模式
+const noticeChildRef = ref<any>();
+
+onMounted(async () => {
+	const { type, id } = route.query;
+	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) {
+		handleBack();
+	} finally {}
+});
+
+const handleBack = () => {
+	router.go(-1);
+};
+
+onBeforeUnmount(() => {
+	isDetail.value = false;
+	isEdit.value = false;
+});
+
+const handleSubmit = async () => {
+  // 调用子组件的校验方法
+  const isValid = await noticeChildRef.value.validateForm();
+  
+  if (isValid) {
+    console.log('校验通过,执行提交逻辑');
+  } else {
+    console.log('校验失败,请检查表单');
+  }
+};
+</script>
+
+<style scoped lang="scss">
+.form-page {
+	padding: 20px;
+	background-color: #fff;
+}
+
+.page-header {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 100%;
+	margin-bottom: 30px;
+
+	.page-title {
+		font-size: 22px;
+		font-weight: 500;
+		color: #5070ae;
+	}
+}
+
+.form-actions {
+	display: flex;
+	justify-content: center;
+	margin-top: 40px;
+	gap: 16px;
+
+	.el-button {
+		padding: 8px 24px;
+	}
+}
+
+// 响应式调整
+@media (max-width: 768px) {
+	.form-container {
+		padding: 15px;
+	}
+
+	.page-header {
+		flex-direction: column;
+		align-items: flex-start;
+		gap: 10px;
+	}
+}
+</style>

+ 40 - 0
src/views/notificationInfoInquiry/shipRegistration/components/shipCancelInfo.vue

@@ -0,0 +1,40 @@
+<template>
+  <div class="ship-info-form">
+    <el-collapse v-model="activeNames">
+      <el-collapse-item name="1">
+        <template #title="{ isActive }">
+          <div class="collapse-title">
+            船舶注销信息
+          </div>
+        </template>
+        <div class="mt20">
+          粤三水货1223(CN20039027136) 于 2025-04-12 15:23:29因 船舶已转让,受让人为黄维持,联系电话13433322,船位信息:珠海斗门,在中华人民共和国佛山海事局进行注销。目前船位在中华人民共和国珠海海事局,下一登记机关为中华人民共和国佛山海事局。
+        </div>
+      </el-collapse-item>
+    </el-collapse>
+  </div>
+</template>
+
+<script setup lang="ts">
+  const activeNames = ref(['1']);
+  const formData = reactive({
+    chineseName: '测试'
+  })
+</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;
+  size: 24px;
+  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;
+}
+</style>

+ 24 - 0
src/views/notificationInfoInquiry/shipRegistration/config/content.config.ts

@@ -0,0 +1,24 @@
+const contentConfig = {
+	pageName: 'released',
+	header: {
+		title: '',
+	},
+	propsList: [
+		{ type: 'index', label: '序号', fixed: true  },
+		{ type: 'normal', label: '船舶识别号', prop: 'violationNumber', width: 140  },
+		{ type: 'normal', label: '中文船名', prop: 'releasedUnit', width: 140 },
+		{ type: 'normal', label: '英文船名', prop: 'vesselName', width: 140 },
+		{ type: 'custom', label: '初次登记号', prop: 'TODO', width: 120 },
+		{ type: 'normal', label: '船籍港', prop: 'TODO' },
+		{ type: 'normal', label: '船舶所有人', prop: 'TODO', width: 220 },
+		{ type: 'normal', label: '船舶种类', prop: 'TODO', width: 220 },
+		{ type: 'normal', label: '注销日期', prop: 'TODO', width: 220 },
+		{ type: 'normal', label: '注销机构', prop: 'releasedDate', width: 140 },
+		{ type: 'custom', label: '注销原因', prop: 'TODO', width: 140 },
+		{ type: 'normal', label: '发布时间', prop: 'releasedDate', width: 140 },
+		{ type: 'normal', label: '是否已发布', prop: 'releasedDate', width: 140 },
+		{ type: 'handler', label: '操作', slotName: 'operate', width: 180},
+	],
+};
+
+export default contentConfig;

+ 74 - 0
src/views/notificationInfoInquiry/shipRegistration/config/detail.config.ts

@@ -0,0 +1,74 @@
+const modalConfig = {
+    pageName: 'rentalCompany',
+    detailTitle: '查看安全检查通告信息',
+    labelWidth: '150px',
+    formRules: {
+        rentalCompanyCode: [{ required: true, message: '请选择单位名称', trigger: 'change' }],
+        rentalCompanyName: [{ required: true, message: '请输入联络人名称', trigger: 'change' }],
+        deptId: [{ required: true, message: '请选择关联部门', trigger: 'change' }],
+        calculationFormulaName: [{ required: true, message: '请输入费用计算公式', trigger: 'change' }],
+    },
+    formItems: [
+        {
+            label: '单位名称',
+            prop: 'rentalCompanyCode',
+            type: 'select',
+            placeholder: '请选择单位名称',
+        },
+        {
+            label: '联络人名称',
+            prop: 'rentalCompanyName',
+            type: 'input',
+            placeholder: '请输入联络人名称',
+        },
+        {
+            label: '所属部门',
+            prop: 'rentalCompanyCode',
+            type: 'select',
+            placeholder: '请选择所属部门',
+        },
+        {
+            label: '所属职务',
+            prop: 'rentalCompanyCode',
+            type: 'select',
+            placeholder: '请选择所属职务',
+        },
+        {
+            label: '微信号',
+            prop: 'rentalCompanyName',
+            type: 'input',
+            placeholder: '请输入微信号',
+        },
+        {
+            label: '联系电话',
+            prop: 'rentalCompanyName',
+            type: 'input',
+            placeholder: '请输入联系电话',
+        },
+        {
+            label: '固定电话',
+            prop: 'rentalCompanyName',
+            type: 'input',
+            placeholder: '请输入固定电话',
+        },
+        {
+            label: '传真号',
+            prop: 'rentalCompanyName',
+            type: 'input',
+            placeholder: '请输入传真号',
+        },
+        {
+            label: '电子邮箱',
+            prop: 'rentalCompanyName',
+            type: 'input',
+            placeholder: '请输入电子邮箱',
+        },
+        {
+            label: '短信接收人',
+            prop: 'textMessage',
+            type: 'textMessage',
+        },
+    ],
+};
+
+export default modalConfig;

+ 89 - 0
src/views/notificationInfoInquiry/shipRegistration/config/search.config.ts

@@ -0,0 +1,89 @@
+interface OptionsType {
+	label: string;
+	value: string;
+}
+
+const searchConfig = {
+	pageName: 'rentalCompany',
+	formItems: [
+		{
+			label: '船舶识别号',
+			prop: 'ship_operator',
+			type: 'input',
+			span: 6,
+			placeholder: '请输入船舶识别号',
+		},
+		{
+			label: '中文船名',
+			prop: 'ship_operator',
+			type: 'input',
+			span: 6,
+			placeholder: '请输入中文船名',
+		},
+		{
+			label: '英文船名',
+			prop: 'ship_operator',
+			type: 'input',
+			span: 6,
+			placeholder: '请输入英文船名',
+		},
+		{
+			label: '初次登记号',
+			prop: 'ship_operator',
+			type: 'input',
+			span: 6,
+			placeholder: '请输入初次登记号',
+		},
+		{
+			label: '船籍港',
+			prop: 'ship_operator',
+			type: 'select',
+			options: [],
+			span: 6,
+			placeholder: '请选择船籍港',
+		},
+		{
+			label: '船舶所有人',
+			prop: 'take_steps',
+			type: 'input',
+			span: 6,
+			placeholder: '请输入船舶所有人',
+		},
+		{
+			label: '船舶种类',
+			prop: 'receive_unit',
+			type: 'select',
+			multiple: true,
+			options: [],
+			span: 6,
+			placeholder: '请选择船舶种类',
+		},
+		{
+			label: '注销机构',
+			prop: 'report_status',
+			type: 'select',
+			multiple: true,
+			options: [],
+			span: 6,
+			placeholder: '请选择注销机构',
+		},
+		{
+			label: '注销原因',
+			prop: 'over_status',
+			type: 'select',
+			multiple: true,
+			options: [],
+			span: 6,
+			placeholder: '请选择注销原因',
+		},
+		{
+			label: '注销日期',
+			prop: 'createDate',
+			type: 'date-picker',
+			span: 6,
+			placeholder: '请选择注销日期',
+		},
+	],
+};
+
+export default searchConfig;

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

@@ -0,0 +1,154 @@
+<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: 'shipRegistrationDetails',
+    query: { type: 'detail' }
+  });
+};
+
+const onMessageChange = (scope, newVal) => {
+	scope.onInput(newVal);
+}
+// 新增按钮
+const handleAdd = () => {
+	router.push({
+    name: '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>

+ 0 - 0
src/views/addressBook/components/detail.vue → src/views/notificationInfoManage/addressBook/components/detail.vue


+ 0 - 0
src/views/addressBook/components/treeSelect.vue → src/views/notificationInfoManage/addressBook/components/treeSelect.vue


+ 0 - 0
src/views/addressBook/config/content.config.ts → src/views/notificationInfoManage/addressBook/config/content.config.ts


+ 0 - 0
src/views/addressBook/config/content.nonIndustry.config.ts → src/views/notificationInfoManage/addressBook/config/content.nonIndustry.config.ts


+ 0 - 0
src/views/addressBook/config/detail.config.ts → src/views/notificationInfoManage/addressBook/config/detail.config.ts


+ 0 - 0
src/views/addressBook/config/detail.nonIndustry.config.ts → src/views/notificationInfoManage/addressBook/config/detail.nonIndustry.config.ts


+ 0 - 0
src/views/addressBook/config/search.config.ts → src/views/notificationInfoManage/addressBook/config/search.config.ts


+ 0 - 0
src/views/addressBook/config/search.nonIndustry.config.ts → src/views/notificationInfoManage/addressBook/config/search.nonIndustry.config.ts


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


+ 0 - 0
src/views/myPublish/components/detail.vue → src/views/notificationInfoManage/myPublish/components/detail.vue


+ 0 - 0
src/views/myPublish/config/content.config.ts → src/views/notificationInfoManage/myPublish/config/content.config.ts


+ 0 - 0
src/views/myPublish/config/detail.config.ts → src/views/notificationInfoManage/myPublish/config/detail.config.ts


+ 1 - 1
src/views/myPublish/config/search.config.ts → src/views/notificationInfoManage/myPublish/config/search.config.ts

@@ -109,7 +109,7 @@ const searchConfig = {
 			multiple: true,
 			options: [] as OptionsType[],
 			span: 6,
-			placeholder: '请选择采取措施',
+			placeholder: '请选择是否需要反馈',
 		},
 		{
 			label: '发布日期',

+ 6 - 1
src/views/myPublish/index.vue → src/views/notificationInfoManage/myPublish/index.vue

@@ -19,6 +19,7 @@
 							</el-button>
 					</template>
 			</pageContent>
+			<router-view></router-view>
 	</div>
 </template>
 
@@ -108,9 +109,13 @@ function handleDelete(value: any) {
 // 筛选-状态赋值
 async function searchItem() {
 	searchConfig.formItems.forEach(item => {
-			if (item.prop === 'notificationCategory') {
+			if (item.prop === 'notificationMattersTypes') {
 					item.options = categoryOnm
 			}
+			if (item.prop === 'wfir') {
+					item.options = isFeedback
+			}
+			
 	});
 }
 searchItem();

+ 0 - 0
src/views/notificationListManage/components/detail.vue → src/views/notificationInfoManage/notificationListManage/components/detail.vue


+ 0 - 0
src/views/notificationListManage/config/content.config.ts → src/views/notificationInfoManage/notificationListManage/config/content.config.ts


+ 0 - 0
src/views/notificationListManage/config/detail.config.ts → src/views/notificationInfoManage/notificationListManage/config/detail.config.ts


+ 0 - 0
src/views/notificationListManage/config/search.config.ts → src/views/notificationInfoManage/notificationListManage/config/search.config.ts


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