Commit a1f68930d57f3682f0e7dac754866124d7c539d5

Authored by ww
1 parent 51062a0c

fix: DEFECT-848 handle charts component has problem after socket receive message

... ... @@ -13230,8 +13230,14 @@ class DispatchCenter {
13230 13230 subList.forEach(item => {
13231 13231 const { dataOrigin, additional } = item
13232 13232 if (dataOrigin === 'dataSources') {
13233   - if (additional)
13234   - this.dataSourceHandlerInstance.updateRealTimeDataSource(message, item)
  13233 + if (additional) {
  13234 + const { dataType } = additional || {}
  13235 + if (dataType === HandleDataSource.enumDataBindType.REAL) {
  13236 + this.dataSourceHandlerInstance.updateRealTimeDataSource(message, item)
  13237 + } else if (dataType === HandleDataSource.enumDataBindType.HISTORY) {
  13238 + this.dataSourceHandlerInstance.updateHistoryDataSource(message, item)
  13239 + }
  13240 + }
13235 13241 else
13236 13242 this.dataSourceHandlerInstance.updateCommonDataSource(message, item)
13237 13243 }
... ... @@ -13418,9 +13424,11 @@ class DispatchCenter {
13418 13424 const basicRecord = value.filter(item => !item.additional)
13419 13425 const moreFilterRecord = value.filter(item => item.additional)
13420 13426
13421   - const message = generateMessage({ entityId: key, cmdId, keys: getKeys(basicRecord.map(item => item.attr)) })
13422   - setSubscribeMapping(cmdId, basicRecord)
  13427 + const message = basicRecord.length ? generateMessage({ entityId: key, cmdId, keys: getKeys(basicRecord.map(item => item.attr)) }) : null
  13428 + basicRecord.length && setSubscribeMapping(cmdId, basicRecord)
13423 13429 cmdId++
  13430 +
  13431 + // 图表控件订阅
13424 13432 moreFilterRecord.forEach(item => {
13425 13433 const { additional = {} } = item
13426 13434 const { dataType = 'tsSubCmds', interval, effectScope, agg } = additional
... ... @@ -13433,14 +13441,14 @@ class DispatchCenter {
13433 13441 startTs: Date.now() - toNumber(effectScope),
13434 13442 ...(dataType === HandleDataSource.enumDataBindType.REAL ? {} : { endTs: Date.now() })
13435 13443 })
13436   - setSubscribeMapping(cmdId, moreFilterRecord)
  13444 + setSubscribeMapping(cmdId, [item])
13437 13445 messageList[dataType].push(message)
13438 13446 cmdId++
13439 13447 })
13440 13448
13441   - messageList.tsSubCmds.push(message)
  13449 + message && messageList.tsSubCmds.push(message)
13442 13450 })
13443   -
  13451 +
13444 13452 return messageList
13445 13453 }
13446 13454
... ...