2025-04-16 02:11:26 +01:00

138 lines
3.2 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<view v-if="logList.length>0">
<view class="background-color-fff margin-bottom-10 padding-20 border-radius-15 font-color-l2 font-size-25" v-for="item in logList" :key="item.logId">
<view class="margin-bottom-10">
<text class="font-weight-bold font-size-25" style="color:#2b7">{{item.logType | transformName(logTypeList)}}</text>
</view>
<view class="">
<text class="font-weight-bold">模式</text><text v-if="item.mode==1">影子模式</text>
<text v-else-if="item.mode==2">在线模式</text>
<text v-else>其他信息</text>
</view>
<view class="">
<text class="font-weight-bold">标志符</text>{{item.identity}}
</view>
<view class="">
<text class="font-weight-bold">动作</text><text v-if="item.logType==1 ||item.logType==2||item.logType==3">
{{item.remark+':'+item.logValue}}
</text>
<text v-if="item.logType==4">
设备升级
</text>
<text v-if="item.logType==5">
设备上线
</text>
<text v-if="item.logType==6">
设备离线
</text>
</view>
<view class="">
<text class="font-weight-bold">时间</text> {{item.createTime}}
</view>
</view>
<view class="pagination" v-if="total!=0">
<uni-pagination :show-icon="true" :total="total" @change="getLog" />
</view>
</view>
<!-- 无数据控件 -->
<u-empty v-else mode="data" icon="https://cdn.uviewui.com/uview/empty/data.png" />
</view>
</template>
<script>
import {
getDict
} from "@/utils/dict.js"
export default {
name: "log",
props: {
device: {
type: Object,
default: null
}
},
data() {
return {
thingsModel: {},
query: {
pageNum: 1,
pageSize: 5,
serialNumber: null
},
logList: [],
total: 0,
logTypeList: []
}
},
watch: {
// 获取到父组件传递的device后刷新列表
device: {
handler(newVal, oldVal) {
this.deviceInfo = newVal;
if (this.deviceInfo && this.deviceInfo.deviceId != 0) {
this.query.serialNumber = this.deviceInfo.serialNumber;
this.getLog()
// 解析缓存物模型
this.thingsModel = this.deviceInfo.cacheThingsModel;
}
},
immediate: true
}
},
created() {
// this.query.serialNumber=this.device.serialNumber
// this.getLog()
getDict("iot_device_log_type").then(res => {
this.logTypeList = res
})
},
filters: {
transformName(val, logTypeList) {
let name = ""
logTypeList.forEach((item, index) => {
if (item.value == val) {
name = item.name
}
})
return name
}
},
methods: {
getLog(e) {
if (e) {
this.query.pageNum = e.current
uni.$u.http.get('/iot/deviceLog/list', {
params: {
...this.query
}
}).then(res => {
this.logList = res.rows
this.total = res.total
})
} else {
uni.$u.http.get('/iot/deviceLog/list', {
params: {
...this.query
}
}).then(res => {
this.logList = res.rows
this.total = res.total
})
}
}
}
}
</script>
<style lang="scss" scoped>
.pagination {
background-color: #fff;
padding: 20rpx;
box-sizing: border-box;
}
</style>