mh_jy_safe_web/src/components/CustomPages/FO/FoPreOperSch.js
2025-08-25 10:08:30 +08:00

94 lines
3.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react'
import { connect } from 'dva'
import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin, message } from 'antd';
import config from "../../../config.js"
import storage from '../../../utils/storage'
import Edit from '../../Edit/Edit.js'
import EditComponent from '../../../baseComponents/EditComponent/index.js'
class FoPreOperSch extends EditComponent {
//保存前处理事件
onBeforeSaveHandleRecord(params) {
let files = []
super.onBeforeSaveHandleRecord(params);
const { editCode, record, srcRecord } = params ? params : {};
if (this.state.updateLoadFileList) {
this.state.updateLoadFileList.forEach(t => {
if (t.response) {
//附件信息赋值给数据库对象,多个附件需要遍历附件信息
files.push({
IMG_FILE_ID: t.response.Data.imgFileID, //附件表文件名称
ORG_ID: record.ORG_ID,
PRE_OPER_SCH_ID: record.ID, //附件表关联的主表ID
})
}
});
record.Nav_PreOperSchFile = files
}
}
//加载前处理事件(加载附件显示通过数组遍历只需修改导航属性Nav_PreOperSchFile)
onBeforeEdit(params) {
super.onBeforeEdit(params);
const { isNew, isCopy, copySrcData } = params ? params : {};
const updateLoadFileList = [];
if (this.state.data && this.state.data.Nav_PreOperSchFile) {
this.state.data.Nav_PreOperSchFile.forEach(t => {
updateLoadFileList.push({
uid: t.ID,
name: t.name ? t.name : (t.Nav_ImgFile ? t.Nav_ImgFile.FILE_NAME : '未知文件'),
status: t.status ? t.status : 'done',
response: { Data: { imgFileID: t.IMG_FILE_ID }, file: t },
url: t.Nav_ImgFile ? (config.picServerHost + t.Nav_ImgFile.FILE_PATH) : '',
});
});
}
this.setState({
updateLoadFileList,
})
}
//render加载上结组件可支持新增上传
onRenderHeadControl(params) {
const { colConfig, record } = params;
const Tenant = storage('lacal').getItem('Tenant').val
if (colConfig.field === 'updateFile') {
const that = this;
const uploadSopProps = {
name: 'file',
action: config.serviceHost('api/PF/File/UploadFile'),
data: { OrgId: this.props.login.OrgId },
fileList: this.state.updateLoadFileList,
headers: {
Tenant: Tenant,
},
onChange(info) {
that.setState({
updateLoadFileList: info.fileList,
});
if (info.file.status !== 'uploading') {
}
if (info.file.status === 'done') {
message.success(`${info.file.name} file uploaded successfully`);
} else if (info.file.status === 'error') {
message.error(`${info.file.name} file upload failed.`);
}
},
};
return <>
<Upload {...uploadSopProps}>
<Button>
<Icon type="upload" /> 上传附件
</Button>
</Upload>
</>
}
return super.onRenderHeadControl(params);
}
}
export default connect(({ login, loading, EMemOrder, custom, app }) => ({ login, loading, EMemOrder, custom, app }))(Form.create()(FoPreOperSch))