济菏高速业务端
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.

178 lines
4.2 KiB

<template>
1 year ago
<div class="RoadNetworkMonitoring">
<!-- 搜索栏 -->
<div class="filter">
1 year ago
<div class="filter-btn">
<ButtonGradient @click.native="handleExport">
<template #prefix>
<img src="@screen/images/export.svg" />
</template>
导出
</ButtonGradient>
<ButtonGradient @click="onRefresh" class="refresh-btn">
<template #prefix>
<img src="./images/refresh.svg" />
</template>
刷新
</ButtonGradient>
</div>
1 year ago
<InputSearch
style="width: 402px"
:formList="searchFormList"
:formConfigOptions="{ dFormData: { eventState: '0' } }"
@handleSearch="handleSearch"
/>
</div>
<!-- 内容 -->
<div class="body">
1 year ago
<ManualWarningCard
1 year ago
v-for="(item, index) in data"
:key="index"
:cardData="item"
/>
</div>
<!-- 分页 -->
<div class="footer">
<Pagination
@current-change="initData"
@size-change="onSizeChange"
width="'100%'"
:page-sizes="[12, 16, 20, 30, 50]"
:page-size="searchData.pageSize"
:current-page.sync="searchData.pageNum"
layout="total, sizes, prev, pager, next"
:total="total"
>
</Pagination>
</div>
</div>
</template>
<script>
1 year ago
import ButtonGradient from "@screen/components/Buttons/ButtonGradient.vue";
import Pagination from "@screen/components/Pagination.vue";
import InputSearch from "@screen/components/InputSearch/index.vue";
1 year ago
import ManualWarningCard from "@screen/components/ManualWarningCard/index.vue";
import { perceivedEventsList } from "@/api/manualWarning/index.js";
1 year ago
// import EventDispatchDialog from "./EventDispatchDialog/index";
1 year ago
import { searchFormList } from "./data";
1 year ago
import request from "@/utils/request";
const directionMapping = {
1: "菏泽方向",
2: "双向",
3: "济南方向",
};
export default {
1 year ago
name: "RoadNetworkMonitoring",
components: {
1 year ago
Pagination,
1 year ago
ManualWarningCard,
1 year ago
InputSearch,
Pagination,
ButtonGradient,
},
1 year ago
data() {
return {
1 year ago
searchFormList,
1 year ago
detailDialogFormData: {},
total: 0,
data: [],
eventId: "0",
searchData: {
pageSize: 16,
pageNum: 1,
1 year ago
warningSource: "6",
1 year ago
},
};
},
1 year ago
created() {
this.initData();
},
methods: {
1 year ago
// 导出
handleExport() {
this.$message.warning("待开发");
},
// 刷新
onRefresh() {},
1 year ago
initData() {
1 year ago
perceivedEventsList(this.searchData).then((res) => {
console.log("res", res);
if (res.code != 200) return Message.error(res?.msg);
this.total = res.total;
res.rows.forEach((it) => {
it.source = "非机预警";
1 year ago
it.stringDirection = directionMapping[it.direction] || it.direction;
});
1 year ago
this.data = res.rows;
1 year ago
});
1 year ago
// request({
// // url: `/dc/system/event/dispatchEventList`,
// url: "/dc/system/event/list",
// method: "get",
// params: this.searchData,
// }).then((result) => {
// if (result.code != 200) return Message.error(result?.msg);
// this.total = result.total;
// result.rows.forEach((it) => {
// it.stringDirection = directionMapping[it.direction] || it.direction;
// });
// this.data = result.rows;
// });
1 year ago
},
onSizeChange(pageSize) {},
getStateCardBind(item) {},
1 year ago
1 year ago
firstBtnClick(id) {},
handleSearch(data) {},
},
};
</script>
1 year ago
<style lang="scss" scoped>
.RoadNetworkMonitoring {
padding: 21px;
height: 100%;
display: flex;
1 year ago
flex-direction: column;
z-index: 6;
.filter {
height: 38px;
display: flex;
// justify-content: flex-end;
justify-content: space-between;
1 year ago
.filter-btn {
width: 150px;
justify-content: space-between;
display: flex;
1 year ago
}
}
.body {
flex: 1;
overflow: auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 20px;
// 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>