@vtx/ember
Advanced tools
| <template> | ||
| <card :title="`报警记录(${total}条)`" style="margin-top: 20rpx;"> | ||
| <template v-slot:rightContent> | ||
| <view class="date-wrap" @click="show = true">{{ alarmStartTimeBegin }}~{{ alarmStartTimeEnd }}<u-icon | ||
| name="arrow-down"></u-icon> | ||
| <view class="date-wrap" @click="show = true" | ||
| >{{ alarmStartTimeBegin }}~{{ alarmStartTimeEnd | ||
| }}<u-icon name="arrow-down"></u-icon> | ||
| </view> | ||
@@ -12,3 +13,8 @@ </template> | ||
| <template v-else> | ||
| <scroll-view scroll-y style="height: 300rpx;" v-if="dataList.length" @scrolltolower="getAlarmRecord(false)"> | ||
| <scroll-view | ||
| scroll-y | ||
| style="height: 300rpx;" | ||
| v-if="dataList.length" | ||
| @scrolltolower="getAlarmRecord(false)" | ||
| > | ||
| <view v-for="item in dataList" class="alarm-record" :key="item.id"> | ||
@@ -18,6 +24,14 @@ <view class="top-content"> | ||
| <view class="status-wrap"> | ||
| <view class="status" :style="getLevelStyle(item.alarmLevel)" v-if="item.alarmLevel">{{ | ||
| item.alarmLevelName }}</view> | ||
| <view class="status" v-if="item.alarmHandleStatus" | ||
| :style="getStatusStyle(item.alarmHandleStatus)">{{ item.alarmHandleStatusName }}</view> | ||
| <view | ||
| class="status" | ||
| :style="getLevelStyle(item.alarmLevel)" | ||
| v-if="item.alarmLevel" | ||
| >{{ item.alarmLevelName }}</view | ||
| > | ||
| <view | ||
| class="status" | ||
| v-if="item.alarmHandleStatus" | ||
| :style="getStatusStyle(item.alarmHandleStatus)" | ||
| >{{ item.alarmHandleStatusName }}</view | ||
| > | ||
| </view> | ||
@@ -37,4 +51,12 @@ </view> | ||
| <u-calendar :show="show" mode="range" @confirm="confirm" :minDate="minDate" :maxDate="maxDate" :monthNum="13" | ||
| @close="show = false" allowSameDay></u-calendar> | ||
| <u-calendar | ||
| :show="show" | ||
| mode="range" | ||
| @confirm="confirm" | ||
| :minDate="minDate" | ||
| :maxDate="maxDate" | ||
| :monthNum="13" | ||
| @close="show = false" | ||
| allowSameDay | ||
| ></u-calendar> | ||
| </card> | ||
@@ -44,7 +66,7 @@ </template> | ||
| <script> | ||
| import dayjs from 'dayjs' | ||
| import card from '../card.vue' | ||
| import dayjs from 'dayjs'; | ||
| import card from '../card.vue'; | ||
| import { request } from '@vtx/utils'; | ||
| import mixins from '../mixins' | ||
| const currentDay = dayjs().format('YYYY-MM-DD') | ||
| import mixins from '../mixins'; | ||
| const currentDay = dayjs().format('YYYY-MM-DD'); | ||
| export default { | ||
@@ -57,3 +79,5 @@ mixins: [mixins], | ||
| alarmStartTimeBegin: currentDay, | ||
| minDate: dayjs().subtract(1, 'year').format('YYYY-MM-DD'), | ||
| minDate: dayjs() | ||
| .subtract(1, 'year') | ||
| .format('YYYY-MM-DD'), | ||
| maxDate: currentDay, | ||
@@ -64,7 +88,7 @@ alarmStartTimeEnd: currentDay, | ||
| loading: false, | ||
| dataList: [] | ||
| } | ||
| dataList: [], | ||
| }; | ||
| }, | ||
| mounted() { | ||
| this.getAlarmRecord(true) | ||
| this.getAlarmRecord(true); | ||
| }, | ||
@@ -74,5 +98,5 @@ methods: { | ||
| this.alarmStartTimeBegin = date[0]; | ||
| this.alarmStartTimeEnd = date[date.length - 1] | ||
| this.alarmStartTimeEnd = date[date.length - 1]; | ||
| this.show = false; | ||
| this.getAlarmRecord(true) | ||
| this.getAlarmRecord(true); | ||
| }, | ||
@@ -83,14 +107,14 @@ getLevelStyle(level) { | ||
| 2: 'rgba(250, 173, 20, 1)', | ||
| 3: 'rgba(91, 143, 249, 1)' | ||
| } | ||
| 3: 'rgba(91, 143, 249, 1)', | ||
| }; | ||
| const backgroundObj = { | ||
| 1: 'rgba(255, 77, 79, 0.2)', | ||
| 2: 'rgba(250, 173, 20, 0.2)', | ||
| 3: 'rgba(91, 143, 249, 0.2)' | ||
| } | ||
| 3: 'rgba(91, 143, 249, 0.2)', | ||
| }; | ||
| return { | ||
| color: colorObj[level] || colorObj['1'], | ||
| background: backgroundObj[level] || backgroundObj['1'] | ||
| } | ||
| background: backgroundObj[level] || backgroundObj['1'], | ||
| }; | ||
| }, | ||
@@ -100,17 +124,17 @@ getStatusStyle(status) { | ||
| UNCONFIRMED: 'rgba(250, 173, 20, 1)', | ||
| CONFIRMED: 'rgba(91, 143, 249, 1)' | ||
| } | ||
| CONFIRMED: 'rgba(91, 143, 249, 1)', | ||
| }; | ||
| const backgroundObj = { | ||
| UNCONFIRMED: 'rgba(250, 173, 20, 0.2)', | ||
| CONFIRMED: 'rgba(91, 143, 249, 0.2)' | ||
| } | ||
| CONFIRMED: 'rgba(91, 143, 249, 0.2)', | ||
| }; | ||
| return { | ||
| color: colorObj[status] || colorObj.CONFIRMED, | ||
| background: backgroundObj[status] || colorObj.CONFIRMED | ||
| } | ||
| background: backgroundObj[status] || colorObj.CONFIRMED, | ||
| }; | ||
| }, | ||
| getAlarmRecord(refresh) { | ||
| if (!refresh && this.dataList.length >= this.total) { | ||
| return | ||
| return; | ||
| } | ||
@@ -120,23 +144,27 @@ if (refresh) { | ||
| this.current = 0; | ||
| this.dataList = [] | ||
| this.dataList = []; | ||
| } | ||
| const { token, type, id, alarmStartTimeBegin, alarmStartTimeEnd, current } = this | ||
| request.post(`/cloud/device/alarmInfo/page?token=${token}&page=${current}&size=20`, { | ||
| data: JSON.stringify({ | ||
| token, | ||
| alarmStartTimeBegin: dayjs(alarmStartTimeBegin).format('YYYY-MM-DD 00:00:00'), | ||
| alarmStartTimeEnd: dayjs(alarmStartTimeEnd).format('YYYY-MM-DD 23:59:59'), | ||
| ...(Number(type) === 1 ? { facilityIds: [id] } : { deviceIds: [id] }) | ||
| }), | ||
| }).then(res => { | ||
| const data = res?.data || {}; | ||
| this.loading = false; | ||
| this.total = data.total; | ||
| this.current = current + 1 | ||
| this.dataList = [...this.dataList, ...data.rows] | ||
| }) | ||
| const { token, type, id, alarmStartTimeBegin, alarmStartTimeEnd, current } = this; | ||
| request | ||
| .post(`/cloud/device/alarmInfo/page?token=${token}&page=${current}&size=20`, { | ||
| data: JSON.stringify({ | ||
| token, | ||
| alarmStartTimeBegin: dayjs(alarmStartTimeBegin).format( | ||
| 'YYYY-MM-DD 00:00:00', | ||
| ), | ||
| alarmStartTimeEnd: dayjs(alarmStartTimeEnd).format('YYYY-MM-DD 23:59:59'), | ||
| ...(Number(type) === 1 ? { facilityIds: [id] } : { deviceIds: [id] }), | ||
| }), | ||
| }) | ||
| .then(res => { | ||
| const data = res?.data || {}; | ||
| this.loading = false; | ||
| this.total = data.total; | ||
| this.current = current + 1; | ||
| this.dataList = [...this.dataList, ...data.rows]; | ||
| }); | ||
| }, | ||
| } | ||
| } | ||
| }, | ||
| }; | ||
| </script> | ||
@@ -143,0 +171,0 @@ |
+4
-5
| { | ||
| "name": "@vtx/ember", | ||
| "version": "3.0.7", | ||
| "version": "3.0.8", | ||
| "scripts": { | ||
@@ -95,7 +95,6 @@ "start": "vuepress dev docs", | ||
| "vue-i18n": "^9.1.9", | ||
| "vuepress": "^2.0.0-rc.0" | ||
| "vuepress": "^2.0.0-rc.0", | ||
| "@vtx/utils": "^1.0.0" | ||
| }, | ||
| "dependencies": { | ||
| "@vtx/utils": "^1.0.20" | ||
| } | ||
| "dependencies": {} | ||
| } |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Obfuscated code
Supply chain riskObfuscated files are intentionally packed to hide their behavior. This could be a sign of malware.
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
14228337
00
-100%0
-100%24
-4%56
1.82%- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed