|
|
|
@ -2,32 +2,41 @@ |
|
|
|
<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" label="产生时间" min-width="170"> |
|
|
|
|
|
|
|
<el-table-column align="center" label="故障信息" min-width="200"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ formatTime(+scope.row.startTime) }} |
|
|
|
{{ scope.row.sensorName }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" label="消失时间" min-width="170"> |
|
|
|
|
|
|
|
<el-table-column align="center" label="产生时间" min-width="170"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ scope.row.endTime ? formatTime(+scope.row.endTime) : '-' }} |
|
|
|
{{ formatTime(+scope.row.startTime) }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column align="center" label="故障信息"> |
|
|
|
<el-table-column align="center" label="消失时间" min-width="170"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ scope.row.sensorName }} |
|
|
|
{{ scope.row.endTime ? formatTime(+scope.row.endTime) : '-' }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column align="center" fixed label="状态"> |
|
|
|
<el-table-column align="center" label="状态" min-width="100"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ scope.row.brokenStatus }} |
|
|
|
<el-tag :type="computeStatus(scope.row.brokenStatus)">{{ scope.row.brokenStatus }}</el-tag> |
|
|
|
</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="onCloseBroken(scope.row.deviceId, scope.row.id)">关闭故障</el-button> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="danger" |
|
|
|
:disabled="scope.row.brokenStatus !== '待解除'" |
|
|
|
@click="onCloseBroken(scope.row.deviceId, scope.row.id)" |
|
|
|
> |
|
|
|
解除故障 |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
@ -53,6 +62,20 @@ function formatTime(time) { |
|
|
|
return dayjs(new Date(time)).format('YYYY-MM-DD HH:mm:ss'); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据返回值计算tag's type |
|
|
|
* @param {string} status 状态 |
|
|
|
*/ |
|
|
|
function computeStatus(status) { |
|
|
|
if (status === '解除失败') { |
|
|
|
return 'danger'; |
|
|
|
} |
|
|
|
if (status === '解除成功') { |
|
|
|
return 'success'; |
|
|
|
} |
|
|
|
return 'warning'; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 关闭某条故障 |
|
|
|
* @param {string} warningId 故障记录id |
|
|
|
@ -62,11 +85,10 @@ async function onCloseBroken(deviceId, warningId) { |
|
|
|
try { |
|
|
|
const params = { |
|
|
|
deviceId, |
|
|
|
warningIdList: [warningId], |
|
|
|
brokenIdList: [warningId], |
|
|
|
}; |
|
|
|
await removeBroken(params); |
|
|
|
ElMessage.success('关闭故障成功'); |
|
|
|
emit('removeBrokenSuccess', { warningId }); |
|
|
|
emit('removeBrokenSuccess', { warningId, deviceId }); |
|
|
|
} catch (error) { |
|
|
|
console.error('onCloseBroken: ', error); |
|
|
|
ElMessage.error('关闭故障失败'); |
|
|
|
|