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,70 +429,84 @@ const useCommonModelEvent = props => { | ||
| 429 | ); | 429 | ); |
| 430 | const { gdsconfigformslave } = props?.slaveConfig || {} | 430 | const { gdsconfigformslave } = props?.slaveConfig || {} |
| 431 | useEffect(() => { | 431 | useEffect(() => { |
| 432 | - const { btnConfig = {}, copyToConfig = [], record = {} } = props?.parentProps || {} | 432 | + const { btnConfig = {}, copyToConfig = [], record = {} } = props?.parentProps || {}; |
| 433 | + | ||
| 434 | + // 提前校验 | ||
| 433 | if ( | 435 | if ( |
| 434 | !props.masterData || | 436 | !props.masterData || |
| 435 | !props.masterData.sId || | 437 | !props.masterData.sId || |
| 436 | typeof props.masterData.sId !== 'string' || | 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 | return; | 444 | return; |
| 440 | } | 445 | } |
| 441 | - if (props.masterData.sBillNo) return | ||
| 442 | - if (!copyToConfig) return | 446 | + |
| 443 | const { app } = props; | 447 | const { app } = props; |
| 444 | const { token } = app; | 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 | if (item.sControlName.includes('tmpInfoBySql')) { | 457 | if (item.sControlName.includes('tmpInfoBySql')) { |
| 458 | + if (count > 0) continue; // 跳过后续 | ||
| 459 | + count += 1; | ||
| 460 | + | ||
| 450 | const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`; | 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 | } else { | 483 | } else { |
| 473 | - message.warn('数据未配置!不能生成!'); | ||
| 474 | - return; | 484 | + props.getServiceError?.(dataReturn); |
| 475 | } | 485 | } |
| 476 | } else { | 486 | } else { |
| 477 | const nameList = item.sControlName.split('.'); | 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 | addState[`${name}Data`] = [{ | 490 | addState[`${name}Data`] = [{ |
| 481 | ...commonFunc.getDefaultData(props[`${name}Config`]), | 491 | ...commonFunc.getDefaultData(props[`${name}Config`]), |
| 482 | handleType: "add", | 492 | handleType: "add", |
| 483 | sId: commonUtils.createSid(), | 493 | sId: commonUtils.createSid(), |
| 484 | sParentId: props.masterData.sId, | 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 |