fix(bgpartymatter): 修复前端页面 QA 审查发现的问题
- 导出切换 EasyExcel 端点,规避 AutoPoi 500 - 统计标签随查询/重置/增删改同步刷新 - 详情弹窗只读灰化、序号去必填、文案与保存提示修正 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -195,7 +195,7 @@
|
|||||||
import FlowScheduleStartModalForBG from '/src/components/semri/process/FlowScheduleStartModalForBG.vue';
|
import FlowScheduleStartModalForBG from '/src/components/semri/process/FlowScheduleStartModalForBG.vue';
|
||||||
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
||||||
import { columns, superQuerySchema, bgPartymatterFeedbackColumns } from './BgPartymatter.data';
|
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 { defHttp } from '/@/utils/http/axios';
|
||||||
import { showImportValidationErrors } from '/@/utils/helper/importError';
|
import { showImportValidationErrors } from '/@/utils/helper/importError';
|
||||||
import { useMessage } from '/@/hooks/web/useMessage';
|
import { useMessage } from '/@/hooks/web/useMessage';
|
||||||
@@ -252,7 +252,7 @@
|
|||||||
const registerModal = ref();
|
const registerModal = ref();
|
||||||
const flowScheduleModalRef = ref();
|
const flowScheduleModalRef = ref();
|
||||||
const businessProcessListModalRef = ref();
|
const businessProcessListModalRef = ref();
|
||||||
const toggleSearchStatus = ref<boolean>(false);
|
const toggleSearchStatus = ref<boolean>(true);
|
||||||
const queryParam = reactive<any>({});
|
const queryParam = reactive<any>({});
|
||||||
const expandedRowKeys = ref<Array<string | number>>([]);
|
const expandedRowKeys = ref<Array<string | number>>([]);
|
||||||
const feedbackTableData = reactive<Record<string, Recordable[]>>({});
|
const feedbackTableData = reactive<Record<string, Recordable[]>>({});
|
||||||
@@ -302,7 +302,7 @@
|
|||||||
},
|
},
|
||||||
exportConfig: {
|
exportConfig: {
|
||||||
name: props.meetingType === 'office' ? '所务会' : '党委会',
|
name: props.meetingType === 'office' ? '所务会' : '党委会',
|
||||||
url: getExportUrl,
|
url: getExportXlsByEasyExcelUrl,
|
||||||
params: getLedgerQueryParams,
|
params: getLedgerQueryParams,
|
||||||
},
|
},
|
||||||
importConfig: {
|
importConfig: {
|
||||||
@@ -441,6 +441,7 @@
|
|||||||
selectedRowKeys.value = [];
|
selectedRowKeys.value = [];
|
||||||
resetFeedbackExpand();
|
resetFeedbackExpand();
|
||||||
reload({ page: 1 });
|
reload({ page: 1 });
|
||||||
|
fetchStatusStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchStatusStats() {
|
async function fetchStatusStats() {
|
||||||
@@ -510,6 +511,7 @@
|
|||||||
selectedRowKeys.value = [];
|
selectedRowKeys.value = [];
|
||||||
resetFeedbackExpand();
|
resetFeedbackExpand();
|
||||||
reload();
|
reload();
|
||||||
|
fetchStatusStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -793,6 +795,7 @@
|
|||||||
resetFeedbackExpand();
|
resetFeedbackExpand();
|
||||||
//刷新数据
|
//刷新数据
|
||||||
reload({ page: 1 });
|
reload({ page: 1 });
|
||||||
|
fetchStatusStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-spin :spinning="confirmLoading">
|
<a-spin :spinning="confirmLoading">
|
||||||
<JFormContainer :disabled="disabled">
|
<JFormContainer :disabled="disabled" :class="{ 'form-readonly': disabled }">
|
||||||
<template #detail>
|
<template #detail>
|
||||||
<a-form ref="formRef" class="antd-modal-form" labelAlign="left" :labelCol="labelCol" :wrapperCol="wrapperCol" name="BgPartymatterForm">
|
<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]">
|
<a-row class="form-content-row" :gutter="[12, 4]">
|
||||||
@@ -225,7 +225,7 @@
|
|||||||
const validatorRules = reactive({
|
const validatorRules = reactive({
|
||||||
year: [{ required: true, message: '请选择年份' }],
|
year: [{ required: true, message: '请选择年份' }],
|
||||||
secretLevel: [{ required: true, message: '请选择密级' }],
|
secretLevel: [{ required: true, message: '请选择密级' }],
|
||||||
number: [{ required: true, message: '请输入序号' }],
|
number: [],
|
||||||
matterTime: [{ required: true, message: '请选择会议时间' }],
|
matterTime: [{ required: true, message: '请选择会议时间' }],
|
||||||
title: [{ required: true, message: '请输入事项名称' }],
|
title: [{ required: true, message: '请输入事项名称' }],
|
||||||
content: [{ required: true, message: '请输入会议决议' }],
|
content: [{ required: true, message: '请输入会议决议' }],
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
{
|
{
|
||||||
validator: async (_rule, value) => {
|
validator: async (_rule, value) => {
|
||||||
if (value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0)) {
|
if (value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0)) {
|
||||||
return Promise.reject('请选择责任部门');
|
return Promise.reject('请选择主办部门');
|
||||||
}
|
}
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
},
|
},
|
||||||
@@ -403,7 +403,7 @@
|
|||||||
await saveOrUpdate(model, isUpdate.value)
|
await saveOrUpdate(model, isUpdate.value)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
createMessage.success(res.message);
|
createMessage.success(res.message || '保存成功');
|
||||||
emit('ok');
|
emit('ok');
|
||||||
} else {
|
} else {
|
||||||
createMessage.warning(res.message);
|
createMessage.warning(res.message);
|
||||||
@@ -456,4 +456,22 @@
|
|||||||
min-height: 30px;
|
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>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user