liulijun
7 天以前 4cf43750c41e1833143b557ecbbf6844656f49d6
ÏîÄ¿´úÂë/WMS/WMSClient/src/services/taskTimeout.js
@@ -92,21 +92,19 @@
    const globalObj = window.$global || {};
    // å¤„理消息删除逻辑,重置对应任务的定时器
    const deletedMessages = globalObj.messageDeleted || [];
    const deletedMessages = [...(globalObj.messageDeleted || [])];
    if (deletedMessages.length > 0) {
      const globalMessageList = globalObj.messageList || [];
      // æ¸…空已处理的删除消息列表,避免重复处理
      globalObj.messageDeleted = [];
      // éåŽ†è¢«åˆ é™¤çš„æ¶ˆæ¯ID,重置对应任务的定时器
      deletedMessages.forEach(deletedId => {
        const deletedMessage = globalMessageList.find(msg => msg.id === deletedId);
        if (deletedMessage?.businessType === 'task_timeout' && deletedMessage.taskNum && this.taskStatusMap[deletedMessage.taskNum]) {
          this.taskStatusMap[deletedMessage.taskNum] = now;
        }
        // ä¸éœ€è¦ä»ŽmessageList中查找,因为消息已经被删除
        // ç›´æŽ¥å¤„理任务状态重置
        // è¿™é‡Œä¸åšä»»ä½•操作,因为消息删除是用户主动行为
        // æˆ‘们只需要清空messageDeleted数组即可
      });
      // æ¸…空已处理的删除消息列表
      globalObj.messageDeleted = [];
    }
    // èŽ·å–å½“å‰æ‰€æœ‰ä»»åŠ¡å·å’ŒçŠ¶æ€
@@ -145,7 +143,7 @@
    const globalObj = window.$global || {};
    
    // èŽ·å–å…¨å±€æ¶ˆæ¯åˆ—è¡¨
    const globalMessageList = globalObj.messageList || [];
    const globalMessageList = [...(globalObj.messageList || [])];
    
    // æ‰¾å‡ºéœ€è¦æ¸…除的任务超时消息
    const taskTimeoutMessages = globalMessageList.filter(msg => msg.businessType === 'task_timeout');
@@ -156,32 +154,29 @@
      // æ£€æŸ¥æ¡ä»¶ï¼š
      // 1. ä»»åŠ¡ä¸åœ¨å½“å‰ä»»åŠ¡åˆ—è¡¨ä¸­ï¼ˆå·²å®Œæˆæˆ–è¢«ç§»é™¤ï¼‰
      // 2. ä»»åŠ¡åœ¨å½“å‰ä»»åŠ¡åˆ—è¡¨ä¸­ï¼Œä½†çŠ¶æ€å·²ä¸å†æ˜¯å †åž›æœºæ‰§è¡Œä¸­
      if (!currentTaskStatuses[taskNum] || currentTaskStatuses[taskNum] !== 210) {
      if (taskNum && (!currentTaskStatuses[taskNum] || currentTaskStatuses[taskNum] !== 210)) {
        // ä»»åŠ¡å·²å®Œæˆæˆ–çŠ¶æ€å·²æ”¹å˜ï¼Œæ¸…é™¤è¯¥æ¶ˆæ¯
        this.handleDeleteTaskMessage(msg);
        // ä½†è¦ç¡®ä¿åªåœ¨æ¶ˆæ¯ä»ç„¶å­˜åœ¨æ—¶æ‰åˆ é™¤
        if (globalObj.messageList && Array.isArray(globalObj.messageList)) {
          const index = globalObj.messageList.findIndex(m => m.id === msg.id);
          if (index !== -1) {
            globalObj.messageList.splice(index, 1);
          }
        }
      }
    });
  }
  // å¤„理删除单个任务消息
  handleDeleteTaskMessage(message) {
    // èŽ·å–å…¨å±€å¯¹è±¡
    const globalObj = window.$global || {};
    // ç›´æŽ¥ä»Žå…¨å±€æ¶ˆæ¯åˆ—表中删除该消息
    if (globalObj.messageList) {
      const index = globalObj.messageList.findIndex(msg => msg.id === message.id);
      if (index !== -1) {
        globalObj.messageList.splice(index, 1);
      }
    }
  }
  // å‘送任务警告消息
  sendTaskWarningMessage(task, duration) {
    // åˆ›å»ºå”¯ä¸€çš„æ¶ˆæ¯ID
    const messageId = Date.now() + Math.random().toString(36).substr(2, 9);
    // åˆ›å»ºè­¦å‘Šæ¶ˆæ¯
    const warningMessage = {
      id: Date.now(),
      id: messageId,
      title: '任务异常警告',
      message: `任务号 ${task.taskNum} å·²åœ¨å †åž›æœºæ‰§è¡Œä¸­çŠ¶æ€è¶…è¿‡${Math.round(duration)}分钟,请及时处理!`,
      type: 'warning',
@@ -206,7 +201,6 @@
    try {
      if (globalObj.messageList) {
        globalObj.messageList.push(warningMessage);
      }
    } catch (error) {
      // å‡ºé”™æ—¶ä½¿ç”¨æµè§ˆå™¨åŽŸç”Ÿalert作为最终备选