371 lines
12 KiB
JavaScript
371 lines
12 KiB
JavaScript
|
|
import React from 'react'
|
||
|
|
import { message } from "antd/lib/index";
|
||
|
|
import { getPropertyData, extendInclude, extendRule, getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common";
|
||
|
|
import moment from 'moment';
|
||
|
|
import storage from '../../utils/storage'
|
||
|
|
import config from "../../config.js"
|
||
|
|
import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin } from 'antd';
|
||
|
|
import { T } from "antd/lib/upload/utils";
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return {string}
|
||
|
|
*/
|
||
|
|
// 编辑
|
||
|
|
|
||
|
|
export default {
|
||
|
|
onBeforeSaveHandleRecord(params) {
|
||
|
|
params.record.TaskID = params.data.TaskID //TaskID传递消息表ID
|
||
|
|
params.record.PUBLISH = params.customParams;
|
||
|
|
// if (record.Files) {
|
||
|
|
// let navFiles=[];
|
||
|
|
// record.Files.forEach(t => {
|
||
|
|
// if(t.name)
|
||
|
|
// {
|
||
|
|
// //附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
// navFiles.push({
|
||
|
|
// IMG_FILE_ID:guid(), //附件表文件名称
|
||
|
|
// })
|
||
|
|
// }
|
||
|
|
// });
|
||
|
|
// record['Nav_Files'] = navFiles;
|
||
|
|
// }
|
||
|
|
// if (record && record.Nav_Details) {
|
||
|
|
// let details=[];
|
||
|
|
// record.Nav_Details.forEach(t => {
|
||
|
|
// let detail={
|
||
|
|
// Nav_Files:[],
|
||
|
|
// ID: t.ID,
|
||
|
|
// JOB_ACTIVITY_RECORD_ID: t.JOB_ACTIVITY_RECORD_ID,
|
||
|
|
// SafeConfirmsStr:t.SafeConfirmsStr,
|
||
|
|
// ENTITY_ORG_TPYE:t.ENTITY_ORG_TPYE,
|
||
|
|
// ORG_ID:t.ORG_ID,
|
||
|
|
// IS_CONFIRM: t.IS_CONFIRM ? t.IS_CONFIRM : false
|
||
|
|
// }
|
||
|
|
// if (t.Files) {
|
||
|
|
// t.Files.forEach(x=>{
|
||
|
|
// if(x.response)
|
||
|
|
// {
|
||
|
|
// //附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
// detail.Nav_Files.push({
|
||
|
|
// IMG_FILE_ID: x.response.Data.imgFileID, //附件表文件名称
|
||
|
|
// T_FO_JOB_ACTIVITY_DETAIL_ID:t.ID
|
||
|
|
// })
|
||
|
|
// }
|
||
|
|
// })
|
||
|
|
// }
|
||
|
|
// details.push(detail);
|
||
|
|
// });
|
||
|
|
// record.Nav_Details = details;
|
||
|
|
// }
|
||
|
|
// if (record && record.Nav_Flow) {
|
||
|
|
// let details=[];
|
||
|
|
// record.Nav_Flow.forEach(t => {
|
||
|
|
// let detail={
|
||
|
|
// Nav_Files:[],
|
||
|
|
// ID: t.ID,
|
||
|
|
// JOB_ACTIVITY_RECORD_ID: t.JOB_ACTIVITY_RECORD_ID,
|
||
|
|
// SafeMeasuresStr:t.SafeMeasuresStr,
|
||
|
|
// ENTITY_ORG_TPYE:t.ENTITY_ORG_TPYE,
|
||
|
|
// ORG_ID:t.ORG_ID,
|
||
|
|
// IS_CONFIRM: t.IS_CONFIRM ? t.IS_CONFIRM : false
|
||
|
|
// }
|
||
|
|
// if (t.Files) {
|
||
|
|
// t.Files.forEach(x=>{
|
||
|
|
// if(x.response)
|
||
|
|
// {
|
||
|
|
// //附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
// detail.Nav_Files.push({
|
||
|
|
// IMG_FILE_ID: x.response.Data.imgFileID, //附件表文件名称
|
||
|
|
// T_FO_JOB_ACTIVITY_FLOW_ID:t.ID
|
||
|
|
// })
|
||
|
|
// }
|
||
|
|
// })
|
||
|
|
// }
|
||
|
|
// details.push(detail);
|
||
|
|
// });
|
||
|
|
// record.Nav_Flow = details;
|
||
|
|
// }
|
||
|
|
// if (record && record.Nav_Measure) {
|
||
|
|
// let details=[];
|
||
|
|
// record.Nav_Measure.forEach(t => {
|
||
|
|
// let detail={
|
||
|
|
// Nav_Files:[],
|
||
|
|
// ID: t.ID,
|
||
|
|
// JOB_ACTIVITY_RECORD_ID: t.JOB_ACTIVITY_RECORD_ID,
|
||
|
|
// DealMeasuresStr:t.DealMeasuresStr,
|
||
|
|
// ENTITY_ORG_TPYE:t.ENTITY_ORG_TPYE,
|
||
|
|
// ORG_ID:t.ORG_ID,
|
||
|
|
// IS_CONFIRM: t.IS_CONFIRM ? t.IS_CONFIRM : false
|
||
|
|
// }
|
||
|
|
// if (t.Files) {
|
||
|
|
// t.Files.forEach(x=>{
|
||
|
|
// if(x.response)
|
||
|
|
// {
|
||
|
|
// //附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
// detail.Nav_Files.push({
|
||
|
|
// IMG_FILE_ID: x.response.Data.imgFileID, //附件表文件名称
|
||
|
|
// T_FO_JOB_ACTIVITY_MEASURE_ID:t.ID
|
||
|
|
// })
|
||
|
|
// }
|
||
|
|
// })
|
||
|
|
// }
|
||
|
|
// details.push(detail);
|
||
|
|
// });
|
||
|
|
// record.Nav_Measure = details;
|
||
|
|
// }
|
||
|
|
},
|
||
|
|
//加载前处理事件
|
||
|
|
onBeforeEdit(params) {
|
||
|
|
const {isNew, stateData,saveRowRecord,setFieldVisible} = params ? params : {};
|
||
|
|
if (isNew) {
|
||
|
|
setFieldVisible("CONTEXT", false);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
if(stateData.FORM_STATUS === 4)
|
||
|
|
{
|
||
|
|
setFieldVisible("CONTEXT", true);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{setFieldVisible("CONTEXT", false);}
|
||
|
|
}
|
||
|
|
if (stateData && stateData.Nav_JobEventPerson) {
|
||
|
|
stateData.Nav_JobEventPerson.forEach(item=>{
|
||
|
|
item['Department'] = item.Nav_User.Nav_Department.NAME;
|
||
|
|
});
|
||
|
|
// stateData.Nav_JobActivityPerson = details;
|
||
|
|
}
|
||
|
|
if (stateData && stateData.Nav_Details) {
|
||
|
|
let details=[];
|
||
|
|
stateData.Nav_Details.forEach(t => {
|
||
|
|
let detail={
|
||
|
|
Files:[],
|
||
|
|
Nav_Files:t.Nav_Files,
|
||
|
|
ID: t.ID,
|
||
|
|
JOB_EVENT_RECORD_ID: t.JOB_EVENT_RECORD_ID,
|
||
|
|
SafeConfirmsStr:t.SafeConfirmsStr,
|
||
|
|
ENTITY_ORG_TPYE:t.ENTITY_ORG_TPYE,
|
||
|
|
ORG_ID:t.ORG_ID,
|
||
|
|
IS_CONFIRM: t.IS_CONFIRM ? t.IS_CONFIRM : false,
|
||
|
|
CREATE_TIME:t.CREATE_TIME,
|
||
|
|
IS_DELETED:t.IS_DELETED
|
||
|
|
}
|
||
|
|
if (t.Nav_Files) {
|
||
|
|
t.Nav_Files.forEach(x=>{
|
||
|
|
//附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
detail.Files.push({
|
||
|
|
uid: x.ID,
|
||
|
|
name: x.name ? x.name : (x.Nav_ImgFile ? x.Nav_ImgFile.FILE_NAME : '未知文件'),
|
||
|
|
status: x.status ? x.status : 'done',
|
||
|
|
response: { Data: { imgFileID: x.IMG_FILE_ID }, file: x },
|
||
|
|
url: x.Nav_ImgFile ? (config.picServerHost + x.Nav_ImgFile.FILE_PATH) : '',
|
||
|
|
})
|
||
|
|
})
|
||
|
|
}
|
||
|
|
details.push(detail);
|
||
|
|
});
|
||
|
|
details = details.map((item, i) => {
|
||
|
|
item['ROW_NO'] = i + 1;
|
||
|
|
return item;
|
||
|
|
});
|
||
|
|
stateData.Nav_Details = details;
|
||
|
|
}
|
||
|
|
if (stateData && stateData.Nav_Flow) {
|
||
|
|
let details=[];
|
||
|
|
stateData.Nav_Flow.forEach(t => {
|
||
|
|
let detail={
|
||
|
|
Files:[],
|
||
|
|
Nav_Files:t.Nav_Files,
|
||
|
|
ID: t.ID,
|
||
|
|
JOB_EVENT_RECORD_ID: t.JOB_EVENT_RECORD_ID,
|
||
|
|
SafeMeasuresStr:t.SafeMeasuresStr,
|
||
|
|
ENTITY_ORG_TPYE:t.ENTITY_ORG_TPYE,
|
||
|
|
ORG_ID:t.ORG_ID,
|
||
|
|
IS_CONFIRM: t.IS_CONFIRM ? t.IS_CONFIRM : false,
|
||
|
|
CREATE_TIME:t.CREATE_TIME,
|
||
|
|
IS_DELETED:t.IS_DELETED
|
||
|
|
}
|
||
|
|
if (t.Nav_Files) {
|
||
|
|
t.Nav_Files.forEach(x=>{
|
||
|
|
//附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
detail.Files.push({
|
||
|
|
uid: x.ID,
|
||
|
|
name: x.name ? x.name : (x.Nav_ImgFile ? x.Nav_ImgFile.FILE_NAME : '未知文件'),
|
||
|
|
status: x.status ? x.status : 'done',
|
||
|
|
response: { Data: { imgFileID: x.IMG_FILE_ID }, file: x },
|
||
|
|
url: x.Nav_ImgFile ? (config.picServerHost + x.Nav_ImgFile.FILE_PATH) : '',
|
||
|
|
})
|
||
|
|
})
|
||
|
|
}
|
||
|
|
details.push(detail);
|
||
|
|
});
|
||
|
|
details = details.map((item, i) => {
|
||
|
|
item['ROW_NO'] = i + 1;
|
||
|
|
return item;
|
||
|
|
});
|
||
|
|
stateData.Nav_Flow = details;
|
||
|
|
}
|
||
|
|
if (stateData && stateData.Nav_Measure) {
|
||
|
|
let details=[];
|
||
|
|
stateData.Nav_Measure.forEach(t => {
|
||
|
|
let detail={
|
||
|
|
Files:[],
|
||
|
|
Nav_Files:t.Nav_Files,
|
||
|
|
ID: t.ID,
|
||
|
|
JOB_EVENT_RECORD_ID: t.JOB_EVENT_RECORD_ID,
|
||
|
|
DealMeasuresStr:t.DealMeasuresStr,
|
||
|
|
ENTITY_ORG_TPYE:t.ENTITY_ORG_TPYE,
|
||
|
|
ORG_ID:t.ORG_ID,
|
||
|
|
IS_CONFIRM: t.IS_CONFIRM ? t.IS_CONFIRM : false,
|
||
|
|
CREATE_TIME:t.CREATE_TIME,
|
||
|
|
IS_DELETED:t.IS_DELETED
|
||
|
|
}
|
||
|
|
if (t.Nav_Files) {
|
||
|
|
t.Nav_Files.forEach(x=>{
|
||
|
|
//附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
detail.Files.push({
|
||
|
|
uid: x.ID,
|
||
|
|
name: x.name ? x.name : (x.Nav_ImgFile ? x.Nav_ImgFile.FILE_NAME : '未知文件'),
|
||
|
|
status: x.status ? x.status : 'done',
|
||
|
|
response: { Data: { imgFileID: x.IMG_FILE_ID }, file: x },
|
||
|
|
url: x.Nav_ImgFile ? (config.picServerHost + x.Nav_ImgFile.FILE_PATH) : '',
|
||
|
|
})
|
||
|
|
})
|
||
|
|
}
|
||
|
|
details.push(detail);
|
||
|
|
});
|
||
|
|
details = details.map((item, i) => {
|
||
|
|
item['ROW_NO'] = i + 1;
|
||
|
|
return item;
|
||
|
|
});
|
||
|
|
stateData.Nav_Measure = details;
|
||
|
|
}
|
||
|
|
params['record'] = stateData;
|
||
|
|
},
|
||
|
|
onChange: ({ colInfo, getFieldValue, setFieldValueByBatch, dispatch,login,updateSubTableData }) => {
|
||
|
|
if (!(colInfo.FIELD_NAME == 'Nav_OperationStep.NAME'))
|
||
|
|
return;
|
||
|
|
|
||
|
|
let code = getFieldValue('OPERATION_STEP_ID')
|
||
|
|
let json = initFilter(login.OrgId,code);
|
||
|
|
dispatch({
|
||
|
|
type: 'app/getDataByPost',
|
||
|
|
url: 'FO/FOCrucialLicenseJob/GetAnalyzeDetail',
|
||
|
|
payload: json,
|
||
|
|
onlyData: false,
|
||
|
|
onComplete: (re) => {
|
||
|
|
if (re && re.IsSuccessful && re.Data) {
|
||
|
|
let temps = [];
|
||
|
|
let detailConfirms=re.Data.Nav_SafeConfirms?.map((item,i)=>{
|
||
|
|
item['NUM'] = i+1;
|
||
|
|
item['SafeConfirmsStr'] = item.NAME;
|
||
|
|
return item;
|
||
|
|
});
|
||
|
|
let detailMeasures=re.Data.Nav_SafeMeasures?.map((item,i)=>{
|
||
|
|
item['NUM'] = i+1;
|
||
|
|
item['SafeMeasuresStr'] = item.NAME;
|
||
|
|
return item;
|
||
|
|
});
|
||
|
|
let detailDeal=re.Data.Nav_DealMeasures?.map((item,i)=>{
|
||
|
|
item['NUM'] = i+1;
|
||
|
|
item['DealMeasuresStr'] = item.NAME;
|
||
|
|
return item;
|
||
|
|
});
|
||
|
|
temps.push({ field: 'Nav_Details', value: detailConfirms })
|
||
|
|
temps.push({ field: 'Nav_Flow', value: detailMeasures })
|
||
|
|
temps.push({ field: 'Nav_Measure', value: detailDeal })
|
||
|
|
// temps.push({ field: 'AUDIT_LEVEL', value: re.Data.AUDIT_LEVEL})
|
||
|
|
// temps.push({ field: 'SafeMeasuresStr', value: re.Data.SafeMeasuresStr})
|
||
|
|
setFieldValueByBatch(temps);
|
||
|
|
//updateSubTableData(params.pageCode,detail,true)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
})
|
||
|
|
},
|
||
|
|
handleRenderRowControl(params) {
|
||
|
|
if (params.colConfig.field === 'Nav_Files') {
|
||
|
|
const Tenant = storage('lacal').getItem('Tenant').val;
|
||
|
|
const that = this;
|
||
|
|
const uploadSopProps = {
|
||
|
|
name: 'file',
|
||
|
|
action: config.serviceHost('api/PF/File/UploadFile'),
|
||
|
|
data: { OrgId: params.login.OrgId },
|
||
|
|
fileList: params.record['Files'],
|
||
|
|
headers: {
|
||
|
|
Tenant: Tenant,
|
||
|
|
},
|
||
|
|
onChange(info) {
|
||
|
|
params.record['Files']=[...info.fileList];
|
||
|
|
// params.saveRowRecord(params.record);
|
||
|
|
if (info.file.status !== 'uploading') {
|
||
|
|
|
||
|
|
}
|
||
|
|
if(info.file.status === 'removed')
|
||
|
|
{
|
||
|
|
if(info.file.response && info.file.response.file)
|
||
|
|
{
|
||
|
|
info.file.response.file.IS_DELETED=true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (info.file.status === 'done') {
|
||
|
|
let uploadFiles=[...info.fileList]
|
||
|
|
if(uploadFiles)
|
||
|
|
{
|
||
|
|
let navFiles=[];
|
||
|
|
uploadFiles.forEach(t => {
|
||
|
|
let uid=guid();
|
||
|
|
if (t.response) {
|
||
|
|
if(t.response.file)
|
||
|
|
{
|
||
|
|
uid = t.uid;
|
||
|
|
}
|
||
|
|
//附件信息赋值给数据库对象,多个附件需要遍历附件信息
|
||
|
|
navFiles.push({
|
||
|
|
IMG_FILE_ID: t.response.Data.imgFileID, //附件表文件名称
|
||
|
|
ID:uid
|
||
|
|
})
|
||
|
|
}
|
||
|
|
});
|
||
|
|
params.record['Nav_Files'] = navFiles;
|
||
|
|
}
|
||
|
|
message.success(`${info.file.name} 上传成功`);
|
||
|
|
} else if (info.file.status === 'error') {
|
||
|
|
message.error(`${info.file.name} 上传失败!`);
|
||
|
|
}
|
||
|
|
params.saveRowRecord(params.record);
|
||
|
|
},
|
||
|
|
};
|
||
|
|
return <>
|
||
|
|
<Upload {...uploadSopProps}>
|
||
|
|
<Button>
|
||
|
|
<Icon type="upload" /> 上传附件
|
||
|
|
</Button>
|
||
|
|
</Upload>
|
||
|
|
{/* <div>消息编号: { this.props.data.TaskID }
|
||
|
|
<Input value={ TaskID } style={{ width: '100%' }} />
|
||
|
|
</div> */}
|
||
|
|
</>
|
||
|
|
}
|
||
|
|
else if(params.colConfig.field === 'IS_CONFIRM')
|
||
|
|
{
|
||
|
|
const viewSopProps = {
|
||
|
|
type:"primary",
|
||
|
|
disabled: params.record['IS_CONFIRM'] === true?true:false,
|
||
|
|
onClick(){
|
||
|
|
params.record['IS_CONFIRM']=true;
|
||
|
|
params.saveRowRecord(params.record);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
return <>
|
||
|
|
<Button {...viewSopProps}>
|
||
|
|
确认
|
||
|
|
</Button>
|
||
|
|
</>
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
return ""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|