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)
|
||
// }
|
||
// }
|
||
// })
|
||
// },
|
||
}
|