// 节点IP阈值 Vue.component("node-ip-address-thresholds-view", { props: ["v-thresholds"], data: function () { let thresholds = this.vThresholds if (thresholds == null) { thresholds = [] } else { thresholds.forEach(function (v) { if (v.items == null) { v.items = [] } if (v.actions == null) { v.actions = [] } }) } return { thresholds: thresholds, allItems: window.IP_ADDR_THRESHOLD_ITEMS, allOperators: [ { "name": "小于等于", "code": "lte" }, { "name": "大于", "code": "gt" }, { "name": "不等于", "code": "neq" }, { "name": "小于", "code": "lt" }, { "name": "大于等于", "code": "gte" } ], allActions: [ { "name": "上线", "code": "up", "description": "上线当前IP。" }, { "name": "下线", "code": "down", "description": "下线当前IP。" }, { "name": "通知", "code": "notify", "description": "发送已达到阈值通知。" } ] } }, methods: { itemName: function (item) { let result = "" this.allItems.forEach(function (v) { if (v.code == item) { result = v.name } }) return result }, itemUnitName: function (itemCode) { let result = "" this.allItems.forEach(function (v) { if (v.code == itemCode) { result = v.unit } }) return result }, itemDurationUnitName: function (unit) { switch (unit) { case "minute": return "分钟" case "second": return "秒" case "hour": return "小时" case "day": return "天" } return unit }, itemOperatorName: function (operator) { let result = "" this.allOperators.forEach(function (v) { if (v.code == operator) { result = v.name } }) return result }, actionName: function (actionCode) { let result = "" this.allActions.forEach(function (v) { if (v.code == actionCode) { result = v.name } }) return result } }, template: `
[{{item.duration}}{{itemDurationUnitName(item.durationUnit)}}] {{itemName(item.item)}} [{{group.name}}   ] [{{itemOperatorName(item.operator)}}] {{item.value}}{{itemUnitName(item.item)}}  AND   -> {{actionName(action.action)}} 到{{action.options.ips.join(", ")}}  AND  
` })