数据大屏图表接口对接
This commit is contained in:
@ -10,54 +10,39 @@
|
||||
<div class="alarm-table-body" ref="tableBody"
|
||||
:style="{ animationDuration: `${alarmData.length * 2}s`, animationTimingFunction: 'linear' }">
|
||||
<div v-for="(item, index) in alarmData" :key="index" class="alarm-item">
|
||||
<div class="item-cell">{{ item.alarmTime }}</div>
|
||||
<div class="item-cell">{{ item.deviceType }}</div>
|
||||
<div class="item-cell">{{ item.deviceIMEI }}</div>
|
||||
<div class="item-cell alarm-event">{{ item.alarmEvent }}</div>
|
||||
<div class="item-cell">{{ item.alarmLocation }}</div>
|
||||
</div>
|
||||
<!-- 复制一份数据,实现无缝滚动 -->
|
||||
<div v-for="(item, index) in alarmData" :key="index + 'copy'" class="alarm-item">
|
||||
<div class="item-cell">{{ item.alarmTime }}</div>
|
||||
<div class="item-cell">{{ item.deviceType }}</div>
|
||||
<div class="item-cell">{{ item.deviceIMEI }}</div>
|
||||
<div class="item-cell alarm-event">{{ item.alarmEvent }}</div>
|
||||
<div class="item-cell">{{ item.alarmLocation }}</div>
|
||||
<div class="item-cell">{{ item.startTime }}</div>
|
||||
<div class="item-cell">{{ item.deviceTypeName }}</div>
|
||||
<div class="item-cell">{{ item.deviceImei }}</div>
|
||||
<div class="item-cell alarm-event">
|
||||
{{ {
|
||||
0: '强制报警',
|
||||
1: '撞击闯入',
|
||||
2: '自动报警',
|
||||
3: '电子围栏告警'
|
||||
}[item.deviceAction]}}
|
||||
|
||||
</div>
|
||||
<div class="item-cell">{{ item.location }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { getRealtimeAlarm } from '@/api/homeIndex/index';
|
||||
|
||||
// 模拟报警数据
|
||||
const alarmData = ref([
|
||||
{
|
||||
alarmTime: '2025-09-01 20:16:54',
|
||||
deviceType: 'BJQ6170',
|
||||
deviceIMEI: '123456789123456',
|
||||
alarmEvent: '强制报警',
|
||||
alarmLocation: '湖北省武汉市国际企业中心聚星楼'
|
||||
},
|
||||
{
|
||||
alarmTime: '2025-09-01 20:16:54',
|
||||
deviceType: 'BJQ6170',
|
||||
deviceIMEI: '123456789123456',
|
||||
alarmEvent: '强制报警',
|
||||
alarmLocation: '湖北省武汉市国际企业中心聚星楼'
|
||||
},
|
||||
{
|
||||
alarmTime: '2025-09-01 20:16:54',
|
||||
deviceType: 'BJQ6170',
|
||||
deviceIMEI: '123456789123456',
|
||||
alarmEvent: '强制报警',
|
||||
alarmLocation: '湖北省武汉市国际企业中心聚星楼'
|
||||
}
|
||||
]);
|
||||
const getRealtimeAlarmData = () => {
|
||||
getRealtimeAlarm().then((res) => {
|
||||
alarmData.value = res.data;
|
||||
});
|
||||
}
|
||||
|
||||
const tableBody = ref(null);
|
||||
|
||||
onMounted(() => {
|
||||
getRealtimeAlarmData()
|
||||
// 启动滚动动画
|
||||
if (tableBody.value) {
|
||||
tableBody.value.style.animationName = 'scroll';
|
||||
@ -76,9 +61,9 @@ onMounted(() => {
|
||||
|
||||
.alarm-table-header {
|
||||
display: flex;
|
||||
color: #267AD0;
|
||||
color: #00C0FF;
|
||||
border-bottom: 1px dashed rgba(100, 150, 200, 0.3);
|
||||
font-size: 1vw;
|
||||
font-size: 0.8vw;
|
||||
}
|
||||
|
||||
.header-item {
|
||||
|
||||
Reference in New Issue
Block a user