mh-lcmk-sms-web/src/files/edit/BS032.js
wyw 320eb1e0b5 安全履职 查看
检查任务取消
2024-07-12 10:56:02 +08:00

291 lines
12 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 { 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: <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 }) => {
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 '';
}
},
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())
}
}
})
},
}