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 | 135 | const selectInputNode = currentNode.querySelector("input[class*='ant-select-selection-search-input']"); |
| 136 | 136 | const antInput = currentNode.querySelector("input[class*='ant-input']"); |
| 137 | 137 | const oInput = selectInputNode || antInput; |
| 138 | - if (oInput) { | |
| 138 | + if (oInput && !this.props.noDebounce) { | |
| 139 | 139 | oInput.addEventListener("compositionstart", () => { |
| 140 | 140 | this.chineseInputting = true; |
| 141 | 141 | }); | ... | ... |
src/components/Manufacture/ProcessCardPackTableTreeNew/index.js
| ... | ... | @@ -844,6 +844,13 @@ const ProcessCardPackTableTreeNewEvent = props => { |
| 844 | 844 | dispatchFunc(name, "onDataChange", ["name", "sFieldName", "changeValue", "sId", "dropDownData"], args); |
| 845 | 845 | }; |
| 846 | 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 | 856 | const handleViewChoose = (...args) => { |
| ... | ... | @@ -2746,6 +2753,10 @@ const controlProps = props => { |
| 2746 | 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 | 2760 | returnProps.onViewChoose = ({ sName, record }) => { |
| 2750 | 2761 | const { sId } = record; /* 控制表主键 */ |
| 2751 | 2762 | const { enabled, slaveData } = props; | ... | ... |
src/components/Manufacture/WorkOrderPackTableTreeNew/index.js
| ... | ... | @@ -1294,6 +1294,13 @@ const WorkOrderPackTableTreeNewEvent = props => { |
| 1294 | 1294 | }; |
| 1295 | 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 | 1305 | const handleViewChoose = (...args) => { |
| 1299 | 1306 | const [name0] = args; |
| ... | ... | @@ -3419,6 +3426,10 @@ const controlProps = props => { |
| 3419 | 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 | 3433 | returnProps.onViewChoose = ({ name, sName, record }) => { |
| 3423 | 3434 | const { sId } = record; /* 控制表主键 */ |
| 3424 | 3435 | const { enabled, slaveData } = props; | ... | ... |
src/components/QuickQuote/index.jsx
| ... | ... | @@ -164,37 +164,76 @@ const QuickQuoteEvent = props => { |
| 164 | 164 | }, [masterConfig]); |
| 165 | 165 | |
| 166 | 166 | // 切换树节点时,设置后道参数默认值 |
| 167 | - const { slaveData = [] } = state; | |
| 167 | + const { slaveData = [], masterData = {} } = state; | |
| 168 | 168 | useEffect(() => { |
| 169 | 169 | if (!slaveData.length) return; |
| 170 | 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 | 237 | }, [slaveData.map(item => item.sId).toString()]); |
| 199 | 238 | |
| 200 | 239 | addState.onBackClick = () => { |
| ... | ... | @@ -459,6 +498,9 @@ const QuickQuoteEvent = props => { |
| 459 | 498 | const masterDataNew = { ...masterData, cpProcessName, productProcessInfo }; |
| 460 | 499 | masterDataNew.handleType = masterDataNew.handleType || "update"; |
| 461 | 500 | masterDataNew.sId = masterDataNew.sId || commonUtils.createSid(); |
| 501 | + if (isWait) { | |
| 502 | + return masterDataNew; | |
| 503 | + } | |
| 462 | 504 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); |
| 463 | 505 | } |
| 464 | 506 | }; |
| ... | ... | @@ -1210,7 +1252,7 @@ const TreeComponent = props => { |
| 1210 | 1252 | const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); |
| 1211 | 1253 | |
| 1212 | 1254 | props.setState(pre => { |
| 1213 | - const { slaveData = [], slaveConfig, manyData = [] } = pre; | |
| 1255 | + const { slaveData = [], slaveConfig, manyData = [], masterData = {} } = pre; | |
| 1214 | 1256 | const addState = {}; |
| 1215 | 1257 | const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode }); |
| 1216 | 1258 | const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); |
| ... | ... | @@ -1245,6 +1287,9 @@ const TreeComponent = props => { |
| 1245 | 1287 | ...(sPackPath ? { sPackPath } : {}), |
| 1246 | 1288 | }; |
| 1247 | 1289 | }); |
| 1290 | + delete masterData.cpProcessName; | |
| 1291 | + delete masterData.productProcessInfo; | |
| 1292 | + addState.masterData = masterData; | |
| 1248 | 1293 | addState.extraParts = {}; |
| 1249 | 1294 | addState.calcPriceFinished = false; |
| 1250 | 1295 | addState.backendParamsConfig = []; |
| ... | ... | @@ -1821,10 +1866,7 @@ const BoxComponent = props => { |
| 1821 | 1866 | |
| 1822 | 1867 | props.setState(pre => ({ |
| 1823 | 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 | 1870 | backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, |
| 1829 | 1871 | })); |
| 1830 | 1872 | }, |
| ... | ... | @@ -1924,7 +1966,7 @@ const BoxComponent = props => { |
| 1924 | 1966 | ).toFixed(2) |
| 1925 | 1967 | ), |
| 1926 | 1968 | dWlcd: dWlcd, |
| 1927 | - dWlkd: dWlkd, | |
| 1969 | + dWlkd: dWlkd, | |
| 1928 | 1970 | dMachineQty: Math.floor(dProductQty / dSinglePQty), |
| 1929 | 1971 | dSinglePQty: dSinglePQty, |
| 1930 | 1972 | dMaterialsKQty: dMaterialsKQty, |
| ... | ... | @@ -2195,12 +2237,20 @@ const BoxComponent = props => { |
| 2195 | 2237 | height: "290px", |
| 2196 | 2238 | backgroundColor: "#fff", |
| 2197 | 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 | 2254 | </div> |
| 2205 | 2255 | </div> |
| 2206 | 2256 | ) : ( | ... | ... |
src/components/QuoQuotation/QuotationPackTableTree/QuotationPackTableTree.js
| ... | ... | @@ -1806,6 +1806,7 @@ class QuotationPackTableTree extends Component { |
| 1806 | 1806 | treeSelectedKeys = selectedRowKeys; /* 把树形选中节点赋值给表格部件选中节点 */ |
| 1807 | 1807 | addState.treeSelectedKeys = treeSelectedKeys; |
| 1808 | 1808 | } |
| 1809 | + addState.processSelectedRowKeys = []; /* 部件选中时 清空工序的选中 */ | |
| 1809 | 1810 | } |
| 1810 | 1811 | this.props.onSaveState(addState); |
| 1811 | 1812 | } else if (name === 'materials' || name === 'process') { | ... | ... |