mh-sms-web/src/files/edit/BS057.js
2024-06-06 16:49:03 +08:00

497 lines
22 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: <Button type={'primary'} icon={'check'} disabled={isCheck} onClick={() => confirmRevert()} >确认</Button>
}
}
},
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 <>
<p className={styles.pLin} title={params.record.CHECKRESULT_DESCRIPTION}> {params.record.CHECKRESULT_DESCRIPTION}</p>
</>
// params?.record.Nav_ListCheckDetailQuestion?.map((item, i) => {
// return <p className={styles.pLin}> {item.Nav_Question.DEMAND}</p>
// })
}
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 <>
// <a>{params.record.QUESTION_LEVEL_DESCRIPTION}</a>
// </>
// } else if (params.colConfig.field === 'REMARK_RESULT') {
// return <>
// <a>{params.record.REMARK_RESULT}</a>
// </>
// // } else if (params.colConfig.field === 'CHECKRESULT') {
// // return <>
// // <a>{params.record.CHECKRESULT_DESCRIPTION}</a>
// // </>
// } 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: <FormPage formCode={btn.FORM_CODE} data={{
id: (record ? record.ID : ''),
homeReload: true,
rules: [record],
onCancel: () => {
loadData();
},
}} />,
};
return {
content: <ShowModal data={data1} login={login} title={btn.LABEL}>
<Button type={btn.CSS} icon={btn.ICON}>{btn.LABEL}</Button>
</ShowModal>
}
},
btnSubAdd: ({ record, parentRecord, setState, close, loadData, login, btn, dispatch }) => {
// btnSubAdd: (params) => {
// debugger
let dataSubForm = {
content: <FormPage formCode={btn.FORM_CODE} data={{
id: (record ? record.ID : ''),
homeReload: true,
rules: [parentRecord],
close: () => {
loadData();//onCancel 会被 重新赋值 在此做刷新
},
onCancel: () => {
//此方法要有不能被删除 别处会重写
},
onSave: (data, clearData, setStateData) => {
//wyw 昌老师写的这个不能加因为这样传参被修改了限定逻辑不对了onBeforeEdit 不执行不知道拿什么去限制不然也是可以传入parentRecord
// let tmpData = {
// SAFE_CHECK_ID: data.SAFE_CHECK_ID,
// ORG_ID: data.ORG_ID,
// Nav_ListUserCheck: data.Nav_ListUserCheck
// }
// setStateData(tmpData);
}
}} />,
};
return {
content: <ShowModal data={dataSubForm} login={login} title={btn.LABEL}>
<Button type={btn.CSS} icon={btn.ICON}>{btn.LABEL}</Button>
</ShowModal>
}
},
}