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 f6a44d29
authored
Mar 15, 2024
by
liuyong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改bug
1 parent
14e21fd0
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
432 additions
and
85 deletions
public/drawio/extention/js/exApp.js
src/views/archi-ele-list/index.vue
src/views/projectInfoManage/index.vue
src/views/reviewArchiFollowCheck/tab1.vue
src/views/reviewArchiFollowCheck/tab2.vue
src/views/reviewArchiFollowCheck/tab3.vue
src/views/reviewArchiFollowCheck/tab4.vue
src/views/reviewArchiFollowCheck/tab5.vue
public/drawio/extention/js/exApp.js
View file @
f6a44d2
...
@@ -123,7 +123,7 @@ const setIcon = function (itemIcon, dicys, color) {
...
@@ -123,7 +123,7 @@ const setIcon = function (itemIcon, dicys, color) {
}
}
// const svg = '<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><path d="M 2.48 27.98 L 28.99 1.48" fill="none" stroke="white" stroke-width="9.3" stroke-miterlimit="10" visibility="hidden" style="pointer-events: none;"></path><path d="M 2.48 27.98 L 28.99 1.48" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.3" stroke-miterlimit="10" stroke-dasharray="1.59 1.59" style="pointer-events: none;"></path></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>';
// const svg = '<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><path d="M 2.48 27.98 L 28.99 1.48" fill="none" stroke="white" stroke-width="9.3" stroke-miterlimit="10" visibility="hidden" style="pointer-events: none;"></path><path d="M 2.48 27.98 L 28.99 1.48" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.3" stroke-miterlimit="10" stroke-dasharray="1.59 1.59" style="pointer-events: none;"></path></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>';
const
svg
=
'<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><rect x="1
" y="3" width="30" height="24" fill="none" stroke="white" visibility="hidden" stroke-width="9" style="pointer-events: none;"></rect><rect x="1" y="3" width="30" height="24" fill="none" stroke="none" style="pointer-events: none;"></rect></g><g style="pointer-events: none;"><g transform="scale(0.3)" style="pointer-events: none;"><foreignObject width="334%" height="334%" style="overflow: visible; text-align: left; pointer-events: none;"><div style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 50px; margin-left: 5px; pointer-events: none;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 76px; overflow: hidden; pointer-events: none;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;"><ul style="pointer-events: none;"><li style="pointer-events: none;">Value 1</li><li style="pointer-events: none;">Value 2</li><li style="pointer-events: none;">Value 3</li></ul></div></div></div></foreignObject></g
></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>'
;
const
svg
=
'<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><rect x="1
.6" y="7.8" width="28.8" height="14.4" fill="rgb(241, 243, 244)" stroke="rgb(0, 0, 0)" stroke-width="1.3" style="pointer-events: none;"></rect
></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>'
;
const
encode_item_icon
=
window
.
btoa
(
svg
);
//base64编码
const
encode_item_icon
=
window
.
btoa
(
svg
);
//base64编码
let
svgImage
=
'data:image/svg+xml;base64,'
+
encode_item_icon
;
let
svgImage
=
'data:image/svg+xml;base64,'
+
encode_item_icon
;
...
@@ -150,10 +150,10 @@ const setIcon = function (itemIcon, dicys, color) {
...
@@ -150,10 +150,10 @@ const setIcon = function (itemIcon, dicys, color) {
const
leftCustomGraph
=
function
(
that
)
{
//左侧自定义图形
const
leftCustomGraph
=
function
(
that
)
{
//左侧自定义图形
var
xml
=
that
.
createLibraryDataFromImages
(
images_
);
//
var xml = that.createLibraryDataFromImages(images_);
var
file
=
new
LocalLibrary
(
that
,
xml
,
'图库'
);
//
var file = new LocalLibrary(that, xml, '图库');
that
.
libraryLoaded
(
file
,
images_
,
null
,
false
);
//
that.libraryLoaded(file, images_, null, false);
// const standardGraph = JSON.parse(localStorage.getItem('standardGraph'));
// const standardGraph = JSON.parse(localStorage.getItem('standardGraph'));
...
...
src/views/archi-ele-list/index.vue
View file @
f6a44d2
...
@@ -53,7 +53,8 @@
...
@@ -53,7 +53,8 @@
<el-table-column
prop=
"content"
label=
"描述"
align=
"center"
width=
"200"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"content"
label=
"描述"
align=
"center"
width=
"200"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
label=
"图标"
align=
"center"
>
<el-table-column
label=
"图标"
align=
"center"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<img
:src=
"scope.row.icon"
alt=
""
:style=
"
{ 'width': scope.row.width, 'height': scope.row.height }">
<!--
<img
:src=
"scope.row.icon"
alt=
""
style=
"width: 100px;height: 100px;"
>
-->
<div
v-html=
"scope.row.icon"
style=
"display: flex;justify-content: center;"
></div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"version"
label=
"版本"
align=
"center"
></el-table-column>
<el-table-column
prop=
"version"
label=
"版本"
align=
"center"
></el-table-column>
...
@@ -268,10 +269,10 @@
...
@@ -268,10 +269,10 @@
<div
style=
"height: 400px;display: flex;align-items: center;"
>
<div
style=
"height: 400px;display: flex;align-items: center;"
>
<div
style=
"width: 20%;height: 100%;border-left: 1px solid #ccc;border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;overflow: auto;text-align: center;"
>
<div
style=
"width: 20%;height: 100%;border-left: 1px solid #ccc;border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;overflow: auto;text-align: center;"
>
<div
:style=
"{ 'cursor': 'pointer', 'padding': '4px', 'background-color': nameIndex2 == index ? 'rgb(13,134,127)' : '#fff', 'color': nameIndex2 == index ? '#fff' : '#000' }"
<div
:style=
"{ 'cursor': 'pointer', 'padding': '4px', 'background-color': nameIndex2 == index ? 'rgb(13,134,127)' : '#fff', 'color': nameIndex2 == index ? '#fff' : '#000' }"
v-for=
"(item, index) in s
tandardGraph
"
v-for=
"(item, index) in s
earch_select1
"
:key=
"item.
arciB
elongId"
:key=
"item.
b
elongId"
@
click=
"showCurrentGraph2(item.
arciBelongN
ame, index)"
>
@
click=
"showCurrentGraph2(item.
n
ame, index)"
>
{{ item.
arciBelongN
ame }}
{{ item.
n
ame }}
</div>
</div>
</div>
</div>
<div
style=
"width: 80%;height: 100%;border: 1px solid #ccc;overflow: auto;text-align: left;"
>
<div
style=
"width: 80%;height: 100%;border: 1px solid #ccc;overflow: auto;text-align: left;"
>
...
@@ -610,7 +611,7 @@ export default {
...
@@ -610,7 +611,7 @@ export default {
openGraphDialog
()
{
//打开图形选择窗口
openGraphDialog
()
{
//打开图形选择窗口
this
.
graph_dialog
=
true
;
this
.
graph_dialog
=
true
;
this
.
showCurrentGraph
(
this
.
search_select1
[
0
].
name
,
0
);
this
.
showCurrentGraph
(
this
.
search_select1
[
0
].
name
,
0
);
this
.
queryDrawioGraph2
();
this
.
showCurrentGraph2
(
this
.
search_select1
[
0
].
name
,
0
)
},
},
tabsClick
(
data
)
{
tabsClick
(
data
)
{
console
.
log
(
data
)
console
.
log
(
data
)
...
@@ -626,8 +627,9 @@ export default {
...
@@ -626,8 +627,9 @@ export default {
}
}
this
.
graph_dialog
=
false
;
this
.
graph_dialog
=
false
;
if
(
this
.
tabType
==
'元模型图元'
)
{
if
(
this
.
tabType
==
'元模型图元'
)
{
console
.
log
(
this
.
standardList
[
this
.
graphIndex2
])
this
.
selectGraphSrc
=
this
.
standardList
[
this
.
graphIndex2
].
icon
;
this
.
selectGraphSrc
=
this
.
standardList
[
this
.
graphIndex2
].
icon
;
this
.
selectGraphShape
=
this
.
standardList
[
this
.
graphIndex2
].
icon
Name
;
this
.
selectGraphShape
=
this
.
standardList
[
this
.
graphIndex2
].
graph
Name
;
}
else
{
}
else
{
this
.
selectGraphSrc
=
'data:image/svg+xml;base64,'
+
this
.
graphList
[
this
.
graphIndex
].
icon
;
this
.
selectGraphSrc
=
'data:image/svg+xml;base64,'
+
this
.
graphList
[
this
.
graphIndex
].
icon
;
this
.
selectGraphShape
=
this
.
graphList
[
this
.
graphIndex
].
graphName
;
this
.
selectGraphShape
=
this
.
graphList
[
this
.
graphIndex
].
graphName
;
...
@@ -639,25 +641,21 @@ export default {
...
@@ -639,25 +641,21 @@ export default {
this
.
nameIndex
=
0
;
this
.
nameIndex
=
0
;
this
.
graph_dialog
=
false
;
this
.
graph_dialog
=
false
;
},
},
queryDrawioGraph2
()
{
//查询画布左侧标准图形
getDrawioLeftStandardGraph
({}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
res
.
data
.
dataEle
.
pop
();
this
.
standardGraph
=
res
.
data
.
dataEle
;
this
.
showCurrentGraph2
(
res
.
data
.
dataEle
[
0
].
arciBelongName
,
0
);
}
else
{
Message
({
type
:
'error'
,
message
:
res
.
msg
});
}
})
},
showCurrentGraph2
(
name
,
idx
)
{
//标准图形选择窗口的文字点击
showCurrentGraph2
(
name
,
idx
)
{
//标准图形选择窗口的文字点击
this
.
nameIndex2
=
idx
;
this
.
nameIndex2
=
idx
;
this
.
graphIndex2
=
-
1
;
this
.
graphIndex2
=
-
1
;
const
res
=
this
.
standardGraph
.
find
(
item
=>
item
.
arciBelongName
==
name
);
const
params
=
{
this
.
standardList
=
res
.
eleDtos
;
delFlag
:
0
,
metaType
:
1
,
graphType
:
name
}
query_jia_gou_gui_shu_belong_icon
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
standardList
=
res
.
data
;
}
else
{
}
});
},
},
showCurrentGraph
(
name
,
idx
)
{
//常规图形选择窗口的文字点击
showCurrentGraph
(
name
,
idx
)
{
//常规图形选择窗口的文字点击
this
.
nameIndex
=
idx
;
this
.
nameIndex
=
idx
;
...
@@ -1010,31 +1008,34 @@ export default {
...
@@ -1010,31 +1008,34 @@ export default {
result
.
data
.
records
.
map
(
item
=>
{
result
.
data
.
records
.
map
(
item
=>
{
if
(
item
.
icon
.
includes
(
"svg+xml"
))
{
if
(
item
.
icon
.
includes
(
"svg+xml"
))
{
const
item_icon
=
item
.
icon
.
split
(
"base64,"
)[
1
];
//
const item_icon = item.icon.split("base64,")[1];
const
decode_item_icon
=
window
.
atob
(
item_icon
);
//svg解码,为字符串
//
const decode_item_icon = window.atob(item_icon);//svg解码,为字符串
const
svgDocument
=
new
DOMParser
().
parseFromString
(
decode_item_icon
,
'text/xml'
);
//svg字符串转标签
//
const svgDocument = new DOMParser().parseFromString(decode_item_icon, 'text/xml');//svg字符串转标签
// console.log(svgDocument)
//
//
console.log(svgDocument)
const
path
=
svgDocument
.
getElementsByTagName
(
'path'
)[
0
];
//
const path = svgDocument.getElementsByTagName('path')[0];
const
rect
=
svgDocument
.
getElementsByTagName
(
'rect'
)[
0
];
//
const rect = svgDocument.getElementsByTagName('rect')[0];
const
ellipse
=
svgDocument
.
getElementsByTagName
(
'ellipse'
)[
0
];
//
const ellipse = svgDocument.getElementsByTagName('ellipse')[0];
const
svgTag
=
svgDocument
.
getElementsByTagName
(
'svg'
)[
0
];
//
const svgTag = svgDocument.getElementsByTagName('svg')[0];
const
svgWidth
=
Number
(
svgTag
.
getAttribute
(
'width'
).
split
(
'px'
)[
0
])
/
2
;
//
const svgWidth = Number(svgTag.getAttribute('width').split('px')[0])/2;
const
svgHeight
=
Number
(
svgTag
.
getAttribute
(
'height'
).
split
(
'px'
)[
0
])
/
2
;
//
const svgHeight = Number(svgTag.getAttribute('height').split('px')[0])/2;
item
[
'width'
]
=
svgWidth
+
'px'
;
//
item['width'] = svgWidth + 'px';
item
[
'height'
]
=
svgHeight
+
'px'
;
//
item['height'] = svgHeight + 'px';
if
(
path
)
{
// if(path) {
path
.
setAttribute
(
'fill'
,
item
.
color
);
// path.setAttribute('fill', item.color);
}
// }
if
(
rect
)
{
// if(rect) {
rect
.
setAttribute
(
'fill'
,
item
.
color
);
// rect.setAttribute('fill', item.color);
}
// }
if
(
ellipse
)
{
// if(ellipse) {
ellipse
.
setAttribute
(
'fill'
,
item
.
color
);
// ellipse.setAttribute('fill', item.color);
}
// }
const
svgToString
=
new
XMLSerializer
().
serializeToString
(
svgDocument
);
//svg标签转化为字符串
// const svgToString = new XMLSerializer().serializeToString(svgDocument);//svg标签转化为字符串
const
encode_item_icon
=
window
.
btoa
(
svgToString
);
//base64编码
// const encode_item_icon = window.btoa(svgToString);//base64编码
item
.
icon
=
'data:image/svg+xml;base64,'
+
encode_item_icon
;
// item.icon = 'data:image/svg+xml;base64,'+ encode_item_icon;
const
svgToString
=
'<svg style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><rect x="1" y="7.5" width="30" height="15" fill="none" stroke="white" visibility="hidden" stroke-width="9" style="pointer-events: none;"></rect><rect x="1" y="7.5" width="30" height="15" fill="none" stroke="none" style="pointer-events: none;"></rect></g><g style="pointer-events: none;"><g transform="scale(0.5)" style="pointer-events: none;"><foreignObject width="200%" height="200%" style="overflow: visible; text-align: left; pointer-events: none;"><div style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 30px; margin-left: 3px; pointer-events: none;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; pointer-events: none;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">Text</div></div></div></foreignObject></g></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>'
;
item
.
icon
=
svgToString
;
}
else
{
}
else
{
item
[
'width'
]
=
0
;
item
[
'width'
]
=
0
;
item
[
'height'
]
=
0
;
item
[
'height'
]
=
0
;
...
...
src/views/projectInfoManage/index.vue
View file @
f6a44d2
...
@@ -584,9 +584,10 @@ export default {
...
@@ -584,9 +584,10 @@ export default {
}
}
if
(
row
.
filesValue
)
{
if
(
row
.
filesValue
)
{
let
filesValue
=
JSON
.
parse
(
row
.
filesValue
);
let
filesValue
=
JSON
.
parse
(
row
.
filesValue
);
if
(
filesValue
.
length
>
0
)
{
if
(
filesValue
.
length
>
0
)
{
this
.
tableData4
.
forEach
((
item
,
index
)
=>
{
this
.
tableData4
.
forEach
((
item
,
index
)
=>
{
item
.
fileList
=
filesValue
[
index
]
.
fileUrl
?
[
item
.
fileList
=
filesValue
[
index
]
?
[
{
{
name
:
filesValue
[
index
].
fileName
,
name
:
filesValue
[
index
].
fileName
,
url
:
filesValue
[
index
].
fileUrl
,
url
:
filesValue
[
index
].
fileUrl
,
...
@@ -595,7 +596,7 @@ export default {
...
@@ -595,7 +596,7 @@ export default {
fileUrl
:
filesValue
[
index
].
fileUrl
,
fileUrl
:
filesValue
[
index
].
fileUrl
,
}
}
]
:
[];
]
:
[];
item
.
fileArray
=
filesValue
[
index
]
.
fileUrl
?
[
item
.
fileArray
=
filesValue
[
index
]
?
[
{
{
name
:
filesValue
[
index
].
fileName
,
name
:
filesValue
[
index
].
fileName
,
url
:
filesValue
[
index
].
fileUrl
,
url
:
filesValue
[
index
].
fileUrl
,
...
@@ -606,6 +607,7 @@ export default {
...
@@ -606,6 +607,7 @@ export default {
]
:
[];
]
:
[];
});
});
}
}
console
.
log
(
this
.
tableData4
)
}
}
this
.
prjId
=
row
.
prjId
;
this
.
prjId
=
row
.
prjId
;
},
},
...
@@ -689,12 +691,14 @@ export default {
...
@@ -689,12 +691,14 @@ export default {
manageOrgId
=
this
.
selectRow
[
0
].
manageOrgId
;
manageOrgId
=
this
.
selectRow
[
0
].
manageOrgId
;
let
filesValue
=
[];
let
filesValue
=
[];
this
.
tableData4
.
forEach
(
item
=>
{
this
.
tableData4
.
forEach
(
item
=>
{
if
(
item
.
fileArray
.
length
>
0
)
{
filesValue
.
push
({
filesValue
.
push
({
doc
Name
:
item
.
tableLet1
,
busiFile
Name
:
item
.
tableLet1
,
fileId
:
item
.
fileArray
.
length
>
0
?
item
.
fileArray
[
0
].
fileId
:
null
,
fileId
:
item
.
fileArray
[
0
].
fileId
,
fileName
:
item
.
fileArray
.
length
>
0
?
item
.
fileArray
[
0
].
fileName
:
null
,
fileName
:
item
.
fileArray
[
0
].
fileName
,
fileUrl
:
item
.
fileArray
.
length
>
0
?
item
.
fileArray
[
0
].
fileUrl
:
nul
l
,
fileUrl
:
item
.
fileArray
[
0
].
fileUr
l
,
})
})
}
})
})
const
params
=
{
const
params
=
{
agoPrjCode
,
agoPrjId
,
agoPrjName
,
appCode
,
appId
,
appName
,
buildOrg
,
buildType
,
manageDeptId
,
manageOrgId
,
agoPrjCode
,
agoPrjId
,
agoPrjName
,
appCode
,
appId
,
appName
,
buildOrg
,
buildType
,
manageDeptId
,
manageOrgId
,
...
...
src/views/reviewArchiFollowCheck/tab1.vue
View file @
f6a44d2
...
@@ -4,26 +4,29 @@
...
@@ -4,26 +4,29 @@
<div
class=
"left_container"
>
<div
class=
"left_container"
>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select1"
class=
"leftSelect"
>
<el-select
v-model=
"select1"
class=
"leftSelect"
>
<el-option
label=
"
1
"
value=
"1"
></el-option>
<el-option
label=
"
本项目-安全防护方案.pdf
"
value=
"1"
></el-option>
</el-select>
</el-select>
</div>
</div>
<div
class=
"right_container"
>
<div
class=
"right_container"
>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select2"
class=
"rightSelect"
@
change=
"select2Change"
>
<el-select
v-model=
"select2"
class=
"rightSelect"
@
change=
"select2Change"
>
<el-option
v-for=
"item in rightSelect"
:key=
"item.viewDetailsId"
:label=
"item.viewDetailName"
:value=
"item.viewDetailsId"
></el-option>
<!--
<el-option
v-for=
"item in rightSelect"
:key=
"item.viewDetailsId"
:label=
"item.viewDetailName"
:value=
"item.viewDetailsId"
></el-option>
-->
<el-option
label=
"本项目-安全防护方案.pdf"
value=
"1"
></el-option>
</el-select>
</el-select>
<img
:src=
"rightImageSrc"
class=
"rightImageContainer"
alt=
""
>
<div
v-for=
"item in rightImageArray"
:key=
"item.viewDetailsId"
>
<img
:src=
"item.metaModelSvg"
alt=
""
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom_container"
>
<div
class=
"bottom_container"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div>
<div>
<el-divider
direction=
"vertical"
></el-divider>
<el-divider
direction=
"vertical"
></el-divider>
<span
style=
"margin-right: 50px;"
>
评审意见
</span>
<span
style=
"margin-right: 50px;"
>
备注
</span>
<el-radio
v-model=
"radio"
label=
"1"
>
通过
</el-radio>
<
!--
<
el-radio
v-model=
"radio"
label=
"1"
>
通过
</el-radio>
<el-radio
v-model=
"radio"
label=
"0"
>
不通过
</el-radio>
<el-radio
v-model=
"radio"
label=
"0"
>
不通过
</el-radio>
-->
</div>
</div>
<el-button
type=
"primary"
size=
"medium"
@
click=
"saveSuggestion"
>
带入批准
</el-button>
<el-button
type=
"primary"
size=
"medium"
@
click=
"saveSuggestion"
>
保存备注
</el-button>
</div>
</div>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
</div>
</div>
...
@@ -47,6 +50,7 @@ export default {
...
@@ -47,6 +50,7 @@ export default {
textarea
:
''
,
textarea
:
''
,
select1
:
null
,
select1
:
null
,
select2
:
null
,
select2
:
null
,
rightImageArray
:
[],
rightImageSrc
:
null
,
rightImageSrc
:
null
,
prjId
:
null
,
prjId
:
null
,
rightSelect
:
[]
rightSelect
:
[]
...
@@ -62,24 +66,31 @@ export default {
...
@@ -62,24 +66,31 @@ export default {
const
params
=
{
const
params
=
{
archiBelongId
:
archiBelongId
,
archiBelongId
:
archiBelongId
,
prjId
:
this
.
prjId
,
prjId
:
this
.
prjId
,
archiStage
:
3
}
}
getReviewArchiFollowCheckRightGraph
(
params
).
then
(
res
=>
{
getReviewArchiFollowCheckRightGraph
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
.
length
>
0
)
{
if
(
res
.
data
.
length
>
0
)
{
this
.
rightSelect
=
res
.
data
;
this
.
select2
=
res
.
data
[
0
].
viewDetailsId
;
res
.
data
.
map
(
item
=>
{
this
.
rightImageSrc
=
'data:image/svg+xml;base64,'
+
res
.
data
[
0
].
metaModelSvg
;
item
.
metaModelSvg
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
})
this
.
rightImageArray
=
res
.
data
;
console
.
log
(
this
.
rightImageArray
)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
}
}
})
})
},
},
select2Change
(
data
)
{
//右侧下拉框选择
select2Change
(
data
)
{
//右侧下拉框选择
const
res
=
this
.
rightSelect
.
find
(
item
=>
item
.
viewDetailsId
==
data
);
const
res
=
this
.
rightSelect
.
find
(
item
=>
item
.
viewDetailsId
==
data
);
this
.
rightImageSrc
=
'data:image/svg+xml;base64,'
+
res
.
metaModelSvg
;
//
this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
},
saveSuggestion
()
{
//保存
saveSuggestion
()
{
//保存
const
params
=
{
const
params
=
{
"archiPrjReviewEnum"
:
"
CONFORMANCE_REVIEW
"
,
"archiPrjReviewEnum"
:
"
SECURITY_ARCHITECTURE_CONFORMANCE
"
,
"prjId"
:
this
.
prjId
,
"prjId"
:
this
.
prjId
,
"reviewState"
:
this
.
radio
,
"reviewState"
:
this
.
radio
,
"reviewSuggestion"
:
this
.
textarea
"reviewSuggestion"
:
this
.
textarea
...
...
src/views/reviewArchiFollowCheck/tab2.vue
View file @
f6a44d2
...
@@ -3,15 +3,30 @@
...
@@ -3,15 +3,30 @@
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"left_container"
>
<div
class=
"left_container"
>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select1"
class=
"leftSelect"
>
<el-option
label=
"系统架构-系统架构视图设计-安全架构视图"
value=
"1"
></el-option>
</el-select>
</div>
</div>
<div
class=
"right_container"
>
<div
class=
"right_container"
>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select2"
class=
"rightSelect"
@
change=
"select2Change"
>
<!--
<el-option
v-for=
"item in rightSelect"
:key=
"item.viewDetailsId"
:label=
"item.viewDetailName"
:value=
"item.viewDetailsId"
></el-option>
-->
<el-option
label=
"系统架构-系统架构视图设计-安全架构视图"
value=
"1"
></el-option>
</el-select>
<div
v-for=
"item in rightImageArray"
:key=
"item.viewDetailsId"
>
<img
:src=
"item.metaModelSvg"
alt=
""
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom_container"
>
<div
class=
"bottom_container"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div>
<el-divider
direction=
"vertical"
></el-divider>
<el-divider
direction=
"vertical"
></el-divider>
<span
style=
"margin-right: 50px;"
>
审查意见
</span>
<span
style=
"margin-right: 50px;"
>
备注
</span>
<!--
<el-radio
v-model=
"radio"
label=
"1"
>
通过
</el-radio>
<el-radio
v-model=
"radio"
label=
"0"
>
不通过
</el-radio>
-->
</div>
<el-button
type=
"primary"
size=
"medium"
@
click=
"saveSuggestion"
>
保存备注
</el-button>
</div>
</div>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
</div>
</div>
...
@@ -20,7 +35,8 @@
...
@@ -20,7 +35,8 @@
<
script
>
<
script
>
import
{
import
{
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph
,
saveReviewArchiFollowCheckRightSuggestion
}
from
'@/api/index.js'
;
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
export
default
{
...
@@ -31,14 +47,65 @@ export default {
...
@@ -31,14 +47,65 @@ export default {
data
()
{
data
()
{
return
{
return
{
radio
:
'1'
,
radio
:
'1'
,
textarea
:
''
textarea
:
''
,
select1
:
null
,
select2
:
null
,
rightImageArray
:
[],
rightImageSrc
:
null
,
prjId
:
null
,
rightSelect
:
[]
};
};
},
},
mounted
(){
mounted
(){
this
.
prjId
=
this
.
$route
.
query
.
prjId
;
this
.
getRightGraph
(
5
);
},
},
methods
:
{
methods
:
{
getRightGraph
(
archiBelongId
)
{
//获取右侧图片
const
params
=
{
archiBelongId
:
archiBelongId
,
prjId
:
this
.
prjId
,
archiStage
:
3
}
getReviewArchiFollowCheckRightGraph
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
.
length
>
0
)
{
res
.
data
.
map
(
item
=>
{
item
.
metaModelSvg
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
})
this
.
rightImageArray
=
res
.
data
;
console
.
log
(
this
.
rightImageArray
)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change
(
data
)
{
//右侧下拉框选择
const
res
=
this
.
rightSelect
.
find
(
item
=>
item
.
viewDetailsId
==
data
);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion
()
{
//保存
const
params
=
{
"archiPrjReviewEnum"
:
"DEPLOYMENT_ARCHITECTURE_REVIEW"
,
"prjId"
:
this
.
prjId
,
"reviewState"
:
this
.
radio
,
"reviewSuggestion"
:
this
.
textarea
}
saveReviewArchiFollowCheckRightSuggestion
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
console
.
log
(
res
.
code
)
}
else
{
Message
({
type
:
"error"
,
message
:
res
.
msg
,
});
}
})
}
}
}
}
}
</
script
>
</
script
>
...
@@ -50,6 +117,16 @@ export default {
...
@@ -50,6 +117,16 @@ export default {
display
:
flex
;
display
:
flex
;
height
:
77%
;
height
:
77%
;
}
}
.leftSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.rightSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.el-button--primary
{
.el-button--primary
{
background
:
rgba
(
13
,
134
,
127
,
1
);
background
:
rgba
(
13
,
134
,
127
,
1
);
color
:
#fff
;
color
:
#fff
;
...
@@ -67,10 +144,18 @@ export default {
...
@@ -67,10 +144,18 @@ export default {
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
margin-right
:
1%
;
margin-right
:
1%
;
position
:
relative
;
}
}
.right_container
{
.right_container
{
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
position
:
relative
;
}
.rightImageContainer
{
position
:
absolute
;
transform
:
translate
(
-50%
,
-50%
);
top
:
50%
;
left
:
50%
;
}
}
.bottom_container
{
.bottom_container
{
...
...
src/views/reviewArchiFollowCheck/tab3.vue
View file @
f6a44d2
...
@@ -3,18 +3,30 @@
...
@@ -3,18 +3,30 @@
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"left_container"
>
<div
class=
"left_container"
>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select1"
class=
"leftSelect"
>
<el-option
label=
"总体架构-架构视图设计-技术架构视图"
value=
"1"
></el-option>
</el-select>
</div>
</div>
<div
class=
"right_container"
>
<div
class=
"right_container"
>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select2"
class=
"rightSelect"
@
change=
"select2Change"
>
<!--
<el-option
v-for=
"item in rightSelect"
:key=
"item.viewDetailsId"
:label=
"item.viewDetailName"
:value=
"item.viewDetailsId"
></el-option>
-->
<el-option
label=
"系统架构-概设阶段架构设计-技术架构视图"
value=
"1"
></el-option>
</el-select>
<div
v-for=
"item in rightImageArray"
:key=
"item.viewDetailsId"
>
<img
:src=
"item.metaModelSvg"
alt=
""
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom_container"
>
<div
class=
"bottom_container"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div>
<div>
<el-divider
direction=
"vertical"
></el-divider>
<el-divider
direction=
"vertical"
></el-divider>
<span
style=
"margin-right: 50px;"
>
审查意见
</span>
<span
style=
"margin-right: 50px;"
>
备注
</span>
<!--
<el-radio
v-model=
"radio"
label=
"1"
>
通过
</el-radio>
<el-radio
v-model=
"radio"
label=
"0"
>
不通过
</el-radio>
-->
</div>
</div>
<el-button
type=
"primary"
size=
"medium"
>
保存意见
</el-button>
<el-button
type=
"primary"
size=
"medium"
@
click=
"saveSuggestion"
>
保存备注
</el-button>
</div>
</div>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
</div>
</div>
...
@@ -23,7 +35,8 @@
...
@@ -23,7 +35,8 @@
<
script
>
<
script
>
import
{
import
{
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph
,
saveReviewArchiFollowCheckRightSuggestion
}
from
'@/api/index.js'
;
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
export
default
{
...
@@ -34,14 +47,65 @@ export default {
...
@@ -34,14 +47,65 @@ export default {
data
()
{
data
()
{
return
{
return
{
radio
:
'1'
,
radio
:
'1'
,
textarea
:
''
textarea
:
''
,
select1
:
null
,
select2
:
null
,
rightImageArray
:
[],
rightImageSrc
:
null
,
prjId
:
null
,
rightSelect
:
[]
};
};
},
},
mounted
(){
mounted
(){
this
.
prjId
=
this
.
$route
.
query
.
prjId
;
this
.
getRightGraph
(
4
);
},
},
methods
:
{
methods
:
{
getRightGraph
(
archiBelongId
)
{
//获取右侧图片
const
params
=
{
archiBelongId
:
archiBelongId
,
prjId
:
this
.
prjId
,
archiStage
:
3
}
getReviewArchiFollowCheckRightGraph
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
.
length
>
0
)
{
res
.
data
.
map
(
item
=>
{
item
.
metaModelSvg
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
})
this
.
rightImageArray
=
res
.
data
;
console
.
log
(
this
.
rightImageArray
)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change
(
data
)
{
//右侧下拉框选择
const
res
=
this
.
rightSelect
.
find
(
item
=>
item
.
viewDetailsId
==
data
);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion
()
{
//保存
const
params
=
{
"archiPrjReviewEnum"
:
"TECHNICAL_ARCHITECTURE_CONFORMANCE"
,
"prjId"
:
this
.
prjId
,
"reviewState"
:
this
.
radio
,
"reviewSuggestion"
:
this
.
textarea
}
saveReviewArchiFollowCheckRightSuggestion
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
console
.
log
(
res
.
code
)
}
else
{
Message
({
type
:
"error"
,
message
:
res
.
msg
,
});
}
})
}
}
}
}
}
</
script
>
</
script
>
...
@@ -53,6 +117,16 @@ export default {
...
@@ -53,6 +117,16 @@ export default {
display
:
flex
;
display
:
flex
;
height
:
77%
;
height
:
77%
;
}
}
.leftSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.rightSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.el-button--primary
{
.el-button--primary
{
background
:
rgba
(
13
,
134
,
127
,
1
);
background
:
rgba
(
13
,
134
,
127
,
1
);
color
:
#fff
;
color
:
#fff
;
...
@@ -70,10 +144,18 @@ export default {
...
@@ -70,10 +144,18 @@ export default {
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
margin-right
:
1%
;
margin-right
:
1%
;
position
:
relative
;
}
}
.right_container
{
.right_container
{
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
position
:
relative
;
}
.rightImageContainer
{
position
:
absolute
;
transform
:
translate
(
-50%
,
-50%
);
top
:
50%
;
left
:
50%
;
}
}
.bottom_container
{
.bottom_container
{
...
...
src/views/reviewArchiFollowCheck/tab4.vue
View file @
f6a44d2
...
@@ -3,18 +3,30 @@
...
@@ -3,18 +3,30 @@
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"left_container"
>
<div
class=
"left_container"
>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select1"
class=
"leftSelect"
>
<el-option
label=
"总体架构-应用架构视图"
value=
"1"
></el-option>
</el-select>
</div>
</div>
<div
class=
"right_container"
>
<div
class=
"right_container"
>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select2"
class=
"rightSelect"
@
change=
"select2Change"
>
<!--
<el-option
v-for=
"item in rightSelect"
:key=
"item.viewDetailsId"
:label=
"item.viewDetailName"
:value=
"item.viewDetailsId"
></el-option>
-->
<el-option
label=
"系统架构-概设阶段架构设计-应用架构视图"
value=
"1"
></el-option>
</el-select>
<div
v-for=
"item in rightImageArray"
:key=
"item.viewDetailsId"
>
<img
:src=
"item.metaModelSvg"
alt=
""
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom_container"
>
<div
class=
"bottom_container"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div>
<div>
<el-divider
direction=
"vertical"
></el-divider>
<el-divider
direction=
"vertical"
></el-divider>
<span
style=
"margin-right: 50px;"
>
评审意见
</span>
<span
style=
"margin-right: 50px;"
>
备注
</span>
<!--
<el-radio
v-model=
"radio"
label=
"1"
>
通过
</el-radio>
<el-radio
v-model=
"radio"
label=
"0"
>
不通过
</el-radio>
-->
</div>
</div>
<el-button
type=
"primary"
size=
"medium"
>
保存意见
</el-button>
<el-button
type=
"primary"
size=
"medium"
@
click=
"saveSuggestion"
>
保存备注
</el-button>
</div>
</div>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
</div>
</div>
...
@@ -23,7 +35,8 @@
...
@@ -23,7 +35,8 @@
<
script
>
<
script
>
import
{
import
{
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph
,
saveReviewArchiFollowCheckRightSuggestion
}
from
'@/api/index.js'
;
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
export
default
{
...
@@ -34,14 +47,65 @@ export default {
...
@@ -34,14 +47,65 @@ export default {
data
()
{
data
()
{
return
{
return
{
radio
:
'1'
,
radio
:
'1'
,
textarea
:
''
textarea
:
''
,
select1
:
null
,
select2
:
null
,
rightImageArray
:
[],
rightImageSrc
:
null
,
prjId
:
null
,
rightSelect
:
[]
};
};
},
},
mounted
(){
mounted
(){
this
.
prjId
=
this
.
$route
.
query
.
prjId
;
this
.
getRightGraph
(
2
);
},
},
methods
:
{
methods
:
{
getRightGraph
(
archiBelongId
)
{
//获取右侧图片
const
params
=
{
archiBelongId
:
archiBelongId
,
prjId
:
this
.
prjId
,
archiStage
:
3
}
getReviewArchiFollowCheckRightGraph
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
.
length
>
0
)
{
res
.
data
.
map
(
item
=>
{
item
.
metaModelSvg
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
})
this
.
rightImageArray
=
res
.
data
;
console
.
log
(
this
.
rightImageArray
)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change
(
data
)
{
//右侧下拉框选择
const
res
=
this
.
rightSelect
.
find
(
item
=>
item
.
viewDetailsId
==
data
);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion
()
{
//保存
const
params
=
{
"archiPrjReviewEnum"
:
"APPLICATION_ARCHITECTURE_CONFORMANCE"
,
"prjId"
:
this
.
prjId
,
"reviewState"
:
this
.
radio
,
"reviewSuggestion"
:
this
.
textarea
}
saveReviewArchiFollowCheckRightSuggestion
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
console
.
log
(
res
.
code
)
}
else
{
Message
({
type
:
"error"
,
message
:
res
.
msg
,
});
}
})
}
}
}
}
}
</
script
>
</
script
>
...
@@ -53,6 +117,16 @@ export default {
...
@@ -53,6 +117,16 @@ export default {
display
:
flex
;
display
:
flex
;
height
:
77%
;
height
:
77%
;
}
}
.leftSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.rightSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.el-button--primary
{
.el-button--primary
{
background
:
rgba
(
13
,
134
,
127
,
1
);
background
:
rgba
(
13
,
134
,
127
,
1
);
color
:
#fff
;
color
:
#fff
;
...
@@ -70,10 +144,18 @@ export default {
...
@@ -70,10 +144,18 @@ export default {
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
margin-right
:
1%
;
margin-right
:
1%
;
position
:
relative
;
}
}
.right_container
{
.right_container
{
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
position
:
relative
;
}
.rightImageContainer
{
position
:
absolute
;
transform
:
translate
(
-50%
,
-50%
);
top
:
50%
;
left
:
50%
;
}
}
.bottom_container
{
.bottom_container
{
...
...
src/views/reviewArchiFollowCheck/tab5.vue
View file @
f6a44d2
...
@@ -3,18 +3,30 @@
...
@@ -3,18 +3,30 @@
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"left_container"
>
<div
class=
"left_container"
>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审标准"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select1"
class=
"leftSelect"
>
<el-option
label=
"总体架构-数据架构视图"
value=
"1"
></el-option>
</el-select>
</div>
</div>
<div
class=
"right_container"
>
<div
class=
"right_container"
>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-alert
title=
"评审内容"
type=
"success"
:closable=
"false"
></el-alert>
<el-select
v-model=
"select2"
class=
"rightSelect"
@
change=
"select2Change"
>
<!--
<el-option
v-for=
"item in rightSelect"
:key=
"item.viewDetailsId"
:label=
"item.viewDetailName"
:value=
"item.viewDetailsId"
></el-option>
-->
<el-option
label=
"系统架构-概设阶段架构设计-数据架构视图"
value=
"1"
></el-option>
</el-select>
<div
v-for=
"item in rightImageArray"
:key=
"item.viewDetailsId"
>
<img
:src=
"item.metaModelSvg"
alt=
""
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom_container"
>
<div
class=
"bottom_container"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div
style=
"padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;"
>
<div>
<div>
<el-divider
direction=
"vertical"
></el-divider>
<el-divider
direction=
"vertical"
></el-divider>
<span
style=
"margin-right: 50px;"
>
评审意见
</span>
<span
style=
"margin-right: 50px;"
>
备注
</span>
<!--
<el-radio
v-model=
"radio"
label=
"1"
>
通过
</el-radio>
<el-radio
v-model=
"radio"
label=
"0"
>
不通过
</el-radio>
-->
</div>
</div>
<el-button
type=
"primary"
size=
"medium"
>
保存意见
</el-button>
<el-button
type=
"primary"
size=
"medium"
@
click=
"saveSuggestion"
>
保存备注
</el-button>
</div>
</div>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"textarea"
style=
"width: 98%;"
></el-input>
</div>
</div>
...
@@ -23,7 +35,8 @@
...
@@ -23,7 +35,8 @@
<
script
>
<
script
>
import
{
import
{
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph
,
saveReviewArchiFollowCheckRightSuggestion
}
from
'@/api/index.js'
;
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
export
default
{
export
default
{
...
@@ -34,14 +47,65 @@ export default {
...
@@ -34,14 +47,65 @@ export default {
data
()
{
data
()
{
return
{
return
{
radio
:
'1'
,
radio
:
'1'
,
textarea
:
''
textarea
:
''
,
select1
:
null
,
select2
:
null
,
rightImageArray
:
[],
rightImageSrc
:
null
,
prjId
:
null
,
rightSelect
:
[]
};
};
},
},
mounted
(){
mounted
(){
this
.
prjId
=
this
.
$route
.
query
.
prjId
;
this
.
getRightGraph
(
3
);
},
},
methods
:
{
methods
:
{
getRightGraph
(
archiBelongId
)
{
//获取右侧图片
const
params
=
{
archiBelongId
:
archiBelongId
,
prjId
:
this
.
prjId
,
archiStage
:
3
}
getReviewArchiFollowCheckRightGraph
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
.
length
>
0
)
{
res
.
data
.
map
(
item
=>
{
item
.
metaModelSvg
=
'data:image/svg+xml;base64,'
+
item
.
metaModelSvg
;
})
this
.
rightImageArray
=
res
.
data
;
console
.
log
(
this
.
rightImageArray
)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change
(
data
)
{
//右侧下拉框选择
const
res
=
this
.
rightSelect
.
find
(
item
=>
item
.
viewDetailsId
==
data
);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion
()
{
//保存
const
params
=
{
"archiPrjReviewEnum"
:
"PHYSICAL_DATA_ARCHITECTURE_CONFORMANCE"
,
"prjId"
:
this
.
prjId
,
"reviewState"
:
this
.
radio
,
"reviewSuggestion"
:
this
.
textarea
}
saveReviewArchiFollowCheckRightSuggestion
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
console
.
log
(
res
.
code
)
}
else
{
Message
({
type
:
"error"
,
message
:
res
.
msg
,
});
}
})
}
}
}
}
}
</
script
>
</
script
>
...
@@ -53,6 +117,16 @@ export default {
...
@@ -53,6 +117,16 @@ export default {
display
:
flex
;
display
:
flex
;
height
:
77%
;
height
:
77%
;
}
}
.leftSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.rightSelect
{
position
:
absolute
;
top
:
44px
;
left
:
22px
;
}
.el-button--primary
{
.el-button--primary
{
background
:
rgba
(
13
,
134
,
127
,
1
);
background
:
rgba
(
13
,
134
,
127
,
1
);
color
:
#fff
;
color
:
#fff
;
...
@@ -70,10 +144,18 @@ export default {
...
@@ -70,10 +144,18 @@ export default {
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
margin-right
:
1%
;
margin-right
:
1%
;
position
:
relative
;
}
}
.right_container
{
.right_container
{
width
:
49%
;
width
:
49%
;
border
:
1px
solid
red
;
border
:
1px
solid
red
;
position
:
relative
;
}
.rightImageContainer
{
position
:
absolute
;
transform
:
translate
(
-50%
,
-50%
);
top
:
50%
;
left
:
50%
;
}
}
.bottom_container
{
.bottom_container
{
...
...
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