物管理前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.8 KiB

  1. var showHideHandler = (lfInstance, nodeId) => {
  2. const nodeData = lfInstance.getNodeDataById(nodeId)
  3. if (!nodeData) {
  4. return;
  5. }
  6. const { dynamic } = nodeData.properties
  7. if (dynamic) {
  8. const { hiddenData } = dynamic
  9. const { hiddenCombo } = hiddenData || {}
  10. if (hiddenCombo) {
  11. hiddenCombo.forEach((ele) => {
  12. if (ele.dataPoint && ele.showOrHiddenName === '隐藏') {
  13. const defaultValue = window.resolveScadaNewValue(ele.defaultValue || '[]')
  14. if (defaultValue === '')
  15. return
  16. if (ele.min === '' || ele.max === '')
  17. return
  18. // 必须是最新值
  19. if (defaultValue>= Number(ele.min) && defaultValue <= Number(ele.max)) {
  20. // 数据点在一定范围内隐藏
  21. const nodeModel = lfInstance.getNodeModelById(nodeId)
  22. nodeModel.visible = false
  23. }
  24. else {
  25. // 数据点在一定范围内显示
  26. const nodeModel = lfInstance.getNodeModelById(nodeId)
  27. nodeModel.visible = true
  28. }
  29. }
  30. else if (ele.dataPoint && ele.showOrHiddenName === '显示') {
  31. const defaultValue = window.resolveScadaNewValue(ele.defaultValue || '[]')
  32. if (defaultValue === '')
  33. return
  34. if (ele.min === '' || ele.max === '')
  35. return
  36. // 必须是最新值
  37. if (defaultValue >= Number(ele.min) && defaultValue <= Number(ele.max)) {
  38. // 数据点在一定范围内显示
  39. const nodeModel = lfInstance.getNodeModelById(nodeId)
  40. nodeModel.visible = true
  41. }
  42. else {
  43. // 数据点在一定范围内隐藏
  44. const nodeModel = lfInstance.getNodeModelById(nodeId)
  45. nodeModel.visible = false
  46. }
  47. }
  48. })
  49. }
  50. }
  51. }