/* eslint-disable */
import React, { useEffect, useState, useRef } from "react";
import { Button, message, Tabs } from "antd-v4";
import * as commonBusiness from "@/components/Common/commonBusiness";
import * as commonUtils from "@/utils/utils";
import * as commonFunc from "@/components/Common/commonFunc";
import commonConfig from "@/utils/config";
import * as commonServices from "@/services/services";
import StaticEditTable from "@/components/Common/CommonTable";
import CommonViewTable from "@/components/Common/CommonViewTable";
import CommonViewDragable from "@/components/Common/CommonViewDragable";
import AntdDraggableModal from "@/components/Common/AntdDraggableModal";
import CommonPartsInfo from "@/components/Common/CommonPartsInfo";
import CommonListSelect from "@/components/Common/CommonListSelect";
import CommonListSelectMulti from "@/components/Common/CommonListSelectMulti";
import CommonListSelectFlex from "@/components/Common/CommonListSelectFlex";
import CommonListSelectProductProcess from '@/components/Common/CommonListSelectAssignment';
import ContextMenuModal from "@/components/Common/ContextMenuModal";
import WorkFlow from "@/components/Common/Flows/CommonFlow";
import SvgIcon from "@/components/SvgIcon";
import customStyles from "../Common/CommonBill/index.less";
import * as rglUtils from "../Common/CommonViewDragable/rglUtils";
const { TabPane } = Tabs;
// PBOM/生产工单共用方法
const CommonPackEvent = props => {
const returnProps = {};
const propsRef = useRef(props);
useEffect(
() => {
propsRef.current = props;
},
[props]
);
useEffect(() => {
const handleDoubleClick = () => {
console.log(
"=====packProps",
Object.keys(propsRef.current).reduce((pre, key) => {
const value = propsRef.current[key];
if (Array.isArray(value) || (typeof value === "object" && value !== null)) {
pre[key] = value;
}
return pre;
}, {})
);
console.log(
"=====packPropsData",
Object.keys(propsRef.current).reduce((pre, key) => {
const value = propsRef.current[key];
if (key?.endsWith("Data")) {
if (Array.isArray(value) || (typeof value === "object" && value !== null)) {
pre[key] = value;
}
}
return pre;
}, {})
);
};
window.addEventListener("dblclick", handleDoubleClick);
return () => {
window.removeEventListener("dblclick", handleDoubleClick);
};
}, []);
// 自定义params参数处理
const handleGetParamsValue = ({ sName, sValue, record = {} }) => {
const jsonData = commonUtils.convertStrToObj(sValue, []);
if (sName === "sParams") {
const { sWorkOrderParam: sWorkOrderParamStr } = record;
const sWorkOrderParam = commonUtils.convertStrToObj(sWorkOrderParamStr, {});
const sWorkOrderData = jsonData.find(item => item.sParamType === "sWorkOrder") || {};
const { data = {} } = sWorkOrderData;
const result = [];
Object.keys(data).forEach(key => {
if (sWorkOrderParam[key] !== undefined) {
if (sWorkOrderParam[key] === "电化铝BOM" || sWorkOrderParam[key] === "电化铝版本") {
result.push(`${sWorkOrderParam[key]}: ${record.sAlumiteBomBillNo}`);
} else {
result.push(`${sWorkOrderParam[key]}: ${data[key]}`);
}
}
});
return result.join(";");
}
return sValue;
};
returnProps.onGetParamsValue = handleGetParamsValue;
// 对processData数组进行排序
const sortData = (tableData, processData) => {
processData.sort((g1, g2) => {
const iIndex1 = tableData.findIndex(item => item.sId === g1.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g1.sControlId);
if (g1.iOrder === undefined) {
g1.iOrder = "";
}
if (g2.iOrder === undefined) {
g2.iOrder = "";
}
let sPartOrder1 = `0000${iIndex1}`;
sPartOrder1 = sPartOrder1.substring(sPartOrder1.length - 3);
let sOrder1 = `00000${g1.iOrder.toString()}`;
sOrder1 = sOrder1.indexOf(".") > -1 ? sOrder1 : `${sOrder1}.00`;
sOrder1 = sOrder1.replace(".", "");
sOrder1 = sOrder1.substring(sOrder1.length - 5);
const iIndex2 = tableData.findIndex(item => item.sId === g2.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g2.sControlId);
let sPartOrder2 = `0000${iIndex2}`;
sPartOrder2 = sPartOrder2.substring(sPartOrder2.length - 3);
let sOrder2 = `00000${g2.iOrder.toString()}`;
sOrder2 = sOrder2.indexOf(".") > -1 ? sOrder2 : `${sOrder2}.00`;
sOrder2 = sOrder2.replace(".", "");
sOrder2 = sOrder2.substring(sOrder2.length - 5);
return parseFloat(sPartOrder1 + sOrder1) - parseFloat(sPartOrder2 + sOrder2);
});
return processData;
};
returnProps.sortData = sortData;
// 调用计算接口
const handleCalculation = async (modeType, bSave) => {
if (modeType === "workOrder") {
const dataUrl = `${commonConfig.server_host}business/addWorksheet?sModelsId=${props.sModelsId}`;
const {
app,
masterConfig,
slaveConfig,
packConfig,
controlConfig,
processConfig,
colorConfig,
sModelsType,
colorData,
slaveDelData,
controlDelData,
processDelData,
colorDelData,
packDelData,
addStateMap,
materials0Config,
materials0DelData,
} = props;
let { slaveData, packData, controlData, processData, masterData, materials0Data } = props;
const sMakePerson = masterData.sMakePerson;
const dataCalculation = [];
if (
(masterData.sFormId === "101251240115015840916341460" || sModelsType.includes("manufacture/workOrderSupple")) &&
commonUtils.isNotEmptyArr(colorData)
) {
controlData.forEach(item => {
item.iPositiveColor = colorData.filter(item => !item.bNotColor).length;
});
}
dataCalculation.push(commonBusiness.mergeData("master", `${masterConfig.sTbName.toLowerCase()}_Tmp`, [masterData], [], true));
dataCalculation.push(commonBusiness.mergeData("slave", `${slaveConfig.sTbName.toLowerCase()}_tmp`, slaveData, [], true));
dataCalculation.push(commonBusiness.mergeData("control", `${controlConfig.sTbName.toLowerCase()}_tmp`, controlData, [], true));
dataCalculation.push(commonBusiness.mergeData("pack", `${packConfig.sTbName.toLowerCase()}_tmp`, packData, [], true));
dataCalculation.push(commonBusiness.mergeData("materials", `${materials0Config.sTbName.toLowerCase()}_tmp`, materials0Data, [], true));
dataCalculation.push(commonBusiness.mergeData("process", `${processConfig.sTbName.toLowerCase()}_tmp`, processData, [], true));
const value = { data: dataCalculation, sClientType: "1", sGuid: masterData.sId };
const dataReturn = (await commonServices.postValueService(props.app.token, value, dataUrl)).data;
if (dataReturn.code === 1) {
/* 成功 */
const valueReturn = dataReturn.dataset.rows[0];
const masterDataArr = valueReturn[`${masterConfig.sTbName.toLowerCase()}_tmp`];
if (commonUtils.isNotEmptyArr(masterDataArr)) {
masterData = masterDataArr[0];
}
if (masterData.handleType === "update" && !commonUtils.isEmpty(sMakePerson)) {
masterData.sMakePerson = sMakePerson;
}
slaveData = valueReturn[`${slaveConfig.sTbName.toLowerCase()}_tmp`];
packData = valueReturn[`${packConfig.sTbName.toLowerCase()}_tmp`];
controlData = valueReturn[`${controlConfig.sTbName.toLowerCase()}_tmp`];
materials0Data = valueReturn[`${materials0Config.sTbName.toLowerCase()}_tmp`];
processData = valueReturn[`${processConfig.sTbName.toLowerCase()}_tmp`];
/* 计算成功后自动调用保存 */
if (bSave) {
const data = [];
data.push(commonBusiness.mergeData("master", masterConfig.sTbName, [masterData]));
data.push(commonBusiness.mergeData("slave", slaveConfig.sTbName, slaveData, slaveDelData));
data.push(commonBusiness.mergeData("control", controlConfig.sTbName, controlData, controlDelData));
data.push(commonBusiness.mergeData("materials", materials0Config.sTbName, materials0Data, materials0DelData));
data.push(commonBusiness.mergeData("process", processConfig.sTbName, processData, processDelData));
if (commonUtils.isNotEmptyObject(colorConfig)) {
data.push(commonBusiness.mergeData("color", colorConfig.sTbName, colorData, colorDelData));
}
if (commonUtils.isNotEmptyObject(packConfig)) {
data.push(commonBusiness.mergeData("pack", packConfig.sTbName, packData, packDelData));
}
if (commonUtils.isNotEmptyObject(addStateMap)) {
for (const childConfig of Object.keys(addStateMap)) {
const tableName = childConfig.replace("Config", "").trim();
const { [`${tableName}Data`]: tableData, [`${tableName}Config`]: tableConfig, [`${tableName}DelData`]: tableDelData } = props;
if (tableConfig.sTbName !== "noTable" && tableConfig.sTbName !== "MftWorkOrderMaterials") {
data.push(commonBusiness.mergeData(tableName, tableConfig.sTbName, tableData, tableDelData));
}
}
}
props.onSaveData({
data,
sClientType: "1",
loading: false,
sSysLogSrcId: masterData.sId,
});
props.onSaveState({
slaveData,
packData,
controlData,
materials0Data,
processData,
masterData,
loading: false,
calculated: true,
});
} else {
props.onSaveState({
slaveData,
packData,
controlData,
materials0Data,
processData,
masterData,
loading: false,
calculated: true,
});
message.success(commonFunc.getConfigShowName(masterConfig, "BtnCalculation") + commonFunc.showMessage(app.commonConst, "handleSuccess"));
}
} else {
/* 失败 */
props.onSaveState({
loading: false,
calculated: false,
});
props.getServiceError(dataReturn);
}
return;
}
const dataUrl = `${commonConfig.server_host}business/addWorksheet?sModelsId=${props.sModelsId}`;
const { masterConfig, slaveConfig, controlConfig, materialsConfig, processConfig, packConfig, app } = props;
let { slaveData, controlData, materialsData, processData, masterData, packData } = props;
const tableList = ["master", "slave", "control", "materials", "process", "pack"];
const data = tableList.map(tablename => {
const tableConfig = props[`${tablename}Config`];
const tableData = props[`${tablename}Data`];
return commonBusiness.mergeData(
tablename,
`${tableConfig.sTbName.toLowerCase()}_Tmp`,
tablename === "master" ? [tableData] : tableData,
[],
true
);
});
const value = { data, sClientType: "1", sGuid: masterData.sId };
const dataReturn = (await commonServices.postValueService(props.app.token, value, dataUrl)).data;
if (dataReturn.code === 1) {
/* 成功 */
const valueReturn = dataReturn.dataset.rows[0];
const masterDataArr = valueReturn[`${masterConfig.sTbName.toLowerCase()}_tmp`];
if (commonUtils.isNotEmptyArr(masterDataArr)) {
masterData = masterDataArr[0];
}
slaveData = valueReturn[`${slaveConfig.sTbName.toLowerCase()}_tmp`];
controlData = valueReturn[`${controlConfig.sTbName.toLowerCase()}_tmp`];
materialsData = valueReturn[`${materialsConfig.sTbName.toLowerCase()}_tmp`];
processData = valueReturn[`${processConfig.sTbName.toLowerCase()}_tmp`];
processData = props.sortData(controlData, processData);
packData = valueReturn[`${packConfig.sTbName.toLowerCase()}_tmp`];
props.onSaveState({
slaveData,
controlData,
materialsData,
processData,
masterData,
loading: false,
packData,
});
message.success(commonFunc.getConfigShowName(masterConfig, "BtnCalculation") + commonFunc.showMessage(app.commonConst, "handleSuccess"));
} else {
/* 失败 */
props.onSaveState({
loading: false,
});
props.getServiceError(dataReturn);
}
};
returnProps.handleCalculation = handleCalculation;
const handlePackDataAdd = (item, index, sControlId, handleType) => {
const tableDataRow = {};
if (handleType === "add") {
tableDataRow.sId = commonUtils.createSid();
tableDataRow.handleType = "add";
tableDataRow.sSlaveId = item.sId;
tableDataRow.iOrder = item.iOrder;
}
tableDataRow.sParentId = item.sParentId;
if (commonUtils.isNotEmptyObject(sControlId)) {
tableDataRow.sControlId = sControlId;
}
tableDataRow.sProductId = item.sProductId; /* 产品id */
tableDataRow.sCustomerId = item.sCustomerId; /* 客户id */
tableDataRow.sCustomerName = item.sCustomerName; /* 客户名称 */
tableDataRow.sProductName = item.sProductName; /* 产品名称 */
tableDataRow.sProductNo = item.sProductNo; /* 产品编号 */
tableDataRow.dProductWidth = item.dProductWidth; /* 产品宽 */
tableDataRow.dProductLength = item.dProductLength; /* 产品长 */
/* 主表配置bProductQtyAdd 则代表产品数量不叠加备货数 赠送数 */
let bProductQtySelf = false;
if (commonUtils.isNotEmptyObject(props.masterConfig) && commonUtils.isNotEmptyArr(props.masterConfig.gdsconfigformslave)) {
const iIndex = props.masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bProductQtySelf");
if (iIndex > -1) {
bProductQtySelf = true;
}
}
if (bProductQtySelf) {
tableDataRow.dProductQty = commonUtils.isNull(item.dProductQty, 0);
} else {
tableDataRow.dProductQty =
commonUtils.isNull(item.dProductQty, 0) + commonUtils.isNull(item.dGiveQty, 0) + commonUtils.isNull(item.dStockupQty, 0); /* 生产数量 */
}
tableDataRow.sProductUnit = item.sProductUnit; /* 单位 */
tableDataRow.sProductStyle = item.sProductStyle; /* 产品规格 */
return tableDataRow;
};
returnProps.handlePackDataAdd = handlePackDataAdd;
// 删除相关的表格数据
const otherTableDel = (name, tableSelectedRowKeys, sField = "sControlId") => {
const { [`${name}Data`]: tableData = [], [`${name}DelData`]: tableDelData = [] } = props;
if (commonUtils.isEmptyArr(tableData)) return {};
for (const sId of tableSelectedRowKeys) {
/* 看看删除集合和从表中是否都存在该条数据 */
let tableDataIndex = tableData.findIndex(item => item[sField] === sId);
while (tableDataIndex > -1) {
/* 删除从表中的数据并存入删除集合中 */
const slaveDataFilter = tableData[tableDataIndex];
tableData.splice(tableDataIndex, 1);
slaveDataFilter.handleType = "del";
tableDelData.push(slaveDataFilter);
tableDataIndex = tableData.findIndex(item => item[sField] === sId);
}
}
return { [`${name}Data`]: tableData, [`${name}DelData`]: tableDelData, [`${name}SelectedRowKeys`]: [] };
};
returnProps.otherTableDel = otherTableDel;
// 重新计算实际生产数
const handleGetdFactProductQty = (selectedRowKeys, tableData) => {
const maxArr = [];
if (commonUtils.isNotEmptyArr(selectedRowKeys)) {
const tableFilter = tableData.filter(item => selectedRowKeys.includes(item.sId) && item.dCombineQty > 0);
if (selectedRowKeys.length === 1 || tableFilter.length === 1) {
/* 当选中行只有一行时,实际生产数等于生产数 */
const iSlaveIndex = tableData.findIndex(item => item.sId === selectedRowKeys[0]);
if (iSlaveIndex > -1) {
const dProductQty = tableData[iSlaveIndex].dProductQty;
tableData[iSlaveIndex] = { ...tableData[iSlaveIndex], dFactProductQty: dProductQty };
}
} else {
for (const sId of selectedRowKeys) {
const iSlaveIndex = tableData.findIndex(item => item.sId === sId);
if (iSlaveIndex > -1) {
const slaveDataRow = tableData[iSlaveIndex];
const { dCombineQty, dProductQty } = slaveDataRow;
if (dCombineQty > 0) {
let dNum = commonUtils.convertFixNum(dCombineQty !== 0 ? dProductQty / dCombineQty : 0, 2); /* 生产数/排版数 取最大值 */
dNum = Math.ceil(dNum);
maxArr.push(dNum);
}
}
}
let dMax = 0;
if (commonUtils.isNotEmptyArr(maxArr)) {
dMax = Math.max(...maxArr);
}
dMax = commonUtils.isNotNum(dMax) ? 0 : dMax;
for (const sId of selectedRowKeys) {
const iSlaveIndex = tableData.findIndex(item => item.sId === sId);
if (iSlaveIndex > -1) {
const slaveDataRow = tableData[iSlaveIndex];
let { dCombineQty } = slaveDataRow;
if (dCombineQty > 0) {
dCombineQty = commonUtils.isNotNum(dCombineQty) ? 0 : dCombineQty;
const dFactProductQty = commonUtils.convertFixNum(dCombineQty * dMax, 2); /* 实际生产数 =最大值 * 排版数 */
tableData[iSlaveIndex] = { ...tableData[iSlaveIndex], dFactProductQty };
}
}
}
}
props.onSaveState({ packData: tableData });
}
};
returnProps.handleGetdFactProductQty = handleGetdFactProductQty;
// 公共方法-获取svg
const handleGetSvgIcon = (iconClass, fill, size, offsetY, alt) => {
return ;
};
const handleGetIcon = () => {
return {
setAdd: {
title: "增加",
img: handleGetSvgIcon("plus", "#8c949e", 14, 3, "添加"),
disableimg: handleGetSvgIcon("plus", "rgb(189, 189, 189)", 14, 3, "添加"),
},
setCopy: {
title: "复制",
img: handleGetSvgIcon("copy", "#8c949e", 14, 3, "复制"),
disableimg: handleGetSvgIcon("copy", "rgb(189, 189, 189)", 14, 3, "复制"),
},
setDelete: {
title: "删除",
img: handleGetSvgIcon("close", "#8c949e", 14, 3, "删除"),
disableimg: handleGetSvgIcon("close", "rgb(189, 189, 189)", 14, 3, "删除"),
},
};
};
returnProps.handleGetIcon = handleGetIcon;
// 公共方法-过滤数据
const dataFilter = (props, data, type, bFinal) => {
// materials : 0-1部件材料 : 2成品材料;
// process : 0-1-2 部品工序 : 3成品工序;
// bfinal: 是否成品
const { slaveSelectedRowKeys, controlSelectedRowKeys, finishedMaterialsColumn, finishedProcessColumn, masterConfig } = props;
const oriData = data.data || [];
let bSplitMaterials = false; /* 默认拆分材料*/
const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bSplitMaterials");
if (iIndex > -1) {
bSplitMaterials = masterConfig.gdsconfigformslave[iIndex].bVisible;
}
let bSplitProcess = false; /* 默认拆分工序 */
const iIndex1 = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bSplitProcess");
if (iIndex1 > -1) {
bSplitProcess = masterConfig.gdsconfigformslave[iIndex1].bVisible;
}
if (data.data) {
let res = [];
switch (type) {
case "process":
if (bFinal) {
/* 成品工序 */
if (slaveSelectedRowKeys && slaveSelectedRowKeys.length) {
res = oriData.filter(val => {
return val.sType === "3" && (val.sCombinePartsName === slaveSelectedRowKeys[0] || !val.sCombinePartsName);
});
} else {
res = oriData.filter(val => {
return val.sType === "3";
});
}
} else {
/* 部件工序 */
if (controlSelectedRowKeys && controlSelectedRowKeys.length) {
res = oriData.filter(val => {
if (bSplitProcess) {
return val.sType !== "3" && (controlSelectedRowKeys.includes(val.sControlId) || !val.sControlId);
} else {
return controlSelectedRowKeys.includes(val.sControlId) || !val.sControlId;
}
});
} else {
if (bSplitProcess) {
res = oriData.filter(val => {
return val.sType !== "3";
});
} else {
res = oriData;
}
}
}
break;
default:
res = oriData;
}
return res;
} else {
return oriData || [];
}
};
returnProps.dataFilter = dataFilter;
// 公共方法-过滤数据-工单用
const dataFilter1 = (data, type, bFinal) => {
// materials : 0-1部件材料 : 2成品材料;
// process : 0-1-2 部品工序 : 3成品工序;
// bfinal: 是否成品
const { slaveSelectedRowKeys, controlSelectedRowKeys, finishedMaterialsColumn, finishedProcessColumn, masterConfig } = props;
let bSplitMaterials = true; /* 默认拆分材料*/
const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bSplitMaterials");
if (iIndex > -1) {
bSplitMaterials = masterConfig.gdsconfigformslave[iIndex].bVisible;
}
let bSplitProcess = true; /* 默认拆分工序 */
const iIndex1 = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bSplitProcess");
if (iIndex1 > -1) {
bSplitProcess = masterConfig.gdsconfigformslave[iIndex1].bVisible;
}
const oriData = data.data || [];
if (data.data) {
let res = [];
switch (type) {
case "materials":
if (bSplitMaterials && finishedMaterialsColumn) {
if (bFinal) {
/* 成品材料 */
if (slaveSelectedRowKeys && slaveSelectedRowKeys.length) {
res = oriData.filter(val => {
return val.sType === "2" && (val.sCombinePartsName === slaveSelectedRowKeys[0] || !val.sCombinePartsName);
});
} else {
res = oriData.filter(val => {
return val.sType === "2";
});
}
} else {
/* 部件材料 */
res = oriData.filter(val => {
return val.sType !== "2";
});
}
} else {
res = oriData;
}
break;
case "process":
if (bSplitProcess && finishedProcessColumn) {
if (bFinal) {
/* 成品工序 */
if (slaveSelectedRowKeys && slaveSelectedRowKeys.length) {
res = oriData.filter(val => {
return val.sType === "3" && (val.sCombinePartsName === slaveSelectedRowKeys[0] || !val.sCombinePartsName);
});
} else {
res = oriData.filter(val => {
return val.sType === "3";
});
}
} else {
/* 部件工序 */
if (controlSelectedRowKeys && controlSelectedRowKeys.length) {
res = oriData.filter(val => {
if (bSplitProcess) {
return val.sType !== "3" && (controlSelectedRowKeys.includes(val.sControlId) || !val.sControlId);
} else {
return controlSelectedRowKeys.includes(val.sControlId) || !val.sControlId;
}
});
} else {
if (bSplitProcess) {
res = oriData.filter(val => {
return val.sType !== "3";
});
} else {
res = oriData;
}
}
if (isQianCai) {
const pre = res.filter(item => item.sType == "0").sort((a, b) => a.iOrder - b.iOrder);
const after = res.filter(item => item.sType == "1" || item.sType == "2").sort((a, b) => a.iOrder - b.iOrder);
res = pre.concat(after);
}
}
} else {
res = oriData;
}
break;
default:
res = oriData;
}
return res;
} else {
return oriData || [];
}
};
returnProps.dataFilter1 = dataFilter1;
// 公共方法-过滤材料数据
const materialsFilterNew = (props, data, type) => {
const { materials0Data = [], processSelectedRowKeys, processData, controlSelectedRowKeys, controlData } = props;
let oriData = materials0Data; // commonUtils.isNotEmptyArr(data.data) ? data.data : [];
let res = [];
let newData = [];
let processRow = {};
let controlRow = {};
if (commonUtils.isNotEmptyArr(controlData) && commonUtils.isNotEmptyArr(controlSelectedRowKeys)) {
/* 没有工序选中行 则不进行数据过滤 */
const iIndex = controlData.findIndex(item => controlSelectedRowKeys.includes(item.sId));
if (iIndex > -1) {
controlRow = controlData[iIndex];
}
}
if (commonUtils.isNotEmptyArr(processData) && commonUtils.isNotEmptyArr(processSelectedRowKeys)) {
/* 没有工序选中行 则不进行数据过滤 */
const iIndex = processData.findIndex(item => processSelectedRowKeys.includes(item.sId));
if (iIndex > -1) {
processRow = processData[iIndex];
}
}
if (type === "materials0") {
/* 根据工序表选中行的部件id +工序id 过滤全部材料数据 */
if (commonUtils.isNotEmptyObject(processRow)) {
const filterData = oriData.filter(
item =>
(processRow.sType === "3" || (processRow.sType !== "3" && item.sControlId === processRow.sControlId)) &&
item.sProcessId === processRow.sProcessId &&
item.sProcessTbId === processRow.sId &&
commonUtils.isEmptyObject(item.sParentMaterialsId)
);
if (commonUtils.isNotEmptyArr(filterData)) {
newData = filterData.filter(
item =>
(commonUtils.isEmptyObject(item.sInkBOMId) &&
commonUtils.isEmptyObject(item.sInkBOMsSlaveId) &&
commonUtils.isEmptyObject(item.sInkBOMsMaterialsId)) ||
(commonUtils.isNotEmptyObject(item.sInkBOMsMaterialsId) &&
commonUtils.isNotEmptyObject(item.sInkBOMId) &&
commonUtils.isNotEmptyObject(item.sInkBOMsSlaveId))
);
}
res = newData;
} else if (commonUtils.isNotEmptyObject(controlRow)) {
const filterData = oriData.filter(item => item.sControlId === controlRow.sId && commonUtils.isEmptyObject(item.sParentMaterialsId));
if (commonUtils.isNotEmptyArr(filterData)) {
newData = filterData.filter(
item =>
(commonUtils.isEmptyObject(item.sInkBOMId) &&
commonUtils.isEmptyObject(item.sInkBOMsSlaveId) &&
commonUtils.isEmptyObject(item.sInkBOMsMaterialsId)) ||
(commonUtils.isNotEmptyObject(item.sInkBOMsMaterialsId) &&
commonUtils.isNotEmptyObject(item.sInkBOMId) &&
commonUtils.isNotEmptyObject(item.sInkBOMsSlaveId))
);
}
res = newData;
} else {
res = commonUtils.isEmptyArr(oriData) ? oriData : oriData.filter(item => commonUtils.isEmptyObject(item.sParentMaterialsId));
res = commonUtils.isEmptyArr(oriData)
? oriData
: res.filter(
item =>
(commonUtils.isEmptyObject(item.sInkBOMId) &&
commonUtils.isEmptyObject(item.sInkBOMsSlaveId) &&
commonUtils.isEmptyObject(item.sInkBOMsMaterialsId)) ||
(commonUtils.isNotEmptyObject(item.sInkBOMsMaterialsId) &&
commonUtils.isNotEmptyObject(item.sInkBOMId) &&
commonUtils.isNotEmptyObject(item.sInkBOMsSlaveId))
);
}
} else if (type === "materials1" || type === "materials2" || type === "materials3") {
/* 过滤后的 materials0Data */
let materials0FilterData = [];
if (commonUtils.isNotEmptyObject(processRow) && commonUtils.isNotEmptyArr(materials0Data)) {
const filterData = materials0Data.filter(
item =>
item.sControlId === processRow.sControlId &&
item.sProcessId === processRow.sProcessId &&
item.sProcessTbId === processRow.sId &&
commonUtils.isEmptyObject(item.sParentMaterialsId)
);
if (commonUtils.isNotEmptyArr(filterData)) {
materials0FilterData = filterData;
}
} else if (commonUtils.isNotEmptyObject(controlRow) && commonUtils.isNotEmptyArr(materials0Data)) {
const filterData = materials0Data.filter(item => item.sControlId === controlRow.sId && commonUtils.isEmptyObject(item.sParentMaterialsId));
if (commonUtils.isNotEmptyArr(filterData)) {
materials0FilterData = filterData;
}
} else {
materials0FilterData = materials0Data;
}
if (commonUtils.isNotEmptyArr(materials0FilterData)) {
const config = data.config;
const sSqlCondition = config ? config.sSqlCondition : "materials0.sBclassifyName.油墨";
if (sSqlCondition) {
let targetTbName = sSqlCondition.split(".")[0]; /* 1.表名 control */
if (commonUtils.isEmptyObject(targetTbName)) {
targetTbName = "materials0";
}
let filteredValue = sSqlCondition.split(".")[1]; /* 2.解析filterValue: controlSelectedRowKeys */
let sParentKey = sSqlCondition.split(
"."
)[2]; /* 2.解析本身表对应的值,如控制表筛选材料表 则材料表的sControlId = 控制表的controlSelectedRowKeys[0] */
/* 双重条件 */
if (commonUtils.isEmptyObject(targetTbName)) {
if (type === "materials1") {
/* materials0.sBclassifyName.油墨 */
filteredValue = "sBclassifyName";
sParentKey = "油墨";
} else if (type === "materials2") {
/* materials0.sBclassifyName.电化铝 */
filteredValue = "sBclassifyName";
sParentKey = "电化铝";
}
}
if (targetTbName === "materials0") {
let filterData = [];
if (type === "materials1") {
/* 油墨 */
filterData = materials0FilterData.filter(
item =>
sParentKey &&
sParentKey.includes(item[filteredValue]) &&
((commonUtils.isNotEmptyObject(item.sInkBOMsMaterialsId) &&
commonUtils.isNotEmptyObject(item.sInkBOMId) &&
commonUtils.isNotEmptyObject(item.sInkBOMsSlaveId)) ||
(commonUtils.isEmptyObject(item.sInkBOMsMaterialsId) &&
commonUtils.isEmptyObject(item.sInkBOMId) &&
commonUtils.isEmptyObject(item.sInkBOMsSlaveId)))
);
} else if (type === "materials2") {
/* 电化铝 */
filterData = materials0FilterData.filter(
item => sParentKey && sParentKey.includes(item[filteredValue]) && commonUtils.isEmptyObject(item.sParentMaterialsId)
);
} else if (type === "materials3") {
/* 包材 */
filterData = materials0FilterData.filter(
item => sParentKey && sParentKey.includes(item[filteredValue]) && commonUtils.isEmptyObject(item.sParentMaterialsId)
);
}
newData = filterData;
}
}
}
res = newData;
} else if (type === "materials1Child") {
/* 过滤油墨子集 */
/* 过滤后的 materials0Data */
let materials0FilterData = [];
if (commonUtils.isNotEmptyObject(processRow) && commonUtils.isNotEmptyArr(materials0Data)) {
const filterData = materials0Data.filter(
item => item.sControlId === processRow.sControlId && item.sProcessId === processRow.sProcessId && item.sProcessTbId === processRow.sId
);
if (commonUtils.isNotEmptyArr(filterData)) {
materials0FilterData = filterData;
}
} else if (commonUtils.isNotEmptyObject(controlRow) && commonUtils.isNotEmptyArr(materials0Data)) {
const filterData = materials0Data.filter(item => item.sControlId === controlRow.sId);
if (commonUtils.isNotEmptyArr(filterData)) {
materials0FilterData = filterData;
}
} else {
materials0FilterData = materials0Data;
}
if (commonUtils.isNotEmptyArr(materials0FilterData)) {
const config = data.config;
const sSqlCondition = config && commonUtils.isNotEmptyObject(config.sSqlCondition) ? config.sSqlCondition : "materials0.sBclassifyName.油墨";
if (sSqlCondition) {
let targetTbName = sSqlCondition.split(".")[0]; /* 1.表名 control */
if (commonUtils.isEmptyObject(targetTbName)) {
targetTbName = "materials0";
}
let filteredValue = sSqlCondition.split(".")[1]; /* 2.解析filterValue: controlSelectedRowKeys */
let sParentKey = sSqlCondition.split(
"."
)[2]; /* 2.解析本身表对应的值,如控制表筛选材料表 则材料表的sControlId = 控制表的controlSelectedRowKeys[0] */
if (commonUtils.isEmptyObject(targetTbName)) {
if (type === "materials1") {
/* materials0.sBclassifyName.油墨 */
filteredValue = "sBclassifyName";
sParentKey = "油墨";
} else if (type === "materials2") {
/* materials0.sBclassifyName.电化铝 */
filteredValue = "sBclassifyName";
sParentKey = "电化铝";
}
}
if (targetTbName === "materials0") {
const filterData = materials0FilterData.filter(
item => sParentKey && sParentKey.includes(item[filteredValue]) && commonUtils.isEmptyObject(item.sParentMaterialsId)
);
if (commonUtils.isNotEmptyArr(filterData)) {
newData = filterData;
}
}
}
}
if (type === "materials1Child") {
/* 油墨过滤子集 相同sInkBOMId, sInkBOMsSlaveId, 有sInkBOMsMaterialsId是父集 */
const { materials0Data, materials1SelectedRowKeys } = props;
let materials1Row = {}; /* 油墨子级 */
if (commonUtils.isNotEmptyArr(materials0Data) && commonUtils.isNotEmptyArr(materials1SelectedRowKeys)) {
/* 没有工序选中行 则不进行数据过滤 */
const iIndex = materials0Data.findIndex(item => materials1SelectedRowKeys.includes(item.sId));
if (iIndex > -1) {
materials1Row = materials0Data[iIndex];
}
}
res = newData.filter(item => item.sInkFatherMaterialsTbId === materials1Row.sId);
}
} else if (type === "materials0Child") {
/* 全部材料 过滤替代料 */
const { materials0Data, materials0SelectedRowKeys } = props;
let materials0Row = {}; /* 油墨子级 */
if (commonUtils.isNotEmptyArr(materials0Data) && commonUtils.isNotEmptyArr(materials0SelectedRowKeys)) {
/* 没有工序选中行 则不进行数据过滤 */
const iIndex = materials0Data.findIndex(item => materials0SelectedRowKeys.includes(item.sId) && item.sProcessId ===
processRow.sProcessId && item.sProcessTbId === processRow.sId);
if (iIndex > -1) {
materials0Row = materials0Data[iIndex];
}
}
if (commonUtils.isNotEmptyObject(materials0Row)) {
/* 根据工序过滤所有替代料 */
if (commonUtils.isNotEmptyObject(materials0Row.sAluminumBomId)) {
/* 电化铝替代料过滤 */
res = oriData.filter(
item =>
item.sParentMaterialsId === materials0Row.sId ||
(commonUtils.isNotEmptyObject(item.sParentMaterialsId) &&
commonUtils.isNotEmptyObject(item.sMaterialsNo) &&
item.sMaterialsNo1 === materials0Row.sMaterialsNo)
);
} else {
res = oriData.filter(item => item.sParentMaterialsId === materials0Row.sId);
}
} else if (commonUtils.isNotEmptyObject(processRow)) {
/* 根据工序过滤所有替代料 */
res = oriData.filter(
item =>
item.sProcessId === processRow.sProcessId && item.sProcessTbId === processRow.sId && commonUtils.isNotEmptyObject(item.sParentMaterialsId)
);
} else if (commonUtils.isNotEmptyObject(controlRow)) {
res = oriData.filter(item => item.sControlId === controlRow.sId && commonUtils.isNotEmptyObject(item.sParentMaterialsId));
}
} else {
res = oriData;
}
return res;
};
returnProps.materialsFilterNew = materialsFilterNew;
// 公共方法-过滤工序数据
const processFilteNew = (props, data, type, bFinal) => {
// materials : 0-1部件材料 : 2成品材料;
// process : 0-1-2 部品工序 : 3成品工序;
// bfinal: 是否成品
const { slaveSelectedRowKeys, controlSelectedRowKeys } = props;
const oriData = data.data || [];
if (data.data) {
let res = [];
switch (type) {
case 'materials':
if (bFinal) {
if (bFinal) { /* 成品材料 */
if (slaveSelectedRowKeys && slaveSelectedRowKeys.length) {
res = oriData.filter((val) => {
return val.sType === '2' && (val.sCombinePartsName === slaveSelectedRowKeys[0] || !val.sCombinePartsName);
});
} else {
res = oriData.filter((val) => {
return val.sType === '2';
});
}
} else { /* 部件材料 */
res = oriData.filter((val) => {
return val.sType !== '2';
});
}
} else {
res = oriData;
}
break;
case 'process':
if (bFinal) {
if (bFinal) { /* 成品工序 */
if (slaveSelectedRowKeys && slaveSelectedRowKeys.length) {
res = oriData.filter((val) => {
return val.sType === '3' && (val.sCombinePartsName === slaveSelectedRowKeys[0] || !val.sCombinePartsName);
});
} else {
res = oriData.filter((val) => {
return val.sType === '3';
});
}
} else { /* 部件工序 */
if (controlSelectedRowKeys && controlSelectedRowKeys.length) {
res = oriData.filter((val) => {
return val.sType !== '3' && (controlSelectedRowKeys.includes(val.sControlId) || !val.sControlId);
});
} else {
res = oriData.filter((val) => {
return val.sType !== '3';
});
}
}
} else {
// 成品工序放最下面
const processData = oriData.filter(item => item.sControlId !== props.controlSelectedRowKeys[0])
const idsToRemove = processData.map(item => item.sControlId);
const allData = oriData.filter(item => !idsToRemove.includes(item.sControlId))
res = allData.concat(processData);
const res3 = res.filter(item => item.sType === '3');
const resOther = res.filter(item => item.sType !== '3');
res = [...resOther, ...res3];
}
break;
default:
res = oriData;
}
return res;
} else {
return oriData || [];
}
}
returnProps.processFilteNew = processFilteNew;
// 公共方法-递归数据
const handleGetSlaveSelectedRowChildren = (allData, sId) => {
let result = [];
allData.forEach(item => {
if (item.sFatherSlaveId === sId) {
result.push(item);
result = [...result, ...handleGetSlaveSelectedRowChildren(allData, item.sId)];
}
});
return result;
};
returnProps.handleGetSlaveSelectedRowChildren = handleGetSlaveSelectedRowChildren;
// 根据key查找树节点并改变属性
const handleSearchNodes = (key, data, showNameNew) => {
if (!showNameNew) return;
data.forEach(item => {
if (item.key === key) {
item.showName = showNameNew;
} else if (commonUtils.isNotEmptyArr(item.children)) {
handleSearchNodes(key, item.children, showNameNew);
}
});
};
returnProps.handleSearchNodes = handleSearchNodes;
// PQty计算
const singlePQtyChange = tableDataRow => {
const bZfZf = tableDataRow.iPrintMode === 2; // 正反版
const bSample = tableDataRow.dSumPQty >= 4; // 样本
tableDataRow.iPrintModePo = tableDataRow.iPrintMode <= 2 ? 2 : tableDataRow.iPrintMode === 3 ? 0 : -1;
if (bSample) {
if (tableDataRow.dSinglePQty > 0) {
tableDataRow.dPlateQty = Math.ceil(tableDataRow.dSumPQty / tableDataRow.dSinglePQty);
}
if (bZfZf && tableDataRow.iPrintModePo === 2) {
// 双面样本,正反
if (tableDataRow.dPlateQty < 2) {
// 不管建议放正自翻版了,点方式什么是什么
tableDataRow.dPlateQty = 2;
tableDataRow.iStick = Math.ceil(commonUtils.isNull(tableDataRow.dPlateQty, 0) / 2);
tableDataRow.dSumPlateQty =
tableDataRow.iStick *
(commonUtils.isNull(tableDataRow.iPositiveColor, 0) +
commonUtils.isNull(tableDataRow.iPositiveSpecialColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeSpecialColor, 0));
} else {
if (tableDataRow.iPrintModePo !== 2) {
// 单面样本
tableDataRow.dPlateQty = (commonUtils.isNull(tableDataRow.dSumPQty, 0) * 0.5) / tableDataRow.dSinglePQty;
tableDataRow.iStick = Math.ceil(tableDataRow.dPlateQty);
tableDataRow.dSumPlateQty =
tableDataRow.iStick * (commonUtils.isNull(tableDataRow.iPositiveColor, 0) + commonUtils.isNull(tableDataRow.iPositiveSpecialColor, 0));
} else {
tableDataRow.dPlateQty =
commonUtils.isNull(tableDataRow.dSumPQty, 0) / commonUtils.isNull(commonUtils.nullIf(tableDataRow.dSinglePQty, 0), 1);
tableDataRow.iStick = Math.ceil(tableDataRow.dPlateQty / 2);
}
tableDataRow.dSumPlateQty =
tableDataRow.iStick *
(commonUtils.isNull(tableDataRow.iPositiveColor, 0) +
commonUtils.isNull(tableDataRow.iPositiveSpecialColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeSpecialColor, 0));
}
} else {
if (tableDataRow.iPrintModePo !== 2) {
// 单面样本
tableDataRow.dPlateQty = (commonUtils.isNull(tableDataRow.dSumPQty, 0) * 0.5) / tableDataRow.dSinglePQty;
} else {
tableDataRow.dPlateQty =
commonUtils.isNull(tableDataRow.dSumPQty, 0) / commonUtils.isNull(commonUtils.nullIf(tableDataRow.dSinglePQty, 0), 1);
}
tableDataRow.iStick = Math.ceil(tableDataRow.dPlateQty);
tableDataRow.dSumPlateQty =
tableDataRow.iStick * (commonUtils.isNull(tableDataRow.iPositiveColor, 0) + commonUtils.isNull(tableDataRow.iPositiveSpecialColor, 0));
}
if (tableDataRow.iStick > 0 && tableDataRow.dSinglePQty > 0) {
tableDataRow.dMachineQty = commonUtils.convertFixNum(
(commonUtils.isNull(tableDataRow.dPartsQty, 0) * commonUtils.isNull(tableDataRow.dSumPQty, 0) * 0.5) /
tableDataRow.dSinglePQty /
tableDataRow.iStick,
0
);
tableDataRow.dSumMachineQty = tableDataRow.dMachineQty * tableDataRow.iStick;
}
} else {
tableDataRow.iStick = 1;
tableDataRow.dSumPlateQty =
tableDataRow.iStick *
(commonUtils.isNull(tableDataRow.iPositiveColor, 0) +
commonUtils.isNull(tableDataRow.iPositiveSpecialColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeSpecialColor, 0));
if (bZfZf && tableDataRow.iPrintModePo === 2) {
tableDataRow.dPlateQty = 2;
tableDataRow.dSumPlateQty =
tableDataRow.iStick *
(commonUtils.isNull(tableDataRow.iPositiveColor, 0) +
commonUtils.isNull(tableDataRow.iPositiveSpecialColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeColor, 0) +
commonUtils.isNull(tableDataRow.iOppositeSpecialColor, 0));
} else {
tableDataRow.dPlateQty = 1;
tableDataRow.dSumPlateQty =
tableDataRow.iStick * (commonUtils.isNull(tableDataRow.iPositiveColor, 0) + commonUtils.isNull(tableDataRow.iPositiveSpecialColor, 0));
}
if (tableDataRow.dSinglePQty > 0) {
if (tableDataRow.iPage > 1) {
// 笔记本 用 非样本 来做, 倍率是每页都一样才可以用 原先 /2 是指页数, 现在直接按张数
tableDataRow.dMachineQty = commonUtils.convertFixNum((tableDataRow.dPartsQty * tableDataRow.iPage) / tableDataRow.dSinglePQty, 0);
} else {
tableDataRow.dMachineQty = commonUtils.convertFixNum(commonUtils.isNull(tableDataRow.dPartsQty, 0) / tableDataRow.dSinglePQty, 0);
tableDataRow.dSumMachineQty = tableDataRow.dMachineQty * tableDataRow.iStick;
}
}
}
return tableDataRow;
};
returnProps.singlePQtyChange = singlePQtyChange;
/* 公共展示表格额外Tab层功能 */
const getCustomTabPaneExtra = tableName => {
const { [`${tableName}Data`]: data, [`${tableName}SelectedRowKeys`]: selectedRowKeys } = props;
let { [`${tableName}Config`]: config } = props;
config = props.onMergeSlaveConfig(config);
if (!commonUtils.isNotEmptyObject(config) || !commonUtils.isNotEmptyArr(config.gdsconfigformslave)) {
return "";
}
const controlArr = config.gdsconfigformslave.filter(
item =>
(item.bControl && item.sControlName && item.sControlName.indexOf("Btn") === -1 && item.sControlName.indexOf("_") !== -1) ||
(item.sControlName && item.sControlName.indexOf("DividerArea") !== -1 && item.sControlName.indexOf(".hide") === -1)
);
if (commonUtils.isEmptyArr(controlArr)) {
return "";
}
const controlGroup = controlArr.reduce((result, item) => {
const { sControlName } = item;
const splitList = sControlName.split("_");
const key = splitList[1];
if (!result[key]) {
result[key] = [];
}
result[key].push(item);
return result;
}, {});
let viewRow = {};
if (commonUtils.isNotEmptyArr(selectedRowKeys)) {
const iIndex = data.findIndex(item => selectedRowKeys.includes(item.sId));
if (iIndex > -1) {
viewRow = data[iIndex];
} else {
viewRow = data[0];
}
} else if (commonUtils.isNotEmptyArr(data)) {
viewRow = data[0];
}
return (
{Object.keys(controlGroup).map(tabNameKey => {
console.log("eeee", tabNameKey);
let tabName = tabNameKey.replace(/\d+/g, "");
const num = tabNameKey.replace(/[^\d]/g, "").trim();
const tableConfigArr = config?.gdsconfigformslave.filter(row => row.sControlName === tabNameKey.trim());
if(commonUtils.isNotEmptyArr(tableConfigArr)) {
tabName =tableConfigArr[0].showName;
}
const viewProps = {
...props,
viewConfigs: controlGroup[tabNameKey],
tableConfig: config,
iColValueView: 24,
viewRow,
tableName,
};
return (
);
})}
);
};
returnProps.getCustomTabPaneExtra = getCustomTabPaneExtra;
// 拖拽方法
const handleDrag = (data, tableName) => {
let { controlSelectedRowKeys, controlData } = props;
if (props.enabled && controlSelectedRowKeys.length) {
if (tableName === "process" || tableName === "materialsO") {
if (commonUtils.isNotEmptyArr(data)) {
let allData = props.processData;
/* 控制表选中行 移动排序 */
const filterData = data.filter(item => item.sType !== "3" && item.sControlId === props.controlSelectedRowKeys[0]);
if (commonUtils.isNotEmptyArr(filterData)) {
filterData.forEach((item, iIndex) => {
item.iOrder = iIndex + 1;
const iFilterIndex = commonUtils.isNotEmptyArr(allData) ? allData.findIndex(row => item.sId === row.sId) : -1;
if (iFilterIndex > -1) {
allData[iFilterIndex] = { ...item, iOrder: iIndex + 1 };
}
});
}
const filterProductData = data.filter(item => item.sType === '3');
if (commonUtils.isNotEmptyArr(filterProductData)) {
filterProductData.forEach((item, iIndex) => {
item.iOrder = iIndex + 1;
const iFilterIndex = commonUtils.isNotEmptyArr(allData) ? allData.findIndex(row => item.sId === row.sId) : -1;
if (iFilterIndex > -1) {
allData[iFilterIndex] = { ...item, iOrder: iIndex + 20000 };
}
});
}
/* 找到所属控制表的iOrder * 10000 */
allData.forEach((item, iIndex) => {
const iControlIndex = commonUtils.isNotEmptyArr(controlData) ? controlData.findIndex(row => item.sControlId === row.sId) : -1;
if (iControlIndex > -1) {
const iControlOrder = controlData[iControlIndex].iOrder * 100;
allData[iIndex].iControlOrder = iControlOrder;
allData[iIndex].iOrder = iControlOrder + item.iOrder;
}
});
allData = allData.sort((a, b) => a.iOrder - b.iOrder);
allData.forEach((item, iIndex) => {
allData[iIndex] = { ...item, iOrder: iIndex + 1, handleType: commonUtils.isEmpty(item.handleType) ? "update" : item.handleType };
});
props.onSaveState({ processData: allData });
}
} else {
// process : 0-1-2 部品工序 : 3成品工序;
let processData = props.processData.slice(0);
let preDataIndex = 0;
let preData = data.filter(item => item.sType === "0" && item.sControlId === props.controlSelectedRowKeys[0]).map(item => {
preDataIndex = preDataIndex + 1;
return { ...item, iOrder: preDataIndex };
});
let afterDataIndex = 0;
let afterData = data
.filter(item => item.sType !== "3" && item.sType !== "0" && item.sControlId === props.controlSelectedRowKeys[0])
.map(item => {
afterDataIndex = afterDataIndex + 1;
return { ...item, iOrder: afterDataIndex };
});
let allData = preData.concat(afterData);
allData.forEach((item, index) => {
if (item.sControlId === props.controlSelectedRowKeys[0]) {
if (!allData[index].handleType) {
allData[index].handleType = "update";
}
}
});
processData = processData.filter(item => item.sControlId !== props.controlSelectedRowKeys[0]);
processData = processData.concat(allData);
props.onSaveState({ processData });
}
}
};
returnProps.onDrag = handleDrag;
return {
...props,
...returnProps,
};
};
const CommonModal = props => {
return (
{/* 工艺指导书弹窗组件 */}
{/* 选择工序弹窗组件 */}
{/* 选择成品工序弹窗组件 */}
{/* 选择成品材料弹窗组件 */}
{/* 选择材料弹窗组件 */}
{/* 选择工艺参数弹窗(旧) */}
{/* 选择工艺参数弹窗(新) */}
{/* 选择合版部件弹窗 */}
{/* 部件行选择合版信息弹窗 */}
{/* 复制从弹窗 */}
{/* Ctrl+R全部更新弹窗 */}
{/* 工作流弹窗 */}
{/* 选择色序弹窗 */}
);
};
// 工艺指导书弹窗
const PartsInfoModal = props => {
const { enabled, partsInfoModalVisible, partsInfoModalTitle } = props;
if (!partsInfoModalVisible) return "";
const [enabledNew, setEnabledNew] = useState(false);
const onCancel = () => {
props.onSaveState({
partsInfoModalVisible: false,
});
};
const handleFooter = () => {
const BtnSure = commonFunc.showLocalMessage(props, "BtnSure", "确定");
const BtnSave = commonFunc.showLocalMessage(props, "BtnSave", "确定");
const BtnUpd= commonFunc.showLocalMessage(props, "BtnUpd", "修改");
if (props.enabled || props.masterData?.partsInfoLock) {
return [
,
];
}
return [
,
,
];
};
return (
);
};
// 选择工序弹窗
const ProcessChooseModal = props => {
const { processChooseVisible } = props;
if (!processChooseVisible) return "";
const { app, sModelsId, sModelsType, sTabId, content, processChooseData, masterConfig, processData, controlSelectedRowKeys } = props;
const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
const { notCurrentPane } = pane;
let setProcessTitle = commonFunc.showMessage(app.commonConst, "setProcess"); //选择工序标题
let searchProcessType = {};
if (commonUtils.isNotEmptyObject(processChooseData)) {
const chooseProcessConfig = masterConfig.gdsconfigformslave.find(item => item.sControlName === "BtnChooseProcess") || {};
setProcessTitle = chooseProcessConfig.showName || setProcessTitle;
const { sMenuName, sName, sId, sModelType } = processChooseData;
searchProcessType = {
app: {
...app,
currentPane: {
name: "process",
config: chooseProcessConfig,
conditonValues: props.getSqlCondition(chooseProcessConfig),
title: sMenuName,
route: sName,
formId: sId,
key: sModelsId + sId,
sModelsType: sModelType,
select: props.onSelect,
selectCancel: props.onSelectCancel,
},
},
processData,
controlSelectedRowKeys,
dispatch: props.dispatch,
fatherModelsType: sModelsType,
content,
id: new Date().getTime().toString(),
};
}
const onCancel = () => {
props.onSaveState({ processChooseVisible: false });
};
return (
);
};
// 选择成品工序弹窗
const ProductProcessChooseModal = props => {
const { productProcessChooseVisible } = props;
if (!productProcessChooseVisible) return "";
const { app, sModelsId, sModelsType, sTabId, content, productProcessChooseData, masterConfig, processData, controlSelectedRowKeys } = props;
const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
const { notCurrentPane } = pane;
let setProcessTitle = commonFunc.showMessage(app.commonConst, "setProcess"); //选择工序标题
let chooseProdutProcessType = {};
let chooseProdutProcessConfig = {};
if (commonUtils.isNotEmptyObject(productProcessChooseData)) {
chooseProdutProcessConfig = masterConfig.gdsconfigformslave.find(item => item.sControlName === "BtnChooseProductProcess") || {};
setProcessTitle = chooseProdutProcessConfig.showName || setProcessTitle;
const { sMenuName, sName, sId, sModelType } = productProcessChooseData;
let slaveFinalData = [];
let slaveFinalSelectedRowKeys =[];
if (commonUtils.isNotEmptyArr(props.slaveData)) {
slaveFinalData = JSON.parse(JSON.stringify(props.slaveData));
if (commonUtils.isNotEmptyArr(slaveFinalData) && slaveFinalData.length > 0) {
slaveFinalData.forEach((item) => {
item.sSlaveId = commonUtils.createSid(); /* 添加成品工序从表 */
});
}
/* 选择成品工序 只有一条从表 则默认选中 */
if(slaveFinalData.length ===1){
slaveFinalSelectedRowKeys.push(slaveFinalData[0].sSlaveId);
}
}
let slaveFinalConfig = {};
if (commonUtils.isNotEmptyObject(props.slaveConfig)) {
slaveFinalConfig = JSON.parse(JSON.stringify(props.slaveConfig));
slaveFinalConfig.bMutiSelect = true;
}
chooseProdutProcessType = {
app: {
...props.app,
currentPane: {
name: 'chooseProductProcess',
config: chooseProdutProcessConfig,
conditonValues: props.getSqlCondition(chooseProdutProcessConfig),
title: sMenuName,
route: sName,
formId: sId,
key: sModelsId + sId,
sModelsType: 'search/finalProcess',
select: props.onSelectProductProcessNew, /* 选择成品工序 */
selectCancel: props.onCancelModal.bind(this, 'productProcessChooseVisible'),
},
},
slaveFinalConfig,
slaveFinalColumn: props.slaveColumn,
slaveFinalData,
slaveFinalSelectedRowKeys,
dispatch: props.dispatch,
fatherModelsType: props.sModelsType,
content: props.content,
id: new Date().getTime().toString(),
};
}
const onCancel = () => {
props.onSaveState({ productProcessChooseVisible: false });
};
return (
);
};
// 选择成品工序弹窗
const ProductMaterialsChooseModal = props => {
const { productMaterialsChooseVisible } = props;
if (!productMaterialsChooseVisible) return "";
const { app, sModelsId, sModelsType, sTabId, content, productMaterialsChooseData, masterConfig, processData, controlSelectedRowKeys } = props;
const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
const { notCurrentPane } = pane;
let setMaterialsTitle = ''; //选择工序标题
let chooseProductMaterialsType = {};
let chooseProductMaterialsConfig = {};
if (commonUtils.isNotEmptyObject(productMaterialsChooseData)) {
chooseProductMaterialsConfig = masterConfig.gdsconfigformslave.find(item => item.sControlName === "BtnChooseProductMaterials") || {};
setMaterialsTitle = chooseProductMaterialsConfig.showName || setMaterialsTitle;
const { sMenuName, sName, sId, sModelType } = productMaterialsChooseData;
let slaveFinalData = [];
let slaveFinalSelectedRowKeys =[];
if (commonUtils.isNotEmptyArr(props.slaveData)) {
slaveFinalData = JSON.parse(JSON.stringify(props.slaveData));
if (commonUtils.isNotEmptyArr(slaveFinalData) && slaveFinalData.length > 0) {
slaveFinalData.forEach((item) => {
item.sSlaveId = commonUtils.createSid(); /* 添加成品工序从表 */
});
}
/* 选择成品工序 只有一条从表 则默认选中 */
if(slaveFinalData.length ===1){
slaveFinalSelectedRowKeys.push(slaveFinalData[0].sSlaveId);
}
}
let slaveFinalConfig = {};
if (commonUtils.isNotEmptyObject(props.slaveConfig)) {
slaveFinalConfig = JSON.parse(JSON.stringify(props.slaveConfig));
slaveFinalConfig.bMutiSelect = true;
}
chooseProductMaterialsType = {
app: {
...props.app,
currentPane: {
name: 'productMaterials',
config: chooseProductMaterialsConfig,
conditonValues: props.getSqlCondition(chooseProductMaterialsConfig),
title: sMenuName,
route: sName,
formId: sId,
key: sModelsId + sId,
sModelsType: 'search/finalMaterials',
select: props.onSelectProductMaterialsNew, /* 选择成品工序 */
selectCancel: props.onCancelModal.bind(this, 'productMaterialsChooseVisible'),
},
},
slaveFinalConfig,
slaveFinalColumn: props.slaveColumn,
slaveFinalData,
slaveFinalSelectedRowKeys,
dispatch: props.dispatch,
fatherModelsType: props.sModelsType,
content: props.content,
id: new Date().getTime().toString(),
};
}
const onCancel = () => {
props.onSaveState({ productMaterialsChooseVisible: false });
};
return (
);
};
// 选择材料弹窗
const MaterialsChooseModal = props => {
const { materialsChooseVisible } = props;
if (!materialsChooseVisible) return "";
const { app, sModelsId, sModelsType, sTabId, content, materialsChooseData, masterConfig, materialsData, controlSelectedRowKeys } = props;
const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
const { notCurrentPane } = pane;
let setMaterialsTitle = commonFunc.showMessage(app.commonConst, "setMaterial"); //选择工序标题
let searchMaterialsType = {};
if (commonUtils.isNotEmptyObject(materialsChooseData)) {
const choosematerialsConfig = masterConfig.gdsconfigformslave.find(item => item.sControlName === "BtnChooseMaterials") || {};
setMaterialsTitle = choosematerialsConfig.showName || setMaterialsTitle;
const { sMenuName, sName, sId, sModelType } = materialsChooseData;
searchMaterialsType = {
app: {
...app,
currentPane: {
name: "materials",
config: choosematerialsConfig,
conditonValues: props.getSqlCondition(choosematerialsConfig),
title: sMenuName,
route: sName,
formId: sId,
key: sModelsId + sId,
sModelsType: sModelType,
select: props.onSelect,
selectCancel: props.onSelectCancel,
},
},
materialsData,
controlSelectedRowKeys,
dispatch: props.dispatch,
fatherModelsType: sModelsType,
content,
id: new Date().getTime().toString(),
};
}
const onCancel = () => {
props.onSaveState({ materialsChooseVisible: false });
};
return (
);
};
// 选择工艺参数弹窗(旧)
const ParamsChooseModal = props => {
const { sParamsModalVisible, sModelsType, app } = props;
if (!sParamsModalVisible) return "";
const sProcessParams = commonFunc.showMessage(app.commonConst, "sProcessParams"); // 选择工艺参数标题
const onCancel = () => {
props.onSaveState({ sParamsModalVisible: false });
};
const sParamProps = {
...commonBusiness.getTableTypes("sParam", props),
tableProps: {
rowKey: "sId",
onChange: props.onTitleChange,
sModelsType,
AutoTableHeight: 350,
},
bRowClick: true,
};
return (
);
};
// 选择工艺参数弹窗(新)
const ParamsChooseNewModal = props => {
const modalName = "sWorkParamsModalVisible"; // commonParamVisible
const sProcessParams = commonFunc.showMessage(props.app.commonConst, 'workParam') || '工单参数' ;
const getTableBtnState = tableName => {
let result = false;
const { enabled, masterData } = props;
result = enabled;
const { sInstruct: sInstructStr } = props[`${tableName}Config`];
const sInstruct = commonUtils.convertStrToObj(sInstructStr, {});
const { data = [] } = sInstruct;
const btnConfig = data.find(item => item && item.name === tableName && item.enabled !== undefined);
if (btnConfig && result) {
if (!Array.isArray(props[`${tableName}Data`]) || !Array.isArray([`${tableName}SelectedRowKeys`])) {
return;
}
const { enabled: enabledContent } = btnConfig;
if (typeof enabledContent === "boolean") {
result = enabledContent;
} else if (enabledContent) {
const tempData = {
props: {
enabled,
},
masterData,
[tableName]:
props[`${tableName}Data`]?.find(
i => i && (props[`${tableName}SelectedRowKeys`].includes(i.sId) || props[`${tableName}SelectedRowKeys`].includes(i.sSlaveId))
) || {},
};
let strNew = enabledContent;
Object.keys(tempData).forEach(key => {
const reg = new RegExp(`${key}\\.`, "g");
strNew = strNew.replace(reg, `tempData["${key}"].`);
});
try {
const evalStr = eval("`" + strNew + "`");
result = !!eval(evalStr);
console.log("=====表格行按钮状态结果", result, {
btnName,
enabledContent,
tempData,
strNew,
evalStr,
});
} catch (error) {
console.log("=====表格行按钮状态错误", {
error,
enabledContent,
strNew,
tempData,
});
}
}
}
return result;
};
const convertRecordDefaultToSParams = (recordDefault, sParamType, extraData = {}) => {
const data = {
...recordDefault,
...extraData,
};
const sParamsData = [
{
sParamType,
data,
},
];
return JSON.stringify(sParamsData);
};
const getDefaultParams = () => {
const tableName = "process";
const tableData = props[`${tableName}Data`];
const iIndex = commonUtils.getSelectedDataIndex(props, tableName);
const sParamType = "sWorkOrder";
if (iIndex !== -1) {
const selectedData = commonUtils.getSelectedData(props, tableName);
if (commonUtils.isNotEmptyObject(selectedData)) {
/* 将默认值带到sParams中 */
if (commonUtils.isEmptyObject(selectedData.sParams)) {
const result = rglUtils.getReactGridLayout(sParamType, selectedData, props.sModelsId, props.formRoute);
const { recordDefault } = result;
const sParamsStr = convertRecordDefaultToSParams(recordDefault, sParamType);
// 将弹窗打开没做任何操作的默认值 组装为params数据
if (commonUtils.isNotEmptyObject(sParamsStr)) {
tableData[iIndex].sParams = sParamsStr;
tableData[iIndex].handleType = tableData[iIndex].handleType || "update";
props.onSaveState({ [`${tableName}Data`]: tableData });
}
}
}
}
};
const BtnFirst= commonFunc.showMessage(props.app.commonConst, 'BtnFirst') || '首条' ;
const BtnLast= commonFunc.showMessage(props.app.commonConst, 'BtnLast') || '末条' ;
const BtnPrior= commonFunc.showMessage(props.app.commonConst, 'BtnPrior') || '上一条' ;
const BtnNext= commonFunc.showMessage(props.app.commonConst, 'BtnNext') || '下一条' ;
const BtnSure = commonFunc.showLocalMessage(props, 'BtnSure', '确定');
return props[modalName] ? (
{
props.onSaveState({ [modalName]: false });
}}
footer={
}
>
{[""].map(() => {
const commonViewDragableProps = {
...props,
hideTabsNav: true,
comparedTableId: props.processTableId,
sParamData: [
{
sParamType: "sWorkOrder",
sParamName: "工单参数",
},
],
tableName: "process",
};
commonViewDragableProps.enabled = getTableBtnState(commonViewDragableProps.tableName);
return
;
})}
) : (
""
);
};
// 合版部件选择框
const CombinePartsChooseModal = props => {
const { combinePartsChooseVisible } = props;
if (!combinePartsChooseVisible) return "";
const { app } = props;
let combinePartsConfig = {};
if (commonUtils.isNotEmptyObject(props.packConfig)) {
combinePartsConfig = JSON.parse(JSON.stringify(props.packConfig));
const gdsconfigformslaveFilter = combinePartsConfig.gdsconfigformslave.filter(
item => item.sName === "sId" || item.sName === "sCustomerName" || item.sName === "sProductName" || item.sName === "sCombinePartsName"
);
combinePartsConfig.gdsconfigformslave = gdsconfigformslaveFilter;
combinePartsConfig.bMutiSelect = false;
}
let combinePartsColumn = [];
if (commonUtils.isNotEmptyObject(props.packColumn)) {
combinePartsColumn = JSON.parse(JSON.stringify(props.packColumn));
const packColumnFilter = props.packColumn.filter(
item =>
item.dataIndex === "sId" || item.dataIndex === "sCustomerName" || item.dataIndex === "sProductName" || item.dataIndex === "sCombinePartsName"
);
combinePartsColumn = packColumnFilter;
}
const handleSelectCombineParts = async (name, selectConfig, selectData) => {
const { processData, processSelectedRowId, materialsData, materialsSelectedRowId, openTable } = props;
let sCombinedStr = "";
let sCombinedId = "";
if (selectData !== undefined) {
if (commonUtils.isNotEmptyArr(selectData)) {
selectData.forEach(item => {
const { sId } = item;
let { sProductName } = item;
let { sCombinePartsName } = item;
sProductName = commonUtils.isNotEmptyObject(sProductName) ? sProductName : "";
sCombinePartsName = commonUtils.isNotEmptyObject(sCombinePartsName) ? sCombinePartsName : "";
if (commonUtils.isNotEmptyObject(sCombinePartsName)) {
sCombinedStr += `${sProductName}-${sCombinePartsName},`;
sCombinedId += `${sId},`;
} else {
sCombinedStr += `${sProductName},`;
sCombinedId += `${sId},`;
}
});
if (commonUtils.isNotEmptyObject(sCombinedStr)) {
sCombinedStr = commonUtils.isNotEmptyObject(sCombinedStr) ? sCombinedStr.substr(0, sCombinedStr.length - 1) : "";
}
if (commonUtils.isNotEmptyObject(sCombinedId)) {
sCombinedId = commonUtils.isNotEmptyObject(sCombinedId) ? sCombinedId.substr(0, sCombinedId.length - 1) : "";
}
}
if (commonUtils.isNotEmptyObject(openTable) && openTable === "materials") {
const iIndex = materialsData.findIndex(item => item.sId === materialsSelectedRowId);
if (iIndex > -1) {
if (!materialsData[iIndex]) {
return;
}
const addState = {};
let { handleType } = materialsData[iIndex];
handleType = commonUtils.isEmpty(handleType) ? "update" : handleType;
addState.handleType = handleType;
addState.sCombinePartsNameNew = sCombinedStr;
addState.sCombineProductNameNew = sCombinedStr;
addState.sCombinePartsName = sCombinedId;
materialsData[iIndex] = { ...materialsData[iIndex], ...addState };
}
props.onSaveState({
materialsData,
combinePartsChooseVisible: false,
});
} else {
const iIndex = processData.findIndex(item => item.sId === processSelectedRowId);
if (iIndex > -1) {
if (!processData[iIndex]) {
return;
}
const addState = {};
let { handleType } = processData[iIndex];
handleType = commonUtils.isEmpty(handleType) ? "update" : handleType;
addState.handleType = handleType;
addState.sCombinePartsNameNew = sCombinedStr;
addState.sCombineProductNameNew = sCombinedStr;
addState.sCombinePartsName = sCombinedId;
processData[iIndex] = { ...processData[iIndex], ...addState };
let returnProcessAssort = [];
returnProcessAssort.filter(item => item.sParentId === processData[iIndex].sProcessId).forEach(itemProcessAssort => {
const iProcessIndex = processData.findIndex(
item => item.sProcessId === itemProcessAssort.sProcessId && item.sControlId === processData[iIndex].sControlId
);
if (iProcessIndex > -1) {
processData[iProcessIndex] = {
...processData[iProcessIndex],
...addState,
};
}
});
// 查询是否有配套工序 sParentProcessId字段判断--结束
}
props.onSaveState({
processData,
combinePartsChooseVisible: false,
});
}
}
};
const onCancel = () => {
props.onSaveState({ combinePartsChooseVisible: false });
};
const combinePartsTableProps = {
app: {
...app,
currentPane: {
...app.currentPane,
formRoute: "/indexPage/commonList",
route: "/indexPage/commonList",
name: "combineParts",
config: combinePartsConfig,
select: handleSelectCombineParts,
selectCancel: onCancel,
},
},
formRoute: "/indexPage/commonList",
slaveConfig: combinePartsConfig,
slaveColumn: combinePartsColumn,
slaveData: props.combinePartsData,
slaveSelectedRowKeys: props.combinePartsSelectedRowKeys,
selectedRowKeys: props.combinePartsSelectedRowKeys,
pageLoading: false,
dispatch: props.dispatch,
content: props.content,
id: new Date().getTime().toString(),
};
const chooseCombinePartsName = commonFunc.showLocalMessage(props, 'chooseCombinePartsName', '选择合版部件名称');
return (
);
};
// 合版信息弹窗
const ProductCombinationModal = props => {
const { productCombinationVisible } = props;
if (!productCombinationVisible) return "";
const { app } = props;
const setProductCombinationTitle = commonFunc.showMessage(app.commonConst, "setProductCombination"); //选择合拼产品标题
const onCancel = () => {
props.onSaveState({ productCombinationVisible: false });
};
const onSelectProductCombination = () => {
const { controlData, sCombinationsControlId, packData, enabled } = props;
let sCombinedMemo = "";
const tableCombineSelectedData = [];
const maxArr = [];
const maxMap = new Map();
let dSumCombineQty = 0;
const packFilterData = packData.filter(item => item.sControlId === sCombinationsControlId);
for (const tableDataRow of packFilterData) {
const { sId, sProductNo, dCombineQty, dProductQty, dFactProductQty, sCombinePartsName } = tableDataRow;
if (dCombineQty > 0) {
/* 排版数大于0时,把数据带回到控制表 */
const jsonObj = {};
jsonObj.sId = sId;
jsonObj.sProductNo = sProductNo; /* 产品编号 */
jsonObj.dCombineQty = commonUtils.isNotEmptyNumber(dCombineQty) ? dCombineQty : 0; /* 排版数 */
jsonObj.dProductQty = commonUtils.isNotEmptyNumber(dProductQty) ? dProductQty : 0; /* 生产数 */
jsonObj.dFactProductQty = commonUtils.isNotEmptyNumber(dFactProductQty) ? dFactProductQty : 0; /* 实际生产数 */
jsonObj.sCombinePartsName = sCombinePartsName; /* 合版部件名称 */
dSumCombineQty += dCombineQty;
tableCombineSelectedData.push(jsonObj);
maxMap.set(Math.floor(dProductQty / dCombineQty), jsonObj);
maxArr.push(Math.floor(dProductQty / dCombineQty));
}
}
let iMax = 0;
if (commonUtils.isNotEmptyArr(maxArr)) {
iMax = Math.max(...maxArr);
}
sCombinedMemo = commonUtils.isNotEmptyArr(tableCombineSelectedData)
? JSON.stringify(tableCombineSelectedData)
: ""; /* JSON对象转换为字符串存放到合版信息中 */
const iControlIndex = controlData.findIndex(item => item.sId === sCombinationsControlId);
if (iControlIndex > -1 && enabled) {
const addState = {};
const maxObj = maxMap.get(iMax);
let { handleType } = controlData[iControlIndex];
handleType = commonUtils.isEmpty(handleType) ? "update" : handleType;
addState.handleType = handleType;
addState.sCombinedMemo = sCombinedMemo;
if (commonUtils.isNotEmptyObject(maxObj)) {
addState.dSinglePQty = commonUtils.isNotEmptyObject(maxObj) ? maxObj.dCombineQty : 0;
} else {
const packFilterData = packData.findIndex(item => item.sControlId === sCombinationsControlId);
if (commonUtils.isNotEmptyArr(packFilterData) && packFilterData.length === 1) {
addState.dSinglePQty = packFilterData[0].dCombineQty;
} else {
addState.dSinglePQty = 1; /* 没合拼给默认值1 */
}
}
addState.iCombineNum = dSumCombineQty;
controlData[iControlIndex] = {
...controlData[iControlIndex],
...addState,
};
}
props.onSaveState({
productCombinationVisible: false,
packData,
controlData,
});
};
const { setCopy, setDelete } = props.handleGetIcon();
const packTableProps = {
...commonBusiness.getTableTypes("pack", props),
filteredValue: props.controlSelectedRowKeys,
onFilterData: props.onFilterData,
onKeyDown: props.onKeyDown,
tableProps: {
setCopy,
setDelete,
CalLastWidth: "1150",
AutoTableHeight: "300px",
},
bRowClick: true,
footer: "hidden",
setOpterationColumn: "Y",
};
return (
);
};
// 复制从弹窗
const CopyFromModal = props => {
const { productProcessInfoChooseVisible } = props;
if (!productProcessInfoChooseVisible) return "";
const { app, sModelsId, masterConfig, productProcessInfoChooseData } = props;
const onCancel = () => {
props.onSaveState({ productProcessInfoChooseVisible: false });
};
let productProcessInfoType = {};
let productProcessInfoConfig = {};
let processCardSearchResult = commonFunc.showMessage(app.commonConst, "processCardSearchResult"); // 复制从工艺卡查询结果
if (commonUtils.isNotEmptyObject(productProcessInfoChooseData)) {
const productProcessInfoCopyFromKey = props.productProcessInfoCopyFromKey;
const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === productProcessInfoCopyFromKey);
if (iIndex > -1) {
productProcessInfoConfig = masterConfig.gdsconfigformslave[iIndex];
processCardSearchResult = productProcessInfoConfig?.sActiveName || processCardSearchResult;
}
productProcessInfoType = {
app: {
...app,
currentPane: {
name: "productProcessInfo",
config: productProcessInfoConfig,
conditonValues: props.getSqlCondition(productProcessInfoConfig),
title: props.productProcessInfoChooseData.sMenuName,
route: props.productProcessInfoChooseData.sName,
formId: props.productProcessInfoChooseData.sId,
key: sModelsId + props.productProcessInfoChooseData.sId,
sModelsType: props.productProcessInfoChooseData.sModelType,
select: props.onSelect,
selectCancel: props.onSelectCancel,
},
},
dispatch: props.dispatch,
content: props.content,
id: new Date().getTime().toString(),
};
}
return (
);
};
// 修改全部弹窗
const ModifyAllModal = props => {
const { contextMenuModalVisible } = props;
if (!contextMenuModalVisible) return "";
return ;
};
// 工艺流程图弹窗
const WorkFlowModal = props => {
const { workFlowVisible } = props;
if (!workFlowVisible) return "";
const onCancel = () => {
props.onSaveState({ workFlowVisible: false });
};
const okButtonStyle = {
style: {
display: "none",
backgroundColor: "red",
},
};
const cancelButtonStyle = {
htmlType: "退出",
style: {
width: 70,
height: 50,
},
};
const autoHeight = `calc( 100vh - 92px )`;
return (
);
};
// 色序弹窗
const SisColorModal = props => {
const { sisColorChooseVisible, app, sTabId, processConfig, sModelsId } = props;
if (!sisColorChooseVisible) return "";
const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
const setSisColorTitle = commonFunc.showMessage(app.commonConst, "setSisColor");
let chooseColorsConfig = {};
let searchColorsType = {};
const iIndex = processConfig.gdsconfigformslave.findIndex(item => item.sControlName === "BtnChooseColors");
if (iIndex > -1) {
chooseColorsConfig = processConfig.gdsconfigformslave[iIndex];
}
searchColorsType = {
app: {
...app,
currentPane: {
name: "sisColor",
config: chooseColorsConfig,
conditonValues: props.getSqlCondition(chooseColorsConfig),
title: "选择颜色",
route: "/indexPage/commonList",
formRoute: "/indexPage/commonList",
formId: chooseColorsConfig.sActiveId,
key: sModelsId + chooseColorsConfig.sId,
sModelsType: "search/sisColor",
select: props.onSelectSisColor,
selectCancel: props.onSelectCancel,
bEdit: props.enabled,
},
},
enabled: props.enabled,
sisColorSelectedData: props.sisColorSelectedData,
slaveSelectedRowKeys: props.sisColorSelectedRowKeys,
dispatch: props.dispatch,
content: props.content,
id: new Date().getTime().toString(),
};
searchColorsType.app = {
...searchColorsType.app,
...(props.showCacheData(props.isSColorSerialMemo?.current, props.processData, props.processSelectedRowId) || {}),
};
const onCancel = () => {
props.onSaveState({ sisColorChooseVisible: false });
};
return (
);
};
export { CommonPackEvent, CommonModal };