From 068106cb21891e22e48af4b352105ec122992f5a Mon Sep 17 00:00:00 2001 From: pengm <674192343@qq.com> Date: Mon, 21 Jul 2025 14:51:59 +0800 Subject: [PATCH] 1.打印报表增加英文版报表功能 与标版中文分开,上传报表时可选择上传到哪个对应版本里。 --- src/components/CommonElementEvent/StatementInfo.js | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/src/components/CommonElementEvent/StatementInfo.js b/src/components/CommonElementEvent/StatementInfo.js index 384098c..8ce9e0a 100644 --- a/src/components/CommonElementEvent/StatementInfo.js +++ b/src/components/CommonElementEvent/StatementInfo.js @@ -13,7 +13,7 @@ import { UploadOutlined, } from '@ant-design/icons'; -import { Modal, Upload, message } from 'antd-v4'; +import { Modal, Upload, message, Radio, Button } from 'antd-v4'; import * as commonUtils from '../../utils/utils'; import * as commonServices from '../../services/services'; import commonConfig from '../../utils/config'; @@ -28,6 +28,7 @@ export default class StatementInfo extends Component { constructor(props) { super(props); this.state = { + showUploadModal: false, }; } @@ -223,6 +224,31 @@ export default class StatementInfo extends Component { this.props.onSaveState({ [`${name}Data`]: tableData }); this.handleBtnSave(); }; + handleShowUpload = () => { + const { reportSelectedRowKeys, app , sModelsId, formSrcRoute} = this.props; + if (reportSelectedRowKeys === undefined || reportSelectedRowKeys.length !== 1) { + message.warn(commonFunc.showMessage(app.commonConst, 'selectedRowKeysNo')); + return; + } + // 根据用户语言决定流程 + if (app.userinfo.sLanguage === 'sChinese') { + // 中文用户直接触发上传 + this.uploadRef.upload.uploader.fileInput.click(); + } else { + // 英文用户显示选择类型弹窗 + this.setState({ showUploadModal: true }); + } + }; + + handleUploadConfirm = () => { + this.setState({ showUploadModal: false }); // 关闭Modal + if (this.uploadRef) { + this.uploadRef.upload.uploader.fileInput.click(); + } else { + message.error('Error'); + } + }; + handleOk = () => { this.handleBtnSave(); this.props.onSaveState({ @@ -244,10 +270,11 @@ export default class StatementInfo extends Component { } = this.props; const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0]; const { token } = this.props.app; + // 使用state管理reportType,默认为'zh' + const reportType = this.reportType || 'sChinese'; const outProps = { - action: `${commonConfig.file_host_ebc}file/uploadReport?sModelsId=${sModelsId}&token=${token}&sName=${formSrcRoute}`, - onChange: this.handleUploadChange, - accept: '.jasper', + action: `${commonConfig.file_host_ebc}file/uploadReport?sModelsId=${sModelsId}&token=${token}&sName=${formSrcRoute}&reportType=${reportType}`, onChange: this.handleUploadChange, + accept: '.xlsx', showUploadList: false, beforeUpload: () => { if (!this.props.reportPropsEnabled) return false; @@ -267,6 +294,13 @@ export default class StatementInfo extends Component { const BtnUpload = commonFunc.showMessage(app.commonConst, 'BtnUpload');/* 上传 */ const BtnSave = commonFunc.showMessage(app.commonConst, 'BtnSave');/* 保存 */ const btnTop = commonFunc.showMessage(app.commonConst, 'setTop');/* 置顶 */ + const sLanguage = app.userinfo?.sLanguage; + const BtnSure = commonFunc.showMessage(app.commonConst, 'BtnSure');/* 置顶 */ + const modalTitle = sLanguage === 'sEnglish' ? 'Please confirm the upload' : '请确认上传'; + + const sChinseReport = sLanguage === 'sEnglish' ? 'Chinese Report' : '中文报表'; + + const sEnglishReport = sLanguage === 'sEnglish' ? 'English Report' : '英文报表'; return (
{(pane?.notCurrentPane ? false : this.props.visibleStatement) ? @@ -303,10 +337,38 @@ export default class StatementInfo extends Component {
  • - - - {BtnUpload} - + + + {BtnUpload} + + + {BtnSure} + , + ]} + width={500} // 设置固定宽度 + bodyStyle={{ + padding: "16px 24px", // 调整内边距 + maxHeight: "60vh", // 限制最大高度 + overflow: "auto", // 添加滚动条 + }} + > + { + this.reportType = e.target.value; + }} + > + {sChinseReport} + {sEnglishReport} + + + + (this.uploadRef = ref)}> +
  • -- libgit2 0.22.2