import React from 'react'
import { connect } from 'dva'
import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin } 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'
import { message } from "antd/lib/index";
import { guid } from '../../../utils/common.js';
import { T } from 'antd/lib/upload/utils';
class FO021EditPage 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,
T_FO_JOB_ACTIVITY_DETAIL_ID: t.response.Data.T_FO_JOB_ACTIVITY_DETAIL_ID, //附件表关联的主表ID
})
}
});
record.Nav_Details.Nav_Files = files
//从自定义页传参并传到后端的使用方法
// var TaskID = this.props.data.TaskID;
// let json={ "TaskID":this.props.data.TaskID };
record.TaskID = this.props.data.TaskID //TaskID传递消息表ID
}
}
//加载前处理事件(加载附件显示,通过数组遍历,只需修改导航属性Nav_TeamActivityFile)
onBeforeEdit(params) {
super.onBeforeEdit(params);
const { isNew, isCopy, copySrcData, login, updateSubTableData, stateData } = params ? params : {};
const updateLoadFileList = [];
if (this.state.data && this.state.data.Nav_Details) {
this.state.data.Nav_Details.forEach(x => {
if(x.Nav_Files)
{
x.Nav_Files.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, T_FO_JOB_ACTIVITY_DETAIL_ID:t.T_FO_JOB_ACTIVITY_DETAIL_ID}, file: t },
url: t.Nav_ImgFile ? (config.picServerHost + t.Nav_ImgFile.FILE_PATH) : '',
});
})
}
});
}
if(!isNew)
{
// let teamPersons = stateData.Nav_JobActivityPerson;
// let person = [];
// if (teamPersons && teamPersons.length > 0) {
// teamPersons.forEach(item => {
// let objPerson = {
// Nav_User: {
// NAME: ''
// },
// JOB_DOCUMENT:''
// }
// objPerson.Nav_User.NAME = item.Nav_User.NAME;
// objPerson.JOB_DOCUMENT = item.JOB_DOCUMENT;
// person.push(objPerson);
// })
// }
// stateData["Nav_JobActivityPerson"] = person;
// this.setState({
// stateData
// })
}
this.setState({
updateLoadFileList,
})
}
//render加载上传组件(可支持新增上传)
onRenderRowControl(params) {
var TaskID = this.props.data.TaskID;
let json = { "TaskID": this.props.data.TaskID };
const { colConfig, record } = params;
const Tenant = storage('lacal').getItem('Tenant').val
// if (!(colConfig.field === 'Nav_Files'))
// return '';
if (colConfig.field === 'Nav_Files') {
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} 上传成功`);
} else if (info.file.status === 'error') {
message.error(`${info.file.name} 上传失败!`);
}
},
};
return <>