var animationHandler = (lfInstance, nodeId) => { const nodeData = lfInstance.getNodeDataById(nodeId) if (!nodeData) { return; } const { dynamic } = nodeData.properties if (dynamic) { const { animationData } = dynamic const { animationCombo } = animationData || {} if (animationCombo) { animationCombo.forEach((anim) => { if (anim.dataPoint && anim.animationName === '旋转') { const defaultValue = window.resolveScadaNewValue(anim.defaultValue || '[]') // 必须是最新值 if (defaultValue === '') { lfInstance.setProperties(nodeData.id, { rotateAnimation: false, animationTime: anim.animationTime, }) return } if (anim.min === '' || anim.max === '') { lfInstance.setProperties(nodeData.id, { rotateAnimation: false, animationTime: anim.animationTime, }) return } if (Number(defaultValue) >= Number(anim.min) && defaultValue <= Number(anim.max)) { // 数据点在一定范围内旋转 lfInstance.setProperties(nodeData.id, { rotateAnimation: true, animationTime: anim.animationTime, }) } else { lfInstance.setProperties(nodeData.id, { rotateAnimation: false, animationTime: anim.animationTime, }) } } else if (anim.dataPoint && anim.animationName === '闪烁') { const defaultValue = (window).resolveScadaNewValue(anim.defaultValue || '[]') // 必须是最新值 if (defaultValue === '') { lfInstance.setProperties(nodeData.id, { blinkAnimation: false, }) return } if (anim.min === '' || anim.max === '') { lfInstance.setProperties(nodeData.id, { blinkAnimation: false, }) return } if (Number(defaultValue) >= Number(anim.min) && defaultValue <= Number(anim.max)) { // 数据点在一定范围内闪烁 lfInstance.setProperties(nodeData.id, { blinkAnimation: true, }) } else { lfInstance.setProperties(nodeData.id, { blinkAnimation: false, }) } } else if (!anim.dataPoint && anim.animationName === '旋转') { // 清除动画绑定 lfInstance.setProperties(nodeData.id, { rotateAnimation: false, }) } else if (!anim.dataPoint && anim.animationName === '闪烁') { // 清除动画绑定 lfInstance.setProperties(nodeData.id, { blinkAnimation: false, }) } }) const hasRotate = animationCombo.find((anim) => anim.animationName === '旋转') const hasBlink = animationCombo.find((anim) => anim.animationName === '闪烁') if (!hasRotate) { lfInstance.setProperties(nodeData.id, { rotateAnimation: false, }) } if (!hasBlink) { lfInstance.setProperties(nodeData.id, { blinkAnimation: false, }) } } } }