Toggle navigation
Toggle navigation
This project
Loading...
Sign in
monitor_v3
/
hg-monitor-web
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
郗万祥
3 years ago
Commit
b29f362e749b435ba4702d3578920155f2fe816a
2 parents
22e227c4
fc35c044
Merge branch 'master-v32-xwx' into 'master-500-dev-xwx'
AJ配置信息 See merge request
!409
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
456 additions
and
0 deletions
hg-monitor-web-base/src/main/resources/static/src/controller/common.js
hg-monitor-web-base/src/main/resources/static/vue3/src/script/global.js
hg-monitor-web-zj/src/main/resources/application.yml
hg-monitor-web-zj/src/main/resources/static/src/views/ajConfig/index.html
hg-monitor-web-zj/src/main/resources/static/start/index.html
hg-monitor-web-zj/src/main/resources/static/vue3/src/router/index.js
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/ajConfig/index.html
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/ajConfig/index.js
hg-monitor-web-base/src/main/resources/static/src/controller/common.js
View file @
b29f362
...
...
@@ -23,6 +23,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
domainInspectionURI
:
sessionStorage
.
getItem
(
'domainInspectionURI'
),
// 巡检系统地址
domainAssetsManage
:
sessionStorage
.
getItem
(
'domainAssetsManage'
),
// 资产系统地址
graphEditorOrigin
:
sessionStorage
.
getItem
(
'graphEditorOrigin'
),
// 拓扑系统地址
ajScreenStatement
:
sessionStorage
.
getItem
(
'ajWeb'
),
//aj系统地址
workflowName
:
sessionStorage
.
getItem
(
'workflow'
),
//流程系统地址
domainCMDBName
:
"http://80.12.147.24:8888/hgkjcmdb"
,
//杭州咨源老cmdb系统地址
lineTimer
:
null
,
//性能曲线图全局定时器
...
...
@@ -1380,6 +1381,16 @@ layui.define(['xmSelect', 'md5'], function (exports) {
}
});
},
viewAjView
:
function
(
reportCode
)
{
layer
.
load
(
2
);
layer
.
open
({
type
:
2
,
content
:
obj
.
ajScreenStatement
+
"/#/bigscreen/viewer?reportCode="
+
reportCode
+
"?access_token="
+
localStorage
.
getItem
(
'access_token'
),
area
:
[
'80%'
,
'80%'
],
title
:
''
});
layer
.
closeAll
(
'loading'
);
},
viewBizTopo
:
function
(
busId
)
{
layer
.
load
(
2
);
admin
.
req
({
...
...
hg-monitor-web-base/src/main/resources/static/vue3/src/script/global.js
View file @
b29f362
...
...
@@ -219,6 +219,13 @@ global.viewResTopo = (resId) => {
}
/**
* aj报表预览
*/
global
.
viewAjView
=
(
reportCode
)
=>
{
let
lyaui
=
global
.
layui
;
lyaui
.
common
.
viewAjView
(
reportCode
)
}
/**
* 打开资产列表
* @param topoId
*/
...
...
hg-monitor-web-zj/src/main/resources/application.yml
View file @
b29f362
...
...
@@ -18,6 +18,8 @@ url:
mxgraph_editor
:
http://127.0.0.1:8085
tingyun
:
http://127.0.0.1:8088
bigScreen
:
http://127.0.0.1:8081
# aj配置
ajWeb
:
http://192.168.0.69:6677
# 一体化视图
ythView
:
http://192.168.0.69:18089
# cmdb
...
...
hg-monitor-web-zj/src/main/resources/static/src/views/ajConfig/index.html
0 → 100644
View file @
b29f362
<title>
设计器配置信息
</title>
<iframe
src=
"/vue3/index.html#/vue3/ajConfig"
class=
"layadmin-iframe"
style=
"height: 99.5%!important;"
/>
...
...
hg-monitor-web-zj/src/main/resources/static/start/index.html
View file @
b29f362
...
...
@@ -40,6 +40,7 @@
sessionStorage
.
setItem
(
'tingyun'
,
res1
[
0
].
tingyun
);
sessionStorage
.
setItem
(
'bigScreen'
,
res1
[
0
].
bigScreen
);
sessionStorage
.
setItem
(
'ythView'
,
res1
[
0
].
ythView
);
sessionStorage
.
setItem
(
'ajWeb'
,
res1
[
0
].
ajWeb
);
//xwx add 读取业务健康度页面IP地址 2021-10-25 start
sessionStorage
.
setItem
(
'ywHealth'
,
res1
[
0
].
ywHealth
);
//xwx add 读取业务健康度页面IP地址 2021-10-25 end
...
...
hg-monitor-web-zj/src/main/resources/static/vue3/src/router/index.js
View file @
b29f362
...
...
@@ -169,6 +169,11 @@ const routes = [{
path
:
'/alarmsubscribe/excludeKpi'
,
name
:
'alarmSubscribeExcludeKpi'
,
component
:
()
=>
myImport
(
'views/alarmsubscribe/index'
)
},
{
path
:
'/vue3/ajConfig'
,
name
:
'ajConfig'
,
component
:
()
=>
myImport
(
'views/ajConfig/index'
)
}
];
...
...
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/ajConfig/index.html
0 → 100644
View file @
b29f362
<div
class=
"container"
:style=
"{'height':height+'px','max-height':height+'px'}"
>
<div
class=
"cm-card"
:style=
"{'min-height':height+'px','max-height':height+'px','height':'100%'}"
>
<div
class=
"search"
>
<div
class=
"btns"
style=
"justify-content: left;padding-left: 0px"
>
<el-form-item>
<el-button
type=
"primary"
@
click=
"addAj()"
style=
"margin-left: 10px"
>
新增
</el-button>
</el-form-item>
</div>
<div
class=
"design"
style=
"float:right;padding-left: 1410px"
>
<el-form-item>
<el-button
type=
"primary"
@
click=
"handleView()"
style=
"margin-left: 10px"
>
设计
</el-button>
</el-form-item>
</div>
</div>
<div
class=
"search-table"
>
<cm-table-page
v-if=
"tableDataList.length"
:columns=
"columns"
:dataList=
"tableDataList"
@
loaddata=
"loadTableDataList"
:showIndex=
"true"
:total=
"count"
:showSelection=
"true"
:showBorder=
"true"
:loading=
"false"
:pageSize=
"pageSize"
:showPage=
"true"
:showTools=
"true"
:height=
"(height - 130)"
>
<template
#
default=
"{row,prop,column}"
>
<div
v-if=
"prop == 'type'"
>
<div
v-if=
"row.type == 0"
>
<el-tag>
菜单
</el-tag>
</div>
<div
v-if=
"row.type == 1"
>
<el-tag>
按钮
</el-tag>
</div>
<div
v-if=
"row.type == 2"
>
<el-tag>
详情页
</el-tag>
</div>
</div>
</template>
<template
#
tools=
"{scope}"
>
<div
class=
"list-handle"
>
<span
class=
"icon-bg"
>
<i
class=
"el-icon-delete"
title=
"删除"
@
click=
"handleDelete(scope.row)"
></i>
</span>
<span
class=
"icon-bg"
>
<i
class=
"el-icon-edit-outline"
title=
"修改"
@
click=
"handleUpdate(scope.row)"
></i>
</span>
<span
class=
"icon-bg"
>
<i
class=
"el-icon-view"
title=
"预览"
@
click=
"handleView(scope.row)"
></i>
</span>
</div>
</template>
</cm-table-page>
</div>
</div>
</div>
<!--新增编辑弹框-->
<cm-dialog
:title=
"titleName"
width=
"40%"
:showDialogVisible=
"cacheVisible"
@
hidedialog=
"cancelBtn"
:showFooter=
"false"
>
<template
v-slot
>
<el-form
label-width=
"120px"
ref=
"ruleForm"
:model=
"ajConfigFrom"
:rules=
"docRulesForm"
label-position=
"right"
label-width=
"120px"
>
<el-form-item
label=
"编号"
prop=
"id"
>
<el-input
:size=
"$global.elementSize"
v-model=
"ajConfigFrom.id"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-radio
v-model=
"ajConfigFrom.type"
label=
"0"
size=
"large"
>
菜单
</el-radio>
<el-radio
v-model=
"ajConfigFrom.type"
label=
"1"
size=
"large"
>
按钮
</el-radio>
<el-radio
v-model=
"ajConfigFrom.type"
label=
"2"
size=
"large"
>
详情页
</el-radio>
<div>
<span>
示例:12345646 说明:12132123
</span>
</div>
</el-form-item>
<el-form-item
label=
"父菜单"
prop=
"menuPid"
v-if=
"ajConfigFrom.type==0"
>
<el-select
v-model=
"ajConfigFrom.menuPid"
placeholder=
"请选择"
style=
"width: 555px;"
>
<el-option
v-for=
"item in menuOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:disabled=
"item.disabled"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"菜单名称"
prop=
"menuName"
v-if=
"ajConfigFrom.type==0"
>
<el-input
:size=
"$global.elementSize"
v-model=
"ajConfigFrom.menuName"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"设计页面"
prop=
"designPage"
>
<el-select
v-model=
"ajConfigFrom.designPage"
placeholder=
"请选择"
style=
"width: 510px;"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:disabled=
"item.disabled"
>
</el-option>
</el-select>
<el-tag
@
click=
"preview(ajConfigFrom.designPage)"
>
预览
</el-tag>
</el-form-item>
<el-form-item
label=
"传递参数"
prop=
"param"
>
<el-input
:size=
"$global.elementSize"
v-model=
"ajConfigFrom.param"
clearable
></el-input>
<span>
示例:12345646 说明:12132123
</span>
</el-form-item>
<el-form-item
label=
"资源类型"
prop=
"resType"
v-if=
"ajConfigFrom.type==2"
>
<el-input
:size=
"$global.elementSize"
v-model=
"ajConfigFrom.resType"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"厂商"
prop=
"firm"
v-if=
"ajConfigFrom.type==2"
>
<el-input
:size=
"$global.elementSize"
v-model=
"ajConfigFrom.firm"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"绑定资源"
prop=
"resource"
v-if=
"ajConfigFrom.type==2"
>
<el-input
:size=
"$global.elementSize"
v-model=
"ajConfigFrom.resource"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
:size=
"$global.elementSize"
v-model=
"ajConfigFrom.remark"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button
:size=
"$global.elementSize"
type=
"primary"
@
click=
"addAjConfig('ruleForm')"
>
保存
</el-button>
<el-button
:size=
"$global.elementSize"
@
click=
"cancelBtn"
>
取消
</el-button>
</el-form-item>
</el-form>
</template>
</cm-dialog>
...
...
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/ajConfig/index.js
0 → 100644
View file @
b29f362
export
default
{
name
:
'ajConfig'
,
template
:
''
,
components
:
{},
props
:[],
data
()
{
return
{
radio
:
'0'
,
docRulesForm
:
{
id
:
[
{
required
:
true
,
message
:
'请填写文档编号!'
,
trigger
:
'blur'
,
}
],
type
:[{
required
:
true
,
message
:
'请选择类型!'
,
trigger
:
'blur'
,
}],
designPage
:[{
required
:
true
,
message
:
'请选择设计页面!'
,
trigger
:
'blur'
,
}],
resource
:[{
required
:
true
,
message
:
'请填写绑定资源!'
,
trigger
:
'blur'
,
}],
}
}
},
setup
(
props
,
{
attrs
,
slots
,
emit
}){
const
{
proxy
}
=
Vue
.
getCurrentInstance
();
let
height
=
Vue
.
ref
(
window
.
innerHeight
-
10
);
//表格字段
let
columns
=
Vue
.
ref
([
{
prop
:
'id'
,
label
:
'编号'
,
sortable
:
true
,
align
:
'center'
,
width
:
'250'
},
{
prop
:
'type'
,
label
:
'类型'
,
sortable
:
true
,
align
:
'center'
,
width
:
'250'
,
},
{
prop
:
'resType'
,
label
:
'资源类型'
,
sortable
:
true
,
align
:
'center'
,
width
:
'250'
},{
prop
:
'firm'
,
label
:
'品牌'
,
sortable
:
true
,
align
:
'center'
,
width
:
'250'
},{
prop
:
'designPage'
,
label
:
'设计器编码'
,
sortable
:
true
,
align
:
'center'
,
width
:
'250'
},{
prop
:
'param'
,
label
:
'参数'
,
sortable
:
true
,
align
:
'left'
}
])
let
currentPage
=
Vue
.
ref
(
1
);
let
pageSize
=
Vue
.
ref
(
10
);
let
keyword
=
Vue
.
ref
();
let
count
=
Vue
.
ref
(
0
);
let
tableDataList
=
Vue
.
ref
([]);
let
checkedId
=
Vue
.
ref
(
0
);
let
titleName
=
Vue
.
ref
(
'新增配置信息'
)
let
cacheVisible
=
Vue
.
ref
(
false
);
let
viewData
=
Vue
.
ref
();
let
addOrUpdate
=
Vue
.
ref
(
false
)
let
radio
=
Vue
.
ref
(
0
);
//下拉框
let
options
=
Vue
.
ref
([]);
//菜单下拉框
let
menuOptions
=
Vue
.
ref
([]);
let
ajConfigFrom
=
Vue
.
ref
({
id
:
''
,
type
:
0
,
designPage
:
''
,
param
:
''
,
resType
:
''
,
firm
:
''
,
resource
:
''
,
remark
:
''
,
creatTime
:
''
,
createName
:
''
,
state
:
''
,
title
:
''
,
menuPid
:
''
,
menuName
:
''
});
//新增弹框
const
addAj
=
()
=>
{
clearForm
();
cacheVisible
.
value
=
true
;
pageList
();
menuList
();
}
//新增或修改aj配置信息
let
addAjConfig
=
(
ruleForm
)
=>
{
let
params
=
{};
params
=
ajConfigFrom
.
value
;
let
msg
=
''
;
if
(
addOrUpdate
.
value
){
proxy
.
$http
.
post
(
`
/
api
-
web
/
ajConfig
/
updateAj
`
,
params
,
function
(
res
)
{
if
(
res
&&
res
.
success
==
true
)
{
msg
=
res
.
msg
;
cacheVisible
.
value
=
false
;
proxy
.
$global
.
showMsg
(
msg
);
}
})
}
else
{
proxy
.
$http
.
post
(
`
/
api
-
web
/
ajConfig
/
addAj
`
,
params
,
function
(
res
)
{
if
(
res
&&
res
.
success
==
true
)
{
msg
=
res
.
msg
;
cacheVisible
.
value
=
false
;
proxy
.
$global
.
showMsg
(
msg
);
}
})
}
clearForm
();
getDataList
();
}
//清理表单
let
clearForm
=
()
=>
{
ajConfigFrom
.
value
=
{
id
:
''
,
type
:
'0'
,
designPage
:
''
,
param
:
''
,
resType
:
''
,
firm
:
''
,
resource
:
''
,
remark
:
''
,
creatTime
:
''
,
createName
:
''
,
state
:
''
,
title
:
''
,
menuPid
:
''
,
menuName
:
''
}
addOrUpdate
.
value
=
false
;
}
//删除
let
handleDelete
=
(
row
)
=>
{
let
param
=
{
id
:
row
.
id
}
proxy
.
$http
.
get
(
`
/
api
-
web
/
ajConfig
/
deleteById
`
,
param
,
function
(
res
)
{
if
(
res
&&
res
.
success
==
true
)
{
let
msg
=
res
.
msg
;
if
(
!
msg
)
{
msg
=
"删除失败"
;
}
proxy
.
$global
.
showMsg
(
msg
);
getDataList
();
}
})
}
let
handleUpdate
=
(
row
)
=>
{
addOrUpdate
.
value
=
true
;
ajConfigFrom
.
value
=
row
;
cacheVisible
.
value
=
true
;
pageList
();
menuList
();
}
//预览
let
preview
=
(
row
)
=>
{
proxy
.
$global
.
viewAjView
(
row
);
}
//aj报表管理信息
let
pageList
=
()
=>
{
proxy
.
$http
.
get
(
`
/
api
-
web
/
ajConfig
/
pageList
`
,
null
,
function
(
res
)
{
if
(
res
&&
res
.
success
==
true
)
{
let
params
=
res
.
object
.
data
.
records
;
params
.
forEach
(
function
(
e
){
let
report
=
{}
report
.
label
=
e
.
reportName
;
report
.
value
=
e
.
reportCode
;
options
.
value
.
push
(
report
)
});
}
})
}
//菜单
let
menuList
=
()
=>
{
proxy
.
$http
.
get
(
`
/
api
-
user
/
menus
/
findAlls
`
,
null
,
function
(
res
)
{
if
(
res
&&
res
.
count
>
0
)
{
let
params
=
res
.
data
;
params
.
forEach
(
function
(
e
){
let
menu
=
{}
menu
.
label
=
e
.
name
;
menu
.
value
=
e
.
id
;
menuOptions
.
value
.
push
(
menu
)
});
}
})
}
//AJ设计登录
let
handleView
=
()
=>
{
window
.
open
(
sessionStorage
.
getItem
(
"ajWeb"
)
+
'/#/login?access_token='
+
localStorage
.
getItem
(
"access_token"
));
}
//重新加载表格数据
let
loadTableDataList
=
({
page
,
limit
})
=>
{
currentPage
.
value
=
page
;
pageSize
.
value
=
limit
;
getDataList
()
}
//获取aj配置信息
let
getDataList
=
()
=>
{
proxy
.
$http
.
get
(
`
/
api
-
web
/
ajConfig
/
ajConfigList
`
,
null
,
function
(
res
)
{
if
(
res
&&
res
.
data
)
{
count
.
value
=
res
.
data
.
length
;
tableDataList
.
value
=
res
.
data
;
}
else
{
tableDataList
.
value
=
'暂无数据'
;
}
});
}
//关闭弹框
let
cancelBtn
=
()
=>
{
cacheVisible
.
value
=
false
;
}
// 挂载完
Vue
.
onMounted
(()
=>
{
getDataList
();
})
return
{
height
,
columns
,
currentPage
,
count
,
pageSize
,
keyword
,
tableDataList
,
checkedId
,
addAj
,
addAjConfig
,
loadTableDataList
,
getDataList
,
cacheVisible
,
titleName
,
viewData
,
cancelBtn
,
ajConfigFrom
,
handleDelete
,
handleUpdate
,
preview
,
handleView
,
pageList
,
radio
,
options
,
menuList
,
menuOptions
}
}
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment