Files
Pichome/admin/systemlog/template/list.htm
2024-01-31 01:00:33 +08:00

185 lines
5.0 KiB
HTML

<!--{template common/container/pc/header_start}-->
<style type="text/css">
:root{
--el-color-primary: #1c3676;
}
body {
background: transparent;
}
.page-left .el-menu-item.is-active{
background-color: #e8ebf1;
}
.el-page-header__left {
margin-right: 8px;
color: #FFFFFF;
}
.el-page-header__content {
color: #fff;
}
</style>
<!--{template common/container/pc/header_end}-->
<div id="dzzoffice">
<el-container>
<el-header class="page-header" height="60px" style="--el-header-padding: 0 8px;background: var(--el-color-primary);">
<!--{template header/index}-->
</el-header>
<el-container>
<el-aside width="300px" class="page-left">
<!--{template left}-->
</el-aside>
<el-container>
<el-header height="56px" style="--el-header-padding: 0;border-bottom: var(--el-border);">
<el-menu :default-active="contentTop.activeIndex" class="list-menu" mode="horizontal" @select="contentTopSelect" style="height: 100%;border: 0;">
<el-menu-item style="height: 100%;line-height: 56px;" v-for="item in contentTop.data" :index="item.active">{{item.text}}</el-menu-item>
</el-menu>
</el-header>
<el-main style="padding: 0;">
<el-scrollbar style="height: 100%;">
<div style="padding: 20px;">
<el-table
:data="contentCenter.tableData"
style="width: 100%">
<el-table-column
prop="operator"
label="{lang operator}"
width="100">
</el-table-column>
<el-table-column
prop="usergroup"
label="{lang usergroup}"
width="100">
</el-table-column>
<el-table-column
prop="ip"
label="{lang ip}"
width="120">
</el-table-column>
<el-table-column
prop="time"
label="{lang time}"
width="120">
</el-table-column>
<el-table-column
prop="os"
label="{lang os}">
</el-table-column>
<!--{if $operation != 'cplog'}-->
<el-table-column
prop="info"
label="{lang info}">
</el-table-column>
<!--{/if}-->
</el-table>
<div style="text-align: center;padding: 20px 0;">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage2"
:page-sizes="[15,20, 40, 80]"
:page-size="currentPage"
layout="total,sizes, prev, pager, next"
:total="$count">
</el-pagination>
</div>
</div>
</el-scrollbar>
</el-main>
</el-container>
</el-container>
</el-container>
<script type="text/javascript">
const { createApp, reactive, toRefs, toRef, ref, onMounted, nextTick, watch, computed, onBeforeUpdate } = Vue;
const dzzoffice = createApp({
data() {
return {
contentTop:{
activeIndex:null,
data:[]
},
contentCenter:{
tableData:[]
},
currentPage:{$lpp},
currentPage2:{$page}
};
},
mixins:[LeftMixin],
watch:{
},
computed:{
},
created() {
var self = this;
this.handleForEachTop();
this.handleForEachCenter();
},
methods: {
handleSizeChange(val){
window.location.href = MOD_URL+'&type=list&operation=$operation&lpp='+val+'&page='+this.currentPage2;
},
handleCurrentChange(val){
window.location.href = MOD_URL+'&type=list&operation=$operation&lpp='+this.currentPage+'&page='+val;
},
handleForEachCenter(){
<!--{loop $list $key $log}-->
this.contentCenter.tableData.push({
operator:'$log[2]',
usergroup:'$log[3]',
ip:'$log[4]',
time:'$log[1]',
os:'$log[5]',
<!--{if $operation != 'cplog'}-->
info:'$log[6]',
<!--{/if}-->
});
<!--{/loop}-->
},
handleForEachTop(){
<!--{loop $systemlog_setting $mark $info}-->
<!--{if $info[is_open]==1 }-->
<!--{if $operation==$mark }-->
this.contentTop.activeIndex = '$mark';
<!--{/if}-->
this.contentTop.data.push({
text:"$info['title']",
route:'{BASESCRIPT}?mod=systemlog&type=list&operation=$mark',
active:'$mark'
})
<!--{/if}-->
<!--{/loop}-->
},
contentTopSelect(key) {
var data = this.contentTop.data.find(function(item){
return item.active == key;
});
window.location.href = data.route;
}
},
mounted() {
var self = this;
},
components:{
comavatar,
}
})
dzzoffice.use(ElementPlus, {
locale: ElementPlusLocaleZhCn,
});
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
dzzoffice.component(key, component)
}
// 屏蔽警告信息
dzzoffice.config.warnHandler = function(){return null};
dzzoffice.mount('#dzzoffice');
</script>
</div>
<!--{template common/container/pc/footer}-->