mh_jy_safe_web/src/files/edit/HM112.js
2025-08-25 10:08:30 +08:00

181 lines
5.6 KiB
JavaScript

import { message } from "antd/lib/index";
import { getPropertyData, extendInclude, extendRule, getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common";
import storage from '../../utils/storage'
import config from "../../config.js"
import moment from 'moment';
import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin } from 'antd';
/**
* @return {string}
*/
// 编辑
export default {
onBeforeSaveHandleRecord(params) {
params.record.TaskID = params.data.TaskID //TaskID传递消息表ID
params.record.PUBLISH = params.customParams;
},
onChange: ({ colInfo, getFieldValue, setFieldValueByBatch, dispatch,updateSubTableData }) => {
if (!(colInfo.FIELD_NAME == 'Nav_OperationAnalyze.CODE'))
return;
let code = getFieldValue('Nav_OperationAnalyze.CODE')
let json = initFilter(null,code);
dispatch({
type: 'app/getDataByPost',
url: 'HM/HMOrdinaryTaskAnalysis/GetAnalyzeDetail',
payload: json,
onlyData: false,
onComplete: (re) => {
if (re && re.IsSuccessful && re.Data) {
let temps = [];
let detail=re.Data.Nav_Details.map((item,i)=>{
item['ROW_NO'] = i+1;
return item;
});
temps.push({ field: 'Nav_Details', value: detail })
setFieldValueByBatch(temps);
//updateSubTableData(params.pageCode,detail,true)
}
}
})
},
//加载前处理事件
onBeforeEdit(params) {
const {isNew, stateData,saveRowRecord,setFieldVisible} = params ? params : {};
if(isNew)
{
setFieldVisible("CONTEXT", false);
}
else
{
if(stateData.IS_PUBLISH === 9)
{
setFieldVisible("CONTEXT", true);
}
else
{setFieldVisible("CONTEXT", false);}
}
if (stateData && stateData.Nav_Details) {
let details=[];
stateData.Nav_Details.forEach(t => {
let detail={
Files:[],
Nav_Files:t.Nav_Files,
ID: t.ID,
ORDINARY_TASK_ANALYSIS_ID: t.ORDINARY_TASK_ANALYSIS_ID,
ENTITY_ORG_TPYE:t.ENTITY_ORG_TPYE,
ORG_ID:t.ORG_ID,
CREATE_TIME:t.CREATE_TIME,
IS_DELETED:t.IS_DELETED,
OPERATION_STEP_ID:t.OPERATION_STEP_ID,
Nav_OperationStep:t.Nav_OperationStep,
SafeConfirmsStr:t.SafeConfirmsStr,
SafeMeasuresStr:t.SafeMeasuresStr,
DealMeasuresStr:t.DealMeasuresStr,
AREA_ID:t.AREA_ID,
Nav_Area:t.Nav_Area,
Nav_DetailRisk:t.Nav_DetailRisk,
CYCLE_TYPE:t.CYCLE_TYPE
}
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;
}
params['record'] = stateData;
},
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 {
return ""
}
}
// handleRenderRowControl(params) {
// if (params.colConfig.field === 'Nav_ApproveUser.NAME' && !params.record.IS_ALLOW_UPDATE) {
// return <>
// <a>{params.record.Nav_ApproveUser?.NAME}</a>
// </>
// } else {
// return ""
// }
// }
}