mh_jy_safe_web/src/files/edit/BS032.js

355 lines
14 KiB
JavaScript
Raw Normal View History

2025-08-25 10:08:30 +08:00
import { Button, message, notification } from 'antd'
import { extendInclude, extendRule, getDataFieldValue, initFilter, empty, extendOrder, guid, onBeforeSaveHandleRecordLog, auditOptionShow } from "../../utils/common";
import ShowModal from '../../components/common/ShowModal';
import FormPage from '../../components/FormPage';
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: <a style={{ color: 'red' }}>温馨提示</a>,
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: <a style={{ color: 'red' }}>温馨提示</a>,
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, emptyEditSelectedKeys }) => {
//,state const temps = state['editTableSelectedKeysT_BS_SAFE_CHECK_DETAIL'];// + editCode + (parentId ? parentId : '')
let DetailCheck = getSelectedRecords();
if (DetailCheck && DetailCheck.length > 1) {
let ListCheckUserFirst = DetailCheck[0].Nav_ListCheckDetailUser;
if (ListCheckUserFirst == null || ListCheckUserFirst.length < 1) {
message.error("请选择需要同步的检查人员!")
return
}
var isNeedEmpty = false;
//更新行数据
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;
// }
// }
}
isNeedEmpty = true
//更新选中人员
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 });
}
if (isNeedEmpty) {
emptyEditSelectedKeys()
}
}
},
//向下同步检查人员
AutoFillCheckUser: ({ row, pageCode, record, colInfo, resetFields, stateData, saveHeadRecord, saveRowRecord, getSelectedRecords, setState }) => {
var totalCount = stateData.Nav_ListSafeCheckDetail.length
var listCheckDetailUser = []
for (var i = 0; i < totalCount; i++) {
if (stateData.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailUser != null && stateData.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailUser.length > 0) {
listCheckDetailUser = stateData.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailUser //取被同步的数据 只要有数据就赋值
} else if (listCheckDetailUser != null && listCheckDetailUser.length > 0) {
let updateList = [];
for (let j = 0; j < listCheckDetailUser.length; j++) {
let updateObj = { ...listCheckDetailUser[j] };
updateObj["ID"] = guid()
updateList.push(updateObj);
}
let iRow = { ...stateData.Nav_ListSafeCheckDetail[i] };
iRow.Nav_ListCheckDetailUser = updateList;
saveRowRecord({ record: iRow, editCode: "T_BS_SAFE_CHECK_DETAIL" })
for (var x = 0; x < totalCount; x++) {
if (iRow.ID == stateData.Nav_ListSafeCheckDetail[x].ID) {
stateData.Nav_ListSafeCheckDetail[x].Nav_ListCheckDetailUser = updateList;
continue;
}
}
}
}
},
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 '';
}
},
//取消
btnCancel: ({ record, data, closeForm, login, btn }) => {
const data1 = {
content: <FormPage formCode={btn.FORM_CODE} data={{
id: (record ? record.ID : ''),
TaskID: (record ? data.TaskID : ''),
homeReload: true,
rules: [record],
close: () => {
closeForm();
},
onCancel: () => {
//wyw 此方法要有不能被删除 别处会重写
},
}} />,
};
return {
content: <ShowModal data={data1} login={login} title={btn.LABEL}>
<Button type={btn.CSS} icon={btn.ICON}>{btn.LABEL}</Button>
</ShowModal>
}
},
// btnCancel: ({ record, onCancel, data, dispatch }) => {
// let json = initFilter(record.ORG_ID, record.ID, null, null, null, data.TaskID);
// dispatch({
// type: 'app/getDataByPost',
// url: 'BS/BSSafeCheck/Cancel',
// payload: json,
// onlyData: false,
// onComplete: (ret) => {
// if (ret.IsSuccessful == true) {
// message.success('执行成功', null, onCancel())
// }
// }
// })
// },
}