Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CivManage
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ReactWeb5
CivManage
Commits
baea56c4
Commit
baea56c4
authored
Jan 14, 2025
by
张志伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf:管网配置界面支持修改图层的显隐
parent
71af921b
Pipeline
#95221
waiting for manual action with stages
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
114 additions
and
33 deletions
+114
-33
SchemeConfig.less
src/pages/platformCenter/gis/schemeConfig/SchemeConfig.less
+11
-0
MeteDataModal.jsx
...tformCenter/gis/schemeConfig/VectorData/MeteDataModal.jsx
+87
-33
gis.js
src/services/gis/gis.js
+16
-0
No files found.
src/pages/platformCenter/gis/schemeConfig/SchemeConfig.less
View file @
baea56c4
...
...
@@ -328,3 +328,14 @@
.schemeBox {
height: calc(100% - 51px);
}
.layerTitle{
display: flex;
align-items: center;
gap: 5px;
.layerTitle_icon{
width: 3px;
border-radius: 2px;
height: 16px;
background-color: #4699f4;
}
}
src/pages/platformCenter/gis/schemeConfig/VectorData/MeteDataModal.jsx
View file @
baea56c4
import
React
,
{
useEffect
,
useState
,
useRef
}
from
'react'
;
import
{
Spin
,
notification
,
Table
,
Modal
,
Tooltip
}
from
'antd'
;
import
{
Spin
,
notification
,
Table
,
Modal
,
Tooltip
,
message
}
from
'antd'
;
import
{
ApartmentOutlined
,
PartitionOutlined
}
from
'@ant-design/icons'
;
import
Tree
from
'@/components/ExpendableTree'
;
import
{
GetLayerList
,
GetMetaDataPreview
,
GetLayerMetaDataPreview
}
from
'@/services/gis/gis'
;
import
{
GetLayerList
,
GetMetaDataPreview
,
GetLayerMetaDataPreview
,
EditLayerMetaDataInfo
}
from
'@/services/gis/gis'
;
import
{
set
}
from
'lodash'
;
import
styles
from
'../SchemeConfig.less'
;
const
MeteDataModal
=
props
=>
{
...
...
@@ -12,8 +12,8 @@ const MeteDataModal = props => {
const
[
isLoading
,
setIsLoading
]
=
useState
(
false
);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
expendKey
,
setExpendKey
]
=
useState
(
''
);
// 保存默认展开项
const
[
recored
,
setRecored
]
=
useState
(
''
);
const
setRowClassName
=
e
=>
(
e
.
layerID
===
recored
.
layerID
?
styles
.
clickRowStyle
:
''
);
const
[
selectLayerIds
,
setSelectLayerIds
]
=
useState
([])
const
layerList
=
useRef
([])
useEffect
(()
=>
{
if
(
visible
)
{
...
...
@@ -24,12 +24,50 @@ const MeteDataModal = props => {
}
},
[
visible
]);
const
handleLayerTree
=
(
list
)
=>
{
let
treeList
=
[]
list
.
forEach
(
i
=>
{
if
(
i
.
parentLayerId
==
-
1
){
let
param
=
{
title
:<
span
onClick=
{
()
=>
{
onSelect
(
i
)}
}
>
{
i
.
title
}
</
span
>,
key
:
i
.
key
,
children
:
list
.
filter
(
j
=>
j
.
parentLayerId
===
i
.
layerID
).
map
(
k
=>
{
return
{
title
:
<
span
onClick=
{
()
=>
{
onSelect
(
k
)}
}
>
{
k
.
title
}
</
span
>,
key
:
k
.
key
,
children
:[]
}
})
}
treeList
.
push
(
param
)
}
})
return
treeList
}
const
getMeteData
=
()
=>
{
setIsLoading
(
true
)
GetLayerList
({
serviceName
:
metaData
.
GISServerProjectName
}).
then
(
res
=>
{
setIsLoading
(
false
)
if
(
res
.
success
)
{
getTree
();
setMetedataList
(
res
.
root
);
setRecored
(
res
.
root
[
0
]);
let
allKeys
=
[]
let
roots
=
[]
res
.
root
.
forEach
(
i
=>
{
if
(
i
.
layerID
){
let
key
=
`
${
i
.
parentLayerId
}
_
${
i
.
layerID
}
`
let
params
=
{
...
i
,
title
:
i
.
layerName
,
key
,
}
allKeys
.
push
(
key
)
roots
.
push
(
params
)
}
})
layerList
.
current
=
roots
setSelectLayerIds
(
allKeys
)
setMetedataList
(
handleLayerTree
(
roots
));
}
else
{
notification
.
error
({
message
:
'提示'
,
...
...
@@ -43,21 +81,15 @@ const MeteDataModal = props => {
const
getTree
=
()
=>
{
setLoading
(
true
);
GetMetaDataPreview
({
serviceName
:
metaData
.
GISServerProjectName
}).
then
(
res
=>
{
console
.
log
(
res
);
setExpendKey
(
'0-0'
);
setLoading
(
false
);
setCurrentMeta
(
res
);
});
};
const
columns
=
[
{
title
:
'图层'
,
dataIndex
:
'layerName'
,
width
:
150
,
key
:
'layerName'
,
},
];
const
handleCheck
=
(
keys
)
=>
{
setSelectLayerIds
(
keys
)
}
// 渲染机构树
const
mapTree
=
org
=>
{
...
...
@@ -95,8 +127,6 @@ const MeteDataModal = props => {
};
const
onSelect
=
e
=>
{
console
.
log
(
e
);
setRecored
(
e
);
setLoading
(
true
);
if
(
e
.
layerID
!=
null
)
{
GetLayerMetaDataPreview
({
...
...
@@ -111,7 +141,29 @@ const MeteDataModal = props => {
}
};
const
onSubmit
=
()
=>
{};
const
onSubmit
=
()
=>
{
let
items
=
[];
layerList
.
current
.
forEach
(
i
=>
{
let
defaultVisibility
=
selectLayerIds
.
includes
(
i
.
key
)
if
(
i
.
parentLayerId
==
-
1
){
defaultVisibility
=
selectLayerIds
.
some
(
j
=>
j
.
includes
(
`
${
i
.
layerID
}
_`
))
}
let
name
=
i
.
layerName
.
split
(
':'
)[
1
]
items
.
push
({
name
,
infos
:
{
defaultVisibility
,
},
});
});
EditLayerMetaDataInfo
(
metaData
.
GISServerProjectName
,
items
).
then
(
res
=>
{
if
(
res
.
code
==
0
){
return
message
.
success
(
res
.
data
)
}
else
{
return
message
.
info
(
res
?.
data
||
'元数据信息修改失败!'
)
}
})
};
return
(
<
Modal
visible=
{
visible
}
...
...
@@ -128,22 +180,24 @@ const MeteDataModal = props => {
<
Spin
spinning=
{
isLoading
}
>
<
div
style=
{
{
width
:
'1000px'
,
height
:
'640px'
,
display
:
'flex'
}
}
>
<
div
style=
{
{
width
:
'300px'
}
}
>
<
Table
onRow=
{
record
=>
({
onClick
:
e
=>
{
onSelect
(
record
);
},
// 点击行
})
}
bordered
rowClassName=
{
setRowClassName
}
pagination=
{
false
}
style=
{
{
width
:
'300px'
}
}
columns=
{
columns
}
dataSource=
{
metedataList
}
size=
"small"
scroll=
{
{
y
:
'600px'
,
<
div
className=
{
styles
.
layerTitle
}
onClick=
{
()
=>
{
onSelect
();
}
}
>
<
div
className=
{
styles
.
layerTitle_icon
}
/>
<
span
>
地图文档
</
span
>
</
div
>
<
Tree
showIcon=
"true"
blockNode
defaultExpandAll
treeData=
{
metedataList
}
checkable
autoExpandParent=
{
true
}
onCheck=
{
handleCheck
}
checkedKeys=
{
selectLayerIds
}
/>
</
div
>
<
Spin
spinning=
{
loading
}
>
...
...
src/services/gis/gis.js
View file @
baea56c4
import
{
get
,
post
,
PUBLISH_SERVICE
,
CITY_SERVICE
,
PANDA_GIS
}
from
'@/services/index'
;
import
{
request
}
from
'@wisdom-utils/utils'
;
// 1.获取全部地图方案配置
export
const
GetAllConfig
=
param
=>
get
(
`
${
CITY_SERVICE
}
/OMS.svc/GetAllConfig`
,
param
);
// 2.获取元数据
...
...
@@ -26,3 +29,16 @@ export const GetLayerMetaDataPreview = param =>
// 查看
export
const
LayerSetting
=
param
=>
get
(
`
${
PANDA_GIS
}
/MapLayer/LayerSetting`
,
param
);
// 编辑图层元数据信息
export
const
EditLayerMetaDataInfo
=
(
mapServerName
,
data
)
=>
request
({
url
:
`
${
PANDA_GIS
}
/MetaData/EditLayerMetaDataInfo?mapServerName=
${
mapServerName
}
`
,
method
:
'post'
,
headers
:
{
accept
:
'text/plain'
,
'Content-Type'
:
'application/json'
,
},
data
:
JSON
.
stringify
(
data
),
})
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment