import React from 'react' import ConfirmButton from '../../components/common/ConfirmButton'; import { Button, Input, Modal, message } from 'antd' import storage from '../../utils/storage' import config from "../../config.js" import { extendInclude, extendRule, getDataFieldValue, initFilter, empty, extendOrder, guid, getSubTableData, onBeforeSaveHandleRecordLog, auditOptionShow2, GetRiskReasonShow } from "../../utils/common"; import Item from 'antd/lib/list/Item'; import styles from '../../components/CustomPages/HI/StepForm.css'; import ShowModal from '../../components/common/ShowModal'; import FormPage from '../../components/FormPage'; //bs034 复制一份 export default { onBeforeSaveHandleRecord(params) { params.record.TaskID = params.data.TaskID //TaskID传递消息表ID if (params.record.Nav_ListSafeCheckDetail != null && params.record.Nav_ListSafeCheckDetail.length > 0 && params.record.Nav_ListSafeCheckDetail[0].Nav_ListCheckDetailUser.length > 0) { params.record.Nav_ListSafeCheckDetail[0].Nav_ListCheckDetailUser[0].SAFECHECKSTATE = params.customParams; } onBeforeSaveHandleRecordLog(params, 'BS034', '安全检查') }, onBeforeEdit: ({ isNew, stateData, setFieldEditable, setFieldValue, dispatch, ListCheckRiskArea, setFieldValueByBatch, updateSubTableData, setFieldVisible }) => { setFieldEditable('Nav_CheckType.NAME', false) setFieldEditable('CHECKOBJECT', false) setFieldEditable('Nav_ListCheckRiskArea', false) setFieldEditable('Nav_ListCheckProject', false) setFieldEditable('Nav_ListCheckProjectCategory', false) if (stateData.APPROVE_TEMP_ID != null) { //如果有设置,不可编辑 setFieldEditable('approve', false) setFieldValue('approve', stateData.Nav_ApproveTemp.NAME) } auditOptionShow2(stateData, stateData.STATECHECK, 40, 'AUDIT_OPINION', stateData.APPROVE_CHECKAUDIT_ID, dispatch, setFieldVisible) // params.record["QUESTION_LEVEL"] = params.getDataFieldValue("QUESTION_LEVEL_SAME"); // params.record["Nav_CheckMain.Nav_CheckQuestion.DEMAND"] = params.getDataFieldValue("DEMAND_SAME"); var strDEMAND = '' stateData.Nav_ListSafeCheckDetail.forEach(element => { strDEMAND = '' if (element.QUESTION_LEVEL != null && element.QUESTION_LEVEL == 0) { element.QUESTION_LEVEL = null } element.QUESTION_LEVEL_SAME = element.QUESTION_LEVEL; element.DEMAND_SAME = element.Nav_CheckQuestion?.DEMAND; // 如果是保存 草稿 不变 element.Nav_ListCheckDetailUser[0].SAFECHECKSTATE != 70 //没有检查结果 if (element.CHECKRESULT == 0 || element.CHECKRESULT == null) { // element.Nav_CheckQuestion?.DEMAND = '' element.QUESTION_LEVEL = null } else if (element.CHECKRESULT == 20) { if (element.Nav_ListCheckDetailQuestion != null && element.Nav_ListCheckDetailQuestion.length > 0) { //显示整改建议与措施 // strDEMAND = element.Nav_ListCheckDetailQuestion[0].Nav_Question.DEMAND for (let i = 0; i < element.Nav_ListCheckDetailQuestion.length; i++) { if (element.Nav_ListCheckDetailQuestion[i].Nav_Question.ID.indexOf("7777-777777777777") == -1 && element.Nav_ListCheckDetailQuestion[i].Nav_Question.ID.indexOf("5555-555555555555") == -1) { strDEMAND += ((strDEMAND.length > 0 ? "," : "") + element.Nav_ListCheckDetailQuestion[i].Nav_Question.DEMAND) } } element.DEMANDS = strDEMAND } } }); //修改登录者的查看状态 //BS/BSSafeCheck/UpdateUserSafeCheckState //stateData.Nav_ListSafeCheckDetail[0].Nav_ListCheckDetailUser[0].SAFECHECKSTATE let isNeedChange = false; let SAFECHECKSTATE = 0; for (let i = 0; i < stateData.Nav_ListSafeCheckDetail.length; i++) { SAFECHECKSTATE = stateData.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailUser[0]?.SAFECHECKSTATE; if (!isNeedChange && (SAFECHECKSTATE == 0 || SAFECHECKSTATE == 10)) { isNeedChange = true } if (stateData.Nav_ListSafeCheckDetail[i].CHECKRESULT == 10 || stateData.Nav_ListSafeCheckDetail[i].CHECKRESULT == 30) { // stateData.Nav_ListSafeCheckDetail[i].Nav_CheckQuestion.DEMAND = null stateData.Nav_ListSafeCheckDetail[i].DEMANDS = null } // else if(stateData.Nav_ListSafeCheckDetail[i].CHECKRESULT == 20){ // stateData.Nav_ListSafeCheckDetail[i].CHECKRESULT_DESCRIPTION // } } if (isNeedChange) { let json = initFilter(stateData.ORG_ID); extendRule(json, 'id', 1, stateData.ID); dispatch({ type: 'app/getDataByPost', payload: json, url: 'BS/BSSafeCheck/UpdateUserSafeCheckState', onComplete: (ret) => { } }) } }, btnOK: ({ record, close, loadData, getLoadParam, login, btn, dispatch }) => { const confirmRevert = () => { if (record.Nav_ListCheckDetailUser.length > 0) { record.Nav_ListCheckDetailUser[0].ISCHECK = true; record.Nav_ListCheckDetailUser[0].ISSAMEMAINCHECKOK = true; } }; if (record != undefined && record.Nav_ListCheckDetailUser != undefined && record.Nav_ListCheckDetailUser.length > 0) { const isCheck = record.Nav_ListCheckDetailUser[0].ISMAINCHECK ? true : record.Nav_ListCheckDetailUser[0].ISCHECK; // 主要检查 / 非主要检查、已经检查了 不可编辑 return { content: } } }, handleCancel: () => { // 退出弹窗 this.getBaseInfoData(1, this.state.tableKey, 5); this.clearData(); }, checkList: ({ row, pageCode, record, colInfo, resetFields, saveHeadRecord, stateData, saveRowRecord, getSelectedRecords, setState }) => { // var ListSafeCheckDetail = stateData.Nav_ListSafeCheckDetail if (stateData.Nav_ListSafeCheckDetail != undefined && stateData.Nav_ListSafeCheckDetail != null && stateData.Nav_ListSafeCheckDetail.length > 0) { stateData.Nav_ListSafeCheckDetail.forEach((item, i) => { if (item.Nav_ListCheckDetailQuestion != null && item.Nav_ListCheckDetailQuestion.length > 0) { for (let j = 0; j < item.Nav_ListCheckDetailQuestion.length; j++) { if (item.Nav_ListCheckDetailQuestion[j].IS_DELETED != undefined && item.Nav_ListCheckDetailQuestion[j].IS_DELETED != null && !item.Nav_ListCheckDetailQuestion[j].IS_DELETED) { if (item.Nav_ListCheckDetailQuestion[j].Nav_Question?.ID.indexOf("5555-555555555555") > 0) { item.Nav_ListCheckDetailUser[0].ISCHECK = true item.Nav_ListCheckDetailUser[0].ISSAMEMAINCHECKOK = true break } } } } }) } }, handleRenderRowControl(params) { // if (params.colConfig.field === 'Nav_Files') { // } else if (params.record.Nav_ListCheckDetailUser != undefined && params.record.Nav_ListCheckDetailUser.length > 0) { if (!params.record.Nav_ListCheckDetailUser[0].ISMAINCHECK) { //确认 if (params.record.CHECKRESULT != "0") { //有填写 if (params.colConfig.field === 'QUESTION_LEVEL') { return <> {params.record.QUESTION_LEVEL_DESCRIPTION} > } else if (params.colConfig.field === 'REMARK_RESULT') { return <> {params.record.REMARK_RESULT} > } else if (params.colConfig.field === 'Nav_ListCheckDetailQuestion') { return <>
{params.record.CHECKRESULT_DESCRIPTION}
> // params?.record.Nav_ListCheckDetailQuestion?.map((item, i) => { // return{item.Nav_Question.DEMAND}
// }) } else { return "" } } } else if (params.record.CHECKRESULT == "20" && params.record.ISAUTOLOAD != null && params.record.ISAUTOLOAD == false) { //只修改手动新增的检查记录 if (params.colConfig.field === 'Nav_ListCheckDetailQuestion') { return <> {params.record.CHECKRESULT_DESCRIPTION} > } else if (params.colConfig.field == 'QUESTION_LEVEL') { return <> {params.record.QUESTION_LEVEL_DESCRIPTION} > } else if (params.colConfig.field == 'ADDRESS') { return <> {params.record.ADDRESS} > } else if (params.colConfig.field == 'Nav_ListCheckDetailReason') { // params.record.Nav_ListCheckDetailReason?.forEach((item, i) => { // return <> // {item.Nav_RiskReason.NAME} // > // }) return <> { GetRiskReasonShow(params.record.Nav_ListCheckDetailReason) } > } } else { //填表 如果是 主要选择人 其他 => 控件 无 => 空 有问题 显示等级 // if (params.colConfig.field === 'QUESTION_LEVEL') { // if (params.record.QUESTION_LEVEL == null && params.record.QUESTION_LEVEL == 0) { // // return <> // // {params.record.QUESTION_LEVEL} // // > // // } else { // return <>> // } // } } } // if (params.record.Nav_ListCheckDetailUser != undefined && !params.record.Nav_ListCheckDetailUser[0].ISMAINCHECK && params.record.CHECKRESULT != "0") { // if (params.colConfig.field === 'QUESTION_LEVEL') { // return <> // {params.record.QUESTION_LEVEL_DESCRIPTION} // > // } else if (params.colConfig.field === 'REMARK_RESULT') { // return <> // {params.record.REMARK_RESULT} // > // // } else if (params.colConfig.field === 'CHECKRESULT') { // // return <> // // {params.record.CHECKRESULT_DESCRIPTION} // // > // } else { // return "" // } // } }, //新版 直接加信息 只有 无和对应信息 onSubChange: ({ row, setDataState, pageCode, record, colInfo, dispatch, stateData, props }) => { //BS057 if (colInfo.FIELD_NAME == "Nav_ListCheckDetailQuestion") { var listQ = record.Nav_ListCheckDetailQuestion.filter(e => e.IS_DELETED == null || e.IS_DELETED == undefined || e.IS_DELETED != true) if (listQ == null || listQ.length < 1) { //数据清空 for (let i = 0; i < stateData.Nav_ListSafeCheckDetail.length; i++) { if (record.ID == stateData.Nav_ListSafeCheckDetail[i].ID) { stateData.Nav_ListSafeCheckDetail[i].CHECKRESULT = 10 stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = null stateData.Nav_ListSafeCheckDetail[i].CHECK_MAIN_ID = null stateData.Nav_ListSafeCheckDetail[i].DEMANDS = '' // message.error("请选择检查问题描述!") return } } } else { if (listQ != null && listQ.length > 1) { var listQCheck = listQ.filter(e => e.SAFE_CHECK_QUESTION_ID == '55555555-5555-5555-5555-555555555555') if (listQCheck != null && listQCheck.length > 0) { message.error("无与检查问题不能同时选择!") return } } var CHECKRESULT = 10 // 无 10 检查问题一致 20 其他 30 if (listQ[0].SAFE_CHECK_QUESTION_ID != '55555555-5555-5555-5555-555555555555') { CHECKRESULT = 20 } var strDEMAND = '' var LevelMain = '' var CHECK_MAIN_ID = '' if (listQ.length > 1) { //需要数据 组装 var ListSafeCheckDetailNew = [] for (let i = 0; i < stateData.Nav_ListSafeCheckDetail.length; i++) { if (record.ID == stateData.Nav_ListSafeCheckDetail[i].ID) { for (let j = 0; j < listQ.length; j++) { //额外数据处理 const detailNew = JSON.parse(JSON.stringify(stateData.Nav_ListSafeCheckDetail[i])) strDEMAND = listQ[j].Nav_Question.DEMAND CHECK_MAIN_ID = listQ[j].Nav_Main.ID LevelMain = listQ[j].Nav_Main.QUESTION_LEVEL if (j != 0) { //第一条不处理 detailNew.ID = guid() //检查人 处理 detailNew.Nav_ListCheckDetailUser.forEach(e => { e.ID = guid() e.SAFE_CHECK_DETAIL_ID = detailNew.ID // debugger if (!e.ISMAINCHECK) { e.FLOW_STATUS = 1 } }) } detailNew.Nav_ListCheckDetailQuestion = [] listQ[j].SAFE_CHECK_DETAIL_ID = detailNew.ID detailNew.Nav_ListCheckDetailQuestion.push(listQ[j]) //统一数据处理 detailNew.CHECKRESULT detailNew.QUESTION_LEVEL = LevelMain detailNew.CHECK_MAIN_ID = CHECK_MAIN_ID detailNew.DEMANDS = strDEMAND ListSafeCheckDetailNew.push(detailNew) } } else { //未操作 无需处理 直接 插入 ListSafeCheckDetailNew.push(stateData.Nav_ListSafeCheckDetail[i]) } } stateData.Nav_ListSafeCheckDetail = ListSafeCheckDetailNew } else { //统一数据处理 strDEMAND = listQ[0].Nav_Question.DEMAND CHECK_MAIN_ID = listQ[0].Nav_Main.ID LevelMain = listQ[0].QUESTION_LEVEL //保存信息 record["CHECKRESULT"] = CHECKRESULT if (CHECKRESULT == 10) { record["QUESTION_LEVEL"] = null record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = null record.QUESTION_LEVEL = null record["DEMANDS"] = "" record["CHECK_MAIN_ID"] = null // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = null } else if (CHECKRESULT == 20) { // 对应行 取第一个 未删除的 检查问题 显示 问题等级 record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = strDEMAND // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = strDEMAND if (LevelMain != '' && LevelMain > 0) { record["DEMANDS"] = strDEMAND record["CHECK_MAIN_ID"] = CHECK_MAIN_ID record["QUESTION_LEVEL"] = LevelMain// stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL_SAME // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = LevelMain// stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL_SAME // stateData.Nav_ListSafeCheckDetail[i].CHECK_MAIN_ID = CHECK_MAIN_ID } } else if (CHECKRESULT == 30) { record["QUESTION_LEVEL"] = null record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = null record.QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = null } else if (CHECKRESULT == 0) { record["QUESTION_LEVEL"] = null record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = null record.QUESTION_LEVEL = null record["DEMANDS"] = "" record["CHECK_MAIN_ID"] = null // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = null } for (var i = 0; i < stateData.Nav_ListSafeCheckDetail.length; i++) { if (stateData.Nav_ListSafeCheckDetail[i].ID == record.ID) { stateData.Nav_ListSafeCheckDetail[i] = record break } } } } // for (let i = 0; i < stateData.Nav_ListSafeCheckDetail.length; i++) { // if (record.ID == stateData.Nav_ListSafeCheckDetail[i].ID) { // var strDEMAND = '' // var LevelMain = '' // var CHECK_MAIN_ID = '' // var CHECKRESULT = 0 // 无 10 检查问题一致 20 其他 30 // debugger // var checkedCount = 0 // for (let j = 0; j < listQ.length; j++) { // if (listQ[j].IS_DELETED != undefined && listQ[j].IS_DELETED) { // continue // } // checkedCount++ // // strDEMAND += (j > 0 ? ',' : '') + listQ[j].Nav_Question.DEMAND // if (listQ[j].SAFE_CHECK_QUESTION_ID == '55555555-5555-5555-5555-555555555555') { // // if (CHECKRESULT != 10 && CHECKRESULT != 0) { // // message.error("无或其他只能单选!") // // } // CHECKRESULT = 10 // } else if (listQ[j].SAFE_CHECK_QUESTION_ID == '77777777-7777-7777-7777-777777777777') { // // if (CHECKRESULT != 30 && CHECKRESULT != 0) { // // message.error("无或其他只能单选!") // // } // CHECKRESULT = 30 // } else { // strDEMAND += (strDEMAND.length > 0 ? ',' : '') + listQ[j].Nav_Question.DEMAND // // if (CHECKRESULT != 20 && CHECKRESULT != 0) { // // message.error("无或其他只能单选!") // // } // CHECKRESULT = 20 // //取值修改 (准确) // if (LevelMain.length == '' && listQ[j].Nav_Main != null && listQ[j].Nav_Main.QUESTION_LEVEL != null) { // LevelMain = listQ[j].Nav_Main.QUESTION_LEVEL // CHECK_MAIN_ID = listQ[j].Nav_Main.ID // } else if (LevelMain == '' && listQ[j].QUESTION_LEVEL != null) { // LevelMain = listQ[j].QUESTION_LEVEL // CHECK_MAIN_ID = '' // } // } // } // if (checkedCount > 1) { // message.error("只能选择一个检查问题描述!") // } // if (CHECKRESULT == 10) { // record["QUESTION_LEVEL"] = null // record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = null // record.QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = null // } else if (CHECKRESULT == 20) { // // 对应行 取第一个 未删除的 检查问题 显示 问题等级 // record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = strDEMAND // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = strDEMAND // if (LevelMain != '' && LevelMain > 0) { // record["CHECK_MAIN_ID"] = CHECK_MAIN_ID // record["QUESTION_LEVEL"] = LevelMain// stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL_SAME // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = LevelMain// stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL_SAME // stateData.Nav_ListSafeCheckDetail[i].CHECK_MAIN_ID = CHECK_MAIN_ID // } // } else if (CHECKRESULT == 30) { // record["QUESTION_LEVEL"] = null // record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = null // record.QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = null // } else if (CHECKRESULT == 0) { // record["QUESTION_LEVEL"] = null // record["Nav_ListCheckDetailQuestion.Nav_Question.DEMAND"] = null // record.QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = null // stateData.Nav_ListSafeCheckDetail[i].DEMANDS = null // } // //保存信息 // record["CHECKRESULT"] = CHECKRESULT // stateData.Nav_ListSafeCheckDetail[i].CHECKRESULT = CHECKRESULT // // record["Nav_CheckQuestion.DEMAND"] = stateData.Nav_ListSafeCheckDetail[i].DEMAND_SAME // // params.stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL = params.stateData.Nav_ListSafeCheckDetail[i].QUESTION_LEVEL_SAME // // params.stateData.Nav_ListSafeCheckDetail[i].Nav_CheckMain.Nav_CheckQuestion.DEMAND = params.stateData.Nav_ListSafeCheckDetail[i].DEMAND_SAME // } // } // // record.Nav_ListCheckDetailQuestion.Nav_Question.DEMAND = strDEMAND // // if (listQ != null && listQ.length > 0) { // // // if (listQ) { } // // record.QUESTION_LEVEL = 20 // // } else { // // record.QUESTION_LEVEL = 20 // // } } }, //新增记录 btnAdd: ({ record, data, setState, close, loadData, getLoadParam, login, btn, dispatch }) => { // btnAdd: (params) => { const data1 = { content: