import { message } from "antd/lib/index"; import { getPropertyData, extendInclude, extendRule, auditOptionShow, initFilter, guid } from "../../utils/common"; // import { now } from "core-js/core/date"; // import { connect } from 'dva'; // import { forEach } from "core-js/core/array"; /** * @return {string} */ // 编辑 export default { onBeforeSaveHandleRecord(params) { params.record.TaskID = params.data.TaskID //TaskID传递消息表ID params.record.STATUS = params.customParams; // EXPIRY_DATE_EDIT // EXPIRY_START_DATE // EXPIRY_DATE // if (params.record.EXPIRY_DATE_EDIT) { // var dt = params.record.EXPIRY_DATE_EDIT.split(',') // params.record.EXPIRY_START_DATE = dt[0] // params.record.EXPIRY_DATE = dt[1] // } }, onBeforeEdit: ({ isNew, dispatch, setRowFieldVisible, setStateData, stateData, getFieldValue, setFieldVisible, login, setFieldValueByBatch }) => { var TYPE = 10 if (isNew) { setFieldVisible("AUDIT_OPINION", false) TYPE = (login.user.Nav_Department.DEPARTMENT_TYPE == 5 || login.user.Nav_Department.DEPARTMENT_STATUS == 2) ? 5 : 10 var temps = [] temps.push({ field: "YEAR", value: (new Date()).getFullYear() }); temps.push({ field: "DEPARTMENT_ID", value: login.user.DEPARTMENT_ID }); temps.push({ field: "Nav_Department.NAME", value: login.user.Nav_Department.NAME }); temps.push({ field: "LAUNCH_USER_ID", value: login.user.ID }); temps.push({ field: "Nav_User.NAME", value: login.user.NAME }); temps.push({ field: "TYPE", value: TYPE }); setFieldValueByBatch(temps); } else { TYPE = stateData.TYPE auditOptionShow(stateData, stateData.STATUS, 40, 'AUDIT_OPINION', stateData.ID, dispatch, setFieldVisible) } if (TYPE == 5) { setRowFieldVisible("T_SE_TRAIN_PLAN_DETAIL", { Nav_ListDetailDepartment: false }) } else { setFieldVisible("GUIDE_PRINCIPLE", false) setFieldVisible("TRAIN_REQUIREMENT", false) if (isNew) { var year = getFieldValue("YEAR") if (year == null) { year = stateData.YEAR } if (year == null) { year = (new Date()).getFullYear() } //部门 新增 默认加载 公司培训计划信息 let json = initFilter(stateData.ORG_ID, 'false', null, null, null, year); dispatch({ type: 'app/getDataByPost', url: 'SE/SETrainPlan/GetIni', payload: json, onlyData: false, onComplete: (ret) => { if (!ret.Data.Nav_Department) ret.Data.Nav_Department = {} if (!ret.Data.Nav_User) ret.Data.Nav_User = {} ret.Data.Nav_Department.NAME = login.user.Nav_Department.NAME ret.Data.DEPARTMENT_ID = login.user.DEPARTMENT_ID ret.Data.Nav_User.NAME = login.user.NAME ret.Data.LAUNCH_USER_ID = login.user.ID setStateData(ret.Data); } }) } } }, onSubChange: ({ record, colInfo, setDataState, stateData }) => { if (colInfo.FIELD_NAME == "IN_OUT" && record.IN_OUT == '8') { stateData.Nav_ListPlanDetail.forEach(e => { if (e.ID == record.ID) { e.TRAINTYPE = 80 e.CHECKTYPE = 81 } }) setDataState({ ...stateData }); } }, btnCopy: ({ stateData, getSelectedRecords, setState }) => { let DetailCheck = getSelectedRecords(); if (DetailCheck == null || DetailCheck.length < 1) { message.error("请选择需要复制的行!") } else { DetailCheck.forEach(e => { var add = JSON.parse(JSON.stringify(e)) add.ID = guid() add.ROW_NO = stateData.Nav_ListPlanDetail.length + 1 stateData.Nav_ListPlanDetail.push(add) }) setState({ data: stateData }); } }, //向下同步培训组织 单选 btnSyncDep: ({ stateData, saveRowRecord }) => { var totalCount = stateData.Nav_ListPlanDetail.length if (totalCount < 2) { return } var Department = {} for (var i = 1; i < totalCount; i++) { //本行数据 如果为空 取上一行的 DEPARTMENT_ID Nav_Department if ((stateData.Nav_ListPlanDetail[i].DEPARTMENT_ID == null || stateData.Nav_ListPlanDetail[i].DEPARTMENT_ID == undefined) && stateData.Nav_ListPlanDetail[i - 1].DEPARTMENT_ID) { Department = { ID: stateData.Nav_ListPlanDetail[i - 1].DEPARTMENT_ID, NAME: stateData.Nav_ListPlanDetail[i - 1].Nav_Department.NAME } if (Department.ID != null && Department.ID != undefined) { let iRow = { ...stateData.Nav_ListPlanDetail[i] }; iRow.DEPARTMENT_ID = Department.ID iRow.Nav_Department = Department saveRowRecord({ record: iRow, editCode: "T_SE_TRAIN_PLAN_DETAIL" }) } } } }, //向下同步被培训组织 多选 btnSyncListDep: ({ stateData, saveRowRecord }) => { var totalCount = stateData.Nav_ListPlanDetail.length var listDetailDepartment = [] var listDetailDepartmentPer = [] debugger for (var i = 0; i < totalCount; i++) { listDetailDepartmentPer = stateData.Nav_ListPlanDetail[i].Nav_ListDetailDepartment if (listDetailDepartmentPer != null && listDetailDepartmentPer.length > 0) { listDetailDepartmentPer = listDetailDepartmentPer.filter(e => e.IS_DELETED == null || !e.IS_DELETED) } if (listDetailDepartmentPer != null && listDetailDepartmentPer.length > 0) { listDetailDepartment = listDetailDepartmentPer //取被同步的数据 只要有数据就赋值 } else if (listDetailDepartment != null && listDetailDepartment.length > 0) { let updateList = []; for (let j = 0; j < listDetailDepartment.length; j++) { let updateObj = { ...listDetailDepartment[j] }; updateObj["ID"] = guid() updateObj["PLAN_DETAIL_ID"] = stateData.Nav_ListPlanDetail[i].ID updateList.push(updateObj); } let iRow = { ...stateData.Nav_ListPlanDetail[i] }; iRow.Nav_ListDetailDepartment = updateList; saveRowRecord({ record: iRow, editCode: "T_SE_TRAIN_PLAN_DETAIL" }) for (var x = 0; x < totalCount; x++) { if (iRow.ID == stateData.Nav_ListPlanDetail[x].ID) { stateData.Nav_ListPlanDetail[x].Nav_ListDetailDepartment = updateList; continue; } } } } }, }