diff --git a/src/components/Common/CommonComponent/index.js b/src/components/Common/CommonComponent/index.js index 19efad3..9adc491 100644 --- a/src/components/Common/CommonComponent/index.js +++ b/src/components/Common/CommonComponent/index.js @@ -135,7 +135,7 @@ export default class CommonComponent extends Component { const selectInputNode = currentNode.querySelector("input[class*='ant-select-selection-search-input']"); const antInput = currentNode.querySelector("input[class*='ant-input']"); const oInput = selectInputNode || antInput; - if (oInput) { + if (oInput && !this.props.noDebounce) { oInput.addEventListener("compositionstart", () => { this.chineseInputting = true; }); diff --git a/src/components/Manufacture/ProcessCardPackTableTreeNew/index.js b/src/components/Manufacture/ProcessCardPackTableTreeNew/index.js index bb852cb..ff9e840 100644 --- a/src/components/Manufacture/ProcessCardPackTableTreeNew/index.js +++ b/src/components/Manufacture/ProcessCardPackTableTreeNew/index.js @@ -844,6 +844,13 @@ const ProcessCardPackTableTreeNewEvent = props => { dispatchFunc(name, "onDataChange", ["name", "sFieldName", "changeValue", "sId", "dropDownData"], args); }; returnProps.onDataChange = handleTableChange; + // 行选择事件 + const handleTableSelectRowChange = (...args) => { + const [name0] = args; + const name = name0.includes("materials") ? "materials" : name0; + dispatchFunc(name, "onTableSelectRowChange", ["name", "selectedRowKeys"], args); + }; + returnProps.onTableSelectRowChange = handleTableSelectRowChange; // 各种超链接点击 const handleViewChoose = (...args) => { @@ -2746,6 +2753,10 @@ const controlProps = props => { packData, }); }; + returnProps.onTableSelectRowChange = async ({ name, selectedRowKeys }) => { + const addState = await props.onTableSelectRowChange(name, selectedRowKeys, true); + props.onSaveState({ addState, processSelectedRowKeys: []}); + } returnProps.onViewChoose = ({ sName, record }) => { const { sId } = record; /* 控制表主键 */ const { enabled, slaveData } = props; diff --git a/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js b/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js index 870d683..78f103a 100644 --- a/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js +++ b/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js @@ -1294,6 +1294,13 @@ const WorkOrderPackTableTreeNewEvent = props => { }; returnProps.onDataChange = handleTableChange; + const handleTableSelectRowChange = (...args) => { + const [name0] = args; + const name = name0.includes("materials") ? "materials" : name0; + dispatchFunc(name, "onTableSelectRowChange", ["name", "selectedRowKeys"], args); + }; + returnProps.onTableSelectRowChange = handleTableSelectRowChange; + // 各种超链接点击 const handleViewChoose = (...args) => { const [name0] = args; @@ -3419,6 +3426,10 @@ const controlProps = props => { packData, }); }; + returnProps.onTableSelectRowChange = async ({ name, selectedRowKeys }) => { + const addState = await props.onTableSelectRowChange(name, selectedRowKeys, true); + props.onSaveState({ addState, processSelectedRowKeys: []}); + } returnProps.onViewChoose = ({ name, sName, record }) => { const { sId } = record; /* 控制表主键 */ const { enabled, slaveData } = props; diff --git a/src/components/QuickQuote/index.jsx b/src/components/QuickQuote/index.jsx index 96f7537..745cea8 100644 --- a/src/components/QuickQuote/index.jsx +++ b/src/components/QuickQuote/index.jsx @@ -164,37 +164,76 @@ const QuickQuoteEvent = props => { }, [masterConfig]); // 切换树节点时,设置后道参数默认值 - const { slaveData = [] } = state; + const { slaveData = [], masterData = {} } = state; useEffect(() => { if (!slaveData.length) return; const bNotInit = slaveData.some(item => item.sBackProcessData); - if (bNotInit) return; - - const { downAbleConfigs = [] } = state; - const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId); - if (!downAbleConfigsNew.length) return; - - const slaveDataNew = slaveData.map(item => { - let sBackProcessData = []; - downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { - const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); - const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); - const name = `slaveDown${item.sBoxModel}`; - const sFieldName = sName; - const changeValue = { [sFieldName]: defaultProcess.sId }; - const dropDownData = sChineseDropDown; - const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true); - sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData]; - }); - return { - ...item, - sBackProcessData, - }; - }); + if (!bNotInit) { + const { downAbleConfigs = [] } = state; + const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId); + if (downAbleConfigsNew.length) { + const slaveDataNew = slaveData.map(item => { + let sBackProcessData = []; + downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); + const name = `slaveDown${item.sBoxModel}`; + const sFieldName = sName; + const changeValue = { [sFieldName]: defaultProcess.sId }; + const dropDownData = sChineseDropDown; + const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true); + sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData]; + }); + return { + ...item, + sBackProcessData, + }; + }); - setState(pre => { - return { ...pre, slaveData: slaveDataNew }; - }); + setState(pre => { + return { ...pre, slaveData: slaveDataNew }; + }); + } + } + + const bNotInit1 = !!masterData.cpProcessName; + if (!bNotInit1) { + const { finishedConfigs = [] } = state; + const finishedConfigsNew = finishedConfigs.filter(item => item.sDefaultProcessId); + if (finishedConfigsNew.length) { + let [cpProcessNameList, productProcessInfo] = [[], []]; + finishedConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); + const name = "finished"; + const sFieldName = sName; + const changeValue = { [sFieldName]: defaultProcess.sId }; + const dropDownData = sChineseDropDown; + const { cpProcessName: cpProcessNameNew, productProcessInfo: productProcessInfoNew } = onDataChange( + name, + sFieldName, + changeValue, + masterData.sId, + dropDownData, + true + ); + cpProcessNameNew.split(",").forEach((item, index) => { + if (!cpProcessNameList.includes(item)) { + cpProcessNameList.push(item); + productProcessInfo.push(productProcessInfoNew[index]); + } + }); + }); + setState(pre => ({ + ...pre, + masterData: { + ...masterData, + cpProcessName: cpProcessNameList.join(","), + productProcessInfo, + }, + })); + } + } }, [slaveData.map(item => item.sId).toString()]); addState.onBackClick = () => { @@ -459,6 +498,9 @@ const QuickQuoteEvent = props => { const masterDataNew = { ...masterData, cpProcessName, productProcessInfo }; masterDataNew.handleType = masterDataNew.handleType || "update"; masterDataNew.sId = masterDataNew.sId || commonUtils.createSid(); + if (isWait) { + return masterDataNew; + } setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); } }; @@ -1210,7 +1252,7 @@ const TreeComponent = props => { const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); props.setState(pre => { - const { slaveData = [], slaveConfig, manyData = [] } = pre; + const { slaveData = [], slaveConfig, manyData = [], masterData = {} } = pre; const addState = {}; const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode }); const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); @@ -1245,6 +1287,9 @@ const TreeComponent = props => { ...(sPackPath ? { sPackPath } : {}), }; }); + delete masterData.cpProcessName; + delete masterData.productProcessInfo; + addState.masterData = masterData; addState.extraParts = {}; addState.calcPriceFinished = false; addState.backendParamsConfig = []; @@ -1821,10 +1866,7 @@ const BoxComponent = props => { props.setState(pre => ({ ...pre, - backendParamsConfig: commonUtils.convertStrToObj( - sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, - [] - ), + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, []), backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, })); }, @@ -1924,7 +1966,7 @@ const BoxComponent = props => { ).toFixed(2) ), dWlcd: dWlcd, - dWlkd: dWlkd, + dWlkd: dWlkd, dMachineQty: Math.floor(dProductQty / dSinglePQty), dSinglePQty: dSinglePQty, dMaterialsKQty: dMaterialsKQty, @@ -2195,12 +2237,20 @@ const BoxComponent = props => { height: "290px", backgroundColor: "#fff", borderRight: "1px solid #ccc", - position:'relative' + position: "relative", }} > -