Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
liangzhen
/
framework-tools-web
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit cd72f565
authored
Dec 26, 2023
by
liuyong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改代码
1 parent
d682231d
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
870 additions
and
1418 deletions
public/drawio/extention/js/exApp.js
public/drawio/extention/js/url.js
public/drawio/js/diagramly/App.js
public/drawio/resources/dia_zh.txt
src/api/index.js
src/components/drawio.vue
src/router/index.js
src/views/Main/index.vue
src/views/application-archi-view-manage/canvas/index.vue
src/views/application-archi-view-manage/index.vue
src/views/archi-view-manage/canvas/index.vue
src/views/application-archi-view-manage/details.vue → src/views/archi-view-manage/details.vue
src/views/archi-view-manage/index.vue
src/views/application-archi-view-manage/table/index.vue → src/views/archi-view-manage/table/index.vue
src/views/business-archi-view-manage/canvas/index.vue
src/views/business-archi-view-manage/details.vue
src/views/business-archi-view-manage/index.vue
src/views/business-archi-view-manage/table/index.vue
src/views/data-archi-view-manage/canvas/index.vue
src/views/data-archi-view-manage/details.vue
src/views/data-archi-view-manage/index.vue
src/views/data-archi-view-manage/table/index.vue
src/views/meta-model-list/canvas/index.vue
src/views/meta-model-list/index.vue
src/views/meta-model-list/table/index.vue
src/views/secure-archi-view-manage/canvas/index.vue
src/views/secure-archi-view-manage/details.vue
src/views/secure-archi-view-manage/index.vue
src/views/secure-archi-view-manage/table/index.vue
src/views/tech-archi-view-manage/canvas/index.vue
src/views/tech-archi-view-manage/details.vue
src/views/tech-archi-view-manage/index.vue
src/views/tech-archi-view-manage/table/index.vue
public/drawio/extention/js/exApp.js
View file @
cd72f56
...
@@ -5,25 +5,12 @@ const initDrawioGraph = function(that) {//一进入画布显示的图形
...
@@ -5,25 +5,12 @@ const initDrawioGraph = function(that) {//一进入画布显示的图形
that
.
loadFile
(
`-2`
,
true
,
file
);
that
.
loadFile
(
`-2`
,
true
,
file
);
}
else
{
}
else
{
$
.
ajax
({
const
xmlData
=
localStorage
.
getItem
(
'xmlData'
);
method
:
"post"
,
const
xmlTitle
=
localStorage
.
getItem
(
'xmlTitle'
);
url
:
`http://
${
ajaxUrl
}
/ma-ml/gBMMId`
,
data
:
JSON
.
stringify
({
const
file
=
new
LocalFile
(
that
,
xmlData
,
xmlTitle
,
that
.
mode
);
metaModelId
:
urlParams
[
'id'
]
that
.
loadFile
(
`-1`
,
true
,
file
);
}),
contentType
:
"application/json"
,
success
:
function
(
result
)
{
// console.log(result)
const
xmlData
=
result
.
data
.
metaModelData
;
const
xmlTitle
=
result
.
data
.
verName
;
const
file
=
new
LocalFile
(
that
,
xmlData
,
xmlTitle
,
that
.
mode
);
that
.
loadFile
(
`-1`
,
true
,
file
);
},
error
:
function
(
err
)
{
}
});
}
}
}
}
...
...
public/drawio/extention/js/url.js
View file @
cd72f56
const
ajaxUrl
=
'192.168.148.129:7003'
;
const
ajaxUrl
=
'43.143.211.42:7003'
;
\ No newline at end of file
\ No newline at end of file
public/drawio/js/diagramly/App.js
View file @
cd72f56
...
@@ -3740,8 +3740,10 @@ App.prototype.showSplash = function(force)
...
@@ -3740,8 +3740,10 @@ App.prototype.showSplash = function(force)
this
.
showSplash
();
this
.
showSplash
();
}));
}));
}
else
if
(
urlParams
[
'id'
])
{
}
else
if
(
urlParams
[
'id'
])
{
const
that
=
this
;
const
that
=
this
;
initDrawioGraph
(
that
);
initDrawioGraph
(
that
);
}
else
if
(
!
mxClient
.
IS_CHROMEAPP
&&
(
this
.
mode
==
null
||
force
))
}
else
if
(
!
mxClient
.
IS_CHROMEAPP
&&
(
this
.
mode
==
null
||
force
))
{
{
var
rowLimit
=
(
serviceCount
==
4
)
?
2
:
3
;
var
rowLimit
=
(
serviceCount
==
4
)
?
2
:
3
;
...
...
public/drawio/resources/dia_zh.txt
View file @
cd72f56
...
@@ -286,7 +286,7 @@ exportOptionsDisabled=已禁止导出
...
@@ -286,7 +286,7 @@ exportOptionsDisabled=已禁止导出
exportOptionsDisabledDetails=所有者已禁止评论者及浏览者下载、打印或复制该文件。
exportOptionsDisabledDetails=所有者已禁止评论者及浏览者下载、打印或复制该文件。
externalChanges=外部修改
externalChanges=外部修改
extras=其它
extras=其它
customSaveFileMenu=
自定义
保存文件
customSaveFileMenu=保存文件
customSubMenu1=功能1
customSubMenu1=功能1
customSubMenu2=功能2
customSubMenu2=功能2
facebook=Facebook
facebook=Facebook
...
...
src/api/index.js
View file @
cd72f56
...
@@ -70,6 +70,10 @@ export function get_yuan_mo_xing_list(params) {
...
@@ -70,6 +70,10 @@ export function get_yuan_mo_xing_list(params) {
export
function
delete_yuan_mo_xing_list
(
params
)
{
export
function
delete_yuan_mo_xing_list
(
params
)
{
return
post
(
'/network/ma-ml/del'
,
params
);
return
post
(
'/network/ma-ml/del'
,
params
);
}
}
// 元模型管理页面画布详情
export
function
query_yuan_mo_xing_details
(
params
)
{
return
post
(
'/network/ma-ml/gBMMId'
,
params
);
}
// 架构视图配置
// 架构视图配置
// 列表查询
// 列表查询
...
@@ -153,9 +157,37 @@ export function getYMXZDGLProyUpdate(params) {
...
@@ -153,9 +157,37 @@ export function getYMXZDGLProyUpdate(params) {
export
function
getYMXZDGLProyDel
(
params
)
{
export
function
getYMXZDGLProyDel
(
params
)
{
return
post
(
'/network/ma-ml-dicy/del-proy'
,
params
);
return
post
(
'/network/ma-ml-dicy/del-proy'
,
params
);
}
}
// 业务,应用,数据,技术,安全架构视图管理
// 架构视图管理,树数据
export
function
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
(
params
)
{
export
function
getArchiViewManage
(
params
)
{
return
post
(
'/network/archi-view/lsViewTypes'
,
params
);
return
post
(
'/network/archi-vw-detail/qViewTree'
,
params
);
}
// 架构视图管理,获取具体图形卡片数据
export
function
getArchiViewManageDetail
(
params
)
{
return
post
(
'/network/archi-vw-detail/'
,
params
);
}
// 架构视图管理,增加卡片数据
export
function
addArchiViewManage
(
params
)
{
return
post
(
'/network/archi-vw-detail/cViewDetail'
,
params
);
}
// 架构视图管理,删除卡片数据
export
function
deleteArchiViewManage
(
params
)
{
return
post
(
'/network/archi-vw-detail/del'
,
params
);
}
// 架构视图管理, 卡片数据详情
export
function
queryArchiViewManageCardDetails
(
params
)
{
return
post
(
'/network/archi-vw-detail/iViewDetail'
,
params
);
}
// 架构视图管理, 保存画布数据
export
function
saveArchiViewManageCardDetails
(
params
)
{
return
post
(
'/network/archi-vw-detail/upMxGraph'
,
params
);
}
// 架构视图管理, 画布版本发布
export
function
saveVersionArchiViewManageCardDetails
(
params
)
{
return
post
(
'/network/archi-vw-detail/uViewDetail'
,
params
);
}
// 架构视图管理, 保存画布对应的表格数据
export
function
getArchiViewManageTable
(
params
)
{
return
post
(
'/network/archi-vw-detail/fdVd'
,
params
);
}
}
// 技术政策结构化-列表
// 技术政策结构化-列表
export
function
getJiShuZhengCeJieGouHuaTable
(
params
)
{
export
function
getJiShuZhengCeJieGouHuaTable
(
params
)
{
...
...
src/components/drawio.vue
View file @
cd72f56
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<iframe
<iframe
class=
"drawio_show"
class=
"drawio_show"
name=
"content_frame"
name=
"content_frame"
:src=
"'/drawio/index.html?id='+id
+'&version='+version+'&state='+state
"
:src=
"'/drawio/index.html?id='+id"
frameborder=
0
frameborder=
0
scrolling=
"no"
>
scrolling=
"no"
>
</iframe>
</iframe>
...
@@ -15,9 +15,6 @@
...
@@ -15,9 +15,6 @@
data
()
{
data
()
{
return
{
return
{
id
:
null
,
id
:
null
,
version
:
null
,
state
:
null
,
};
};
},
},
watch
:
{
watch
:
{
...
@@ -25,8 +22,6 @@
...
@@ -25,8 +22,6 @@
handler
(
newVal
,
oldVal
)
{
handler
(
newVal
,
oldVal
)
{
// console.log(newVal)
// console.log(newVal)
this
.
id
=
newVal
.
id
;
this
.
id
=
newVal
.
id
;
this
.
version
=
newVal
.
version
;
this
.
state
=
newVal
.
state
;
},
},
}
}
},
},
...
...
src/router/index.js
View file @
cd72f56
...
@@ -116,30 +116,15 @@ const routes = [
...
@@ -116,30 +116,15 @@ const routes = [
component
:
()
=>
import
(
'@/views/report-template-relative-use/index.vue'
),
component
:
()
=>
import
(
'@/views/report-template-relative-use/index.vue'
),
},
},
{
{
path
:
'/main/businessArchiViewManage'
,
//业务架构视图管理
path
:
'/main/archiViewManage'
,
//架构视图管理
name
:
'businessArchiViewManage'
,
name
:
'archiViewManage'
,
component
:
()
=>
import
(
'@/views/business-archi-view-manage/index.vue'
),
component
:
()
=>
import
(
'@/views/archi-view-manage/index.vue'
),
},
},
{
{
path
:
'/main/applicationArchiViewManage'
,
//应用架构视图管理
path
:
'/main/archiViewManageDetails/:id'
,
//架构视图管理详情
name
:
'applicationArchiViewManage'
,
name
:
'archiViewManageDetails'
,
component
:
()
=>
import
(
'@/views/application-archi-view-manage/index.vue'
),
component
:
()
=>
import
(
'@/views/archi-view-manage/details.vue'
),
},
},
{
path
:
'/main/dataArchiViewManage'
,
//数据架构视图管理
name
:
'dataArchiViewManage'
,
component
:
()
=>
import
(
'@/views/data-archi-view-manage/index.vue'
),
},
{
path
:
'/main/techArchiViewManage'
,
//技术架构视图管理
name
:
'techArchiViewManage'
,
component
:
()
=>
import
(
'@/views/tech-archi-view-manage/index.vue'
),
},
{
path
:
'/main/secureArchiViewManage'
,
//安全架构视图管理
name
:
'secureArchiViewManage'
,
component
:
()
=>
import
(
'@/views/secure-archi-view-manage/index.vue'
),
},
]
]
}
}
]
]
...
...
src/views/Main/index.vue
View file @
cd72f56
...
@@ -52,10 +52,6 @@
...
@@ -52,10 +52,6 @@
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
元模型管理
</span>
<span
style=
"margin-left: 5px;"
>
元模型管理
</span>
</div>
</div>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构元模型管理', '架构视图配置')"
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
架构视图配置
</span>
</div>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构元模型管理', '元模型字典管理')"
>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构元模型管理', '元模型字典管理')"
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
元模型字典管理
</span>
<span
style=
"margin-left: 5px;"
>
元模型字典管理
</span>
...
@@ -68,25 +64,13 @@
...
@@ -68,25 +64,13 @@
<span
style=
"margin-left: 5px;"
>
架构视图管理
</span>
<span
style=
"margin-left: 5px;"
>
架构视图管理
</span>
</div>
</div>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构视图管理', '业务架构视图管理')"
>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构视图管理', '架构视图配置')"
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
业务架构视图管理
</span>
</div>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构视图管理', '应用架构视图管理')"
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
应用架构视图管理
</span>
<span
style=
"margin-left: 5px;"
>
架构视图配置
</span>
</div>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构视图管理', '数据架构视图管理')"
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
数据架构视图管理
</span>
</div>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构视图管理', '技术架构视图管理')"
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
技术架构视图管理
</span>
</div>
</div>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构视图管理', '
安全
架构视图管理')"
>
<div
class=
"menu_1_item_subtitle"
@
click=
"jumpPage('总体架构资产设计与维护', '架构视图管理', '架构视图管理')"
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<img
src=
"@/assets/main/3img.png"
alt=
""
>
<span
style=
"margin-left: 5px;"
>
安全
架构视图管理
</span>
<span
style=
"margin-left: 5px;"
>
架构视图管理
</span>
</div>
</div>
</div>
</div>
<img
class=
"menu_1_item_line"
src=
"@/assets/main/line.png"
alt=
""
/>
<img
class=
"menu_1_item_line"
src=
"@/assets/main/line.png"
alt=
""
/>
...
@@ -595,24 +579,8 @@
...
@@ -595,24 +579,8 @@
this
.
$router
.
push
(
'/main/reportTemplateRelativeUse'
,
()
=>
{},
()
=>
{}
);
this
.
$router
.
push
(
'/main/reportTemplateRelativeUse'
,
()
=>
{},
()
=>
{}
);
this
.
visible5
=
false
;
this
.
visible5
=
false
;
break
;
break
;
case
'业务架构视图管理'
:
case
'架构视图管理'
:
this
.
$router
.
push
(
'/main/businessArchiViewManage'
,
()
=>
{},
()
=>
{}
);
this
.
$router
.
push
(
'/main/archiViewManage'
,
()
=>
{},
()
=>
{}
);
this
.
visible1
=
false
;
break
;
case
'应用架构视图管理'
:
this
.
$router
.
push
(
'/main/applicationArchiViewManage'
,
()
=>
{},
()
=>
{}
);
this
.
visible1
=
false
;
break
;
case
'数据架构视图管理'
:
this
.
$router
.
push
(
'/main/dataArchiViewManage'
,
()
=>
{},
()
=>
{}
);
this
.
visible1
=
false
;
break
;
case
'技术架构视图管理'
:
this
.
$router
.
push
(
'/main/techArchiViewManage'
,
()
=>
{},
()
=>
{}
);
this
.
visible1
=
false
;
break
;
case
'安全架构视图管理'
:
this
.
$router
.
push
(
'/main/secureArchiViewManage'
,
()
=>
{},
()
=>
{}
);
this
.
visible1
=
false
;
this
.
visible1
=
false
;
break
;
break
;
}
}
...
...
src/views/application-archi-view-manage/canvas/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"canvas"
>
<!--
<Drawio
:initGraphId=
"routerId"
></Drawio>
-->
</div>
</
template
>
<
script
>
import
Drawio
from
'@/components/drawio.vue'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
}
from
'@/api/index.js'
;
export
default
{
name
:
'Canvas'
,
components
:
{
Drawio
},
data
()
{
return
{
routerId
:
null
};
},
mounted
(){
},
methods
:
{
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
.canvas
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/views/application-archi-view-manage/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"applicationArchiViewManage"
>
<el-tabs
v-model=
"activeId"
>
<el-tab-pane
v-for=
"item in tabData"
:key=
"item.viewTypeId"
:label=
"item.viewTypeName"
:name=
"item.viewTypeId"
>
用户管理
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
{
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
import
GraphGallery
from
'@/components/graphGallery.vue'
;
export
default
{
name
:
'ApplicationArchiViewManage'
,
components
:
{
GraphGallery
},
data
()
{
return
{
activeId
:
null
,
tabData
:
[]
};
},
mounted
(){
this
.
getData
();
},
methods
:
{
getData
()
{
const
params
=
{
"parentId"
:
2
}
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
res
.
data
.
map
(
item
=>
{
item
.
viewTypeId
=
''
+
item
.
viewTypeId
;
})
this
.
activeId
=
res
.
data
[
0
].
viewTypeId
;
this
.
tabData
=
res
.
data
;
}
})
}
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
/
deep
/
.el-tabs__item
:hover
{
color
:
#0D867F
;
}
/
deep
/
.el-tabs__active-bar
{
background-color
:
#0D867F
;
}
/
deep
/
.el-tabs__item.is-active
{
color
:
#0D867F
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
text-align
:
left
;
}
/
deep
/
.el-dialog__title
{
color
:
#fff
;
}
/
deep
/
.el-dialog__close
{
color
:
#fff
;
}
.applicationArchiViewManage
{
width
:
100%
;
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/archi-view-manage/canvas/index.vue
0 → 100644
View file @
cd72f56
<
template
>
<div
class=
"canvas"
>
<Drawio
:initGraphId=
"routerId"
></Drawio>
</div>
</
template
>
<
script
>
import
Drawio
from
'@/components/drawio.vue'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
saveArchiViewManageCardDetails
,
saveVersionArchiViewManageCardDetails
}
from
'@/api/index.js'
;
export
default
{
name
:
'Canvas'
,
components
:
{
Drawio
},
data
()
{
return
{
routerId
:
null
};
},
mounted
(){
const
id
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
0
];
const
version
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
1
].
split
(
"="
)[
1
];
this
.
routerId
=
{
id
,
}
window
.
addEventListener
(
"message"
,
event
=>
{
//会一直调用
if
(
event
.
data
.
type
)
{
if
(
event
.
data
.
type
==
'saveData'
)
{
MessageBox
.
confirm
(
'确定保存?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
customClass
:
'messageClass'
,
confirmButtonClass
:
'confirmClass'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
saveCanvas
(
id
,
event
.
data
.
data
.
mxGraphModel
,
event
.
data
.
data
.
base64SvgToString
);
}).
catch
(()
=>
{
Message
({
type
:
'info'
,
message
:
'已取消'
});
});
}
}
if
(
event
.
data
.
type
==
'saveVersion'
){
MessageBox
.
confirm
(
'确定发布版本?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
customClass
:
'messageClass'
,
confirmButtonClass
:
'confirmClass'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
releaseVersion
(
id
);
}).
catch
(()
=>
{
Message
({
type
:
'info'
,
message
:
'已取消'
});
});
}
});
},
methods
:
{
saveCanvas
(
id
,
mxGraphModel
,
base64SvgToString
)
{
const
params
=
{
viewDetailsId
:
id
,
metaModelData
:
mxGraphModel
,
metaModelSvg
:
base64SvgToString
}
saveArchiViewManageCardDetails
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
Message
({
type
:
'success'
,
message
:
'保存成功!'
,
});
}
else
{
Message
({
type
:
'error'
,
message
:
res
.
msg
});
}
})
},
releaseVersion
(
id
)
{
const
params
=
{
viewDetailsId
:
id
,
}
saveVersionArchiViewManageCardDetails
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
Message
({
type
:
'success'
,
message
:
'版本发布成功!'
,
});
}
else
{
Message
({
type
:
'error'
,
message
:
res
.
msg
});
}
})
}
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
.canvas
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/views/a
pplication-a
rchi-view-manage/details.vue
→
src/views/archi-view-manage/details.vue
View file @
cd72f56
File moved
src/views/archi-view-manage/index.vue
0 → 100644
View file @
cd72f56
<
template
>
<div
class=
"archiViewManage"
>
<el-tree
class=
"filter-tree"
:data=
"treeData"
node-key=
"viewId"
@
node-click=
"treeClick"
:props=
"
{ children: 'subList', label: 'viewName', id: 'viewId' }"
:default-expanded-keys="[0]"
ref="tree">
</el-tree>
<div
class=
"right_container"
>
<el-tabs
v-model=
"activeName"
type=
"border-card"
>
<el-tab-pane
label=
"已发布"
name=
"已发布"
>
<div
class=
"card_container"
>
<div
class=
"card_body"
>
<el-card
class=
"card_item"
v-for=
"item in yiFaBu"
:key=
"item.metaModelId"
>
<img
class=
"card_image"
@
click=
"to_current_details(item)"
:src=
"item.metaModelSvg_"
alt=
""
/>
<div
class=
"card_info"
>
<div
class=
"card_title"
>
<i
class=
"el-icon-location"
></i>
{{
item
.
verName
}}
{{
item
.
version
}}
</div>
<div
class=
"card_icon"
@
click
.
stop=
"deleteItem(item)"
>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-card>
<div
class=
"add_container"
@
click=
"add_dialog = true"
>
<i
class=
"el-icon-plus"
></i>
</div>
</div>
</div>
<el-pagination
background
@
size-change=
"val => handleSizeChange(val, '已发布')"
@
current-change=
"val => handleCurrentChange(val, '已发布')"
:current-page=
"pager1.current"
:page-sizes=
"pager1.sizes"
:page-size=
"pager1.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"pager1.total"
>
</el-pagination>
</el-tab-pane>
<el-tab-pane
label=
"暂存"
name=
"暂存"
>
<div
class=
"card_container"
>
<div
class=
"card_body"
>
<el-card
class=
"card_item"
v-for=
"item in zanCun"
:key=
"item.metaModelId"
>
<img
class=
"card_image"
@
click=
"to_current_details(item)"
:src=
"item.metaModelSvg_"
alt=
""
/>
<div
class=
"card_info"
>
<div
class=
"card_title"
>
<i
class=
"el-icon-location"
></i>
{{
item
.
verName
}}
{{
item
.
version
}}
</div>
<div
class=
"card_icon"
@
click
.
stop=
"deleteItem(item)"
>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-card>
<div
class=
"add_container"
@
click=
"add_dialog = true"
>
<i
class=
"el-icon-plus"
></i>
</div>
</div>
</div>
<el-pagination
background
@
size-change=
"val => handleSizeChange(val, '暂存')"
@
current-change=
"val => handleCurrentChange(val, '暂存')"
:current-page=
"pager2.current"
:page-sizes=
"pager2.sizes"
:page-size=
"pager2.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"pager2.total"
>
</el-pagination>
</el-tab-pane>
<el-tab-pane
label=
"停用"
name=
"停用"
>
<div
class=
"card_container"
>
<div
class=
"card_body"
>
<el-card
class=
"card_item"
v-for=
"item in tingYong"
:key=
"item.metaModelId"
>
<img
class=
"card_image"
@
click=
"to_current_details(item)"
:src=
"item.metaModelSvg_"
alt=
""
/>
<div
class=
"card_info"
>
<div
class=
"card_title"
>
<i
class=
"el-icon-location"
></i>
{{
item
.
verName
}}
{{
item
.
version
}}
</div>
<div
class=
"card_icon"
@
click
.
stop=
"deleteItem(item)"
>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-card>
<div
class=
"add_container"
@
click=
"add_dialog = true"
>
<i
class=
"el-icon-plus"
></i>
</div>
</div>
</div>
<el-pagination
background
@
size-change=
"val => handleSizeChange(val, '停用')"
@
current-change=
"val => handleCurrentChange(val, '停用')"
:current-page=
"pager3.current"
:page-sizes=
"pager3.sizes"
:page-size=
"pager3.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"pager3.total"
>
</el-pagination>
</el-tab-pane>
</el-tabs>
</div>
<el-dialog
title=
"新建架构视图"
:visible
.
sync=
"add_dialog"
:center=
"false"
width=
"40%"
>
<div
class=
"add_dialog_content"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
>
<el-form-item
label=
"版本名称"
prop=
"name"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"greenButton"
@
click=
"ok"
>
确定
</el-button>
<el-button
@
click=
"add_dialog = false"
>
取消
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getArchiViewManage
,
getArchiViewManageDetail
,
addArchiViewManage
,
deleteArchiViewManage
,
queryArchiViewManageCardDetails
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
import
GraphGallery
from
'@/components/graphGallery.vue'
;
export
default
{
name
:
'ArchiViewManage'
,
components
:
{
GraphGallery
},
data
()
{
return
{
activeId
:
null
,
treeData
:
[
{
viewId
:
0
,
viewName
:
'架构视图管理'
,
subList
:
[]
}
],
activeName
:
'已发布'
,
pager1
:
{
current
:
1
,
sizes
:
[
10
,
20
,
50
,
100
,
200
],
size
:
10
,
total
:
0
//总条数
},
pager2
:
{
current
:
1
,
sizes
:
[
10
,
20
,
50
,
100
,
200
],
size
:
10
,
total
:
0
//总条数
},
pager3
:
{
current
:
1
,
sizes
:
[
10
,
20
,
50
,
100
,
200
],
size
:
10
,
total
:
0
//总条数
},
viewId
:
null
,
yiFaBu
:
[],
zanCun
:
[],
tingYong
:
[],
add_dialog
:
false
,
ruleForm
:
{
name
:
''
,
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
'请输入版本名称'
,
trigger
:
'blur'
},
],
},
};
},
mounted
(){
this
.
getData
();
},
methods
:
{
to_current_details
(
item
)
{
//跳转到详情
const
params
=
{
viewDetailsId
:
item
.
viewDetailsId
}
queryArchiViewManageCardDetails
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
const
xmlData
=
res
.
data
.
metaModelData
;
const
xmlTitle
=
res
.
data
.
verName
;
const
version
=
res
.
data
.
version
;
const
id
=
res
.
data
.
viewDetailsId
;
localStorage
.
setItem
(
'xmlData'
,
xmlData
);
localStorage
.
setItem
(
'xmlTitle'
,
xmlTitle
);
this
.
$router
.
push
(
`/main/archiViewManageDetails/id=
${
id
}
&version=
${
version
}
`
,
()
=>
{},
()
=>
{}
);
}
});
},
deleteItem
(
item
)
{
//删除
MessageBox
.
confirm
(
'确定删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
customClass
:
'messageClass'
,
confirmButtonClass
:
'confirmClass'
,
type
:
'warning'
}).
then
(()
=>
{
const
params
=
{
ids
:
[
item
.
viewDetailsId
],
}
deleteArchiViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
get_list1
();
this
.
get_list2
();
this
.
get_list3
();
Message
({
type
:
'success'
,
message
:
'删除成功!'
,
});
}
else
{
Message
({
type
:
'error'
,
message
:
res
.
msg
});
}
})
}).
catch
(()
=>
{
Message
({
type
:
'info'
,
message
:
'已取消'
});
});
},
ok
()
{
//弹框点击确定
this
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
const
params
=
{
version
:
this
.
ruleForm
.
name
,
viewId
:
this
.
viewId
};
addArchiViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
add_dialog
=
false
;
this
.
get_list
();
Message
({
type
:
'success'
,
message
:
'新增成功!'
});
}
else
{
Message
({
type
:
'error'
,
message
:
res
.
msg
});
}
})
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
}
});
},
// 每页条数改变
handleSizeChange
(
val
,
status
)
{
switch
(
status
){
case
'已发布'
:
this
.
pager1
.
current
=
1
;
this
.
pager1
.
size
=
val
;
this
.
get_list1
();
break
;
case
'暂存'
:
this
.
pager2
.
current
=
1
;
this
.
pager2
.
size
=
val
;
this
.
get_list2
();
break
;
case
'停用'
:
this
.
pager3
.
current
=
1
;
this
.
pager3
.
size
=
val
;
this
.
get_list3
();
break
;
}
},
//当前页码改变
handleCurrentChange
(
val
,
status
)
{
switch
(
status
){
case
'已发布'
:
this
.
pager1
.
current
=
val
;
this
.
get_list1
();
break
;
case
'暂存'
:
this
.
pager2
.
current
=
val
;
this
.
get_list2
();
break
;
case
'停用'
:
this
.
pager3
.
current
=
val
;
this
.
get_list3
();
break
;
}
},
get_list1
(){
//获取已发布数据
const
params
=
{
current
:
this
.
pager1
.
current
,
pageSize
:
this
.
pager1
.
size
,
viewId
:
this
.
viewId
,
state
:
1
}
getArchiViewManageDetail
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
yiFaBu
=
res
.
data
.
records
;
this
.
pager1
.
current
=
res
.
data
.
current
;
this
.
pager1
.
total
=
res
.
data
.
total
;
}
})
},
get_list2
(){
//获取暂存数据
const
params
=
{
current
:
this
.
pager2
.
current
,
pageSize
:
this
.
pager2
.
size
,
viewId
:
this
.
viewId
,
state
:
2
}
getArchiViewManageDetail
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
zanCun
=
res
.
data
.
records
;
this
.
pager2
.
current
=
res
.
data
.
current
;
this
.
pager2
.
total
=
res
.
data
.
total
;
}
})
},
get_list3
(){
//获取停用数据
const
params
=
{
current
:
this
.
pager3
.
current
,
pageSize
:
this
.
pager3
.
size
,
viewId
:
this
.
viewId
,
state
:
0
}
getArchiViewManageDetail
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
tingYong
=
res
.
data
.
records
this
.
pager3
.
current
=
res
.
data
.
current
;
this
.
pager3
.
total
=
res
.
data
.
total
;
}
})
},
treeClick
(
data
)
{
//树点击的时候
if
(
!
data
.
subList
)
{
this
.
viewId
=
data
.
viewId
;
this
.
pager1
.
current
=
1
;
this
.
pager2
.
current
=
1
;
this
.
pager3
.
current
=
1
;
this
.
get_list1
();
this
.
get_list2
();
this
.
get_list3
();
}
else
{
this
.
viewId
=
null
;
}
},
getData
()
{
//获取树节点内容
const
params
=
{
}
getArchiViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
treeData
[
0
].
subList
=
res
.
data
;
}
})
}
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
lang=
"scss"
scoped
>
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
text-align
:
left
;
}
/
deep
/
.el-dialog__title
{
color
:
#fff
;
}
/
deep
/
.el-dialog__close
{
color
:
#fff
;
}
.el-form-item
{
display
:
flex
;
}
/
deep
/
.el-form-item__content
{
width
:
80%
;
}
.greenButton
{
background-color
:
#0D867F
;
color
:
#fff
;
}
.archiViewManage
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
.filter-tree{
width
:
300px
;
height
:
100%
;
overflow-y
:
auto
;
//
border
:
1px
solid
pink
;
}
.right_container
{
width
:
calc
(
100%
-
300px
);
height
:
100%
;
//
border
:
1px
solid
blue
;
.el-tabs{
height
:
100%
;
}
.el-tab-pane
{
height
:
100%
;
position
:
relative
;
}
.el-pagination
{
position
:
absolute
;
bottom
:
5%
;
left
:
35%
;
background-color
:
#fff
;
}
.card_container
{
overflow-x
:
hidden
;
height
:
100%
;
overflow-y
:
auto
;
text-align
:
left
;
.card_body{
height
:
2000px
;
.add_container{
width
:
350px
;
height
:
240px
;
margin
:
15px
;
background-color
:
#F2FFFE
;
cursor
:
pointer
;
float
:
left
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
i{
font-size
:
60px
;
}
}
.card_item
{
width
:
350px
;
height
:
240px
;
margin
:
15px
;
background-color
:
#F2FFFE
;
cursor
:
pointer
;
float
:
left
;
.card_image{
width
:
165px
;
height
:
127px
;
}
.card_info
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
30px
0
0
0
;
.card_icon{
cursor
:
pointer
;
}
}
}
}
}
/
deep
/
.el-tabs__content
{
height
:
calc
(
100%
-
38px
);
padding
:
0
;
}
.el-pagination
{
margin-top
:
15px
;
}
/
deep
/
.el-pagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
background-color
:
#0D867F
;
}
}
}
</
style
>
\ No newline at end of file
src/views/a
pplication-a
rchi-view-manage/table/index.vue
→
src/views/archi-view-manage/table/index.vue
View file @
cd72f56
...
@@ -3,12 +3,10 @@
...
@@ -3,12 +3,10 @@
<div
class=
"table_container"
>
<div
class=
"table_container"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sourceId"
label=
"元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"elementType"
label=
"元素类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"source"
label=
"元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"elementEncoding"
label=
"元素编码"
align=
"center"
></el-table-column>
<el-table-column
prop=
"target"
label=
"关联关系名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"upstreamElements"
label=
"上游元素"
align=
"center"
></el-table-column>
<el-table-column
prop=
"targetId"
label=
"关联元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"relationship"
label=
"关系"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkName"
label=
"关联元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkNameDesc"
label=
"关联关系描述"
align=
"center"
></el-table-column>
</el-table>
</el-table>
</div>
</div>
</div>
</div>
...
@@ -16,7 +14,7 @@
...
@@ -16,7 +14,7 @@
<
script
>
<
script
>
import
{
import
{
,
getArchiViewManageTable
}
from
'@/api/index.js'
;
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
export
default
{
...
@@ -28,15 +26,25 @@ export default {
...
@@ -28,15 +26,25 @@ export default {
return
{
return
{
tableData
:
[],
tableData
:
[],
loading
:
false
,
loading
:
false
,
routerId
:
null
};
};
},
},
mounted
(){
mounted
(){
this
.
routerId
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
0
];
},
},
methods
:
{
methods
:
{
get_table
()
{
get_table
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
const
params
=
{
viewDetailsId
:
this
.
routerId
}
getArchiViewManageTable
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
data
;
}
})
}
}
}
}
}
}
...
...
src/views/business-archi-view-manage/canvas/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"canvas"
>
<!--
<Drawio
:initGraphId=
"routerId"
></Drawio>
-->
</div>
</
template
>
<
script
>
import
Drawio
from
'@/components/drawio.vue'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
}
from
'@/api/index.js'
;
export
default
{
name
:
'Canvas'
,
components
:
{
Drawio
},
data
()
{
return
{
routerId
:
null
};
},
mounted
(){
},
methods
:
{
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
.canvas
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/views/business-archi-view-manage/details.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"Details"
>
<el-tabs
type=
"border-card"
@
tab-click=
"tabs_click_func"
>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-picture"
></i>
</span>
<YuanMoXingGuanLiCanvas
ref=
"canvasComponent"
></YuanMoXingGuanLiCanvas>
</el-tab-pane>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-s-grid"
></i>
</span>
<YuanMoXingGuanLiTable
ref=
"tableComponent"
></YuanMoXingGuanLiTable>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
YuanMoXingGuanLiCanvas
from
'./canvas/index.vue'
;
import
YuanMoXingGuanLiTable
from
'./table/index.vue'
;
export
default
{
name
:
'Details'
,
components
:
{
YuanMoXingGuanLiCanvas
,
YuanMoXingGuanLiTable
},
data
()
{
return
{
};
},
mounted
(){
},
methods
:
{
tabs_click_func
(
data
)
{
if
(
data
.
index
==
'0'
)
{
console
.
log
(
'画布页面'
)
}
else
{
console
.
log
(
'表格页面'
)
this
.
$refs
.
tableComponent
.
get_table
();
}
}
}
}
</
script
>
<
style
scoped
>
.Details
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
}
/
deep
/
.el-tabs__nav
{
float
:
right
;
}
.el-tabs
{
height
:
100%
;
}
/
deep
/
.el-tabs__content
{
height
:
calc
(
100%
-
38px
);
padding
:
0
;
}
.el-tab-pane
{
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/business-archi-view-manage/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"businessArchiViewManage"
>
<el-tabs
v-model=
"activeId"
@
tab-click=
"handleClick"
>
<el-tab-pane
v-for=
"item in tabData"
:key=
"item.viewTypeId"
:label=
"item.viewTypeName"
:name=
"item.viewTypeId"
>
用户管理
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
{
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
import
GraphGallery
from
'@/components/graphGallery.vue'
;
export
default
{
name
:
'BusinessArchiViewManage'
,
components
:
{
GraphGallery
},
data
()
{
return
{
activeId
:
null
,
tabData
:
[]
};
},
mounted
(){
this
.
getData
();
},
methods
:
{
handleClick
(
tab
,
event
)
{
console
.
log
(
tab
);
},
getData
()
{
const
params
=
{
"parentId"
:
1
}
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
res
.
data
.
map
(
item
=>
{
item
.
viewTypeId
=
''
+
item
.
viewTypeId
;
})
this
.
activeId
=
res
.
data
[
0
].
viewTypeId
;
this
.
tabData
=
res
.
data
;
}
})
}
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
/
deep
/
.el-tabs__item
:hover
{
color
:
#0D867F
;
}
/
deep
/
.el-tabs__active-bar
{
background-color
:
#0D867F
;
}
/
deep
/
.el-tabs__item.is-active
{
color
:
#0D867F
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
text-align
:
left
;
}
/
deep
/
.el-dialog__title
{
color
:
#fff
;
}
/
deep
/
.el-dialog__close
{
color
:
#fff
;
}
.businessArchiViewManage
{
width
:
100%
;
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/business-archi-view-manage/table/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"table"
>
<div
class=
"table_container"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sourceId"
label=
"元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"source"
label=
"元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"target"
label=
"关联关系名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"targetId"
label=
"关联元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkName"
label=
"关联元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkNameDesc"
label=
"关联关系描述"
align=
"center"
></el-table-column>
</el-table>
</div>
</div>
</
template
>
<
script
>
import
{
,
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
name
:
'Table'
,
components
:
{
},
data
()
{
return
{
tableData
:
[],
loading
:
false
,
};
},
mounted
(){
},
methods
:
{
get_table
()
{
this
.
loading
=
true
;
}
}
}
</
script
>
<
style
scoped
>
.table
{
width
:
100%
;
height
:
100%
;
}
.table_container
{
margin-top
:
20px
;
}
/
deep
/
.el-dialog__header
{
text-align
:
left
;
}
</
style
>
\ No newline at end of file
src/views/data-archi-view-manage/canvas/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"canvas"
>
<!--
<Drawio
:initGraphId=
"routerId"
></Drawio>
-->
</div>
</
template
>
<
script
>
import
Drawio
from
'@/components/drawio.vue'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
}
from
'@/api/index.js'
;
export
default
{
name
:
'Canvas'
,
components
:
{
Drawio
},
data
()
{
return
{
routerId
:
null
};
},
mounted
(){
},
methods
:
{
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
.canvas
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/views/data-archi-view-manage/details.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"Details"
>
<el-tabs
type=
"border-card"
@
tab-click=
"tabs_click_func"
>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-picture"
></i>
</span>
<YuanMoXingGuanLiCanvas
ref=
"canvasComponent"
></YuanMoXingGuanLiCanvas>
</el-tab-pane>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-s-grid"
></i>
</span>
<YuanMoXingGuanLiTable
ref=
"tableComponent"
></YuanMoXingGuanLiTable>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
YuanMoXingGuanLiCanvas
from
'./canvas/index.vue'
;
import
YuanMoXingGuanLiTable
from
'./table/index.vue'
;
export
default
{
name
:
'Details'
,
components
:
{
YuanMoXingGuanLiCanvas
,
YuanMoXingGuanLiTable
},
data
()
{
return
{
};
},
mounted
(){
},
methods
:
{
tabs_click_func
(
data
)
{
if
(
data
.
index
==
'0'
)
{
console
.
log
(
'画布页面'
)
}
else
{
console
.
log
(
'表格页面'
)
this
.
$refs
.
tableComponent
.
get_table
();
}
}
}
}
</
script
>
<
style
scoped
>
.Details
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
}
/
deep
/
.el-tabs__nav
{
float
:
right
;
}
.el-tabs
{
height
:
100%
;
}
/
deep
/
.el-tabs__content
{
height
:
calc
(
100%
-
38px
);
padding
:
0
;
}
.el-tab-pane
{
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/data-archi-view-manage/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"dataArchiViewManage"
>
<el-tabs
v-model=
"activeId"
@
tab-click=
"handleClick"
>
<el-tab-pane
v-for=
"item in tabData"
:key=
"item.viewTypeId"
:label=
"item.viewTypeName"
:name=
"item.viewTypeId"
>
用户管理
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
{
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
import
GraphGallery
from
'@/components/graphGallery.vue'
;
export
default
{
name
:
'DataArchiViewManage'
,
components
:
{
GraphGallery
},
data
()
{
return
{
activeId
:
null
,
tabData
:
[]
};
},
mounted
(){
this
.
getData
();
},
methods
:
{
handleClick
(
tab
,
event
)
{
console
.
log
(
tab
);
},
getData
()
{
const
params
=
{
"parentId"
:
3
}
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
res
.
data
.
map
(
item
=>
{
item
.
viewTypeId
=
''
+
item
.
viewTypeId
;
})
this
.
activeId
=
res
.
data
[
0
].
viewTypeId
;
this
.
tabData
=
res
.
data
;
}
})
}
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
/
deep
/
.el-tabs__item
:hover
{
color
:
#0D867F
;
}
/
deep
/
.el-tabs__active-bar
{
background-color
:
#0D867F
;
}
/
deep
/
.el-tabs__item.is-active
{
color
:
#0D867F
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
text-align
:
left
;
}
/
deep
/
.el-dialog__title
{
color
:
#fff
;
}
/
deep
/
.el-dialog__close
{
color
:
#fff
;
}
.dataArchiViewManage
{
width
:
100%
;
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/data-archi-view-manage/table/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"table"
>
<div
class=
"table_container"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sourceId"
label=
"元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"source"
label=
"元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"target"
label=
"关联关系名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"targetId"
label=
"关联元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkName"
label=
"关联元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkNameDesc"
label=
"关联关系描述"
align=
"center"
></el-table-column>
</el-table>
</div>
</div>
</
template
>
<
script
>
import
{
,
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
name
:
'Table'
,
components
:
{
},
data
()
{
return
{
tableData
:
[],
loading
:
false
,
};
},
mounted
(){
},
methods
:
{
get_table
()
{
this
.
loading
=
true
;
}
}
}
</
script
>
<
style
scoped
>
.table
{
width
:
100%
;
height
:
100%
;
}
.table_container
{
margin-top
:
20px
;
}
/
deep
/
.el-dialog__header
{
text-align
:
left
;
}
</
style
>
\ No newline at end of file
src/views/meta-model-list/canvas/index.vue
View file @
cd72f56
...
@@ -24,11 +24,9 @@
...
@@ -24,11 +24,9 @@
mounted
(){
mounted
(){
const
id
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
0
];
const
id
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
0
];
const
version
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
1
].
split
(
"="
)[
1
];
const
version
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
1
].
split
(
"="
)[
1
];
const
state
=
window
.
location
.
href
.
split
(
"id="
)[
1
].
split
(
"&"
)[
2
].
split
(
"="
)[
1
];
//
const state = window.location.href.split("id=")[1].split("&")[2].split("=")[1];
this
.
routerId
=
{
this
.
routerId
=
{
id
,
id
,
version
,
state
}
}
window
.
addEventListener
(
"message"
,
event
=>
{
//会一直调用
window
.
addEventListener
(
"message"
,
event
=>
{
//会一直调用
...
@@ -64,7 +62,6 @@
...
@@ -64,7 +62,6 @@
message
:
'已取消'
message
:
'已取消'
});
});
});
});
}
}
}
}
});
});
...
@@ -85,7 +82,7 @@
...
@@ -85,7 +82,7 @@
}
else
{
}
else
{
Message
({
Message
({
type
:
'error'
,
type
:
'error'
,
message
:
'保存失败!'
message
:
res
.
msg
});
});
}
}
})
})
...
@@ -105,7 +102,7 @@
...
@@ -105,7 +102,7 @@
}
else
{
}
else
{
Message
({
Message
({
type
:
'error'
,
type
:
'error'
,
message
:
'版本发布失败!'
message
:
res
.
msg
});
});
}
}
})
})
...
...
src/views/meta-model-list/index.vue
View file @
cd72f56
...
@@ -16,57 +16,69 @@
...
@@ -16,57 +16,69 @@
<p>
版本分析
</p>
<p>
版本分析
</p>
</div>
</div>
</div>
</div>
<!--
<div
class=
"version_container"
>
<el-tabs
v-model=
"activeName"
type=
"border-card"
@
tab-click=
"tabs_click_func"
>
<div
class=
"version_content"
>
<el-tab-pane
label=
"已发布"
name=
"已发布"
>
<div
class=
"line_title_container"
>
<div
class=
"title_container"
>
<el-divider
direction=
"vertical"
></el-divider>
<span>
已发布
</span>
</div>
<el-divider></el-divider>
</div>
<div
class=
"card_container"
>
<div
class=
"card_container"
>
<el-card
class=
"card_item"
v-for=
"item in yi_fa_bu"
:key=
"item.metaModelId"
>
<div
class=
"card_body"
>
<img
class=
"card_image"
@
click=
"to_current_details(item)"
:src=
"item.metaModelSvg_"
alt=
""
/>
<el-card
class=
"card_item"
v-for=
"item in yi_fa_bu"
:key=
"item.metaModelId"
>
<div
class=
"card_info"
>
<img
class=
"card_image"
@
click=
"to_current_details(item)"
:src=
"item.metaModelSvg_"
alt=
""
/>
<div
class=
"card_title"
>
<div
class=
"card_info"
>
<i
class=
"el-icon-location"
></i>
<div
class=
"card_title"
>
{{
item
.
verName
}}
{{
item
.
version
}}
<i
class=
"el-icon-location"
></i>
{{
item
.
verName
}}
{{
item
.
version
}}
</div>
<div
class=
"card_icon"
@
click
.
stop=
"deleteItem(item)"
>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</div>
<div
class=
"card_icon"
@
click
.
stop=
"deleteItem(item)"
>
</el-card>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-card>
</div>
<div
class=
"line_title_container"
>
<div
class=
"title_container"
>
<el-divider
direction=
"vertical"
></el-divider>
<span>
暂存
</span>
</div>
</div>
<el-divider></el-divider>
</div>
</div>
<el-pagination
background
@
size-change=
"val => handleSizeChange(val, '已发布')"
@
current-change=
"val => handleCurrentChange(val, '已发布')"
:current-page=
"pager1.current"
:page-sizes=
"pager1.sizes"
:page-size=
"pager1.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"pager1.total"
>
</el-pagination>
</el-tab-pane>
<el-tab-pane
label=
"暂存"
name=
"暂存"
>
<div
class=
"card_container"
>
<div
class=
"card_container"
>
<el-card
class=
"card_item"
v-for=
"item in zan_cun"
:key=
"item.metaModelId"
>
<div
class=
"card_body"
>
<img
class=
"card_image"
@
click=
"to_current_details(item)"
:src=
"item.metaModelSvg_"
alt=
""
/>
<el-card
class=
"card_item"
v-for=
"item in zan_cun"
:key=
"item.metaModelId"
>
<div
class=
"card_info"
>
<img
class=
"card_image"
@
click=
"to_current_details(item)"
:src=
"item.metaModelSvg_"
alt=
""
/>
<div
class=
"card_title"
>
<div
class=
"card_info"
>
<i
class=
"el-icon-location"
></i>
<div
class=
"card_title"
>
{{
item
.
verName
}}
{{
item
.
version
}}
<i
class=
"el-icon-location"
></i>
{{
item
.
verName
}}
{{
item
.
version
}}
</div>
<div
class=
"card_icon"
@
click
.
stop=
"deleteItem(item)"
>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</div>
<div
class=
"card_icon"
@
click
.
stop=
"deleteItem(item)"
>
</el-card>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</div>
</el-card>
</div>
</div>
</div>
<el-pagination
</div>
-->
background
<GraphGallery
@
size-change=
"val => handleSizeChange(val, '暂存')"
@
current-change=
"val => handleCurrentChange(val, '暂存')"
:current-page=
"pager2.current"
:page-sizes=
"pager2.sizes"
:page-size=
"pager2.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"pager2.total"
>
</el-pagination>
</el-tab-pane>
</el-tabs>
<!--
<GraphGallery
:yiFaBu=
"yi_fa_bu"
:yiFaBu=
"yi_fa_bu"
:zanCun=
"zan_cun"
:zanCun=
"zan_cun"
@
imgClick=
"to_current_details"
@
imgClick=
"to_current_details"
@
deleteClick=
"deleteItem"
/>
@
deleteClick=
"deleteItem"
/>
-->
<el-dialog
<el-dialog
title=
"新建元模型视图"
title=
"新建元模型视图"
:visible
.
sync=
"add_dialog"
:visible
.
sync=
"add_dialog"
...
@@ -91,16 +103,16 @@
...
@@ -91,16 +103,16 @@
import
{
import
{
add_yuan_mo_xing
,
add_yuan_mo_xing
,
get_yuan_mo_xing_list
,
get_yuan_mo_xing_list
,
delete_yuan_mo_xing_list
delete_yuan_mo_xing_list
,
query_yuan_mo_xing_details
}
from
'@/api/index.js'
;
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
import
$
from
'jquery'
;
import
GraphGallery
from
'@/components/graphGallery.vue'
;
export
default
{
export
default
{
name
:
'metaModelList'
,
name
:
'metaModelList'
,
components
:
{
components
:
{
GraphGallery
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -116,14 +128,34 @@ export default {
...
@@ -116,14 +128,34 @@ export default {
},
},
yi_fa_bu
:
[],
yi_fa_bu
:
[],
zan_cun
:
[],
zan_cun
:
[],
activeName
:
'已发布'
,
pager1
:
{
current
:
1
,
sizes
:
[
10
,
20
,
50
,
100
,
200
],
size
:
10
,
total
:
0
//总条数
},
pager2
:
{
current
:
1
,
sizes
:
[
10
,
20
,
50
,
100
,
200
],
size
:
10
,
total
:
0
//总条数
},
};
};
},
},
mounted
(){
mounted
(){
this
.
get_list
();
this
.
get_list1
();
this
.
get_list2
();
},
},
methods
:
{
methods
:
{
tabs_click_func
(
data
)
{
},
search_list
()
{
//搜索
search_list
()
{
//搜索
this
.
get_list
();
this
.
pager1
.
current
=
1
;
this
.
pager2
.
current
=
1
;
this
.
get_list1
();
this
.
get_list2
();
},
},
deleteItem
(
item
)
{
//删除
deleteItem
(
item
)
{
//删除
MessageBox
.
confirm
(
'确定删除?'
,
'提示'
,
{
MessageBox
.
confirm
(
'确定删除?'
,
'提示'
,
{
...
@@ -139,7 +171,8 @@ export default {
...
@@ -139,7 +171,8 @@ export default {
}
}
delete_yuan_mo_xing_list
(
params
).
then
(
res
=>
{
delete_yuan_mo_xing_list
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
get_list
();
this
.
get_list1
();
this
.
get_list2
();
Message
({
Message
({
type
:
'success'
,
type
:
'success'
,
message
:
'删除成功!'
,
message
:
'删除成功!'
,
...
@@ -158,27 +191,61 @@ export default {
...
@@ -158,27 +191,61 @@ export default {
});
});
});
});
},
},
get_list
()
{
//查询列表
// 每页条数改变
handleSizeChange
(
val
,
status
)
{
if
(
status
==
'已发布'
)
{
this
.
pager1
.
current
=
1
;
this
.
pager1
.
size
=
val
;
this
.
get_list1
();
}
else
{
this
.
pager2
.
current
=
1
;
this
.
pager2
.
size
=
val
;
this
.
get_list2
();
}
},
//当前页码改变
handleCurrentChange
(
val
,
status
)
{
if
(
status
==
'已发布'
)
{
this
.
pager1
.
current
=
val
;
this
.
get_list1
();
}
else
{
this
.
pager2
.
current
=
val
;
this
.
get_list2
();
}
},
get_list1
()
{
//查询已发布列表
const
params
=
{
const
params
=
{
verName
:
this
.
query_item1
verName
:
this
.
query_item1
,
current
:
this
.
pager1
.
current
,
pageSize
:
this
.
pager1
.
size
,
state
:
1
}
}
get_yuan_mo_xing_list
(
params
).
then
(
res
=>
{
get_yuan_mo_xing_list
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
res
.
data
.
records
.
map
(
item
=>
{
res
.
data
.
records
.
map
(
item
=>
{
item
[
'metaModelSvg_'
]
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
item
[
'metaModelSvg_'
]
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
});
});
this
.
yi_fa_bu
=
res
.
data
.
records
.
filter
(
item
=>
item
.
state
==
1
);
this
.
pager1
.
current
=
res
.
data
.
current
;
this
.
zan_cun
=
res
.
data
.
records
.
filter
(
item
=>
item
.
state
==
2
);
this
.
pager1
.
total
=
res
.
data
.
total
;
this
.
yi_fa_bu
=
res
.
data
.
records
;
// Message({
}
// type: 'success',
})
// message: '版本发布成功!'
},
// });
get_list2
()
{
//查询已发布列表
}
else
{
const
params
=
{
// Message({
verName
:
this
.
query_item1
,
// type: 'error',
current
:
this
.
pager2
.
current
,
// message: '版本发布失败!'
pageSize
:
this
.
pager2
.
size
,
// });
state
:
2
}
get_yuan_mo_xing_list
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
res
.
data
.
records
.
map
(
item
=>
{
item
[
'metaModelSvg_'
]
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
});
this
.
pager2
.
current
=
res
.
data
.
current
;
this
.
pager2
.
total
=
res
.
data
.
total
;
this
.
zan_cun
=
res
.
data
.
records
;
}
}
})
})
},
},
...
@@ -211,7 +278,18 @@ export default {
...
@@ -211,7 +278,18 @@ export default {
});
});
},
},
to_current_details
(
item
)
{
//跳转到详情
to_current_details
(
item
)
{
//跳转到详情
this
.
$router
.
push
(
`/main/metaModelListDetails/id=
${
item
.
metaModelId
}
&version=
${
item
.
version
}
&state=
${
item
.
state
}
`
,
()
=>
{},
()
=>
{}
);
const
params
=
{
metaModelId
:
item
.
metaModelId
}
query_yuan_mo_xing_details
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
const
xmlData
=
res
.
data
.
metaModelData
;
const
xmlTitle
=
res
.
data
.
verName
;
localStorage
.
setItem
(
'xmlData'
,
xmlData
);
localStorage
.
setItem
(
'xmlTitle'
,
xmlTitle
);
this
.
$router
.
push
(
`/main/metaModelListDetails/id=
${
item
.
metaModelId
}
&version=
${
item
.
version
}
`
,
()
=>
{},
()
=>
{}
);
}
});
},
},
handleCommand
(
command
)
{
//新建按钮点击
handleCommand
(
command
)
{
//新建按钮点击
if
(
command
==
'自由绘图'
)
{
if
(
command
==
'自由绘图'
)
{
...
@@ -244,6 +322,38 @@ export default {
...
@@ -244,6 +322,38 @@ export default {
.version_content
{
.version_content
{
height
:
1500px
;
height
:
1500px
;
}
}
.el-pagination
{
margin-top
:
15px
;
position
:
absolute
;
bottom
:
5%
;
left
:
35%
;
background-color
:
#fff
;
}
/
deep
/
.el-pagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
background-color
:
#0D867F
;
}
.el-tabs
{
height
:
calc
(
100%
-
70px
);
}
.el-tab-pane
{
height
:
100%
;
position
:
relative
;
}
/
deep
/
.el-tabs__content
{
height
:
calc
(
100%
-
38px
);
padding
:
0
;
}
.card_container
{
overflow-x
:
hidden
;
height
:
100%
;
overflow-y
:
auto
;
text-align
:
left
;
}
.card_body
{
height
:
2000px
;
display
:
inline-block
;
text-align
:
left
;
}
.el-form-item
{
.el-form-item
{
display
:
flex
;
display
:
flex
;
}
}
...
@@ -330,10 +440,4 @@ export default {
...
@@ -330,10 +440,4 @@ export default {
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
}
}
.card_container
{
margin-bottom
:
10px
;
overflow-x
:
hidden
;
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
</
style
>
\ No newline at end of file
src/views/meta-model-list/table/index.vue
View file @
cd72f56
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
<div
class=
"table"
>
<div
class=
"table"
>
<div
class=
"table_container"
>
<div
class=
"table_container"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<!--
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
-->
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sourceId"
label=
"元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sourceId"
label=
"元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"source"
label=
"元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"source"
label=
"元素名称"
align=
"center"
></el-table-column>
...
@@ -10,67 +9,8 @@
...
@@ -10,67 +9,8 @@
<el-table-column
prop=
"targetId"
label=
"关联元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"targetId"
label=
"关联元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkName"
label=
"关联元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkName"
label=
"关联元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkNameDesc"
label=
"关联关系描述"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkNameDesc"
label=
"关联关系描述"
align=
"center"
></el-table-column>
<!--
<el-table-column
prop=
"direction"
label=
"方向"
align=
"center"
></el-table-column>
-->
<!--
<el-table-column
label=
"操作"
align=
"center"
>
<template>
<div
style=
"display: flex;align-items: center;justify-content: center;"
>
<div
class=
"add_btn"
@
click=
"add_dialog = true"
style=
"border: 0;margin-right: 8px;"
>
<p>
编辑
</p>
</div>
<div
class=
"reset_btn"
style=
"border: 0;margin-right: 8px;"
>
<p>
停用
</p>
</div>
<div
class=
"add_btn"
style=
"border: 0;margin-right: 8px;"
>
<p>
发布
</p>
</div>
<div
class=
"reset_btn"
style=
"border: 0;"
>
<p>
删除
</p>
</div>
</div>
</
template
>
</el-table-column>
-->
</el-table>
</el-table>
</div>
</div>
<el-dialog
title=
"新建元素"
:visible
.
sync=
"add_dialog"
:center=
"false"
width=
"40%"
>
<div
class=
"add_dialog_content"
>
<div
class=
"dialog_form_item"
>
<div
class=
"dialog_form_item_title"
>
元素名称
</div>
<el-input
placeholder=
"请输入内容"
class=
"dialog_form_item_content"
v-model=
"let1"
></el-input>
</div>
<div
class=
"dialog_form_item"
>
<div
class=
"dialog_form_item_title"
>
架构层次
</div>
<el-input
placeholder=
"请输入内容"
class=
"dialog_form_item_content"
v-model=
"let2"
></el-input>
</div>
<div
class=
"dialog_form_item"
>
<div
class=
"dialog_form_item_title"
>
架构归属
</div>
<el-select
placeholder=
"请选择"
class=
"search_item"
v-model=
"let3"
>
<el-option
label=
"业务架构"
value=
"业务架构"
></el-option>
<el-option
label=
"应用架构"
value=
"应用架构"
></el-option>
<el-option
label=
"内容架构"
value=
"内容架构"
></el-option>
<el-option
label=
"技术架构"
value=
"技术架构"
></el-option>
<el-option
label=
"安全架构"
value=
"安全架构"
></el-option>
</el-select>
</div>
<div
class=
"dialog_form_item"
>
<div
class=
"dialog_form_item_title"
>
描述
</div>
<el-input
type=
"textarea"
:rows=
"2"
placeholder=
"请输入内容"
class=
"dialog_form_item_content"
v-model=
"let4"
></el-input>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"add_dialog = false"
>
发布
</el-button>
<el-button
type=
"primary"
@
click=
"add_dialog = false"
>
暂存
</el-button>
<el-button
@
click=
"add_dialog = false"
>
取消
</el-button>
</span>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
...
@@ -87,11 +27,6 @@ export default {
...
@@ -87,11 +27,6 @@ export default {
data
()
{
data
()
{
return
{
return
{
tableData
:
[],
tableData
:
[],
add_dialog
:
false
,
let1
:
''
,
let2
:
''
,
let3
:
''
,
let4
:
''
,
loading
:
false
,
loading
:
false
,
routerId
:
null
routerId
:
null
};
};
...
...
src/views/secure-archi-view-manage/canvas/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"canvas"
>
<!--
<Drawio
:initGraphId=
"routerId"
></Drawio>
-->
</div>
</
template
>
<
script
>
import
Drawio
from
'@/components/drawio.vue'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
}
from
'@/api/index.js'
;
export
default
{
name
:
'Canvas'
,
components
:
{
Drawio
},
data
()
{
return
{
routerId
:
null
};
},
mounted
(){
},
methods
:
{
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
.canvas
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/views/secure-archi-view-manage/details.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"Details"
>
<el-tabs
type=
"border-card"
@
tab-click=
"tabs_click_func"
>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-picture"
></i>
</span>
<YuanMoXingGuanLiCanvas
ref=
"canvasComponent"
></YuanMoXingGuanLiCanvas>
</el-tab-pane>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-s-grid"
></i>
</span>
<YuanMoXingGuanLiTable
ref=
"tableComponent"
></YuanMoXingGuanLiTable>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
YuanMoXingGuanLiCanvas
from
'./canvas/index.vue'
;
import
YuanMoXingGuanLiTable
from
'./table/index.vue'
;
export
default
{
name
:
'Details'
,
components
:
{
YuanMoXingGuanLiCanvas
,
YuanMoXingGuanLiTable
},
data
()
{
return
{
};
},
mounted
(){
},
methods
:
{
tabs_click_func
(
data
)
{
if
(
data
.
index
==
'0'
)
{
console
.
log
(
'画布页面'
)
}
else
{
console
.
log
(
'表格页面'
)
this
.
$refs
.
tableComponent
.
get_table
();
}
}
}
}
</
script
>
<
style
scoped
>
.Details
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
}
/
deep
/
.el-tabs__nav
{
float
:
right
;
}
.el-tabs
{
height
:
100%
;
}
/
deep
/
.el-tabs__content
{
height
:
calc
(
100%
-
38px
);
padding
:
0
;
}
.el-tab-pane
{
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/secure-archi-view-manage/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"secureArchiViewManage"
>
<el-tabs
v-model=
"activeId"
>
<el-tab-pane
v-for=
"item in tabData"
:key=
"item.viewTypeId"
:label=
"item.viewTypeName"
:name=
"item.viewTypeId"
>
用户管理
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
{
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
import
GraphGallery
from
'@/components/graphGallery.vue'
;
export
default
{
name
:
'SecureArchiViewManage'
,
components
:
{
GraphGallery
},
data
()
{
return
{
activeId
:
null
,
tabData
:
[]
};
},
mounted
(){
this
.
getData
();
},
methods
:
{
getData
()
{
const
params
=
{
"parentId"
:
5
}
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
res
.
data
.
map
(
item
=>
{
item
.
viewTypeId
=
''
+
item
.
viewTypeId
;
})
this
.
activeId
=
res
.
data
[
0
].
viewTypeId
;
this
.
tabData
=
res
.
data
;
}
})
}
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
/
deep
/
.el-tabs__item
:hover
{
color
:
#0D867F
;
}
/
deep
/
.el-tabs__active-bar
{
background-color
:
#0D867F
;
}
/
deep
/
.el-tabs__item.is-active
{
color
:
#0D867F
;
}
/
deep
/
.el-form-item__content
{
width
:
80%
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
text-align
:
left
;
}
/
deep
/
.el-dialog__title
{
color
:
#fff
;
}
/
deep
/
.el-dialog__close
{
color
:
#fff
;
}
.secureArchiViewManage
{
width
:
100%
;
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/secure-archi-view-manage/table/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"table"
>
<div
class=
"table_container"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sourceId"
label=
"元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"source"
label=
"元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"target"
label=
"关联关系名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"targetId"
label=
"关联元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkName"
label=
"关联元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkNameDesc"
label=
"关联关系描述"
align=
"center"
></el-table-column>
</el-table>
</div>
</div>
</
template
>
<
script
>
import
{
,
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
name
:
'Table'
,
components
:
{
},
data
()
{
return
{
tableData
:
[],
loading
:
false
,
};
},
mounted
(){
},
methods
:
{
get_table
()
{
this
.
loading
=
true
;
}
}
}
</
script
>
<
style
scoped
>
.table
{
width
:
100%
;
height
:
100%
;
}
.table_container
{
margin-top
:
20px
;
}
/
deep
/
.el-dialog__header
{
text-align
:
left
;
}
</
style
>
\ No newline at end of file
src/views/tech-archi-view-manage/canvas/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"canvas"
>
<!--
<Drawio
:initGraphId=
"routerId"
></Drawio>
-->
</div>
</
template
>
<
script
>
import
Drawio
from
'@/components/drawio.vue'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
}
from
'@/api/index.js'
;
export
default
{
name
:
'Canvas'
,
components
:
{
Drawio
},
data
()
{
return
{
routerId
:
null
};
},
mounted
(){
},
methods
:
{
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
.canvas
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/views/tech-archi-view-manage/details.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"Details"
>
<el-tabs
type=
"border-card"
@
tab-click=
"tabs_click_func"
>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-picture"
></i>
</span>
<YuanMoXingGuanLiCanvas
ref=
"canvasComponent"
></YuanMoXingGuanLiCanvas>
</el-tab-pane>
<el-tab-pane>
<span
slot=
"label"
>
<i
class=
"el-icon-s-grid"
></i>
</span>
<YuanMoXingGuanLiTable
ref=
"tableComponent"
></YuanMoXingGuanLiTable>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
YuanMoXingGuanLiCanvas
from
'./canvas/index.vue'
;
import
YuanMoXingGuanLiTable
from
'./table/index.vue'
;
export
default
{
name
:
'Details'
,
components
:
{
YuanMoXingGuanLiCanvas
,
YuanMoXingGuanLiTable
},
data
()
{
return
{
};
},
mounted
(){
},
methods
:
{
tabs_click_func
(
data
)
{
if
(
data
.
index
==
'0'
)
{
console
.
log
(
'画布页面'
)
}
else
{
console
.
log
(
'表格页面'
)
this
.
$refs
.
tableComponent
.
get_table
();
}
}
}
}
</
script
>
<
style
scoped
>
.Details
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
}
/
deep
/
.el-tabs__nav
{
float
:
right
;
}
.el-tabs
{
height
:
100%
;
}
/
deep
/
.el-tabs__content
{
height
:
calc
(
100%
-
38px
);
padding
:
0
;
}
.el-tab-pane
{
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/tech-archi-view-manage/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"techArchiViewManage"
>
<el-tabs
v-model=
"activeId"
>
<el-tab-pane
v-for=
"item in tabData"
:key=
"item.viewTypeId"
:label=
"item.viewTypeName"
:name=
"item.viewTypeId"
>
用户管理
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
{
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
import
GraphGallery
from
'@/components/graphGallery.vue'
;
export
default
{
name
:
'TechArchiViewManage'
,
components
:
{
GraphGallery
},
data
()
{
return
{
activeId
:
null
,
tabData
:
[]
};
},
mounted
(){
this
.
getData
();
},
methods
:
{
getData
()
{
const
params
=
{
"parentId"
:
4
}
get_YeWu_YingYong_ShuJu_JiShu_AnQuan_ViewManage
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
res
.
data
.
map
(
item
=>
{
item
.
viewTypeId
=
''
+
item
.
viewTypeId
;
})
this
.
activeId
=
res
.
data
[
0
].
viewTypeId
;
this
.
tabData
=
res
.
data
;
}
})
}
}
}
</
script
>
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
/
deep
/
.el-tabs__item
:hover
{
color
:
#0D867F
;
}
/
deep
/
.el-tabs__active-bar
{
background-color
:
#0D867F
;
}
/
deep
/
.el-tabs__item.is-active
{
color
:
#0D867F
;
}
/
deep
/
.el-form-item__content
{
width
:
80%
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
text-align
:
left
;
}
/
deep
/
.el-dialog__title
{
color
:
#fff
;
}
/
deep
/
.el-dialog__close
{
color
:
#fff
;
}
.techArchiViewManage
{
width
:
100%
;
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/tech-archi-view-manage/table/index.vue
deleted
100644 → 0
View file @
d682231
<
template
>
<div
class=
"table"
>
<div
class=
"table_container"
>
<el-table
v-loading=
"loading"
:data=
"tableData"
stripe
border
height=
"500"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sourceId"
label=
"元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"source"
label=
"元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"target"
label=
"关联关系名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"targetId"
label=
"关联元素id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkName"
label=
"关联元素名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"linkNameDesc"
label=
"关联关系描述"
align=
"center"
></el-table-column>
</el-table>
</div>
</div>
</
template
>
<
script
>
import
{
,
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
name
:
'Table'
,
components
:
{
},
data
()
{
return
{
tableData
:
[],
loading
:
false
,
};
},
mounted
(){
},
methods
:
{
get_table
()
{
this
.
loading
=
true
;
}
}
}
</
script
>
<
style
scoped
>
.table
{
width
:
100%
;
height
:
100%
;
}
.table_container
{
margin-top
:
20px
;
}
/
deep
/
.el-dialog__header
{
text-align
:
left
;
}
</
style
>
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
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 post a comment