Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周远喜
mes-ui
Commits
5cc88147
Commit
5cc88147
authored
Jul 24, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
异常日志功能开发。
parent
3e77715f
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
396 additions
and
231 deletions
+396
-231
api.js
pages/exception/api.js
+26
-20
detail.vue
pages/exception/detail.vue
+5
-6
index.vue
pages/exception/index.vue
+234
-128
search.vue
pages/exception/search.vue
+131
-77
No files found.
pages/exception/api.js
View file @
5cc88147
import
Api
from
'@/plugins/request'
import
Api
from
'@/plugins/request'
export
default
{
export
default
{
index
:
`
${
systemUrl
}
/runlog/paged`
,
index
:
`
${
systemUrl
}
/runlog/paged`
,
paged
(
params
)
{
paged
(
params
)
{
return
Api
.
post
(
`
${
systemUrl
}
/runlog/paged`
,
params
);
return
Api
.
post
(
`
${
systemUrl
}
/runlog/paged`
,
params
);
},
},
get
(
params
)
{
get
(
params
)
{
return
Api
.
get
(
`
${
systemUrl
}
/runlog/get`
,
params
);
return
Api
.
get
(
`
${
systemUrl
}
/runlog/get`
,
params
);
},
},
create
(
params
)
{
create
(
params
)
{
return
Api
.
post
(
`
${
systemUrl
}
/runlog/create`
,
params
);
return
Api
.
post
(
`
${
systemUrl
}
/runlog/create`
,
params
);
},
},
update
(
params
)
{
update
(
params
)
{
return
Api
.
post
(
`
${
systemUrl
}
/runlog/update`
,
params
);
return
Api
.
post
(
`
${
systemUrl
}
/runlog/update`
,
params
);
},
},
delete
(
id
)
{
delete
(
id
)
{
return
Api
.
delete
(
`
${
systemUrl
}
/runlog/delete`
,{
params
:{
id
:
id
}});
return
Api
.
delete
(
`
${
systemUrl
}
/runlog/delete`
,
{
params
:
{
id
:
id
}
});
// return Api.post(`${systemUrl}/runlog/delete`,{params:{id:id}});
// return Api.post(`${systemUrl}/runlog/delete`,{params:{id:id}});
},
},
deletes
(
params
)
{
deleteAll
(
end
)
{
return
Api
.
post
(
`
${
systemUrl
}
/runlog/batchdelete`
,
params
);
return
Api
.
post
(
`
${
systemUrl
}
/runlog/deletebefore`
,
{
}
dateTime
:
end
});
}
}
}
pages/exception/detail.vue
View file @
5cc88147
...
@@ -2,16 +2,16 @@
...
@@ -2,16 +2,16 @@
<div
class=
"detail"
>
<div
class=
"detail"
>
<Row>
<Row>
<Filed
:span=
"12"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
<
!--
<
Filed
:span=
"12"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creatorUserId')"
>
{{
entity
.
creatorUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creatorUserId')"
>
{{
entity
.
creatorUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('lastModificationTime')"
>
{{
entity
.
lastModificationTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('lastModificationTime')"
>
{{
entity
.
lastModificationTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('lastModifierUserId')"
>
{{
entity
.
lastModifierUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('lastModifierUserId')"
>
{{
entity
.
lastModifierUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('isDeleted')"
>
{{
entity
.
isDeleted
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('isDeleted')"
>
{{
entity
.
isDeleted
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('deletionTime')"
>
{{
entity
.
deletionTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('deletionTime')"
>
{{
entity
.
deletionTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('deleterUserId')"
>
{{
entity
.
deleterUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('deleterUserId')"
>
{{
entity
.
deleterUserId
}}
</Filed>
-->
<Filed
:span=
"12"
:name=
"l('timestamp')"
>
{{
entity
.
timestamp
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('timestamp')"
>
{{
entity
.
timestamp
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('level')"
>
{{
entity
.
level
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('level')"
>
{{
entity
.
level
}}
</Filed>
<
Filed
:span=
"12"
:name=
"l('messageTemplate')"
>
{{
entity
.
messageTemplate
}}
</Filed
>
<
!--
<Filed
:span=
"12"
:name=
"l('messageTemplate')"
>
{{
entity
.
messageTemplate
}}
</Filed>
--
>
<Filed
:span=
"12"
:name=
"l('renderedMessage')"
>
{{
entity
.
renderedMessage
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('renderedMessage')"
>
{{
entity
.
renderedMessage
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('clientIpAddress')"
>
{{
entity
.
clientIpAddress
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('clientIpAddress')"
>
{{
entity
.
clientIpAddress
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('loginName')"
>
{{
entity
.
loginName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('loginName')"
>
{{
entity
.
loginName
}}
</Filed>
...
@@ -20,9 +20,8 @@
...
@@ -20,9 +20,8 @@
<Filed
:span=
"12"
:name=
"l('status')"
>
{{
entity
.
status
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('status')"
>
{{
entity
.
status
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('requestUrl')"
>
{{
entity
.
requestUrl
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('requestUrl')"
>
{{
entity
.
requestUrl
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('requestParam')"
>
{{
entity
.
requestParam
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('requestParam')"
>
{{
entity
.
requestParam
}}
</Filed>
<Filed
:span=
"
12
"
:name=
"l('exception')"
>
{{
entity
.
exception
}}
</Filed>
<Filed
:span=
"
24
"
:name=
"l('exception')"
>
{{
entity
.
exception
}}
</Filed>
</Row>
</Row>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
...
pages/exception/index.vue
View file @
5cc88147
<
template
>
<
template
>
<div>
<div>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
><template
slot=
"easySearch"
><Form
ref=
"formInline"
:model=
"easySearch"
inline
><FormItem
prop=
"keys"
><Input
placeholder=
"请输入关键字登录账号/租户编号"
v-model=
"easySearch.keys.value"
/>
</FormItem>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
>
<FormItem><Button
type=
"primary"
@
click=
"search"
>
查询
</Button></FormItem>
<template
slot=
"easySearch"
>
</Form></
template
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<Input
placeholder=
"请输入关键字登录账号/租户编号"
v-model=
"easySearch.keys.value"
v-width=
"300"
/>
</FormItem>
<FormItem>
<Button
type=
"primary"
@
click=
"search"
>
查询
</Button>
</FormItem>
</Form>
</
template
>
<
template
slot=
"searchForm"
>
<
template
slot=
"searchForm"
>
<Search
/>
<Search
/>
</
template
>
</
template
>
<
template
slot=
"buttons"
>
<
template
slot=
"buttons"
>
<!--
<Button
type=
"primary"
@
click=
"add"
>
新增
</Button>
-->
<DatePicker
type=
"date"
v-model=
"end"
placeholder=
"选择终止日期"
style=
"width: 150px"
></DatePicker>
<Button
type=
"error"
@
click=
"clear"
>
清理
</Button>
</
template
>
</
template
>
</DataGrid>
</DataGrid>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
>
<Modal
v-model=
"modal"
:title=
"title"
fullscreen
footer-hide
>
<component
:is=
"detail"
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"ok"
/>
<component
:is=
"detail"
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"ok"
/>
</Modal>
</Modal>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
Api
from
'./api'
import
Api
from
"./api"
;
import
Search
from
'./search'
import
Search
from
"./search"
;
export
default
{
export
default
{
name
:
'list'
,
name
:
"list"
,
components
:{
components
:
{
Search
Search
,
},
},
head
:
{
head
:
{
title
:
"系统异常日志"
,
title
:
"系统异常日志"
,
author
:
"henq"
,
author
:
"henq"
,
description
:
"run_log 7/23/2020 10:55:35 AM"
,
description
:
"run_log 7/23/2020 10:55:35 AM"
,
},
},
data
()
{
data
()
{
return
{
return
{
action
:
Api
.
index
,
action
:
Api
.
index
,
easySearch
:
{
easySearch
:
{
keys
:{
op
:
"loginName,tanentCode"
,
value
:
null
}
keys
:
{
op
:
"loginName,tanentCode"
,
value
:
null
},
},
},
end
:
null
,
modal
:
false
,
modal
:
false
,
title
:
"新增"
,
title
:
"新增"
,
detail
:
null
,
detail
:
null
,
curId
:
0
,
curId
:
0
,
columns
:
[
columns
:
[
{
key
:
"id"
,
title
:
this
.
$t
(
"id"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"id"
,
title
:
this
.
$t
(
"id"
),
hide
:
true
,
align
:
"left"
,
high
:
true
,
},
// { key:"creationTime",title:this.l("creationTime") ,align:"left" ,high:true },
// { key:"creationTime",title:this.l("creationTime") ,align:"left" ,high:true },
// { key:"creatorUserId",title:this.l("creatorUserId") ,align:"left" ,high:true },
// { key:"creatorUserId",title:this.l("creatorUserId") ,align:"left" ,high:true },
// { key:"lastModificationTime",title:this.l("lastModificationTime") ,align:"left" ,high:true },
// { key:"lastModificationTime",title:this.l("lastModificationTime") ,align:"left" ,high:true },
...
@@ -48,86 +64,176 @@ keys:{op:"loginName,tanentCode",value:null}
...
@@ -48,86 +64,176 @@ keys:{op:"loginName,tanentCode",value:null}
// { key:"deletionTime",title:this.l("deletionTime") ,align:"left" ,high:true },
// { key:"deletionTime",title:this.l("deletionTime") ,align:"left" ,high:true },
// { key:"deleterUserId",title:this.l("deleterUserId") ,align:"left" ,high:true },
// { key:"deleterUserId",title:this.l("deleterUserId") ,align:"left" ,high:true },
{
key
:
"level"
,
title
:
this
.
l
(
"level"
)
,
align
:
"left"
,
high
:
true
,
width
:
100
},
{
{
key
:
"requestUrl"
,
title
:
this
.
l
(
"requestUrl"
)
,
align
:
"left"
,
width
:
300
,
high
:
true
,
tooltip
:
true
},
key
:
"level"
,
title
:
this
.
l
(
"level"
),
align
:
"left"
,
high
:
true
,
width
:
100
,
},
{
key
:
"requestUrl"
,
title
:
this
.
l
(
"requestUrl"
),
align
:
"left"
,
width
:
300
,
high
:
true
,
tooltip
:
true
,
},
// { key:"messageTemplate",title:this.l("messageTemplate") ,align:"left" ,high:true },
// { key:"messageTemplate",title:this.l("messageTemplate") ,align:"left" ,high:true },
{
key
:
"renderedMessage"
,
title
:
this
.
l
(
"renderedMessage"
)
,
align
:
"left"
,
high
:
true
,
tooltip
:
true
},
{
{
key
:
"timestamp"
,
title
:
this
.
l
(
"timestamp"
)
,
align
:
"left"
,
high
:
true
,
width
:
200
},
key
:
"renderedMessage"
,
{
key
:
"clientIpAddress"
,
title
:
this
.
l
(
"clientIpAddress"
)
,
align
:
"left"
,
width
:
150
,
high
:
true
},
title
:
this
.
l
(
"renderedMessage"
),
{
key
:
"loginName"
,
title
:
this
.
l
(
"loginName"
)
,
align
:
"left"
,
easy
:
true
,
high
:
true
,
width
:
150
},
align
:
"left"
,
{
key
:
"tanentCode"
,
title
:
this
.
l
(
"tanentCode"
)
,
align
:
"left"
,
easy
:
true
,
high
:
true
,
width
:
80
},
high
:
true
,
{
key
:
"host"
,
title
:
this
.
l
(
"host"
)
,
align
:
"left"
,
hide
:
true
,
high
:
true
},
tooltip
:
true
,
},
{
key
:
"timestamp"
,
title
:
this
.
l
(
"timestamp"
),
align
:
"left"
,
high
:
true
,
width
:
200
,
},
{
key
:
"clientIpAddress"
,
title
:
this
.
l
(
"clientIpAddress"
),
align
:
"left"
,
width
:
150
,
high
:
true
,
},
{
key
:
"loginName"
,
title
:
this
.
l
(
"loginName"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
width
:
150
,
},
{
key
:
"tanentCode"
,
title
:
this
.
l
(
"tanentCode"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
width
:
80
,
},
{
key
:
"host"
,
title
:
this
.
l
(
"host"
),
align
:
"left"
,
hide
:
true
,
high
:
true
,
},
// { key:"status",title:this.l("status") ,align:"left" ,high:true },
// { key:"status",title:this.l("status") ,align:"left" ,high:true },
{
key
:
"requestParam"
,
title
:
this
.
l
(
"requestParam"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"requestParam"
,
title
:
this
.
l
(
"requestParam"
),
hide
:
true
,
align
:
"left"
,
high
:
true
,
},
// { key:"exception",title:this.l("exception") ,align:"left" ,high:true },
// { key:"exception",title:this.l("exception") ,align:"left" ,high:true },
{
{
title
:
'操作'
,
title
:
"操作"
,
key
:
'action'
,
key
:
"action"
,
width
:
140
,
width
:
140
,
align
:
'center'
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
render
:
(
h
,
params
)
=>
{
return
h
(
'div'
,
{
class
:
"action"
},
[
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
'op'
,
{
attrs
:
{
oprate
:
'detail'
},
on
:
{
click
:
()
=>
this
.
view
(
params
.
row
.
id
)
}
},
'查看'
),
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
},
on
:
{
click
:
()
=>
this
.
view
(
params
.
row
.
id
)
},
},
"查看"
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
// h('op', { attrs: { oprate: 'edit'}, on: { click: () => this.edit(params.row.id) } }, '编辑'),
// h('op', { attrs: { oprate: 'edit'}, on: { click: () => this.edit(params.row.id) } }, '编辑'),
h
(
'op'
,
{
attrs
:
{
oprate
:
'delete'
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
.
id
)
}
},
'删除'
)
h
(
])
"op"
,
}
{
attrs
:
{
oprate
:
"delete"
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
.
id
)
},
},
"删除"
),
]);
},
},
]
}
},
},
mounted
(){
],
};
},
mounted
()
{
var
date
=
new
Date
().
getTime
()
-
24
*
60
*
60
*
1000
*
5
;
this
.
end
=
new
Date
(
date
);
console
.
log
(
this
);
console
.
log
(
this
);
},
},
async
fetch
({
store
,
params
})
{
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
methods
:{
methods
:
{
ok
()
{
ok
()
{
this
.
$refs
.
grid
.
load
()
this
.
$refs
.
grid
.
load
();
this
.
modal
=
false
this
.
modal
=
false
;
this
.
curId
=
0
;
this
.
curId
=
0
;
},
},
search
()
{
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
)
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
},
add
()
{
add
()
{
this
.
curId
=
0
;
this
.
curId
=
0
;
this
.
title
=
"新增"
;
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
'./add'
)
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
this
.
modal
=
true
;
},
},
copy
(
id
)
{
copy
(
id
)
{
this
.
curId
=
id
;
this
.
curId
=
id
;
this
.
title
=
"克隆"
;
this
.
title
=
"克隆"
;
this
.
detail
=
()
=>
import
(
'./add'
)
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
this
.
modal
=
true
;
},
},
view
(
id
)
{
view
(
id
)
{
this
.
curId
=
id
;
this
.
curId
=
id
;
this
.
title
=
"详情"
;
this
.
title
=
"详情"
;
this
.
detail
=
()
=>
import
(
'./detail'
)
this
.
detail
=
()
=>
import
(
"./detail"
);
this
.
modal
=
true
;
this
.
modal
=
true
;
},
},
edit
(
id
)
{
edit
(
id
)
{
this
.
curId
=
id
;
this
.
curId
=
id
;
this
.
title
=
"编辑"
;
this
.
title
=
"编辑"
;
this
.
detail
=
()
=>
import
(
'./edit'
)
this
.
detail
=
()
=>
import
(
"./edit"
);
this
.
modal
=
true
;
this
.
modal
=
true
;
},
},
remove
(
id
)
{
remove
(
id
)
{
Api
.
delete
(
id
).
then
((
r
)
=>
{
Api
.
delete
(
id
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
if
(
r
.
success
)
{
this
.
$refs
.
grid
.
load
();
this
.
$refs
.
grid
.
load
();
this
.
$Message
.
success
(
'删除成功'
)
this
.
$Message
.
success
(
"删除成功"
);
}
});
},
clear
(){
this
.
$Modal
.
confirm
({
title
:
"确认"
,
content
:
"确认要删除"
+
this
.
end
+
"以前的数据吗"
,
onOk
:()
=>
{
Api
.
deleteAll
(
this
.
end
).
then
(
r
=>
{
if
(
r
.
success
){
this
.
$Message
.
success
(
"删除成功"
)
this
.
$refs
.
grid
.
load
();
}
else
{
this
.
$Message
.
error
(
"出现异常"
)
}
})
}
}
})
})
},
},
cancel
()
{
cancel
()
{
this
.
curId
=
0
;
this
.
curId
=
0
;
this
.
modal
=
false
this
.
modal
=
false
;
},
},
l
(
key
)
{
l
(
key
)
{
/*
/*
...
@@ -154,10 +260,10 @@ keys:{op:"loginName,tanentCode",value:null}
...
@@ -154,10 +260,10 @@ keys:{op:"loginName,tanentCode",value:null}
}
}
*/
*/
let
vkey
=
"run_log"
+
"."
+
key
;
let
vkey
=
"run_log"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
return
this
.
$t
(
vkey
)
||
key
;
}
},
}
}
,
}
}
;
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
</
style
>
</
style
>
\ No newline at end of file
pages/exception/search.vue
View file @
5cc88147
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment