Browse Source

事项清单 ui 字段调整 及 我要发布首页

Luka 3 days ago
parent
commit
917b6305b9

+ 18 - 4
src/components/components/pageTitle.vue

@@ -1,5 +1,10 @@
 <template>
-	<div class="hero-title">{{ props.title }}</div>
+	<div
+		class="hero-title"
+		:style="'color:' + props.color + ';textAlign:' + props.textAlign + ';padding:' + props.padding"
+	>
+		{{ props.title }}
+	</div>
 </template>
 
 <script lang="ts" setup>
@@ -8,14 +13,23 @@ const props = defineProps({
 		type: String,
 		default: '',
 	},
+	color: {
+		type: String,
+		default: '#0253b0',
+	},
+	textAlign: {
+		type: String,
+		default: 'left',
+	},
+	padding: {
+		type: String,
+		default: '8px 15px',
+	},
 });
 </script>
 
 <style scoped lang="scss">
 .hero-title {
-	color: #0253b0;
-	text-align: left;
-	padding: 8px 15px;
 	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
 	box-shadow: 0 8px 20px #fcfeff;
 	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);

+ 1 - 1
src/router/index.ts

@@ -134,7 +134,7 @@ export const constantRoutes: RouteRecordRaw[] = [
 				path: 'switch',
 				component: () => import('@/views/illegalInfoSwitch/index.vue'),
 				name: 'switch',
-				meta: { title: '违法信息发布和关闭管理', icon: 'user' },
+				meta: { title: '我要发布', icon: 'user' },
 			},
 		],
 	},

+ 293 - 412
src/views/illegalInfoSwitch/components/detail.vue

@@ -1,441 +1,322 @@
 <template>
-    <div class="modal">
-        <el-dialog v-model="dialogVisible" :title="dialogTitle" :width="modalConfig.dialogWidth || '40%'" center
-            @close="handleExcel(ruleFormRef)" :close-on-click-modal="false">
-            <div class="form">
-                <el-form ref="ruleFormRef" :rules="modalConfig.formRules" :model="formData"
-                    :label-width="modalConfig.labelWidth || '100px'" size="large">
-                    <template v-for="item in modalConfig.formItems" :key="item.prop">
-                        <el-form-item :label="item.label" :prop="item.prop">
-                            <template v-if="item.type === 'input'">
-                                <el-input :disabled="item.disabled" v-model="formData[item.prop]"
-                                    :placeholder="item.placeholder" />
-                            </template>
-                            <template v-if="item.type === 'number'">
-                                <el-input v-model="formData[item.prop]" type="number" :min="0" :max="999999999999"
-                                    :disabled="item.disabled" :placeholder="item.placeholder"
-                                    @blur="onBlur(formData[item.prop], item.prop, item.numberType)" />
-                            </template>
-                            <template v-if="item.type === 'select'">
-                                <el-select v-model="formData[item.prop]" :placeholder="item.placeholder"
-                                    style="width: 100%" :disabled="item.disabled">
-                                    <template v-for="(val, index) in item.options" :key="index">
-                                        <el-option :value="val.value" :label="val.label" />
-                                    </template>
-                                </el-select>
-                            </template>
-                            <template v-if="item.type === 'date-picker'">
-                                <el-date-picker :type="item.dateType || 'daterange'" range-separator="-"
-                                    start-placeholder="开始时间" end-placeholder="结束时间" v-model="formData[item.prop]"
-                                    :disabled="item.disabled" />
-                            </template>
-                            <!-- 关联部门 -->
-                            <template v-if="item.type === 'deptId'">
-                                <el-tree-select v-model="formData.deptId" :data="deptOptions"
-                                    @change="dapartTreeChange(formData.deptId)"
-                                    :props="{ value: 'deptId', label: 'deptName', children: 'children' }"
-                                    value-key="deptId" placeholder="选择上级部门" style="width: 100%" check-strictly
-                                    clearable />
-                            </template>
-                            <!-- 能源单价标志 -->
-                            <template v-if="item.type === 'unitPriceSign'">
-                                <el-radio-group v-model="formData.unitPriceSign"
-                                    @change="unitPriceChange(formData.unitPriceSign)">
-                                    <el-radio v-for="item in unitPriceOptions" :value="item.value"
-                                        :label="item.value">{{ item.label }}</el-radio>
-                                </el-radio-group>
-                            </template>
-                            <!-- 能源列表 -->
-                            <template v-if="item.type === 'energyList'">
-                                <!-- 能源单价标志为否的时候 -->
-                                <el-tabs v-if="formData.unitPriceSign === '2'" v-model="customEnergy" type="card"
-                                    class="demo-tabs">
-                                    <el-tab-pane v-for="item in formData.energyList" :key="item.energyUnitPriceId"
-                                        :label="item.energyName" :name="item.energyUnitPriceId">
-                                        <!-- <el-input
-                                            v-model="item.valleyValueUnitPrice"
-                                            placeholder="请输入谷值单价"
-                                            type="number"
-                                            :min="0"
-                                            :max="999999999999"
-                                        >
-                                            <template #prepend>谷值单价(元)</template>
-</el-input>
-<el-input v-model="item.peakUnitPrice" placeholder="请输入峰值单价" type="number" :min="0" :max="999999999999">
-    <template #prepend>峰值单价(元)</template>
-</el-input> -->
-                                        <el-input v-model="item.averageUnitPrice" placeholder="请输入平均单价" type="number"
-                                            :min="0" :max="999999999999">
-                                            <template #prepend>平段单价(元)</template>
-                                        </el-input>
-                                    </el-tab-pane>
-                                </el-tabs>
+	<div class="modal">
+		<el-dialog v-model="props.isVisible" width="70%" left :close-on-click-modal="false" @close="onCancel">
+			<template #header>
+				<div class="dialog-header">{{ props.title }}</div>
+			</template>
+			<el-collapse accordion v-model="activeNames">
+				<el-collapse-item name="1">
+					<template #title>
+						<div class="collapse-title">发布单位信息</div>
+					</template>
+					<el-row class="collapse-item-body collapse-item-body-header">
+						<el-col :span="12">发布单位:{{ release_unit_info.name }} </el-col>
+						<el-col :span="12">发布日期:{{ release_unit_info.time }} </el-col>
+						<el-col :span="24">{{ release_unit_info.info }}</el-col>
+					</el-row>
+				</el-collapse-item>
+				<el-collapse-item name="2">
+					<template #title>
+						<div class="collapse-title">涉事主体基本信息</div>
+					</template>
+					<el-row class="collapse-item-body">
+						<div class="form">
+							<el-form
+								ref="ruleFormRef"
+								label-suffix=":"
+								:rules="formRules"
+								:model="formData"
+								label-width="140px"
+								size="large"
+							>
+								<el-row>
+									<el-col :span="6">
+										<el-form-item label="发布单位" prop="release_unit">
+											<el-input
+												:disabled="true"
+												v-model="formData.release_unit"
+												placeholder="请输入发布单位"
+											/>
+										</el-form-item>
+									</el-col>
+									<el-col :span="6">
+										<el-form-item label="创建日期" prop="createDate">
+											<el-input :disabled="true" v-model="formData.createDate" placeholder="请输入创建日期" />
+										</el-form-item>
+									</el-col>
+									<el-col :span="6">
+										<el-form-item label="创建人员" prop="creater">
+											<el-input :disabled="true" v-model="formData.creater" placeholder="请输入创建人员" />
+										</el-form-item>
+									</el-col>
+									<el-col :span="6">
+										<el-form-item label="发布状态" prop="send_status">
+											<el-select
+												v-model="formData.send_status"
+												placeholder="请选择发布状态"
+												style="width: 100%"
+												:disabled="true"
+											>
+												<template v-for="(val, index) in sendStatusOptions" :key="index">
+													<el-option :value="val.value" :label="val.label" />
+												</template>
+											</el-select> </el-form-item
+									></el-col>
+								</el-row>
+								<el-row>
+									<el-col :span="8">
+										<el-form-item label="通报类型" prop="report_type">
+											<el-select
+												v-model="formData.report_type"
+												placeholder="请选择通报类型"
+												style="width: 100%"
+											>
+												<template v-for="(val, index) in reportTypeOptions" :key="index">
+													<el-option :value="val.value" :label="val.label" />
+												</template>
+											</el-select>
+										</el-form-item>
+									</el-col>
+									<el-col :span="8">
+										<el-form-item label="通报事件类别" prop="report_event_type">
+											<el-select
+												v-model="formData.report_event_type"
+												placeholder="请选择通报事件类别"
+												style="width: 100%"
+											>
+												<template v-for="(val, index) in reportEventTypeOptions" :key="index">
+													<el-option :value="val.value" :label="val.label" />
+												</template>
+											</el-select>
+										</el-form-item>
+									</el-col>
+									<el-col :span="8">
+										<el-form-item label="事项编号" prop="event_code">
+											<el-input v-model="formData.event_code" placeholder="请输入事项编号" />
+										</el-form-item>
+									</el-col>
+								</el-row>
+								<el-form-item label="通报事项" prop="report_event">
+									<el-input
+										v-model="formData.report_event"
+										maxlength="200"
+										show-word-limit
+										type="textarea"
+										placeholder="请输入通报事项,内容200字以内"
+									/>
+								</el-form-item>
+								<el-form-item label="通报标准或具体行为列举" prop="report_standard">
+									<el-input
+										v-model="formData.report_standard"
+										maxlength="1000"
+										show-word-limit
+										type="textarea"
+										autosize
+										placeholder="请输入通报标准或具体行为列举,内容200字以内"
+									/>
+								</el-form-item>
+								<el-form-item label="通报依据" prop="report_base">
+									<el-input
+										v-model="formData.report_base"
+										maxlength="200"
+										show-word-limit
+										autosize
+										type="textarea"
+										placeholder="请输入通报依据,内容200字以内"
+									/>
+								</el-form-item>
+								<el-form-item label="发出单位" prop="send_unit">
+									<el-select v-model="formData.send_unit" placeholder="请选择发出单位" style="width: 100%">
+										<template v-for="(val, index) in sendUnitOptions" :key="index">
+											<el-option :value="val.value" :label="val.label" />
+										</template>
+									</el-select>
+								</el-form-item>
+								<el-form-item label="接收单位" prop="receive_unit">
+									<el-input v-model="formData.receive_unit" placeholder="请输入择接收单位" />
+								</el-form-item>
+							</el-form>
+						</div>
+					</el-row>
+				</el-collapse-item>
+			</el-collapse>
 
-                                <!-- 能源单价标志为是的时候 -->
-                                <el-tabs v-else v-model="initEnergy" type="card" class="demo-tabs">
-                                    <el-tab-pane v-for="item in initEnergyList" :key="item.energyUnitPriceId"
-                                        :label="item.energyName" :name="item.energyUnitPriceId">
-                                        <!-- <el-input
-                                            v-model="item.valleyValueUnitPrice"
-                                            placeholder="请输入谷值单价"
-                                            :disabled="true"
-                                        >
-                                            <template #prepend>谷值单价(元)</template>
-                                        </el-input>
-                                        <el-input v-model="item.peakUnitPrice" placeholder="请输入峰值单价" :disabled="true">
-                                            <template #prepend>峰值单价(元)</template>
-                                        </el-input> -->
-                                        <el-input v-model="item.averageUnitPrice" placeholder="请输入平均单价"
-                                            :disabled="true">
-                                            <template #prepend>平段单价(元)</template>
-                                        </el-input>
-                                    </el-tab-pane>
-                                </el-tabs>
-                            </template>
-                            <!-- 计算公式 -->
-                            <template v-if="item.type === 'calculationFormulaName'">
-                                <Formula :dictType="dictType" @getValue="getValue"></Formula>
-                            </template>
-                            <!-- 电能耗系统ID(加) -->
-                            <template v-if="item.type === 'energyElectricIds'">
-                                <el-select v-model="formData[item.prop]" multiple filterable remote reserve-keyword
-                                    :disabled="item.disabled" style="width: 100%">
-                                    <el-option v-for="item in elecEnerty" :key="item.value" :label="item.label"
-                                        :value="item.value" />
-                                </el-select>
-                            </template>
-                            <!-- 电能耗系统ID(减) -->
-                            <template v-if="item.type === 'energyElectricIdsMin'">
-                                <el-select v-model="formData[item.prop]" multiple filterable remote reserve-keyword
-                                    :disabled="item.disabled" style="width: 100%">
-                                    <el-option v-for="item in elecEnerty" :key="item.value" :label="item.label"
-                                        :value="item.value" />
-                                </el-select>
-                            </template>
-                            <!-- 气能耗系统ID(加) -->
-                            <template v-if="item.type === 'energyGasIds'">
-                                <el-select v-model="formData[item.prop]" multiple filterable remote reserve-keyword
-                                    :disabled="item.disabled" style="width: 100%">
-                                    <el-option v-for="item in gasEnerty" :key="item.value" :label="item.label"
-                                        :value="item.value" />
-                                </el-select>
-                            </template>
-                            <!-- 气能耗系统ID(减) -->
-                            <template v-if="item.type === 'energyGasIdsMin'">
-                                <el-select v-model="formData[item.prop]" multiple filterable remote reserve-keyword
-                                    :disabled="item.disabled" style="width: 100%">
-                                    <el-option v-for="item in gasEnerty" :key="item.value" :label="item.label"
-                                        :value="item.value" />
-                                </el-select>
-                            </template>
-                            <!-- 水能耗系统ID(加) -->
-                            <template v-if="item.type === 'energyWaterIds'">
-                                <el-select v-model="formData[item.prop]" multiple filterable remote reserve-keyword
-                                    :disabled="item.disabled" style="width: 100%">
-                                    <el-option v-for="item in waterEnerty" :key="item.value" :label="item.label"
-                                        :value="item.value" />
-                                </el-select>
-                            </template>
-                            <!-- 水能耗系统ID(减) -->
-                            <template v-if="item.type === 'energyWaterIdsMin'">
-                                <el-select v-model="formData[item.prop]" multiple filterable remote reserve-keyword
-                                    :disabled="item.disabled" style="width: 100%">
-                                    <el-option v-for="item in waterEnerty" :key="item.value" :label="item.label"
-                                        :value="item.value" />
-                                </el-select>
-                            </template>
-                        </el-form-item>
-                    </template>
-                </el-form>
-            </div>
-            <template #footer>
-                <span class="dialog-footer">
-                    <el-button @click="handleExcel(ruleFormRef)">取消</el-button>
-                    <el-button type="primary" @click="handleConfirmClick(ruleFormRef)">确定</el-button>
-                    <slot name="button"></slot>
-                </span>
-            </template>
-        </el-dialog>
-    </div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button type="primary" @click="handleConfirmClick(ruleFormRef)">保存</el-button>
+					<el-button type="primary" @click="handleConfirmClick(ruleFormRef)">提交</el-button>
+					<el-button @click="onCancel()">返回</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
 </template>
 
 <script setup lang="ts" name="modal">
 import { reactive, ref } from 'vue';
-import type { FormInstance, FormRules } from 'element-plus';
+import type { FormInstance } from 'element-plus';
 import useSystemStore from '@/store/main';
-import { listDept } from '@/api/system/dept';
-import { ComponentInternalInstance } from 'vue';
-import cache from '@/plugins/cache';
-import Formula from '@/components/Formula/index.vue';
-import { outTypeList } from '@/libs/commonMeth';
-const elecEnerty = outTypeList('dh_ec_electricity');
-const gasEnerty = outTypeList('dh_ec_gas');
-const waterEnerty = outTypeList('dh_ec_water');
-// 定义props
-interface IProps {
-    modalConfig: {
-        pageName: string;
-        addTitle: string;
-        editTitle: string;
-        detailTitle: string;
-        dialogWidth: string;
-        labelWidth: string;
-        formItems: any[];
-        formRules: object;
-        pageListParams?: object; //新增一个对象,用来传给特殊的列表接口刷新页面(非必传)
-    };
-    otherInfo?: any;
-}
-
-const props = defineProps<IProps>();
-
-const dialogVisible = ref(false);
-const isEdit = ref(false);
+const activeNames = ref(['1']);
+const props = defineProps({
+	isVisible: {
+		type: Boolean,
+		default: false,
+	},
+	title: {
+		type: String,
+		default: '',
+	},
+});
+const release_unit_info = reactive<any>({
+	name: '交通运输部海事局',
+	time: '2025-07-24',
+	info: '根据《交通运输部办公厅关于印发<水上交通安全信息共享共治专项行动方案>的通知》(交办海涵(2024)448号),现将相关情况向你单位通报,请予以处理。',
+});
+type Emit = {
+	(e: 'update:isVisible', isVisible: boolean): void;
+};
+const emit = defineEmits<Emit>();
 
+const formData = reactive<any>({
+	release_unit: '交通运输部海事局',
+	createDate: '2025-07-28',
+	type: 'mobile',
+	creater: '张三',
+	send_status: 'inner',
+	report_type: '',
+	report_event_type: '',
+	event_code: '',
+	report_event: '',
+	report_standard: '',
+	report_base: '',
+	send_unit: '',
+	receive_unit: '',
+});
 const ruleFormRef = ref<FormInstance>();
 
 const systemStore = useSystemStore();
 
-const { pageDetailInfo, pageOperateType } = storeToRefs(systemStore);
-import { energyUnitPrice } from '@/api/leasingCompany';
-import { matchStringAndFormat } from '@/utils/commonMeth';
-
-// 获取字段
-const dictType = 'dh_company_independent_energy_costs_calculation_formula_value';
-// 组合两个字典数组
-let fieldNameList = ref([] as any);
-// 获取费用计算公式组件的数据
-const getValue = (calculationFormulaName, dictList, globalList) => {
-    formData.value.calculationFormulaName = calculationFormulaName;
-    fieldNameList.value = [...dictList.value, ...globalList.value];
+const onCancel = () => {
+	resetForm();
+	emit('update:isVisible', false);
 };
-// 父组件的值
-const formulaValue = ref('初始值') as any;
-provide('calculationFormulaName', formulaValue);
 
-// 重置数据
-const handleClearDate = () => {
-    // 重置父组件的值
-    formData.value.calculationFormulaName = '';
-    // 重置子组件的值
-    formulaValue.value = +new Date();
+const resetForm = () => {
+	if (!ruleFormRef.value) return;
+	ruleFormRef.value.resetFields();
 };
-// ---------------------费用总计 结束----------------------
-
-onMounted(async () => {
-    await getListDept();
-    await getEnergyUnitPrice();
-});
 
-// 获取能源单价
-const getEnergyUnitPrice = () => {
-    energyUnitPrice().then((res: any) => {
-        initEnergyList.value = res.rows;
-        initEnergy.value = res.rows[0].energyUnitPriceId;
-    });
+const formRules = {
+	report_type: [{ required: true, message: '请选择通报类型', trigger: 'select' }],
+	report_event_type: [{ required: true, message: '请选择通报类型', trigger: 'select' }],
+	report_event: [{ required: true, message: '请输入通报事项', trigger: 'change' }],
+	report_base: [{ required: true, message: '请输入通报依据', trigger: 'change' }],
+	send_unit: [{ required: true, message: '请选择发出单位', trigger: 'select' }],
+	receive_unit: [{ required: true, message: '请选择接收单位', trigger: 'change' }],
+	report_standard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'select' }],
 };
 
-// 部门树形数据
-const deptOptions = ref<any[]>([]);
-const departTree = ref([]);
-const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const getListDept = async () => {
-    // 获取关联部门列表
-    await listDept().then(response => {
-        departTree.value = response.data;
-        deptOptions.value = proxy!.handleTree(response.data, 'deptId');
-    });
-};
-// 部门树形的chang事件
-const dapartTreeChange = id => {
-    departTree.value.forEach((item: any) => {
-        if (item.deptId === id) {
-            formData.value.numberOfPersonnel = item.numberOfPersonnel;
-        }
-    });
-    console.log(formData.value.numberOfPersonnel);
-};
-// 能源单价标志
-const unitPriceOptions = [
-    {
-        label: '是',
-        value: '0',
-    },
-    {
-        label: '否',
-        value: '2',
-    },
+// 通报类型
+const reportTypeOptions = [
+	{
+		label: '内部',
+		value: 'inner',
+	},
+	{
+		label: '外部',
+		value: 'outer',
+	},
+];
+// 通报事项类别
+const reportEventTypeOptions = [
+	{
+		label: '信息告知类',
+		value: 'msg',
+	},
+	{
+		label: '协助处理类',
+		value: 'assist',
+	},
+];
+// 发布状态
+const sendStatusOptions = [
+	{
+		label: '待发布',
+		value: 'inner',
+	},
+	{
+		label: '已发布',
+		value: 'outer',
+	},
+	{
+		label: '已结案',
+		value: 'outer',
+	},
+];
+// 发出单位
+const sendUnitOptions = [
+	{
+		label: '上海海事',
+		value: 'msg',
+	},
+	{
+		label: '广州海事',
+		value: 'assist',
+	},
 ];
-// 水电燃气单价
-const customEnergy = ref('1');
-const initEnergyList = ref([] as any);
-const initEnergy = ref('1');
-// 能源单价标志的change事件
-const unitPriceChange = async (e: string) => {
-    customEnergy.value = '1';
-    initEnergy.value = '1';
-    console.log(formData.value.energyList);
-
-    await getEnergyUnitPrice();
-};
-// ----------------------------------------------------------------
-// 定义数据绑定
-const initialForm: any = {};
-for (const item of props.modalConfig.formItems) {
-    initialForm[item.prop] = item.initialValue ?? '';
-}
-
-let formData = ref(JSON.parse(JSON.stringify(initialForm)));
-
-const dialogTitle = ref();
-const initData = ref({});
-// 新建或者编辑
-async function setDialogVisible(isNew: boolean = true, check: boolean = false) {
-    await getEnergyUnitPrice();
-    dialogVisible.value = true;
-    ruleFormRef.value?.resetFields();
-    // 清空数据
-    handleClearDate();
-    await nextTick();
-    if (!isNew) {
-        watch(pageDetailInfo, newVal => {
-            formData.value = pageDetailInfo.value;
-            console.log(formData.value);
-            // 赋值
-            formulaValue.value = formData.value.calculationFormulaName;
-        });
-
-        customEnergy.value = '1';
-        initEnergy.value = '1';
 
-        // 判断如果不是新增的话就获取store中的详情
-        if (check) {
-            dialogTitle.value = props.modalConfig.detailTitle;
-            systemStore.getDetailType('detail');
-        } else {
-            dialogTitle.value = props.modalConfig.editTitle;
-            systemStore.getDetailType('edit');
-        }
-    } else {
-        props.modalConfig.formItems.map((m: any) => {
-            if (m.numberType === '2') {
-                if (m.porp === initialForm[m.porp]) {
-                    initialForm[m.prop] = (0.0).toFixed(2);
-                }
-            } else if (m.numberType === '1') {
-                if (m.porp === initialForm[m.porp]) {
-                    initialForm[m.prop] = Math.trunc(0);
-                }
-            }
-        });
-        formData.value = JSON.parse(JSON.stringify(initialForm));
-        await nextTick();
-        setTimeout(() => {
-            formData.value.energyList = initEnergyList.value;
-        }, 500);
-        customEnergy.value = '1';
-        initEnergy.value = '1';
-        dialogTitle.value = props.modalConfig.addTitle;
-        systemStore.detailPageEval(initialForm);
-        systemStore.getDetailType('add');
-    }
-    isEdit.value = !isNew;
-}
 // 点击确定
 function handleConfirmClick(formEl: FormInstance | undefined) {
-    if (!formEl) return;
-    formEl.validate((valid, fields) => {
-        if (valid) {
-            // 费用计算公式数据处理
-            // formData.value.calculationFormula = formData.value.calculationFormulaName
-            formData.value.calculationFormula = matchStringAndFormat(
-                formData.value.calculationFormulaName,
-                fieldNameList.value
-            );
-            dialogVisible.value = false;
-            let data = { ...formData.value };
-            data.energyList.forEach((item, index) => {
-                initEnergyList.value.forEach((row, d) => {
-                    if (index === d) {
-                        item.energyUnitPriceId = row.energyUnitPriceId;
-                    }
-                });
-            });
-            if (props.otherInfo) {
-                data = { ...data, ...props.otherInfo };
-            }
-            if (!isEdit.value) {
-                systemStore.newPageDataAction(
-                    props.modalConfig.pageName,
-                    data,
-                    props.modalConfig.pageListParams
-                );
-            } else {
-                if (pageOperateType.value === 'edit') {
-                    systemStore.editPageDataAction(
-                        props.modalConfig.pageName,
-                        data,
-                        props.modalConfig.pageListParams
-                    );
-                }
-            }
-        } else {
-            console.log('error submit!', fields);
-        }
-    });
-}
-// 取消
-function handleExcel(formEl: FormInstance | undefined) {
-    dialogVisible.value = false;
-    if (!formEl) return;
-    formEl.resetFields();
-}
-
-// 获取详情
-function onPageDetail(urlId: number | [] | string) {
-    systemStore.detailPageDataAction(props.modalConfig.pageName, urlId);
-}
-
-function onBlur(e: any, prop: any, type: any) {
-    let a = 0;
-    if (type === '1') {
-        if (e < 0) {
-            e = 0;
-        } else if (e > 999999999999999) {
-            e = 999999999999999;
-        }
-        a = Math.trunc(e);
-        for (const item of props.modalConfig.formItems) {
-            if (item.type === 'number') {
-                if (prop === item.prop) {
-                    formData.value[item.prop] = a;
-                }
-            }
-        }
-    } else if (type === '2') {
-        if (e < 0) {
-            e = 0.0;
-        } else if (e > 999999999999999) {
-            e = 999999999999999.0;
-        }
-        a = Number(Number(e).toFixed(2));
-        for (const item of props.modalConfig.formItems) {
-            if (item.type === 'number') {
-                if (prop === item.prop) {
-                    formData.value[item.prop] = a;
-                }
-            }
-        }
-    }
+	if (!formEl) return;
+	formEl.validate((valid, fields) => {
+		if (valid) {
+		} else {
+			console.log('error submit!', fields);
+		}
+	});
 }
-defineExpose({
-    setDialogVisible,
-    onPageDetail,
-});
 </script>
 
 <style scoped lang="scss">
 .form {
-    padding: 10px 30px;
+	padding: 10px 30px;
+}
+.form .el-input__wrapper {
+	width: 100% !important;
+}
+.dialog-header {
+	text-align: center;
+	color: #216abb;
+	font-size: larger;
+}
+.release-unit-item {
+	box-shadow: var(--el-box-shadow-light);
+}
+.collapse-title {
+	color: #0253b0;
+	width: 100%;
+	text-align: left;
+	font-size: 16px;
+	padding: 0px 15px;
+	height: 40px;
+	line-height: 40px;
+	background: linear-gradient(135deg, #d2e8ff, #fcfeff);
+	box-shadow: 0 8px 20px #fcfeff;
+	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
+}
+::v-deep .el-collapse-item {
+	box-shadow: var(--el-box-shadow-light);
+	margin-bottom: 10px;
+	padding: 10px;
+}
+::v-deep .el-collapse-item .el-collapse-item__content {
+	padding-bottom: 10px;
+}
+.collapse-item-body {
+	padding: 10px;
+}
+.collapse-item-body-header .el-col {
+	height: 40px;
+	font-size: 13px;
 }
 </style>

+ 18 - 28
src/views/illegalInfoSwitch/config/content.config.ts

@@ -1,32 +1,22 @@
 const contentConfig = {
-    pageName: 'rentalCompany',
-    header: {
-        title: '费用输入列表',
-    },
-    propsList: [
-        // { type: 'index', label: '序号' },
-        { type: 'normal', label: '公司编码', prop: 'rentalCompanyCode', fixed: true },
-        { type: 'normal', label: '公司名称', prop: 'rentalCompanyName', width: 140 },
-        { type: 'normal', label: '关联部门', prop: 'deptName', width: 140 },
-        // { type: 'normal', label: '人员数', prop: 'numberOfPersonnel', width: 80 },
-        // { type: 'normal', label: '密集架节数', prop: 'shelving', width: 90 },
-        // { type: 'custom', label: '水单价(元)', slotName: 'water', prop: 'water', width: 220 },
-        // { type: 'custom', label: '电单价(元)', slotName: 'electric', prop: 'electric', width: 220 },
-        // { type: 'custom', label: '燃气单价(元)', slotName: 'coal', prop: 'coal', width: 220 },
-        { type: 'normal', label: '电能耗系统(加)', prop: 'energyElectricName', width: 140 },
-        { type: 'normal', label: '电能耗系统(减)', prop: 'energyElectricNameMin', width: 140 },
-        // { type: 'normal', label: '电能耗占比(%)', prop: 'energyElectricExpense', width: 140 },
-        { type: 'normal', label: '气能耗系统(加)', prop: 'energyGasName', width: 140 },
-        { type: 'normal', label: '气能耗系统(减)', prop: 'energyGasNameMin', width: 140 },
-        // { type: 'normal', label: '气能耗占比(%)', prop: 'energyGasExpense', width: 140 },
-        { type: 'normal', label: '水能耗系统(加)', prop: 'energyWaterName', width: 140 },
-        { type: 'normal', label: '水能耗系统(减)', prop: 'energyWaterNameMin', width: 140 },
-        // { type: 'normal', label: '水能耗占比(%)', prop: 'energyWaterExpense', width: 140 },
-        { type: 'normal', label: '创建时间', prop: 'createTime', width: 180 },
-        { type: 'normal', label: '修改时间', prop: 'updateTime', width: 180 },
-        { type: 'normal', label: '备注', prop: 'notes', width: 140 },
-        { type: 'handler', label: '操作', slotName: 'operate', width: 180 },
-    ],
+	pageName: 'rentalCompany',
+	header: {
+		title: '',
+	},
+	propsList: [
+		{ type: 'index', label: '序号' },
+		{ type: 'normal', label: '违法事件编号', prop: 'illegal_event_code' },
+		{ type: 'normal', label: '发布单位', prop: 'send_unit', width: 140 },
+		{ type: 'normal', label: '船舶名称', prop: 'ship_name', width: 140 },
+		{ type: 'normal', label: '通报事项类别', prop: 'report_event_type', width: 120 },
+		{ type: 'normal', label: '通报事项', prop: 'report_event' },
+		{ type: 'custom', label: '接收单位', prop: 'receive_unit', width: 220 },
+		{ type: 'custom', label: '通报状态', prop: 'report_status', width: 220 },
+		{ type: 'custom', label: '是否需要反馈', prop: 'is_feedback', width: 220 },
+		{ type: 'normal', label: '发布日期', prop: 'createDate', width: 140 },
+		{ type: 'normal', label: '发布人员', prop: 'creater', width: 140 },
+		{ type: 'handler', label: '操作', slotName: 'operate', width: 180, fixed: true },
+	],
 };
 
 export default contentConfig;

+ 0 - 134
src/views/illegalInfoSwitch/config/detail.config.ts

@@ -1,134 +0,0 @@
-const modalConfig = {
-    pageName: 'rentalCompany',
-    addTitle: '新建租赁公司',
-    editTitle: '编辑租赁公司',
-    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' }],
-        // energyElectricIds: [{ required: true, message: '电能耗系统ID不能为空', trigger: 'select' }],
-        // energyGasIds: [{ required: true, message: '气能耗系统ID不能为空', trigger: 'select' }],
-        // energyWaterIds: [{ required: true, message: '水能耗系统ID不能为空', trigger: 'select' }],
-    },
-    formItems: [
-        {
-            label: '公司编码',
-            prop: 'rentalCompanyCode',
-            type: 'input',
-            placeholder: '请输入公司编码',
-        },
-        {
-            label: '公司名称',
-            prop: 'rentalCompanyName',
-            type: 'input',
-            placeholder: '请输入公司名称',
-        },
-        {
-            label: '关联部门',
-            prop: 'deptId',
-            type: 'deptId',
-            placeholder: '请选择关联部门',
-        },
-        // {
-        //     label: '公司人员数',
-        //     prop: 'numberOfPersonnel',
-        //     type: 'number',
-        //     numberType: '1',
-        //     placeholder: '请输入人员数',
-        // },
-        // {
-        //     label: '密集架节数',
-        //     prop: 'shelving',
-        //     type: 'number',
-        //     numberType: '1',
-        //     initialValue: 0,
-        //     placeholder: '请输入密集架节数',
-        // },
-        // {
-        //     label: '能源单价标志',
-        //     prop: 'unitPriceSign',
-        //     type: 'unitPriceSign',
-        //     initialValue: '0',
-        // },
-        // {
-        //     label: '能源列表',
-        //     prop: 'energyList',
-        //     type: 'energyList',
-        // },
-        {
-            label: '电能耗系统ID(加)',
-            prop: 'energyElectricIds',
-            type: 'energyElectricIds',
-            placeholder: '请输入电能耗系统ID',
-        },
-        {
-            label: '电能耗系统ID(减)',
-            prop: 'energyElectricIdsMin',
-            type: 'energyElectricIdsMin',
-            placeholder: '请输入电能耗系统ID',
-        },
-        // {
-        //     label: '电能耗占比(%)',
-        //     prop: 'energyElectricExpense',
-        //     type: 'number',
-        //     numberType: '1',
-        //     initialValue: 100,
-        //     placeholder: '请输入电能耗占比',
-        // },
-        {
-            label: '气能耗系统ID(加)',
-            prop: 'energyGasIds',
-            type: 'energyGasIds',
-            placeholder: '请输入气能耗系统ID',
-        },
-        {
-            label: '气能耗系统ID(减)',
-            prop: 'energyGasIdsMin',
-            type: 'energyGasIdsMin',
-            placeholder: '请输入气能耗系统ID',
-        },
-        // {
-        //     label: '气能耗占比(%)',
-        //     prop: 'energyGasExpense',
-        //     type: 'number',
-        //     initialValue: 100,
-        //     numberType: '1',
-        //     placeholder: '请输入气能耗占比',
-        // },
-        {
-            label: '水能耗系统ID(加)',
-            prop: 'energyWaterIds',
-            type: 'energyWaterIds',
-            placeholder: '请输入水能耗系统ID',
-        },
-        {
-            label: '水能耗系统ID(减)',
-            prop: 'energyWaterIdsMin',
-            type: 'energyWaterIdsMin',
-            placeholder: '请输入水能耗系统ID',
-        },
-        // {
-        //     label: '水能耗占比(%)',
-        //     prop: 'energyWaterExpense',
-        //     type: 'number',
-        //     numberType: '1',
-        //     initialValue: 100,
-        //     placeholder: '请输入水能耗占比',
-        // },
-        {
-            label: '备注',
-            prop: 'notes',
-            type: 'input',
-            placeholder: '请输入备注',
-        },
-        {
-            label: '天费用计算公式',
-            prop: 'calculationFormulaName',
-            type: 'calculationFormulaName',
-        },
-    ],
-};
-
-export default modalConfig;

+ 249 - 37
src/views/illegalInfoSwitch/config/search.config.ts

@@ -1,44 +1,256 @@
 interface Inew {
-    label: string;
-    value: string;
+	label: string;
+	value: string;
 }
 
 const searchConfig = {
-    pageName: 'rentalCompany',
-    formItems: [
-        // {
-        //     label: '状态',
-        //     prop: 'status',
-        //     type: 'select',
-        //     options: [] as Array<Inew>,
-        //     placeholder: '请选择状态',
-        // },
-        {
-            label: '公司编码',
-            prop: 'rentalCompanyCode',
-            type: 'input',
-            placeholder: '请输入公司编码',
-        },
-        {
-            label: '公司名称',
-            prop: 'rentalCompanyName',
-            type: 'input',
-            placeholder: '请输入公司名称',
-        },
-        {
-            label: '关联部门',
-            prop: 'deptName',
-            type: 'input',
-            placeholder: '请输入关联部门',
-        },
-        {
-            label: '创建时间',
-            prop: 'createDate',
-            type: 'date-picker',
-            placeholder: '请选择创建时间',
-        },
-   
-    ],
+	pageName: 'rentalCompany',
+	formItems: [
+		{
+			label: '违法事件编号',
+			prop: 'illegal_event_code',
+			type: 'input',
+			placeholder: '请输入选违法事件编号',
+		},
+		{
+			label: '通报类型',
+			prop: 'report_type',
+			type: 'select',
+			options: [
+				{
+					label: '内部',
+					value: 'inner',
+				},
+				{
+					label: '外部',
+					value: 'outer',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择通报类型',
+		},
+		{
+			label: '通报事项类别',
+			prop: 'report_event_type',
+			type: 'select',
+			options: [
+				{
+					label: '信息告知类',
+					value: 'msg',
+				},
+				{
+					label: '协助处理类',
+					value: 'assist',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择通报事项类别',
+		},
+		{
+			label: '通报事项',
+			prop: 'report_event',
+			type: 'input',
+			placeholder: '请输入通报事项',
+		},
+		{
+			label: '发出单位',
+			prop: 'send_unit',
+			type: 'select',
+			multiple: true,
+			options: [
+				{
+					label: '全部',
+					value: 'all',
+				},
+				{
+					label: '上海海事',
+					value: 'msg',
+				},
+				{
+					label: '广州海事',
+					value: 'assist',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择发出单位',
+		},
+		{
+			label: '接收单位',
+			prop: 'receive_unit',
+			type: 'select',
+			multiple: true,
+			options: [
+				{
+					label: '全部',
+					value: 'all',
+				},
+				{
+					label: '上海海事',
+					value: 'msg',
+				},
+				{
+					label: '广州海事',
+					value: 'assist',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择接收单位',
+		},
+		{
+			label: '通报状态',
+			prop: 'report_status',
+			type: 'select',
+			multiple: true,
+			options: [
+				{
+					label: '全部',
+					value: 'all',
+				},
+				{
+					label: '已发布待处置',
+					value: '1',
+				},
+				{
+					label: '已接收待处置',
+					value: '2',
+				},
+				{
+					label: '已退回',
+					value: '3',
+				},
+				{
+					label: '已提出补正要求',
+					value: '4',
+				},
+				{
+					label: '已处理待处置完整',
+					value: '5',
+				},
+				{
+					label: '待接收',
+					value: '6',
+				},
+				{
+					label: '已接收',
+					value: '7',
+				},
+				{
+					label: '已处置完成',
+					value: '8',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择通报状态',
+		},
+		{
+			label: '采取措施',
+			prop: 'take_steps',
+			type: 'select',
+			multiple: true,
+			options: [
+				{
+					label: '全部',
+					value: 'all',
+				},
+				{
+					label: '约谈',
+					value: '1',
+				},
+				{
+					label: '通报',
+					value: '2',
+				},
+				{
+					label: '审慎发证',
+					value: '3',
+				},
+				{
+					label: '信用管理',
+					value: '4',
+				},
+				{
+					label: '其他',
+					value: '5',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择采取措施',
+		},
+		{
+			label: '超期状态',
+			prop: 'over_status',
+			type: 'select',
+			multiple: true,
+			options: [
+				{
+					label: '全部',
+					value: 'all',
+				},
+				{
+					label: '正常',
+					value: '1',
+				},
+				{
+					label: '接收超期',
+					value: '2',
+				},
+				{
+					label: '处理超期',
+					value: '4',
+				},
+				{
+					label: '处置完成超期',
+					value: '4',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择采取措施',
+		},
+		{
+			label: '船舶名称',
+			prop: 'ship_name',
+			type: 'input',
+			placeholder: '请输入船舶名称',
+		},
+		{
+			label: '船舶所有人',
+			prop: 'ship_owner',
+			type: 'input',
+			placeholder: '请输入船舶所有人',
+		},
+		{
+			label: '船舶经营人',
+			prop: 'ship_operator',
+			type: 'input',
+			placeholder: '请输入船舶经营人',
+		},
+		{
+			label: '是否需要反馈',
+			prop: 'is_feedback',
+			type: 'select',
+			multiple: true,
+			options: [
+				{
+					label: '全部',
+					value: 'all',
+				},
+				{
+					label: '是',
+					value: '1',
+				},
+				{
+					label: '否',
+					value: '2',
+				},
+			] as Array<Inew>,
+			placeholder: '请选择采取措施',
+		},
+		{
+			label: '发布日期',
+			prop: 'createDate',
+			type: 'date-picker',
+			placeholder: '请选择发布日期',
+		},
+		{
+			label: '受理日期',
+			prop: 'accept_date',
+			type: 'date-picker',
+			placeholder: '请选择发布日期',
+		},
+	],
 };
 
 export default searchConfig;

+ 99 - 109
src/views/illegalInfoSwitch/index.vue

@@ -1,83 +1,49 @@
 <template>
-    <div class="sensitive-words">
-        <pageSearch ref="searchTableRef" :searchConfig="searchConfig" />
+	<div class="sensitive-words">
+		<pageSearch ref="searchTableRef" :searchConfig="searchConfig" />
 
-        <pageContent ref="tableListRef" :total="total" :contentConfig="contentConfig" :pageList="tableData">
-            <template #button>
-                <el-button type="primary" @click="handleAdd()"
-                    v-hasPermi="['business:rentalCompany:add']">新增</el-button>
-            </template>
-            <!-- 水 -->
-            <template #water="scope">
-                <div class="flex">
-                    <!-- <div class="mr5">
-                        谷值:<span>{{ scope.row.energyList[0].peakUnitPrice }}</span>
-                    </div>
-                    <div class="mr5">
-                        峰值:<span>{{ scope.row.energyList[0].valleyValueUnitPrice }}</span>
-                    </div> -->
-                    <div>
-                        平段单价:<span>{{ scope.row.energyList[0].averageUnitPrice }}</span>
-                    </div>
-                </div>
-            </template>
-            <!-- 电 -->
-            <template #electric="scope">
-                <div class="flex">
-                    <!-- <div class="mr5">
-                        谷值:<span>{{ scope.row.energyList[1].peakUnitPrice }}</span>
-                    </div>
-                    <div class="mr5">
-                        峰值:<span>{{ scope.row.energyList[1].valleyValueUnitPrice }}</span>
-                    </div> -->
-                    <div>
-                        平段单价:<span>{{ scope.row.energyList[1].averageUnitPrice }}</span>
-                    </div>
-                </div>
-            </template>
-            <!-- 燃气 -->
-            <template #coal="scope">
-                <div class="flex">
-                    <!-- <div class="mr5">
-                        谷值:<span>{{ scope.row.energyList[2].peakUnitPrice }}</span>
-                    </div>
-                    <div class="mr5">
-                        峰值:<span>{{ scope.row.energyList[2].valleyValueUnitPrice }}</span>
-                    </div> -->
-                    <div>
-                        平段单价:<span>{{ scope.row.energyList[2].averageUnitPrice }}</span>
-                    </div>
-                </div>
-            </template>
-            <template #operate="scope">
-                <el-button type="primary" link @click="handleEdit(scope.row.rentalCompanyId)"
-                    v-hasPermi="['business:rentalCompany:edit']">
-                    编辑
-                </el-button>
-                <el-button type="primary" link @click="handleDelete(scope.row.rentalCompanyId)"
-                    v-hasPermi="['business:rentalCompany:remove']">
-                    删除
-                </el-button>
-            </template>
-        </pageContent>
-        <pageDetail :modalConfig="detailConfig" ref="modalRef"> </pageDetail>
-    </div>
+		<pageContent ref="tableListRef" :total="total" :contentConfig="contentConfig" :pageList="tableData">
+			<template #button>
+				<el-button type="primary" @click="handleAdd()">新增</el-button>
+				<el-button type="primary" @click="handleExport()">导出</el-button>
+			</template>
+			<template #operate="scope">
+				<el-button
+					type="primary"
+					link
+					@click="handleEdit(scope.row.rentalCompanyId)"
+					v-hasPermi="['business:rentalCompany:edit']"
+				>
+					编辑
+				</el-button>
+				<el-button
+					type="primary"
+					link
+					@click="handleDelete(scope.row.rentalCompanyId)"
+					v-hasPermi="['business:rentalCompany:remove']"
+				>
+					删除
+				</el-button>
+			</template>
+		</pageContent>
+		<pageDetail
+			v-model:isVisible="detailConfig.dialogVisible"
+			:title="detailConfig.dialogTitle"
+			:type="detailConfig.type"
+		>
+		</pageDetail>
+	</div>
 </template>
 
 <script setup lang="ts">
-import { ComponentInternalInstance } from 'vue';
-// import { useRouter } from 'vue-router';
-import router from '@/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 detailConfig from './config/detail.config';
 import pageDetail from './components/detail.vue';
 import useSystemStore from '@/store/main';
 // 使用pinia数据
 const systemStore = useSystemStore();
-const { pageDetailInfo } = storeToRefs(systemStore);
 
 const total = ref(0);
 const pageSize = ref([10, 20, 30]);
@@ -86,75 +52,99 @@ const tableListRef = ref();
 
 // 操作弹框
 import usePageModal from '@/components/components/hooks/usePageDetails';
-const { modalRef, handleNewDataClick, handleEditDataClick, handleCheckDataClick, handlePageDetail } =
-    usePageModal();
+const { modalRef, handleNewDataClick, handleEditDataClick, handlePageDetail } = usePageModal();
 
 const handleEdit = async (id: string) => {
-    await handlePageDetail(id);
-    await handleEditDataClick();
+	await handlePageDetail(id);
+	await handleEditDataClick();
 };
 
 // 新增按钮
-const handleAdd = () => {
-    handleNewDataClick();
+const detailConfig = reactive({
+	dialogVisible: false,
+	dialogTitle: '',
+	id: '',
+	type: 'add',
+});
+const handleAdd = (id: any) => {
+	detailConfig.type = 'add';
+	detailConfig.dialogTitle = '水上交通安全信息发布与处置完成管理 新增发布';
+	detailConfig.id = id;
+	detailConfig.dialogVisible = true;
 };
 const searchTableRef = ref();
 const onClickDeleta = async (row: any) => {
-    ElMessageBox.confirm('确认删除此条数据吗?', '删除', {
-        confirmButtonText: '确认',
-        cancelButtonText: '取消',
-        type: 'warning',
-    }).then(() => {
-        // 删除后的回调
-    });
+	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: '取消删除',
-            });
-        });
+	ElMessageBox.confirm('是否删除这条数据?', '删除提示', {
+		confirmButtonText: '确定',
+		cancelButtonText: '取消',
+		type: 'warning',
+	})
+		.then(() => {
+			systemStore.deletePageDataAction(contentConfig.pageName, value);
+		})
+		.catch(() => {
+			ElMessage({
+				type: 'info',
+				message: '取消删除',
+			});
+		});
+}
+
+// 导出
+function handleExport() {
+	ElMessageBox.confirm('是否导出所选数据?', '导出提示', {
+		confirmButtonText: '确定',
+		cancelButtonText: '取消',
+		type: 'warning',
+	})
+		.then(() => {})
+		.catch(() => {
+			ElMessage({
+				type: 'info',
+				message: '取消导出',
+			});
+		});
 }
 
 // 筛选-状态赋值
 async function searchItem() {
-    searchConfig.formItems.forEach(item => {
-        if (item.prop === 'status') {
-            // item.options = searchList.value;
-        }
-    });
+	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;
+	margin: 20px;
+	// background-color: #fff;
 }
 
 .status {
-    cursor: pointer;
-    position: relative;
+	cursor: pointer;
+	position: relative;
 
-    .status-tip {
-        position: absolute;
-        top: 2px;
-        left: 60px;
-    }
+	.status-tip {
+		position: absolute;
+		top: 2px;
+		left: 60px;
+	}
 }
 
 .dialog-tip {
-    text-align: center;
+	text-align: center;
 }
 </style>

+ 2 - 22
src/views/notificationListManage/components/detail.vue

@@ -179,10 +179,9 @@ const formRules = {
 	report_event_type: [{ required: true, message: '请选择通报类型', trigger: 'select' }],
 	report_event: [{ required: true, message: '请输入通报事项', trigger: 'change' }],
 	report_base: [{ required: true, message: '请输入通报依据', trigger: 'change' }],
-	base_content: [{ required: true, message: '请输入依据内容', trigger: 'change' }],
 	send_unit: [{ required: true, message: '请选择发出单位', trigger: 'select' }],
 	receive_unit: [{ required: true, message: '请选择接收单位', trigger: 'change' }],
-	report_standard: [{ required: true, message: '通报标准或具体行为列举', trigger: 'select' }],
+	report_standard: [{ required: true, message: '请选择通报标准或具体行为列举', trigger: 'select' }],
 };
 
 // 通报类型
@@ -196,7 +195,7 @@ const reportTypeOptions = [
 		value: 'outer',
 	},
 ];
-// 通报事项类
+// 通报事项类
 const reportEventTypeOptions = [
 	{
 		label: '信息告知类',
@@ -233,25 +232,6 @@ const sendUnitOptions = [
 		value: 'assist',
 	},
 ];
-// 接收单位层级
-const receiveUnitLevelOptions = [
-	{
-		label: '全部',
-		value: 'all',
-	},
-	{
-		label: '部级',
-		value: '1',
-	},
-	{
-		label: '省级',
-		value: '2',
-	},
-	{
-		label: '市级',
-		value: '3',
-	},
-];
 
 // 点击确定
 function handleConfirmClick(formEl: FormInstance | undefined) {

+ 1 - 2
src/views/notificationListManage/config/content.config.ts

@@ -1,7 +1,7 @@
 const contentConfig = {
 	pageName: 'rentalCompany',
 	header: {
-		title: '违法信息通报事项清单列表',
+		title: '',
 	},
 	propsList: [
 		{ type: 'index', label: '事项编号' },
@@ -11,7 +11,6 @@ const contentConfig = {
 		{ type: 'normal', label: '通报事项', prop: 'report_event', width: 80 },
 		{ type: 'normal', label: '通报标准', prop: 'report_standard', width: 90 },
 		{ type: 'normal', label: '通报依据', prop: 'report_base', width: 90 },
-		// { type: 'custom', label: '处置建议', prop: 'do_suggest', width: 220 },
 		{ type: 'custom', label: '发出单位', prop: 'send_unit', width: 220 },
 		{ type: 'custom', label: '接收单位', prop: 'receive_unit', width: 220 },
 		{ type: 'normal', label: '发布状态', prop: 'send_status', width: 140 },