1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
| <template>
| <div class="alarm-source-manage">
| <el-transfer
| v-model="value"
| :data="data"
| filterable
| class="transfer-width320"
| :titles="['告警来源-电源设备', '告警来源-平台告警规则']"
| :button-texts="['移除', '添加']"
| @change="handleChange"></el-transfer>
| </div>
| </template>
|
| <script>
|
|
| import {changeSource, powerSourceManage} from "@/views/alarmMager/js/power";
|
| export default {
| name: "alarmSourceManage",
| props: {
| id: {
| type: [String, Number],
| default: 0
| }
| },
| data() {
| return {
| data: [],
| value: [],
| alarmIdList: [
| 110001, 110002, 110003, 110004, 110005, 110006, 110007, 110008, 110009,
| 110035, 110036, 110037, 110047, 110048, 110049, 110050, 110051, 110052,
| 110053, 110054, 110055, 110056, 110057, 110058, 110059, 110060, 110061,
| 110062, 110063, 110064, 110065, 110066, 110067, 110068, 110069, 110070,
| 110071, 110072, 110073, 110074, 110075, 110076, 110077, 110078, 110079,
| 110080, 110081, 110082, 110083, 110084, 110085, 110086, 110087, 110088,
| 110089, 110090, 110091, 110092, 110093, 110094, 110137, 110138, 110139,
| 110140, 110141, 110142, 110143, 110144, 110145, 110146,
| ],
| };
| },
| methods: {
| searchData() {
| powerSourceManage(this.id).then(res=>{
| let rs = res.data;
| let list = [];
| if(rs.code == 1) {
| list = rs.data;
| }
| this.formatData(list);
| }).catch(error=>{
| console.log(error);
| this.formatData([]);
| });
| },
| formatData(list) {
| let value = [];
| let data = [];
| let alarmIdList = this.alarmIdList;
| let filterList = list.filter(item=>{
| return this.isInAlarmIdList(item.alarmId, alarmIdList);
| });
| filterList.map(item=>{
| if(item.alarmSource) {
| value.push(item.alarmId);
| }
| item.key = item.alarmId;
| item.label = item.alarmName;
| data.push({...item});
| })
| this.value = value;
| this.data = data;
| },
| handleChange(list, type, values) {
| // 根据类型确定事件
| switch (type) {
| case "left":
| this.remove(values);
| break;
| case "right":
| this.add(values);
| break;
| }
| },
| add(list) {
| let changeList = this.getChangeList(this.data, list);
| changeSource(changeList, true).then((res)=>{
| let rs = res.data;
| if(rs.code == 1) {
| this.$message.success("将告警来源变成为平台告警规则成功");
| }else {
| this.$message.error("将告警来源变成为平台告警规则失败");
| }
| this.searchData();
| }).catch(error=>{
| this.searchData();
| });
| },
| remove(list) {
| let changeList = this.getChangeList(this.data, list);
| changeSource(changeList, false).then((res)=>{
| let rs = res.data;
| if(rs.code == 1) {
| this.$message.success("将告警来源变成为电源设备成功");
| }else {
| this.$message.error("将告警来源变成为电源设备失败");
| }
| this.searchData();
| }).catch(error=>{
| this.searchData();
| });
| },
| getChangeList(data, list) {
| let result = [];
| for(let i=0; i<list.length;i++) {
| let value = list[i];
| for(let j=0;j<data.length; j++) {
| let item = data[j];
| if(item.alarmId == value) {
| result.push({...item});
| break;
| }
| }
| }
| return result;
| },
| isInAlarmIdList(id, list) {
| let isIn = false;
| for(let i=0; i<list.length; i++) {
| let item = list[i];
| if(item == id) {
| isIn = true;
| break;
| }
| }
| return isIn;
| }
| },
| mounted() {
| this.searchData();
| }
| }
| </script>
|
| <style scoped>
| .alarm-source-manage {
| width: 960px;
| height: 600px;
| background-color: #024d5f;
| padding-top: 16px;
| padding-bottom: 16px;
| }
| </style>
|
|