Commit 3df153d8735247d554df9a093f945dfd01242188
1 parent
9baf129b
复制到tmpinfo
Showing
1 changed file
with
50 additions
and
36 deletions
src/mes/common/commonModelComponent/index.js
| ... | ... | @@ -429,70 +429,84 @@ const useCommonModelEvent = props => { |
| 429 | 429 | ); |
| 430 | 430 | const { gdsconfigformslave } = props?.slaveConfig || {} |
| 431 | 431 | useEffect(() => { |
| 432 | - const { btnConfig = {}, copyToConfig = [], record = {} } = props?.parentProps || {} | |
| 432 | + const { btnConfig = {}, copyToConfig = [], record = {} } = props?.parentProps || {}; | |
| 433 | + | |
| 434 | + // 提前校验 | |
| 433 | 435 | if ( |
| 434 | 436 | !props.masterData || |
| 435 | 437 | !props.masterData.sId || |
| 436 | 438 | typeof props.masterData.sId !== 'string' || |
| 437 | - props.masterData.sId.trim() === '' | |
| 439 | + props.masterData.sId.trim() === '' || | |
| 440 | + props.masterData.sBillNo || | |
| 441 | + !Array.isArray(copyToConfig) || | |
| 442 | + copyToConfig.length === 0 | |
| 438 | 443 | ) { |
| 439 | 444 | return; |
| 440 | 445 | } |
| 441 | - if (props.masterData.sBillNo) return | |
| 442 | - if (!copyToConfig) return | |
| 446 | + | |
| 443 | 447 | const { app } = props; |
| 444 | 448 | const { token } = app; |
| 445 | - const addState = {}; // 始终初始化为对象 | |
| 446 | - if (Array.isArray(copyToConfig) && copyToConfig.length > 0) { | |
| 447 | - copyToConfig.forEach(async item => { | |
| 448 | - if (item?.sControlName) { | |
| 449 | + const addState = {}; | |
| 450 | + let count = 0; | |
| 451 | + | |
| 452 | + (async () => { | |
| 453 | + try { | |
| 454 | + for (const item of copyToConfig) { | |
| 455 | + if (!item?.sControlName) continue; | |
| 456 | + | |
| 449 | 457 | if (item.sControlName.includes('tmpInfoBySql')) { |
| 458 | + if (count > 0) continue; // 跳过后续 | |
| 459 | + count += 1; | |
| 460 | + | |
| 450 | 461 | const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`; |
| 451 | - const sConfigformId = commonUtils.isEmpty(copyToConfig) ? '' : copyToConfig[0].sParentId; | |
| 452 | - const sControlName = commonUtils.isNotEmptyObject(name) ? name : 'BtnTableCopyTo.tmpInfoBySqlActProduceReport'; | |
| 453 | - let sSqlCondition = ''; | |
| 454 | - let sRowData = [record] | |
| 455 | - const values = { sConfigformId, sControlName, sRowData }; | |
| 456 | - if (true) { | |
| 457 | - const dataReturn = (await commonServices.postValueService(token, values, dataUrl)).data; | |
| 458 | - if (dataReturn.code === 1) { | |
| 459 | - const returnData = dataReturn.dataset.rows[0]; | |
| 460 | - if (commonUtils.isNotEmptyObject(returnData)) { | |
| 461 | - for (const key of Object.keys(returnData)) { | |
| 462 | - const sName = `${key}Data`; | |
| 463 | - addState[sName] = returnData[key]; | |
| 464 | - } | |
| 465 | - if (commonUtils.isNotEmptyArr(addState.masterData) && Array.isArray(addState.masterData)) { | |
| 466 | - addState.masterData = addState.masterData[0]; | |
| 467 | - } | |
| 462 | + const sConfigformId = copyToConfig[0]?.sParentId || ''; | |
| 463 | + const sControlName = commonUtils.isNotEmptyObject(item?.sControlName) | |
| 464 | + ? item?.sControlName | |
| 465 | + : 'BtnTableCopyTo.tmpInfoBySqlActProduceReport'; | |
| 466 | + | |
| 467 | + const values = { | |
| 468 | + sConfigformId, | |
| 469 | + sControlName, | |
| 470 | + sRowData: [record], | |
| 471 | + }; | |
| 472 | + | |
| 473 | + const response = await commonServices.postValueService(token, values, dataUrl); | |
| 474 | + const dataReturn = response.data; | |
| 475 | + | |
| 476 | + if (dataReturn.code === 1) { | |
| 477 | + const returnData = dataReturn.dataset?.rows?.[0]; | |
| 478 | + if (commonUtils.isNotEmptyObject(returnData)) { | |
| 479 | + for (const key of Object.keys(returnData)) { | |
| 480 | + addState[`${key}Data`] = returnData[key]; | |
| 468 | 481 | } |
| 469 | - } else { | |
| 470 | - props.getServiceError(dataReturn); | |
| 471 | 482 | } |
| 472 | 483 | } else { |
| 473 | - message.warn('数据未配置!不能生成!'); | |
| 474 | - return; | |
| 484 | + props.getServiceError?.(dataReturn); | |
| 475 | 485 | } |
| 476 | 486 | } else { |
| 477 | 487 | const nameList = item.sControlName.split('.'); |
| 478 | - if (nameList && nameList.length > 2) { | |
| 479 | - const name = nameList.pop() | |
| 488 | + if (nameList.length > 2) { | |
| 489 | + const name = nameList.pop(); | |
| 480 | 490 | addState[`${name}Data`] = [{ |
| 481 | 491 | ...commonFunc.getDefaultData(props[`${name}Config`]), |
| 482 | 492 | handleType: "add", |
| 483 | 493 | sId: commonUtils.createSid(), |
| 484 | 494 | sParentId: props.masterData.sId, |
| 485 | - ...commonFunc.getAssignFieldValue(item.sAssignField, record) | |
| 495 | + ...commonFunc.getAssignFieldValue(item.sAssignField, record), | |
| 486 | 496 | }]; |
| 487 | 497 | } |
| 488 | 498 | } |
| 499 | + } | |
| 489 | 500 | |
| 501 | + if (Object.keys(addState).length > 0) { | |
| 502 | + props.onSaveState?.({ ...addState }); | |
| 490 | 503 | } |
| 491 | - }); | |
| 492 | - } | |
| 493 | - props.onSaveState({ ...addState }); | |
| 504 | + } catch (error) { | |
| 505 | + message.error('数据加载失败,请重试'); | |
| 506 | + } | |
| 507 | + })(); | |
| 494 | 508 | |
| 495 | - }, [props.masterData]) | |
| 509 | + }, [props.masterData]); | |
| 496 | 510 | |
| 497 | 511 | |
| 498 | 512 | ... | ... |