6 changed files with 162 additions and 8 deletions
@ -0,0 +1,80 @@ |
|||
<template> |
|||
<template v-if="data && data.length"> |
|||
<el-table :data="data" border stripe style="width: 100%"> |
|||
<el-table-column align="center" fixed label="设备ID" min-width="80" prop="deviceId" /> |
|||
<el-table-column align="center" fixed label="采集时间" min-width="170"> |
|||
<template #default="scope"> |
|||
{{ formatTime(+scope.row.time) }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" fixed label="后台接收时间" min-width="170"> |
|||
<template #default="scope"> |
|||
{{ formatTime(+scope.row.createdAt) }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" label="锌腐蚀电流(nA)" min-width="130" prop="corrosion1" /> |
|||
<el-table-column align="center" label="铜腐蚀电流(nA)" min-width="130" prop="corrosion2" /> |
|||
<el-table-column align="center" label="铝腐蚀电流(nA)" min-width="130" prop="corrosion3" /> |
|||
<el-table-column align="center" label="钢腐蚀电流(nA)" min-width="130" prop="corrosion4" /> |
|||
<el-table-column align="center" label="环境温度(℃)" min-width="110" prop="environmentTemperature" /> |
|||
<el-table-column align="center" label="环境湿度(RH%)" min-width="130" prop="environmentHumidity" /> |
|||
<el-table-column align="center" label="SO2(ppb)" min-width="90" prop="so2" /> |
|||
<el-table-column align="center" label="盐分温度(℃)" min-width="110" prop="saltT" /> |
|||
<el-table-column align="center" label="盐分阻抗(Ω)" min-width="110" prop="saltR" /> |
|||
<el-table-column align="center" label="机箱温度(℃)" min-width="110" prop="deviceTemperature" /> |
|||
<el-table-column align="center" label="机箱湿度(RH%)" min-width="130" prop="deviceHumidity" /> |
|||
<el-table-column align="center" label="光伏板电压(V)" min-width="140" prop="solarVoltage" /> |
|||
<el-table-column align="center" label="锂电池电压(V)" min-width="120" prop="batteryVoltage" /> |
|||
<el-table-column align="center" label="电量百分比" min-width="94" prop="batteryVoltagePercentage" /> |
|||
<el-table-column align="center" label="剩余电量(mAH)" min-width="140" prop="batteryVoltageRemain" /> |
|||
<el-table-column align="center" label="损耗电量(mAH)" min-width="140" prop="batteryLoss" /> |
|||
<el-table-column align="center" label="ICCID" min-width="190" prop="iccid" /> |
|||
<el-table-column align="center" label="IMEI" min-width="150" prop="imei" /> |
|||
<el-table-column align="center" label="信号强度" min-width="80" prop="signal" /> |
|||
<el-table-column align="center" label="基站编号" min-width="130" prop="stationNo" /> |
|||
<el-table-column align="center" label="硬件版本" min-width="80" prop="hardwareVersion" /> |
|||
<el-table-column align="center" label="软件版本" min-width="80" prop="softwareVersion" /> |
|||
<el-table-column align="center" fixed="right" label="操作" min-width="120"> |
|||
<template #default="scope"> |
|||
<el-button size="mini" type="danger" @click="onCloseWarning(scope.row.id)">关闭报警</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</template> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import dayjs from 'dayjs'; |
|||
import { defineProps, defineEmits } from 'vue'; |
|||
import { removeWarning } from 'apis'; |
|||
import { ElMessage } from 'element-plus'; |
|||
|
|||
defineProps({ data: Object }); |
|||
|
|||
const emit = defineEmits(['removeWarningSuccess']); |
|||
|
|||
/** |
|||
* 格式化时间 |
|||
* @param {number} time 时间戳 |
|||
* @returns {string} |
|||
*/ |
|||
function formatTime(time) { |
|||
return dayjs(new Date(time)).format('YYYY-MM-DD HH:mm:ss'); |
|||
} |
|||
|
|||
/** |
|||
* 关闭某条报警 |
|||
* @param {string} warningId 报警记录id |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
async function onCloseWarning(warningId) { |
|||
try { |
|||
await removeWarning(warningId); |
|||
ElMessage.success('关闭报警成功'); |
|||
emit('removeWarningSuccess', { warningId }); |
|||
} catch (error) { |
|||
console.error('onCloseWarning: ', error); |
|||
ElMessage.error('关闭报警失败'); |
|||
} |
|||
} |
|||
</script> |
Loading…
Reference in new issue