Browse Source

refactor: 报警故障未完

feature-with-login
wally 4 years ago
parent
commit
9bbecf8f2b
  1. 65
      src/components/overview/broken-table.vue

65
src/components/overview/broken-table.vue

@ -2,41 +2,32 @@
<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">
<el-table-column align="center" label="产生时间" min-width="170">
<template #default="scope">
{{ formatTime(+scope.row.time) }}
{{ formatTime(+scope.row.startTime) }}
</template>
</el-table-column>
<el-table-column align="center" fixed label="后台接收时间" min-width="170">
<el-table-column align="center" label="消失时间" min-width="170">
<template #default="scope">
{{ formatTime(+scope.row.createdAt) }}
{{ scope.row.endTime ? formatTime(+scope.row.endTime) : '-' }}
</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" label="故障信息">
<template #default="scope">
{{ scope.row.sensorName }}
</template>
</el-table-column>
<el-table-column align="center" fixed label="状态">
<template #default="scope">
{{ scope.row.brokenStatus }}
</template>
</el-table-column>
<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>
<el-button size="mini" type="danger" @click="onCloseBroken(scope.row.deviceId, scope.row.id)">关闭故障</el-button>
</template>
</el-table-column>
</el-table>
@ -46,7 +37,7 @@
<script setup>
import dayjs from 'dayjs';
import { defineProps, defineEmits } from 'vue';
import { removeWarning } from 'apis';
import { removeBroken } from 'apis';
import { ElMessage } from 'element-plus';
defineProps({ data: Object });
@ -63,18 +54,22 @@ function formatTime(time) {
}
/**
* 关闭某条报警
* @param {string} warningId 报警记录id
* 关闭某条故障
* @param {string} warningId 故障记录id
* @returns {Promise<void>}
*/
async function onCloseWarning(warningId) {
async function onCloseBroken(deviceId, warningId) {
try {
await removeWarning(warningId);
ElMessage.success('关闭报警成功');
const params = {
deviceId,
warningIdList: [warningId],
};
await removeBroken(params);
ElMessage.success('关闭故障成功');
emit('removeBrokenSuccess', { warningId });
} catch (error) {
console.error('onCloseWarning: ', error);
ElMessage.error('关闭报警失败');
console.error('onCloseBroken: ', error);
ElMessage.error('关闭故障失败');
}
}
</script>

Loading…
Cancel
Save