2024-12-02 16:49:48 +08:00
|
|
|
|
<template>
|
2024-12-20 17:25:13 +08:00
|
|
|
|
<z-paging ref="paging" @query="queryList" v-model="dataList" :default-page-size="queryParams.pageSize"
|
|
|
|
|
:auto-show-system-loading="true" empty-view-text="抱歉,暂时还没有相关数据!">
|
|
|
|
|
<template #top>
|
|
|
|
|
<custom-nav-bar :left="true" title="操作日志"></custom-nav-bar>
|
|
|
|
|
<view style="background: #e7fdeb;padding: 5px;">
|
|
|
|
|
<u-search v-model="queryParams.searchValue" @search="queryList" />
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<view class="index-container">
|
|
|
|
|
<view class="item-container" v-for="item in dataList">
|
|
|
|
|
<view style="display: flex; align-items: center; justify-content: space-between;">
|
|
|
|
|
<view class="flex-text" style="margin: 15px;">
|
|
|
|
|
<view class="flex-text-one" style="color: black;">出水口:</view>
|
|
|
|
|
<view>{{ item.woName}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view style="margin-right: 5px;" v-hasPermi="['system:land:edit']">
|
|
|
|
|
<u-button text="1开" type="primary" plain plainFill></u-button>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<u-gap height="1" bgColor="#D2D2D2"></u-gap>
|
|
|
|
|
<view style="display: flex;justify-content: space-between;align-items: center;" @click="openPop(item)">
|
|
|
|
|
<view class="data">
|
|
|
|
|
<view class="flex-text global-font-size-1">
|
|
|
|
|
<view class="flex-text-one">设备名称:</view>
|
|
|
|
|
<view>{{ item.operSubject}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-text global-font-size-1">
|
|
|
|
|
<view class="flex-text-one">执行内容:</view>
|
|
|
|
|
<view>{{ item.operContent}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-text global-font-size-1" style="margin-top: 5px;">
|
|
|
|
|
<view class="flex-text-one">操作人员:</view>
|
|
|
|
|
<view>{{ item.operUser}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-text global-font-size-1" style="margin-top: 5px;">
|
|
|
|
|
<view class="flex-text-one">操作时间:</view>
|
|
|
|
|
<view>{{ item.occurTime}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view>
|
|
|
|
|
<view v-hasPermi="['land:land:query']" style="margin-right: 10px;">
|
|
|
|
|
<u-icon name="arrow-right"></u-icon>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</z-paging>
|
2024-12-02 16:49:48 +08:00
|
|
|
|
|
2024-12-20 17:25:13 +08:00
|
|
|
|
<!-- 图层弹出 -->
|
|
|
|
|
<u-popup mode="center" :show="showPop" @close="showPop = false">
|
|
|
|
|
<view class="popup-content" style="width: 70vw;height: 50vh;">
|
|
|
|
|
<u-steps direction="column" :current="popData.length">
|
2024-12-20 19:13:48 +08:00
|
|
|
|
<!-- <u-steps-item v-for="item in popData" :title="item.operUser" :desc="item.occurTime" /> -->
|
|
|
|
|
<up-steps-item title="发送命令" desc="10:30"></up-steps-item>
|
|
|
|
|
<up-steps-item title="服务器至MQ" desc="10:30"></up-steps-item>
|
|
|
|
|
<up-steps-item title="MQ至IOT平台" desc="10:30"></up-steps-item>
|
|
|
|
|
<up-steps-item title="设备数据上报" desc="10:30"></up-steps-item>
|
2024-12-20 17:25:13 +08:00
|
|
|
|
</u-steps>
|
|
|
|
|
</view>
|
|
|
|
|
</u-popup>
|
|
|
|
|
</template>
|
2024-12-02 16:49:48 +08:00
|
|
|
|
<script>
|
2024-12-20 19:13:48 +08:00
|
|
|
|
import * as userlog from "@/api/iotlog/userlog.js"
|
|
|
|
|
import * as datavalve from "@/api/iotlog/datavalve.js"
|
2024-12-20 17:25:13 +08:00
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
dataList: [],
|
|
|
|
|
queryParams: {
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 20,
|
|
|
|
|
logType: 1, //1:设备,2:系统
|
|
|
|
|
landId: -1, //地块id
|
|
|
|
|
operType: "control", //控制
|
|
|
|
|
operSource: 1, //用户
|
|
|
|
|
searchValue: "", //出水口,设备code
|
|
|
|
|
},
|
|
|
|
|
showPop: false,
|
|
|
|
|
popData: [],
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-12-20 18:30:41 +08:00
|
|
|
|
onLoad(par) {
|
|
|
|
|
if (par.queryParams) {
|
|
|
|
|
let queryParams = JSON.parse(par.queryParams);
|
|
|
|
|
this.queryParams = Object.assign(this.queryParams, queryParams)
|
|
|
|
|
} else {
|
|
|
|
|
const cacheData = uni.getStorageSync("cacheData");
|
|
|
|
|
if (cacheData) {
|
|
|
|
|
this.queryParams.landId = cacheData.land.id;
|
|
|
|
|
}
|
2024-12-20 17:25:13 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onShow() {},
|
|
|
|
|
mounted() {},
|
|
|
|
|
methods: {
|
|
|
|
|
queryList(pageNo, pageSize) {
|
|
|
|
|
this.queryParams.pageNum = pageNo;
|
|
|
|
|
console.error("queryList:", this.queryParams);
|
2024-12-20 19:13:48 +08:00
|
|
|
|
userlog.getlist(this.queryParams).then(res => {
|
2024-12-20 17:25:13 +08:00
|
|
|
|
console.error("queryList:", res);
|
|
|
|
|
this.$refs.paging.completeByTotal(res.rows, res.total);
|
|
|
|
|
});
|
|
|
|
|
},
|
2024-12-20 19:13:48 +08:00
|
|
|
|
async openPop(item) {
|
2024-12-20 17:25:13 +08:00
|
|
|
|
this.showPop = true;
|
2024-12-20 19:13:48 +08:00
|
|
|
|
let popData = [];
|
|
|
|
|
const userlogRes = await userlog.getlist({
|
2024-12-20 17:25:13 +08:00
|
|
|
|
traceId: item.traceId
|
|
|
|
|
});
|
2024-12-20 19:13:48 +08:00
|
|
|
|
console.error("userlogRes:", userlogRes);
|
|
|
|
|
const datavalveRes = await datavalve.getlist({
|
|
|
|
|
traceId: item.traceId
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
console.error("datavalveRes:", datavalveRes);
|
|
|
|
|
// this.showPop = true;
|
|
|
|
|
// .then(res => {
|
|
|
|
|
// this.popData = res.rows.sort(this.compareDataNew("logNum"));
|
|
|
|
|
// });
|
2024-12-20 17:25:13 +08:00
|
|
|
|
},
|
|
|
|
|
// 数据排序
|
|
|
|
|
compareDataNew(file1) {
|
|
|
|
|
return function(b, a) {
|
|
|
|
|
if (b[file1] < a[file1]) {
|
|
|
|
|
return -1;
|
|
|
|
|
} else if (b[file1] > a[file1]) {
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-12-02 16:49:48 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
2024-12-20 17:25:13 +08:00
|
|
|
|
<style lang="scss">
|
|
|
|
|
.index-container {
|
|
|
|
|
.list {
|
|
|
|
|
margin: 0px 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.list-size {
|
|
|
|
|
display: flex;
|
|
|
|
|
padding: 5px 5px;
|
|
|
|
|
background: white;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.search {
|
|
|
|
|
background-color: white;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.item-container {
|
|
|
|
|
margin: 10px 10px;
|
|
|
|
|
background-color: white;
|
|
|
|
|
padding-bottom: 10px;
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.flex-text {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
.flex-text-one {
|
|
|
|
|
color: #939393;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data {
|
|
|
|
|
margin: 10px 20px;
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-12-02 16:49:48 +08:00
|
|
|
|
</style>
|