This commit is contained in:
zhouhuang 2024-12-31 10:35:00 +08:00
commit bfb62dad40
3 changed files with 26 additions and 21 deletions

View File

@ -49,7 +49,7 @@ public class HeartbeatCommand implements BaseCommand{
JsonNode realNode = linkNode.get("real"); JsonNode realNode = linkNode.get("real");
if (realNode != null){ if (realNode != null){
boolean real = realNode.asBoolean(); boolean real = realNode.asBoolean();
String key = String.format("link:%s:modbus", linkId); String key = String.format("link:%s:real", linkId);
ops.set(key, real, HEARTBEAT_TTL, TimeUnit.SECONDS); ops.set(key, real, HEARTBEAT_TTL, TimeUnit.SECONDS);
} }
JsonNode ftpNode = linkNode.get("ftp"); JsonNode ftpNode = linkNode.get("ftp");

View File

@ -1258,14 +1258,16 @@ const getThisDayChartDataForMinute = () => {
const len = val.iWindDirection.length const len = val.iWindDirection.length
const result: number[] = new Array(16).fill(0) const result: number[] = new Array(16).fill(0)
val.iWindDirection.forEach((item: number) => { val.iWindDirection.forEach((item: number) => {
item = item < 0 ? 360 + item : item > 360 ? 360 : item if (typeof item === 'number') {
if (item === 0) { item = item < 0 ? 360 + item : item > 360 ? 360 : item
result[0] += 1 if (item === 0) {
} else { result[0] += 1
const divisor = Math.ceil(item / 22.5) - 1 } else {
result[divisor] += 1 const divisor = Math.ceil(item / 22.5) - 1
result[divisor] += 1
}
} }
}) })
const percent = result.map((item) => Math.floor((item / len) * 100000) / 1000) const percent = result.map((item) => Math.floor((item / len) * 100000) / 1000)
frequencyData.value = percent frequencyData.value = percent
resolve(true) resolve(true)

View File

@ -6,7 +6,7 @@
</div> </div>
<div class="content"> <div class="content">
<el-table :data="tableData" class="logTable"> <el-table :data="tableData" class="logTable">
<el-table-column label="名称" prop="loggerName" align="left"></el-table-column> <el-table-column label="名称" prop="loggerName"></el-table-column>
<el-table-column label="日志级别" prop="level" align="center"> <el-table-column label="日志级别" prop="level" align="center">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.level" v-if="scope.row.hasEdit"> <el-select v-model="scope.row.level" v-if="scope.row.hasEdit">
@ -25,9 +25,10 @@
<el-table-column label="操作" width="240px" align="center"> <el-table-column label="操作" width="240px" align="center">
<template #default="scope"> <template #default="scope">
<div class="logTableOperate"> <div class="logTableOperate">
<el-button v-if="scope.row.hasEdit" @click="submitLevel(scope.row)" text type="success">保存</el-button> <div class="operate">
<el-button v-if="scope.row.hasEdit" @click="cancelLevel(scope.row)" text type="info">取消</el-button> <el-button v-if="scope.row.hasEdit" @click="submitLevel(scope.row)" text type="success">保存</el-button>
<el-button text type="primary" @click.stop="editLogConfiguration(scope)">编辑</el-button> <el-button v-if="scope.row.hasEdit" @click="cancelLevel(scope.row)" text type="info">取消</el-button>
</div>
<el-popconfirm title="确定删除吗?" @confirm="delLogConfiguration(scope)"> <el-popconfirm title="确定删除吗?" @confirm="delLogConfiguration(scope)">
<template #reference> <template #reference>
<el-button text type="danger" @click.stop>删除</el-button> <el-button text type="danger" @click.stop>删除</el-button>
@ -41,10 +42,10 @@
<el-dialog :title="logDialogTitle" v-model="logDialogVisible" :width="400" align-center> <el-dialog :title="logDialogTitle" v-model="logDialogVisible" :width="400" align-center>
<el-form :model="logFormModel" label-width="80"> <el-form :model="logFormModel" label-width="80">
<el-form-item label="名称"> <el-form-item label="名称">
<el-input v-model="logFormModel.loggerName"></el-input> <el-input v-model="logFormModel.loggerName" placeholder="请输入日志名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="日志级别"> <el-form-item label="日志级别">
<el-select v-model="logFormModel.level"> <el-select v-model="logFormModel.level" placeholder="请选择日志级别">
<el-option value="FATAL"></el-option> <el-option value="FATAL"></el-option>
<el-option value="ERROR"></el-option> <el-option value="ERROR"></el-option>
<el-option value="WARN"></el-option> <el-option value="WARN"></el-option>
@ -105,16 +106,17 @@ const submitlogForm = (data: { loggerName: string; level: string } | null) => {
const closeLogForm = () => { const closeLogForm = () => {
logDialogVisible.value = false logDialogVisible.value = false
} }
const originLevel = ref('') const beforeRowData = ref<{ loggerName: string; level: string; hasEdit: boolean }>()
const editLevel = (data: { loggerName: string; level: string; hasEdit: boolean }) => { const editLevel = (data: { loggerName: string; level: string; hasEdit: boolean }) => {
originLevel.value = data.level beforeRowData.value && (beforeRowData.value.hasEdit = false)
beforeRowData.value = data
data.hasEdit = true data.hasEdit = true
} }
const submitLevel = (data: { loggerName: string; level: string; hasEdit: boolean }) => { const submitLevel = (data: { loggerName: string; level: string; hasEdit: boolean }) => {
submitlogForm({ loggerName: data.loggerName, level: data.level }) submitlogForm({ loggerName: data.loggerName, level: data.level })
} }
const cancelLevel = (data: { loggerName: string; level: string; hasEdit: boolean }) => { const cancelLevel = (data: { loggerName: string; level: string; hasEdit: boolean }) => {
data.level = originLevel.value data.level = beforeRowData.value!.level
data.hasEdit = false data.hasEdit = false
} }
const addLogConfiguration = () => { const addLogConfiguration = () => {
@ -151,8 +153,9 @@ const getLogList = () => {
hasEdit: false, hasEdit: false,
} }
}) })
tableData.value = data // tableData.value = data
originTableData = data originTableData = data
change()
} }
}) })
} }
@ -186,14 +189,14 @@ getLogList()
width: 100%; width: 100%;
height: 100%; height: 100%;
.el-select { .el-select {
width: 200px; width: 100px;
} }
&:deep(.el-select__wrapper) { &:deep(.el-select__wrapper) {
width: 200x; width: 100x;
} }
.logTableOperate { .logTableOperate {
display: flex; display: flex;
justify-content: right; justify-content: center;
width: 100%; width: 100%;
.el-button { .el-button {
margin-left: 0; margin-left: 0;