| | |
| | | // 交直流 |
| | | // 交直流 遥信 |
| | | const props1 = [ |
| | | { |
| | | label: "交流输入1停电", |
| | |
| | | tip: "直流配电柜任一告警", |
| | | }, |
| | | ]; |
| | | // 高频 遥信 |
| | | const props2 = [ |
| | | { |
| | | label: "模块N开关机状态", |
| | |
| | | }, |
| | | ]; |
| | | |
| | | // 交直流 遥测 |
| | | const param_acdc = [ |
| | | { |
| | | label: "第1路交流A相输入电压", |
| | |
| | | }, |
| | | ]; |
| | | |
| | | // 高频 遥测 |
| | | const param_gp = [ |
| | | { |
| | | label: "高频开关配电柜温度", |
| | |
| | | }, |
| | | ]; |
| | | |
| | | // 去重 |
| | | function noRepeat(arr) { |
| | | return arr.filter(function(item, index, arr) { |
| | | //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素 |
| | | return arr.indexOf(item, 0) === index; |
| | | }); |
| | | } |
| | | |
| | | const getYXParams = (type) => { |
| | | let list = []; |
| | | let key = ""; |
| | | let regAc = /^ac/; |
| | | let regDc = /^dc|^monitor/; |
| | | switch (type) { |
| | | case 1: |
| | | case "ac": |
| | | list = props1.filter((v) => { |
| | | if (v.childrenCount) { |
| | | key = v.key0[0]; |
| | | } else { |
| | | key = v.key0; |
| | | } |
| | | return regAc.test(key); |
| | | }); |
| | | break; |
| | | case 2: |
| | | case "dc": |
| | | list = props1.filter((v) => { |
| | | if (v.childrenCount) { |
| | | key = v.key0[0]; |
| | | } else { |
| | | key = v.key0; |
| | | } |
| | | return regDc.test(key); |
| | | }); |
| | | break; |
| | | case 3: |
| | | case "gp": |
| | | list = props2; |
| | | break; |
| | | default: |
| | | list = [...props1, ...props2]; |
| | | break; |
| | | } |
| | | let arr = []; |
| | | for (let i = 0, j = list.length; i < j; i++) { |
| | | let item = list[i]; |
| | | if (item.childrenCount) { |
| | | for (let m = 0, n = item.childrenCount; m < n; m++) { |
| | | let idx = m + 1; |
| | | let mIdx = Math.floor(m / 25); |
| | | arr.push(item.label.replace("N", idx)); |
| | | } |
| | | } else { |
| | | arr.push(item.label); |
| | | } |
| | | } |
| | | return noRepeat(arr); |
| | | }; |
| | | |
| | | const getYCParams = (type) => { |
| | | let list = []; |
| | | let key = ""; |
| | | let regAc = /^ac/; |
| | | let regDc = /^dc/; |
| | | switch (type) { |
| | | case 1: |
| | | case "ac": |
| | | list = param_acdc.filter((v) => { |
| | | key = v.key0; |
| | | return regAc.test(key); |
| | | }); |
| | | break; |
| | | case 2: |
| | | case "dc": |
| | | list = param_acdc.filter((v) => { |
| | | key = v.key0; |
| | | return regDc.test(key); |
| | | }); |
| | | break; |
| | | case 3: |
| | | case "gp": |
| | | list = param_gp; |
| | | break; |
| | | default: |
| | | list = [...param_acdc, ...param_gp]; |
| | | break; |
| | | } |
| | | |
| | | let arr = []; |
| | | for (let i = 0, j = list.length; i < j; i++) { |
| | | arr.push(list[i].label); |
| | | } |
| | | return noRepeat(arr); |
| | | }; |
| | | |
| | | const getYCParamsObj = (type) => { |
| | | let list = []; |
| | | let key = ""; |
| | | let regAc = /^ac/; |
| | | let regDc = /^dc/; |
| | | switch (type) { |
| | | case 1: |
| | | case "ac": |
| | | list = param_acdc.filter((v) => { |
| | | key = v.key0; |
| | | return regAc.test(key); |
| | | }); |
| | | break; |
| | | case 2: |
| | | case "dc": |
| | | list = param_acdc.filter((v) => { |
| | | key = v.key0; |
| | | return regDc.test(key); |
| | | }); |
| | | break; |
| | | case 3: |
| | | case "gp": |
| | | list = param_gp; |
| | | break; |
| | | } |
| | | |
| | | let arr = []; |
| | | for (let i = 0, j = list.length; i < j; i++) { |
| | | arr.push(list[i]); |
| | | } |
| | | return arr; |
| | | }; |
| | | |
| | | const getYXParamsObj = (type) => { |
| | | let list = []; |
| | | let key = ""; |
| | | let regAc = /^ac/; |
| | | let regDc = /^dc|^monitor/; |
| | | switch (type) { |
| | | case 1: |
| | | case "ac": |
| | | list = props1.filter((v) => { |
| | | if (v.childrenCount) { |
| | | key = v.key0[0]; |
| | | } else { |
| | | key = v.key0; |
| | | } |
| | | return regAc.test(key); |
| | | }); |
| | | break; |
| | | case 2: |
| | | case "dc": |
| | | list = props1.filter((v) => { |
| | | if (v.childrenCount) { |
| | | key = v.key0[0]; |
| | | } else { |
| | | key = v.key0; |
| | | } |
| | | return regDc.test(key); |
| | | }); |
| | | break; |
| | | case 3: |
| | | case "gp": |
| | | list = props2; |
| | | break; |
| | | } |
| | | let arr = []; |
| | | for (let i = 0, j = list.length; i < j; i++) { |
| | | let item = list[i]; |
| | | if (item.childrenCount) { |
| | | for (let m = 0, n = item.childrenCount; m < n; m++) { |
| | | let idx = m + 1; |
| | | let mIdx = Math.floor(m / 25); |
| | | arr.push({ |
| | | label0: item.label, |
| | | label: item.label.replace("N", idx), |
| | | key0: item.key0[mIdx] + '_' + idx, |
| | | key1: item.key1[mIdx] + '_' + idx, |
| | | flag: item.flag[mIdx] + '_' + idx, |
| | | }); |
| | | } |
| | | } else { |
| | | arr.push(item); |
| | | } |
| | | } |
| | | return arr; |
| | | }; |
| | | |
| | | export default { |
| | | props1, |
| | | props2, |
| | | param_acdc, |
| | | param_gp, |
| | | getYXParams, |
| | | getYCParams, |
| | | getYXParamsObj, |
| | | getYCParamsObj, |
| | | }; |