9304bc85 by 蔡俊立

系统监控

1 parent b5b2b3f7
......@@ -11,3 +11,15 @@ export function getErrorLogList (data) {
showLoading: true
})
}
/*
系统监控 -获取操作日志列表
*/
export function getOperationLogList (data) {
return request({
url: SERVER.SERVERAPI + '/rest/xtjk/view/getOperationLogList',
method: 'post',
data,
showLoading: true
})
}
......
......@@ -300,14 +300,14 @@ export const asyncRoutes = [
name: 'czrz',
meta: { title: '操作日志' }
},
// {
// path: 'monitor',
// id: '63',
// parentId: '6',
// component: () => import('@/views/xtjk/host/monitor.vue'),
// name: 'monitor',
// meta: { title: '主机监控' }
// },
{
path: 'zjjk',
id: '63',
parentId: '6',
component: () => import('@/views/xtjk/zjjk/zjjk.vue'),
name: 'zjjk',
meta: { title: '主机监控' }
},
]
}
]
......
<template>
<div>
<el-row :gutter="8">
<el-col :span="16">
api接口地址:
<el-input v-model="formData.item.apiUri"></el-input>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
传入参数:
<el-input type="textarea" :rows="4" v-model="formData.item.crcs"></el-input>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
错误内容:
<el-input type="textarea" :rows="10" v-model="formData.item.cwnr"></el-input>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
错误位置:
<el-input type="textarea" :rows="10" v-model="formData.item.cwdmwz"></el-input>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
data () {
return {
};
},
components: { },
props: {
formData: {
type: Object,
default: () => {}
},
},
created(){
console.log(this.formData);
},
computed: {
},
methods: {
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
.margin-top-middle {
margin-top:10px
}
</style>
\ No newline at end of file
......@@ -79,6 +79,26 @@ export default {
}
})
},
queryClick(){
this.fetchData();
},
viewDetail(e){
this.$popup({
title: "错误日志",
width: "50%",
btnShow: false,
editItem: "xtjk/cwrz/components/viewDialog",
height: "800px",
formData: {
item: e
},
cancel: function () { }, //取消事件的回调
confirm: function () {
that.loadBdcdylist();
}, //确认事件的回调
});
}
}
};
</script>
......
......@@ -69,7 +69,7 @@ class data extends filter {
align: 'center',
fixed: 'right',
render: (h, scope) => {
return <el-button type="text" onClick={() => { vm.del(scope.row) }}>查看</el-button>
return <el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button>
}
}
]
......
<template>
<div>
<el-row :gutter="8">
<el-col :span="16">
api接口地址:
<el-input v-model="formData.item.apiUri"></el-input>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
操作人员:
<el-input v-model="formData.item.creater"></el-input>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
错误内容:
<el-input type="textarea" :rows="10" v-model="formData.item.cznr"></el-input>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
data () {
return {
};
},
components: { },
props: {
formData: {
type: Object,
default: () => {}
},
},
created(){
console.log(this.formData);
},
computed: {
},
methods: {
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
.margin-top-middle {
margin-top:10px
}
</style>
\ No newline at end of file
<template>
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="操作类型">
<el-input placeholder="请输入操作类型" v-model="queryForm.czlx" @clear="queryClick()" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="接口地址">
<el-input placeholder="请输入接口地址" v-model="queryForm.apiUri" @clear="queryClick()" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<el-form-item>
<el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content">
<lb-table :page-size="pageData.size" border :current-page.sync="pageData.currentPage"
:heightNum="300" :total="tableData.total" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
</div>
</template>
<script>
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./czrzdata"
import { getOperationLogList } from "@/api/xtjk.js"
export default {
name: "czrz",
components: { },
mixins: [table],
mounted () {
sendThis(this);
},
computed: {
},
data () {
return {
queryForm: {
czlx: "",
apiUrl: "",
},
pageData: {
current: 1,
size: 10,
},
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
};
},
methods: {
init (e) {
this.fetchData()
},
// 列表渲染接口
fetchData () {
getOperationLogList({ ...this.queryForm, ...this.pageData }).then(res => {
if (res.code === 200) {
let { total, records } = res.result
this.tableData.total = total;
this.tableData.data = records
}
})
},
queryClick(){
this.fetchData();
},
viewDetail(e){
this.$popup({
title: "操作日志",
width: "50%",
btnShow: false,
editItem: "xtjk/czrz/components/viewDialog",
height: "800px",
formData: {
item: e
},
cancel: function () { }, //取消事件的回调
confirm: function () {
that.loadBdcdylist();
}, //确认事件的回调
});
}
}
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
......
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
label: '序号',
type: 'index',
width: '50',
render: (h, scope) => {
return (
<div>
{(vm.pageData.currentPage - 1) * vm.pageData.pageSize + scope.$index + 1}
</div>
)
}
},
{
prop: "czlx",
label: "操作类型",
width: '100'
},
{
prop: "apiUri",
label: "api接口",
width: '200'
},
{
prop: "creater",
label: "操作人员",
width: '100'
},
{
prop: "createtime",
label: "操作时间",
width: '150'
},
{
prop: "czfs",
label: "操作方式",
width: '100'
},
{
prop: "czywbh",
label: "操作业务编号",
width: '150'
},
{
prop: "cznr",
label: "操作内容",
render: (h, scope) => {
return <div class="item-cwnr">{scope.row.cznr}</div>
}
},
{
label: '操作',
width: '80',
align: 'center',
fixed: 'right',
render: (h, scope) => {
return <el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button>
}
}
]
}
}
let datas = new data()
export {
datas,
sendThis
}
<template>
<div>
<el-row :gutter="20">
<el-col :span="16"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="4"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="4"><div class="grid-content bg-purple"></div></el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="16"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="4"><div class="grid-content bg-purple"></div></el-col>
</el-row>
</div>
</template>
<script>
export default {
name: "zjjk",
components: { },
computed: {
},
data () {
return {
};
},
methods: {
}
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>