Browse Source

通报模型配置

Luka 1 ngày trước cách đây
mục cha
commit
f70c05cfe2

+ 1 - 1
src/plugins/dictData.ts

@@ -23,4 +23,4 @@ export const bj_status = outTypeList('bj_status'); // 状态
 export const bj_international_domestic = outTypeList('bj_international_domestic'); // 国际/国内
 export const bj_illegal_information = outTypeList('bj_illegal_information'); // 违法信息
 export const bj_nl_released_status = outTypeList('bj_nl_released_status'); //通报事项清单发布状态
-export const bj_scope_inspection = outTypeList('bj_scope_inspection'); // 检查范围
+export const bj_scope_time_inspection = outTypeList('bj_scope_time_inspection'); // 检查时间范围

+ 17 - 6
src/views/notifyModelCfg/components/treeSelect.vue

@@ -94,7 +94,7 @@ treeData.value = [
 	},
 	{
 		parentId: 0,
-		label: '船舶检验通报信息模型',
+		label: '运营检验监督船舶检验通报信息模型',
 		value: 5,
 		type: '5',
 		children: [
@@ -105,23 +105,34 @@ treeData.value = [
 	},
 	{
 		parentId: 0,
-		label: '重点跟踪航运公司通报信息模型',
+		label: '建造检验监督船舶检验通报信息模型',
 		value: 6,
 		type: '6',
-		children: [{ parentId: 6, label: '被列入后脱离重点跟踪航运公司的', value: 22, type: '6' }],
+		children: [
+			{ parentId: 5, label: '船舶存在检验重大质量问题', value: 19, type: '5' },
+			{ parentId: 5, label: '船舶修造企业相关违法违规行为', value: 20, type: '5' },
+			{ parentId: 5, label: '航运公司安全管理相关信息及突出违法行为', value: 21, type: '5' },
+		],
 	},
 	{
 		parentId: 0,
-		label: '进出口岸报告通报信息模型',
+		label: '重点跟踪航运公司通报信息模型',
 		value: 7,
 		type: '7',
-		children: [{ parentId: 7, label: '被列入后脱离重点跟踪航运公司的', value: 23, type: '7' }],
+		children: [{ parentId: 6, label: '被列入后脱离重点跟踪航运公司的', value: 22, type: '6' }],
 	},
 	{
 		parentId: 0,
-		label: '现场安全监督检查通报信息模型',
+		label: '进出口岸报告通报信息模型',
 		value: 8,
 		type: '8',
+		children: [{ parentId: 7, label: '被列入后脱离重点跟踪航运公司的', value: 23, type: '7' }],
+	},
+	{
+		parentId: 0,
+		label: '现场安全监督检查通报信息模型',
+		value: 9,
+		type: '9',
 		children: [{ parentId: 8, label: '船籍港管理相关信息', value: 24, type: '8' }],
 	},
 ];

+ 32 - 31
src/views/notifyModelCfg/config/administrative.penalty.detail.config.ts

@@ -37,10 +37,11 @@ const modalConfig = {
 	formItems: [
 		{
 			label: '通报标准或具体行为列举',
-			prop: 'notificationStandards',
-			type: 'textarea',
+			prop: 'notification_standards',
+			type: 'select',
 			span: 24,
-			placeholder: '请输入通报标准或具体行为列举',
+			multiple: true,
+			placeholder: '请选择通报标准或具体行为列举',
 		},
 		{
 			label: '处罚决定时间',
@@ -51,16 +52,16 @@ const modalConfig = {
 			options: [] as OptionsType[],
 			placeholder: '请选择处罚决定时间',
 		},
-		{
-			label: '案件状态',
-			prop: 'case_status',
-			type: 'select',
-			multiple: false,
-			disabled: true,
-			span: 12,
-			options: [] as OptionsType[],
-			placeholder: '请选择案件状态',
-		},
+		// {
+		// 	label: '案件状态',
+		// 	prop: 'case_status',
+		// 	type: 'select',
+		// 	multiple: false,
+		// 	disabled: true,
+		// 	span: 12,
+		// 	options: [] as OptionsType[],
+		// 	placeholder: '请选择案件状态',
+		// },
 		{
 			label: '水域类别',
 			prop: 'water_category',
@@ -79,24 +80,24 @@ const modalConfig = {
 			options: [] as OptionsType[],
 			placeholder: '请选择船舶种类',
 		},
-		{
-			label: '海内河船',
-			prop: 'maritime_and_river_vessels',
-			type: 'select',
-			multiple: true,
-			span: 12,
-			options: [] as OptionsType[],
-			placeholder: '请选择海内河船',
-		},
-		{
-			label: '省际客船',
-			prop: 'interprovincial_passenger_ships',
-			type: 'select',
-			multiple: true,
-			span: 12,
-			options: [] as OptionsType[],
-			placeholder: '请选择省际客船',
-		},
+		// {
+		// 	label: '海内河船',
+		// 	prop: 'maritime_and_river_vessels',
+		// 	type: 'select',
+		// 	multiple: true,
+		// 	span: 12,
+		// 	options: [] as OptionsType[],
+		// 	placeholder: '请选择海内河船',
+		// },
+		// {
+		// 	label: '省际客船',
+		// 	prop: 'interprovincial_passenger_ships',
+		// 	type: 'select',
+		// 	multiple: true,
+		// 	span: 12,
+		// 	options: [] as OptionsType[],
+		// 	placeholder: '请选择省际客船',
+		// },
 
 		{
 			label: '海上案号和案由',

+ 10 - 20
src/views/notifyModelCfg/config/ship.inspection.detail.config.ts → src/views/notifyModelCfg/config/build.ship.inspection.detail.config.ts

@@ -4,7 +4,7 @@ interface OptionsType {
 }
 const modalConfig = {
 	pageName: 'lonm',
-	addTitle: '船舶检验通报信息模型',
+	addTitle: '建造检验监督船舶检验通报信息模型',
 	editTitle: '船舶检验通报信息模型',
 	detailTitle: '船舶检验通报信息模型',
 	labelWidth: '200px',
@@ -36,31 +36,21 @@ const modalConfig = {
 	},
 	formItems: [
 		{
-			label: '业务数据来源',
-			prop: 'notificationStandards',
-			type: 'radio',
-			span: 24,
-			options: [
-				{ value: 1, label: '运营检验监督' },
-				{ value: 2, label: '建造检验监督' },
-			],
-			placeholder: '请选择业务数据来源',
-		},
-		{
 			label: '通报标准或具体行为列举',
-			prop: 'notificationStandards',
-			type: 'textarea',
+			prop: 'notification_standards',
+			type: 'select',
 			span: 24,
-			placeholder: '请输入通报标准或具体行为列举',
+			multiple: true,
+			placeholder: '请选择通报标准或具体行为列举',
 		},
 		{
-			label: '检查范围',
-			prop: 'scopeInspection',
-			multiple: false,
+			label: '检查时间范围',
+			prop: 'scope_time_inspection',
 			type: 'select',
+			multiple: false,
 			span: 12,
 			options: [] as OptionsType[],
-			placeholder: '请选择检查范围',
+			placeholder: '请选择时间范围',
 		},
 		{
 			label: '检查状态',
@@ -75,7 +65,7 @@ const modalConfig = {
 			label: '检查结论',
 			prop: 'inspection_conclusion',
 			type: 'select',
-			multiple: false,
+			multiple: true,
 			span: 24,
 			options: [] as OptionsType[],
 			placeholder: '请选择检查结论',

+ 6 - 5
src/views/notifyModelCfg/config/focus.track.ship.detail.config.ts

@@ -37,14 +37,15 @@ const modalConfig = {
 	formItems: [
 		{
 			label: '通报标准或具体行为列举',
-			prop: 'notificationStandards',
-			type: 'textarea',
+			prop: 'notification_standards',
+			type: 'select',
 			span: 24,
-			placeholder: '请输入通报标准或具体行为列举',
+			multiple: true,
+			placeholder: '请选择通报标准或具体行为列举',
 		},
 		{
-			label: '检查范围',
-			prop: 'scopeInspection',
+			label: '入列时间范围',
+			prop: 'inclusion_time_range',
 			type: 'select',
 			multiple: false,
 			span: 12,

+ 90 - 0
src/views/notifyModelCfg/config/operation.ship.inspection.detail.config.ts

@@ -0,0 +1,90 @@
+interface OptionsType {
+	label: string;
+	value: string;
+}
+const modalConfig = {
+	pageName: 'lonm',
+	addTitle: '运营检验监督船舶检验通报信息模型',
+	editTitle: '运营检验监督船舶检验通报信息模型',
+	detailTitle: '运营检验监督船舶检验通报信息模型',
+	labelWidth: '200px',
+	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' }],
+	},
+	pageListParams: {
+		type: 1,
+		id: 1,
+	},
+	formItems: [
+		{
+			label: '通报标准或具体行为列举',
+			prop: 'notification_standards',
+			type: 'select',
+			span: 24,
+			multiple: true,
+			placeholder: '请选择通报标准或具体行为列举',
+		},
+		{
+			label: '检查时间范围',
+			prop: 'scope_time_inspection',
+			type: 'select',
+			multiple: false,
+			span: 12,
+			options: [] as OptionsType[],
+			placeholder: '请选择时间范围',
+		},
+		{
+			label: '检查状态',
+			prop: 'check_status',
+			type: 'select',
+			multiple: false,
+			span: 12,
+			options: [] as OptionsType[],
+			placeholder: '请选择检查状态',
+		},
+		{
+			label: '检查结论',
+			prop: 'inspection_conclusion',
+			type: 'select',
+			multiple: true,
+			span: 24,
+			options: [] as OptionsType[],
+			placeholder: '请选择检查结论',
+		},
+		{
+			label: '业务规则识别',
+			prop: 'business_rule_recognition',
+			type: 'textarea',
+			span: 24,
+			placeholder: '请输入业务规则识别',
+		},
+		{
+			label: '业务规则识别样例',
+			prop: 'business_rule_recognition_demo',
+			type: 'textarea',
+			span: 24,
+			placeholder: '请输入业务规则识别样例',
+		},
+	],
+};
+
+export default modalConfig;

+ 5 - 12
src/views/notifyModelCfg/config/security.check.detail.config.ts

@@ -38,15 +38,15 @@ const modalConfig = {
 	formItems: [
 		{
 			label: '通报标准或具体行为列举',
-			prop: 'notificationStandards',
+			prop: 'notification_standards',
 			type: 'select',
 			span: 24,
-			multiple: false,
+			multiple: true,
 			placeholder: '请选择通报标准或具体行为列举',
 		},
 		{
-			label: '检查范围',
-			prop: 'scopeInspection',
+			label: '检查时间范围',
+			prop: 'scope_time_inspection',
 			type: 'select',
 			multiple: false,
 			span: 12,
@@ -72,7 +72,7 @@ const modalConfig = {
 			placeholder: '请选择船舶种类',
 		},
 		{
-			label: '缺陷代码',
+			label: '缺陷代码和描述',
 			prop: 'defect_code_and_desc',
 			type: 'select',
 			multiple: true,
@@ -88,13 +88,6 @@ const modalConfig = {
 			placeholder: '请输入备注',
 		},
 		{
-			label: '处理意见代码和说明',
-			prop: 'handle_suggestion_code_explanation',
-			type: 'textarea',
-			span: 24,
-			placeholder: '请输入处理意见代码和说明',
-		},
-		{
 			label: '业务规则识别',
 			prop: 'business_rule_recognition',
 			type: 'textarea',

+ 7 - 6
src/views/notifyModelCfg/config/ship.registration.detail.config.ts

@@ -37,19 +37,20 @@ const modalConfig = {
 	formItems: [
 		{
 			label: '通报标准或具体行为列举',
-			prop: 'notificationStandards',
-			type: 'textarea',
+			prop: 'notification_standards',
+			type: 'select',
 			span: 24,
-			placeholder: '请输入通报标准或具体行为列举',
+			multiple: true,
+			placeholder: '请选择通报标准或具体行为列举',
 		},
 		{
-			label: '检查范围',
-			prop: 'check_scope',
+			label: '检查时间范围',
+			prop: 'scope_time_inspection',
 			type: 'select',
 			multiple: false,
 			span: 12,
 			options: [] as OptionsType[],
-			placeholder: '请选择检查范围',
+			placeholder: '请选择时间范围',
 		},
 		{
 			label: '船舶登记状态',

+ 48 - 28
src/views/notifyModelCfg/index.vue

@@ -10,7 +10,8 @@ import securityCheckDetailConfig from './config/security.check.detail.config';
 import shipRegistratioDdetailConfig from './config/ship.registration.detail.config';
 import administrativePenaltyDetailConfig from '@/views/notifyModelCfg/config/administrative.penalty.detail.config';
 import focusTrackShipDetailConfig from './config/focus.track.ship.detail.config';
-import shipInspectionDetailConfig from './config/ship.inspection.detail.config';
+import buildShipInspectionDetailConfig from './config/build.ship.inspection.detail.config';
+import operationShipInspectionDetailConfig from './config/operation.ship.inspection.detail.config';
 import keyShipCompanyDetailConfig from './config/key.ship.company.detail.config';
 import importExportPortReportDetailConfig from './config/import.export.port.report.detail.config';
 import siteSafetySupervisionInspectionDetailConfig from './config/site.safety.supervision.inspection.detail.config';
@@ -21,7 +22,7 @@ import useSystemStore from '@/store/main';
 import TreeSelect from './components/treeSelect.vue';
 import {
 	bj_ship_type,
-	bj_scope_inspection,
+	bj_scope_time_inspection,
 	bj_inspection_conclusion,
 	bj_reason_deregistration,
 	bj_initial_review_mark,
@@ -64,9 +65,9 @@ const getTreeCheck = async data => {
 		case '1':
 			securityCheckDetailConfig.formItems?.forEach(item => {
 				// --------- 安全检查通报信息模型 ------------
-				// 检查范围
-				if (item.prop === 'scopeInspection') {
-					item.options = bj_scope_inspection;
+				// 检查时间范围
+				if (item.prop === 'scope_time_inspection') {
+					item.options = bj_scope_time_inspection;
 				}
 				// 初复查标志
 				if (item.prop === 'initial_review_mark') {
@@ -88,9 +89,9 @@ const getTreeCheck = async data => {
 			shipRegistratioDdetailConfig.formItems?.forEach(item => {
 				// ---------船舶登记通报信息模型----------
 
-				// 检查范围
-				if (item.prop === 'scopeInspection') {
-					item.options = bj_scope_inspection;
+				// 检查时间范围
+				if (item.prop === 'scope_time_inspection') {
+					item.options = bj_scope_time_inspection;
 				}
 				// 船舶登记状态
 				if (item.prop === 'ship_registration_status') {
@@ -110,12 +111,12 @@ const getTreeCheck = async data => {
 
 				// 处罚决定时间
 				if (item.prop === 'penalty_decision_time') {
-					item.options = bj_scope_inspection;
-				}
-				// 案件状态
-				if (item.prop === 'case_status') {
-					item.options = bj_case_status;
+					item.options = bj_scope_time_inspection;
 				}
+				// // 案件状态
+				// if (item.prop === 'case_status') {
+				// 	item.options = bj_case_status;
+				// }
 				// 水域类别
 				if (item.prop === 'water_category') {
 					item.options = bj_water_category;
@@ -124,10 +125,10 @@ const getTreeCheck = async data => {
 				if (item.prop === 'shipType') {
 					item.options = bj_ship_type;
 				}
-				// 海内河船
-				if (item.prop === 'maritime_and_river_vessels') {
-					item.options = bj_maritime_and_river_vessels;
-				}
+				// // 海内河船
+				// if (item.prop === 'maritime_and_river_vessels') {
+				// 	item.options = bj_maritime_and_river_vessels;
+				// }
 				// 海上案号和案由
 				if (item.prop === 'maritime_case_number_cause_of_action') {
 					item.options = bj_maritime_case_number_cause_of_action;
@@ -143,9 +144,9 @@ const getTreeCheck = async data => {
 		case '4':
 			focusTrackShipDetailConfig?.formItems?.forEach(item => {
 				// -------- 重点跟踪船舶通报信息模型-----------
-				// 检查范围
-				if (item.prop === 'scopeInspection') {
-					item.options = bj_scope_inspection;
+				// 入列时间范围
+				if (item.prop === 'inclusion_time_range') {
+					item.options = bj_scope_time_inspection;
 				}
 				// 审核状态
 				if (item.prop === 'review_status') {
@@ -156,11 +157,11 @@ const getTreeCheck = async data => {
 
 			break;
 		case '5':
-			shipInspectionDetailConfig?.formItems?.forEach(item => {
-				// -------- 船舶检验通报信息模型 -----------
+			operationShipInspectionDetailConfig?.formItems?.forEach(item => {
+				// -------- 运营检验监督船舶检验通报信息模型 -----------
 				// 检查范围
-				if (item.prop === 'scopeInspection') {
-					item.options = bj_scope_inspection;
+				if (item.prop === 'scope_time_inspection') {
+					item.options = bj_scope_time_inspection;
 				}
 				// 检查状态
 				if (item.prop === 'check_status') {
@@ -171,15 +172,34 @@ const getTreeCheck = async data => {
 					item.options = bj_inspection_conclusion;
 				}
 			});
-			detailConfig.value = shipInspectionDetailConfig;
+			detailConfig.value = operationShipInspectionDetailConfig;
 
 			break;
 		case '6':
+			buildShipInspectionDetailConfig?.formItems?.forEach(item => {
+				// -------- 建造检验监督船舶检验通报信息模型 -----------
+				// 检查范围
+				if (item.prop === 'scopeInspection') {
+					item.options = bj_scope_time_inspection;
+				}
+				// 检查状态
+				if (item.prop === 'check_status') {
+					item.options = bj_check_status;
+				}
+				// 检查结论
+				if (item.prop === 'inspection_conclusion') {
+					item.options = bj_inspection_conclusion;
+				}
+			});
+			detailConfig.value = buildShipInspectionDetailConfig;
+
+			break;
+		case '7':
 			keyShipCompanyDetailConfig?.formItems?.forEach(item => {
 				// -------- 重点跟踪航运公司通报信息模型-----------
 				// 入列时间范围
 				if (item.prop === 'inclusion_time_range') {
-					item.options = bj_scope_inspection;
+					item.options = bj_scope_time_inspection;
 				}
 				// 检查状态
 				if (item.prop === 'check_status') {
@@ -189,7 +209,7 @@ const getTreeCheck = async data => {
 			detailConfig.value = keyShipCompanyDetailConfig;
 
 			break;
-		case '7':
+		case '8':
 			importExportPortReportDetailConfig?.formItems?.forEach(item => {
 				// -------- 进出口岸报告通报信息模型 -----------
 				// 申请范围
@@ -220,7 +240,7 @@ const getTreeCheck = async data => {
 			detailConfig.value = importExportPortReportDetailConfig;
 
 			break;
-		case '8':
+		case '9':
 			siteSafetySupervisionInspectionDetailConfig?.formItems?.forEach(item => {
 				// -------- 现场安全监督检查通报信息模型 -----------
 				// 检查范围