Commit f80e7e2e authored by yanzhongrong's avatar yanzhongrong

Merge branch 'dev_yzr' into dev

parents d18022f8 de03f266
...@@ -130,7 +130,6 @@ export const constantRoutes = [ ...@@ -130,7 +130,6 @@ export const constantRoutes = [
}, },
] ]
}, },
{ {
path: '/monitor', path: '/monitor',
component: Layout, component: Layout,
...@@ -141,13 +140,13 @@ export const constantRoutes = [ ...@@ -141,13 +140,13 @@ export const constantRoutes = [
{ {
path: 'leakageCable', path: 'leakageCable',
name: '漏缆实时状态', name: '漏缆实时状态',
component: () => import('@/views/monitor/leakageCable'), component: () => import('@/views/monitor/leakageCable/index'),
meta: { title: '漏缆实时状态' } meta: { title: '漏缆实时状态' }
}, },
{ {
path: 'equipment', path: 'equipment',
name: '设备实时状态', name: '设备实时状态',
component: () => import('@/views/monitor/equipment'), component: () => import('@/views/monitor/equipment/index'),
meta: { title: '设备实时状态' } meta: { title: '设备实时状态' }
} }
] ]
...@@ -190,7 +189,7 @@ export const constantRoutes = [ ...@@ -190,7 +189,7 @@ export const constantRoutes = [
path: 'leakyCableRepair', path: 'leakyCableRepair',
name: 'leakyCableRepair', name: 'leakyCableRepair',
component: () => import('@/views/history/leakyCableRepair/index.vue'), component: () => import('@/views/history/leakyCableRepair/index.vue'),
meta: { title: '漏缆监测维历史' } meta: { title: '漏缆监测维历史' }
}, },
{ {
path: 'deviceLinkStatus', path: 'deviceLinkStatus',
......
...@@ -14,11 +14,13 @@ ...@@ -14,11 +14,13 @@
<div style="color: #666666"></div> <div style="color: #666666"></div>
<div class="operate-btn"> <div class="operate-btn">
<el-button type="primary" @click="getTableData">刷新</el-button> <el-button type="primary" @click="getTableData">刷新</el-button>
<el-button type="primary">查询</el-button> <el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="exportList">导出</el-button> <el-button type="primary" @click="exportList">导出</el-button>
</div> </div>
</div> </div>
<div v-if="isQuery">
<search @search="getTableData" />
</div>
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
...@@ -46,29 +48,6 @@ ...@@ -46,29 +48,6 @@
align="center" align="center"
width="300" width="300"
> >
<!-- <template slot-scope="scope">
<div
v-for="(item, index) in scope.row.message.red"
:key="index + 'red'"
class="red message"
>
{{ item }}
</div>
<div
v-for="(item, index) in scope.row.message.green"
:key="index + 'green'"
class="green message"
>
{{ item }}
</div>
<div
v-for="(item, index) in scope.row.message.black"
:key="index + 'black'"
class="black message"
>
{{ item }}
</div>
</template> -->
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="lateUploadTime" prop="lateUploadTime"
...@@ -103,7 +82,7 @@ ...@@ -103,7 +82,7 @@
<script> <script>
import { cableTimeList, cableExport } from '../api' import { cableTimeList, cableExport } from '../api'
import search from '@/views/monitor/leakageCable/components/search.vue'
export default { export default {
data() { data() {
return { return {
...@@ -128,14 +107,16 @@ export default { ...@@ -128,14 +107,16 @@ export default {
key: 0 key: 0
} }
], ],
isQuery: false
}; };
}, },
components: { search },
methods: { methods: {
// 表格背景图颜色 // 表格背景图颜色
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
if (row.level == '紧急' && column.label == '告警级别') { if (row.alarmLevelName == '紧急' && column.label == '告警级别') {
return 'emergency' return 'emergency'
} else if (row.level == '重要' && column.label == '告警级别') { } else if (row.alarmLevelName == '重要' && column.label == '告警级别') {
return 'important' return 'important'
} }
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
...@@ -147,10 +128,17 @@ export default { ...@@ -147,10 +128,17 @@ export default {
this.params.current = pageData.page this.params.current = pageData.page
this.getTableData() this.getTableData()
}, },
getTableData(type) { getTableData(option) {
let type = ''
if(this.confirmStatus == 2) {
type = ''
} else {
type = this.confirmStatus
}
let param = { let param = {
confirmStatus: type, confirmStatus: type,
...this.params ...this.params,
...option
} }
cableTimeList(param).then(res => { cableTimeList(param).then(res => {
let list = res.records || [] let list = res.records || []
...@@ -160,11 +148,7 @@ export default { ...@@ -160,11 +148,7 @@ export default {
}, },
changeType(item) { changeType(item) {
this.confirmStatus = item.key this.confirmStatus = item.key
if(item.key == 2) { this.getTableData()
this.getTableData('')
} else {
this.getTableData(item.key)
}
}, },
exportList() { exportList() {
cableExport({confirmStatus: this.confirmStatus}).then(res => { cableExport({confirmStatus: this.confirmStatus}).then(res => {
......
...@@ -14,11 +14,13 @@ ...@@ -14,11 +14,13 @@
<div style="color: #666666"></div> <div style="color: #666666"></div>
<div class="operate-btn"> <div class="operate-btn">
<el-button type="primary" @click="getTableData">刷新</el-button> <el-button type="primary" @click="getTableData">刷新</el-button>
<el-button type="primary">查询</el-button> <el-button type="primary" @click="isQuery=!isQuery">查询</el-button>
<el-button type="primary" @click="exportList">导出</el-button> <el-button type="primary" @click="exportList">导出</el-button>
</div> </div>
</div> </div>
<div v-if="isQuery">
<search @search="getTableData" />
</div>
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
...@@ -26,7 +28,7 @@ ...@@ -26,7 +28,7 @@
:header-cell-style="{ background: '#EAF1FE', color: '#666666' }" :header-cell-style="{ background: '#EAF1FE', color: '#666666' }"
> >
<el-table-column prop="startPointDeviceName" label="网元设备" align="center" /> <el-table-column prop="startPointDeviceName" label="网元设备" align="center" />
<el-table-column prop="endPointConnectStatus " label="连接状态" align="center" /> <el-table-column prop="connectStatusName" label="连接状态" align="center" />
<el-table-column prop="endPointDeviceName" label="网元设备" align="center" /> <el-table-column prop="endPointDeviceName" label="网元设备" align="center" />
<el-table-column prop="uploadTime" label="上传时间" align="center" /> <el-table-column prop="uploadTime" label="上传时间" align="center" />
<el-table-column prop="confirmPerson" label="确认人" align="center" /> <el-table-column prop="confirmPerson" label="确认人" align="center" />
...@@ -50,7 +52,7 @@ ...@@ -50,7 +52,7 @@
<script> <script>
import { deviceList, deviceExport } from '../api' import { deviceList, deviceExport } from '../api'
import search from '@/views/monitor/equipment/components/search.vue'
export default { export default {
data() { data() {
return { return {
...@@ -75,20 +77,17 @@ export default { ...@@ -75,20 +77,17 @@ export default {
key: 0 key: 0
} }
], ],
isQuery: false
}; };
}, },
components: { search },
methods: { methods: {
// 表格背景图颜色 // 表格背景图颜色
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
if ((row.state1 == '连接正常' && column.property == 'state1')) { if ((row.connectStatusName == '连接正常' && column.property == 'connectStatusName')) {
return 'green' return 'green'
} }
if ((row.state1 == '连接异常' && column.property == 'state1')) { if ((row.connectStatusName == '连接异常' && column.property == 'connectStatusName')) {
return 'red'
}
if ((row.state2 == '连接正常' && column.property == 'state2')) {
return 'green'
} else if ((row.state2 == '连接异常' && column.property == 'state2')) {
return 'red' return 'red'
} }
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
...@@ -100,10 +99,17 @@ export default { ...@@ -100,10 +99,17 @@ export default {
this.params.current = pageData.page this.params.current = pageData.page
this.getTableData() this.getTableData()
}, },
getTableData(type) { getTableData(option) {
let type = ''
if(this.confirmStatus == 2) {
type = ''
} else {
type = this.confirmStatus
}
let param = { let param = {
confirmStatus: type, confirmStatus: type,
...this.params ...this.params,
...option
} }
deviceList(param).then(res => { deviceList(param).then(res => {
let list = res.records || [] let list = res.records || []
...@@ -113,15 +119,10 @@ export default { ...@@ -113,15 +119,10 @@ export default {
}, },
changeType(item) { changeType(item) {
this.confirmStatus = item.key this.confirmStatus = item.key
if(item.key == 2) { this.getTableData()
this.getTableData('')
} else {
this.getTableData(item.key)
}
}, },
exportList() { exportList() {
deviceExport({confirmStatus: this.confirmStatus}).then(res => { deviceExport({confirmStatus: this.confirmStatus}).then(res => {
}) })
}, },
}, },
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<delids :multipleSelection2="multipleSelection" @del="toDelete" <delids :multipleSelection2="multipleSelection" @del="toDelete"
>删除</delids> >删除</delids>
<el-button type="primary" @click="getTableData">刷新</el-button> <el-button type="primary" @click="getTableData">刷新</el-button>
<el-button type="primary" @click="isQuery = !isQuery">查询</el-button> <el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary">导出</el-button> <el-button type="primary">导出</el-button>
<el-button type="primary">清空数据</el-button> <el-button type="primary">清空数据</el-button>
</div> </div>
......
...@@ -11,13 +11,7 @@ ...@@ -11,13 +11,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="告警对象"> <el-form-item label="告警对象">
<el-select v-model="form.alarmTargetId" placeholder="请选择告警对象" clearable > <el-input v-model="form.alarmTargetName" clearable placeholder="请输入网元设备"></el-input>
<el-option v-for="item in alarmObj"
:key="item.id"
:label="item.dictValue"
:value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="告警级别"> <el-form-item label="告警级别">
<el-select v-model="form.alarmLevelName" placeholder="请选择告警级别" clearable > <el-select v-model="form.alarmLevelName" placeholder="请选择告警级别" clearable >
...@@ -72,7 +66,7 @@ export default { ...@@ -72,7 +66,7 @@ export default {
function formInit() { function formInit() {
return { return {
siteId: null, siteId: null,
alarmTargetId: null, alarmTargetName: '',
alarmLevelName: null, alarmLevelName: null,
} }
} }
......
...@@ -103,9 +103,9 @@ export default { ...@@ -103,9 +103,9 @@ export default {
}) })
}, },
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
if (row.level == '紧急' && column.label == '告警级别') { if (row.alarmLevelName == '紧急' && column.label == '告警级别') {
return 'emergency' return 'emergency'
} else if (row.level == '重要' && column.label == '告警级别') { } else if (row.alarmLevelName == '重要' && column.label == '告警级别') {
return 'important' return 'important'
} }
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
......
...@@ -11,13 +11,7 @@ ...@@ -11,13 +11,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="告警对象"> <el-form-item label="告警对象">
<el-select v-model="form.alarmTargetId" placeholder="请选择告警对象" clearable > <el-input v-model="form.alarmTargetName" clearable placeholder="请输入网元设备"></el-input>
<el-option v-for="item in alarmObj"
:key="item.id"
:label="item.dictValue"
:value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="success" @click="toSearch">查询</el-button> <el-button type="success" @click="toSearch">查询</el-button>
...@@ -59,7 +53,7 @@ export default { ...@@ -59,7 +53,7 @@ export default {
function formInit() { function formInit() {
return { return {
alarmTargetId: null, alarmTargetName: null,
siteId: null, siteId: null,
} }
} }
......
<template>
<div>
<el-form class="search-form" :model="form" ref="form" label-width="80px" :inline="true" size="mini">
<el-form-item label="网元设备" >
<el-input v-model="form.pointDeviceName" clearable placeholder="请输入网元设备"></el-input>
</el-form-item>
<el-form-item label="连接状态">
<el-select v-model="form.pointConnectStatus" placeholder="请选择告警级别" clearable >
<el-option v-for="(val,key) in ConnectStatusEnum"
:key="key"
:label="val"
:value="+key">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="success" @click="toSearch">查询</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { ConnectStatusEnum } from '@/const/index'
export default {
name: 'search',
data() {
return {
form: formInit(),
ConnectStatusEnum,
}
},
mounted() {
},
methods: {
toSearch() {
this.$emit('search', this.form)
},
reset() {
this.form = formInit()
},
}
}
function formInit() {
return {
pointDeviceName: '',
pointConnectStatus: '',
}
}
</script>
<style scoped lang="scss">
.w200 {
width: 200px;
}
.search-form {
padding: 10px;
background-color: #EAF1FE;
margin-bottom: 20px;
border-radius: 8px;
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
margin-bottom: 0;
}
}
</style>
\ No newline at end of file
<template> <template>
<!-- 漏缆实时状态 --> <!-- 设备实时状态 -->
<div class="leakage-cable"> <div class="leakage-cable">
<div class="leakage-top"> <div class="leakage-top">
<div></div> <div></div>
<div class="operate-btn"> <div class="operate-btn">
<el-button type="primary" @click="getTableData">刷新</el-button> <el-button type="primary" @click="getTableData">刷新</el-button>
<el-button type="primary">查询</el-button> <el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="toExport">导出</el-button> <el-button type="primary" @click="toExport">导出</el-button>
</div> </div>
</div> </div>
<div v-if="isQuery">
<search @search="getTableData" />
</div>
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
...@@ -33,9 +36,9 @@ ...@@ -33,9 +36,9 @@
</template> </template>
<script> <script>
import { DeviceStatusList, DeviceStatusExport } from './api' import { DeviceStatusList, DeviceStatusExport } from '../api'
import { ConnectStatusEnum } from '@/const/index' import { ConnectStatusEnum } from '@/const/index'
import search from './components/search.vue'
export default { export default {
data() { data() {
return { return {
...@@ -46,8 +49,10 @@ export default { ...@@ -46,8 +49,10 @@ export default {
}, },
total: 10, total: 10,
tableData: [], tableData: [],
isQuery: false
}; };
}, },
components: { search },
methods: { methods: {
// 表格背景图颜色 // 表格背景图颜色
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
...@@ -71,8 +76,12 @@ export default { ...@@ -71,8 +76,12 @@ export default {
this.params.current = pageData.page; this.params.current = pageData.page;
this.getTableData() this.getTableData()
}, },
getTableData() { getTableData(option) {
DeviceStatusList(this.params).then(res => { let params = {
...this.params,
...option
}
DeviceStatusList(params).then(res => {
let list = res.records || [] let list = res.records || []
list.forEach(item => { list.forEach(item => {
item.startPointConnectStatus_text = this.ConnectStatusEnum[item.startPointConnectStatus] item.startPointConnectStatus_text = this.ConnectStatusEnum[item.startPointConnectStatus]
......
<template>
<div>
<el-form class="search-form" :model="form" ref="form" label-width="80px" :inline="true" size="mini">
<el-form-item label="基站名称" >
<el-select v-model="form.siteId" placeholder="请选择基站名称" clearable >
<el-option v-for="item in siteList"
:key="item.id"
:label="item.siteName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="告警对象">
<el-input v-model="form.alarmTargetName" clearable placeholder="请输入网元设备"></el-input>
</el-form-item>
<el-form-item label="告警级别">
<el-select v-model="form.alarmLevelName" placeholder="请选择告警级别" clearable >
<el-option v-for="(val,key) in alarmLeval"
:key="key"
:label="val"
:value="val">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="success" @click="toSearch">查询</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { commonQuery } from '@/views/history/api'
import { alarmLeval } from '@/const'
export default {
name: 'search',
data() {
return {
siteList: [],
form: formInit(),
alarmLeval
}
},
mounted() {
this.getInit()
},
methods: {
toSearch() {
this.$emit('search', this.form)
},
reset() {
this.form = formInit()
},
getInit() {
commonQuery().then(res => {
this.siteList = res.siteList || []
})
}
}
}
function formInit() {
return {
siteId: null,
alarmTargetName: '',
alarmLevelName: null,
}
}
</script>
<style scoped lang="scss">
.w200 {
width: 200px;
}
.search-form {
padding: 10px;
background-color: #EAF1FE;
margin-bottom: 20px;
border-radius: 8px;
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
margin-bottom: 0;
}
}
</style>
\ No newline at end of file
...@@ -5,10 +5,13 @@ ...@@ -5,10 +5,13 @@
<div style="color: #666666"></div> <div style="color: #666666"></div>
<div class="operate-btn"> <div class="operate-btn">
<el-button type="primary" @click="getTableData">刷新</el-button> <el-button type="primary" @click="getTableData">刷新</el-button>
<el-button type="primary">查询</el-button> <el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="toExport">导出</el-button> <el-button type="primary" @click="toExport">导出</el-button>
</div> </div>
</div> </div>
<div v-if="isQuery">
<search @search="getTableData" />
</div>
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
...@@ -45,8 +48,9 @@ ...@@ -45,8 +48,9 @@
</template> </template>
<script> <script>
import { CableStatusList, CableStatusExport } from './api' import { CableStatusList, CableStatusExport } from '../api'
import { ConnectStatusEnum } from '@/const/index' import { ConnectStatusEnum } from '@/const/index'
import search from './components/search.vue'
export default { export default {
data() { data() {
return { return {
...@@ -57,14 +61,16 @@ export default { ...@@ -57,14 +61,16 @@ export default {
}, },
total: 10, total: 10,
tableData: [], tableData: [],
isQuery: false
}; };
}, },
components: { search },
methods: { methods: {
// 表格背景图颜色 // 表格背景图颜色
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
if (row.level == '紧急' && column.label == '告警级别') { if (row.alarmLevelName == '紧急' && column.label == '告警级别') {
return 'emergency' return 'emergency'
} else if (row.level == '重要' && column.label == '告警级别') { } else if (row.alarmLevelName == '重要' && column.label == '告警级别') {
return 'important' return 'important'
} }
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
...@@ -76,8 +82,12 @@ export default { ...@@ -76,8 +82,12 @@ export default {
this.params.curent = pageData.page this.params.curent = pageData.page
this.getTableData() this.getTableData()
}, },
getTableData() { getTableData(option) {
CableStatusList(this.params).then(res => { let params = {
...this.params,
...option
}
CableStatusList(params).then(res => {
let list = res.records || [] let list = res.records || []
this.tableData = list this.tableData = list
this.total = res.total this.total = res.total
......
<template>
<div class="app-container">
<el-table
v-loading="listLoading"
:data="list"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column align="center" label="ID" width="95">
<template slot-scope="scope">
{{ scope.$index }}
</template>
</el-table-column>
<el-table-column label="Title">
<template slot-scope="scope">
{{ scope.row.title }}
</template>
</el-table-column>
<el-table-column label="Author" width="110" align="center">
<template slot-scope="scope">
<span>{{ scope.row.author }}</span>
</template>
</el-table-column>
<el-table-column label="Pageviews" width="110" align="center">
<template slot-scope="scope">
{{ scope.row.pageviews }}
</template>
</el-table-column>
<el-table-column class-name="status-col" label="Status" width="110" align="center">
<template slot-scope="scope">
<el-tag :type="scope.row.status | statusFilter">{{ scope.row.status }}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="created_at" label="Display_time" width="200">
<template slot-scope="scope">
<i class="el-icon-time" />
<span>{{ scope.row.display_time }}</span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { getList } from '@/api/table'
export default {
filters: {
statusFilter(status) {
const statusMap = {
published: 'success',
draft: 'gray',
deleted: 'danger'
}
return statusMap[status]
}
},
data() {
return {
list: null,
listLoading: true
}
},
created() {
this.fetchData()
},
methods: {
fetchData() {
this.listLoading = true
getList().then(response => {
this.list = response.data.items
this.listLoading = false
})
}
}
}
</script>
<template>
<div class="app-container">
<el-input v-model="filterText" placeholder="Filter keyword" style="margin-bottom:30px;" />
<el-tree
ref="tree2"
:data="data2"
:props="defaultProps"
:filter-node-method="filterNode"
class="filter-tree"
default-expand-all
/>
</div>
</template>
<script>
export default {
data() {
return {
filterText: '',
data2: [{
id: 1,
label: 'Level one 1',
children: [{
id: 4,
label: 'Level two 1-1',
children: [{
id: 9,
label: 'Level three 1-1-1'
}, {
id: 10,
label: 'Level three 1-1-2'
}]
}]
}, {
id: 2,
label: 'Level one 2',
children: [{
id: 5,
label: 'Level two 2-1'
}, {
id: 6,
label: 'Level two 2-2'
}]
}, {
id: 3,
label: 'Level one 3',
children: [{
id: 7,
label: 'Level two 3-1'
}, {
id: 8,
label: 'Level two 3-2'
}]
}],
defaultProps: {
children: 'children',
label: 'label'
}
}
},
watch: {
filterText(val) {
this.$refs.tree2.filter(val)
}
},
methods: {
filterNode(value, data) {
if (!value) return true
return data.label.indexOf(value) !== -1
}
}
}
</script>
...@@ -89,8 +89,10 @@ export default { ...@@ -89,8 +89,10 @@ export default {
size: this.params.pageSize size: this.params.pageSize
} }
list(params).then(res => { list(params).then(res => {
let list = res.records || [] let list = res.records || []
list.forEach(item => {
item.userId = item.id
})
this.tableData = list this.tableData = list
this.total = res.total this.total = res.total
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment