import { message, notification } from 'antd'
import { extendInclude, extendRule, getDataFieldValue, initFilter, empty, extendOrder, guid, onBeforeSaveHandleRecordLog, auditOptionShow } from "../../utils/common";
export default {
onBeforeSaveHandleRecord(params) {
params.record.TaskID = params.data.TaskID //TaskID传递消息表ID
params.record.STATUSPLAN = params.customParams;
onBeforeSaveHandleRecordLog(params, 'BS032', '前端日志')
},
onBeforeEdit: ({ isNew, login, stateData, data, setFieldEditable, getFieldValue, dispatch, ListCheckRiskArea, setFieldValueByBatch, setFieldVisible, setFieldValue }) => {
if (!isNew) {
if (stateData.Nav_CheckType != undefined) {
setFieldEditable('Nav_CheckType.NAME', false)
setFieldEditable('Nav_CheckTypeLevel.Nav_Enums.NAME', false)
}
if (stateData.CREACTTYPE == 10) {
setFieldEditable('CHECKOBJECT', false)
} else {
if (getFieldValue('CHECKOBJECT') != null && getFieldValue('CHECKOBJECT') != 0) {
setFieldEditable('CHECKOBJECT', false)
}
}
auditOptionShow(stateData, stateData.STATUSPLAN, 30, 'AUDIT_OPINION', stateData.ID, dispatch, setFieldVisible)
// auditOptionShow(stateData, dataState, stateReject, propName, dataId, dispatch, setFieldVisible)
if (stateData?.Nav_ListSafeCheckDetail?.length > 50) {
notification.info({
message: 温馨提示,
description: '检查任务超过50条后会影响执行效率,请谨慎操作!',
placement: 'bottomLeft',
});
}
} else {
setFieldVisible("AUDIT_OPINION", false)
if (stateData.CHECKOBJECT == null && login?.user?.MineType?.indexOf(',') == -1 && login.user.MineType.length > 0) {
setFieldValue("CHECKOBJECT", login.user.MineType)//只有一个生产单元
setFieldEditable("CHECKOBJECT", false)//只有一个生产单元
}
}
},
onChange: ({ stateData, value, colInfo, getFieldValue, setFieldValue, dispatch, setFieldValueByBatch, getSubTableData, updateSubTableData }) => {
if (colInfo.FIELD_NAME == "Nav_ListCheckProjectCategory" || colInfo.FIELD_NAME == "Nav_ListCheckRiskArea" || colInfo.FIELD_NAME == "Nav_ListCheckProject") {
//填充数据 OrderPagedCheckMain
var orgId = colInfo.ORG_ID; //登录后有存储登录信息
let json = initFilter(orgId);
let CHECK_TYPE_ID = getFieldValue("CHECK_TYPE_ID")
let CHECK_TYPE_LEVEL_ID = getFieldValue("CHECK_TYPE_LEVEL_ID")
extendRule(json, 'Parameter2', 1, CHECK_TYPE_ID);
extendRule(json, 'Parameter3', 1, getFieldValue("CHECKOBJECT"));
extendRule(json, 'Parameter4', 1, CHECK_TYPE_LEVEL_ID);
let listArea = getFieldValue("Nav_ListCheckRiskArea")
let areaIDs = ""
if (listArea != undefined && listArea.length > 0) {
for (let i = 0; i < listArea.length; i++) {
if (listArea[i].IS_DELETED == undefined || listArea[i].IS_DELETED == null || listArea[i].IS_DELETED == false)
areaIDs += (areaIDs.length > 0 ? "," : "") + listArea[i].RISK_AREA_ID
}
}
extendRule(json, 'Parameter5', 1, areaIDs);
let listProject = getFieldValue("Nav_ListCheckProject")
let ProjectIDs = ""
if (listProject != undefined && listProject.length > 0) {
for (let i = 0; i < listProject.length; i++) {
if (listProject[i].IS_DELETED == undefined || listProject[i].IS_DELETED == null || listProject[i].IS_DELETED == false)
ProjectIDs += (ProjectIDs.length > 0 ? "," : "") + listProject[i].CHECK_PROJECT_ID
}
}
extendRule(json, 'Parameter6', 1, ProjectIDs);
let valCategory = getFieldValue('Nav_ListCheckProjectCategory');
let ProjectCategoryIDs = ""
if (valCategory != undefined && valCategory.length > 0) {
for (let i = 0; i < valCategory.length; i++) {
if (valCategory[i].IS_DELETED == undefined || valCategory[i].IS_DELETED == null || valCategory[i].IS_DELETED == false)
ProjectCategoryIDs += (ProjectCategoryIDs.length > 0 ? "," : "") + valCategory[i].CHECK_PROJECT_CATEGORY_ID
}
}
extendRule(json, 'Parameter1', 1, ProjectCategoryIDs);
extendRule(json, 'Keyword', 1, getFieldValue("ID"));
if (areaIDs.length > 0 && ProjectIDs.length > 0 && ProjectCategoryIDs.length > 0 && CHECK_TYPE_ID != undefined && CHECK_TYPE_ID.length > 0 && CHECK_TYPE_LEVEL_ID != undefined && CHECK_TYPE_LEVEL_ID.length > 0) {
dispatch({
type: 'app/getDataByPost',
url: 'BS/BSSafeCheck/OrderPagedSafeCheckDetail',
payload: json,
onlyData: false,
onComplete: (ret) => {
let temps = [];
if (ret && ret.IsSuccessful && ret.Data) {
let detail = ret.Data.map((item, i) => {
item['ROW_NO'] = i + 1;
return item;
});
temps.push({ field: "Nav_ListSafeCheckDetail", value: detail });
if (detail.length > 50) {
notification.info({
message: 温馨提示,
description: '检查任务超过50条后会影响执行效率,请谨慎操作!',
placement: 'bottomLeft',
});
}
} else {
temps.push({ field: "Nav_ListSafeCheckDetail", value: null });
}
setFieldValueByBatch(temps);
}
});
} else {
if (stateData == undefined || (stateData != undefined && stateData.CREACTTYPE != undefined && stateData.CREACTTYPE != 30)) {
let temps = [];
temps.push({ field: "Nav_ListSafeCheckDetail", value: null });
setFieldValueByBatch(temps);
}
}
} else {
if (colInfo != null && (colInfo.FIELD_NAME == "Nav_CheckTypeLevel.Nav_Enums.NAME" || colInfo.FIELD_NAME == "Nav_CheckType.NAME")) {
// getFieldValue, setFieldValue
var typeName = getFieldValue("Nav_CheckType.NAME")
if (typeName == null || typeName == '') {
const temps = [];
temps.push({ field: 'Nav_CheckTypeLevel.Nav_Enums.NAME', value: null })
temps.push({ field: 'NAME', value: '' })
setFieldValueByBatch(temps);
} else {
var levelName = getFieldValue("Nav_CheckTypeLevel.Nav_Enums.NAME")
setFieldValue("NAME", (levelName == null ? "" : levelName) + (typeName == null ? "" : typeName))
}
}
}
},
onSubChange: ({ row, setDataState, pageCode, record, colInfo, dispatch, stateData, props }) => {
//如果修改原有库 直接填写对应ID
// debugger
if ((colInfo.FIELD_NAME != "ROW_NO") && (record.ISMAINCHANGE == undefined || record.ISMAINCHANGE == null || !record.ISMAINCHANGE)) {
var MainId = record.CHECK_MAIN_ID
if (MainId != null && MainId != undefined && MainId.length > 0) {
stateData.Nav_ListSafeCheckDetail[record.ROW_NO - 1].ISMAINCHANGE = true
}
}
if (colInfo.FIELD_NAME == "Nav_ListCheckDetailUser") {
//更新选中人员
let tmp = "";
for (var x = 0; x < stateData.Nav_ListSafeCheckDetail.length; x++) {
let users = stateData.Nav_ListSafeCheckDetail[x].Nav_ListCheckDetailUser
if (users) {
for (let i = 0; i < users.length; i++) {
if (!users[i].IS_DELETED) {
if (tmp.indexOf(users[i].Nav_User.NAME) == -1) {
tmp += (tmp.length > 0 ? "," : "") + users[i].Nav_User.NAME
}
}
}
}
}
stateData.CheckUsers = tmp
setDataState({ ...stateData });
} else if (colInfo.FIELD_NAME == "QUESTION_LEVEL") {
if (record.QUESTION_LEVEL == "10") {
stateData.Nav_ListSafeCheckDetail[record.ROW_NO - 1].SERIOUS_RISK = 1
} else {
stateData.Nav_ListSafeCheckDetail[record.ROW_NO - 1].SERIOUS_RISK = 0
}
}
// CheckUsers
// setDataState("CheckUsers", "jianc")
// if (colInfo.FIELD_NAME == "Nav_CheckType.NAME") {
// //只要檢查類型修改 清空 項目分類 檢查層級
// stateData.Nav_ListContentCheckTypes[0].Nav_CheckProjectCategory = []
// stateData.Nav_ListContentCheckTypes[0].Nav_ListContentCheckTypeLevels = []
// // if (record.Nav_CheckType.Name) {
// // } else {
// // //清空項目分類 檢查層級
// // }
// }
},
updateCheckUser: ({ row, pageCode, record, colInfo, resetFields, stateData, saveHeadRecord, saveRowRecord, getSelectedRecords, setState }) => {
let DetailCheck = getSelectedRecords();
if (DetailCheck && DetailCheck.length > 1) {
let ListCheckUserFirst = DetailCheck[0].Nav_ListCheckDetailUser;
//更新行数据
for (let i = 1; i < DetailCheck.length; i++) {
//组装数据
let updateList = [];
if (ListCheckUserFirst != undefined && ListCheckUserFirst.length > 0) {
for (let j = 0; j < ListCheckUserFirst.length; j++) {
if (!ListCheckUserFirst[j].IS_DELETED) {
let updateObj = { ...ListCheckUserFirst[j] };
updateObj["ID"] = guid()
updateList.push(updateObj);
}
}
let iRow = { ...DetailCheck[i] };
iRow.Nav_ListCheckDetailUser = updateList;
saveRowRecord({ record: iRow, editCode: "T_BS_SAFE_CHECK_DETAIL" })
for (var x = 0; x < stateData.Nav_ListSafeCheckDetail.length; x++) {
if (iRow.ID == stateData.Nav_ListSafeCheckDetail[x].ID) {
stateData.Nav_ListSafeCheckDetail[x].Nav_ListCheckDetailUser = updateList;
}
}
} else {
//人员删除
let iRow = { ...DetailCheck[i] };
// iRow.Nav_ListCheckDetailUser = updateList;
for (let j = 0; j < iRow.Nav_ListCheckDetailUser.length; j++) {
iRow.Nav_ListCheckDetailUser[j].IS_DELETED = true
}
saveRowRecord({ record: iRow, editCode: "T_BS_SAFE_CHECK_DETAIL" })
// for (var x = 0; x < stateData.Nav_ListSafeCheckDetail.length; x++) {
// if (iRow.ID == stateData.Nav_ListSafeCheckDetail[x].ID) {
// stateData.Nav_ListSafeCheckDetail[x].Nav_ListCheckDetailUser = updateList;
// }
// }
}
//更新选中人员
let tmp = "";
for (var x = 0; x < stateData.Nav_ListSafeCheckDetail.length; x++) {
let users = stateData.Nav_ListSafeCheckDetail[x].Nav_ListCheckDetailUser
if (users) {
for (let i = 0; i < users.length; i++) {
if (!users[i].IS_DELETED) {
if (tmp.indexOf(users[i].Nav_User.NAME) == -1) {
tmp += (tmp.length > 0 ? "," : "") + users[i].Nav_User.NAME
}
}
}
}
}
stateData.CheckUsers = tmp
setState({ data: stateData });
}
}
},
handleRenderRowControl(params) {
if (params.record.CREATE_TIME) {
if (params.colConfig.field == 'Nav_CheckArea.NAME') {
return <>
{params.record.Nav_CheckArea?.NAME}
>
}
else if (params.colConfig.field == 'Nav_CheckProject.NAME') {
return <>
{params.record.Nav_CheckProject?.NAME}
>
}
else if (params.colConfig.field == 'Nav_CheckProjectCategory.NAME') {
return <>
{params.record.Nav_CheckProjectCategory?.NAME}
>
}
else if (params.colConfig.field == 'CHECKCONTENT') {
return <>
{params.record.CHECKCONTENT}
>
}
} else {
return '';
}
}
}