221 lines
8.1 KiB
JavaScript
221 lines
8.1 KiB
JavaScript
|
|
import { message } from "antd/lib/index";
|
|||
|
|
import { getPropertyData, extendInclude, extendRule, getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common";
|
|||
|
|
import moment from 'moment';
|
|||
|
|
import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin,Table } from 'antd';
|
|||
|
|
/**
|
|||
|
|
* @return {string}
|
|||
|
|
*/
|
|||
|
|
// 编辑
|
|||
|
|
export default {
|
|||
|
|
onBeforeSaveHandleRecord(params) {
|
|||
|
|
params.record.TaskID = params.data.TaskID //TaskID传递消息表ID
|
|||
|
|
params.record.PUBLISH = params.customParams;
|
|||
|
|
// params.record.FORM_CODE = params.data.reloadKey.substring(0,params.data.reloadKey.indexOf("_"));
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
onBeforeEdit(params) {
|
|||
|
|
const { isNew, dispatch, login, setFieldValueByBatch, setFieldEditable, setFieldVisible,stateData } = params ? params : {};
|
|||
|
|
if (isNew) {
|
|||
|
|
let json = initFilter(login.OrgId);
|
|||
|
|
dispatch({
|
|||
|
|
type: 'FMProcess/getFullGet',
|
|||
|
|
payload: json,
|
|||
|
|
onComplete: (ret) => {
|
|||
|
|
if (ret) {
|
|||
|
|
let temps = [];
|
|||
|
|
|
|||
|
|
let detail = ret.Nav_Details.map((item, i) => {
|
|||
|
|
item['ROW_NO'] = i + 1;
|
|||
|
|
return item;
|
|||
|
|
});
|
|||
|
|
temps.push({ field: 'DEPARTMENT_ID', value: ret.DEPARTMENT_ID })
|
|||
|
|
temps.push({ field: 'COMPLETE_DATE', value: moment(new Date()).format('YYYY-MM-DD HH:mm:ss') })
|
|||
|
|
temps.push({ field: 'Nav_Details', value: detail })
|
|||
|
|
setFieldValueByBatch(temps);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
setFieldVisible("CONTEXT", false);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
if(stateData.IS_PUBLISH === 9)
|
|||
|
|
{
|
|||
|
|
setFieldVisible("CONTEXT", true);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{setFieldVisible("CONTEXT", false);}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onAfterAddSubRow(params) {
|
|||
|
|
const { record, srcRecord, editCode, setFieldEditable, saveRowRecord } = params ? params : {};
|
|||
|
|
let isUpdate = record.IS_ALLOW_UPDATE;
|
|||
|
|
//setFieldEditable("Nav_ApproveUser.NAME", isUpdate);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
handleRenderRowControl(params) {
|
|||
|
|
if (params.colConfig.field === 'Nav_ApproveUser.NAME' && !params.record.IS_ALLOW_UPDATE) {
|
|||
|
|
return <>
|
|||
|
|
<a>{params.record.Nav_ApproveUser?.NAME}</a>
|
|||
|
|
</>
|
|||
|
|
|
|||
|
|
} else {
|
|||
|
|
return ""
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onSubChange: ({ row, getFieldValue, setFieldValueByBatch, pageCode, record, setDataState, colInfo, dispatch, stateData, saveRowRecord }) => {
|
|||
|
|
|
|||
|
|
if (colInfo.FIELD_NAME === "Nav_OperationStep.NAME" ) {
|
|||
|
|
if (record.OPERATION_STEP_ID !== null && record.OPERATION_STEP_ID !== undefined) {
|
|||
|
|
let json = initFilter(stateData.ORG_ID, record.OPERATION_STEP_ID);
|
|||
|
|
dispatch({
|
|||
|
|
type: 'app/getDataByPost',
|
|||
|
|
url: 'HM/HMJobtaskIdentify/GetRiskPost',
|
|||
|
|
payload: json,
|
|||
|
|
onlyData: false,
|
|||
|
|
onComplete: (ret) => {
|
|||
|
|
if (ret && ret.IsSuccessful) {
|
|||
|
|
// if(ret.Data.Nav_DetailRisk)
|
|||
|
|
// {
|
|||
|
|
// let detailRisks = [];
|
|||
|
|
// ret.Data.Nav_DetailRisk.forEach(item => {
|
|||
|
|
// let objDetailRisk = {
|
|||
|
|
// JOBTASK_IDENTIFY_DETAIL_ID: record.ID,
|
|||
|
|
// ID: guid(),
|
|||
|
|
// EVALUATE_RISK_ID: item.EVALUATE_RISK_ID,
|
|||
|
|
// Nav_EvaluateRisk: item.Nav_EvaluateRisk,
|
|||
|
|
// ORG_ID: record.ORG_ID,
|
|||
|
|
// }
|
|||
|
|
// detailRisks.push(objDetailRisk);
|
|||
|
|
// })
|
|||
|
|
// record["Nav_DetailRisk"] = detailRisks;
|
|||
|
|
// }
|
|||
|
|
stateData.CYCLE_TYPE=ret.Data.CYCLE_TYPE;
|
|||
|
|
if(ret.Data.Nav_DetailPost)
|
|||
|
|
{
|
|||
|
|
let detailPosts = [];
|
|||
|
|
ret.Data.Nav_DetailPost.forEach(item => {
|
|||
|
|
let objDetailPost = {
|
|||
|
|
JOBTASK_IDENTIFY_DETAIL_ID: record.ID,
|
|||
|
|
ID: guid(),
|
|||
|
|
POST_ID: item.POST_ID,
|
|||
|
|
Nav_Post: item.Nav_Post,
|
|||
|
|
ORG_ID: record.ORG_ID,
|
|||
|
|
}
|
|||
|
|
detailPosts.push(objDetailPost);
|
|||
|
|
})
|
|||
|
|
record["Nav_DetailPost"] = detailPosts;
|
|||
|
|
}
|
|||
|
|
saveRowRecord(record)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
// handleRenderHeadControl(params) {
|
|||
|
|
// if (params.colConfig.field === 'Nav_Details') {
|
|||
|
|
// const data = params.record.Nav_Details;
|
|||
|
|
// // 合并单元格,这里我抽出了一个函数,调用的时候只需要将dataIndex作为参数传入即可
|
|||
|
|
// const mergeCells2 =(text, data, key, index) =>{
|
|||
|
|
// // 上一行该列数据是否一样
|
|||
|
|
// if (index !== 0 && text === data[index - 1][key]) {
|
|||
|
|
// return 0
|
|||
|
|
// }
|
|||
|
|
// let rowSpan = 1
|
|||
|
|
// // 判断下一行是否相等
|
|||
|
|
// for (let i = index + 1; i < data.length; i++) {
|
|||
|
|
// if (text !== data[i][key]) {
|
|||
|
|
// break
|
|||
|
|
// }
|
|||
|
|
// rowSpan++
|
|||
|
|
// }
|
|||
|
|
// return rowSpan
|
|||
|
|
// }
|
|||
|
|
// const columns = [
|
|||
|
|
// // { title: '序号', dataIndex: 'ROW_NO',
|
|||
|
|
// // render: (value, row, index) => {debugger
|
|||
|
|
// // if(!value)
|
|||
|
|
// // {
|
|||
|
|
// // value= index + 1;
|
|||
|
|
// // }
|
|||
|
|
// // }
|
|||
|
|
// // },
|
|||
|
|
// { title: '任务名称', dataIndex: 'OperationStepName' , width: 200,align:"left",
|
|||
|
|
|
|||
|
|
// render: (text, record, index) => {
|
|||
|
|
// const obj = {
|
|||
|
|
// children: <span>{text}</span>,
|
|||
|
|
// props: {}
|
|||
|
|
// };
|
|||
|
|
// //过滤获取到相同的数据
|
|||
|
|
// let arr = data.filter((res) => {
|
|||
|
|
// return res.OperationStepName == record.OperationStepName;
|
|||
|
|
// });
|
|||
|
|
// if (index == 0 || data[index - 1].OperationStepName != record.OperationStepName) {
|
|||
|
|
// obj.props.rowSpan = arr.length;
|
|||
|
|
// } else {
|
|||
|
|
// obj.props.rowSpan = 0;
|
|||
|
|
// }
|
|||
|
|
// return obj;
|
|||
|
|
// // const obj = {
|
|||
|
|
// // children: text !== null ? text : '',
|
|||
|
|
// // attrs: {}
|
|||
|
|
// // }
|
|||
|
|
// // obj.attrs.rowSpan = mergeCells(record.ID, data, 'OperationStepName')
|
|||
|
|
// // return obj
|
|||
|
|
// }
|
|||
|
|
// },
|
|||
|
|
// { title: '岗位', dataIndex: 'DetailPost' , width: 200,align:"left"},
|
|||
|
|
// { title: '涉及风险', dataIndex: 'Nav_EvaluateRisk.NAME' , width: 200,align:"center"}
|
|||
|
|
// ];
|
|||
|
|
// const paginationConfig = {
|
|||
|
|
// pageSizeOptions: ['5', '10', '20', '50', '100'],
|
|||
|
|
// // current: this.state.loadParamJson.PageIndex,
|
|||
|
|
// pageSize: 10,
|
|||
|
|
// total: params.record.Nav_Details?.length,
|
|||
|
|
// showSizeChanger: true,
|
|||
|
|
// size: 'small',
|
|||
|
|
// // position:'both',
|
|||
|
|
// showTotal: () => `共 ${params.record.Nav_Details?.length} 条`
|
|||
|
|
// };
|
|||
|
|
// return <>
|
|||
|
|
// <Table size='small' columns={columns} dataSource={data} pagination={false} scroll={{ y: 300 }} />
|
|||
|
|
// </>
|
|||
|
|
// }
|
|||
|
|
// // else {
|
|||
|
|
// // return ""
|
|||
|
|
// // }
|
|||
|
|
// }
|
|||
|
|
// onChange: ({ value,colInfo, getFieldValue, setFieldValueByBatch, dispatch,setFieldEditable,setFieldVisible }) => {
|
|||
|
|
// if (!(colInfo.FIELD_NAME == 'approve'))
|
|||
|
|
// return;
|
|||
|
|
// let id = getFieldValue('ApproveId')
|
|||
|
|
// let json = initFilter(null,id);
|
|||
|
|
// dispatch({
|
|||
|
|
// type: 'app/getDataByPost',
|
|||
|
|
// url: 'PF/PFApproveTemp/GetDetail',
|
|||
|
|
// payload: json,
|
|||
|
|
// onlyData: false,
|
|||
|
|
// onComplete: (re) => {
|
|||
|
|
// if (re && re.IsSuccessful && re.Data) {
|
|||
|
|
// let temps = [];
|
|||
|
|
// let detail=re.Data.Nav_ApproveDetails.map((item,i)=>{
|
|||
|
|
// item['ROW_NO'] = i+1;
|
|||
|
|
// let isUpdate = item.IS_ALLOW_UPDATE;
|
|||
|
|
// //if(isUpdate === false)
|
|||
|
|
// //{
|
|||
|
|
// setFieldEditable(item['Nav_ApproveUser.NAME'], false)
|
|||
|
|
// //}
|
|||
|
|
// return item;
|
|||
|
|
// });
|
|||
|
|
// temps.push({ field: 'Nav_ApproveDetails', value: detail })
|
|||
|
|
// setFieldValueByBatch(temps);
|
|||
|
|
// setFieldEditable('Nav_ApproveDetails', false)
|
|||
|
|
// //updateSubTableData(params.pageCode,detail,true)
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// })
|
|||
|
|
// },
|
|||
|
|
}
|