You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
3.1 KiB
142 lines
3.1 KiB
<template>
|
|
<div class='RoadNetworkMonitoring2'>
|
|
<Tabs :panels="panels" :default-active="activeName" />
|
|
|
|
<!-- 搜索栏 -->
|
|
<div class="filter">
|
|
<div>
|
|
<ButtonGradient>
|
|
<template #prefix>
|
|
<img src="./images/insert.svg" />
|
|
</template>
|
|
新增
|
|
</ButtonGradient>
|
|
<ButtonGradient>
|
|
<template #prefix>
|
|
<img src="./images/export.svg" />
|
|
</template>
|
|
导出
|
|
</ButtonGradient>
|
|
<ButtonGradient>
|
|
<template #prefix>
|
|
<img src="./images/refresh.svg" />
|
|
</template>
|
|
刷新
|
|
</ButtonGradient>
|
|
|
|
</div>
|
|
<InputSearch style="width: 402px;" />
|
|
</div>
|
|
|
|
<!-- 内容 -->
|
|
<div class="body">
|
|
<RoadStateCard v-for="(item, index) in data" :cardData="item" :key="index"
|
|
:lastBtnColor="item.state === 5 ? '#007FF4' : void 0" :lastBtnText="item.state === 5 ? '去确认' : void 0" />
|
|
</div>
|
|
|
|
<!-- 分页 -->
|
|
<div class="footer">
|
|
<Pagination :total="90" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import ButtonGradient from '@screen/components/Buttons/ButtonGradient.vue';
|
|
import Tabs from '@screen/components/Tabs/index.vue';
|
|
import RoadStateCard from '@screen/components/RoadStateCard/index.vue';
|
|
import Pagination from '@screen/components/Pagination.vue';
|
|
import InputSearch from '@screen/components/InputSearch/index.vue';
|
|
|
|
export default {
|
|
name: 'RoadNetworkMonitoring2',
|
|
components: {
|
|
ButtonGradient,
|
|
Tabs,
|
|
Pagination,
|
|
RoadStateCard,
|
|
InputSearch
|
|
},
|
|
data() {
|
|
return {
|
|
data: Array.from({ length: 15 }).map(() => ({
|
|
time: "2023.12.22 13:00:00",
|
|
source: "视频智能识别",
|
|
location: "k100+000",
|
|
direction: "济南方向",
|
|
state: (() => {
|
|
const min = 1;
|
|
const max = 5;
|
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
})()
|
|
})),
|
|
|
|
activeName: "告警事件(20)",
|
|
panels: [
|
|
{
|
|
label: "告警事件(20)",
|
|
key: "告警事件(20)"
|
|
},
|
|
{
|
|
label: "待确认事件(125)",
|
|
key: "待确认事件(125)"
|
|
},
|
|
{
|
|
label: "处置中事件(230)",
|
|
key: "处置中事件(230)"
|
|
},
|
|
{
|
|
label: "已处置事件(76)",
|
|
key: "已处置事件(76)"
|
|
},
|
|
]
|
|
}
|
|
},
|
|
methods: {
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang='scss' scoped>
|
|
.RoadNetworkMonitoring2 {
|
|
padding: 21px;
|
|
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
z-index: 6;
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
.filter {
|
|
height: 60px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
|
|
>div {
|
|
display: flex;
|
|
gap: 6px;
|
|
}
|
|
}
|
|
|
|
.body {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
grid-gap: 24px;
|
|
// grid-row-gap: 9px;
|
|
// grid-column-gap: 9px;
|
|
grid-auto-rows: min-content;
|
|
}
|
|
|
|
.footer {
|
|
margin-top: 15px;
|
|
height: 36px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
}
|
|
</style>
|
|
|