jsy-app/pages/work/operation-log/index.vue
2024-12-20 17:25:13 +08:00

161 lines
4.2 KiB
Vue
Raw 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>
<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>
<!-- 图层弹出 -->
<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">
<u-steps-item v-for="item in popData" :title="item.operUser" :desc="item.occurTime" />
</u-steps>
</view>
</u-popup>
</template>
<script>
import {
getlist
} from "@/api/system/userlog.js"
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: [],
}
},
onLoad() {
const cacheData = uni.getStorageSync("cacheData");
if (cacheData) {
this.queryParams.landId = cacheData.land.id;
}
},
onShow() {},
mounted() {},
methods: {
queryList(pageNo, pageSize) {
this.queryParams.pageNum = pageNo;
console.error("queryList:", this.queryParams);
getlist(this.queryParams).then(res => {
console.error("queryList:", res);
this.$refs.paging.completeByTotal(res.rows, res.total);
});
},
openPop(item) {
this.showPop = true;
getlist({
traceId: item.traceId
}).then(res => {
this.popData = res.rows.sort(this.compareDataNew("logNo"));
});
},
// 数据排序
compareDataNew(file1) {
return function(b, a) {
if (b[file1] < a[file1]) {
return -1;
} else if (b[file1] > a[file1]) {
return 1;
}
}
},
}
}
</script>
<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;
}
}
</style>