<template> <div class='RoadNetworkMonitoring'> <!-- 搜索栏 --> <div class="filter"> <InputSearch style="width: 402px;" /> </div> <!-- 内容 --> <div class="body"> <RoadStateCard v-for="item in 16" :key="item" @firstBtnClick="firstBtnClick" /> </div> <!-- 分页 --> <div class="footer"> <Pagination :total="90" /> </div> <EventDetailDialog :visible="eventDetailDialogVisible" @update:value="handleClose" /> </div> </template> <script> import Pagination from '@screen/components/Pagination.vue'; import InputSearch from '@screen/components/InputSearch/index.vue'; import RoadStateCard from '@screen/components/RoadStateCard/index.vue'; import EventDetailDialog from "./EventDetailDialog/index"; export default { name: 'RoadNetworkMonitoring', components: { Pagination, RoadStateCard, InputSearch, EventDetailDialog, Pagination }, data() { return { eventDetailDialogVisible: false } }, methods: { firstBtnClick() { this.eventDetailDialogVisible = true }, handleClose() { this.eventDetailDialogVisible = false; } } } </script> <style lang='scss' scoped> .RoadNetworkMonitoring { padding: 21px; height: 100%; display: flex; flex-direction: column; z-index: 6; .filter { height: 60px; display: flex; justify-content: flex-end; } .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>