160 lines
6.3 KiB
JavaScript
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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
}
|