analysis monitor 模块 alarm rules 页面搭建
This commit is contained in:
parent
c2b4318c56
commit
1e25c77ca3
|
@ -7,7 +7,7 @@
|
|||
<a-button class="rules-add" @click="handleAdd">
|
||||
<img class="icon-add" src="@/assets/images/global/add.png" alt="" />
|
||||
<span style="margin-left: 10px;">
|
||||
Create Alert Rule
|
||||
Create Alarm Rule
|
||||
</span>
|
||||
</a-button>
|
||||
</a-col>
|
||||
|
@ -750,11 +750,11 @@ export default {
|
|||
.item-label{
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-family: ArialMT;
|
||||
color: #ade6ee;
|
||||
line-height: 32px;
|
||||
height: 32px;
|
||||
margin-right: 10px;
|
||||
font-family: ArialMT;
|
||||
color: #ade6ee;
|
||||
line-height: 32px;
|
||||
height: 32px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.rules-add{
|
||||
background-color: #1397a3;
|
||||
|
|
|
@ -10,11 +10,35 @@
|
|||
:list="dataSource"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:canSelect="false"
|
||||
:selectRowClick="rowClick"
|
||||
>
|
||||
<template slot="info" slot-scope="{ record}">
|
||||
<div class="info-alarm">{{ record.alarmValue }}{{ JSON.parse(record.operator).units }}</div>
|
||||
<div>{{ JSON.parse(record.operator).name }} {{ JSON.parse(record.operator).operator }} {{ JSON.parse(record.operator).threshold }}{{ JSON.parse(record.operator).units }}</div>
|
||||
<template slot="station" slot-scope="{ text }">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template slot="title">
|
||||
{{ text.join("/") }}
|
||||
</template>
|
||||
{{ text.join("/") }}
|
||||
</a-tooltip>
|
||||
</template>
|
||||
<template slot="dataSource" slot-scope="{ text }">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template slot="title">
|
||||
{{ text.join("/") }}
|
||||
</template>
|
||||
{{ text.join("/") }}
|
||||
</a-tooltip>
|
||||
</template>
|
||||
<template slot="info" slot-scope="{ text, record }">
|
||||
<a-popover placement="bottomLeft" overlayClassName="qqqqq">
|
||||
<template slot="content">
|
||||
<a-table
|
||||
:columns="columns_info"
|
||||
:dataSource="record.nuclideList"
|
||||
:pagination="false"
|
||||
></a-table>
|
||||
</template>
|
||||
{{ text }}
|
||||
</a-popover>
|
||||
</template>
|
||||
</TableList>
|
||||
<a-pagination
|
||||
|
@ -166,22 +190,30 @@ const columns = [{
|
|||
title: 'STATION',
|
||||
align: 'left',
|
||||
dataIndex: 'station',
|
||||
width: 250,
|
||||
},{
|
||||
width: 160,
|
||||
ellipsis: true,
|
||||
scopedSlots: {
|
||||
customRender: 'station',
|
||||
}
|
||||
},{
|
||||
title: 'COLLECTION START',
|
||||
align: 'left',
|
||||
dataIndex: 'station',
|
||||
width: 250,
|
||||
dataIndex: 'collectionStartTime',
|
||||
width: 200,
|
||||
},{
|
||||
title: 'ALARM TIME',
|
||||
align: 'left',
|
||||
dataIndex: 'alarmTime',
|
||||
width: 250,
|
||||
dataIndex: 'alarmStartDate',
|
||||
width: 200,
|
||||
},{
|
||||
title: 'DATA SOURCES ',
|
||||
align: 'left',
|
||||
dataIndex: 'dataSources',
|
||||
width: 250,
|
||||
dataIndex: 'dataSource',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: {
|
||||
customRender: 'dataSource',
|
||||
}
|
||||
},{
|
||||
title: 'ALARM INFO',
|
||||
align: 'left',
|
||||
|
@ -191,6 +223,32 @@ const columns = [{
|
|||
}
|
||||
}
|
||||
]
|
||||
const columns_info = [{
|
||||
title: 'NUCLIDE',
|
||||
align: 'left',
|
||||
dataIndex: 'nuclide'
|
||||
},{
|
||||
title: 'THRESHOLD ',
|
||||
align: 'left',
|
||||
dataIndex: 'threshold'
|
||||
},{
|
||||
title: 'ARMDARR',
|
||||
align: 'left',
|
||||
dataIndex: 'ARMDARR'
|
||||
},{
|
||||
title: 'ARMDRRR',
|
||||
align: 'left',
|
||||
dataIndex: 'ARMDRRR'
|
||||
},{
|
||||
title: 'IDCARR',
|
||||
align: 'left',
|
||||
dataIndex: 'IDCARR'
|
||||
},{
|
||||
title: 'IDCRRR',
|
||||
align: 'left',
|
||||
dataIndex: 'IDCRRR'
|
||||
}
|
||||
]
|
||||
const columns_acq = [{
|
||||
title: 'NUCLIDE',
|
||||
align: 'center',
|
||||
|
@ -223,7 +281,33 @@ export default {
|
|||
stationOptions: [],
|
||||
paramsArg: {},
|
||||
columns,
|
||||
dataSource: [],
|
||||
columns_info,
|
||||
dataSource: [
|
||||
{
|
||||
name: "ARP01、ARP02测试报警规则名称",
|
||||
station: [ "ARP01", "ARP02","ARP01","ARP01","ARP01","ARP01","ARP01","ARP01" ],
|
||||
collectionStartTime: "2023-07-25 16:27:03",
|
||||
alarmStartDate: "2023-07-25 16:27:03",
|
||||
alarmInfo: "Ce141核素首次出现;Ce141、Cs134、Cs137核素浓度高于历史平均值",
|
||||
nuclideList: [
|
||||
{ nuclide: "Cs132", threshold: 1.3, ARMDARR: 2.2, ARMDRRR: null, IDCARR: null, IDCRRR: null },
|
||||
{ nuclide: "Cs132", threshold: 1.3, ARMDARR: 2.2, ARMDRRR: null, IDCARR: 2.2, IDCRRR: null }
|
||||
],
|
||||
dataSource: [ "ARMDARR", "IDCARR","ARMDARR","ARMDARR" ]
|
||||
},
|
||||
{
|
||||
name: "UPS02测试报警规则名称",
|
||||
station: [ "UPS02" ],
|
||||
collectionStartTime: "2023-07-25 16:37:03",
|
||||
alarmStartDate: "2023-07-25 16:27:03",
|
||||
alarmInfo: "Pb210、Pb212核素浓度高于历史平均值",
|
||||
nuclideList: [
|
||||
{ nuclide: "Pb210", threshold: 1.3, ARMDARR: 2.2, ARMDRRR: 3.21393, IDCARR: -0.34512, IDCRRR: null },
|
||||
{ nuclide: "Pb212", threshold: 1.3, ARMDARR: 2.2, ARMDRRR: -3.2323, IDCARR: 2.2, IDCRRR: null }
|
||||
],
|
||||
dataSource: [ "ARMDARR", "ARMDRRR" ]
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
ipagination:{
|
||||
current: 1,
|
||||
|
@ -265,6 +349,7 @@ export default {
|
|||
})
|
||||
},
|
||||
handleSearch({ startDate, endDate, stations, sources }) {
|
||||
console.log(startDate, endDate, stations, sources);
|
||||
this.paramsArg = {
|
||||
startDate,
|
||||
endDate,
|
||||
|
@ -273,6 +358,9 @@ export default {
|
|||
}
|
||||
// this.getServerAlarmHistory({ startDate, endDate, names })
|
||||
},
|
||||
rowClick(record) {
|
||||
this.isDetail = true
|
||||
},
|
||||
handlePageChange(page, pageSize) {
|
||||
this.ipagination.current = page
|
||||
this.ipagination.pageSize = pageSize
|
||||
|
@ -372,3 +460,23 @@ export default {
|
|||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.qqqqq{
|
||||
.ant-popover-arrow{
|
||||
border-left-color: #1993cc !important;
|
||||
border-top-color: #1993cc !important;
|
||||
}
|
||||
.ant-popover-inner-content{
|
||||
padding: 0;
|
||||
}
|
||||
.ant-table-thead > tr th{
|
||||
background-color: #1993cc !important;
|
||||
}
|
||||
.ant-table-tbody tr{
|
||||
background-color: #084a5b;
|
||||
}
|
||||
.ant-table-tbody tr:nth-child(2n){
|
||||
background-color: rgba(13, 113, 139, 0.2);
|
||||
}
|
||||
}
|
||||
</style>
|
597
src/views/abnormalAlarm/analysisMonitor/alarmRules/index.vue
Normal file
597
src/views/abnormalAlarm/analysisMonitor/alarmRules/index.vue
Normal file
|
@ -0,0 +1,597 @@
|
|||
<template>
|
||||
<div style="height: 100%;">
|
||||
<div class="rules-header">
|
||||
<a-row type="flex" :gutter="10">
|
||||
<a-col flex="190px">
|
||||
<a-button class="rules-add" @click="handleAdd">
|
||||
<img class="icon-add" src="@/assets/images/global/add.png" alt="" />
|
||||
<span style="margin-left: 10px;">
|
||||
Create Alarm Rule
|
||||
</span>
|
||||
</a-button>
|
||||
</a-col>
|
||||
<a-col flex="265px">
|
||||
<span class="item-label">Station</span>
|
||||
<a-select style="width:180px"
|
||||
v-model="queryParams.station"
|
||||
mode="multiple"
|
||||
placeholder="select..."
|
||||
:maxTagCount="1"
|
||||
:filter-option="filterOption"
|
||||
show-arrow
|
||||
:options="stationOptions"
|
||||
@change="onStationChange"
|
||||
>
|
||||
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
|
||||
</a-select>
|
||||
</a-col>
|
||||
<a-col flex="310px">
|
||||
<span class="item-label">Data Sources</span>
|
||||
<a-select style="width:180px"
|
||||
v-model="queryParams.source"
|
||||
mode="multiple"
|
||||
placeholder="select..."
|
||||
:maxTagCount="1"
|
||||
:filter-option="filterOption"
|
||||
show-arrow
|
||||
:options="sourceOptions"
|
||||
@change="onSourceChange"
|
||||
>
|
||||
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
|
||||
</a-select>
|
||||
</a-col>
|
||||
<a-col flex="265px">
|
||||
<span class="item-label">Nuclide</span>
|
||||
<a-select style="width:180px"
|
||||
v-model="queryParams.nuclide"
|
||||
mode="multiple"
|
||||
placeholder="select..."
|
||||
:maxTagCount="1"
|
||||
:filter-option="filterOption"
|
||||
show-arrow
|
||||
:options="nuclideOptions"
|
||||
@change="onNuclideChange"
|
||||
>
|
||||
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
|
||||
</a-select>
|
||||
</a-col>
|
||||
<a-col>
|
||||
<a-button class="search-btn" @click="onSearch">
|
||||
<img class="icon-add" src="@/assets/images/global/search.png" alt="" />
|
||||
<span style="margin-left: 10px;">
|
||||
Search
|
||||
</span>
|
||||
</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<div class="rules-content">
|
||||
<a-spin :spinning="spinning">
|
||||
<div class="monitor-list">
|
||||
<div class="monitor-list-item">
|
||||
<div class="monitor-list-item-title">
|
||||
<div class="monitor-list-item-title-name">asdfsd</div>
|
||||
<div class="monitor-list-item-title-server">
|
||||
<span style="color: #5b9cba;">Qualifier:</span>
|
||||
<span style="color: #ade6ee;">FULL</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="monitor-list-item-content">
|
||||
<div class="monitor-list-item-content-info">
|
||||
<div>
|
||||
Source:
|
||||
<a-tooltip>
|
||||
<template slot="title">
|
||||
asdfasdfas
|
||||
</template>
|
||||
<span>asdfasdfas</span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div>
|
||||
Stations:
|
||||
<a-tooltip>
|
||||
<template slot="title">
|
||||
asdfasdfas
|
||||
</template>
|
||||
<span>asdfasdfas</span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div>
|
||||
Nuclides:
|
||||
<a-tooltip>
|
||||
<template slot="title">
|
||||
asdfasdfas
|
||||
</template>
|
||||
<span>asdfasdfas</span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="[1==1?'monitor-list-item-content-enable':'monitor-list-item-content-disable', 'monitor-list-item-content-btn']">
|
||||
{{ 1==1?"Enable":"Disabled" }}
|
||||
</div>
|
||||
<!-- <div :class="[item.enabled==1?'monitor-list-item-content-enable':'monitor-list-item-content-disable', 'monitor-list-item-content-btn']">
|
||||
{{ item.enabled==1?"Enable":"Disabled" }}
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="monitor-list-item-footer">
|
||||
<div class="monitor-list-item-footer-group">
|
||||
<span style="color: #5b9cba;">Alarm Contact Group:</span>
|
||||
<span style="color: #ade6ee;">sadfasdfa</span>
|
||||
</div>
|
||||
<div class="monitor-list-item-footer-actions">
|
||||
<span title="Edit" class="actions-edit" @click="editItem()"></span>
|
||||
<span title="Delete" class="actions-delete" @click="deleteItem()"></span>
|
||||
<span v-if="1==1" title="Enable" class="actions-enable" @click="changeItemStatus()">
|
||||
</span>
|
||||
<span v-if="1==0" title="Disabled" class="actions-disable" @click="changeItemStatus()">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <j-multi-select-tag type="checkbox" dictCode="spectral_qualifier" /> -->
|
||||
</div>
|
||||
</a-spin>
|
||||
<a-pagination
|
||||
size="small"
|
||||
v-model="ipagination.current"
|
||||
:pageSize="ipagination.pageSize"
|
||||
:page-size-options="ipagination.pageSizeOptions"
|
||||
show-size-changer
|
||||
show-quick-jumper
|
||||
:total="ipagination.total"
|
||||
:show-total="(total, range) => `Total ${total} items Page ${ipagination.current} / ${Math.ceil(total / ipagination.pageSize)}`"
|
||||
show-less-items
|
||||
@change="handlePageChange"
|
||||
@showSizeChange="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
<a-modal
|
||||
:title="isAdd ? 'Add Rule' : 'Edit Rule'"
|
||||
:width="845"
|
||||
v-model="visible"
|
||||
@cancel="onCancel"
|
||||
>
|
||||
<a-form
|
||||
:form="form"
|
||||
:label-col="labelCol"
|
||||
:wrapper-col="wrapperCol"
|
||||
>
|
||||
<a-form-item label="Name">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'name',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please input name!' }],
|
||||
initialVale: this.formVal.name
|
||||
}
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="Analyse Source">
|
||||
<j-multi-select-tag
|
||||
type="checkbox"
|
||||
dictCode="alarm_analyse_rule_source"
|
||||
v-decorator="[
|
||||
'source',
|
||||
{
|
||||
rules: [{ required: true }],
|
||||
initialVale: this.formVal.source
|
||||
}
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="Station">
|
||||
<a-select
|
||||
mode="multiple"
|
||||
placeholder="select..."
|
||||
:filter-option="filterOption"
|
||||
show-arrow
|
||||
:options="stationOptions"
|
||||
v-decorator="[
|
||||
'station',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please select station' }],
|
||||
initialVale: this.formVal.station
|
||||
}
|
||||
]"
|
||||
>
|
||||
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="Nuclide">
|
||||
<a-select
|
||||
mode="multiple"
|
||||
placeholder="select..."
|
||||
:maxTagCount="5"
|
||||
:filter-option="filterOption"
|
||||
show-arrow
|
||||
:options="nuclideOptions"
|
||||
v-decorator="[
|
||||
'nuclide',
|
||||
{
|
||||
rules: [{ required: true, message: 'Please select nuclide' }],
|
||||
initialVale: this.formVal.nuclide
|
||||
}
|
||||
]"
|
||||
>
|
||||
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="Spectral Qualifier">
|
||||
<j-multi-select-tag
|
||||
type="checkbox"
|
||||
dictCode="spectral_qualifier"
|
||||
v-decorator="[
|
||||
'qualifier',
|
||||
{
|
||||
rules: [{ required: true }],
|
||||
initialVale: this.formVal.qualifier
|
||||
}
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="Condition">
|
||||
<a-checkbox-group
|
||||
v-decorator="[
|
||||
'condition',
|
||||
{
|
||||
rules: [{ required: true }],
|
||||
initialVale: this.formVal.condition
|
||||
}
|
||||
]"
|
||||
>
|
||||
<a-row v-for="(item, key) in dictOptions" :key="key" >
|
||||
<a-checkbox :value="item.value">{{ item.text || item.label }}</a-checkbox>
|
||||
</a-row>
|
||||
</a-checkbox-group>
|
||||
</a-form-item>
|
||||
<a-form-item label="Remark">
|
||||
<a-input
|
||||
type="textarea"
|
||||
v-decorator="[
|
||||
'remark',
|
||||
{
|
||||
initialVale: this.formVal.desc
|
||||
}
|
||||
]"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
<template slot="footer">
|
||||
<a-space class="operators" :size="20">
|
||||
<a-button type="success" @click="onSave">Save</a-button>
|
||||
<a-button type="warn" @click="onCancel">Cancel</a-button>
|
||||
</a-space>
|
||||
</template>
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ajaxGetDictItems } from '@/api/api'
|
||||
import { getAction, postAction, httpAction, deleteAction } from '@/api/manage'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
isAdd: true,
|
||||
visible: false,
|
||||
spinning: false,
|
||||
queryParams: {
|
||||
station: undefined,
|
||||
source: undefined,
|
||||
buclide: undefined
|
||||
},
|
||||
sourceOptions: [
|
||||
{
|
||||
label: "IDC",
|
||||
value: "idc"
|
||||
},
|
||||
{
|
||||
label: "ARMD",
|
||||
value: "armd"
|
||||
}
|
||||
],
|
||||
stationOptions: [],
|
||||
nuclideOptions: [],
|
||||
ipagination:{
|
||||
current: 1,
|
||||
pageSize: 9,
|
||||
pageSizeOptions: ['9', '18', '27'],
|
||||
showTotal: (total, range) => {
|
||||
const { current, pageSize } = this.ipagination
|
||||
return `Total ${total} items Page ${current} / ${Math.ceil(total / pageSize)}`
|
||||
},
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
total: 0
|
||||
},
|
||||
labelCol: { span: 4 },
|
||||
wrapperCol: { span: 14 },
|
||||
form: this.$form.createForm(this),
|
||||
dictOptions: [],
|
||||
formVal: {
|
||||
name: "",
|
||||
source: [],
|
||||
station: [],
|
||||
nuclide: [],
|
||||
qualifier: [],
|
||||
condition: [],
|
||||
desc: ""
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getCondition();
|
||||
this.getStationList();
|
||||
},
|
||||
methods: {
|
||||
getStationList() {
|
||||
getAction("/webStatistics/findStationList",{menuName:""}).then(res => {
|
||||
if (res.success) {
|
||||
if (res.result.length>0) {
|
||||
this.stationOptions = res.result.map(item => {
|
||||
return {
|
||||
label: item.stationCode,
|
||||
value: item.stationId
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.stationOptions=[]
|
||||
}
|
||||
} else {
|
||||
this.$message.warning("This operation fails. Contact your system administrator")
|
||||
}
|
||||
})
|
||||
},
|
||||
handleAdd() {
|
||||
this.isAdd = true
|
||||
this.visible = true
|
||||
},
|
||||
filterOption(input, option) {
|
||||
return (
|
||||
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
);
|
||||
},
|
||||
onStationChange(val) {
|
||||
console.log(val);
|
||||
},
|
||||
onSourceChange(val) {
|
||||
console.log(val);
|
||||
},
|
||||
onNuclideChange(val) {
|
||||
console.log(val);
|
||||
},
|
||||
onSearch() {
|
||||
// this.getAlarmRulesPage()
|
||||
},
|
||||
editItem(id) { },
|
||||
deleteItem(id) { },
|
||||
changeItemStatus(id, isEnabled) { },
|
||||
handlePageChange(page, pageSize) {
|
||||
this.ipagination.current = page
|
||||
this.ipagination.pageSize = pageSize
|
||||
// this.getAlarmRulesPage()
|
||||
},
|
||||
handleSizeChange(current, size) {
|
||||
this.ipagination.current = current
|
||||
this.ipagination.pageSize = size
|
||||
// this.getAlarmRulesPage()
|
||||
},
|
||||
getCondition() {
|
||||
//根据字典Code, 初始化字典数组
|
||||
ajaxGetDictItems("alarm_analyse_rule_condition", null).then((res) => {
|
||||
if (res.success) {
|
||||
this.dictOptions = res.result;
|
||||
}
|
||||
})
|
||||
},
|
||||
onSave() {
|
||||
this.form.validateFields((err, values) => {
|
||||
console.log('Received values of form: ', values);
|
||||
if (!err) {
|
||||
this.visible = false
|
||||
}
|
||||
})
|
||||
},
|
||||
onCancel() {
|
||||
this.form.resetFields()
|
||||
this.visible = false
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.ant-row-flex{
|
||||
flex-flow: nowrap;
|
||||
}
|
||||
.operators {
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
.ant-btn {
|
||||
width: 92px;
|
||||
}
|
||||
}
|
||||
/deep/.ant-modal-title{
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.rules-header{
|
||||
height: 50px;
|
||||
border-top: 1px solid rgba(13, 235, 201, 0.3);
|
||||
border-bottom: 1px solid rgba(13, 235, 201, 0.3);
|
||||
margin: 0 0 0px 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 10px;
|
||||
background: rgba(12, 235, 201, 0.05);
|
||||
.item-label{
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-family: ArialMT;
|
||||
color: #ade6ee;
|
||||
line-height: 32px;
|
||||
height: 32px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.rules-add{
|
||||
background-color: #1397a3;
|
||||
font-family: ArialMT;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
}
|
||||
.search-btn{
|
||||
margin-left: 10px;
|
||||
background-color: #1397a3;
|
||||
font-family: ArialMT;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
}
|
||||
.rules-reset{
|
||||
background-color: #1397a3;
|
||||
font-family: ArialMT;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.rules-content{
|
||||
height: calc(100% - 65px);
|
||||
margin-left: 20px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
.ant-spin-nested-loading{
|
||||
width: 100%;
|
||||
height: calc(100% - 40px);
|
||||
}
|
||||
.monitor-list{
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
display: flex;
|
||||
flex-wrap:wrap;
|
||||
justify-content: space-between;
|
||||
align-content: flex-start;
|
||||
&-item{
|
||||
width: 32.76%;
|
||||
height: 224px;
|
||||
// margin-top: 15px;
|
||||
background-color: rgba(2, 40, 43, 0.5);
|
||||
border: solid 1px rgba(65, 111, 127, 0.5);
|
||||
position: relative;
|
||||
margin-top: 15px;
|
||||
&-title{
|
||||
height: 50px;
|
||||
padding: 0 15px 0 20px;
|
||||
background-color: rgba(13, 109, 118, 0.2);
|
||||
border-bottom: solid 1px rgba(65, 111, 127, 0.2);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
line-height: 50px;
|
||||
font-family: ArialMT;
|
||||
&-name{
|
||||
font-size: 16px;
|
||||
color: #00bded;
|
||||
}
|
||||
&-server{
|
||||
width: 55%;
|
||||
font-size: 14px;
|
||||
text-align: right;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
&-content{
|
||||
padding: 15px 20px;
|
||||
&-info{
|
||||
font-family: ArialMT;
|
||||
font-size: 16px;
|
||||
color: #ade6ee;
|
||||
// span{
|
||||
// display: block;
|
||||
// }
|
||||
}
|
||||
&-btn{
|
||||
margin-top: 10px;
|
||||
display: inline-block;
|
||||
padding: 3px 10px;
|
||||
}
|
||||
&-enable{
|
||||
background-color: #098839;
|
||||
}
|
||||
&-disable{
|
||||
background-color: #8a8a8a;
|
||||
}
|
||||
}
|
||||
&-footer{
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
padding: 0 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
&-group{
|
||||
font-family: ArialMT;
|
||||
font-size: 14px;
|
||||
}
|
||||
&-actions{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span{
|
||||
display: inline-block;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
margin-left: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.actions-edit{
|
||||
background: url(~@/assets/images/abnormalAlarm/edit.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
&:hover{
|
||||
background: url(~@/assets/images/abnormalAlarm/edit-active.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.actions-delete{
|
||||
background: url(~@/assets/images/abnormalAlarm/delete.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
&:hover{
|
||||
background: url(~@/assets/images/abnormalAlarm/delete-active.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.actions-enable{
|
||||
background: url(~@/assets/images/abnormalAlarm/enable.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
&:hover{
|
||||
background: url(~@/assets/images/abnormalAlarm/enable-active.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.actions-disable{
|
||||
background: url(~@/assets/images/abnormalAlarm/disable.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
&:hover{
|
||||
background: url(~@/assets/images/abnormalAlarm/disable-active.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&::after{
|
||||
content: '';
|
||||
width: 32.76%;
|
||||
}
|
||||
}
|
||||
.ant-pagination{
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -80,7 +80,7 @@
|
|||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col flex="310px" v-if="type ==='analysisMonitor'">
|
||||
<a-form-model-item label="Data Sources ">
|
||||
<a-form-model-item label="Data Sources">
|
||||
<a-select style="width:180px"
|
||||
:value="queryParams.sources"
|
||||
mode="multiple"
|
||||
|
|
|
@ -356,7 +356,6 @@ export default {
|
|||
onSave() {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
console.log('Received values of form: ', values);
|
||||
if (this.isAdd) {
|
||||
postAction("/sysDatabase/create", values).then(res => {
|
||||
if (res.success) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user