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 28e885bf
authored
Apr 11, 2024
by
史敦盼
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'sdp-v1'
2 parents
6ff2571b
98c25e8d
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
67 additions
and
49 deletions
src/views/archi-ele-list/index.vue
src/views/archi-view-manage/index.vue
src/views/busi-assets-list/ChooseSvg.vue
src/views/busi-assets-list/index.vue
src/views/archi-ele-list/index.vue
View file @
28e885b
...
...
@@ -346,10 +346,10 @@
<el-button
type=
"primary"
@
click=
"openGraphDialog"
>
图形选择
</el-button
>
<el-color-picker
<
!-- <
el-color-picker
v-model="ruleForm.let6"
:predefine="predefineColors">
</el-color-picker>
</el-color-picker>
-->
<!-- <el-input
style="width: 80px; margin-left: 30px"
type="color"
...
...
@@ -1148,7 +1148,6 @@ export default {
decode_item_icon
,
'text/xml'
,
)
//svg字符串转标签
// console.log(svgDocument)
const
svgTag
=
svgDocument
.
getElementsByTagName
(
'svg'
)[
0
]
// 图形添加文字
var
svgNS
=
'http://www.w3.org/2000/svg'
...
...
@@ -1591,48 +1590,48 @@ export default {
)
item
[
'archiLevelName'
]
=
result1
?
result1
.
label
:
''
item
[
'archiBelongName'
]
=
result2
?
result2
.
label
:
''
if
(
item
.
icon
?.
includes
(
'svg+xml'
))
{
const
item_icon
=
item
.
icon
.
split
(
'base64,'
)[
1
]
const
decode_item_icon
=
window
.
atob
(
item_icon
)
//svg解码,为字符串
const
svgDocument
=
new
DOMParser
().
parseFromString
(
decode_item_icon
,
'text/xml'
,
)
//svg字符串转标签
// console.log(svgDocument
)
//
if (item.icon?.includes('svg+xml')) {
//
const item_icon = item.icon.split('base64,')[1]
//
const decode_item_icon = window.atob(item_icon) //svg解码,为字符串
//
const svgDocument = new DOMParser().parseFromString(
//
decode_item_icon,
//
'text/xml',
//
) //svg字符串转标签
// console.log(svgDocument.getElementsByTagName('path')
)
const
path
=
svgDocument
.
getElementsByTagName
(
'path'
)[
0
]
const
rect
=
svgDocument
.
getElementsByTagName
(
'rect'
)[
0
]
const
ellipse
=
svgDocument
.
getElementsByTagName
(
'ellipse'
)[
0
]
const
svgTag
=
svgDocument
.
getElementsByTagName
(
'svg'
)[
0
]
const
svgWidth
=
Number
(
svgTag
.
getAttribute
(
'width'
).
split
(
'px'
)[
0
])
/
2
const
svgHeight
=
Number
(
svgTag
.
getAttribute
(
'height'
).
split
(
'px'
)[
0
])
/
2
item
[
'width'
]
=
svgWidth
+
'px'
item
[
'height'
]
=
svgHeight
+
'px'
//
const path = svgDocument.getElementsByTagName('path')[0]
//
const rect = svgDocument.getElementsByTagName('rect')[0]
//
const ellipse = svgDocument.getElementsByTagName('ellipse')[0]
//
const svgTag = svgDocument.getElementsByTagName('svg')[0]
//
const svgWidth =
//
Number(svgTag.getAttribute('width').split('px')[0]) / 2
//
const svgHeight =
//
Number(svgTag.getAttribute('height').split('px')[0]) / 2
//
item['width'] = svgWidth + 'px'
//
item['height'] = svgHeight + 'px'
if
(
path
)
{
path
.
setAttribute
(
'fill'
,
item
.
color
)
}
if
(
rect
)
{
rect
.
setAttribute
(
'fill'
,
item
.
color
)
}
if
(
ellipse
)
{
ellipse
.
setAttribute
(
'fill'
,
item
.
color
)
}
//
if (path) {
//
path.setAttribute('fill', item.color)
//
}
//
if (rect) {
//
rect.setAttribute('fill', item.color)
//
}
//
if (ellipse) {
//
ellipse.setAttribute('fill', item.color)
//
}
const
svgToString
=
new
XMLSerializer
().
serializeToString
(
svgDocument
,
)
//svg标签转化为字符串
const
encode_item_icon
=
window
.
btoa
(
svgToString
)
//base64编码
item
.
icon
=
'data:image/svg+xml;base64,'
+
encode_item_icon
//
const svgToString = new XMLSerializer().serializeToString(
//
svgDocument,
//
) //svg标签转化为字符串
//
const encode_item_icon = window.btoa(svgToString) //base64编码
//
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
{
item
[
'width'
]
=
0
item
[
'height'
]
=
0
}
//
// 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 {
//
item['width'] = 0
//
item['height'] = 0
//
}
})
this
.
tableData
=
result
.
data
.
records
}
else
{
...
...
src/views/archi-view-manage/index.vue
View file @
28e885b
...
...
@@ -629,11 +629,11 @@ export default {
this
.
archiType
=
res
.
data
[
0
].
archiType
this
.
treeData
[
0
].
subList
=
res
.
data
this
.
treeDefaultExpand
=
[
res
.
data
[
0
].
viewId
]
this
.
currentNodekey
=
res
.
data
[
0
].
subList
[
0
].
viewId
this
.
currentNodekey
=
res
.
data
[
0
].
subList
[
0
]
?
.
viewId
this
.
$nextTick
(()
=>
{
this
.
$refs
.
tree
.
setCurrentKey
(
this
.
currentNodekey
)
})
this
.
viewId
=
res
.
data
[
0
].
subList
[
0
].
viewId
this
.
viewId
=
res
.
data
[
0
].
subList
[
0
]
?
.
viewId
this
.
pager1
.
current
=
1
this
.
pager2
.
current
=
1
this
.
pager3
.
current
=
1
...
...
src/views/busi-assets-list/ChooseSvg.vue
View file @
28e885b
...
...
@@ -119,8 +119,8 @@ export default {
const
icon
=
'data:image/svg+xml;base64,'
+
this
.
graphList
[
this
.
graphIndex
].
icon
const
iconName
=
this
.
graphList
[
this
.
graphIndex
].
graphName
this
.
$emit
(
'emitSvg'
,
{
icon
,
iconName
})
const
graphId
=
this
.
graphList
[
this
.
graphIndex
].
graphId
this
.
$emit
(
'emitSvg'
,
{
icon
,
iconName
,
graphId
})
},
closeGraphDialog
()
{
//图形选择窗口的取消
...
...
src/views/busi-assets-list/index.vue
View file @
28e885b
...
...
@@ -306,6 +306,15 @@
maxlength=
"100"
></el-input>
</el-form-item>
<el-form-item
label=
"资产编号:"
prop=
"assetNumber"
>
<el-input
placeholder=
"请输入内容"
v-no-backslash
v-model=
"ruleForm.assetNumber"
:disabled=
"is_add_edit == 'view' ? true : false"
maxlength=
"100"
></el-input>
</el-form-item>
<el-form-item
label=
"所属元素:"
prop=
"let3"
>
<el-select
...
...
@@ -618,10 +627,12 @@ export default {
color
:
'#d2edfd'
,
dynamicForm0_
:
[],
dynamicForm_
:
[],
preArc
:
''
preArc
:
''
,
assetNumber
:
''
},
rules
:
{
let1
:
[{
required
:
true
,
message
:
'请输入资产名称'
,
trigger
:
'blur'
}],
assetNumber
:
[{
required
:
true
,
message
:
'请输入资产编号'
,
trigger
:
'blur'
}],
let3
:
[
{
required
:
true
,
message
:
'请选择所属元素'
,
trigger
:
'change'
},
],
...
...
@@ -679,7 +690,8 @@ export default {
cascaderValue
:
[],
cascaderValue2
:
[],
preArcList
:
[],
predefineColors
:
archiEleColor
predefineColors
:
archiEleColor
,
graphId
:
''
}
},
created
()
{
...
...
@@ -706,10 +718,12 @@ export default {
this
.
selectGraphSrc
=
''
this
.
selectGraphShape
=
''
this
.
addDialog
=
false
this
.
graphId
=
''
},
getChooseSvg
(
svgInfo
)
{
this
.
selectGraphSrc
=
svgInfo
.
icon
this
.
selectGraphShape
=
svgInfo
.
iconName
this
.
graphId
=
svgInfo
.
graphId
},
openGraphDialog
()
{
this
.
chooseSvgVisible
=
true
...
...
@@ -827,7 +841,9 @@ export default {
icon
:
this
.
selectGraphSrc
,
iconName
:
this
.
selectGraphShape
,
color
:
this
.
ruleForm
.
color
,
parentElement
:
[
this
.
ruleForm
.
preArc
]
parentElement
:
[
this
.
ruleForm
.
preArc
],
assetNumber
:
this
.
ruleForm
.
assetNumber
,
graphId
:
this
.
graphId
,
}
const
requestParams
=
this
.
is_add_edit
==
'add'
...
...
@@ -1014,18 +1030,20 @@ export default {
this
.
selectCode
=
''
this
.
cascaderValue
=
[],
this
.
ruleForm
.
color
=
'#d2edfd'
this
.
ruleForm
.
assetNumber
=
''
this
.
ruleForm
.
preArc
=
''
})
},
viewItem
(
row
)
{
//查看架构
this
.
addDialog
=
true
console
.
log
(
1
)
this
.
is_add_edit
=
'view'
this
.
ruleForm
.
let1
=
row
.
assetName
this
.
ruleForm
.
let2
=
row
.
parentAssetName
this
.
ruleForm
.
let3
=
row
.
archiEleId
this
.
ruleForm
.
preArc
=
row
.
parentElement
?.
replace
(
/
\]
|
\[
|
\/?
]/g
,
''
)
this
.
ruleForm
.
assetNumber
=
row
.
assetNumber
this
.
getZuJianLeiXingSelect
(
null
).
then
((
res
)
=>
{
this
.
zuJianLeiXingSelect
=
res
if
(
this
.
ruleForm
.
let3
)
{
...
...
@@ -1081,6 +1099,7 @@ export default {
this
.
ruleForm
.
let2
=
row
.
parentAssetName
this
.
ruleForm
.
let3
=
row
.
archiEleId
this
.
ruleForm
.
preArc
=
row
.
parentElement
?.
replace
(
/
\]
|
\[
|
\/?
]/g
,
''
)
this
.
ruleForm
.
assetNumber
=
row
.
assetNumber
this
.
ruleForm
.
let4
=
row
.
sort
this
.
ruleForm
.
let5
=
row
.
isShow
==
0
?
'显示'
:
'隐藏'
this
.
ruleForm
.
color
=
row
.
color
...
...
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