<template> <!-- 漏缆实时状态 --> <div class="leakage-cable"> <div class="leakage-top"> <div class="operate-btn"> <el-button type="primary">刷新</el-button> <el-button type="primary">查询</el-button> <el-button type="primary">导出</el-button> </div> <div> 共6条数据 </div> </div> <el-table :data="tableData" style="width: 100%" :cell-class-name="cellClassFn" :header-cell-style="{background:'#EAF1FE',color:'#000'}"> <el-table-column type="index" label="序列号" width="100" align="center" /> <el-table-column prop="name" label="基站名称" width="180" align="center" /> <el-table-column prop="object" label="告警对象" width="180" align="center" /> <el-table-column prop="level" label="告警级别" width="150" align="center"> <template slot-scope="scope"> <div :class="scope.row.level == '重要'?'red':'orange'"> {{ scope.row.level }} </div> </template> </el-table-column> <el-table-column prop="message" label="告警信息" align="center"> <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+'red'" class="green message"> {{ item }} </div> <div v-for="(item, index) in scope.row.message.black" :key="index+'red'" class="black message"> {{ item }} </div> </template> </el-table-column> <el-table-column prop="uploadDate" label="最新上传时间" align="center" /> </el-table> <div class="page"> <el-button>上一页</el-button> <span class="pageNum">2/5</span> <el-button>下一页</el-button> </div> </div> </template> <script> export default { data() { return { tableData: [ { name: 'STATION2未开通', object: '漏缆FSU2_R1下行方向', level: '紧急', message: { red: ['距离:0米 驻波比:8.72'], green: ['距离:18米 驻波比:1.07', '距离:42米 驻波比:1.02'], black: ['漏缆百米损耗:2.8'] }, uploadDate: '2022/12/18 11:51:12' }, { name: 'STATION2未开通', object: '漏缆FSU2_R1下行方向', level: '紧急', message: { red: ['距离:0米 驻波比:8.72'], green: ['距离:18米 驻波比:1.07', '距离:42米 驻波比:1.02'], black: ['漏缆百米损耗:2.8'] }, uploadDate: '2022/12/18 11:51:12' },{ name: 'STATION2未开通', object: '漏缆FSU2_R1下行方向', level: '紧急', message: { red: ['距离:0米 驻波比:8.72'], green: ['距离:18米 驻波比:1.07', '距离:42米 驻波比:1.02'], black: ['漏缆百米损耗:2.8'] }, uploadDate: '2022/12/18 11:51:12' },{ name: 'STATION2未开通', object: '漏缆FSU2_R1下行方向', level: '紧急', message: { red: ['距离:0米 驻波比:8.72'], green: ['距离:18米 驻波比:1.07', '距离:42米 驻波比:1.02'], black: ['漏缆百米损耗:2.8'] }, uploadDate: '2022/12/18 11:51:12' },{ name: 'STATION2未开通', object: '漏缆FSU2_R1下行方向', level: '紧急', message: { red: ['距离:0米 驻波比:8.72'], green: ['距离:18米 驻波比:1.07', '距离:42米 驻波比:1.02'], black: ['漏缆百米损耗:2.8'] }, uploadDate: '2022/12/18 11:51:12' },{ name: 'STATION2未开通', object: '漏缆FSU2_R1下行方向', level: '重要', message: { red: ['距离:0米 驻波比:8.72'], green: ['距离:18米 驻波比:1.07', '距离:42米 驻波比:1.02'], black: ['漏缆百米损耗:2.8'] }, uploadDate: '2022/12/18 11:51:12' } ], }; }, methods: { // 表格背景图颜色 cellClassFn({row, column, rowIndex, columnIndex}) { if (row.level == '紧急' && column.label == '告警级别') { return 'emergency' } else if (row.level == '重要' && column.label == '告警级别') { return 'important' } if (rowIndex%2 == 1) { return 'stripe' } }, handleSizeChange(val) { console.log(`每页 ${val} 条`); }, handleCurrentChange(val) { console.log(`当前页: ${val}`); } } }; </script> <style lang="scss" scoped> .leakage-cable { .leakage-top { margin: 20px; display: flex; align-items: center; justify-content: space-between; } & ::v-deep .cell { color: #000; } .message { line-height: 32px; } .red { color: red; } .green { color: green; } .black { color: black; } & ::v-deep .stripe { background-color: #EAF1FE; } & ::v-deep .emergency { background-color: #f00; } & ::v-deep .important { background-color: #f89850; } .page { display: flex; align-items: center; justify-content: center; margin: 20px 0; .pageNum { margin: 0 20px; } } } </style>