diff --git a/src/components/IndexCenter/index.less b/src/components/IndexCenter/index.less index 73a3faf..7397e02 100644 --- a/src/components/IndexCenter/index.less +++ b/src/components/IndexCenter/index.less @@ -229,7 +229,7 @@ .indexFooter { text-align: center; padding: 10px 50px!important; - margin-top: 10px; + // margin-top: 10px; } } diff --git a/src/components/QuickQuote/index.jsx b/src/components/QuickQuote/index.jsx index 31e9936..2910653 100644 --- a/src/components/QuickQuote/index.jsx +++ b/src/components/QuickQuote/index.jsx @@ -84,13 +84,10 @@ const QuickQuoteEvent = props => { const { bLinkFieledClick } = props; const [hideBackBtn, setHideBackBtn] = useState(false); const [enabled, setEnabled] = useState(props.enabled); - useEffect( - () => { - setHideBackBtn(!bLinkFieledClick); - setEnabled(!bLinkFieledClick || props.enabled); - }, - [bLinkFieledClick, props.enabled] - ); + useEffect(() => { + setHideBackBtn(!bLinkFieledClick); + setEnabled(!bLinkFieledClick || props.enabled); + }, [bLinkFieledClick, props.enabled]); // 获取formData useEffect(() => { @@ -108,70 +105,61 @@ const QuickQuoteEvent = props => { }, []); // 获取盒型定义配置 - useEffect( - () => { - if (!formData.length) return; - const sBoxActiveId = formData.find(item => item.sGrd === "slave")?.gdsconfigformslave?.find(item => item.sName === "sName")?.sActiveId; - if (!sBoxActiveId) return; - const { token } = props; - const configUrl = `${commonConfig.server_host}business/getModelBysId/${sBoxActiveId}?sModelsId=${sBoxActiveId}`; - commonServices.getService(token, configUrl).then(({ data: configReturn }) => { - if (configReturn.code === 1) { - const formData = configReturn.dataset.rows[0].formData; - setState(pre => ({ ...pre, boxConfig: formData[0] })); - } - }); - }, - [formData.length] - ); + useEffect(() => { + if (!formData.length) return; + const sBoxActiveId = formData.find(item => item.sGrd === "slave")?.gdsconfigformslave?.find(item => item.sName === "sName")?.sActiveId; + if (!sBoxActiveId) return; + const { token } = props; + const configUrl = `${commonConfig.server_host}business/getModelBysId/${sBoxActiveId}?sModelsId=${sBoxActiveId}`; + commonServices.getService(token, configUrl).then(({ data: configReturn }) => { + if (configReturn.code === 1) { + const formData = configReturn.dataset.rows[0].formData; + setState(pre => ({ ...pre, boxConfig: formData[0] })); + } + }); + }, [formData.length]); // 获取column - useEffect( - () => { - if (!formData.length) return; - - let result = {}; - for (let i = 0; i < formData.length; i++) { - const tableConfig = formData[i]; - const { sGrd } = tableConfig; - if (!sGrd) continue; - const column = commonFunc.getHeaderConfig(tableConfig); - result = { - ...result, - [`${sGrd}Column`]: column, - [`${sGrd}Config`]: tableConfig, - }; - } - setState(pre => ({ ...pre, ...result })); - }, - [formData.length] - ); + useEffect(() => { + if (!formData.length) return; + + let result = {}; + for (let i = 0; i < formData.length; i++) { + const tableConfig = formData[i]; + const { sGrd } = tableConfig; + if (!sGrd) continue; + const column = commonFunc.getHeaderConfig(tableConfig); + result = { + ...result, + [`${sGrd}Column`]: column, + [`${sGrd}Config`]: tableConfig, + }; + } + setState(pre => ({ ...pre, ...result })); + }, [formData.length]); // 获取树形数据 - useEffect( - () => { - if (!masterConfig) return; - // 产品分类 - const treeConfig = masterConfig.gdsconfigformslave.find(item => item.sName === "sProductClassifyName"); - if (!treeConfig) return; - props - .handleGetTreeDataSet({ - name: "product", - configData: treeConfig, - condition: { - pageNum: 1, - pageSize: 1000, - bFilter: [], - }, - isWait: true, - }) - .then(dataReturn => { - const { treeData = [] } = dataReturn; - setState(pre => ({ ...pre, treeData })); - }); - }, - [masterConfig] - ); + useEffect(() => { + if (!masterConfig) return; + // 产品分类 + const treeConfig = masterConfig.gdsconfigformslave.find(item => item.sName === "sProductClassifyName"); + if (!treeConfig) return; + props + .handleGetTreeDataSet({ + name: "product", + configData: treeConfig, + condition: { + pageNum: 1, + pageSize: 1000, + bFilter: [], + }, + isWait: true, + }) + .then(dataReturn => { + const { treeData = [] } = dataReturn; + setState(pre => ({ ...pre, treeData })); + }); + }, [masterConfig]); addState.onBackClick = () => { props.onSaveState({ masterData: { ...props.masterData, sQuoConfig: JSON.stringify(addState.onGetFilterState(state)) }, quickQuoteModel: false }); @@ -705,25 +693,27 @@ const QuickQuoteEvent = props => { processData.push(processPrintDataRow); // 配套工序 if (bProcessAssort) { - returnProcessAssort.filter(item => item.sParentId === processPrintDataRow.sProcessId).forEach(itemProcessAssort => { - const iIndex = dropDownDataProcessName.findIndex(item => item.sId === itemProcessAssort.sProcessId); - const iProcessIndex = -1; - const iNewProcessIndex = processData.findIndex( - item => item.sProcessId === itemProcessAssort.sProcessId && item.sControlId === partsDataRow.sId - ); - if (iIndex > -1 && iProcessIndex < 0 && iNewProcessIndex < 0) { - let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值 - processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段 - processRow.handleType = "add"; - processRow.sId = commonUtils.createSid(); - processRow.sParentId = masterData.sId; - processRow.sControlId = partsDataRow.sId; - processRow.sPartsName = partsDataRow.sPartsName; - processRow.sType = dropDownDataProcessName[iIndex].sType; - // processRow.sSlaveId = ' '; - processData.push(processRow); - } - }); + returnProcessAssort + .filter(item => item.sParentId === processPrintDataRow.sProcessId) + .forEach(itemProcessAssort => { + const iIndex = dropDownDataProcessName.findIndex(item => item.sId === itemProcessAssort.sProcessId); + const iProcessIndex = -1; + const iNewProcessIndex = processData.findIndex( + item => item.sProcessId === itemProcessAssort.sProcessId && item.sControlId === partsDataRow.sId + ); + if (iIndex > -1 && iProcessIndex < 0 && iNewProcessIndex < 0) { + let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值 + processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段 + processRow.handleType = "add"; + processRow.sId = commonUtils.createSid(); + processRow.sParentId = masterData.sId; + processRow.sControlId = partsDataRow.sId; + processRow.sPartsName = partsDataRow.sPartsName; + processRow.sType = dropDownDataProcessName[iIndex].sType; + // processRow.sSlaveId = ' '; + processData.push(processRow); + } + }); } partInfo.processInfo.forEach((process, iOrder) => { @@ -754,25 +744,27 @@ const QuickQuoteEvent = props => { processData.push(processAfterDataRow); // 配套工序 if (bProcessAssort) { - returnProcessAssort.filter(item => item.sParentId === processPrintDataRow.sProcessId).forEach(itemProcessAssort => { - const iIndex = dropDownDataProcessName.findIndex(item => item.sId === itemProcessAssort.sProcessId); - const iProcessIndex = -1; - const iNewProcessIndex = processData.findIndex( - item => item.sProcessId === itemProcessAssort.sProcessId && item.sControlId === partsDataRow.sId - ); - if (iIndex > -1 && iProcessIndex < 0 && iNewProcessIndex < 0) { - let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值 - processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段 - processRow.handleType = "add"; - processRow.sId = commonUtils.createSid(); - processRow.sParentId = masterData.sId; - processRow.sControlId = partsDataRow.sId; - processRow.sPartsName = partsDataRow.sPartsName; - processRow.sType = dropDownDataProcessName[iIndex].sType; - // processRow.sSlaveId = ' '; - processData.push(processRow); - } - }); + returnProcessAssort + .filter(item => item.sParentId === processPrintDataRow.sProcessId) + .forEach(itemProcessAssort => { + const iIndex = dropDownDataProcessName.findIndex(item => item.sId === itemProcessAssort.sProcessId); + const iProcessIndex = -1; + const iNewProcessIndex = processData.findIndex( + item => item.sProcessId === itemProcessAssort.sProcessId && item.sControlId === partsDataRow.sId + ); + if (iIndex > -1 && iProcessIndex < 0 && iNewProcessIndex < 0) { + let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值 + processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段 + processRow.handleType = "add"; + processRow.sId = commonUtils.createSid(); + processRow.sParentId = masterData.sId; + processRow.sControlId = partsDataRow.sId; + processRow.sPartsName = partsDataRow.sPartsName; + processRow.sType = dropDownDataProcessName[iIndex].sType; + // processRow.sSlaveId = ' '; + processData.push(processRow); + } + }); } }); } @@ -802,21 +794,23 @@ const QuickQuoteEvent = props => { processData.push(processProductDataRow); // 配套工序 if (bProcessAssort) { - returnProcessAssort.filter(item => item.sParentId === processProductDataRow.sProcessId).forEach(itemProcessAssort => { - const iIndex = dropDownDataProcessName.findIndex(item => item.sId === itemProcessAssort.sProcessId); - const iProcessIndex = -1; - const iNewProcessIndex = processData.findIndex(item => item.sProcessId === itemProcessAssort.sProcessId); - if (iIndex > -1 && iProcessIndex < 0 && iNewProcessIndex < 0) { - let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值 - processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段 - processRow.handleType = "add"; - processRow.sId = commonUtils.createSid(); - processRow.sParentId = masterData.sId; - processRow.sType = dropDownDataProcessName[iIndex].sType; - // processRow.sSlaveId = ' '; - processData.push(processRow); - } - }); + returnProcessAssort + .filter(item => item.sParentId === processProductDataRow.sProcessId) + .forEach(itemProcessAssort => { + const iIndex = dropDownDataProcessName.findIndex(item => item.sId === itemProcessAssort.sProcessId); + const iProcessIndex = -1; + const iNewProcessIndex = processData.findIndex(item => item.sProcessId === itemProcessAssort.sProcessId); + if (iIndex > -1 && iProcessIndex < 0 && iNewProcessIndex < 0) { + let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值 + processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段 + processRow.handleType = "add"; + processRow.sId = commonUtils.createSid(); + processRow.sParentId = masterData.sId; + processRow.sType = dropDownDataProcessName[iIndex].sType; + // processRow.sSlaveId = ' '; + processData.push(processRow); + } + }); } }); processData = props.sortData(controlData, processData); @@ -975,86 +969,87 @@ const TreeComponent = props => { const timeRef = useRef(0); // 点击节点后查询数据 - useEffect( - () => { - if (!selectedNode.sId || commonUtils.isEmptyObject(slaveConfig)) return; - - timeRef.current += 1; - - const getSqlDropDownData = async ({ sId }) => { - const url = `${commonConfig.server_host}business/getSelectLimit/${sId}`; - const body = { - sSqlCondition: { - sProductClassifyId: selectedNode.sId, - }, - sKeyUpFilterName: "", - pageNum: 1, - pageSize: 20, - }; - const retrunData = await commonServices.postValueService(props.app.token, body, url); - const sColumnNameConfigStr = retrunData.data?.dataset?.rows?.[0]?.sColumnNameConfig; - // 取上机尺寸 - return commonUtils.convertStrToObj(sColumnNameConfigStr, []); - }; - const getDropDownData = async props => { - const showDownConfig = slaveConfig.gdsconfigformslave.find(item => item.sControlName === "BtnDownConfig"); + useEffect(() => { + if (!selectedNode.sId || commonUtils.isEmptyObject(slaveConfig)) return; - const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); + timeRef.current += 1; - props.setState(pre => { - const { slaveData = [], slaveConfig } = pre; - const addState = {}; - const defaultData = commonFunc.getDefaultData(slaveConfig); - const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); - if (!slaveDataNew.length) { - const sAllPartsName = selectedNode.sAllPartsName || selectedNode.showName; - sAllPartsName.split(",").forEach((item, index) => { - const tempData = { - sId: commonUtils.createSid(), - handleType: "add", - ...defaultData, - sBoxModel: item, - sTreeNodeName: selectedNode.showName, - }; - if (selectedNode.sTypeKey === "huace") { - if (index !== 0) { - delete tempData.dSumPQty; - } else { - tempData.dSumPQty = 4; - } + const getSqlDropDownData = async ({ sId }) => { + const url = `${commonConfig.server_host}business/getSelectLimit/${sId}`; + const body = { + sSqlCondition: { + sProductClassifyId: selectedNode.sId, + }, + sKeyUpFilterName: "", + pageNum: 1, + pageSize: 20, + }; + const retrunData = await commonServices.postValueService(props.app.token, body, url); + const sColumnNameConfigStr = retrunData.data?.dataset?.rows?.[0]?.sColumnNameConfig; + // 取上机尺寸 + return commonUtils.convertStrToObj(sColumnNameConfigStr, []); + }; + const getDropDownData = async props => { + const showDownConfig = slaveConfig.gdsconfigformslave.find(item => item.sControlName === "BtnDownConfig"); + + const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); + + props.setState(pre => { + const { slaveData = [], slaveConfig } = pre; + const addState = {}; + const defaultData = commonFunc.getDefaultData(slaveConfig); + const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); + if (!slaveDataNew.length) { + const sAllPartsName = selectedNode.sAllPartsName || selectedNode.showName; + sAllPartsName.split(",").forEach((item, index) => { + const tempData = { + sId: commonUtils.createSid(), + handleType: "add", + ...defaultData, + sBoxModel: item, + sTreeNodeName: selectedNode.showName, + }; + if (selectedNode.sTypeKey === "huace") { + if (index !== 0) { + delete tempData.dSumPQty; + } else { + tempData.dSumPQty = 4; } - slaveDataNew.push(tempData); - }); - addState.slaveData = slaveDataNew; - } + } + slaveDataNew.push(tempData); + }); + addState.slaveData = slaveDataNew; + } - if (timeRef.current > 1) { - addState.slaveData = slaveDataNew; - addState.extraParts = {}; - } - return { - ...pre, - ...addState, - downAbleConfigs: downAbleConfigs.filter(item => item.sType === "2").map((item, index) => ({ + if (timeRef.current > 1) { + addState.slaveData = slaveDataNew; + addState.extraParts = {}; + } + return { + ...pre, + ...addState, + downAbleConfigs: downAbleConfigs + .filter(item => item.sType === "2") + .map((item, index) => ({ ...item, sName: `sParams${index}`, iColValue: item.iColValue || 4, sVisColumnName: "sProcessName", })), - finishedConfigs: downAbleConfigs.filter(item => item.sType === "3").map((item, index) => ({ + finishedConfigs: downAbleConfigs + .filter(item => item.sType === "3") + .map((item, index) => ({ ...item, sName: `sParams${index}`, iColValue: item.iColValue || 4, sVisColumnName: "sProcessName", })), - }; - }); - }; + }; + }); + }; - getDropDownData(props); - }, - [selectedNode.sId, commonUtils.isEmptyObject(slaveConfig)] - ); + getDropDownData(props); + }, [selectedNode.sId, commonUtils.isEmptyObject(slaveConfig)]); return ( { const boxModelList = sAllPartsName.split(","); const [activeKey, setActiveKey] = useState(0); - useEffect( - () => { - if (!boxModelList.length) return; - setActiveKey(0); - }, - [sAllPartsName] - ); + useEffect(() => { + if (!boxModelList.length) return; + setActiveKey(0); + }, [sAllPartsName]); const dividerProps = { className: styles.divider, @@ -1772,22 +1764,24 @@ const MaterialsComponent = props => { const materialsInfoDefaultData = sParam ? new Array(sParamList.length).fill({}).map((_, index) => ({ showName: sParamList[index] })) : [{}]; const { materialsInfo = materialsInfoDefaultData } = slaveRowData; - const materialsConfig = slaveConfig.gdsconfigformslave.filter(item => item.iTag === 11).map(item => { - const { sName } = item; - if (sName === "sMaterialsName") { - return { - ...item, - sVisColumnName: "sMaterialsName", - iColValue: 20, - }; - } else if (sName === "sComMaterials") { - return { - ...item, - sName: "bComMaterials", - iColValue: 4, - }; - } - }); + const materialsConfig = slaveConfig.gdsconfigformslave + .filter(item => item.iTag === 11) + .map(item => { + const { sName } = item; + if (sName === "sMaterialsName") { + return { + ...item, + sVisColumnName: "sMaterialsName", + iColValue: 20, + }; + } else if (sName === "sComMaterials") { + return { + ...item, + sName: "bComMaterials", + iColValue: 4, + }; + } + }); const extraState = { calcPriceFinished: false, @@ -1795,7 +1789,8 @@ const MaterialsComponent = props => { }; return materialsInfo.map((item, index) => { - const viewRow = { ...materialsInfo[index], sProductClassifyId: selectedNode.sId }; + let viewRow = { ...materialsInfo[index], sProductClassifyId: selectedNode.sId }; + viewRow = { ...viewRow, sMaterialsName0: viewRow.showName || "" }; let materialsConfigNew = cloneDeep(materialsConfig); if (viewRow.showName) { const iIndex = materialsConfigNew.findIndex(item => item.sName === "sMaterialsName"); @@ -1905,59 +1900,50 @@ const ManyComponent = props => { }; // 根据主表数量更改多数量表 - useEffect( - () => { - const baseCount = masterData.dProductQty || 1000; - if (manyData[0]?.dManyQty === baseCount) return; - - const manyDataNew = Array(5) - .fill("") - .map((item, index) => ({ - sId: commonUtils.createSid(), - handleType: "add", - dManyQty: baseCount * (index + 1), - })); - setState(pre => ({ - ...pre, - manyData: manyDataNew, - manySelectedRowKeys: [manyDataNew[0].sId], - dProductQty: baseCount, - dQuickQuoteProductQty: baseCount, + useEffect(() => { + const baseCount = masterData.dProductQty || 1000; + if (manyData[0]?.dManyQty === baseCount) return; + + const manyDataNew = Array(5) + .fill("") + .map((item, index) => ({ + sId: commonUtils.createSid(), + handleType: "add", + dManyQty: baseCount * (index + 1), })); - props.onSaveState({ - manyDataCache: [], - }); - }, - [masterData.dProductQty, manyData.length] - ); + setState(pre => ({ + ...pre, + manyData: manyDataNew, + manySelectedRowKeys: [manyDataNew[0].sId], + dProductQty: baseCount, + dQuickQuoteProductQty: baseCount, + })); + props.onSaveState({ + manyDataCache: [], + }); + }, [masterData.dProductQty, manyData.length]); // 获取核价进度 - useEffect( - () => { - if (calcPriceLoading) { - setProcessPercent(0); - window.tempWsAction = ({ data } = {}) => { - const { action, msg } = commonUtils.convertStrToObj(data, {}); - if (action === "quotationAllprogress") { - setProcessPercent(msg); - } - }; - } else { - window.tempWsAction = null; - } - }, - [calcPriceLoading] - ); + useEffect(() => { + if (calcPriceLoading) { + setProcessPercent(0); + window.tempWsAction = ({ data } = {}) => { + const { action, msg } = commonUtils.convertStrToObj(data, {}); + if (action === "quotationAllprogress") { + setProcessPercent(msg); + } + }; + } else { + window.tempWsAction = null; + } + }, [calcPriceLoading]); // 监听确认下单数量结束 - useEffect( - () => { - if (!loading && submitLoading) { - setSubmitLoading(false); - } - }, - [loading] - ); + useEffect(() => { + if (!loading && submitLoading) { + setSubmitLoading(false); + } + }, [loading]); const tableProps = { ...commonBusiness.getTableTypes("many", { ...props, ...state }),