删除旧的错误信息展示组件 为下一步准备用页面制作log显示做准备

Former-commit-id: 53f84c1b978bbe3f7c1a484f649ecb24904226c9 [formerly 53f84c1b978bbe3f7c1a484f649ecb24904226c9 [formerly 53f84c1b978bbe3f7c1a484f649ecb24904226c9 [formerly 53f84c1b978bbe3f7c1a484f649ecb24904226c9 [formerly d3727e3a924335c6f982b5b66085ffa0930b94f2 [formerly 19c41e84fdc55ab3f87ff45d67bd262eca2d213c]]]]]
Former-commit-id: 630d89e2818f7ceb56f38a0f51fcd5ffab969dc4
Former-commit-id: 9fc7690b01b0fb1abc352c2a073f8bb69bd3fd62
Former-commit-id: ce67ae520552390aed3a2a7b8c3e4220fa24b338 [formerly 95724b4f1eb486dd79fda543a5bdfb9f5d38c361]
Former-commit-id: b90a90dd985bda5959586c9f902b16754b3f21e0
Former-commit-id: 56d5ed57e2bcda3281c0850a5cbddd9f78a86011
Former-commit-id: b9cd9abc79b6177f9df7b06b1ded93a5d314d019
Former-commit-id: 6cf9a1a3c63ec56d5b3a91f74001c1af94bbb25f
Former-commit-id: d563b29a0c397dce540c363cc5306c7daff904ad
This commit is contained in:
liyang
2019-03-10 22:46:12 +08:00
parent 5445389c54
commit aaa2b02be8
4 changed files with 4 additions and 240 deletions

View File

@@ -1,30 +0,0 @@
<template>
<div
class="d2-error-log-list__expand"
:class="className">
<p class="d2-error-log-list__expand-title">{{title}}</p>
<p class="d2-error-log-list__expand-value">{{value === '' ? '无数据' : value}}</p>
<slot/>
</div>
</template>
<script>
export default {
props: {
type: {
default: 'log'
},
title: {
default: ''
},
value: {
default: ''
}
},
computed: {
className () {
return this.type === 'log' ? 'd2-error-log-list__expand--log' : 'd2-error-log-list__expand--error'
}
}
}
</script>

View File

@@ -1,178 +0,0 @@
<template>
<el-table
:data="logReversed"
border
stripe
style="width: 100%"
size="mini">
<el-table-column type="expand">
<div slot-scope="{ row = {} }" class="d2-error-log-list__expand-group">
<expand-item
:type="row.type"
title="类型"
:value="row.type === 'log' ? '日志' : '异常'"/>
<expand-item
:type="row.type"
title="内容"
:value="row.info"/>
<expand-item
v-if="row.type === 'error'"
type="error"
title="报错组件"
:value="get(row, 'instance.$vnode.tag', '')"/>
<expand-item
v-if="row.type === 'error'"
type="error"
title="错误名称"
:value="get(row, 'err.name', '')"/>
<expand-item
v-if="row.type === 'error'"
type="error"
title="错误信息"
:value="get(row, 'err.message', '')"/>
<expand-item
v-if="row.type === 'error'"
type="error"
title="错误堆栈"
value="见下">
<div style="overflow: auto;">
<pre>{{stackBeautify(row.err)}}</pre>
</div>
</expand-item>
<expand-item
:type="row.type"
title="用户名"
:value="get(row, 'user.name', '')"/>
<expand-item
:type="row.type"
title="uuid"
:value="row.uuid"/>
<expand-item
:type="row.type"
title="token"
:value="row.token"/>
<expand-item
:type="row.type"
title="页面地址"
:value="row.url"/>
<expand-item
:type="row.type"
title="时间"
:value="row.time"/>
</div>
</el-table-column>
<el-table-column
prop="type"
label="类型"
width="80px"
align="center"
:filters="[
{ text: '日志', value: 'log' },
{ text: '异常', value: 'error' }
]"
:filter-multiple="false"
:filter-method="filterType"
filter-placement="bottom">
<template slot-scope="scope">
<el-tag
v-if="get(scope, 'row.type') === 'error'"
size="mini"
type="danger">
<d2-icon name="bug"/> Bug
</el-tag>
<el-tag
v-else
size="mini"
type="info">
<d2-icon name="dot-circle-o"/> Log
</el-tag>
</template>
</el-table-column>
<el-table-column
label="地址"
prop="url"
width="140px"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
label="内容"
prop="info"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
label="错误类型"
width="140px"
:show-overflow-tooltip="true">
<template
slot-scope="scope">
{{get(scope, 'row.err.name', '')}}
</template>
</el-table-column>
<el-table-column
label="错误信息"
width="300px">
<template
slot-scope="scope">
{{get(scope, 'row.err.message', '')}}
</template>
</el-table-column>
</el-table>
</template>
<script>
import { mapState } from 'vuex'
import { get, cloneDeep } from 'lodash'
import ExpandItem from './components/ExpandItem'
export default {
name: 'd2-error-log-list',
components: {
ExpandItem
},
computed: {
...mapState('d2admin', {
logList: state => state.log.list
}),
logReversed () {
return cloneDeep(this.logList).reverse()
}
},
methods: {
get,
filterType (value, row) {
return row.type === value
},
stackBeautify (err) {
return get(err, 'stack', '')
}
}
}
</script>
<style lang="scss">
.d2-error-log-list__expand-group {
.d2-error-log-list__expand {
padding-left: 20px;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0px;
}
.d2-error-log-list__expand-title {
font-size: 16px;
font-weight: bold;
margin-top: 0px;
margin-bottom: 10px;
}
.d2-error-log-list__expand-value {
font-size: 12px;
margin-top: 0px;
margin-bottom: 0px;
}
}
.d2-error-log-list__expand--log {
border-left: 4px solid $color-info;
}
.d2-error-log-list__expand--error {
border-left: 4px solid $color-danger;
}
}
</style>

View File

@@ -23,34 +23,12 @@
style="font-size: 20px"/> style="font-size: 20px"/>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-dialog
:title="tooltipContent"
:fullscreen="true"
:visible.sync="dialogVisible"
:append-to-body="true">
<div class="d2-mb-10">
<el-button type="danger" size="mini" @click="handleLogClean">
<d2-icon name="trash-o"/>
清空
</el-button>
</div>
<d2-error-log-list/>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { mapGetters, mapMutations } from 'vuex' import { mapGetters, mapMutations } from 'vuex'
import D2ErrorLogList from './components/list'
export default { export default {
components: {
D2ErrorLogList
},
data () {
return {
dialogVisible: false
}
},
computed: { computed: {
...mapGetters('d2admin', { ...mapGetters('d2admin', {
logLength: 'log/length', logLength: 'log/length',
@@ -69,13 +47,7 @@ export default {
'clean' 'clean'
]), ]),
handleClick () { handleClick () {
if (this.logLength > 0) { //
this.dialogVisible = true
}
},
handleLogClean () {
this.dialogVisible = false
this.clean()
} }
} }
} }

View File

@@ -27,7 +27,7 @@
<div class="d2-header-right" flex-box="0"> <div class="d2-header-right" flex-box="0">
<!-- 如果你只想在开发环境显示这个按钮请添加 v-if="$env === 'development'" --> <!-- 如果你只想在开发环境显示这个按钮请添加 v-if="$env === 'development'" -->
<d2-header-search @click="handleSearchClick"/> <d2-header-search @click="handleSearchClick"/>
<d2-header-error-log/> <d2-header-log/>
<d2-header-fullscreen/> <d2-header-fullscreen/>
<d2-header-theme/> <d2-header-theme/>
<d2-header-size/> <d2-header-size/>
@@ -89,7 +89,7 @@ import d2HeaderSearch from './components/header-search'
import d2HeaderSize from './components/header-size' import d2HeaderSize from './components/header-size'
import d2HeaderTheme from './components/header-theme' import d2HeaderTheme from './components/header-theme'
import d2HeaderUser from './components/header-user' import d2HeaderUser from './components/header-user'
import d2HeaderErrorLog from './components/header-error-log' import d2HeaderLog from './components/header-log'
import { mapState, mapGetters, mapActions } from 'vuex' import { mapState, mapGetters, mapActions } from 'vuex'
import mixinSearch from './mixins/search' import mixinSearch from './mixins/search'
export default { export default {
@@ -106,7 +106,7 @@ export default {
d2HeaderSize, d2HeaderSize,
d2HeaderTheme, d2HeaderTheme,
d2HeaderUser, d2HeaderUser,
d2HeaderErrorLog d2HeaderLog
}, },
data () { data () {
return { return {