alarm center模块,alarm history 页面布局

This commit is contained in:
renpy 2023-07-19 09:34:38 +08:00
parent 08829d0f93
commit 28b54dad8a
3 changed files with 267 additions and 10 deletions

View File

@ -1,15 +1,131 @@
<template>
<div>
alarm history
<div style="height: 100%;">
<SearchBar></SearchBar>
<div class="chart-layout"></div>
<a-card :bordered="false" style="margin-left: 20px;">
<a-tabs default-active-key="info" @change="handleTabChange">
<a-tab-pane key="alarmHistory" tab="ALARM HISTORY">
ALARM HISTORY
</a-tab-pane>
<a-tab-pane key="alarmAnalysis" tab="ALARM ANALYSIS">
ALARM ANALYSIS
</a-tab-pane>
</a-tabs>
</a-card>
</div>
</template>
<script>
export default {
}
import SearchBar from '../../components/searchBar';
export default {
components: {
SearchBar,
},
data() {
return {
}
},
methods: {
handleTabChange(key) {
console.log(key);
},
},
}
</script>
<style lang="scss" scoped>
<style lang="less" scoped>
.chart-layout{
height: 230px;
background: #0ff;
margin-left: 20px;
}
::v-deep {
.ant-tabs{
height: calc(100% - 66px);
.ant-tabs-top-content{
height: calc(100% - 56px);
.ant-tabs-tabpane{
height: 100%;
overflow: auto;
background-color: #02282b;
}
}
}
.ant-tabs-bar{
width: 100%;
height: 40px;
background-color: rgba(12, 235, 201, 0.05);
border-top: 1px solid rgba(12, 235, 201, 0.3);
border-bottom: 1px solid rgba(12, 235, 201, 0.3);
}
.ant-tabs-nav .ant-tabs-tab{
height: 30px;
line-height: 30px;
background-color: rgba(58, 236, 240, 0.22);
font-family: BookmanOldStyle;
font-size: 16px;
font-weight: bold;
font-stretch: normal;
letter-spacing: 2px;
color: #c9f6f6;
margin: 0 0 0 10px;
padding: 0 23px;
position: relative;
&::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 7px;
height: 29px;
color: rgba(58, 236, 240, 0.22);
border: 1px solid #569e9e;
border-right: none;
border-radius: 0;
}
&::after{
content: "";
position: absolute;
top: 0;
right: 0;
width: 7px;
height: 29px;
color: rgba(58, 236, 240, 0.22);
border: 1px solid #569e9e;
border-left: none;
}
&-active{
&::before,
&::after {
border-color: #0cecca !important;
}
}
}
.ant-tabs-ink-bar{
display: none !important
}
.ant-tabs-nav .ant-tabs-tab-active{
color: #2affdf;
}
.ant-tabs-tabpane{
width: 100%;
height: calc(100% - 122px);
border: solid 1px #416f7f;
padding: 15px 20px;
}
.ant-tabs .ant-tabs-top-content > .ant-tabs-tabpane-inactive{
padding: 15px 20px !important
}
.ant-row{
height: 36px;
line-height: 36px;
}
.ant-tabs-tab-prev, .ant-tabs-tab-next{
color: #c9f6f6;
}
.ant-tabs-tab-prev:hover, .ant-tabs-tab-next:hover{
color: #2affdf;
}
}
</style>

View File

@ -0,0 +1,144 @@
<template>
<div class="search-bar">
<a-row type="flex">
<a-col flex="190px">
<a-input placeholder="search..." />
</a-col>
<a-col flex="270px">
<a-form-model-item label="Type">
<a-select v-bind="$attrs" show-arrow @change="onChange">
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
<div slot="dropdownRender" slot-scope="menu">
<v-nodes :vnodes="menu" />
<a-divider style="margin: 0;" />
<div
style="padding: 4px 12px; cursor: pointer;"
@mousedown="e => e.preventDefault()"
>
<a-checkbox v-model="allVal" @change="checkedAll"><span @click.prevent="handleClick">ALL</span></a-checkbox>
</div>
</div>
</a-select>
</a-form-model-item>
</a-col>
<a-col flex="270px">
<a-form-model-item label="Name">
<a-select v-bind="$attrs" show-arrow @change="onChange">
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
<div slot="dropdownRender" slot-scope="menu">
<v-nodes :vnodes="menu" />
<a-divider style="margin: 0;" />
<div
style="padding: 4px 12px; cursor: pointer;"
@mousedown="e => e.preventDefault()"
>
<a-checkbox v-model="allVal" @change="checkedAll"><span @click.prevent="handleClick">ALL</span></a-checkbox>
</div>
</div>
</a-select>
</a-form-model-item>
</a-col>
<a-col flex="380px">
<a-form-model-item label="Alarm date">
<a-range-picker @change="onRangeDateChange" />
</a-form-model-item>
</a-col>
<a-col flex="108px">
<a-button class="search-btn" type="primary" @click="onSearch">
<img src="@/assets/images/global/search.png" alt="" />
Search
</a-button>
</a-col>
</a-row>
</div>
</template>
<script>
export default {
components: {
VNodes: {
functional: true,
render: (h, ctx) => ctx.props.vnodes,
},
},
data() {
return {
allVal: false
}
},
methods: {
checkedAll(val) {
console.log(val);
// this.$emit('changeAll', val.target.checked)
},
handleClick(e) {
console.log(e);
this.allVal = !this.allVal
// this.$emit('changeAll', this.allVal)
},
onChange(val) {
console.log(val);
// this.$emit('change', val)
},
onRangeDateChange(date, dateString) {
console.log(date, dateString);
},
onSearch() {
console.log("qwerq");
// this.$emit('search', this.formModel)
}
},
}
</script>
<style lang="less" scoped>
.search-bar{
height: 50px;
color: rgb(13, 235, 201);
border-top: 1px solid rgba(13, 235, 201, 0.3);
border-bottom: 1px solid rgba(13, 235, 201, 0.3);
margin-left: 20px;
padding: 8px 10px;
}
.ant-input{
width: 166px;
}
.ant-select{
width: 200px;
}
.ant-calendar-picker{
width: 270px;
}
.search-btn {
margin-bottom: 10px;
img {
width: 16px;
height: 17px;
margin-right: 9px;
}
}
::v-deep .ant-form-item {
display: flex;
margin-bottom: 0;
.ant-form-item-label,.ant-form-item-control {
line-height: 32px;
height: 32px;
}
.ant-form-item-label {
flex-shrink: 0;
margin-right: 10px;
label {
font-size: 16px;
font-family: ArialMT;
color: #ade6ee;
&::after {
display: none;
}
}
}
.ant-form-item-control-wrapper {
width: 100%;
overflow: hidden;
}
}
</style>

View File

@ -1,3 +0,0 @@
<template>
<div>异常报警页面</div>
</template>