Commit 108f5d5dfb340961da1b4cac33cbcebaf07f38de

Authored by Min
1 parent ba5298e4

更新以下内容: 处理扫码上料后界面没刷新出来,必须要再刷新依次

src/components/Common/CommonInstructSet.js
@@ -336,7 +336,7 @@ const instructSetInit = async props => { @@ -336,7 +336,7 @@ const instructSetInit = async props => {
336 props.callback && props.callback(); 336 props.callback && props.callback();
337 }); 337 });
338 }); 338 });
339 - 339 + console.log('02', '执行指令集inscallback');
340 props.inscallback && props.inscallback({ ...props, ...addStateNew }); 340 props.inscallback && props.inscallback({ ...props, ...addStateNew });
341 }; 341 };
342 342
src/mes/common/commonOperationBarComponent/index.js
@@ -1329,7 +1329,7 @@ const CommonOperationBarComponent = basProps => { @@ -1329,7 +1329,7 @@ const CommonOperationBarComponent = basProps => {
1329 const scanEventTime = useRef(-1); 1329 const scanEventTime = useRef(-1);
1330 const userInfo = commonUtils.getAppData("userinfo") 1330 const userInfo = commonUtils.getAppData("userinfo")
1331 // 执行扫码枪指令 1331 // 执行扫码枪指令
1332 - const handleScanCodeInstructs = (value, bCostom) => { 1332 + const handleScanCodeInstructs = async (value, bCostom) => {
1333 scanEventTime.current = -1; 1333 scanEventTime.current = -1;
1334 // this.handleBtnClick() 1334 // this.handleBtnClick()
1335 props.onProcedureCall({ 1335 props.onProcedureCall({
@@ -1580,7 +1580,7 @@ const BarcodeComponent = props => { @@ -1580,7 +1580,7 @@ const BarcodeComponent = props => {
1580 const scanEventTime = useRef(-1); 1580 const scanEventTime = useRef(-1);
1581 1581
1582 // 执行扫码枪指令 1582 // 执行扫码枪指令
1583 - const handleScanCodeInstructs = (value, bCostom) => { 1583 + const handleScanCodeInstructs = async (value, bCostom) => {
1584 scanEventTime.current = -1; 1584 scanEventTime.current = -1;
1585 1585
1586 // 获取当前工单信息数据 1586 // 获取当前工单信息数据
@@ -1600,6 +1600,15 @@ const BarcodeComponent = props => { @@ -1600,6 +1600,15 @@ const BarcodeComponent = props => {
1600 item => item.sName === "sSearchProductName" 1600 item => item.sName === "sSearchProductName"
1601 ); 1601 );
1602 1602
  1603 + // 用于等待指令集执行完毕(02 inscallback 执行完)
  1604 + // 添加超时机制,防止指令集异常时 inscallback 未导致 Promise 永久阻塞
  1605 + let resolveInscallback;
  1606 + const inscallbackPromise = new Promise(resolve => {
  1607 + resolveInscallback = resolve;
  1608 + // 20秒超时,确保即使 inscallback 未调用也能继续执行
  1609 + setTimeout(() => resolve(), 20000);
  1610 + });
  1611 +
1603 try { 1612 try {
1604 props.onExecInstructSet({ 1613 props.onExecInstructSet({
1605 btnConfig, 1614 btnConfig,
@@ -1618,8 +1627,12 @@ const BarcodeComponent = props => { @@ -1618,8 +1627,12 @@ const BarcodeComponent = props => {
1618 refreshMachineDataFlag: new Date().getTime(), 1627 refreshMachineDataFlag: new Date().getTime(),
1619 productionTableList: [sName] 1628 productionTableList: [sName]
1620 }, () => { 1629 }, () => {
1621 - // props.onRefresh && props.onRefresh(); 1630 + // 02 执行完毕,通知等待的 Promise
  1631 + resolveInscallback && resolveInscallback();
1622 }); 1632 });
  1633 + } else {
  1634 + // 没有 searchProductConfig 时直接通知
  1635 + resolveInscallback && resolveInscallback();
1623 } 1636 }
1624 } 1637 }
1625 // inscallback: nextProps => { 1638 // inscallback: nextProps => {
@@ -1653,8 +1666,15 @@ const BarcodeComponent = props => { @@ -1653,8 +1666,15 @@ const BarcodeComponent = props => {
1653 // } 1666 // }
1654 // } 1667 // }
1655 }); 1668 });
  1669 +
  1670 + // 等待 02 (inscallback) 执行完毕
  1671 + await inscallbackPromise;
  1672 + console.log('03-inscallbackPromise');
  1673 +
  1674 + } catch (error) {
  1675 + console.error('执行指令集失败:', error);
1656 } finally { 1676 } finally {
1657 - console.log('finily-上料执行界面刷新:'); 1677 + console.log('04 - finily-上料执行界面刷新:');
1658 props.onRefresh && props.onRefresh(); 1678 props.onRefresh && props.onRefresh();
1659 } 1679 }
1660 }; 1680 };
src/utils/config.js
@@ -5,8 +5,8 @@ export const webSite = { @@ -5,8 +5,8 @@ export const webSite = {
5 // ipAddress: '//t0.xlyprint.com:8000/xlyEntry/', /* 服务器地址 */ 5 // ipAddress: '//t0.xlyprint.com:8000/xlyEntry/', /* 服务器地址 */
6 // faceAddress: isDev ? '//192.168.11.22:8080/xlyFace' : '//' + location.host + '/xlyFace', 6 // faceAddress: isDev ? '//192.168.11.22:8080/xlyFace' : '//' + location.host + '/xlyFace',
7 fileAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyReport/' : '//' + location.host + '/xlyReport/', // 接口地址 7 fileAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyReport/' : '//' + location.host + '/xlyReport/', // 接口地址
8 - faceAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyFace' : '//' + location.host + '/xlyFace',  
9 - ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//km5cjx.gnway.cc:43920/xlyEntry/' : '//' + location.host + '/xlyEntry/', 8 + faceAddress: isDev ? '//km5cjx.gnway.cc:47400/xlyFace' : '//' + location.host + '/xlyFace',
  9 + ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//km5cjx.gnway.cc:47400/xlyEntry/' : '//' + location.host + '/xlyEntry/',
10 interfaceAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyApi/' : '//' + location.host + '/xlyApi/', // 接口地址 10 interfaceAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyApi/' : '//' + location.host + '/xlyApi/', // 接口地址
11 // ipAddress: isDev ? '//ebc.jinjia.com:8091/xlyEntry/' : '//' + location.host + '/xlyEntry/', 11 // ipAddress: isDev ? '//ebc.jinjia.com:8091/xlyEntry/' : '//' + location.host + '/xlyEntry/',
12 // interfaceAddress: isDev ? '//ebc.jinjia.com:8091/xlyApi/' : '//' + location.host + '/xlyApi/', // 接口地址 12 // interfaceAddress: isDev ? '//ebc.jinjia.com:8091/xlyApi/' : '//' + location.host + '/xlyApi/', // 接口地址