Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
smart
Project
Project
Details
Activity
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
wangqinghua
smart
Commits
d43ca8df
Commit
d43ca8df
authored
Jan 11, 2019
by
wangqinghua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
template
parent
c7ab0af1
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
784 additions
and
105 deletions
+784
-105
app.main.module.ts
src/main/webapp/app/app.main.module.ts
+4
-0
alarm-modal.component.ts
...ain/webapp/app/modal/alarm-modal/alarm-modal.component.ts
+8
-1
discovery.component.ts
src/main/webapp/app/modal/discovery/discovery.component.ts
+4
-4
select-role.component.ts
...ain/webapp/app/modal/select-role/select-role.component.ts
+6
-4
check-list.component.html
...app/overAll/template/check-list/check-list.component.html
+11
-7
check-list.component.ts
...p/app/overAll/template/check-list/check-list.component.ts
+57
-2
discovery-list.component.html
...All/template/discovery-list/discovery-list.component.html
+10
-2
discovery-list.component.ts
...erAll/template/discovery-list/discovery-list.component.ts
+54
-58
check-prototype.component.html
...late/modal/check-prototype/check-prototype.component.html
+137
-0
check-prototype.component.ts
...mplate/modal/check-prototype/check-prototype.component.ts
+254
-0
trigger-prototype.component.html
.../modal/trigger-prototype/trigger-prototype.component.html
+31
-0
trigger-prototype.component.ts
...te/modal/trigger-prototype/trigger-prototype.component.ts
+119
-0
template.component.html
src/main/webapp/app/overAll/template/template.component.html
+7
-1
template.component.ts
src/main/webapp/app/overAll/template/template.component.ts
+1
-2
trigger-list.component.html
...overAll/template/trigger-list/trigger-list.component.html
+19
-18
trigger-list.component.ts
...p/overAll/template/trigger-list/trigger-list.component.ts
+57
-3
separation.component.ts
...ebapp/app/system/modal/separation/separation.component.ts
+3
-1
system.service.ts
src/main/webapp/app/system/system.service.ts
+2
-2
No files found.
src/main/webapp/app/app.main.module.ts
View file @
d43ca8df
...
@@ -104,6 +104,8 @@ import {StrategyComponent} from './modal/strategy/strategy.component';
...
@@ -104,6 +104,8 @@ import {StrategyComponent} from './modal/strategy/strategy.component';
import
{
DiscoveryListComponent
}
from
'./overAll/template/discovery-list/discovery-list.component'
;
import
{
DiscoveryListComponent
}
from
'./overAll/template/discovery-list/discovery-list.component'
;
import
{
CheckListComponent
}
from
'./overAll/template/check-list/check-list.component'
;
import
{
CheckListComponent
}
from
'./overAll/template/check-list/check-list.component'
;
import
{
TriggerListComponent
}
from
'./overAll/template/trigger-list/trigger-list.component'
;
import
{
TriggerListComponent
}
from
'./overAll/template/trigger-list/trigger-list.component'
;
import
{
TriggerPrototypeComponent
}
from
'./overAll/template/modal/trigger-prototype/trigger-prototype.component'
;
import
{
CheckPrototypeComponent
}
from
'./overAll/template/modal/check-prototype/check-prototype.component'
;
@
NgModule
({
@
NgModule
({
imports
:
[
imports
:
[
...
@@ -210,6 +212,8 @@ import {TriggerListComponent} from './overAll/template/trigger-list/trigger-list
...
@@ -210,6 +212,8 @@ import {TriggerListComponent} from './overAll/template/trigger-list/trigger-list
DiscoveryListComponent
,
DiscoveryListComponent
,
CheckListComponent
,
CheckListComponent
,
TriggerListComponent
,
TriggerListComponent
,
TriggerPrototypeComponent
,
CheckPrototypeComponent
,
],
],
providers
:[
providers
:[
OverAllService
,
OverAllService
,
...
...
src/main/webapp/app/modal/alarm-modal/alarm-modal.component.ts
View file @
d43ca8df
...
@@ -70,7 +70,14 @@ export class AlarmModalComponent implements OnInit {
...
@@ -70,7 +70,14 @@ export class AlarmModalComponent implements OnInit {
mediaTypeIds
:[],
mediaTypeIds
:[],
def_longdata
:
null
,
def_longdata
:
null
,
r_longdata
:
null
,
r_longdata
:
null
,
r_shortdata
:
null
,
r_shortdata
:
''
+
'问题 {TRIGGER.NAME} 恢复于: {EVENT.TIME} {EVENT.DATE}
\
n'
+
'主机: {HOST.NAME}
\
n'
+
'严重程度: {TRIGGER.SEVERITY}
\
n'
+
'
\
n'
+
'原始问题ID: {EVENT.ID}
\
n'
+
'{TRIGGER.URL}'
,
sendInfos
:
null
,
sendInfos
:
null
,
event
:{
event
:{
eventTypeId
:
null
,
//事件分类id
eventTypeId
:
null
,
//事件分类id
...
...
src/main/webapp/app/modal/discovery/discovery.component.ts
View file @
d43ca8df
...
@@ -69,12 +69,12 @@ export class DiscoveryComponent implements OnInit {
...
@@ -69,12 +69,12 @@ export class DiscoveryComponent implements OnInit {
}
}
//编辑
//编辑
showEditModal
(
hostId
,
id
)
{
showEditModal
(
hostId
,
discoveryid
,
title
)
{
this
.
title
=
'编辑监测点'
;
this
.
title
=
title
;
this
.
hostId
=
hostId
;
this
.
hostId
=
hostId
;
this
.
isVisiable
=
true
;
this
.
isVisiable
=
true
;
this
.
itemId
=
id
;
this
.
itemId
=
discovery
id
;
this
.
overAllSer
.
findItemDetail
(
id
).
subscribe
(
this
.
overAllSer
.
findItemDetail
(
discovery
id
).
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
const
data
=
res
.
data
[
0
];
const
data
=
res
.
data
[
0
];
data
.
type
+=
''
;
data
.
type
+=
''
;
...
...
src/main/webapp/app/modal/select-role/select-role.component.ts
View file @
d43ca8df
...
@@ -57,14 +57,15 @@ export class SelectRoleComponent implements OnInit {
...
@@ -57,14 +57,15 @@ export class SelectRoleComponent implements OnInit {
ngOnInit
()
{
ngOnInit
()
{
}
}
initForm
(){
this
.
allChecked
=
false
;
}
showModal
(
title
,
id
)
{
showModal
(
title
,
id
)
{
this
.
title
=
title
;
this
.
title
=
title
;
this
.
isVisible
=
true
;
this
.
isVisible
=
true
;
this
.
userId
=
id
;
this
.
userId
=
id
;
const
data
=
{
this
.
systemSer
.
getRoleByUserId
(
this
.
userId
).
subscribe
(
userId
:
this
.
userId
}
this
.
systemSer
.
getRoleByUserId
(
data
).
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
this
.
userRoleList
=
res
.
data
;
this
.
userRoleList
=
res
.
data
;
this
.
getRole
();
this
.
getRole
();
...
@@ -91,6 +92,7 @@ export class SelectRoleComponent implements OnInit {
...
@@ -91,6 +92,7 @@ export class SelectRoleComponent implements OnInit {
handEditleOk
(){
handEditleOk
(){
this
.
done
.
emit
(
this
.
selectList
);
this
.
done
.
emit
(
this
.
selectList
);
this
.
allChecked
=
false
;
this
.
isVisible
=
false
;
this
.
isVisible
=
false
;
}
}
...
...
src/main/webapp/app/overAll/template/check-list/check-list.component.html
View file @
d43ca8df
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
</div>
</div>
<div
nz-row
[
nzGutter
]="
4
"
class=
"search-form"
>
<div
nz-row
[
nzGutter
]="
4
"
class=
"search-form"
>
<div
nz-col
nzSpan=
"3"
>
<div
nz-col
nzSpan=
"3"
>
<button
(
click
)="
showAddModal
()"
nz-button
nzType=
"default"
><i
class=
"anticon anticon-plus-circle-o"
></i>
添加
资产
</button>
<button
(
click
)="
showAddModal
()"
nz-button
nzType=
"default"
><i
class=
"anticon anticon-plus-circle-o"
></i>
添加
监控项原型
</button>
</div>
</div>
<div
nz-col
nzSpan=
"18"
></div>
<div
nz-col
nzSpan=
"18"
></div>
<div
nz-col
nzSpan=
"3"
></div>
<div
nz-col
nzSpan=
"3"
></div>
...
@@ -36,24 +36,28 @@
...
@@ -36,24 +36,28 @@
<tr>
<tr>
<th
nzShowCheckbox
[
nzIndeterminate
]="
indeterminate
"
[
nzChecked
]="
allChecked
"
(
nzCheckedChange
)="
checkAll
($
event
)"
></th>
<th
nzShowCheckbox
[
nzIndeterminate
]="
indeterminate
"
[
nzChecked
]="
allChecked
"
(
nzCheckedChange
)="
checkAll
($
event
)"
></th>
<th>
名称
</th>
<th>
名称
</th>
<th>
监控项
</th>
<th>
阈值
</th>
<th>
键值
</th>
<th>
键值
</th>
<th>
间隔
</th>
<th>
间隔
</th>
<th>
类型
</th>
<th>
类型
</th>
<th>
状态
</th>
<th>
状态
</th>
<th>
操作
</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<tr
*
ngFor=
"let data of checkList"
>
<tr
*
ngFor=
"let data of checkList"
>
<td
nzShowCheckbox
[(
nzChecked
)]="
data
.
checked
"
(
nzCheckedChange
)="
selectItem
(
data
,$
event
)"
></td>
<td
nzShowCheckbox
[(
nzChecked
)]="
data
.
checked
"
(
nzCheckedChange
)="
selectItem
(
data
,$
event
)"
></td>
<td
class=
"round-tag tag-form"
>
{{data.inventoryNo}}
</td>
<td
class=
"round-tag tag-form"
>
{{data.inventoryNo}}
</td>
<td>
{{data.name}}
</td>
<td>
{{data.inventorycount}}
</td>
<td>
{{data.stock}}
</td>
<td>
{{data.stock}}
</td>
<td>
{{data.usedcount}}
</td>
<td>
{{data.usedcount}}
</td>
<td>
{{data.lendcount}}
</td>
<td>
{{data.lendcount}}
</td>
<td>
{{data.repaircount}}
</td>
<td>
{{data.repaircount}}
</td>
<td>
<span>
编辑
</span>
<span>
删除
</span>
</td>
</tr>
</tr>
</tbody>
</tbody>
</nz-table>
</nz-table>
\ No newline at end of file
<!--监控项原型-->
<smart-check-prototype
#
smartCheckProtoType
></smart-check-prototype>
\ No newline at end of file
src/main/webapp/app/overAll/template/check-list/check-list.component.ts
View file @
d43ca8df
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
ActivatedRoute
,
Router
}
from
'@angular/router'
;
import
{
ActivatedRoute
,
Router
}
from
'@angular/router'
;
import
{
CommonService
}
from
'../../../shared/common/common.service'
;
import
{
CommonService
}
from
'../../../shared/common/common.service'
;
import
{
SystemService
}
from
'../../../system/system.service'
;
import
{
SystemService
}
from
'../../../system/system.service'
;
import
{
OverAllService
}
from
'../../overAll.service'
;
import
{
OverAllService
}
from
'../../overAll.service'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
pageSize
}
from
'../../../app.constants'
;
import
{
pageSize
}
from
'../../../app.constants'
;
import
{
CheckPrototypeComponent
}
from
'../modal/check-prototype/check-prototype.component'
;
@
Component
({
@
Component
({
selector
:
'smart-check-list'
,
selector
:
'smart-check-list'
,
...
@@ -12,9 +13,11 @@ import {pageSize} from '../../../app.constants';
...
@@ -12,9 +13,11 @@ import {pageSize} from '../../../app.constants';
styles
:
[]
styles
:
[]
})
})
export
class
CheckListComponent
implements
OnInit
{
export
class
CheckListComponent
implements
OnInit
{
@
ViewChild
(
'smartCheckProtoType'
)
smartCheckProtoType
:
CheckPrototypeComponent
;
tempName
;
tempName
;
disName
;
disName
;
hostId
;
discoveryids
;
discoveryids
;
pageNum
=
1
;
pageNum
=
1
;
...
@@ -33,7 +36,8 @@ export class CheckListComponent implements OnInit {
...
@@ -33,7 +36,8 @@ export class CheckListComponent implements OnInit {
this
.
routerInfo
.
queryParams
.
subscribe
(
this
.
routerInfo
.
queryParams
.
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
this
.
discoveryids
=
res
.
id
;
this
.
discoveryids
=
res
.
id
;
this
.
tempName
=
res
.
name
this
.
tempName
=
res
.
name
;
this
.
hostId
=
res
.
hostId
;
}
}
);
);
}
}
...
@@ -85,7 +89,58 @@ export class CheckListComponent implements OnInit {
...
@@ -85,7 +89,58 @@ export class CheckListComponent implements OnInit {
);
);
}
}
//新增监控项原型
showAddModal
(){
showAddModal
(){
this
.
smartCheckProtoType
.
showAddModal
(
this
.
hostId
,
this
.
tempName
,
"添加监控项原型"
)
}
//编辑监控项原型
showEditModal
(
data
){
this
.
smartCheckProtoType
.
showEditModal
(
this
.
hostId
,
data
.
id
,
this
.
tempName
,
"编辑监控项原型"
)
}
//单个删除
deleteCheck
(
item
){
this
.
commonSer
.
confirmThing
(
"删除"
,
"确定删除当前的自动发现"
,()
=>
{
const
data
=
{
ids
:[]
};
data
.
ids
.
push
(
item
.
itemid
);
this
.
overAllSer
.
deleteItemPrototype
(
data
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errCode
==
10000
){
this
.
message
.
success
(
"删除成功"
);
this
.
getList
();
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
}
)
})
}
//批量删除
deleteBatchCheck
(){
if
(
this
.
selectList
.
length
==
0
){
this
.
message
.
warning
(
"请选择需要删除的监控项原型"
);
return
false
;
}
this
.
commonSer
.
confirmThing
(
"删除"
,
"确定删除选择的监控项原型"
,()
=>
{
const
data
=
{
ids
:
this
.
selectList
.
map
(
e
=>
{
return
e
.
itemid
;
})
};
this
.
overAllSer
.
deleteItemPrototype
(
data
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errCode
==
10000
){
this
.
message
.
success
(
"删除成功"
);
this
.
getList
();
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
}
)
})
}
}
}
}
src/main/webapp/app/overAll/template/discovery-list/discovery-list.component.html
View file @
d43ca8df
...
@@ -39,6 +39,7 @@
...
@@ -39,6 +39,7 @@
<th>
间隔
</th>
<th>
间隔
</th>
<th>
类型
</th>
<th>
类型
</th>
<th>
状态
</th>
<th>
状态
</th>
<th>
操作
</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
...
@@ -55,6 +56,13 @@
...
@@ -55,6 +56,13 @@
<td>
{{data.usedcount}}
</td>
<td>
{{data.usedcount}}
</td>
<td>
{{data.lendcount}}
</td>
<td>
{{data.lendcount}}
</td>
<td>
{{data.repaircount}}
</td>
<td>
{{data.repaircount}}
</td>
<td
class=
"main-color cursor"
>
<span
(
click
)="
showEditModal
(
data
)"
>
编辑
</span>
<span
(
click
)="
deleteDiscovery
(
data
)"
>
删除
</span>
</td>
</tr>
</tr>
</tbody>
</tbody>
</nz-table>
</nz-table>
\ No newline at end of file
<!--自动发现-->
<smart-discovery
#
smartDiscovery
></smart-discovery>
\ No newline at end of file
src/main/webapp/app/overAll/template/discovery-list/discovery-list.component.ts
View file @
d43ca8df
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
ActivatedRoute
,
Router
}
from
'@angular/router'
;
import
{
ActivatedRoute
,
Router
}
from
'@angular/router'
;
import
{
CommonService
}
from
'../../../shared/common/common.service'
;
import
{
CommonService
}
from
'../../../shared/common/common.service'
;
import
{
WorkService
}
from
'../../../work/work.service'
;
import
{
SystemService
}
from
'../../../system/system.service'
;
import
{
SystemService
}
from
'../../../system/system.service'
;
import
{
AssetsComponent
}
from
'../../../work/modal/assets/assets.component'
;
import
{
pageSize
,
SERVER_API_URL
}
from
'../../../app.constants'
;
import
{
pageSize
,
SERVER_API_URL
}
from
'../../../app.constants'
;
import
{
UploadComponent
}
from
'../../../work/modal/upload/upload.component'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
OverAllService
}
from
'../../overAll.service'
;
import
{
OverAllService
}
from
'../../overAll.service'
;
import
{
DiscoveryComponent
}
from
'../../../modal/discovery/discovery.component'
;
@
Component
({
@
Component
({
selector
:
'smart-discovery-list'
,
selector
:
'smart-discovery-list'
,
...
@@ -15,11 +13,9 @@ import {OverAllService} from '../../overAll.service';
...
@@ -15,11 +13,9 @@ import {OverAllService} from '../../overAll.service';
styles
:
[]
styles
:
[]
})
})
export
class
DiscoveryListComponent
implements
OnInit
{
export
class
DiscoveryListComponent
implements
OnInit
{
@
ViewChild
(
'smartDiscovery'
)
smartDiscovery
:
DiscoveryComponent
;
@
ViewChild
(
'smartAssets'
)
smartAssets
:
AssetsComponent
;
templateid
;
@
ViewChild
(
'smartUpload'
)
smartUpload
:
UploadComponent
;
hostId
;
discoveryList
;
discoveryList
;
tempName
;
tempName
;
...
@@ -37,7 +33,7 @@ export class DiscoveryListComponent implements OnInit {
...
@@ -37,7 +33,7 @@ export class DiscoveryListComponent implements OnInit {
private
commonSer
:
CommonService
)
{
private
commonSer
:
CommonService
)
{
this
.
routerInfo
.
queryParams
.
subscribe
(
this
.
routerInfo
.
queryParams
.
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
this
.
hostId
=
res
.
hostI
d
;
this
.
templateid
=
res
.
templatei
d
;
this
.
tempName
=
res
.
name
this
.
tempName
=
res
.
name
}
}
);
);
...
@@ -80,7 +76,7 @@ export class DiscoveryListComponent implements OnInit {
...
@@ -80,7 +76,7 @@ export class DiscoveryListComponent implements OnInit {
const
data
=
{
const
data
=
{
pageNum
:
this
.
pageNum
,
pageNum
:
this
.
pageNum
,
pageCount
:
this
.
pageCount
,
pageCount
:
this
.
pageCount
,
hostIds
:[
this
.
hostI
d
]
hostIds
:[
this
.
templatei
d
]
};
};
this
.
overAllSer
.
findPageLldrule
(
data
).
subscribe
(
this
.
overAllSer
.
findPageLldrule
(
data
).
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
...
@@ -90,18 +86,50 @@ export class DiscoveryListComponent implements OnInit {
...
@@ -90,18 +86,50 @@ export class DiscoveryListComponent implements OnInit {
);
);
}
}
//删除资产--单个
//添加自动发现
deleteInVentory
(
item
){
showAddModal
()
{
const
data
=
{
this
.
smartDiscovery
.
showAddModal
(
this
.
templateid
,
"添加自动发现"
)
inventoryIds
:[]
}
};
data
.
inventoryIds
.
push
(
item
.
id
);
//编辑自动发现
this
.
commonSer
.
confirmThing
(
"删除"
,
"确定删除该资产?"
,()
=>
{
showEditModal
(
data
){
this
.
smartDiscovery
.
showEditModal
(
this
.
templateid
,
data
.
itemid
,
"编辑自动发现"
);
}
//goto 监测项原型
goToCheck
(
data
){
this
.
router
.
navigate
([
'app/main/checkList'
],{
queryParams
:{
id
:
data
.
itemid
,
name
:
data
.
name
,
tempName
:
this
.
tempName
}
})
}
//goto 阈值原型
goToTrigger
(
data
){
this
.
router
.
navigate
([
'app/main/triggerList'
],{
queryParams
:{
id
:
data
.
itemid
,
name
:
data
.
name
,
tempName
:
this
.
tempName
}
})
}
//单个删除
deleteDiscovery
(
item
){
this
.
commonSer
.
confirmThing
(
"删除"
,
"确定删除当前的自动发现"
,()
=>
{
const
data
=
{
ids
:[]
};
data
.
ids
.
push
(
item
.
itemid
);
this
.
overAllSer
.
deleteLldrule
(
data
).
subscribe
(
this
.
overAllSer
.
deleteLldrule
(
data
).
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
if
(
res
.
errCode
==
10000
){
if
(
res
.
errCode
==
10000
){
this
.
message
.
success
(
"删除成功"
);
this
.
getList
();
this
.
getList
();
this
.
message
.
success
(
"删除资产成功"
);
}
else
{
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
this
.
message
.
error
(
res
.
errMsg
);
}
}
...
@@ -111,22 +139,22 @@ export class DiscoveryListComponent implements OnInit {
...
@@ -111,22 +139,22 @@ export class DiscoveryListComponent implements OnInit {
}
}
//批量删除
//批量删除
batchDeleteInvento
ry
(){
deleteBatchDiscove
ry
(){
if
(
this
.
selectList
.
length
==
0
){
if
(
this
.
selectList
.
length
==
0
){
this
.
message
.
warning
(
"请选择需要删除的
资产
"
);
this
.
message
.
warning
(
"请选择需要删除的
自动发现
"
);
return
false
;
return
false
;
}
}
const
data
=
{
this
.
commonSer
.
confirmThing
(
"删除"
,
"确定删除选择的自动发现"
,()
=>
{
inventoryIds
:
this
.
selectList
.
map
(
e
=>
{
const
data
=
{
return
e
.
id
;
ids
:
this
.
selectList
.
map
(
e
=>
{
})
return
e
.
itemid
;
};
})
this
.
commonSer
.
confirmThing
(
"批量删除"
,
"确定删除选择的资产?"
,()
=>
{
};
this
.
overAllSer
.
deleteLldrule
(
data
).
subscribe
(
this
.
overAllSer
.
deleteLldrule
(
data
).
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
if
(
res
.
errCode
==
10000
){
if
(
res
.
errCode
==
10000
){
this
.
message
.
success
(
"删除成功"
);
this
.
getList
();
this
.
getList
();
this
.
message
.
success
(
"删除资产成功"
);
}
else
{
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
this
.
message
.
error
(
res
.
errMsg
);
}
}
...
@@ -134,36 +162,4 @@ export class DiscoveryListComponent implements OnInit {
...
@@ -134,36 +162,4 @@ export class DiscoveryListComponent implements OnInit {
)
)
})
})
}
}
//添加资产
showAddModal
()
{
this
.
smartAssets
.
showAddModal
(
"添加资产"
);
}
//编辑资产
showEditModal
(
id
){
this
.
smartAssets
.
showEditModal
(
"编辑资产"
,
id
);
}
//goto 监测项原型
goToCheck
(
data
){
this
.
router
.
navigate
([
'app/main/checkList'
],{
queryParams
:{
id
:
data
.
itemid
,
name
:
data
.
name
,
tempName
:
this
.
tempName
}
})
}
//goto 阈值原型
goToTrigger
(
data
){
this
.
router
.
navigate
([
'app/main/triggerList'
],{
queryParams
:{
id
:
data
.
itemid
,
name
:
data
.
name
,
tempName
:
this
.
tempName
}
})
}
}
}
src/main/webapp/app/overAll/template/modal/check-prototype/check-prototype.component.html
0 → 100644
View file @
d43ca8df
<nz-modal
[
nzWidth
]="
880
"
[(
nzVisible
)]="
isCheck
"
[
nzTitle
]="
title
"
(
nzOnCancel
)="
handleCheckCancel
()"
(
nzOnOk
)="
handleCheckOk
()"
>
<form
[
formGroup
]="
validateForm
"
nz-form
>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"checkName"
>
监测点名称
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<input
id=
"checkName"
name=
"checkName"
type=
"text"
nz-input
formControlName=
"name"
>
<nz-form-explain
*
ngIf=
"validateForm.get('name').dirty && validateForm.get('name').errors"
>
请输入监测点名称!
</nz-form-explain>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"type"
>
类型
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<nz-select
name=
"type"
name=
"type"
nzPlaceHolder=
"选择类型"
formControlName=
"type"
>
<nz-option
nzValue=
"0"
nzLabel=
"Agent客户端"
></nz-option>
<nz-option
nzValue=
"7"
nzLabel=
"Agent客户端(主动式)"
></nz-option>
<nz-option
nzValue=
"3"
nzLabel=
"简单检查"
></nz-option>
<nz-option
nzValue=
"1"
nzLabel=
"SNMPv1 客户端"
></nz-option>
<nz-option
nzValue=
"4"
nzLabel=
"SNMPv2 客户端"
></nz-option>
<nz-option
nzValue=
"6"
nzLabel=
"SNMPv3 客户端"
></nz-option>
<nz-option
nzValue=
"5"
nzLabel=
"Agent内部"
></nz-option>
<nz-option
nzValue=
"2"
nzLabel=
"Agent采集器"
></nz-option>
<nz-option
nzValue=
"8"
nzLabel=
"Agent整合"
></nz-option>
<nz-option
nzValue=
"10"
nzLabel=
"外部检查"
></nz-option>
<nz-option
nzValue=
"11"
nzLabel=
"数据库监控"
></nz-option>
<nz-option
nzValue=
"12"
nzLabel=
"IPMI客户端"
></nz-option>
<nz-option
nzValue=
"13"
nzLabel=
"SSH 客户端"
></nz-option>
<nz-option
nzValue=
"14"
nzLabel=
"TELNET客户端"
></nz-option>
<nz-option
nzValue=
"16"
nzLabel=
"JMX agent代理程序"
></nz-option>
<nz-option
nzValue=
"15"
nzLabel=
"可计算的"
></nz-option>
<nz-option
nzValue=
"18"
nzLabel=
"相关项目"
></nz-option>
</nz-select>
<nz-form-explain
*
ngIf=
"validateForm.get('type').dirty && validateForm.get('type').errors"
>
请选择监测点类型!
</nz-form-explain>
</nz-form-control>
</nz-form-item>
<ng-container
*
ngIf=
"isInterface"
>
<ng-container
*
ngIf=
" validateForm.value.type == '0' || validateForm.value.type == '1' || validateForm.value.type == '3' ||
validateForm.value.type == '4' || validateForm.value.type == '6' || validateForm.value.type == '10' || validateForm.value.type == '12' ||
validateForm.value.type == '13' || validateForm.value.type == '14' || validateForm.value.type == '16' || validateForm.value.type == '17'"
>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"interfaceid"
>
主机接口
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<nz-select
name=
"interfaceid"
formControlName=
"interfaceid"
nzPlaceHolder=
"选择主机接口"
>
<nz-option
*
ngFor=
"let item of interfaceList"
nzValue=
"{{item.interfaceid}}"
nzLabel=
"{{item.ip}}:{{item.port}}"
></nz-option>
</nz-select>
<nz-form-explain
*
ngIf=
"validateForm.get('interfaceid').dirty && validateForm.get('interfaceid').errors"
>
请选择主机接口!
</nz-form-explain>
</nz-form-control>
</nz-form-item>
</ng-container>
</ng-container>
<ng-container
*
ngIf=
"validateForm.value.type == 1 || validateForm.value.type == 4 || validateForm.value.type == 6"
>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzFor=
"snmp_oid"
>
SNMP OID
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<input
id=
"snmp_oid"
name=
"snmp_oid"
type=
"text"
nz-input
formControlName=
"snmp_oid"
>
<!--<nz-form-explain *ngIf="validateForm.get('note').dirty && validateForm.get('note').errors">Please input your username!</nz-form-explain>-->
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzFor=
"snmp_community"
>
SNMP community
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<input
id=
"snmp_community"
name=
"units"
type=
"text"
nz-input
formControlName=
"snmp_community"
>
<!--<nz-form-explain *ngIf="validateForm.get('note').dirty && validateForm.get('note').errors">Please input your username!</nz-form-explain>-->
</nz-form-control>
</nz-form-item>
</ng-container>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"key_"
>
键值
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<input
id=
"key_"
style=
"width: 85%;display: inline-block"
placeholder=
"输入键值"
type=
"text"
name=
"key_"
nz-input
formControlName=
"key_"
>
<button
nz-button
nzType=
"primary"
(
click
)="
showKeymodal
()"
>
选择
</button>
<nz-form-explain
*
ngIf=
"validateForm.get('key_').dirty && validateForm.get('key_').errors"
>
请选择键值!
</nz-form-explain>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"value_type"
>
信息类型
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<nz-select
name=
"value_type"
formControlName=
"value_type"
nzPlaceHolder=
"请选择信息类型"
>
<nz-option
nzValue=
"0"
nzLabel=
"浮点数"
></nz-option>
<nz-option
nzValue=
"1"
nzLabel=
"字符"
></nz-option>
<nz-option
nzValue=
"2"
nzLabel=
"日志"
></nz-option>
<nz-option
nzValue=
"3"
nzLabel=
"整数"
></nz-option>
<nz-option
nzValue=
"4"
nzLabel=
"文本"
></nz-option>
</nz-select>
<nz-form-explain
*
ngIf=
"validateForm.get('value_type').dirty && validateForm.get('value_type').errors"
>
请选择信息类型!
</nz-form-explain>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzFor=
"units"
>
单位
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<input
id=
"units"
name=
"units"
type=
"text"
nz-input
formControlName=
"units"
>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzFor=
"itemtype"
>
监测点分类
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<nz-select
style=
"width: 80%;display: inline-block"
nzPlaceHolder=
"选择监测点分类"
name=
"itemtype"
[
nzSize
]="
nzSize
"
nzMode=
"tags"
formControlName=
"applications"
>
<nz-option
*
ngFor=
"let item of checkList"
[
nzValue
]="
item
.
applicationid
"
[
nzLabel
]="
item
.
name
"
></nz-option>
</nz-select>
<button
nz-button
nzType=
"primary"
(
click
)="
showTypeModal
()"
>
新建分类
</button>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"delay"
>
数据更新间隔
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<input
id=
"delay"
name=
"delay"
type=
"text"
placeholder=
"输入数据更新间隔"
nz-input
formControlName=
"delay"
>
<nz-form-explain
*
ngIf=
"validateForm.get('delay').dirty && validateForm.get('delay').errors"
>
请输入数据更新间隔!
</nz-form-explain>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
>
历史数据保留时长(单位天)
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
nzFor=
"history"
>
<input
type=
"text"
name=
"history"
id=
"history"
placeholder=
"输入历史数据保留时长"
nz-input
formControlName=
"history"
>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label
[
nzSpan
]="
6
"
>
趋势数据存储周期(单位天)
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<input
type=
"text"
name=
"trends"
nz-input
formControlName=
"trends"
>
</nz-form-control>
</nz-form-item>
</form>
</nz-modal>
<!--键值查询-->
<smart-basic-key
(
keyValue
)="
getKey
($
event
)"
#
basicKey
></smart-basic-key>
<!--新建分类-->
<smart-new-type
(
data
)="
addItemType
($
event
)"
#
newType
></smart-new-type>
src/main/webapp/app/overAll/template/modal/check-prototype/check-prototype.component.ts
0 → 100644
View file @
d43ca8df
import
{
Component
,
EventEmitter
,
OnInit
,
Output
,
ViewChild
}
from
'@angular/core'
;
import
{
FormBuilder
,
FormControl
,
FormGroup
,
Validators
}
from
'@angular/forms'
;
import
{
OverAllService
}
from
'../../../overAll.service'
;
import
{
BasicKeyComponent
}
from
'../../../../modal/basic-key/basic-key.component'
;
import
{
NewTypeComponent
}
from
'../../../../modal/new-type/new-type.component'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
@
Component
({
selector
:
'smart-check-prototype'
,
templateUrl
:
'./check-prototype.component.html'
,
styles
:
[]
})
export
class
CheckPrototypeComponent
implements
OnInit
{
@
ViewChild
(
'basicKey'
)
basicKey
:
BasicKeyComponent
;
@
ViewChild
(
'newType'
)
newType
:
NewTypeComponent
;
@
Output
()
done
=
new
EventEmitter
<
any
>
();
title
;
isCheck
=
false
;
isInterface
=
true
;
//添加模版监测点的时候不需要主机接口
nzSize
=
'large'
;
hostId
;
//主机ID
hostName
;
//主机name
itemId
;
//监控项id
interfaceList
:
any
[];
valueMapList
=
[];
validateForm
:
FormGroup
;
checkList
;
//监测点分类
interval
;
//间隔时长
tabNum
:
number
;
triggerObj
=
{
condition
:
''
,
faultCondition
:
''
,
itemName
:
''
};
constructor
(
private
overAllSer
:
OverAllService
,
private
fb
:
FormBuilder
,
private
message
:
NzMessageService
)
{
}
ngOnInit
()
{
this
.
initForm
();
this
.
getValuemap
();
}
initForm
()
{
this
.
tabNum
=
0
;
this
.
validateForm
=
this
.
fb
.
group
({
hostid
:
[
this
.
hostId
],
name
:
[
null
,
[
Validators
.
required
]],
interfaceid
:
[
null
],
key_
:
[
null
,
[
Validators
.
required
]],
value_type
:
[
null
,
[
Validators
.
required
]],
type
:
[
null
,
[
Validators
.
required
]],
units
:
[
null
],
history
:
[
'3600'
],
trends
:
[
null
],
delay
:
[
null
,
[
Validators
.
required
]],
snmp_oid
:
[
'interfaces.ifTable.ifEntry.ifInOctets.1'
],
snmp_community
:
[
'public'
],
applications
:
[
null
],
});
this
.
triggerObj
=
{
condition
:
''
,
faultCondition
:
''
,
itemName
:
''
};
}
//新增
showAddModal
(
hostId
,
hostName
,
title
)
{
this
.
title
=
title
;
this
.
isCheck
=
true
;
this
.
hostId
=
hostId
;
this
.
hostName
=
hostName
;
if
(
this
.
title
==
'添加监测点'
){
//主机接口
this
.
overAllSer
.
findInterface
(
this
.
hostId
).
subscribe
(
(
res
)
=>
{
this
.
interfaceList
=
res
.
data
;
}
);
this
.
isInterface
=
true
;
}
if
(
this
.
title
==
'添加模版监测点'
){
this
.
isInterface
=
false
;
this
.
validateForm
.
get
(
'interfaceid'
).
clearValidators
();
}
this
.
getItemType
();
}
//映射值
getValuemap
()
{
// this.overAllSer.findValuemap().subscribe(
// (res) => {
// if (res.errCode == 10000) {
// this.valueMapList = res.data;
// } else {
// this.message.error(res.errMsg);
// }
// }
// );
}
//编辑
showEditModal
(
hostId
,
id
,
hostName
,
title
)
{
this
.
title
=
title
;
this
.
hostId
=
hostId
;
this
.
isCheck
=
true
;
this
.
itemId
=
id
;
this
.
hostName
=
hostName
;
this
.
overAllSer
.
findItemDetail
(
id
).
subscribe
(
(
res
)
=>
{
const
data
=
res
.
data
[
0
];
data
.
type
+=
''
;
data
.
interfaceid
+=
''
;
data
.
value_type
+=
''
;
if
(
data
.
applications
){
data
.
applications
=
data
.
applications
.
map
(
e
=>
{
return
e
.
applicationid
;
});
}
this
.
validateForm
.
patchValue
(
data
);
}
);
//主机接口
this
.
overAllSer
.
findInterface
(
this
.
hostId
).
subscribe
(
(
res
)
=>
{
this
.
interfaceList
=
res
.
data
;
}
);
this
.
getItemType
();
}
//获取监测点分类
getItemType
()
{
//监测点分类
const
data
=
{
'hostids'
:
[
this
.
hostId
]
};
this
.
overAllSer
.
findItemType
(
data
).
subscribe
(
(
res
)
=>
{
this
.
checkList
=
res
.
data
;
}
);
}
//添加
handleCheckOk
()
{
const
list
=
[
'0'
,
'1'
,
'3'
,
'4'
,
'6'
,
'10'
,
'12'
,
'13'
,
'14'
,
'16'
,
'17'
];
if
(
list
.
indexOf
(
this
.
validateForm
.
value
.
type
)
>
-
1
){
this
.
validateForm
.
get
(
'type'
).
setValidators
(
Validators
.
required
);
}
for
(
let
i
in
this
.
validateForm
.
controls
)
{
this
.
validateForm
.
controls
[
i
].
markAsDirty
();
this
.
validateForm
.
controls
[
i
].
updateValueAndValidity
();
}
if
(
this
.
validateForm
.
invalid
)
{
this
.
message
.
error
(
'请输入必填信息'
);
return
false
;
}
this
.
validateForm
.
value
.
applications
=
[
this
.
validateForm
.
value
.
applications
];
this
.
validateForm
.
value
.
hostid
=
this
.
hostId
;
if
(
this
.
title
==
'添加监测点原型'
)
{
this
.
create
();
}
if
(
this
.
title
==
'编辑监测点原型'
)
{
this
.
update
();
}
}
create
()
{
this
.
overAllSer
.
create
(
this
.
validateForm
.
value
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errCode
==
10000
)
{
this
.
message
.
success
(
'创建监测点成功'
);
this
.
done
.
emit
();
this
.
tabNum
=
1
;
this
.
isCheck
=
false
;
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
},
(
err
)
=>
{
this
.
message
.
error
(
'系统错误'
);
}
);
}
//修改监控项
update
()
{
this
.
validateForm
.
addControl
(
'itemid'
,
new
FormControl
(
this
.
itemId
));
this
.
overAllSer
.
itemUpdata
(
this
.
validateForm
.
value
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errCode
==
10000
)
{
this
.
message
.
success
(
'修改监测点成功'
);
this
.
done
.
emit
();
this
.
tabNum
=
1
;
this
.
isCheck
=
false
;
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
},
(
err
)
=>
{
this
.
message
.
error
(
'系统错误'
);
}
);
}
handleCheckCancel
():
void
{
this
.
isCheck
=
false
;
this
.
initForm
();
}
//键值查询
showKeymodal
()
{
this
.
basicKey
.
showKeyModal
();
}
//新增分类
showTypeModal
()
{
this
.
newType
.
showModal
(
'新建分类'
);
}
//添加分类
addItemType
(
data
)
{
const
obj
=
{
hostid
:
this
.
hostId
,
name
:
data
};
this
.
overAllSer
.
createItemType
(
obj
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errCode
==
10000
)
{
this
.
message
.
success
(
'添加成功'
);
this
.
getItemType
();
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
}
);
}
getKey
(
keyValue
):
void
{
const
d
=
{
key_
:
keyValue
};
this
.
validateForm
.
patchValue
(
d
);
}
}
src/main/webapp/app/overAll/template/modal/trigger-prototype/trigger-prototype.component.html
0 → 100644
View file @
d43ca8df
<nz-modal
[
nzWidth
]="
880
"
[(
nzVisible
)]="
isVisiable
"
[
nzTitle
]="
title
"
(
nzOnCancel
)="
handleCheckCancel
()"
(
nzOnOk
)="
saveTrigger
()"
>
<div
nz-form
class=
"ant-advanced-search-form form-select"
>
<nz-form-item
nzFlex
>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"priority"
>
严重性
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<nz-radio-group
[(
ngModel
)]="
triggerObj
.
priority
"
>
<label
nz-radio-button
nzValue=
"2"
>
危险
</label>
<label
nz-radio-button
nzValue=
"3"
>
故障
</label>
</nz-radio-group>
</nz-form-control>
</nz-form-item>
<nz-form-item
nzFlex
>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"priority"
>
表达式
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<textarea
nz-input
name=
"description"
[(
ngModel
)]="
triggerObj
.
expression
"
placeholder=
"描述"
[
nzAutosize
]="{
minRows:
2
,
maxRows:
6
}"
></textarea>
</nz-form-control>
</nz-form-item>
<nz-form-item
nzFlex
>
<nz-form-label
[
nzSpan
]="
6
"
nzRequired
nzFor=
"priority"
>
描述
</nz-form-label>
<nz-form-control
[
nzSpan
]="
14
"
>
<textarea
nz-input
name=
"description"
[(
ngModel
)]="
triggerObj
.
description
"
placeholder=
"描述"
[
nzAutosize
]="{
minRows:
2
,
maxRows:
6
}"
></textarea>
</nz-form-control>
</nz-form-item>
</div>
</nz-modal>
src/main/webapp/app/overAll/template/modal/trigger-prototype/trigger-prototype.component.ts
0 → 100644
View file @
d43ca8df
import
{
Component
,
EventEmitter
,
OnInit
,
Output
}
from
'@angular/core'
;
import
{
FormBuilder
}
from
'@angular/forms'
;
import
{
OverAllService
}
from
'../../../overAll.service'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
@
Component
({
selector
:
'smart-trigger-prototype'
,
templateUrl
:
'./trigger-prototype.component.html'
,
styles
:
[]
})
export
class
TriggerPrototypeComponent
implements
OnInit
{
@
Output
()
done
=
new
EventEmitter
<
any
>
();
isVisiable
=
false
;
title
;
triggerId
;
//阈值id
itemId
;
//监控项ID
hostName
;
//主机name
itemObj
;
//监控项对象
triggerObj
;
constructor
(
private
overAllSer
:
OverAllService
,
private
fb
:
FormBuilder
,
private
message
:
NzMessageService
)
{
}
ngOnInit
()
{
this
.
initForm
();
}
initForm
()
{
this
.
triggerObj
=
{
expression
:
""
,
priority
:
"2"
,
description
:
""
}
}
//新增
showAddModal
(
title
,
hostName
)
{
this
.
title
=
title
;
this
.
isVisiable
=
true
;
this
.
hostName
=
hostName
;
}
//编辑
showEditModal
(
title
,
id
,
hostName
)
{
this
.
title
=
title
;
this
.
triggerId
=
id
;
this
.
isVisiable
=
true
;
this
.
hostName
=
hostName
;
this
.
overAllSer
.
findTriggerById
(
id
).
subscribe
(
(
res
)
=>
{
}
);
}
//阈值--start
saveTrigger
()
{
if
(
!
this
.
checkFun
())
{
this
.
message
.
error
(
'请输入阈值'
);
return
false
;
}
if
(
this
.
title
==
"新增阈值原型"
){
this
.
createTrigger
();
}
if
(
this
.
title
==
'编辑阈值原型'
)
{
this
.
updateTrigger
();
}
}
//校验是否填值
checkFun
()
{
if
(
!
this
.
triggerObj
.
expression
){
this
.
message
.
error
(
"请输入表达式"
);
return
false
;
}
return
true
;
}
//1.创建阈值
createTrigger
()
{
this
.
overAllSer
.
createTriggerPrototype
(
this
.
triggerObj
).
subscribe
(
(
response
)
=>
{
if
(
response
.
errCode
==
10000
)
{
this
.
message
.
success
(
'创建阈值成功'
);
this
.
initForm
();
this
.
done
.
emit
();
this
.
isVisiable
=
false
;
}
else
{
this
.
message
.
error
(
response
.
errMsg
);
}
}
);
}
//2.修改阈值
updateTrigger
()
{
this
.
overAllSer
.
updateTriggerPrototype
(
this
.
triggerObj
).
subscribe
(
res
=>
{
if
(
res
.
errCode
==
10000
)
{
this
.
message
.
success
(
'修改阈值成功'
);
this
.
initForm
();
this
.
done
.
emit
();
this
.
isVisiable
=
false
;
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
});
}
//取消
handleCheckCancel
()
{
this
.
isVisiable
=
false
;
this
.
initForm
();
}
}
src/main/webapp/app/overAll/template/template.component.html
View file @
d43ca8df
...
@@ -42,6 +42,8 @@
...
@@ -42,6 +42,8 @@
<th>
名称
</th>
<th>
名称
</th>
<th>
描述
</th>
<th>
描述
</th>
<th>
自动发现
</th>
<th>
自动发现
</th>
<th>
监控项
</th>
<th>
触发器
</th>
<th>
操作
</th>
<th>
操作
</th>
</tr>
</tr>
</thead>
</thead>
...
@@ -61,6 +63,8 @@
...
@@ -61,6 +63,8 @@
</td>
</td>
<td>
{{item.description}}
</td>
<td>
{{item.description}}
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</ng-container>
</ng-container>
<!--子集-->
<!--子集-->
<ng-container
*
ngIf=
"item.level"
>
<ng-container
*
ngIf=
"item.level"
>
...
@@ -73,6 +77,8 @@
...
@@ -73,6 +77,8 @@
<td
class=
"main-color cursor"
>
<td
class=
"main-color cursor"
>
<span
(
click
)="
goToDiscovery
(
item
)"
>
{{item.discoveriesCount}}
</span>
<span
(
click
)="
goToDiscovery
(
item
)"
>
{{item.discoveriesCount}}
</span>
</td>
</td>
<td>
{{item.itemCount}}
</td>
<td>
{{item.triggersCount}}
</td>
</ng-container>
</ng-container>
<td
class=
"handle main-color"
>
<td
class=
"handle main-color"
>
...
@@ -83,7 +89,7 @@
...
@@ -83,7 +89,7 @@
</ng-container>
</ng-container>
<ng-container
*
ngIf=
"item.level"
>
<ng-container
*
ngIf=
"item.level"
>
<span
(
click
)="
showBasicCheckModal
(
item
.
templateid
,
item
.
host
)"
>
添加监测点
</span>
<span
(
click
)="
showBasicCheckModal
(
item
.
templateid
,
item
.
host
)"
>
添加监测点
</span>
<
span
(
click
)="
showDiscoveryAddModal
(
item
)"
>
添加自动发现
</span
>
<
!--<span (click)="showDiscoveryAddModal(item)">添加自动发现</span>--
>
<span
(
click
)="
showTempEditModal
(
item
)"
>
编辑
</span>
<span
(
click
)="
showTempEditModal
(
item
)"
>
编辑
</span>
<span
(
click
)="
showDeleteConfirm
(
item
)"
>
删除
</span>
<span
(
click
)="
showDeleteConfirm
(
item
)"
>
删除
</span>
<span
(
click
)="
showAlarm
(
item
)"
>
添加告警
</span>
<span
(
click
)="
showAlarm
(
item
)"
>
添加告警
</span>
...
...
src/main/webapp/app/overAll/template/template.component.ts
View file @
d43ca8df
...
@@ -20,7 +20,6 @@ import {StrategyComponent} from '../../modal/strategy/strategy.component';
...
@@ -20,7 +20,6 @@ import {StrategyComponent} from '../../modal/strategy/strategy.component';
styles
:
[]
styles
:
[]
})
})
export
class
TemplateComponent
implements
OnInit
{
export
class
TemplateComponent
implements
OnInit
{
//组件
//组件
@
ViewChild
(
'basicEdit'
)
basicEdit
:
BasicEditComponent
;
@
ViewChild
(
'basicEdit'
)
basicEdit
:
BasicEditComponent
;
@
ViewChild
(
'smartCheck'
)
smartCheck
:
BasiCheckComponent
;
@
ViewChild
(
'smartCheck'
)
smartCheck
:
BasiCheckComponent
;
...
@@ -187,7 +186,7 @@ export class TemplateComponent implements OnInit {
...
@@ -187,7 +186,7 @@ export class TemplateComponent implements OnInit {
goToDiscovery
(
item
){
goToDiscovery
(
item
){
this
.
router
.
navigate
([
'app/main/discoveryList'
],
{
this
.
router
.
navigate
([
'app/main/discoveryList'
],
{
queryParams
:
{
queryParams
:
{
hostI
d
:
item
.
templateid
,
templatei
d
:
item
.
templateid
,
name
:
item
.
name
,
name
:
item
.
name
,
hostName
:
item
.
host
hostName
:
item
.
host
}
}
...
...
src/main/webapp/app/overAll/template/trigger-list/trigger-list.component.html
View file @
d43ca8df
...
@@ -25,8 +25,7 @@
...
@@ -25,8 +25,7 @@
</div>
</div>
<div
nz-row
[
nzGutter
]="
4
"
class=
"search-form"
>
<div
nz-row
[
nzGutter
]="
4
"
class=
"search-form"
>
<div
nz-col
nzSpan=
"3"
>
<div
nz-col
nzSpan=
"3"
>
<button
(
click
)="
showAddModal
()"
nz-button
nzType=
"default"
><i
class=
"anticon anticon-plus-circle-o"
></i>
添加资产
<button
(
click
)="
showAddModal
()"
nz-button
nzType=
"default"
><i
class=
"anticon anticon-plus-circle-o"
></i>
添加阈值原型
</button>
</button>
</div>
</div>
<div
nz-col
nzSpan=
"18"
></div>
<div
nz-col
nzSpan=
"18"
></div>
<div
nz-col
nzSpan=
"3"
></div>
<div
nz-col
nzSpan=
"3"
></div>
...
@@ -37,25 +36,27 @@
...
@@ -37,25 +36,27 @@
<tr>
<tr>
<th
nzShowCheckbox
[
nzIndeterminate
]="
indeterminate
"
[
nzChecked
]="
allChecked
"
<th
nzShowCheckbox
[
nzIndeterminate
]="
indeterminate
"
[
nzChecked
]="
allChecked
"
(
nzCheckedChange
)="
checkAll
($
event
)"
></th>
(
nzCheckedChange
)="
checkAll
($
event
)"
></th>
<th>
名称
</th>
<th>
严重性
</th>
<th>
监控项
</th>
<th
nzWidth=
"35%"
>
名称
</th>
<th>
阈值
</th>
<th
nzWidth=
"35%"
>
表达式
</th>
<th>
键值
</th>
<th>
操作
</th>
<th>
间隔
</th>
<th>
类型
</th>
<th>
状态
</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<tr
*
ngFor=
"let data of triggerList"
>
<tr
*
ngFor=
"let data of triggerList"
>
<td
nzShowCheckbox
[(
nzChecked
)]="
data
.
checked
"
(
nzCheckedChange
)="
selectItem
(
data
,$
event
)"
></td>
<td
nzShowCheckbox
[(
nzChecked
)]="
data
.
checked
"
(
nzCheckedChange
)="
selectItem
(
data
,$
event
)"
></td>
<td
class=
"round-tag tag-form"
>
{{data.inventoryNo}}
</td>
<td
class=
"round-tag tag-form"
>
<td>
{{data.name}}
</td>
<nz-tag
*
ngIf=
"data.priority == 4 || data.priority == 5"
[
nzColor
]="
color
.
red
"
></nz-tag>
<td>
{{data.inventorycount}}
</td>
<nz-tag
*
ngIf=
"data.priority == 2 || data.priority == 3"
[
nzColor
]="
color
.
yellow
"
></nz-tag>
<td>
{{data.stock}}
</td>
</td>
<td>
{{data.usedcount}}
</td>
<td>
{{data.comments}}
</td>
<td>
{{data.lendcount}}
</td>
<td>
{{data.expression}}
</td>
<td>
{{data.repaircount}}
</td>
<td
class=
"cursor main-color"
>
<span
(
click
)="
showEditModal
(
data
)"
>
编辑
</span>
<span
(
click
)="
deleteTrigger
(
data
)"
>
删除
</span>
</td>
</tr>
</tr>
</tbody>
</tbody>
</nz-table>
</nz-table>
\ No newline at end of file
<!--触发器原型-->
<smart-trigger-prototype
#
smartTriggerPrototype
></smart-trigger-prototype>
\ No newline at end of file
src/main/webapp/app/overAll/template/trigger-list/trigger-list.component.ts
View file @
d43ca8df
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
pageSize
}
from
'../../../app.constants'
;
import
{
color
,
pageSize
}
from
'../../../app.constants'
;
import
{
ActivatedRoute
,
Router
}
from
'@angular/router'
;
import
{
ActivatedRoute
,
Router
}
from
'@angular/router'
;
import
{
CommonService
}
from
'../../../shared/common/common.service'
;
import
{
CommonService
}
from
'../../../shared/common/common.service'
;
import
{
SystemService
}
from
'../../../system/system.service'
;
import
{
SystemService
}
from
'../../../system/system.service'
;
import
{
OverAllService
}
from
'../../overAll.service'
;
import
{
OverAllService
}
from
'../../overAll.service'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
TriggerPrototypeComponent
}
from
'../modal/trigger-prototype/trigger-prototype.component'
;
@
Component
({
@
Component
({
selector
:
'smart-trigger-list'
,
selector
:
'smart-trigger-list'
,
...
@@ -13,9 +14,12 @@ import {NzMessageService} from 'ng-zorro-antd';
...
@@ -13,9 +14,12 @@ import {NzMessageService} from 'ng-zorro-antd';
})
})
export
class
TriggerListComponent
implements
OnInit
{
export
class
TriggerListComponent
implements
OnInit
{
@
ViewChild
(
'smartTriggerPrototype'
)
smartTriggerPrototype
:
TriggerPrototypeComponent
;
tempName
;
tempName
;
disName
;
disName
;
hostId
;
discoveryids
;
discoveryids
;
color
=
color
;
pageNum
=
1
;
pageNum
=
1
;
pageCount
=
pageSize
;
pageCount
=
pageSize
;
...
@@ -34,6 +38,7 @@ export class TriggerListComponent implements OnInit {
...
@@ -34,6 +38,7 @@ export class TriggerListComponent implements OnInit {
(
res
)
=>
{
(
res
)
=>
{
this
.
discoveryids
=
res
.
id
;
this
.
discoveryids
=
res
.
id
;
this
.
tempName
=
res
.
name
;
this
.
tempName
=
res
.
name
;
this
.
hostId
=
res
.
hostId
;
}
}
);
);
}
}
...
@@ -77,7 +82,7 @@ export class TriggerListComponent implements OnInit {
...
@@ -77,7 +82,7 @@ export class TriggerListComponent implements OnInit {
pageCount
:
this
.
pageCount
,
pageCount
:
this
.
pageCount
,
hostIds
:
[
this
.
discoveryids
]
hostIds
:
[
this
.
discoveryids
]
};
};
this
.
overAllSer
.
find
ItemPrototype
(
data
).
subscribe
(
this
.
overAllSer
.
find
PageTrigger
(
data
).
subscribe
(
(
res
)
=>
{
(
res
)
=>
{
this
.
triggerList
=
res
.
data
.
data
;
this
.
triggerList
=
res
.
data
.
data
;
this
.
totalNum
=
res
.
data
.
totalNum
;
this
.
totalNum
=
res
.
data
.
totalNum
;
...
@@ -86,7 +91,56 @@ export class TriggerListComponent implements OnInit {
...
@@ -86,7 +91,56 @@ export class TriggerListComponent implements OnInit {
}
}
showAddModal
()
{
showAddModal
()
{
this
.
smartTriggerPrototype
.
showAddModal
(
"新增阈值原型"
,
this
.
tempName
);
}
showEditModal
(
data
)
{
this
.
smartTriggerPrototype
.
showEditModal
(
"编辑阈值原型"
,
data
.
id
,
this
.
tempName
);
}
//单个删除
deleteTrigger
(
item
){
this
.
commonSer
.
confirmThing
(
"删除"
,
"确定删除当前的阈值原型"
,()
=>
{
const
data
=
{
ids
:[]
};
data
.
ids
.
push
(
item
.
triggerid
);
this
.
overAllSer
.
deleteTrigger
(
data
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errCode
==
10000
){
this
.
message
.
success
(
"删除成功"
);
this
.
getList
();
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
}
)
})
}
//批量删除
deleteBatchTrigger
(){
if
(
this
.
selectList
.
length
==
0
){
this
.
message
.
warning
(
"请选择需要删除的阈值原型"
);
return
false
;
}
this
.
commonSer
.
confirmThing
(
"删除"
,
"确定删除选择的阈值原型"
,()
=>
{
const
data
=
{
ids
:
this
.
selectList
.
map
(
e
=>
{
return
e
.
triggerid
;
})
};
this
.
overAllSer
.
deleteTrigger
(
data
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errCode
==
10000
){
this
.
message
.
success
(
"删除成功"
);
this
.
getList
();
}
else
{
this
.
message
.
error
(
res
.
errMsg
);
}
}
)
})
}
}
}
}
src/main/webapp/app/system/modal/separation/separation.component.ts
View file @
d43ca8df
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
SystemService
}
from
'../../system.service'
;
import
{
SystemService
}
from
'../../system.service'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
NzMessageService
}
from
'ng-zorro-antd'
;
import
{
SidebarComponent
}
from
'../../../layouts'
;
@
Component
({
@
Component
({
selector
:
'smart-separation'
,
selector
:
'smart-separation'
,
...
@@ -32,7 +33,8 @@ export class SeparationComponent implements OnInit {
...
@@ -32,7 +33,8 @@ export class SeparationComponent implements OnInit {
comment
:
""
,
comment
:
""
,
};
};
constructor
(
private
systemSer
:
SystemService
,
private
message
:
NzMessageService
)
{
constructor
(
private
systemSer
:
SystemService
,
private
message
:
NzMessageService
,
)
{
}
}
ngOnInit
()
{}
ngOnInit
()
{}
...
...
src/main/webapp/app/system/system.service.ts
View file @
d43ca8df
...
@@ -61,8 +61,8 @@ export class SystemService {
...
@@ -61,8 +61,8 @@ export class SystemService {
}
}
//查找用户角色
//查找用户角色
getRoleByUserId
(
data
):
Observable
<
any
>
{
getRoleByUserId
(
params
):
Observable
<
any
>
{
return
this
.
http
.
get
(
SERVER_API_URL_COMS
+
'/user/getRoleByUserId
?'
+
this
.
commonSer
.
toQuery
(
data
)
);
return
this
.
http
.
get
(
SERVER_API_URL_COMS
+
'/user/getRoleByUserId
/'
+
params
);
}
}
//删除用户
//删除用户
...
...
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