222 lines
8.2 KiB
Vue
222 lines
8.2 KiB
Vue
<template>
|
|
<div>
|
|
<u-table
|
|
stripe
|
|
ref="plTreeTable"
|
|
header-cell-class-name="table_header"
|
|
fixed-columns-roll
|
|
:data="tableData"
|
|
:row-height="rowHeight"
|
|
:height="vh"
|
|
:treeConfig="{
|
|
children: 'children',
|
|
iconClose: 'el-icon-arrow-right',
|
|
iconOpen: 'el-icon-arrow-down',
|
|
expandAll: true
|
|
}"
|
|
v-loading="loading"
|
|
element-loading-text="数据加载中"
|
|
@toggle-tree-expand="toggleTreeExpand"
|
|
use-virtual
|
|
row-id="id"
|
|
border
|
|
>
|
|
<!-- beautify-table
|
|
header-drag-style -->
|
|
<!--u-table大数据表格 你需要在列上指定某个列显示展开收起 treeNode属性-->
|
|
<u-table-column
|
|
prop="name"
|
|
:label="typedata"
|
|
:treeNode="true"
|
|
min-width="250"
|
|
:showOverflowTooltip="true"
|
|
:show-overflow-tooltip="true"
|
|
></u-table-column>
|
|
<u-table-column min-width="150" align="center" prop="voltageLevel" v-if="dydj" label="电压等级">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.voltageLevel == null" type="primary" size="small">/</span>
|
|
<span v-if="scope.row.voltageLevel != null" type="primary" size="small">
|
|
{{ scope.row.voltageLevel }}
|
|
</span>
|
|
</template>
|
|
</u-table-column>
|
|
<u-table-column min-width="150" align="center" prop="ip" label="网络参数">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.ip == null" type="primary" size="small">/</span>
|
|
<span v-if="scope.row.ip != null" type="primary" size="small">{{ scope.row.ip }}</span>
|
|
</template>
|
|
</u-table-column>
|
|
<!-- <u-table-column
|
|
min-width="150"
|
|
align="center"
|
|
prop="name"
|
|
:show-overflow-tooltip="true"
|
|
label="名称"
|
|
|
|
>
|
|
</u-table-column> -->
|
|
<u-table-column min-width="150" align="center" prop="manufacturer" label="厂家">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.manufacturer == null" type="primary" size="small">/</span>
|
|
<span v-if="scope.row.manufacturer != null" type="primary" size="small">
|
|
{{ scope.row.manufacturer }}
|
|
</span>
|
|
</template>
|
|
</u-table-column>
|
|
<u-table-column min-width="150" align="center" prop="name" :show-overflow-tooltip="true" label="终端名称">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.name == null" type="primary" size="small">/</span>
|
|
<span v-if="scope.row.name != null" type="primary" size="small">{{ scope.row.name }}</span>
|
|
</template>
|
|
</u-table-column>
|
|
<u-table-column min-width="150" align="center" prop="comFlag" label="通讯状态">
|
|
<template slot-scope="scope">
|
|
<span type="primary" v-if="scope.row.comFlag == null" size="small">/</span>
|
|
<el-tag
|
|
type="primary"
|
|
v-if="scope.row.comFlag == 0"
|
|
style="background: #ff3300; color: #fff"
|
|
size="small"
|
|
>
|
|
中断
|
|
</el-tag>
|
|
<el-tag
|
|
type="primary"
|
|
v-if="scope.row.comFlag == 1"
|
|
style="background: #009933; color: #fff"
|
|
size="small"
|
|
>
|
|
正常
|
|
</el-tag>
|
|
</template>
|
|
</u-table-column>
|
|
<u-table-column
|
|
min-width="150"
|
|
align="center"
|
|
prop="updateTime"
|
|
label="最新数据时间"
|
|
:show-overflow-tooltip="true"
|
|
>
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.updateTime == null" type="primary" size="small">/</span>
|
|
<span v-if="scope.row.updateTime != null" type="primary" size="small">
|
|
{{ scope.row.updateTime }}
|
|
</span>
|
|
</template>
|
|
</u-table-column>
|
|
<u-table-column min-width="150" align="center" prop="integrityData" label="数据完整性(%)">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.integrityData == 3.14159" type="primary" size="small">暂无数据</span>
|
|
<span v-if="scope.row.integrityData != 3.14159" type="primary" size="small">
|
|
{{ scope.row.integrityData.toFixed(2) }}
|
|
</span>
|
|
</template>
|
|
</u-table-column>
|
|
<u-table-column min-width="150" align="center" prop="valueOver" label="评估">
|
|
<template slot-scope="scope">
|
|
<!-- <el-tag v-if="(scope.row.valueOver==0)" type="primary" style="background:#FF3300;color: #fff;" size="small">不合格</el-tag>
|
|
<el-tag v-if="(scope.row.valueOver==1)" type="primary" style="background:#009933;color: #fff;" size="small">合格</el-tag> -->
|
|
<el-tag
|
|
v-if="scope.row.integrityData >= 90"
|
|
type="primary"
|
|
style="background: #009933; color: #fff"
|
|
size="small"
|
|
>
|
|
优秀
|
|
</el-tag>
|
|
<el-tag
|
|
v-if="60 <= scope.row.integrityData && scope.row.integrityData < 90"
|
|
type="primary"
|
|
style="background: #ff9933; color: #fff"
|
|
size="small"
|
|
>
|
|
合格
|
|
</el-tag>
|
|
<el-tag
|
|
v-if="60 > scope.row.integrityData"
|
|
type="primary"
|
|
style="background: #ff3300; color: #fff"
|
|
size="small"
|
|
>
|
|
不合格
|
|
</el-tag>
|
|
</template>
|
|
</u-table-column>
|
|
</u-table>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
props: {
|
|
classvalue: {
|
|
type: String,
|
|
default: undefined
|
|
},
|
|
tableData: {
|
|
type: Array,
|
|
default: []
|
|
},
|
|
loading: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
},
|
|
watch: {
|
|
classvalue: function (a, b) {
|
|
if (a === 'Power_Network') {
|
|
this.typedata = '电网拓扑'
|
|
} else if (a === 'Manufacturer') {
|
|
this.typedata = '终端厂家'
|
|
}
|
|
},
|
|
tableData: function (a, b) {
|
|
if (a.length > 0) {
|
|
}
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
rowHeight: 20,
|
|
vh: null,
|
|
dydj: false,
|
|
typedata: '电网拓扑'
|
|
}
|
|
},
|
|
created() {},
|
|
mounted() {
|
|
this.setHeight()
|
|
window.addEventListener('resize', this.setHeight)
|
|
},
|
|
beforeDestroy() {
|
|
window.removeEventListener('resize', this.setHeight)
|
|
},
|
|
methods: {
|
|
setHeight() {
|
|
this.vth = window.sessionStorage.getItem('appheight') - 118
|
|
this.vh = window.sessionStorage.getItem('appheight') - 118 + 'px'
|
|
},
|
|
toggleTreeExpand() {}
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="less" scoped>
|
|
@import url('../../styles/comStyle.less');
|
|
</style>
|
|
<style lang="scss" scoped>
|
|
// ::v-deep.plTableBox
|
|
// .el-table--striped
|
|
// .el-table__body
|
|
// tr.el-table__row--striped
|
|
// td {
|
|
// background-color: $whirt !important;
|
|
// }
|
|
// ::v-deep.plTableBox
|
|
// .el-table--striped
|
|
// .el-table__body
|
|
// tr.el-table__row--striped.current-row
|
|
// td {
|
|
// background-color: $current-blue !important;
|
|
// color: #fff !important;
|
|
// }
|
|
</style>
|