【代码评审】IoT:数据桥梁的接入

This commit is contained in:
YunaiV
2025-03-16 23:44:56 +08:00
parent 79507aef6d
commit c87ed7fe17
12 changed files with 52 additions and 39 deletions

View File

@@ -43,7 +43,11 @@
:disabled="formType === 'update'"
/>
</el-form-item>
<el-form-item v-if="formData.deviceType === 1" label="网关设备" prop="gatewayId">
<el-form-item
v-if="formData.deviceType === DeviceTypeEnum.GATEWAY_SUB"
label="网关设备"
prop="gatewayId"
>
<el-select v-model="formData.gatewayId" placeholder="子设备可选择父设备" clearable>
<el-option
v-for="gateway in gatewayDevices"

View File

@@ -59,7 +59,7 @@ import { beginOfDay, dateFormatter, endOfDay, formatDate } from '@/utils/formatT
defineProps<{ product: ProductVO; device: DeviceVO }>()
/** IoT 设备 数据详情 */
/** IoT 设备数据详情 */
defineOptions({ name: 'IoTDeviceDataDetail' })
const dialogVisible = ref(false) // 弹窗的是否展示
@@ -78,9 +78,9 @@ const queryParams = reactive({
formatDate(endOfDay(new Date()))
]
})
const queryFormRef = ref() // 搜索的表单
/** 获得设备历史数据 */
const getList = async () => {
detailLoading.value = true
try {

View File

@@ -30,9 +30,9 @@
/>
<div class="mt-5 text-center">
<el-button v-if="isEditing" @click="cancelEdit">取消</el-button>
<el-button v-if="isEditing" type="primary" @click="saveConfig" :disabled="hasJsonError"
>保存</el-button
>
<el-button v-if="isEditing" type="primary" @click="saveConfig" :disabled="hasJsonError">
保存
</el-button>
<el-button v-else @click="enableEdit">编辑</el-button>
<!-- TODO @芋艿缺一个下发按钮 -->
</div>

View File

@@ -120,18 +120,19 @@ const copyToClipboard = async (text: string) => {
/** 打开 MQTT 参数弹框的方法 */
const openMqttParams = async () => {
try {
const res = await DeviceApi.getMqttConnectionParams(device.id)
const data = await DeviceApi.getMqttConnectionParams(device.id)
// 根据 API 响应结构正确获取数据
// TODO @haohao'N/A' 是不是在 ui 里处理哈
mqttParams.value = {
mqttClientId: res.mqttClientId || 'N/A',
mqttUsername: res.mqttUsername || 'N/A',
mqttPassword: res.mqttPassword || 'N/A'
mqttClientId: data.mqttClientId || 'N/A',
mqttUsername: data.mqttUsername || 'N/A',
mqttPassword: data.mqttPassword || 'N/A'
}
// 显示 MQTT 弹框
mqttDialogVisible.value = true
} catch (error) {
console.error('获取MQTT连接参数出错', error)
console.error('获取 MQTT 连接参数出错:', error)
message.error('获取MQTT连接参数失败请检查网络连接或联系管理员')
}
}

View File

@@ -51,7 +51,7 @@ defineOptions({ name: 'IoTDeviceDetail' })
const route = useRoute()
const message = useMessage()
const id = Number(route.params.id) // 将字符串转换为数字
const id = route.params.id // 将字符串转换为数字
const loading = ref(true) // 加载中
const product = ref<ProductVO>({} as ProductVO) // 产品详情
const device = ref<DeviceVO>({} as DeviceVO) // 设备详情