fix(bgpartymatter): 修复前端页面 QA 审查发现的问题

- 导出切换 EasyExcel 端点,规避 AutoPoi 500
- 统计标签随查询/重置/增删改同步刷新
- 详情弹窗只读灰化、序号去必填、文案与保存提示修正

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
wsm
2026-08-11 17:43:26 +08:00
co-authored by Claude Opus 4.7
parent b8213b662b
commit d0928f8edc
2 changed files with 28 additions and 7 deletions
@@ -195,7 +195,7 @@
import FlowScheduleStartModalForBG from '/src/components/semri/process/FlowScheduleStartModalForBG.vue';
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
import { columns, superQuerySchema, bgPartymatterFeedbackColumns } from './BgPartymatter.data';
import { list, statusStats, deleteOne, batchDelete, getImportUrl, getExportUrl, getImportExcelByEasyExcelUrl, getCheckExcelByEasyExcelUrl, getExportXlsHeadersUrl, bgPartymatterFeedbackList, saveOrUpdate } from './BgPartymatter.api';
import { list, statusStats, deleteOne, batchDelete, getImportUrl, getExportXlsByEasyExcelUrl, getImportExcelByEasyExcelUrl, getCheckExcelByEasyExcelUrl, getExportXlsHeadersUrl, bgPartymatterFeedbackList, saveOrUpdate } from './BgPartymatter.api';
import { defHttp } from '/@/utils/http/axios';
import { showImportValidationErrors } from '/@/utils/helper/importError';
import { useMessage } from '/@/hooks/web/useMessage';
@@ -252,7 +252,7 @@
const registerModal = ref();
const flowScheduleModalRef = ref();
const businessProcessListModalRef = ref();
const toggleSearchStatus = ref<boolean>(false);
const toggleSearchStatus = ref<boolean>(true);
const queryParam = reactive<any>({});
const expandedRowKeys = ref<Array<string | number>>([]);
const feedbackTableData = reactive<Record<string, Recordable[]>>({});
@@ -302,7 +302,7 @@
},
exportConfig: {
name: props.meetingType === 'office' ? '所务会' : '党委会',
url: getExportUrl,
url: getExportXlsByEasyExcelUrl,
params: getLedgerQueryParams,
},
importConfig: {
@@ -441,6 +441,7 @@
selectedRowKeys.value = [];
resetFeedbackExpand();
reload({ page: 1 });
fetchStatusStats();
}
async function fetchStatusStats() {
@@ -510,6 +511,7 @@
selectedRowKeys.value = [];
resetFeedbackExpand();
reload();
fetchStatusStats();
}
/**
@@ -793,6 +795,7 @@
resetFeedbackExpand();
//刷新数据
reload({ page: 1 });
fetchStatusStats();
}
</script>
@@ -1,6 +1,6 @@
<template>
<a-spin :spinning="confirmLoading">
<JFormContainer :disabled="disabled">
<JFormContainer :disabled="disabled" :class="{ 'form-readonly': disabled }">
<template #detail>
<a-form ref="formRef" class="antd-modal-form" labelAlign="left" :labelCol="labelCol" :wrapperCol="wrapperCol" name="BgPartymatterForm">
<a-row class="form-content-row" :gutter="[12, 4]">
@@ -225,7 +225,7 @@
const validatorRules = reactive({
year: [{ required: true, message: '请选择年份' }],
secretLevel: [{ required: true, message: '请选择密级' }],
number: [{ required: true, message: '请输入序号' }],
number: [],
matterTime: [{ required: true, message: '请选择会议时间' }],
title: [{ required: true, message: '请输入事项名称' }],
content: [{ required: true, message: '请输入会议决议' }],
@@ -233,7 +233,7 @@
{
validator: async (_rule, value) => {
if (value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0)) {
return Promise.reject('请选择责任部门');
return Promise.reject('请选择主办部门');
}
return Promise.resolve();
},
@@ -403,7 +403,7 @@
await saveOrUpdate(model, isUpdate.value)
.then((res) => {
if (res.success) {
createMessage.success(res.message);
createMessage.success(res.message || '保存成功');
emit('ok');
} else {
createMessage.warning(res.message);
@@ -456,4 +456,22 @@
min-height: 30px;
}
}
.form-readonly {
:deep(.ant-input),
:deep(.ant-input-affix-wrapper),
:deep(.ant-input-number),
:deep(.ant-picker),
:deep(.ant-select-selector) {
background: #f5f5f5 !important;
color: rgba(0, 0, 0, 0.65);
cursor: not-allowed;
}
:deep(.ant-select-arrow),
:deep(.ant-picker-suffix),
:deep(.ant-input-number-handler-wrap) {
display: none !important;
}
}
</style>