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
83c0f277
Commit
83c0f277
authored
Sep 07, 2022
by
皮倩雯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gis底图配置新增离线地图配置,限制方案删除最后一个底图
parent
a3fbb117
Pipeline
#59534
waiting for manual action with stages
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
198 additions
and
161 deletions
+198
-161
AddModal.jsx
...s/platformCenter/gis/schemeConfig/TileConfig/AddModal.jsx
+69
-54
NewEditModal.jsx
...atformCenter/gis/schemeConfig/TileConfig/NewEditModal.jsx
+69
-52
card.jsx
...enter/gis/schemeConfig/projectMessage/components/card.jsx
+60
-55
No files found.
src/pages/platformCenter/gis/schemeConfig/TileConfig/AddModal.jsx
View file @
83c0f277
...
...
@@ -51,6 +51,7 @@ const AddModal = props => {
const
[
o
,
setO
]
=
useState
(
''
);
const
[
r
,
setR
]
=
useState
(
''
);
const
[
current
,
setCurrent
]
=
useState
(
false
);
const
[
type1
,
setType
]
=
useState
(
0
);
const
[
form
]
=
Form
.
useForm
();
const
arr
=
[
'assets/images/thumbnail/thumbnail_1.jpg'
,
...
...
@@ -66,7 +67,7 @@ const AddModal = props => {
setLoading
(
true
);
let
obj
=
form
.
getFieldsValue
();
let
arr
=
{};
console
.
log
(
obj
.
servicename
);
console
.
log
(
obj
.
url
);
// 连点
if
(
obj
.
servicename
)
{
if
(
mapType
==
1
)
{
...
...
@@ -75,9 +76,10 @@ const AddModal = props => {
terminalType
:
'base'
,
isBaseMap
:
true
,
jsonCfg
:
JSON
.
stringify
({
alpha
:
alpha
,
alpha
,
label
:
obj
.
label
,
url
:
obj
.
url
,
taggingUrl
:
obj
.
taggingUrl
,
icon
:
obj
.
icon
,
type
:
obj
.
type
,
extent
:
obj
.
range
,
...
...
@@ -114,9 +116,10 @@ const AddModal = props => {
terminalType
:
'base'
,
isBaseMap
:
true
,
jsonCfg
:
JSON
.
stringify
({
alpha
:
alpha
,
alpha
,
label
:
obj
.
label
,
url
:
url
,
url
:
obj
.
url
||
url
,
taggingUrl
:
obj
.
taggingUrl
,
icon
:
obj
.
icon
,
type
:
obj
.
type
,
}),
...
...
@@ -156,6 +159,7 @@ const AddModal = props => {
useEffect
(()
=>
{
setLoading
(
false
);
setMapType
(
0
);
setType
(
0
);
setAdvanced
(
0
);
setCurrent
(
false
);
setPickItem
(
''
);
...
...
@@ -215,9 +219,7 @@ const AddModal = props => {
let
silderData
=
value
==
100
?
1
:
value
/
100
;
setAlpha
(
silderData
);
};
const
tipFormatter
=
value
=>
{
return
`
${
value
}
%`
;
};
const
tipFormatter
=
value
=>
`
${
value
}
%`
;
const
imgURL
=
[
{
...
...
@@ -250,6 +252,11 @@ const AddModal = props => {
}
else
{
setMapType
(
0
);
}
if
(
value
==
'offline-map'
)
{
setType
(
1
);
}
else
{
setType
(
0
);
}
};
// 添加地图类型
const
servicenameToType
=
type
=>
{
...
...
@@ -347,12 +354,13 @@ const AddModal = props => {
return
'arcgis影像'
;
case
'arcgis-i-ia'
:
return
'arcgis影像注记'
;
case
'offline-map'
:
return
'离线地图'
;
// case 'google-user':
// return;
// case 'pipenet-tile':
// return;
default
:
return
;
}
};
// 选择坐标系
...
...
@@ -512,7 +520,7 @@ const AddModal = props => {
return
(
<
Modal
title=
"添加基础底图"
bodyStyle=
{
{
width
:
'100%'
,
maxHeight
:
'600px'
,
overflow
:
'scroll'
,
minHeight
:
'3
6
0px'
}
}
bodyStyle=
{
{
width
:
'100%'
,
maxHeight
:
'600px'
,
overflow
:
'scroll'
,
minHeight
:
'3
0
0px'
}
}
style=
{
{
top
:
'150px'
}
}
width=
"700px"
destroyOnClose
...
...
@@ -541,6 +549,7 @@ const AddModal = props => {
<
Option
value=
"mapbox-i-ia"
>
mapbox影像(mapbox-i-ia)
</
Option
>
<
Option
value=
"tianditu-arcgis-i"
>
arcgis影像(tianditu-arcgis-i)
</
Option
>
<
Option
value=
"arcgis-i-ia"
>
arcgis影像注记(arcgis-i-ia)
</
Option
>
<
Option
value=
"offline-map"
>
离线地图(offline-map)
</
Option
>
</
Select
>
</
Item
>
<
Item
...
...
@@ -568,7 +577,7 @@ const AddModal = props => {
{
/* <Item label="URL" name="url">
<Input placeholder="请输入URL" allowClear />
</Item> */
}
<
Item
label=
"透明度"
name=
"alpha"
>
{
/*
<Item label="透明度" name="alpha">
<Slider
marks={marks}
min={0}
...
...
@@ -579,39 +588,51 @@ const AddModal = props => {
// tooltipVisible
defaultValue={100}
/>
</
Item
>
</Item>
*/
}
<
Item
label=
"选择缩略图"
name=
"icon"
rules=
{
[{
required
:
true
,
message
:
'请选择缩略图'
}]
}
>
<
div
style=
{
{
display
:
'flex'
,
justifyContent
:
'space-around'
}
}
>
{
imgURL
.
map
((
item
,
index
)
=>
{
return
(
<
div
className=
{
classnames
({
[
styles
.
imgHidden
]:
index
!==
pickItem
,
[
styles
.
imgItem
]:
index
===
pickItem
,
})
}
key=
{
index
}
>
<
img
width=
"100"
height=
"63"
src=
{
item
.
url
}
onClick=
{
e
=>
{
setPickItem
(
index
);
form
.
setFieldsValue
({
icon
:
arr
[
index
]
});
}
}
/>
{
/* <Radio.Group options={item} onChange={radioChange} value={radio}>
{
imgURL
.
map
((
item
,
index
)
=>
(
<
div
className=
{
classnames
({
[
styles
.
imgHidden
]:
index
!==
pickItem
,
[
styles
.
imgItem
]:
index
===
pickItem
,
})
}
key=
{
index
}
>
<
img
width=
"100"
height=
"63"
src=
{
item
.
url
}
onClick=
{
e
=>
{
setPickItem
(
index
);
form
.
setFieldsValue
({
icon
:
arr
[
index
]
});
}
}
/>
{
/* <Radio.Group options={item} onChange={radioChange} value={radio}>
<Radio value={arr[index]} />
</Radio.Group> */
}
</
div
>
);
})
}
</
div
>
))
}
</
div
>
</
Item
>
{
type1
===
1
&&
(
<>
<
Item
label=
"URL"
name=
"url"
rules=
{
[{
required
:
true
,
message
:
'请输入url'
}]
}
>
<
Input
placeholder=
"请输入url"
allowClear
/>
</
Item
>
<
Item
label=
"注记URL"
name=
"taggingUrl"
rules=
{
[{
required
:
true
,
message
:
'请输入url'
}]
}
>
<
Input
placeholder=
"请输入url"
allowClear
/>
</
Item
>
</>
)
}
{
/* <Item label="缩略图" name="icon" rules={[{ required: true, message: '请选择缩略图' }]}>
<Input placeholder="请输入URL" disabled />
</Item> */
}
...
...
@@ -646,13 +667,11 @@ const AddModal = props => {
>
<
Select
onChange=
{
handleWorkSpance
}
>
{
keyData
?
keyData
.
map
((
item
,
index
)
=>
{
return
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
);
})
?
keyData
.
map
((
item
,
index
)
=>
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
))
:
''
}
</
Select
>
</
Item
>
...
...
@@ -663,13 +682,11 @@ const AddModal = props => {
>
<
Select
onChange=
{
handleLayer
}
>
{
data
?
data
.
map
((
item
,
index
)
=>
{
return
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
);
})
?
data
.
map
((
item
,
index
)
=>
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
))
:
''
}
</
Select
>
</
Item
>
...
...
@@ -680,13 +697,11 @@ const AddModal = props => {
>
<
Select
onChange=
{
handleCoordinate
}
>
{
areaData
?
areaData
.
map
((
item
,
index
)
=>
{
return
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
);
})
?
areaData
.
map
((
item
,
index
)
=>
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
))
:
''
}
</
Select
>
</
Item
>
...
...
src/pages/platformCenter/gis/schemeConfig/TileConfig/NewEditModal.jsx
View file @
83c0f277
...
...
@@ -49,6 +49,7 @@ const NewEditModal = props => {
const
[
areaData
,
setAreaData
]
=
useState
([]);
const
[
pickItem
,
setPickItem
]
=
useState
(
''
);
const
[
current
,
setCurrent
]
=
useState
(
false
);
const
[
type1
,
setType
]
=
useState
(
0
);
const
[
form
]
=
Form
.
useForm
();
const
arr
=
[
'assets/images/thumbnail/thumbnail_1.jpg'
,
...
...
@@ -71,9 +72,10 @@ const NewEditModal = props => {
terminalType
:
'base'
,
isBaseMap
:
true
,
jsonCfg
:
JSON
.
stringify
({
alpha
:
alpha
,
alpha
,
label
:
obj
.
label
,
url
:
obj
.
url
,
taggingUrl
:
obj
.
taggingUrl
,
icon
:
obj
.
icon
,
type
:
obj
.
type
,
extent
:
obj
.
range
,
...
...
@@ -110,9 +112,10 @@ const NewEditModal = props => {
terminalType
:
'base'
,
isBaseMap
:
true
,
jsonCfg
:
JSON
.
stringify
({
alpha
:
alpha
,
alpha
,
label
:
obj
.
label
,
url
:
url
,
url
:
obj
.
url
||
url
,
taggingUrl
:
obj
.
taggingUrl
,
icon
:
obj
.
icon
,
type
:
obj
.
type
,
extent
:
null
,
...
...
@@ -182,6 +185,11 @@ const NewEditModal = props => {
}
else
{
setMapType
(
0
);
}
if
(
formObj
.
type
==
'offline-map'
)
{
setType
(
1
);
}
else
{
setType
(
0
);
}
if
(
formObj
.
m_User
)
{
setAdvanced
(
1
);
setCurrent
(
true
);
...
...
@@ -246,9 +254,7 @@ const NewEditModal = props => {
let
silderData
=
value
==
100
?
1
:
value
/
100
;
setAlpha
(
silderData
);
};
const
tipFormatter
=
value
=>
{
return
`
${
value
}
%`
;
};
const
tipFormatter
=
value
=>
`
${
value
}
%`
;
const
imgURL
=
[
{
...
...
@@ -293,6 +299,11 @@ const NewEditModal = props => {
}
else
{
setMapType
(
0
);
}
if
(
value
==
'offline-map'
)
{
setType
(
1
);
}
else
{
setType
(
0
);
}
};
// 添加地图类型
const
servicenameToType
=
type
=>
{
...
...
@@ -316,7 +327,6 @@ const NewEditModal = props => {
// case 'pipenet-tile':
// return;
default
:
return
;
}
};
// 选择坐标系
...
...
@@ -502,6 +512,7 @@ const NewEditModal = props => {
<
Option
value=
"mapbox-i-ia"
>
mapbox影像(mapbox-i-ia)
</
Option
>
<
Option
value=
"tianditu-arcgis-i"
>
arcgis影像(tianditu-arcgis-i)
</
Option
>
<
Option
value=
"arcgis-i-ia"
>
arcgis影像注记(arcgis-i-ia)
</
Option
>
<
Option
value=
"offline-map"
>
离线地图(offline-map)
</
Option
>
</
Select
>
</
Item
>
<
Item
...
...
@@ -521,7 +532,7 @@ const NewEditModal = props => {
{
/* <Item label="URL" name="url">
<Input placeholder="请输入URL" allowClear />
</Item> */
}
<
Item
label=
"透明度"
name=
"alpha"
>
{
/*
<Item label="透明度" name="alpha">
{console.log(formObj.alpha)}
<Slider
marks={marks}
...
...
@@ -532,39 +543,51 @@ const NewEditModal = props => {
// // tooltipVisible={true}
defaultValue={formObj.alpha * 100}
/>
</
Item
>
</Item>
*/
}
<
Item
label=
"选择缩略图"
name=
"icon"
rules=
{
[{
required
:
true
,
message
:
'请选择缩略图'
}]
}
>
<
div
style=
{
{
display
:
'flex'
,
justifyContent
:
'space-around'
}
}
>
{
imgURL
.
map
((
item
,
index
)
=>
{
return
(
<
div
className=
{
classnames
({
[
styles
.
imgHidden
]:
index
!==
pickItem
,
[
styles
.
imgItem
]:
index
===
pickItem
,
})
}
key=
{
index
}
>
<
img
width=
"100"
height=
"63"
src=
{
item
.
url
}
onClick=
{
e
=>
{
setPickItem
(
index
);
form
.
setFieldsValue
({
icon
:
arr
[
index
]
});
}
}
/>
{
/* <Radio.Group options={item} onChange={radioChange} value={radio}>
{
imgURL
.
map
((
item
,
index
)
=>
(
<
div
className=
{
classnames
({
[
styles
.
imgHidden
]:
index
!==
pickItem
,
[
styles
.
imgItem
]:
index
===
pickItem
,
})
}
key=
{
index
}
>
<
img
width=
"100"
height=
"63"
src=
{
item
.
url
}
onClick=
{
e
=>
{
setPickItem
(
index
);
form
.
setFieldsValue
({
icon
:
arr
[
index
]
});
}
}
/>
{
/* <Radio.Group options={item} onChange={radioChange} value={radio}>
<Radio value={arr[index]} />
</Radio.Group> */
}
</
div
>
);
})
}
</
div
>
))
}
</
div
>
</
Item
>
{
type1
===
1
&&
(
<>
<
Item
label=
"URL"
name=
"url"
rules=
{
[{
required
:
true
,
message
:
'请输入url'
}]
}
>
<
Input
placeholder=
"请输入url"
allowClear
/>
</
Item
>
<
Item
label=
"注记URL"
name=
"taggingUrl"
rules=
{
[{
required
:
true
,
message
:
'请输入url'
}]
}
>
<
Input
placeholder=
"请输入url"
allowClear
/>
</
Item
>
</>
)
}
{
/* <Item label="缩略图" name="icon" rules={[{ required: true, message: '请选择缩略图' }]}>
<Input placeholder="请输入URL" disabled />
</Item> */
}
...
...
@@ -599,13 +622,11 @@ const NewEditModal = props => {
>
<
Select
onChange=
{
handleWorkSpance
}
>
{
keyData
?
keyData
.
map
((
item
,
index
)
=>
{
return
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
);
})
?
keyData
.
map
((
item
,
index
)
=>
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
))
:
''
}
</
Select
>
</
Item
>
...
...
@@ -616,13 +637,11 @@ const NewEditModal = props => {
>
<
Select
onChange=
{
handleLayer
}
>
{
data
?
data
.
map
((
item
,
index
)
=>
{
return
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
);
})
?
data
.
map
((
item
,
index
)
=>
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
))
:
''
}
</
Select
>
</
Item
>
...
...
@@ -633,13 +652,11 @@ const NewEditModal = props => {
>
<
Select
onChange=
{
handleCoordinate
}
>
{
areaData
?
areaData
.
map
((
item
,
index
)
=>
{
return
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
);
})
?
areaData
.
map
((
item
,
index
)
=>
(
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
))
:
''
}
</
Select
>
</
Item
>
...
...
src/pages/platformCenter/gis/schemeConfig/projectMessage/components/card.jsx
View file @
83c0f277
...
...
@@ -48,23 +48,30 @@ const CardData = props => {
setCardData
(
keepData
);
console
.
log
(
props
.
item
);
},
[
cardFlag
]);
const
deletebaseMap
=
(
item
,
baseMapItem
)
=>
{
unbindSchemeBaseMap
({
schemename
:
item
.
schemename
,
basemapName
:
baseMapItem
}).
then
(
res
=>
{
if
(
res
.
code
==
'0'
)
{
notification
.
success
({
message
:
'提示'
,
duration
:
3
,
description
:
'底图方案删除成功'
,
});
deletebaseMaps
();
}
else
{
notification
.
error
({
message
:
'提示'
,
duration
:
3
,
description
:
'底图方案删除失败'
,
});
}
});
console
.
log
(
item
);
console
.
log
(
baseMapItem
);
if
(
item
.
baseMap
.
length
>
1
)
{
unbindSchemeBaseMap
({
schemename
:
item
.
schemename
,
basemapName
:
baseMapItem
}).
then
(
res
=>
{
if
(
res
.
code
==
'0'
)
{
notification
.
success
({
message
:
'提示'
,
duration
:
3
,
description
:
'底图方案删除成功'
,
});
deletebaseMaps
();
}
else
{
notification
.
error
({
message
:
'提示'
,
duration
:
3
,
description
:
'底图方案删除失败'
,
});
}
});
}
else
{
message
.
error
(
'方案至少需要一张底图'
);
}
};
// 删除方案
const
deleteTile
=
item
=>
{
...
...
@@ -286,47 +293,45 @@ const CardData = props => {
</
div
>
<
div
style=
{
{
overflowY
:
'scroll'
,
height
:
'11.4rem'
}
}
>
{
props
.
item
.
baseMap
&&
props
.
item
.
baseMap
.
length
?
props
.
item
.
baseMap
.
map
((
baseMapItem
,
baseindex
)
=>
{
return
(
<
div
className=
{
styles
.
mapItem
}
key=
{
baseindex
}
>
<
div
onClick=
{
()
=>
pick
(
props
.
item
.
schemename
,
baseMapItem
)
}
className=
{
classnames
({
[
styles
.
defaultTile
]:
true
,
[
styles
.
activeTile
]:
baseindex
==
props
.
item
.
defaultBaseMap
,
})
}
?
props
.
item
.
baseMap
.
map
((
baseMapItem
,
baseindex
)
=>
(
<
div
className=
{
styles
.
mapItem
}
key=
{
baseindex
}
>
<
div
onClick=
{
()
=>
pick
(
props
.
item
.
schemename
,
baseMapItem
)
}
className=
{
classnames
({
[
styles
.
defaultTile
]:
true
,
[
styles
.
activeTile
]:
baseindex
==
props
.
item
.
defaultBaseMap
,
})
}
>
默认
{
cardData
.
indexOf
(
baseMapItem
)
==
-
1
?
(
<
BlockOutlined
style=
{
{
marginTop
:
'5px'
}
}
/>
)
:
(
<
GlobalOutlined
style=
{
{
marginTop
:
'5px'
}
}
/>
)
}
</
div
>
<
div
className=
{
styles
.
mapText
}
>
<
Tooltip
title=
{
baseMapItem
}
>
{
baseMapItem
}
</
Tooltip
>
</
div
>
<
div
className=
{
styles
.
mapIcon
}
>
<
Popconfirm
title=
{
cardData
.
indexOf
(
baseMapItem
)
==
-
1
?
(
<
span
>
是否删除该分级底图?
</
span
>
)
:
(
<
span
>
是否删除该底图?
</
span
>
)
}
okText=
"确认"
cancelText=
"取消"
onConfirm=
{
()
=>
{
deletebaseMap
(
props
.
item
,
baseMapItem
);
}
}
>
默认
{
cardData
.
indexOf
(
baseMapItem
)
==
-
1
?
(
<
BlockOutlined
style=
{
{
marginTop
:
'5px'
}
}
/>
)
:
(
<
GlobalOutlined
style=
{
{
marginTop
:
'5px'
}
}
/>
)
}
</
div
>
<
div
className=
{
styles
.
mapText
}
>
<
Tooltip
title=
{
baseMapItem
}
>
{
baseMapItem
}
</
Tooltip
>
</
div
>
<
div
className=
{
styles
.
mapIcon
}
>
<
Popconfirm
title=
{
cardData
.
indexOf
(
baseMapItem
)
==
-
1
?
(
<
span
>
是否删除该分级底图?
</
span
>
)
:
(
<
span
>
是否删除该底图?
</
span
>
)
}
okText=
"确认"
cancelText=
"取消"
onConfirm=
{
()
=>
{
deletebaseMap
(
props
.
item
,
baseMapItem
);
}
}
>
<
CloseOutlined
/>
</
Popconfirm
>
{
' '
}
</
div
>
<
CloseOutlined
/>
</
Popconfirm
>
{
' '
}
</
div
>
);
}
)
</
div
>
)
)
:
''
}
</
div
>
</
Card
>
...
...
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