Преглед на файлове

npm i lodash-es 通报模型

Luka преди 14 часа
родител
ревизия
a249f28517

+ 1 - 0
package.json

@@ -28,6 +28,7 @@
         "js-cookie": "3.0.1",
         "jsencrypt": "3.3.1",
         "lodash": "^4.17.21",
+        "lodash-es": "^4.17.21",
         "nprogress": "0.2.0",
         "pinia": "2.0.22",
         "terser": "^5.44.0",

+ 3 - 0
pnpm-lock.yaml

@@ -62,6 +62,9 @@ importers:
       lodash:
         specifier: ^4.17.21
         version: 4.17.21
+      lodash-es:
+        specifier: ^4.17.21
+        version: 4.17.21
       nprogress:
         specifier: 0.2.0
         version: 0.2.0

+ 12 - 3
src/api/notifyModelCfg/index.ts

@@ -1,13 +1,22 @@
 import request from '@/utils/request';
 
-// 发布接收通报事项统计-卡片
-export function getReportItemTotalCardApi() {
+// 事项树
+export function getNotifyModelConfigTreeApi() {
 	return request({
-		url: `/business/reportItem/totalCard`,
+		url: `/business/notifyModelData/tree`,
 		method: 'get',
 	});
 }
 
+// 获取事项详情
+export function getNotifyModelDataInfoApi(data) {
+	return request({
+		url: `/business/notifyModelConfig/getInfoByModelName`,
+		method: 'post',
+		data: data,
+	});
+}
+
 // 修改
 export function updateNotifyModelConfigApi(data) {
 	return request({

+ 81 - 49
src/views/notifyModelCfg/components/detail.vue

@@ -2,26 +2,26 @@
 	<div class="modal-detail" v-loading="isLoading">
 		<el-scrollbar>
 			<div class="form">
+				<div class="header-item">{{ props.typeKey[2] }}</div>
+				<el-divider />
 				<el-form
 					ref="ruleFormRef"
-					:rules="modalConfig.formRules"
+					:rules="localformRules"
 					label-suffix=":"
 					:model="formData"
 					autocomplete="off"
-					label-width="200px"
+					label-width="220px"
 					size="large"
 				>
-					<el-row :gutter="12" v-for="(groupDb, index) in modalConfig.formItems">
+					<el-row :gutter="12" v-for="(groupDb, index) in localFormItems.formItems">
 						<template v-if="index == 0">
-							<el-col :span="14"><b>通报标准及具体行为列举</b></el-col>
+							<el-col :span="14">通报标准及具体行为列举</el-col>
 							<el-col :span="10" class="text-right"
 								><el-button type="primary" @click="addItem()">新增</el-button></el-col
 							>
 						</template>
 						<template v-else>
-							<el-col :span="14"
-								><b>通报标准及具体行为列举 - {{ index }}</b></el-col
-							>
+							<el-col :span="14">通报标准及具体行为列举 - {{ index }}</el-col>
 							<el-col :span="10" class="text-right">
 								<el-button type="primary" @click="addItem()">新增</el-button>
 								<el-button @click="removeItem(index)">删除</el-button>
@@ -32,7 +32,7 @@
 						<br />
 						<template v-for="(item, indx) in groupDb" :key="item.prop">
 							<el-col :span="item.span || 8">
-								<el-form-item :label="item.label" :prop="item.prop">
+								<el-form-item :label="item.label" :prop="item.prop + '0'">
 									<template v-if="item.type === 'input'">
 										<el-input
 											v-model="formData[index][item.prop]"
@@ -103,7 +103,7 @@
 									</template>
 
 									<!-- 联系电话 -->
-									<template v-if="item.type === 'contactNumber'">
+									<template v-if="item.type === 'notifyStandard'">
 										<el-input v-model="formData[index][item.prop]" :placeholder="item.placeholder" />
 									</template>
 								</el-form-item>
@@ -126,7 +126,8 @@ import type { FormInstance } from 'element-plus';
 import { outTypeList } from '@/libs/commonMeth';
 import { TreeOptions, IOptions } from '@/types/global';
 import useDeptStore from '@/store/modules/dept';
-import { getReportItemTotalCardApi, updateNotifyModelConfigApi } from '@/api/notifyModelCfg/index';
+import { getNotifyModelDataInfoApi, updateNotifyModelConfigApi } from '@/api/notifyModelCfg/index';
+import merge from 'lodash-es/merge';
 import dayjs from 'dayjs';
 // 定义props
 interface IProps {
@@ -157,30 +158,64 @@ onMounted(async () => {
 
 let formData = ref([]);
 let initialForm: any = [];
+const localFormItems: any = ref([]);
+const localformRules: any = ref([]);
 const isLoading = ref(false);
 
+const onFetchDetail = async () => {
+	const response = await getNotifyModelDataInfoApi({
+		modelName: props.typeKey[0],
+		modelChildrenName: props.typeKey[1],
+	});
+	return response.data;
+};
+
 watch(
 	() => props.typeKey,
-	newVal => {
+	async newVal => {
 		if (!newVal) return;
+
 		initialForm = [];
 		formData.value = [];
 		isLoading.value = true;
+		localFormItems.value = JSON.parse(JSON.stringify(props.modalConfig.formItems));
+		const data = await onFetchDetail();
 		let formItems = JSON.parse(JSON.stringify(props.modalConfig.formItems[0]));
-		props.modalConfig.formItems = [];
-		for (let i = 0; i < 1; i++) {
-			props.modalConfig.formItems[i] = formItems;
+		let formRules = JSON.parse(JSON.stringify(props.modalConfig.formRules));
+		const rules: Record<string, any[]> = {};
+		if (data.length > 0) {
+			data.forEach((db, i) => {
+				localFormItems.value.formItems[i] = formItems;
+				for (const key in formRules) {
+					rules[`${key}${i}`] = formRules[key];
+				}
+				localformRules.value = merge({}, localformRules.value, rules);
+				const eleForm: any = {};
+				formItems.forEach(item => {
+					eleForm[item.prop] = db[item.prop] ?? '';
+				});
+				initialForm[i] = JSON.parse(JSON.stringify(eleForm));
+			});
+		} else {
+			localFormItems.value.formItems = [];
+			localformRules.value = [];
+			localFormItems.value.formItems[0] = formItems;
+			for (const key in formRules) {
+				rules[`${key}${0}`] = formRules[key];
+			}
+			localformRules.value = rules;
 			const eleForm: any = {};
 			formItems.forEach(item => {
-				eleForm[item.prop] = item.initialValue ?? '';
+				eleForm[item.prop] = item.initialValue ?? '1';
 			});
 
-			initialForm[i] = JSON.parse(JSON.stringify(eleForm));
+			initialForm[0] = JSON.parse(JSON.stringify(eleForm));
 		}
 
 		formData.value = JSON.parse(JSON.stringify(initialForm));
 		console.log('iniItem', formData.value);
-		// getReportItemTotalCardApiData();
+		console.log('iniRules', localformRules.value);
+		await nextTick(); // 等 DOM 渲染完
 		isLoading.value = false;
 	},
 	{ immediate: true, deep: true }
@@ -188,15 +223,21 @@ watch(
 
 // 新增
 function addItem() {
-	const nextIndex = Math.max(...Object.keys(props.modalConfig.formItems).map(Number)) + 1;
-	props.modalConfig.formItems[nextIndex] = JSON.parse(JSON.stringify(props.modalConfig.formItems[0]));
+	const nextIndex = Math.max(...Object.keys(localFormItems.value.formItems).map(Number)) + 1;
+	localFormItems.value.formItems[nextIndex] = JSON.parse(JSON.stringify(props.modalConfig.formItems[0]));
 	initialForm = JSON.parse(JSON.stringify(formData.value));
 	let formItems = JSON.parse(JSON.stringify(props.modalConfig.formItems[0]));
+	let formRules = JSON.parse(JSON.stringify(props.modalConfig.formRules));
 	const newForm: any = {};
+	const rules: Record<string, any[]> = {};
 	formItems.forEach(item => {
 		newForm[item.prop] = item.initialValue ?? '';
 	});
 
+	for (const key in formRules) {
+		rules[`${key}${nextIndex}`] = formRules[key];
+	}
+	localformRules.value = merge({}, localformRules.value, rules);
 	initialForm[nextIndex] = JSON.parse(JSON.stringify(newForm));
 	formData.value = JSON.parse(JSON.stringify(initialForm));
 	console.log('addItem', formData.value);
@@ -204,64 +245,55 @@ function addItem() {
 
 //删除
 function removeItem(index) {
-	const newList = props.modalConfig.formItems.filter((_, i) => i !== index);
-	props.modalConfig.formItems = newList;
+	const newList = localFormItems.value.formItems.filter((_, i) => i !== index);
+	localFormItems.value.formItems = newList;
 	const newFormData = JSON.parse(JSON.stringify(formData.value)).filter((_, i) => i !== index);
 	formData.value = JSON.parse(JSON.stringify(newFormData));
 	console.log('removeItem', formData.value);
 }
-
-const dialogTitle = ref();
-
-const nowStr = dayjs().format('YYYY-MM-DD HH:mm:ss');
-// 新建或者编辑
-async function setDialogVisibles(data) {
-	dialogVisible.value = true;
-	ruleFormRef.value?.resetFields();
-	await nextTick();
-	formData.value = data;
-	isLoading.value = false;
-}
-
-async function getReportItemTotalCardApiData() {
-	const res: any = await getReportItemTotalCardApi();
-	if (res.code === 200) {
-		setDialogVisibles(res.data);
-	} else {
-		return [];
-	}
+{
 }
-
 // 点击确定
+
 function handleConfirmClick(formEl: FormInstance | undefined) {
 	if (!formEl) return;
 	formEl.validate((valid, fields) => {
 		if (valid) {
 			dialogVisible.value = false;
 			let data = { ...formData.value };
-			const postData: any = updateNotifyModelConfigApi(data);
+			const postData: any = updateNotifyModelConfigApi({
+				modelName: props.typeKey[0],
+				modelChildrenName: props.typeKey[1],
+				data: data,
+			});
 			if (postData.code === 200) {
 				ElMessage.success('操作成功!');
 			} else {
 				ElMessage.error('操作失败!');
 			}
-
-			console.log('提交的数据:', data);
 		} else {
+			console.log('提交的数据:', formData.value);
 			console.log('error submit!', fields);
 		}
 	});
 }
-defineExpose({
-	// setDialogVisible,
-});
+defineExpose({});
 </script>
 
 <style scoped lang="scss">
 .form {
 	padding: 10px 30px;
 }
-
+.header-item {
+	font-size: 16px;
+	font-weight: 700;
+	margin-bottom: 10px;
+	padding-left: 10px;
+	border-left: #3874af 4px solid;
+	white-space: nowrap; /* 禁止换行 */
+	overflow: hidden; /* 隐藏超出部分 */
+	text-overflow: ellipsis; /* 超出部分显示为省略号 */
+}
 .modal-detail {
 	padding: 20px;
 	background-color: #fff;

+ 21 - 103
src/views/notifyModelCfg/components/treeSelect.vue

@@ -15,7 +15,7 @@
 				highlight-current
 				check-on-click-node
 				:default-expanded-keys="expandedKeys"
-				node-key="value"
+				node-key="notifyModelDataId"
 				:filter-node-method="filterNode"
 				@check-change="handleCheckChange"
 				class="custom-tree"
@@ -27,13 +27,13 @@
 <script setup lang="ts">
 import { ref, computed } from 'vue';
 import { ElTree } from 'element-plus';
-import useDeptStore from '@/store/modules/dept';
+import { getNotifyModelConfigTreeApi } from '@/api/notifyModelCfg/index';
 
 const emit = defineEmits(['treeCheck']);
 
 // 树形配置项
 const treeProps = {
-	label: 'label',
+	label: 'modelName',
 	children: 'children',
 };
 // 搜索关键词
@@ -43,120 +43,38 @@ const checkedKey = ref<(string | number)[]>([]);
 // 树形组件实例
 const treeRef = ref<InstanceType<typeof ElTree>>();
 interface TreeOptions {
-	parentId: number;
-	label: string;
-	type: string;
-	value: number;
+	parentId: string;
+	modelName: string;
+	notifyModelDataId: string;
 	children?: TreeOptions[];
 }
 
 const treeData = ref<TreeOptions[]>();
-treeData.value = [
-	{
-		parentId: 0,
-		label: '安全检查通报信息模型',
-		value: 1,
-		type: '1',
-		children: [
-			{ parentId: 1, label: '涉客船舶相关违法规定行为', value: 10, type: '1' },
-			{ parentId: 1, label: '10人以上未按规定洗舱清舱作业', value: 11, type: '1' },
-			{ parentId: 1, label: '船舶未持有有效的运营证件的', value: 12, type: '1' },
-			{ parentId: 1, label: '船舶被滞留、禁止船舶进港或责令船舶离港的', value: 13, type: '1' },
-			{ parentId: 1, label: '船舶超核定载重线载货物', value: 14, type: '1' },
-			{ parentId: 1, label: '船舶被列入或脱离重点跟踪船舶的', value: 15, type: '1' },
-		],
-	},
-	{
-		parentId: 0,
-		label: '船舶登记通报信息模型',
-		value: 2,
-		type: '2',
-		children: [{ parentId: 2, label: '船舶注销登记相关信息', value: 16, type: '2' }],
-	},
-	{
-		parentId: 0,
-		label: '行政处罚通报信息模型',
-		value: 3,
-		type: '3',
-		children: [
-			{ parentId: 3, label: '涉客船舶相关违法规定行为', value: 17, type: '3' },
-			{ parentId: 3, label: '从事休闲活动船舶相关违法违规行为', value: 18, type: '3' },
-			{ parentId: 3, label: '渔船相关违法违规信息', value: 18, type: '3' },
-			{ parentId: 3, label: '水上交通安全重大风险隐患', value: 19, type: '3' },
-		],
-	},
-	{
-		parentId: 0,
-		label: '重点跟踪船舶通报信息模型',
-		value: 4,
-		type: '4',
-		children: [{ parentId: 4, label: '船舶被列入或脱离重点跟踪船舶的', value: 20, type: '4' }],
-	},
-	{
-		parentId: 0,
-		label: '运营检验监督船舶检验通报信息模型',
-		value: 5,
-		type: '5',
-		children: [
-			{ parentId: 5, label: '船舶存在检验重大质量问题', value: 21, type: '5' },
-			{ parentId: 5, label: '船舶修造企业相关违法违规行为', value: 22, type: '5' },
-			{ parentId: 5, label: '航运公司安全管理相关信息及突出违法行为', value: 23, type: '5' },
-		],
-	},
-	{
-		parentId: 0,
-		label: '建造检验监督船舶检验通报信息模型',
-		value: 6,
-		type: '6',
-		children: [
-			{ parentId: 6, label: '船舶存在检验重大质量问题', value: 24, type: '6' },
-			{ parentId: 6, label: '船舶修造企业相关违法违规行为', value: 25, type: '6' },
-			{ parentId: 6, label: '航运公司安全管理相关信息及突出违法行为', value: 26, type: '6' },
-		],
-	},
-	{
-		parentId: 0,
-		label: '重点跟踪航运公司通报信息模型',
-		value: 7,
-		type: '7',
-		children: [{ parentId: 7, label: '被列入后脱离重点跟踪航运公司的', value: 26, type: '7' }],
-	},
-	{
-		parentId: 0,
-		label: '进出口岸报告通报信息模型',
-		value: 8,
-		type: '8',
-		children: [{ parentId: 8, label: '被列入后脱离重点跟踪航运公司的', value: 28, type: '8' }],
-	},
-	{
-		parentId: 0,
-		label: '现场安全监督检查通报信息模型',
-		value: 9,
-		type: '9',
-		children: [{ parentId: 9, label: '船籍港管理相关信息', value: 29, type: '9' }],
-	},
-];
+
 const expandedKeys: any = ref([]);
-// const deptStore = useDeptStore();
+
 onMounted(async () => {
 	// 加载组织架构
-	// if (!deptStore.hasDeptData) {
-	// 	await deptStore.loadDeptDataFromCache();
-	// }
-	// treeData.value = deptStore.deptData;
+	await onFetchDetail();
 	if (treeData?.value) {
-		expandedKeys.value = treeData.value.map(node => node.value);
+		expandedKeys.value = treeData.value.map(node => node.notifyModelDataId);
 	}
 	await nextTick(); // 等 DOM 渲染完
 	// 默认选择第一个
-	const firstChildValue = treeData.value?.[0]?.children?.[0]?.value;
-	const firstChildType = treeData.value?.[0]?.children?.[0]?.type;
+	const firstChildValue = treeData.value?.[0]?.children?.[0]?.notifyModelDataId;
+	const firstChildType = treeData.value?.[0]?.children?.[0]?.parentId;
+	const firstChildLabel = treeData.value?.[0]?.children?.[0]?.modelName;
 	if (firstChildValue !== undefined && treeRef.value) {
 		treeRef.value.setCurrentKey(firstChildValue);
-		emit('treeCheck', [firstChildType, firstChildValue]);
+		emit('treeCheck', [firstChildType, firstChildValue, firstChildLabel]);
+	} else {
+		emit('treeCheck', '');
 	}
 });
-
+const onFetchDetail = async () => {
+	const response = await getNotifyModelConfigTreeApi();
+	treeData.value = response.data;
+};
 // 过滤节点(搜索功能)
 const filterNode = (value: string, data: any) => {
 	if (!value) return true;
@@ -165,7 +83,7 @@ const filterNode = (value: string, data: any) => {
 
 const handleCheckChange = (data: TreeOptions, node: any) => {
 	if (!data.children || data.children.length === 0) {
-		emit('treeCheck', [data.type, data.value]);
+		emit('treeCheck', [data.parentId, data.notifyModelDataId, data.modelName]);
 	}
 };
 

+ 20 - 36
src/views/notifyModelCfg/config/administrative.penalty.detail.config.ts

@@ -4,45 +4,29 @@ interface OptionsType {
 }
 const modalConfig = {
 	title: '行政处罚通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
 	formRules: {
-		notification_standards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		penalty_decision_time: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		decisionDateRange: [{ required: true, message: '请选择处罚决定时间', trigger: 'change' }],
+		waterAreaType: [{ required: true, message: '请选择水域类别', trigger: 'change' }],
+		shipSort: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
+		seaCaseNoReason: [{ required: true, message: '请选择海上案号和案由', trigger: 'change' }],
+		inlandCaseNoReason: [{ required: true, message: '请选择内河案号和案由', trigger: 'change' }],
+		lawInfo: [{ required: true, message: '违法事实及证据信息', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不能为空', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
 				label: '处罚决定时间',
-				prop: 'penalty_decision_time',
+				prop: 'decisionDateRange',
 				type: 'select',
 				span: 12,
 				multiple: false,
@@ -51,7 +35,7 @@ const modalConfig = {
 			},
 			// {
 			// 	label: '案件状态',
-			// 	prop: 'case_status',
+			// 	prop: 'caseStatus',
 			// 	type: 'select',
 			// 	multiple: false,
 			// 	disabled: true,
@@ -61,7 +45,7 @@ const modalConfig = {
 			// },
 			{
 				label: '水域类别',
-				prop: 'water_category',
+				prop: 'waterAreaType',
 				type: 'select',
 				multiple: true,
 				span: 12,
@@ -70,7 +54,7 @@ const modalConfig = {
 			},
 			{
 				label: '船舶种类',
-				prop: 'shipType',
+				prop: 'shipSort',
 				type: 'select',
 				multiple: true,
 				span: 12,
@@ -79,7 +63,7 @@ const modalConfig = {
 			},
 			// {
 			// 	label: '海内河船',
-			// 	prop: 'maritime_and_river_vessels',
+			// 	prop: 'inlandShips',
 			// 	type: 'select',
 			// 	multiple: true,
 			// 	span: 12,
@@ -98,7 +82,7 @@ const modalConfig = {
 
 			{
 				label: '海上案号和案由',
-				prop: 'maritime_case_number_cause_of_action',
+				prop: 'seaCaseNoReason',
 				type: 'select',
 				multiple: true,
 				span: 24,
@@ -107,7 +91,7 @@ const modalConfig = {
 			},
 			{
 				label: '内河案号和案由',
-				prop: 'inland_river_case_number_cause_of_action',
+				prop: 'inlandCaseNoReason',
 				type: 'select',
 				multiple: true,
 				span: 24,
@@ -117,21 +101,21 @@ const modalConfig = {
 
 			{
 				label: '违法事实及证据信息',
-				prop: 'illegal_facts_and_evidence_info',
+				prop: 'lawInfo',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入违法事实及证据信息',
 			},
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 12 - 31
src/views/notifyModelCfg/config/build.ship.inspection.detail.config.ts

@@ -5,45 +5,26 @@ interface OptionsType {
 const modalConfig = {
 	pageName: 'lonm',
 	title: '建造检验监督船舶检验通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
 	formRules: {
-		notificationStandards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		checkRange: [{ required: true, message: '请选择检查时间范围', trigger: 'change' }],
+		checkStatus: [{ required: true, message: '请选择检查状态', trigger: 'change' }],
+		checkResult: [{ required: true, message: '请选择检查结论', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不能为空', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
 				label: '检查时间范围',
-				prop: 'scope_time_inspection',
+				prop: 'checkRange',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -52,7 +33,7 @@ const modalConfig = {
 			},
 			{
 				label: '检查状态',
-				prop: 'check_status',
+				prop: 'checkStatus',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -61,7 +42,7 @@ const modalConfig = {
 			},
 			{
 				label: '检查结论',
-				prop: 'inspection_conclusion',
+				prop: 'checkResult',
 				type: 'select',
 				multiple: true,
 				span: 24,
@@ -70,14 +51,14 @@ const modalConfig = {
 			},
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 12 - 33
src/views/notifyModelCfg/config/focus.track.ship.detail.config.ts

@@ -4,71 +4,50 @@ interface OptionsType {
 }
 const modalConfig = {
 	title: '重点跟踪船舶通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
 	formRules: {
-		notificationStandards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		addDateRange: [{ required: true, message: '请选择列入时间范围', trigger: 'change' }],
+		auditStatus: [{ required: true, message: '请选择审核状态', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '请输入业务规则识别', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
-				label: '列时间范围',
-				prop: 'inclusion_time_range',
+				label: '列入时间范围',
+				prop: 'addDateRange',
 				type: 'select',
 				multiple: false,
 				span: 12,
 				options: [] as OptionsType[],
-				placeholder: '请选择检查范围',
+				placeholder: '请选择列入时间范围',
 			},
 			{
 				label: '审核状态',
-				prop: 'review_status',
+				prop: 'auditStatus',
 				type: 'select',
 				multiple: false,
 				span: 12,
 				options: [] as OptionsType[],
 				placeholder: '请选择审核状态',
 			},
-
 			{
 				label: '业务规则识别',
-				prop: 'cbzl',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'cbzl',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 16 - 33
src/views/notifyModelCfg/config/import.export.port.report.detail.config.ts

@@ -4,45 +4,28 @@ interface OptionsType {
 }
 const modalConfig = {
 	title: '进出口岸报告通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
 	formRules: {
-		notificationStandards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		applyRange: [{ required: true, message: '请选择申请时间范围', trigger: 'change' }],
+		inOutPort: [{ required: true, message: '请选择进出港', trigger: 'change' }],
+		reportOrganization: [{ required: true, message: '请选择报给机构', trigger: 'change' }],
 		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不为空', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
 				label: '申请时间范围',
-				prop: 'scope_time_application',
+				prop: 'applyRange',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -51,16 +34,16 @@ const modalConfig = {
 			},
 			{
 				label: '进出港',
-				prop: 'arrival_and_departure',
+				prop: 'inOutPort',
 				type: 'select',
-				multiple: false,
+				multiple: true,
 				span: 12,
 				options: [] as OptionsType[],
 				placeholder: '请选择进出港',
 			},
 			{
 				label: '报给机构',
-				prop: 'report_to_institutions',
+				prop: 'reportOrganization',
 				type: 'select',
 				multiple: false,
 				span: 24,
@@ -69,7 +52,7 @@ const modalConfig = {
 			},
 			// {
 			// 	label: '滞留',
-			// 	prop: 'detain',
+			// 	prop: 'retention',
 			// 	type: 'select',
 			// 	multiple: false,
 			// 	span: 12,
@@ -86,7 +69,7 @@ const modalConfig = {
 			// 	placeholder: '请选择校验结果描述',
 			// },
 			{
-				label: '六个月无进出口港报告申请日期',
+				label: '六个月无进出口港报告申请日期', //ttt
 				prop: 'six_months_without_application_data',
 				type: 'select',
 				multiple: false,
@@ -96,14 +79,14 @@ const modalConfig = {
 			},
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 12 - 31
src/views/notifyModelCfg/config/key.ship.company.detail.config.ts

@@ -4,45 +4,26 @@ interface OptionsType {
 }
 const modalConfig = {
 	title: '重点跟踪航运公司通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
+
 	formRules: {
-		notificationStandards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		addDateRange: [{ required: true, message: '请选择列入时间范围', trigger: 'change' }],
+		auditStatus: [{ required: true, message: '请选择审核状态', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不为空', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
-				label: '列时间范围',
-				prop: 'inclusion_time_range',
+				label: '列入时间范围',
+				prop: 'addDateRange',
 				type: 'select',
 				multiple: true,
 				span: 12,
@@ -51,7 +32,7 @@ const modalConfig = {
 			},
 			{
 				label: '审核状态',
-				prop: 'review_status',
+				prop: 'auditStatus',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -60,14 +41,14 @@ const modalConfig = {
 			},
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 13 - 31
src/views/notifyModelCfg/config/operation.ship.inspection.detail.config.ts

@@ -4,45 +4,27 @@ interface OptionsType {
 }
 const modalConfig = {
 	title: '运营检验监督船舶检验通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
+
 	formRules: {
-		notificationStandards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		checkRange: [{ required: true, message: '请选择检查时间范围', trigger: 'change' }],
+		checkStatus: [{ required: true, message: '请选择检查状态', trigger: 'change' }],
+		checkResult: [{ required: true, message: '请选择检查结论', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不为空', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
 				label: '检查时间范围',
-				prop: 'scope_time_inspection',
+				prop: 'checkRange',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -51,7 +33,7 @@ const modalConfig = {
 			},
 			{
 				label: '检查状态',
-				prop: 'check_status',
+				prop: 'checkStatus',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -60,7 +42,7 @@ const modalConfig = {
 			},
 			{
 				label: '检查结论',
-				prop: 'inspection_conclusion',
+				prop: 'checkResult',
 				type: 'select',
 				multiple: true,
 				span: 24,
@@ -69,14 +51,14 @@ const modalConfig = {
 			},
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 20 - 36
src/views/notifyModelCfg/config/security.check.detail.config.ts

@@ -5,55 +5,39 @@ interface OptionsType {
 
 const modalConfig = {
 	title: '安全检查通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
+
 	formRules: {
-		notification_standards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		checkRange: [{ required: true, message: '请选择检查时间范围', trigger: 'change' }],
+		checkType: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
+		shipSort: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
+		defect: [{ required: true, message: '请选择缺陷代码和描述', trigger: 'change' }],
+		memo: [{ required: true, message: '请输入备注', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不能为空', trigger: 'change' }],
 	},
 
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
 				label: '检查时间范围',
-				prop: 'scope_time_inspection',
+				prop: 'checkRange',
 				type: 'select',
 				multiple: false,
 				span: 12,
 				options: [] as OptionsType[],
-				placeholder: '请选择检查范围',
+				placeholder: '请选择检查时间范围',
 			},
 			{
 				label: '初复查标志',
-				prop: 'initial_review_mark',
+				prop: 'checkType',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -62,39 +46,39 @@ const modalConfig = {
 			},
 			{
 				label: '船舶种类',
-				prop: 'shipType',
+				prop: 'shipSort',
 				type: 'select',
 				multiple: true,
 				span: 24,
-				options: [] as OptionsType[],
+				options: [] as OptionsType[], //需要单独适用多层
 				placeholder: '请选择船舶种类',
 			},
 			{
 				label: '缺陷代码和描述',
-				prop: 'defect_code_and_desc',
+				prop: 'defect',
 				type: 'select',
 				multiple: true,
 				span: 24,
 				options: [] as OptionsType[],
-				placeholder: '请选择缺陷代码和描述',
+				placeholder: '请选择缺陷代码和描述', //需要单独适用多层
 			},
 			{
 				label: '备注',
-				prop: 'remark',
+				prop: 'memo',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入备注',
 			},
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 15 - 33
src/views/notifyModelCfg/config/ship.registration.detail.config.ts

@@ -4,54 +4,36 @@ interface OptionsType {
 }
 const modalConfig = {
 	title: '船舶登记通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
+
 	formRules: {
-		notificationStandards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		checkRange: [{ required: true, message: '请选择检查时间范围', trigger: 'change' }],
+		shipRegisterStatus: [{ required: true, message: '请选择船舶登记状态', trigger: 'change' }],
+		deletionReason: [{ required: true, message: '请选择注销原因', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不为空', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
 				label: '检查时间范围',
-				prop: 'scope_time_inspection',
+				prop: 'checkRange',
 				type: 'select',
 				multiple: false,
 				span: 12,
 				options: [] as OptionsType[],
-				placeholder: '请选择时间范围',
+				placeholder: '请选择检查时间范围',
 			},
 			{
 				label: '船舶登记状态',
-				prop: 'ship_registration_status',
+				prop: 'shipRegisterStatus',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -60,23 +42,23 @@ const modalConfig = {
 			},
 			{
 				label: '注销原因',
-				prop: 'logout_reason',
+				prop: 'deletionReason',
 				type: 'select',
-				multiple: false,
+				multiple: true,
 				span: 24,
 				options: [] as OptionsType[],
 				placeholder: '请选择注销原因',
 			},
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 18 - 35
src/views/notifyModelCfg/config/site.safety.supervision.inspection.detail.config.ts

@@ -4,54 +4,37 @@ interface OptionsType {
 }
 const modalConfig = {
 	title: '现场安全监督检查通报信息模型',
-	params: {
-		type: 1,
-		id: 1,
-	},
+
 	formRules: {
-		notificationStandards: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
-		scopeInspection: [{ required: true, message: '请选择检查范围', trigger: 'change' }],
-		cfcbz: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
-		cbzl: [{ required: true, message: '请选择船舶种类', trigger: 'change' }],
-		position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
-		// contactNumber: [
-		// 	{ required: true, message: '输入正确的联系电话', trigger: 'change' },
-		// 	{
-		// 		validator: (_, val, cb) => {
-		// 			const digits = (val || '').replace(/\D/g, '');
-		// 			if (!/^1[3-9]\d{9}$/.test(digits)) {
-		// 				cb(new Error('请输入正确的 11 位联系电话'));
-		// 			} else {
-		// 				cb();
-		// 			}
-		// 		},
-		// 		trigger: 'blur',
-		// 	},
-		// ],
-		msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
+		notifyStandard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'change' }],
+		checkRange: [{ required: true, message: '请选择检查时间范围', trigger: 'change' }],
+		reportOrganization: [{ required: true, message: '请选择报给机构', trigger: 'change' }],
+		checkContent: [{ required: true, message: '请选择检查内容', trigger: 'change' }],
+		checkType: [{ required: true, message: '请选择初复查标志', trigger: 'change' }],
+		businessRuleIdentification: [{ required: true, message: '业务规则识别不为空', trigger: 'change' }],
 	},
 	formItems: [
 		[
 			{
 				label: '通报标准或具体行为列举',
-				prop: 'notification_standards',
-				type: 'select',
+				prop: 'notifyStandard',
+				type: 'notifyStandard',
 				span: 24,
 				multiple: true,
 				placeholder: '请选择通报标准或具体行为列举',
 			},
 			{
 				label: '检查时间范围',
-				prop: 'scope_time_inspection',
+				prop: 'checkRange',
 				type: 'select',
 				multiple: false,
 				span: 24,
 				options: [] as OptionsType[],
-				placeholder: '请选择检查范围',
+				placeholder: '请选择检查时间范围',
 			},
 			{
 				label: '报给机构',
-				prop: 'report_to_institutions',
+				prop: 'reportOrganization',
 				type: 'select',
 				multiple: false,
 				span: 24,
@@ -60,7 +43,7 @@ const modalConfig = {
 			},
 			{
 				label: '初复查标志',
-				prop: 'initial_review_mark',
+				prop: 'checkType',
 				type: 'select',
 				multiple: false,
 				span: 12,
@@ -70,7 +53,7 @@ const modalConfig = {
 
 			// {
 			// 	label: '滞留',
-			// 	prop: 'detain',
+			// 	prop: 'retention',
 			// 	type: 'select',
 			// 	multiple: false,
 			// 	span: 12,
@@ -82,13 +65,13 @@ const modalConfig = {
 				prop: 'six_months_without_supervision_data',
 				type: 'select',
 				multiple: false,
-				span: 24,
+				span: 12,
 				options: [] as OptionsType[],
 				placeholder: '请选择六个月无现场监督记录检查日期',
 			},
 			{
 				label: '检查内容',
-				prop: 'inspection_content',
+				prop: 'checkContent',
 				type: 'select',
 				multiple: false,
 				span: 24,
@@ -98,14 +81,14 @@ const modalConfig = {
 
 			{
 				label: '业务规则识别',
-				prop: 'business_rule_recognition',
+				prop: 'businessRuleIdentification',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别',
 			},
 			{
 				label: '业务规则识别样例',
-				prop: 'business_rule_recognition_demo',
+				prop: 'businessRuleIdentificationExample',
 				type: 'textarea',
 				span: 24,
 				placeholder: '请输入业务规则识别样例',

+ 46 - 59
src/views/notifyModelCfg/index.vue

@@ -1,5 +1,11 @@
 <template>
-	<div class="sensitive-words flex">
+	<div
+		class="sensitive-words flex"
+		v-loading="treeLoading"
+		element-loading-text="Loading..."
+		element-loading-svg-view-box="-10, -10, 50, 50"
+		element-loading-background="rgba(122, 122, 122, 0.8)"
+	>
 		<TreeSelect class="mr20" ref="treeSelectdRef" @treeCheck="getTreeCheck"></TreeSelect>
 		<pageDetail v-if="detailConfig" :typeKey="typeKey" :modalConfig="detailConfig" ref="modalRef">
 		</pageDetail>
@@ -53,28 +59,26 @@ const getTreeCheck = async data => {
 	if (!data) {
 		return;
 	}
-	typeKey.value = data[0] + '-' + data[1];
+	typeKey.value = data;
 	switch (data[0]) {
 		case '1':
-			securityCheckDetailConfig.params.id = data[1];
-			securityCheckDetailConfig.params.type = data[0];
 			securityCheckDetailConfig.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// --------- 安全检查通报信息模型 ------------
 					// 检查时间范围
-					if (item.prop === 'scope_time_inspection') {
+					if (item.prop === 'checkRange') {
 						item.options = bj_scope_time_inspection;
 					}
 					// 初复查标志
-					if (item.prop === 'initial_review_mark') {
+					if (item.prop === 'checkType') {
 						item.options = bj_initial_review_mark;
 					}
 					// 船舶种类
-					if (item.prop === 'shipType') {
+					if (item.prop === 'shipSort') {
 						item.options = bj_ship_type;
 					}
 					// 缺陷代码和描述
-					if (item.prop === 'defect_code_and_desc') {
+					if (item.prop === 'defect') {
 						item.options = bj_defect_code_and_desc;
 					}
 				});
@@ -84,22 +88,20 @@ const getTreeCheck = async data => {
 
 			break;
 		case '2':
-			shipRegistratioDdetailConfig.params.id = data[1];
-			shipRegistratioDdetailConfig.params.type = data[0];
 			shipRegistratioDdetailConfig.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// ---------船舶登记通报信息模型----------
 
 					// 检查时间范围
-					if (item.prop === 'scope_time_inspection') {
+					if (item.prop === 'checkRange') {
 						item.options = bj_scope_time_inspection;
 					}
 					// 船舶登记状态
-					if (item.prop === 'ship_registration_status') {
+					if (item.prop === 'shipRegisterStatus') {
 						item.options = bj_ship_registration_status;
 					}
 					// 注销原因
-					if (item.prop === 'logout_reason') {
+					if (item.prop === 'deletionReason') {
 						item.options = bj_reason_deregistration;
 					}
 				});
@@ -108,14 +110,12 @@ const getTreeCheck = async data => {
 
 			break;
 		case '3':
-			administrativePenaltyDetailConfig.params.id = data[1];
-			administrativePenaltyDetailConfig.params.type = data[0];
 			administrativePenaltyDetailConfig?.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// -------- 行政处罚通报信息模型 -----------
 
 					// 处罚决定时间
-					if (item.prop === 'penalty_decision_time') {
+					if (item.prop === 'notifyStandard') {
 						item.options = bj_scope_time_inspection;
 					}
 					// // 案件状态
@@ -123,11 +123,11 @@ const getTreeCheck = async data => {
 					// 	item.options = bj_case_status;
 					// }
 					// 水域类别
-					if (item.prop === 'water_category') {
+					if (item.prop === 'waterAreaType') {
 						item.options = bj_water_category;
 					}
 					// 船舶种类
-					if (item.prop === 'shipType') {
+					if (item.prop === 'shipSort') {
 						item.options = bj_ship_type;
 					}
 					// // 海内河船
@@ -135,11 +135,11 @@ const getTreeCheck = async data => {
 					// 	item.options = bj_maritime_and_river_vessels;
 					// }
 					// 海上案号和案由
-					if (item.prop === 'maritime_case_number_cause_of_action') {
+					if (item.prop === 'seaCaseNoReason') {
 						item.options = bj_maritime_case_number_cause_of_action;
 					}
 					// 内河案号和案由
-					if (item.prop === 'inland_river_case_number_cause_of_action') {
+					if (item.prop === 'inlandCaseNoReason') {
 						item.options = bj_inland_river_case_number_cause_of_action;
 					}
 				});
@@ -148,17 +148,15 @@ const getTreeCheck = async data => {
 
 			break;
 		case '4':
-			focusTrackShipDetailConfig.params.id = data[1];
-			focusTrackShipDetailConfig.params.type = data[0];
 			focusTrackShipDetailConfig?.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// -------- 重点跟踪船舶通报信息模型-----------
-					// 列时间范围
-					if (item.prop === 'inclusion_time_range') {
+					// 列时间范围
+					if (item.prop === 'addDateRange') {
 						item.options = bj_scope_time_inspection;
 					}
 					// 审核状态
-					if (item.prop === 'review_status') {
+					if (item.prop === 'auditStatus') {
 						item.options = bj_review_status;
 					}
 				});
@@ -167,21 +165,19 @@ const getTreeCheck = async data => {
 
 			break;
 		case '5':
-			operationShipInspectionDetailConfig.params.id = data[1];
-			operationShipInspectionDetailConfig.params.type = data[0];
 			operationShipInspectionDetailConfig?.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// -------- 运营检验监督船舶检验通报信息模型 -----------
-					// 检查范围
-					if (item.prop === 'scope_time_inspection') {
+					// 检查时间范围
+					if (item.prop === 'checkRange') {
 						item.options = bj_scope_time_inspection;
 					}
 					// 检查状态
-					if (item.prop === 'check_status') {
+					if (item.prop === 'checkStatus') {
 						item.options = bj_check_status;
 					}
 					// 检查结论
-					if (item.prop === 'inspection_conclusion') {
+					if (item.prop === 'checkResult') {
 						item.options = bj_inspection_conclusion;
 					}
 				});
@@ -190,21 +186,19 @@ const getTreeCheck = async data => {
 
 			break;
 		case '6':
-			buildShipInspectionDetailConfig.params.id = data[1];
-			buildShipInspectionDetailConfig.params.type = data[0];
 			buildShipInspectionDetailConfig?.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// -------- 建造检验监督船舶检验通报信息模型 -----------
-					// 检查范围
-					if (item.prop === 'scopeInspection') {
+					// 检查时间范围
+					if (item.prop === 'checkRange') {
 						item.options = bj_scope_time_inspection;
 					}
 					// 检查状态
-					if (item.prop === 'check_status') {
+					if (item.prop === 'checkStatus') {
 						item.options = bj_check_status;
 					}
 					// 检查结论
-					if (item.prop === 'inspection_conclusion') {
+					if (item.prop === 'checkResult') {
 						item.options = bj_inspection_conclusion;
 					}
 				});
@@ -213,17 +207,15 @@ const getTreeCheck = async data => {
 
 			break;
 		case '7':
-			keyShipCompanyDetailConfig.params.id = data[1];
-			keyShipCompanyDetailConfig.params.type = data[0];
 			keyShipCompanyDetailConfig?.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// -------- 重点跟踪航运公司通报信息模型-----------
-					// 列时间范围
-					if (item.prop === 'inclusion_time_range') {
+					// 列时间范围
+					if (item.prop === 'addDateRange') {
 						item.options = bj_scope_time_inspection;
 					}
 					// 检查状态
-					if (item.prop === 'check_status') {
+					if (item.prop === 'checkStatus') {
 						item.options = bj_check_status;
 					}
 				});
@@ -232,21 +224,19 @@ const getTreeCheck = async data => {
 
 			break;
 		case '8':
-			importExportPortReportDetailConfig.params.id = data[1];
-			importExportPortReportDetailConfig.params.type = data[0];
 			importExportPortReportDetailConfig?.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// -------- 进出口岸报告通报信息模型 -----------
-					// 申请范围
-					if (item.prop === 'scope_time_application') {
+					// 申请时间范围
+					if (item.prop === 'applyRange') {
 						item.options = bj_scope_time_application;
 					}
 					// 报给机构
-					if (item.prop === 'report_to_institutions') {
+					if (item.prop === 'reportOrganization') {
 						item.options = bj_report_to_institutions;
 					}
 					// 进出港
-					if (item.prop === 'arrival_and_departure') {
+					if (item.prop === 'inOutPort') {
 						item.options = bj_arrival_and_departure;
 					}
 					// // 滞留
@@ -267,25 +257,23 @@ const getTreeCheck = async data => {
 
 			break;
 		case '9':
-			siteSafetySupervisionInspectionDetailConfig.params.id = data[1];
-			siteSafetySupervisionInspectionDetailConfig.params.type = data[0];
 			siteSafetySupervisionInspectionDetailConfig?.formItems?.forEach((db, groupIndex) => {
 				db?.forEach(item => {
 					// -------- 现场安全监督检查通报信息模型 -----------
-					// 检查范围
-					if (item.prop === 'scope_time_inspection') {
+					// 检查时间范围
+					if (item.prop === 'checkRange') {
 						item.options = bj_scope_time_inspection;
 					}
 					// 初复查标志
-					if (item.prop === 'initial_review_mark') {
+					if (item.prop === 'checkType') {
 						item.options = bj_initial_review_mark;
 					}
 					// 报给机构
-					if (item.prop === 'report_to_institutions') {
+					if (item.prop === 'reportOrganization') {
 						item.options = bj_report_to_institutions;
 					}
 					// // 滞留
-					// if (item.prop === 'detain') {
+					// if (item.prop === 'retention') {
 					// 	item.options = bj_detain;
 					// }
 					// 六个月无进出口港报告申请日期
@@ -293,9 +281,9 @@ const getTreeCheck = async data => {
 						item.options = bj_six_months_without_application_data;
 					}
 					// 检查内容
-					// if (item.prop === 'inspection_content') {
-					// 	item.options = bj_inspection_content;
-					// }
+					if (item.prop === 'checkContent') {
+						item.options = bj_inspection_content;
+					}
 				});
 			});
 			detailConfig.value = siteSafetySupervisionInspectionDetailConfig;
@@ -305,7 +293,6 @@ const getTreeCheck = async data => {
 		default:
 			break;
 	}
-	console.log(detailConfig.value);
 };
 </script>