...
|
...
|
@@ -9,9 +9,11 @@ |
9
|
9
|
<template #tabBarExtraContent>
|
10
|
10
|
<div class="extra-date">
|
11
|
11
|
<template v-for="(item, index) in dateList" :key="item.value">
|
12
|
|
- <span @click="changeDate(index, item.value)" :class="{ active: index === activeIndex }">{{
|
13
|
|
- item.label
|
14
|
|
- }}</span>
|
|
12
|
+ <span
|
|
13
|
+ @click="quickQueryDate(index, item.value)"
|
|
14
|
+ :class="{ active: index === activeIndex }"
|
|
15
|
+ >{{ item.label }}</span
|
|
16
|
+ >
|
15
|
17
|
</template>
|
16
|
18
|
<DatePicker @change="onDateChange" />
|
17
|
19
|
</div>
|
...
|
...
|
@@ -54,7 +56,7 @@ |
54
|
56
|
defineExpose({
|
55
|
57
|
isAdmin,
|
56
|
58
|
});
|
57
|
|
- defineProps<{
|
|
59
|
+ const props = defineProps<{
|
58
|
60
|
role: string;
|
59
|
61
|
}>();
|
60
|
62
|
const activeKey = ref('1');
|
...
|
...
|
@@ -70,7 +72,8 @@ |
70
|
72
|
tab: '消息量统计',
|
71
|
73
|
},
|
72
|
74
|
];
|
73
|
|
- const activeIndex = ref(0);
|
|
75
|
+ // 快速选择日期
|
|
76
|
+ const activeIndex = ref(1);
|
74
|
77
|
const dateList = ref([
|
75
|
78
|
{ label: '1小时', value: 3600000 },
|
76
|
79
|
{ label: '1天', value: 86400000 },
|
...
|
...
|
@@ -91,6 +94,7 @@ |
91
|
94
|
});
|
92
|
95
|
const { send, close } = useWebSocket(state.server, {
|
93
|
96
|
async onConnected() {
|
|
97
|
+ if (isAdmin(props.role)) return;
|
94
|
98
|
const res = await getEntitiesId();
|
95
|
99
|
entityId = res.data[0].entityId;
|
96
|
100
|
const sendValue = JSON.stringify({
|
...
|
...
|
@@ -142,14 +146,12 @@ |
142
|
146
|
},
|
143
|
147
|
onMessage(_, e) {
|
144
|
148
|
const { data, update } = JSON.parse(e.data);
|
|
149
|
+ console.log('来新消息了', data, update);
|
145
|
150
|
if (activeKey.value === '1') {
|
146
|
151
|
if (data) {
|
147
|
|
- const alarmData = data.data[0]?.latest.TIME_SERIES;
|
148
|
|
- if (alarmData?.createdAlarmsCountHourly) {
|
149
|
|
- const { createdAlarmsCountHourly } = alarmData;
|
150
|
|
- state.alarmItem = [createdAlarmsCountHourly.ts, createdAlarmsCountHourly.value];
|
151
|
|
- state.alarmList.push([createdAlarmsCountHourly.ts, createdAlarmsCountHourly.value]);
|
152
|
|
- }
|
|
152
|
+ const { createdAlarmsCountHourly } = data.data[0].latest.TIME_SERIES;
|
|
153
|
+ state.alarmItem = [createdAlarmsCountHourly.ts, createdAlarmsCountHourly.value];
|
|
154
|
+ state.alarmList.push([createdAlarmsCountHourly.ts, createdAlarmsCountHourly.value]);
|
153
|
155
|
}
|
154
|
156
|
if (update) {
|
155
|
157
|
const { createdAlarmsCountHourly } = update[0].timeseries;
|
...
|
...
|
@@ -157,7 +159,7 @@ |
157
|
159
|
for (const item of createdAlarmsCountHourly) {
|
158
|
160
|
newArray.push([item.ts, item.value]);
|
159
|
161
|
}
|
160
|
|
- state.alarmList = [state.alarmItem, ...newArray];
|
|
162
|
+ state.alarmList = [[...state.alarmItem], ...newArray];
|
161
|
163
|
}
|
162
|
164
|
} else {
|
163
|
165
|
if (data) {
|
...
|
...
|
@@ -167,7 +169,6 @@ |
167
|
169
|
transportDataPointsCountHourly.ts,
|
168
|
170
|
transportDataPointsCountHourly.value,
|
169
|
171
|
];
|
170
|
|
-
|
171
|
172
|
state.MsgCount = [
|
172
|
173
|
transportDataPointsCountHourly.ts,
|
173
|
174
|
transportDataPointsCountHourly.value,
|
...
|
...
|
@@ -182,15 +183,14 @@ |
182
|
183
|
const { transportDataPointsCountHourly, transportMsgCountHourly } = update[0].timeseries;
|
183
|
184
|
const newArray: any[] = [];
|
184
|
185
|
const newArray1: any[] = [];
|
185
|
|
- console.log(update[0]);
|
186
|
186
|
for (const item of transportDataPointsCountHourly) {
|
187
|
187
|
newArray.push([item.ts, item.value]);
|
188
|
188
|
}
|
189
|
189
|
for (const item of transportMsgCountHourly) {
|
190
|
190
|
newArray1.push([item.ts, item.value]);
|
191
|
191
|
}
|
192
|
|
- state.dataPointList = [state.dataPoint, ...newArray];
|
193
|
|
- state.messageList = [state.MsgCount, ...newArray1];
|
|
192
|
+ state.dataPointList = [[...state.dataPoint], ...newArray];
|
|
193
|
+ state.messageList = [[...state.MsgCount], ...newArray1];
|
194
|
194
|
}
|
195
|
195
|
}
|
196
|
196
|
},
|
...
|
...
|
@@ -208,10 +208,10 @@ |
208
|
208
|
cmdId: activeKey.value,
|
209
|
209
|
historyCmd: {
|
210
|
210
|
keys: ['createdAlarmsCountHourly'],
|
211
|
|
- startTs: 1638778336692,
|
212
|
|
- endTs: 1641370336692,
|
213
|
|
- interval: 43200000,
|
214
|
|
- limit: 60,
|
|
211
|
+ startTs: Date.now() - 86400000,
|
|
212
|
+ endTs: Date.now(),
|
|
213
|
+ interval: 7200000,
|
|
214
|
+ limit: 12,
|
215
|
215
|
agg: 'COUNT',
|
216
|
216
|
},
|
217
|
217
|
},
|
...
|
...
|
@@ -273,11 +273,11 @@ |
273
|
273
|
cmdId: activeKey.value,
|
274
|
274
|
historyCmd: {
|
275
|
275
|
keys: ['transportMsgCountHourly', 'transportDataPointsCountHourly'],
|
276
|
|
- startTs: 1641283221226,
|
277
|
|
- endTs: 1641369621226,
|
|
276
|
+ startTs: Date.now() - 86400000,
|
|
277
|
+ endTs: Date.now(),
|
278
|
278
|
interval: 7200000,
|
279
|
279
|
limit: 12,
|
280
|
|
- agg: 'AVG',
|
|
280
|
+ agg: 'COUNT',
|
281
|
281
|
},
|
282
|
282
|
},
|
283
|
283
|
],
|
...
|
...
|
@@ -286,16 +286,36 @@ |
286
|
286
|
send(sendMessageValue2);
|
287
|
287
|
}
|
288
|
288
|
}
|
|
289
|
+ // 选择日期
|
289
|
290
|
function onDateChange(_, dateString) {
|
290
|
|
- const dateTime = formatToDateTime(dateString, 'x');
|
291
|
|
- console.log(dateTime);
|
|
291
|
+ activeIndex.value = -1;
|
|
292
|
+ const dateTime = Number(formatToDateTime(dateString, 'x'));
|
|
293
|
+ // 动态发送ws数据
|
|
294
|
+ const sendValue = JSON.stringify({
|
|
295
|
+ entityDataCmds: [
|
|
296
|
+ {
|
|
297
|
+ cmdId: activeKey.value,
|
|
298
|
+ historyCmd: {
|
|
299
|
+ keys:
|
|
300
|
+ activeKey.value === '1'
|
|
301
|
+ ? ['createdAlarmsCountHourly']
|
|
302
|
+ : ['transportMsgCountHourly', 'transportDataPointsCountHourly'],
|
|
303
|
+ startTs: dateTime,
|
|
304
|
+ endTs: dateTime + 86400000,
|
|
305
|
+ interval: 7200000,
|
|
306
|
+ limit: 12,
|
|
307
|
+ agg: 'COUNT',
|
|
308
|
+ },
|
|
309
|
+ },
|
|
310
|
+ ],
|
|
311
|
+ });
|
|
312
|
+ send(sendValue);
|
292
|
313
|
}
|
293
|
|
- function changeDate(index: number, value: number) {
|
|
314
|
+ // 快速选择时间
|
|
315
|
+ function quickQueryDate(index: number, value: number) {
|
294
|
316
|
activeIndex.value = index;
|
295
|
|
- let limit;
|
296
|
|
- if (value === 3600000 || value === 86400000) {
|
297
|
|
- limit = 12;
|
298
|
|
- } else if (value === 604800000) {
|
|
317
|
+ let limit = 12;
|
|
318
|
+ if (value === 604800000) {
|
299
|
319
|
limit = 7;
|
300
|
320
|
} else if (value === 2592000000) {
|
301
|
321
|
limit = 30;
|
...
|
...
|
|