Commit cddd259c46e59ef33005b387e101a09e775ccbe1
Merge branch 'main' of http://git.xlyprint.cn/zhangz/xlyUmi into main
Showing
5 changed files
with
111 additions
and
38 deletions
src/components/Common/CommonComponent/index.js
| @@ -135,7 +135,7 @@ export default class CommonComponent extends Component { | @@ -135,7 +135,7 @@ export default class CommonComponent extends Component { | ||
| 135 | const selectInputNode = currentNode.querySelector("input[class*='ant-select-selection-search-input']"); | 135 | const selectInputNode = currentNode.querySelector("input[class*='ant-select-selection-search-input']"); |
| 136 | const antInput = currentNode.querySelector("input[class*='ant-input']"); | 136 | const antInput = currentNode.querySelector("input[class*='ant-input']"); |
| 137 | const oInput = selectInputNode || antInput; | 137 | const oInput = selectInputNode || antInput; |
| 138 | - if (oInput) { | 138 | + if (oInput && !this.props.noDebounce) { |
| 139 | oInput.addEventListener("compositionstart", () => { | 139 | oInput.addEventListener("compositionstart", () => { |
| 140 | this.chineseInputting = true; | 140 | this.chineseInputting = true; |
| 141 | }); | 141 | }); |
src/components/Manufacture/ProcessCardPackTableTreeNew/index.js
| @@ -844,6 +844,13 @@ const ProcessCardPackTableTreeNewEvent = props => { | @@ -844,6 +844,13 @@ const ProcessCardPackTableTreeNewEvent = props => { | ||
| 844 | dispatchFunc(name, "onDataChange", ["name", "sFieldName", "changeValue", "sId", "dropDownData"], args); | 844 | dispatchFunc(name, "onDataChange", ["name", "sFieldName", "changeValue", "sId", "dropDownData"], args); |
| 845 | }; | 845 | }; |
| 846 | returnProps.onDataChange = handleTableChange; | 846 | returnProps.onDataChange = handleTableChange; |
| 847 | + // 行选择事件 | ||
| 848 | + const handleTableSelectRowChange = (...args) => { | ||
| 849 | + const [name0] = args; | ||
| 850 | + const name = name0.includes("materials") ? "materials" : name0; | ||
| 851 | + dispatchFunc(name, "onTableSelectRowChange", ["name", "selectedRowKeys"], args); | ||
| 852 | + }; | ||
| 853 | + returnProps.onTableSelectRowChange = handleTableSelectRowChange; | ||
| 847 | 854 | ||
| 848 | // 各种超链接点击 | 855 | // 各种超链接点击 |
| 849 | const handleViewChoose = (...args) => { | 856 | const handleViewChoose = (...args) => { |
| @@ -2746,6 +2753,10 @@ const controlProps = props => { | @@ -2746,6 +2753,10 @@ const controlProps = props => { | ||
| 2746 | packData, | 2753 | packData, |
| 2747 | }); | 2754 | }); |
| 2748 | }; | 2755 | }; |
| 2756 | + returnProps.onTableSelectRowChange = async ({ name, selectedRowKeys }) => { | ||
| 2757 | + const addState = await props.onTableSelectRowChange(name, selectedRowKeys, true); | ||
| 2758 | + props.onSaveState({ addState, processSelectedRowKeys: []}); | ||
| 2759 | + } | ||
| 2749 | returnProps.onViewChoose = ({ sName, record }) => { | 2760 | returnProps.onViewChoose = ({ sName, record }) => { |
| 2750 | const { sId } = record; /* 控制表主键 */ | 2761 | const { sId } = record; /* 控制表主键 */ |
| 2751 | const { enabled, slaveData } = props; | 2762 | const { enabled, slaveData } = props; |
src/components/Manufacture/WorkOrderPackTableTreeNew/index.js
| @@ -1294,6 +1294,13 @@ const WorkOrderPackTableTreeNewEvent = props => { | @@ -1294,6 +1294,13 @@ const WorkOrderPackTableTreeNewEvent = props => { | ||
| 1294 | }; | 1294 | }; |
| 1295 | returnProps.onDataChange = handleTableChange; | 1295 | returnProps.onDataChange = handleTableChange; |
| 1296 | 1296 | ||
| 1297 | + const handleTableSelectRowChange = (...args) => { | ||
| 1298 | + const [name0] = args; | ||
| 1299 | + const name = name0.includes("materials") ? "materials" : name0; | ||
| 1300 | + dispatchFunc(name, "onTableSelectRowChange", ["name", "selectedRowKeys"], args); | ||
| 1301 | + }; | ||
| 1302 | + returnProps.onTableSelectRowChange = handleTableSelectRowChange; | ||
| 1303 | + | ||
| 1297 | // 各种超链接点击 | 1304 | // 各种超链接点击 |
| 1298 | const handleViewChoose = (...args) => { | 1305 | const handleViewChoose = (...args) => { |
| 1299 | const [name0] = args; | 1306 | const [name0] = args; |
| @@ -3419,6 +3426,10 @@ const controlProps = props => { | @@ -3419,6 +3426,10 @@ const controlProps = props => { | ||
| 3419 | packData, | 3426 | packData, |
| 3420 | }); | 3427 | }); |
| 3421 | }; | 3428 | }; |
| 3429 | + returnProps.onTableSelectRowChange = async ({ name, selectedRowKeys }) => { | ||
| 3430 | + const addState = await props.onTableSelectRowChange(name, selectedRowKeys, true); | ||
| 3431 | + props.onSaveState({ addState, processSelectedRowKeys: []}); | ||
| 3432 | + } | ||
| 3422 | returnProps.onViewChoose = ({ name, sName, record }) => { | 3433 | returnProps.onViewChoose = ({ name, sName, record }) => { |
| 3423 | const { sId } = record; /* 控制表主键 */ | 3434 | const { sId } = record; /* 控制表主键 */ |
| 3424 | const { enabled, slaveData } = props; | 3435 | const { enabled, slaveData } = props; |
src/components/QuickQuote/index.jsx
| @@ -164,37 +164,76 @@ const QuickQuoteEvent = props => { | @@ -164,37 +164,76 @@ const QuickQuoteEvent = props => { | ||
| 164 | }, [masterConfig]); | 164 | }, [masterConfig]); |
| 165 | 165 | ||
| 166 | // 切换树节点时,设置后道参数默认值 | 166 | // 切换树节点时,设置后道参数默认值 |
| 167 | - const { slaveData = [] } = state; | 167 | + const { slaveData = [], masterData = {} } = state; |
| 168 | useEffect(() => { | 168 | useEffect(() => { |
| 169 | if (!slaveData.length) return; | 169 | if (!slaveData.length) return; |
| 170 | const bNotInit = slaveData.some(item => item.sBackProcessData); | 170 | const bNotInit = slaveData.some(item => item.sBackProcessData); |
| 171 | - if (bNotInit) return; | ||
| 172 | - | ||
| 173 | - const { downAbleConfigs = [] } = state; | ||
| 174 | - const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId); | ||
| 175 | - if (!downAbleConfigsNew.length) return; | ||
| 176 | - | ||
| 177 | - const slaveDataNew = slaveData.map(item => { | ||
| 178 | - let sBackProcessData = []; | ||
| 179 | - downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { | ||
| 180 | - const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); | ||
| 181 | - const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); | ||
| 182 | - const name = `slaveDown${item.sBoxModel}`; | ||
| 183 | - const sFieldName = sName; | ||
| 184 | - const changeValue = { [sFieldName]: defaultProcess.sId }; | ||
| 185 | - const dropDownData = sChineseDropDown; | ||
| 186 | - const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true); | ||
| 187 | - sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData]; | ||
| 188 | - }); | ||
| 189 | - return { | ||
| 190 | - ...item, | ||
| 191 | - sBackProcessData, | ||
| 192 | - }; | ||
| 193 | - }); | 171 | + if (!bNotInit) { |
| 172 | + const { downAbleConfigs = [] } = state; | ||
| 173 | + const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId); | ||
| 174 | + if (downAbleConfigsNew.length) { | ||
| 175 | + const slaveDataNew = slaveData.map(item => { | ||
| 176 | + let sBackProcessData = []; | ||
| 177 | + downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { | ||
| 178 | + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); | ||
| 179 | + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); | ||
| 180 | + const name = `slaveDown${item.sBoxModel}`; | ||
| 181 | + const sFieldName = sName; | ||
| 182 | + const changeValue = { [sFieldName]: defaultProcess.sId }; | ||
| 183 | + const dropDownData = sChineseDropDown; | ||
| 184 | + const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true); | ||
| 185 | + sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData]; | ||
| 186 | + }); | ||
| 187 | + return { | ||
| 188 | + ...item, | ||
| 189 | + sBackProcessData, | ||
| 190 | + }; | ||
| 191 | + }); | ||
| 194 | 192 | ||
| 195 | - setState(pre => { | ||
| 196 | - return { ...pre, slaveData: slaveDataNew }; | ||
| 197 | - }); | 193 | + setState(pre => { |
| 194 | + return { ...pre, slaveData: slaveDataNew }; | ||
| 195 | + }); | ||
| 196 | + } | ||
| 197 | + } | ||
| 198 | + | ||
| 199 | + const bNotInit1 = !!masterData.cpProcessName; | ||
| 200 | + if (!bNotInit1) { | ||
| 201 | + const { finishedConfigs = [] } = state; | ||
| 202 | + const finishedConfigsNew = finishedConfigs.filter(item => item.sDefaultProcessId); | ||
| 203 | + if (finishedConfigsNew.length) { | ||
| 204 | + let [cpProcessNameList, productProcessInfo] = [[], []]; | ||
| 205 | + finishedConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { | ||
| 206 | + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); | ||
| 207 | + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); | ||
| 208 | + const name = "finished"; | ||
| 209 | + const sFieldName = sName; | ||
| 210 | + const changeValue = { [sFieldName]: defaultProcess.sId }; | ||
| 211 | + const dropDownData = sChineseDropDown; | ||
| 212 | + const { cpProcessName: cpProcessNameNew, productProcessInfo: productProcessInfoNew } = onDataChange( | ||
| 213 | + name, | ||
| 214 | + sFieldName, | ||
| 215 | + changeValue, | ||
| 216 | + masterData.sId, | ||
| 217 | + dropDownData, | ||
| 218 | + true | ||
| 219 | + ); | ||
| 220 | + cpProcessNameNew.split(",").forEach((item, index) => { | ||
| 221 | + if (!cpProcessNameList.includes(item)) { | ||
| 222 | + cpProcessNameList.push(item); | ||
| 223 | + productProcessInfo.push(productProcessInfoNew[index]); | ||
| 224 | + } | ||
| 225 | + }); | ||
| 226 | + }); | ||
| 227 | + setState(pre => ({ | ||
| 228 | + ...pre, | ||
| 229 | + masterData: { | ||
| 230 | + ...masterData, | ||
| 231 | + cpProcessName: cpProcessNameList.join(","), | ||
| 232 | + productProcessInfo, | ||
| 233 | + }, | ||
| 234 | + })); | ||
| 235 | + } | ||
| 236 | + } | ||
| 198 | }, [slaveData.map(item => item.sId).toString()]); | 237 | }, [slaveData.map(item => item.sId).toString()]); |
| 199 | 238 | ||
| 200 | addState.onBackClick = () => { | 239 | addState.onBackClick = () => { |
| @@ -459,6 +498,9 @@ const QuickQuoteEvent = props => { | @@ -459,6 +498,9 @@ const QuickQuoteEvent = props => { | ||
| 459 | const masterDataNew = { ...masterData, cpProcessName, productProcessInfo }; | 498 | const masterDataNew = { ...masterData, cpProcessName, productProcessInfo }; |
| 460 | masterDataNew.handleType = masterDataNew.handleType || "update"; | 499 | masterDataNew.handleType = masterDataNew.handleType || "update"; |
| 461 | masterDataNew.sId = masterDataNew.sId || commonUtils.createSid(); | 500 | masterDataNew.sId = masterDataNew.sId || commonUtils.createSid(); |
| 501 | + if (isWait) { | ||
| 502 | + return masterDataNew; | ||
| 503 | + } | ||
| 462 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); | 504 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); |
| 463 | } | 505 | } |
| 464 | }; | 506 | }; |
| @@ -1210,7 +1252,7 @@ const TreeComponent = props => { | @@ -1210,7 +1252,7 @@ const TreeComponent = props => { | ||
| 1210 | const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); | 1252 | const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); |
| 1211 | 1253 | ||
| 1212 | props.setState(pre => { | 1254 | props.setState(pre => { |
| 1213 | - const { slaveData = [], slaveConfig, manyData = [] } = pre; | 1255 | + const { slaveData = [], slaveConfig, manyData = [], masterData = {} } = pre; |
| 1214 | const addState = {}; | 1256 | const addState = {}; |
| 1215 | const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode }); | 1257 | const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode }); |
| 1216 | const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); | 1258 | const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); |
| @@ -1245,6 +1287,9 @@ const TreeComponent = props => { | @@ -1245,6 +1287,9 @@ const TreeComponent = props => { | ||
| 1245 | ...(sPackPath ? { sPackPath } : {}), | 1287 | ...(sPackPath ? { sPackPath } : {}), |
| 1246 | }; | 1288 | }; |
| 1247 | }); | 1289 | }); |
| 1290 | + delete masterData.cpProcessName; | ||
| 1291 | + delete masterData.productProcessInfo; | ||
| 1292 | + addState.masterData = masterData; | ||
| 1248 | addState.extraParts = {}; | 1293 | addState.extraParts = {}; |
| 1249 | addState.calcPriceFinished = false; | 1294 | addState.calcPriceFinished = false; |
| 1250 | addState.backendParamsConfig = []; | 1295 | addState.backendParamsConfig = []; |
| @@ -1821,10 +1866,7 @@ const BoxComponent = props => { | @@ -1821,10 +1866,7 @@ const BoxComponent = props => { | ||
| 1821 | 1866 | ||
| 1822 | props.setState(pre => ({ | 1867 | props.setState(pre => ({ |
| 1823 | ...pre, | 1868 | ...pre, |
| 1824 | - backendParamsConfig: commonUtils.convertStrToObj( | ||
| 1825 | - sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, | ||
| 1826 | - [] | ||
| 1827 | - ), | 1869 | + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, []), |
| 1828 | backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, | 1870 | backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, |
| 1829 | })); | 1871 | })); |
| 1830 | }, | 1872 | }, |
| @@ -1924,7 +1966,7 @@ const BoxComponent = props => { | @@ -1924,7 +1966,7 @@ const BoxComponent = props => { | ||
| 1924 | ).toFixed(2) | 1966 | ).toFixed(2) |
| 1925 | ), | 1967 | ), |
| 1926 | dWlcd: dWlcd, | 1968 | dWlcd: dWlcd, |
| 1927 | - dWlkd: dWlkd, | 1969 | + dWlkd: dWlkd, |
| 1928 | dMachineQty: Math.floor(dProductQty / dSinglePQty), | 1970 | dMachineQty: Math.floor(dProductQty / dSinglePQty), |
| 1929 | dSinglePQty: dSinglePQty, | 1971 | dSinglePQty: dSinglePQty, |
| 1930 | dMaterialsKQty: dMaterialsKQty, | 1972 | dMaterialsKQty: dMaterialsKQty, |
| @@ -2195,12 +2237,20 @@ const BoxComponent = props => { | @@ -2195,12 +2237,20 @@ const BoxComponent = props => { | ||
| 2195 | height: "290px", | 2237 | height: "290px", |
| 2196 | backgroundColor: "#fff", | 2238 | backgroundColor: "#fff", |
| 2197 | borderRight: "1px solid #ccc", | 2239 | borderRight: "1px solid #ccc", |
| 2198 | - position:'relative' | 2240 | + position: "relative", |
| 2199 | }} | 2241 | }} |
| 2200 | > | 2242 | > |
| 2201 | - <div style={{position:'absolute',left:'50%',top:'50%',transform:' translate(-50%, -50%)',width:'100%',height:'200px'}}> | ||
| 2202 | - <DynamicSVG {...svgProps} /> | ||
| 2203 | - | 2243 | + <div |
| 2244 | + style={{ | ||
| 2245 | + position: "absolute", | ||
| 2246 | + left: "50%", | ||
| 2247 | + top: "50%", | ||
| 2248 | + transform: " translate(-50%, -50%)", | ||
| 2249 | + width: "100%", | ||
| 2250 | + height: "200px", | ||
| 2251 | + }} | ||
| 2252 | + > | ||
| 2253 | + <DynamicSVG {...svgProps} /> | ||
| 2204 | </div> | 2254 | </div> |
| 2205 | </div> | 2255 | </div> |
| 2206 | ) : ( | 2256 | ) : ( |
src/components/QuoQuotation/QuotationPackTableTree/QuotationPackTableTree.js
| @@ -1806,6 +1806,7 @@ class QuotationPackTableTree extends Component { | @@ -1806,6 +1806,7 @@ class QuotationPackTableTree extends Component { | ||
| 1806 | treeSelectedKeys = selectedRowKeys; /* 把树形选中节点赋值给表格部件选中节点 */ | 1806 | treeSelectedKeys = selectedRowKeys; /* 把树形选中节点赋值给表格部件选中节点 */ |
| 1807 | addState.treeSelectedKeys = treeSelectedKeys; | 1807 | addState.treeSelectedKeys = treeSelectedKeys; |
| 1808 | } | 1808 | } |
| 1809 | + addState.processSelectedRowKeys = []; /* 部件选中时 清空工序的选中 */ | ||
| 1809 | } | 1810 | } |
| 1810 | this.props.onSaveState(addState); | 1811 | this.props.onSaveState(addState); |
| 1811 | } else if (name === 'materials' || name === 'process') { | 1812 | } else if (name === 'materials' || name === 'process') { |