refactor: 前后端基础部分

This commit is contained in:
2024-05-27 14:15:48 +08:00
parent f23e4548cd
commit f5e6db390a
928 changed files with 65057 additions and 0 deletions

View File

@@ -0,0 +1,172 @@
<template>
<div class="app-container">
<div class="head-container">
<el-form
:inline="true"
label-position="right"
label-width="=100px"
label-suffix=":"
>
<el-form-item :label="$t('Log.label')">
<el-select
v-model="query.label"
clearable
size="mini"
:placeholder="$t('Log.label')"
style="width: 240px;"
>
<el-option
v-for="item in tagList"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('Log.level')">
<el-select
v-model="query.level"
clearable
size="mini"
:placeholder="$t('Log.level')"
>
<el-option
v-for="item in levelOptions"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('Log.search')">
<el-input
v-model="query.message"
clearable
size="mini"
:placeholder="$t('Log.content')"
/>
</el-form-item>
<el-form-item :label="$t('Log.link_id')">
<el-input
v-model="query.tlogTraceId"
clearable
size="mini"
:placeholder="$t('Log.link_id_msg')"
/>
</el-form-item>
<el-form-item :label="$t('Log.time')">
<el-date-picker
v-model="query.createTime"
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
:range-separator="$t('Log.to')"
:start-placeholder="$t('Log.start_time')"
:end-placeholder="$t('Log.end_time')"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" size="mini" @click="queryData">
{{ $t('common.Query') }}
</el-button>
</el-form-item>
</el-form>
</div>
<!--表格渲染-->
<el-card shadow="hover" style="width: 100%" class="log-warpper">
<div style="width: 100%">
<div v-for="(log, index) in logs" :key="index">
<div style="margin-bottom: 5px; font-size: 14px;" v-html="log" />
</div>
</div>
</el-card>
<!-- 分页 -->
<el-pagination
:page-sizes="[100, 500, 1000]"
:page-size.sync="query.size"
:total="query.total"
:current-page.sync="query.page"
style="margin-top: 8px;"
layout="total, prev, pager, next, sizes"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import luceneOperation from '@/views/lucene/api/lucene'
import { default as AnsiUp } from 'ansi_up'
export default {
name: 'LuceneLog',
data() {
return {
permission: {
add: ['admin', 'param:add'],
edit: ['admin', 'param:edit'],
del: ['admin', 'param:del']
},
levelOptions: [{
value: 'DEBUG',
label: 'DEBUG'
}, {
value: 'INFO',
label: 'INFO'
}, {
value: 'ERROR',
label: 'ERROR'
}, {
value: 'WARN',
label: 'WARN'
}],
rules: {},
logs: [],
tagList: [],
query: {
tlogTraceId: '',
message: '',
page: 0,
size: 100,
total: 0,
createTime: ''
}
}
},
created() {
this.queryData()
this.getTagList()
},
methods: {
handleSizeChange(val) {
this.query.size = val
this.queryData()
},
handleCurrentChange(val) {
this.query.page = val
this.queryData()
},
getTagList() {
luceneOperation.getTagName().then(res => {
this.tagList = res
})
},
queryData() {
if (this.query.createTime) {
this.query.startTime = this.query.createTime[0]
this.query.endTime = this.query.createTime[1]
}
luceneOperation.getLogData(this.query).then(res => {
this.logs = [] // 清空
var ansi_up = new AnsiUp()
// 数据初始化
for (const i in res.content) {
this.logs[i] = ansi_up.ansi_to_html(res.content[i])
}
// this.logs = res.content
this.query.total = res.totalElements
})
}
}
}
</script>
<style scoped>
</style>