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