mh_jy_safe_web/src/files/edit/SE071.js

160 lines
6.3 KiB
JavaScript

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;
}
}
}
}
},
}