Parcourir la source

1、超期提醒联调。2、事项清单查询列表变为dialog

Liuzhenyu il y a 1 mois
Parent
commit
01f10c75ca

+ 18 - 0
src/api/notificationInfoManage/globalParam.ts

@@ -0,0 +1,18 @@
+import request from "@/utils/request";
+
+// 新增超期提醒
+export function addOverdueReminderApi(data) {
+    return request({
+        url: 'business/or',
+        method: 'post',
+        data
+    })
+}
+
+// 获取超期提醒
+export function getOverdueReminderApi() {
+    return request({
+        url: 'business/or',
+        method: 'get',
+    })
+}

+ 1 - 1
src/components/FileUpload/index.vue

@@ -80,7 +80,7 @@ const props = defineProps({
 	},
 	action: {
 		type: String,
-		default: 'business/common/upload',
+		default: '/file/upload',
 	},
 	// 按钮文字
 	btnText: {

+ 7 - 0
src/components/components/pageContent.vue

@@ -24,6 +24,13 @@
 											<slot :name="item.slotName" v-bind="scope"></slot>
 									</template>
 							</el-table-column>
+							<!--  -->
+							<el-table-column type="expand" :fixed="item.fixed" align="center" v-bind="item"
+									v-else-if="item.type === 'expand'">
+									<template #default="scope">
+											<slot :name="item.slotName" v-bind="scope"></slot>
+									</template>
+							</el-table-column>
 
 							<!-- 自定义类 -->
 							<el-table-column show-overflow-tooltip :fixed="item.fixed" :key="item.label"

+ 13 - 10
src/components/notificationDetailsParts/mattersListDrawer.vue

@@ -1,12 +1,11 @@
 <template>
-  <div class="ship-info-drawer">
-    <el-drawer
+  <div class="ship-info-dialog">
+    <el-dialog
       :model-value="visible"
       @close="emit('update:visible', false)"
       title="事项清单查询列表"
-      :with-header="true"
       :close-on-click-modal="false"
-      size="70%"
+      width="70%"
     >
       <!-- 搜索区域 -->
       <div class="search-container">
@@ -129,7 +128,7 @@
           />
         </div>
       </div>
-    </el-drawer>
+    </el-dialog>
   </div>
 </template>
 
@@ -152,7 +151,7 @@ const tableData = ref<any[]>([]);
 const pagination = reactive({ currentPage: 1, pageSize: 10, total: 0 });
 const searchForm = reactive({ reportType: '', deliveryUnit: '' });
 
-// 监听抽屉打开/关闭
+// 监听对话框打开/关闭
 watch(
   () => props.visible,
   (newVal) => {
@@ -170,7 +169,7 @@ const fetchTableData = async() => {
   pagination.total = tableData.value.length;
 };
 
-// 确认选择(向父组件传递选中数据并关闭抽屉
+// 确认选择(向父组件传递选中数据并关闭对话框
 const confirmSelection = (row) => {
     emit('selectedRow', row);
     emit('update:visible', false);
@@ -183,13 +182,18 @@ const handleReset = () => Object.assign(searchForm, { reportType: '', deliveryUn
 </script>
 
 <style scoped lang="scss">
-.ship-info-drawer {
-  :deep(.el-drawer__header) {
+.ship-info-dialog {
+  /* 保持原有样式不变 */
+  :deep(.el-dialog__header) {
     background-color: #163a8a !important; 
     margin: 0 !important;
     padding: 20px !important;
     color: white !important;
   }
+  
+  :deep(.el-dialog__title) {
+    color: #fff;
+  }
 }
 /* 选中行高亮样式 */
 .selected-row {
@@ -204,5 +208,4 @@ const handleReset = () => Object.assign(searchForm, { reportType: '', deliveryUn
   padding: 15px;
   margin-top: 20px;
 }
-
 </style>

+ 6 - 3
src/components/notificationDetailsParts/waterSafetyInformation.vue

@@ -275,7 +275,9 @@ const drawerVisible = ref(false);
 
 const unitOptions: any = ref<TreeOptions[]>();
 
-const deptStore = useDeptStore()
+const deptStore = useDeptStore();
+
+const currentIndex = ref(0);
 
 // 初始化
 onMounted(async() => {
@@ -313,12 +315,13 @@ const fetchNoticeData = () => {
 };
 
 // 通报事项选择
-const onClickNotice = (id: number) => {
+const onClickNotice = (index: number) => {
+	currentIndex.value = index
 	drawerVisible.value = true;
 };
 
 const selectedRow = (row: any) => {
-	noticeItems.value[noticeItems.value.length - 1] = row;
+	noticeItems.value[currentIndex.value] = row;
 	noticeItems.value.forEach(item => item.middleIdList = []);
 	drawerVisible.value = false;
 };

+ 1 - 2
src/views/notificationInfoInquiry/securityCheck/config/search.config.ts

@@ -79,10 +79,9 @@ const searchConfig = {
 		},
 		{
 			label: '检查机构', //todo
-			prop: 'check_agency',
 			type: 'custom',
+			prop: 'checkAgency',
 			slotName: 'checkAgency',
-			options: [] as Inew[],
 			span: 6,
 		},
 		{

+ 43 - 34
src/views/notificationInfoManage/globalparam/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<div class="globalparam-box" v-loading="devLoading">
+	<div class="box" v-loading="devLoading">
 		<pageTitle :title="title"></pageTitle>
 		<div class="form">
 			<el-form
@@ -12,46 +12,46 @@
 			>
 				<el-row>
 					<el-col :span="8">
-						<el-form-item label="接收超期(天)" prop="receParamValue">
+						<el-form-item label="接收超期(天)" prop="receiveOverdueDay">
 							<el-input-number
 								:precision="0"
 								:min="1"
 								:max="99"
 								placeholder="请输入接收超期时限时间"
-								v-model="dataForm.receParamValue"
+								v-model="dataForm.receiveOverdueDay"
 								class="in-put"
 							></el-input-number>
 						</el-form-item>
 					</el-col>
 					<el-col :span="8">
-						<el-form-item label="处理超期(月)" prop="handParamValue">
+						<el-form-item label="处理超期(月)" prop="handlingOverdueMonth">
 							<el-input-number
 								:precision="0"
 								:min="1"
 								:max="12"
 								placeholder="请输入处理超期时限时间"
-								v-model="dataForm.handParamValue"
+								v-model="dataForm.handlingOverdueMonth"
 								class="in-put"
 							></el-input-number>
 						</el-form-item>
 					</el-col>
 					<el-col :span="8">
-						<el-form-item label="处置完成超期(天)" prop="closParamValue">
+						<el-form-item label="处置完成超期(天)" prop="dcoDay">
 							<el-input-number
 								:precision="0"
 								:min="1"
 								:max="99"
 								placeholder="请输入处置完成时限时间"
-								v-model="dataForm.closParamValue"
+								v-model="dataForm.dcoDay"
 								class="in-put"
 							></el-input-number>
 						</el-form-item>
 					</el-col>
 				</el-row>
 
-				<el-form-item label="假期列表" prop="holidayParamValue">
+				<el-form-item label="假期列表" prop="holidayList">
 					<el-input
-						v-model="dataForm.holidayParamValue"
+						v-model="dataForm.holidayList"
 						maxlength="2000"
 						show-word-limit
 						:autosize="{ minRows: 3 }"
@@ -59,9 +59,9 @@
 						placeholder="请输入假期列表,仅允许输入数字,用英文逗号分隔,内容2000字以内"
 					/>
 				</el-form-item>
-				<el-form-item label="调休列表" prop="txdateParamValue">
+				<el-form-item label="调休列表" prop="locdo">
 					<el-input
-						v-model="dataForm.txdateParamValue"
+						v-model="dataForm.locdo"
 						maxlength="2000"
 						show-word-limit
 						:autosize="{ minRows: 3 }"
@@ -83,13 +83,8 @@ import { ref, reactive } from 'vue';
 import type { FormInstance, FormRules } from 'element-plus';
 import pageTitle from '@/components/components/pageTitle.vue';
 import useSystemStore from '@/store/main';
-const dataForm = reactive<any>({
-	receParamValue: 5,
-	handParamValue: 1,
-	closParamValue: 5,
-	holidayParamValue: '',
-	txdateParamValue: '',
-});
+import { getOverdueReminderApi, addOverdueReminderApi } from '@/api/notificationInfoManage/globalParam';
+const dataForm = reactive<any>({});
 const dataFormRef = ref<FormInstance>();
 const title = '超期提醒';
 const systemStore = useSystemStore();
@@ -108,29 +103,30 @@ const validateHoliday = (rule: any, value: string, callback: (err?: Error) => vo
 	callback();
 };
 const dataRule: FormRules = {
-	receParamValue: [{ required: true, message: '请输入接收超期时限时间', trigger: 'blur' }],
-	handParamValue: [{ required: true, message: '请输入处理超期时限时间', trigger: 'blur' }],
-	closParamValue: [{ required: true, message: '请输入关闭时限时间', trigger: 'blur' }],
-	holidayParamValue: [
+	receiveOverdueDay: [{ required: true, message: '请输入接收超期时限时间', trigger: 'blur' }],
+	handlingOverdueMonth: [{ required: true, message: '请输入处理超期时限时间', trigger: 'blur' }],
+	dcoDay: [{ required: true, message: '请输入完成超期时限时间', trigger: 'blur' }],
+	holidayList: [
 		{ required: true, message: '请输入假期列表', trigger: 'blur' },
 		{ validator: validateHoliday, trigger: 'blur' },
 	],
-	txdateParamValue: [
+	locdo: [
 		{ required: true, message: '请输入调休列表', trigger: 'blur' },
 		{ validator: validateHoliday, trigger: 'blur' },
 	],
 };
 // 点击确定
 function handleConfirmClick(formEl: FormInstance | undefined) {
-	ElMessage.success('小编在努力开发中。。。');
-	return;
 	if (!formEl) return;
-	formEl.validate((valid, fields) => {
+	formEl?.validate((valid, fields) => {
 		if (valid) {
-			ElMessage({
-				type: 'success',
-				message: '您已保存成功',
-			});
+			addOverdueReminder(dataForm).then((res: any) => {
+				if (res.code === 200) {
+					ElMessage.success(res.msg)
+				} else {
+					ElMessage.error(res.msg)
+				}
+			})
 		} else {
 			console.log('error submit!', fields);
 		}
@@ -144,9 +140,9 @@ function getOverTime() {
 	// 	const data = response.data;
 	// 	if (data.code === 0) {
 	// 		devLoading.value = false;
-	// 		dataForm.receParamValue = parseInt(dataForm.receParamValue);
-	// 		dataForm.handParamValue = parseInt(dataForm.handParamValue);
-	// 		dataForm.closParamValue = parseInt(dataForm.closParamValue);
+	// 		dataForm.receiveOverdueDay = parseInt(dataForm.receiveOverdueDay);
+	// 		dataForm.handlingOverdueMonth = parseInt(dataForm.handlingOverdueMonth);
+	// 		dataForm.handlingOverdueMonth = parseInt(dataForm.handlingOverdueMonth);
 	// 		dataString.value = JSON.stringify(dataForm);
 	// 	} else {
 	// 		devLoading.value = false;
@@ -158,10 +154,23 @@ function getOverTime() {
 	// });
 }
 getOverTime();
+
+const getOverdueReminder = async () => {
+	await getOverdueReminderApi().then(res => {
+		Object.assign(dataForm, res.data)
+	})
+}
+
+const addOverdueReminder = async (data) => {
+	return await addOverdueReminderApi(data)
+}
+onMounted(async () => {
+	await getOverdueReminder()
+})
 </script>
 
 <style lang="scss" scoped>
-.globalparam-box {
+.box {
 	background-color: #fff;
 	margin: 20px;
 	padding: 15px 20px 20px 20px;

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

@@ -7,8 +7,8 @@ const contentConfig = {
 		{ type: 'index', label: '序号', fixed: true  },
 		{ type: 'normal', label: '违法事件编号', prop: 'violationNumber', width: 140  },
 		{ type: 'normal', label: '发布单位', prop: 'releasedUnit', width: 140 },
-		{ type: 'normal', label: '船舶名称', prop: 'chineseVesselName', width: 140 },
-		{ type: 'normal', label: '通报事项类别', prop: 'conmStr', width: 120 },
+		{ type: 'normal', label: '船舶名称', prop: 'vesselName', width: 140 },
+		{ type: 'normal', label: '通报事项类别', prop: 'notificationMattersType', width: 120 },
 		{ type: 'normal', label: '通报事项', prop: 'notificationMatters' },
 		{ type: 'custom', label: '接收单位', slotName: 'names', width: 220 },
 		{ type: 'normal', label: '通报状整体状态', prop: 'releaseStatusStr', width: 220 },

+ 18 - 19
src/views/notificationInfoManage/myPublish/index.vue

@@ -9,9 +9,9 @@
 					</template>
 					<!-- 接收单位 -->
 					<template #names="scope">
-						<el-popover placement="bottom" :width="800" trigger="click">
+						<el-popover placement="bottom" width="80%" trigger="click">
 							<template #reference>
-								<div @click="onClickNames(scope.row.releasedId)" class="pointer">{{ scope.row.names }}</div>
+								<div @click="onClickNames(scope.row.releasedId)" class="pointer blue">{{ scope.row.names }}</div>
 							</template>
 							<div>
 								<div class="flex-ac mb10">
@@ -31,9 +31,21 @@
 								<el-table :data="mattersList">
 									<el-table-column show-overflow-tooltip prop="receivingUnitStr" label="接收单位" />
 									<el-table-column show-overflow-tooltip prop="userPhone" label="联络人电话" width="200" />
-									<el-table-column show-overflow-tooltip prop="notificationStatus" label="通报状态" />
-									<el-table-column show-overflow-tooltip prop="takeMeasures" label="采取措施" />
-									<el-table-column show-overflow-tooltip prop="overdueStatus" label="超期状态" />
+									<el-table-column show-overflow-tooltip prop="notificationStatus" label="通报状态">
+										<template #default="scope">
+											{{ getStatusLabel(notificationStatus, scope.row.notificationStatus) }}
+										</template>
+									</el-table-column>
+									<el-table-column show-overflow-tooltip prop="takeMeasures" label="采取措施">
+										<template #default="scope">
+											{{ getStatusLabel(takeMeasures, scope.row.takeMeasures) }}
+										</template>
+									</el-table-column>
+									<el-table-column show-overflow-tooltip prop="overdueStatus" label="超期状态">
+										<template #default="scope">
+											{{ getStatusLabel(overdueStatus, scope.row.overdueStatus) }}
+										</template>
+									</el-table-column>
 									<el-table-column show-overflow-tooltip prop="acceptanceDate" label="受理日期" />
 									<el-table-column fixed="right" label="操作">
 										<template #default>
@@ -73,21 +85,8 @@ import pageSearch from '@/components/components/pageSearch.vue';
 import useSystemStore from '@/store/main';
 import { outTypeList, getStatusLabel } from '@/libs/commonMeth';
 import { fetchNotificationMattersList, fetchReleaseDetail } from '@/api/notificationInfoManage/myPublish';
-// 通报整体状态
-const allNotificationStatus = outTypeList('bj_notify_os');
-// 通报事项类别
-const categoryOnm = outTypeList('bj_category_onm');
-// 通报状态
-const notificationStatus = outTypeList('bj_notification_status');
-// 是否需要反馈
-const isFeedback = outTypeList('bj_is_feedback');
-// 超期状态
-const overdueStatus = outTypeList('bj_overdue_status');
-// 采取措施
-const takeMeasures = outTypeList('bj_take_measures');
-
+import { notificationStatus, takeMeasures, overdueStatus, categoryOnm, isFeedback } from '@/plugins/dictData';
 const systemStore = useSystemStore();
-
 const total = ref(0);
 const pageSize = ref([10, 20, 30]);
 const tableData = ref([]);

+ 5 - 3
src/views/notificationInfoManage/myReceptionDisposal/index.vue

@@ -133,9 +133,11 @@ const operationActions: Record<string, OperationAction> = {
   },
   '6': {
     title: '补正',
-    confirmText: '是否确认补正?',
-    cancelText: '取消补正',
-    apiAction: (id) => operateThingApi({ notifiedMattersId: id, operationRecord: OPERATION_RECORD.CORRECTION })
+    action: (row) => handleDetails('edit', row.notifiedMattersId, row.operationRecord, OPERATION_RECORD.CORRECTION)
+    // title: '补正',
+    // confirmText: '是否确认补正?',
+    // cancelText: '取消补正',
+    // apiAction: (id) => operateThingApi({ notifiedMattersId: id, operationRecord: OPERATION_RECORD.CORRECTION })
   },
   '7': {
     title: '接受退回',