Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
web
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
web
Commits
9442ee5e
提交
9442ee5e
authored
5月 29, 2023
作者:
18928357778
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添-飞手培训-详情-去考试页面
添-作业服务-详情-月售数量 添-首页-地图-更多网点页面 改-首页-底部固定定位
上级
1c0dbaf0
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
635 行增加
和
21 行删除
+635
-21
index.tsx
components/footer/index.tsx
+1
-1
index.tsx
components/layout/index.tsx
+4
-2
[id].page.tsx
pages/flyingHandService/examination/[id].page.tsx
+12
-5
index.tsx
...ervice/examination/components/brushQuestionZone/index.tsx
+111
-0
styled.tsx
...rvice/examination/components/brushQuestionZone/styled.tsx
+68
-0
index.tsx
...yingHandService/examination/components/mockExam/index.tsx
+35
-0
styled.tsx
...ingHandService/examination/components/mockExam/styled.tsx
+69
-0
index.page.tsx
pages/flyingHandService/index.page.tsx
+12
-3
index.tsx
pages/home/waterfallFlowBody/components/map/index.tsx
+4
-3
index.page.tsx
...lFlowBody/components/map/moreServicePoints/index.page.tsx
+222
-0
styled.tsx
...rfallFlowBody/components/map/moreServicePoints/styled.tsx
+90
-0
index.tsx
pages/home/waterfallFlowBody/index.tsx
+1
-5
[id].page.tsx
pages/jobServices/detail/[id].page.tsx
+6
-2
没有找到文件。
components/footer/index.tsx
浏览文件 @
9442ee5e
...
@@ -37,7 +37,7 @@ export default function Footer() {
...
@@ -37,7 +37,7 @@ export default function Footer() {
onClick=
{
()
=>
{
onClick=
{
()
=>
{
if
(
item
.
title
===
"科比特官网"
)
if
(
item
.
title
===
"科比特官网"
)
window
.
location
.
href
=
item
.
url
!
;
window
.
location
.
href
=
item
.
url
!
;
}
}
}
}
alt=
""
alt=
""
className=
{
styles
.
qrcodeImg
}
className=
{
styles
.
qrcodeImg
}
src=
{
item
.
img
}
src=
{
item
.
img
}
...
...
components/layout/index.tsx
浏览文件 @
9442ee5e
...
@@ -24,12 +24,14 @@ const contentStyle: React.CSSProperties = {
...
@@ -24,12 +24,14 @@ const contentStyle: React.CSSProperties = {
};
};
const
footerStyle
:
React
.
CSSProperties
=
{
const
footerStyle
:
React
.
CSSProperties
=
{
width
:
"100%"
,
color
:
""
,
color
:
""
,
backgroundColor
:
""
,
backgroundColor
:
""
,
lineHeight
:
"1"
,
lineHeight
:
"1"
,
padding
:
0
,
padding
:
0
,
position
:
"relative"
,
position
:
"fixed"
,
marginTop
:
60
,
bottom
:
0
,
// marginTop: 60,
};
};
type
Props
=
{
type
Props
=
{
...
...
pages/flyingHandService/examination/[id].page.tsx
浏览文件 @
9442ee5e
import
React
from
"react"
;
import
React
from
"react"
;
import
Layout
from
"~/components/layout"
;
import
Layout
from
"~/components/layout"
;
import
{
Box
}
from
"./styled"
;
import
{
Box
}
from
"./styled"
;
import
BrushQuestionZone
from
'./components/brushQuestionZone'
import
MockExam
from
'./components/mockExam'
import
{
Tabs
}
from
"antd"
;
import
{
Tabs
}
from
"antd"
;
import
type
{
TabsProps
}
from
"antd"
;
import
type
{
TabsProps
}
from
"antd"
;
...
@@ -12,19 +14,24 @@ export default function ExaminationDateil() {
...
@@ -12,19 +14,24 @@ export default function ExaminationDateil() {
const
items
:
TabsProps
[
"items"
]
=
[
const
items
:
TabsProps
[
"items"
]
=
[
{
{
key
:
"1"
,
key
:
"1"
,
label
:
`
Tab 1
`
,
label
:
`
刷题专区
`
,
children
:
`Content of Tab Pane 1`
,
children
:
<
BrushQuestionZone
/>
,
},
},
{
{
key
:
"2"
,
key
:
"2"
,
label
:
`
Tab 2
`
,
label
:
`
模拟考试
`
,
children
:
`Content of Tab Pane 2`
,
children
:
<
MockExam
/>
,
},
},
];
];
return
(
return
(
<
Layout
>
<
Layout
>
<
Box
>
<
Box
>
<
Tabs
defaultActiveKey=
"1"
items=
{
items
}
onChange=
{
onChange
}
/>
<
Tabs
defaultActiveKey=
"1"
items=
{
items
}
onChange=
{
onChange
}
centered
size=
"large"
/>
</
Box
>
</
Box
>
</
Layout
>
</
Layout
>
);
);
...
...
pages/flyingHandService/examination/components/brushQuestionZone/index.tsx
0 → 100644
浏览文件 @
9442ee5e
import
React
,{
useEffect
,
useState
}
from
'react'
import
{
Box
}
from
'./styled'
import
{
Cascader
,
Select
}
from
'antd'
import
api
,
{
Flying
,
SkillsType
,
RegionResp
}
from
"../../../api"
;
interface
BrushQuestionZoneType
{
}
export
default
function
index
()
{
const
[
secondDistrictInfo
,
setSecondDistrictInfo
]
=
useState
(
Array
<
RegionResp
>
);
const
[
skills
,
setSkills
]
=
useState
(
Array
<
RegionResp
>
);
const
[
flightSkillsList
,
setFlightSkillsList
]
=
useState
(
Array
<
SkillsType
>
);
const
[
list
,
setList
]
=
useState
<
Array
<
BrushQuestionZoneType
>>
()
const
handleChange
=
(
value
:
string
)
=>
{
console
.
log
(
`selected
${
value
}
`
);
};
useEffect
(()
=>
{
setList
([{},{},{},{},{},{}])
api
.
region
().
then
((
res
)
=>
{
setSecondDistrictInfo
(
res
.
result
||
[]);
});
api
.
PilotLicense
().
then
((
res
)
=>
{
setSkills
(
res
.
result
||
[]);
});
api
.
IndustryFlightSkills
().
then
((
res
)
=>
{
const
list
=
res
.
result
?.
map
((
item
)
=>
{
item
.
label
=
item
.
skillsName
item
.
value
=
item
.
id
return
item
})
setFlightSkillsList
(
list
||
[]);
});
},
[]);
return
(
<
Box
>
<
div
className=
"title"
>
<
Cascader
allowClear
placeholder=
"地域"
className=
"selectItem"
size=
"large"
fieldNames=
{
{
label
:
"name"
,
value
:
"id"
,
children
:
"childInfo"
,
}
}
options=
{
secondDistrictInfo
}
// onChange={onChange}
changeOnSelect
/>
<
Cascader
allowClear
placeholder=
"考证"
className=
"selectItem"
size=
"large"
fieldNames=
{
{
label
:
"licenseType"
,
value
:
"id"
,
children
:
"childLicenses"
,
}
}
options=
{
skills
}
// onChange={onChange}
changeOnSelect
/>
<
Select
className=
"selectItem"
popupMatchSelectWidth=
{
false
}
placeholder=
"技能"
size=
"large"
// onChange={(value) => onProvinceChange(value, "技能")}
options=
{
flightSkillsList
}
fieldNames=
{
{
value
:
"id"
,
label
:
"skillsName"
}
}
allowClear
/>
<
Cascader
allowClear
placeholder=
"选择课程"
className=
"selectItem"
style=
{
{
width
:
200
}
}
size=
"large"
fieldNames=
{
{
label
:
"name"
,
value
:
"id"
,
children
:
"childInfo"
,
}
}
options=
{
secondDistrictInfo
}
// onChange={onChange}
changeOnSelect
/>
</
div
>
<
div
className=
"content"
>
{
list
?.
map
(
item
=>
(
<
div
className=
'item'
>
<
div
className=
'img-box'
></
div
>
<
div
className=
'item-content'
>
第一章 第1节 习题练习习题练习习题练习
</
div
>
</
div
>
))
}
</
div
>
</
Box
>
)
}
pages/flyingHandService/examination/components/brushQuestionZone/styled.tsx
0 → 100644
浏览文件 @
9442ee5e
import
styled
from
"styled-components"
;
export
default
function
Style
()
{
return
<></>;
}
export
const
Box
=
styled
.
div
`
box-sizing: border-box;
width: 1200px;
height: 859px;
background: #FFFFFF;
border-radius: 6px;
padding: 32px 26px 32px 24px;
.title{
display: flex;
align-items: center;
height: 60px;
.selectItem {
width: 120px;
height: 60px;
background-color: #fff;
border-radius: 5px;
color: red;
margin-right: 8px;
.ant-select-selection-placeholder {
color: #000;
line-height: 60px;
text-align: center;
}
.ant-select-selection-item{
line-height: 60px;
text-align: center;
}
.ant-select-selector{
height: 60px;
}
}
}
.content{
display: flex;
flex-wrap: wrap;
margin-top: 32px;
.item {
display: flex;
width: 360px;
height: 100px;
background: #FFFFFF;
border: 1px solid #F0F0F0;
margin: 0 16px 20px 0;
&:nth-child(3n){
margin-right: 0;
}
.img-box{
width: 120px;
height: 100px;
background: #E6E6E6;
}
.item-content{
display: flex;
align-items: center;
flex: 1;
padding: 12px 14px 11px 16px;
}
}
}
`
\ No newline at end of file
pages/flyingHandService/examination/components/mockExam/index.tsx
0 → 100644
浏览文件 @
9442ee5e
import
React
,
{
useEffect
,
useState
}
from
'react'
import
{
Box
}
from
'./styled'
interface
MockExamType
{
}
export
default
function
index
()
{
const
[
list
,
setList
]
=
useState
<
Array
<
MockExamType
>>
()
useEffect
(()
=>
{
setList
([{},{},{},{},{},{}])
},[])
return
(
<
Box
>
<
div
className=
"content"
>
{
list
?.
map
(
item
=>
(
<
div
className=
'item'
>
<
div
className=
'img-box'
></
div
>
<
div
className=
'item-content'
>
<
div
className=
"top"
>
云飞手行业认证考核
</
div
>
<
div
className=
"bottom"
>
<
div
className=
"user-img"
></
div
>
<
div
className=
"application"
>
77人报名
</
div
>
</
div
>
</
div
>
</
div
>
))
}
</
div
>
</
Box
>
)
}
pages/flyingHandService/examination/components/mockExam/styled.tsx
0 → 100644
浏览文件 @
9442ee5e
import
styled
from
"styled-components"
;
export
default
function
Style
()
{
return
<></>;
}
export
const
Box
=
styled
.
div
`
box-sizing: border-box;
padding: 46px 64px 46px 24px;
background-color: #fff;
min-height: 845px;
border-radius: 6px;
.content{
display: flex;
flex-wrap: wrap;
.item {
display: flex;
width: 360px;
height: 100px;
background: #FFFFFF;
border: 1px solid #F0F0F0;
margin: 0 16px 20px 0;
&:nth-child(3n){
margin-right: 0;
}
.img-box{
width: 120px;
height: 100px;
background: #E6E6E6;
}
.item-content{
display: flex;
flex-direction: column;
justify-content: space-between;
flex: 1;
padding: 12px 14px 11px 16px;
.top{
width: 200px;
height: 20px;
font-size: 16px;
font-family: MicrosoftYaHei;
color: #34383F;
line-height: 20px;
letter-spacing: 1px;
-webkit-background-clip: text;
}
.bottom{
display: flex;
align-items: center;
.user-img{
width: 20px;
height: 20px;
border-radius: 50%;
background-color: pink;
}
.application{
margin-left: 6px;
height: 16px;
font-size: 11px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FE6000;
line-height: 16px;
}
}
}
}
}
`
;
pages/flyingHandService/index.page.tsx
浏览文件 @
9442ee5e
...
@@ -160,6 +160,17 @@ export default function FlyingHandService() {
...
@@ -160,6 +160,17 @@ export default function FlyingHandService() {
});
});
};
};
const
onChangeRegion
=
(
value
:
any
)
=>
{
setFilterParams
((
props
)
=>
{
return
{
...
props
,
regionId
:
(
value
&&
value
[
value
.
length
-
1
])
||
undefined
,
};
});
};
useEffect
(()
=>
{
useEffect
(()
=>
{
setRightDomList
(
setRightDomList
(
list
.
map
((
item
:
string
)
=>
{
list
.
map
((
item
:
string
)
=>
{
...
@@ -258,7 +269,7 @@ export default function FlyingHandService() {
...
@@ -258,7 +269,7 @@ export default function FlyingHandService() {
children
:
"childInfo"
,
children
:
"childInfo"
,
}
}
}
}
options=
{
secondDistrictInfo
}
options=
{
secondDistrictInfo
}
onChange=
{
onChange
}
onChange=
{
onChange
Region
}
changeOnSelect
changeOnSelect
/>
/>
<
Cascader
<
Cascader
...
@@ -350,7 +361,6 @@ export default function FlyingHandService() {
...
@@ -350,7 +361,6 @@ export default function FlyingHandService() {
allowClear
allowClear
placeholder=
"城市"
placeholder=
"城市"
className=
"selectItem"
className=
"selectItem"
size=
"large"
fieldNames=
{
{
fieldNames=
{
{
label
:
"name"
,
label
:
"name"
,
value
:
"id"
,
value
:
"id"
,
...
@@ -376,7 +386,6 @@ export default function FlyingHandService() {
...
@@ -376,7 +386,6 @@ export default function FlyingHandService() {
allowClear
allowClear
placeholder=
"是否有无人机执照"
placeholder=
"是否有无人机执照"
className=
"selectItem"
className=
"selectItem"
size=
"large"
fieldNames=
{
{
fieldNames=
{
{
label
:
"licenseType"
,
label
:
"licenseType"
,
value
:
"id"
,
value
:
"id"
,
...
...
pages/home/waterfallFlowBody/components/map/index.tsx
浏览文件 @
9442ee5e
...
@@ -3,6 +3,7 @@ import { message } from 'antd';
...
@@ -3,6 +3,7 @@ import { message } from 'antd';
import
{
Box
}
from
"./styled"
;
import
{
Box
}
from
"./styled"
;
import
api
from
"./api"
;
import
api
from
"./api"
;
import
icon
from
'./assets/img.png'
import
icon
from
'./assets/img.png'
import
{
useRouter
}
from
'next/router'
let
MAP
:
any
;
let
MAP
:
any
;
let
Amap
:
any
;
let
Amap
:
any
;
...
@@ -14,6 +15,7 @@ interface UserInfoType {
...
@@ -14,6 +15,7 @@ interface UserInfoType {
}
}
export
default
function
MapComponent
()
{
export
default
function
MapComponent
()
{
const
router
=
useRouter
()
const
[
mapItem
,
setMapItem
]
=
useState
(
0
);
const
[
mapItem
,
setMapItem
]
=
useState
(
0
);
const
[
userPositioning
,
setUserPositioning
]
=
useState
<
UserInfoType
>
();
const
[
userPositioning
,
setUserPositioning
]
=
useState
<
UserInfoType
>
();
const
[
markerCol
,
setMarkerCol
]
=
useState
<
any
>
([]);
const
[
markerCol
,
setMarkerCol
]
=
useState
<
any
>
([]);
...
@@ -44,7 +46,6 @@ export default function MapComponent() {
...
@@ -44,7 +46,6 @@ export default function MapComponent() {
position
:
'RB'
,
//定位按钮的停靠位置
position
:
'RB'
,
//定位按钮的停靠位置
offset
:
[
10
,
20
],
//定位按钮与设置的停靠位置的偏移量,默认:[10, 20]
offset
:
[
10
,
20
],
//定位按钮与设置的停靠位置的偏移量,默认:[10, 20]
zoomToAccuracy
:
true
,
//定位成功后是否自动调整地图视野到定位点
zoomToAccuracy
:
true
,
//定位成功后是否自动调整地图视野到定位点
});
});
MAP
.
addControl
(
geolocation
);
MAP
.
addControl
(
geolocation
);
geolocation
.
getCurrentPosition
(
function
(
status
:
string
,
result
:
any
){
geolocation
.
getCurrentPosition
(
function
(
status
:
string
,
result
:
any
){
...
@@ -132,7 +133,7 @@ export default function MapComponent() {
...
@@ -132,7 +133,7 @@ export default function MapComponent() {
}
}
//添加点位
//添加点位
const
mapEntiy
=
async
(
index
:
number
,
data
?:
UserInfoType
)
=>
{
const
mapEntiy
=
async
(
index
:
number
,
data
?:
UserInfoType
)
=>
{
MAP
.
remove
(
markerCol
);
MAP
?
.
remove
(
markerCol
);
if
(
index
===
0
)
{
if
(
index
===
0
)
{
showPositioningInfo
(
index
,
data
)
showPositioningInfo
(
index
,
data
)
...
@@ -141,7 +142,7 @@ export default function MapComponent() {
...
@@ -141,7 +142,7 @@ export default function MapComponent() {
}
else
if
(
index
===
2
)
{
}
else
if
(
index
===
2
)
{
showUavBitmap
(
index
,
data
)
showUavBitmap
(
index
,
data
)
}
else
{
}
else
{
showFlyerBitmap
(
index
,
data
,
30
)
router
.
push
(
'/home/waterfallFlowBody/components/map/moreServicePoints'
)
}
}
setMapItem
(
index
);
setMapItem
(
index
);
};
};
...
...
pages/home/waterfallFlowBody/components/map/moreServicePoints/index.page.tsx
0 → 100644
浏览文件 @
9442ee5e
import
React
,{
useState
,
useEffect
}
from
'react'
import
Layout
from
"~/components/layout"
;
import
{
Box
}
from
'./styled'
import
api
from
"../api"
;
import
icon
from
'../assets/img.png'
import
{
message
}
from
'antd'
;
let
MAP
:
any
;
let
Amap
:
any
;
interface
UserInfoType
{
lat
:
number
;
lon
:
number
;
pageNo
?:
number
,
pageSize
?:
number
}
export
default
function
index
()
{
const
[
mapItem
,
setMapItem
]
=
useState
(
0
);
const
[
userPositioning
,
setUserPositioning
]
=
useState
<
UserInfoType
>
();
const
[
markerCol
,
setMarkerCol
]
=
useState
<
any
>
([]);
const
[
servicePoints
,
setServicePoints
]
=
useState
<
any
>
([]);
//初始化地图
const
init
=
async
()
=>
{
try
{
const
AMapLoader
=
await
import
(
/* webpackChunkName: "amap" */
"@amap/amap-jsapi-loader"
);
await
AMapLoader
.
load
({
key
:
"87b424e68754efc3ba9d11ae07475091"
,
// 申请好的Web端开发者Key,首次调用 load 时必填
version
:
"2.0"
,
// 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
plugins
:
[
""
],
// 需要使用的的插件列表,如比例尺'AMap.Scale'等
})
.
then
(
async
(
AMap
)
=>
{
Amap
=
AMap
MAP
=
new
AMap
.
Map
(
"container"
,
{
// 设置地图容器id
viewMode
:
"3D"
,
// 是否为3D地图模式
zoom
:
9
,
// 初始化地图级别
center
:
[
113.93029
,
22.53291
],
// 初始化地图中心点位置
});
//用户定位
AMap
.
plugin
(
'AMap.Geolocation'
,
function
()
{
const
geolocation
=
new
AMap
.
Geolocation
({
enableHighAccuracy
:
true
,
//是否使用高精度定位,默认:true
timeout
:
10000
,
//超过10秒后停止定位,默认:5s
position
:
'RB'
,
//定位按钮的停靠位置
offset
:
[
10
,
20
],
//定位按钮与设置的停靠位置的偏移量,默认:[10, 20]
zoomToAccuracy
:
true
,
//定位成功后是否自动调整地图视野到定位点
});
MAP
.
addControl
(
geolocation
);
geolocation
.
getCurrentPosition
(
function
(
status
:
string
,
result
:
any
){
console
.
log
(
result
);
if
(
status
==
'complete'
){
onComplete
(
result
)
}
else
{
onError
(
result
)
}
});
});
//解析定位结果
async
function
onComplete
(
data
:
any
)
{
console
.
log
(
'定位成功'
);
setUserPositioning
(
data
.
position
)
// return await mapEntiy(0,data.position);
}
//解析定位错误信息
async
function
onError
(
data
:
any
)
{
// message.error(`定位失败
// 失败原因排查信息:${data.message}
// 浏览器返回信息:${data.originMessage}
// `)
}
await
mapEntiy
(
0
)
})
.
catch
((
e
)
=>
{
console
.
log
(
e
);
});
}
catch
(
error
)
{
console
.
log
(
error
);
}
};
const
showPositioningInfo
=
async
(
index
:
number
,
data
?:
UserInfoType
)
=>
{
const
res
=
await
api
.
listPositioningInfo
({
lon
:
userPositioning
?.
lon
||
data
?.
lon
||
113.93029
,
lat
:
userPositioning
?.
lat
||
data
?.
lat
||
22.53291
,
});
const
list
=
res
.
result
?.
map
((
item
)
=>
item
.
locationList
)
.
flat
()
.
filter
((
item
:
{
dizhi
:
string
})
=>
item
.
dizhi
.
includes
(
"省"
));
const
markerList
:
any
=
[];
if
(
list
?.
length
)
{
list
?.
map
((
item
)
=>
{
const
EntiyValue
=
addEntiy
(
item
.
jd
,
item
.
wd
,
item
.
dizhi
);
markerList
.
push
(
EntiyValue
);
});
setServicePoints
(
list
)
if
(
markerList
.
length
)
MAP
?.
add
(
markerList
);
setMarkerCol
([...
markerList
]);
}
}
const
showFlyerBitmap
=
async
(
index
:
number
,
data
?:
UserInfoType
,
pageSize
?:
number
)
=>
{
const
res
=
await
api
.
listFlyerBitmap
({
lon
:
userPositioning
?.
lon
||
data
?.
lon
||
113.93029
,
lat
:
userPositioning
?.
lat
||
data
?.
lat
||
22.53291
,
pageNo
:
1
,
pageSize
:
pageSize
||
40
});
const
list
=
res
.
result
?.
list
const
markerList
:
any
=
[];
if
(
list
?.
length
)
{
list
?.
map
((
item
)
=>
{
const
EntiyValue
=
addEntiy
(
item
.
lon
,
item
.
lat
,
item
.
flyerName
);
markerList
.
push
(
EntiyValue
);
});
setServicePoints
(
list
)
if
(
markerList
.
length
)
MAP
?.
add
(
markerList
);
setMarkerCol
(
markerList
)
}
}
const
showUavBitmap
=
async
(
index
:
number
,
data
?:
UserInfoType
)
=>
{
console
.
log
(
MAP
.
panTo
);
const
res
=
await
api
.
listUavBitmap
({
lon
:
userPositioning
?.
lon
||
data
?.
lon
||
113.93029
,
lat
:
userPositioning
?.
lat
||
data
?.
lat
||
22.53291
,
pageNo
:
1
,
pageSize
:
40
});
const
list
=
res
.
result
?.
list
const
markerList
:
any
=
[];
if
(
list
?.
length
)
{
list
?.
map
((
item
)
=>
{
const
EntiyValue
=
addEntiy
(
item
.
lon
,
item
.
lat
,
item
.
uavName
);
markerList
.
push
(
EntiyValue
);
});
setServicePoints
(
list
)
if
(
markerList
.
length
)
MAP
?.
add
(
markerList
);
setMarkerCol
(
markerList
)
}
}
//添加点位
const
mapEntiy
=
async
(
index
:
number
,
data
?:
UserInfoType
)
=>
{
MAP
?.
remove
(
markerCol
);
if
(
userPositioning
)
{
MAP
?.
setCenter
([
userPositioning
.
lon
,
userPositioning
.
lat
]);
}
if
(
index
===
0
)
{
showPositioningInfo
(
index
,
data
)
}
else
if
(
index
===
1
)
{
showFlyerBitmap
(
index
,
data
,
30
)
}
else
if
(
index
===
2
)
{
showUavBitmap
(
index
,
data
)
}
else
{
showFlyerBitmap
(
index
,
data
,
30
)
}
setMapItem
(
index
);
};
const
addEntiy
=
(
lon
:
any
,
lat
:
any
,
name
:
string
)
=>
{
if
(
!
Amap
)
return
;
const
icons
=
new
Amap
.
Icon
({
size
:
new
Amap
.
Size
(
60
,
60
),
// 图标尺寸
image
:
icon
.
src
,
// Icon的图像
imageSize
:
new
Amap
.
Size
(
60
,
60
)
// 根据所设置的大小拉伸或压缩图片
});
const
marker
=
new
Amap
.
Marker
({
position
:
new
Amap
.
LngLat
(
lon
,
lat
),
offset
:
new
Amap
.
Pixel
(
-
10
,
-
10
),
icon
:
icons
,
// 添加 Icon 实例
title
:
name
,
zoom
:
13
});
return
marker
;
};
const
moveTo
=
(
item
:
any
)
=>
{
console
.
log
(
markerCol
);
if
(
item
.
dizhi
)
{
return
MAP
?.
setCenter
([
item
.
jd
,
item
.
wd
]);
}
else
if
(
item
.
flyerName
||
item
.
uavName
)
{
return
MAP
?.
setCenter
([
item
.
lon
,
item
.
lat
]);
}
return
message
.
warning
(
"暂无位置信息"
)
}
useEffect
(()
=>
{
(
async
()
=>
{
await
init
();
})();
return
MAP
&&
MAP
.
destroy
();
},
[]);
return
(
<
Layout
>
<
Box
>
<
div
className=
'title'
>
<
div
onClick=
{
()
=>
mapEntiy
(
0
)
}
className=
{
`item ${mapItem === 0 ? "active" : ""}`
}
>
服务网点
</
div
>
<
div
onClick=
{
()
=>
mapEntiy
(
1
)
}
className=
{
`item ${mapItem === 1 ? "active" : ""}`
}
>
租赁网点
</
div
>
<
div
onClick=
{
()
=>
mapEntiy
(
2
)
}
className=
{
`item ${mapItem === 2 ? "active" : ""}`
}
>
培训网点
</
div
>
<
div
onClick=
{
()
=>
mapEntiy
(
3
)
}
className=
{
`item ${mapItem === 3 ? "active" : ""}`
}
>
机构网点
</
div
>
</
div
>
<
div
className=
'content'
>
<
div
className=
"left"
>
<
div
className=
"left-title"
>
服务网点
</
div
>
<
div
className=
"left-content"
>
{
servicePoints
.
map
((
item
:
any
)
=>
(
<
div
onClick=
{
()
=>
moveTo
(
item
)
}
className=
"left-content-item"
title=
{
item
.
dizhi
||
item
.
flyerName
||
item
.
uavName
}
>
{
item
.
dizhi
||
item
.
flyerName
||
item
.
uavName
}
</
div
>
))
}
</
div
>
</
div
>
<
div
className=
"right"
>
<
div
id=
"container"
></
div
>
</
div
>
</
div
>
</
Box
>
</
Layout
>
)
}
pages/home/waterfallFlowBody/components/map/moreServicePoints/styled.tsx
0 → 100644
浏览文件 @
9442ee5e
import
styled
from
"styled-components"
;
export
default
function
Style
()
{
return
<></>;
}
export
const
Box
=
styled
.
div
`
box-sizing: border-box;
.title{
display: flex;
align-items: center;
padding-left: 41px;
height: 42px;
background: #3D3D3D;
margin-top: 20px;
.item{
width: 64px;
height: 20px;
font-size: 16px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
font-weight: bold;
color: #FFFFFF;
line-height: 20px;
cursor: pointer;
margin-right: 85px;
&.active{
color: #FC7237;
}
}
}
.content{
display: flex;
height: 800px;
background-color: #fff;
.left{
width: 270px;
padding: 23px 0 23px 21px;
&-title{
width: 56px;
height: 18px;
font-size: 14px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
font-weight: bold;
color: #3D3D3D;
line-height: 18px;
}
&-content{
height: 731px;
overflow-y: auto;
margin-top: 9px;
&-item{
width: 182px;
height: 19px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #666666;
line-height: 19px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
cursor: pointer;
&:hover{
color: #FC7237;
}
}
}
}
.right{
flex: 1;
}
}
#container {
position: relative;
padding: 0px;
margin: 0px;
width: 100%;
height: 100%;
}
.amap-logo {
//去除高德地图水印
display: none !important;
visibility: hidden !important;
}
.amap-copyright {
//去除高德地图水印
display: none !important;
visibility: hidden !important;
}
`
\ No newline at end of file
pages/home/waterfallFlowBody/index.tsx
浏览文件 @
9442ee5e
...
@@ -254,15 +254,11 @@ export default function WaterfallFlowBody() {
...
@@ -254,15 +254,11 @@ export default function WaterfallFlowBody() {
},
[]);
},
[]);
const
routerPath
=
(
index
:
number
,
item
?:
AllType
)
=>
{
const
routerPath
=
(
index
:
number
,
item
?:
AllType
)
=>
{
if
(
i
tem
)
{
if
(
i
ndex
===
0
||
index
===
1
||
index
===
3
||
index
===
4
)
{
router
.
push
({
router
.
push
({
pathname
:
columns
[
index
].
router
,
pathname
:
columns
[
index
].
router
,
query
:
{
[
item
?.
type
!
]:
item
?.
id
!
},
query
:
{
[
item
?.
type
!
]:
item
?.
id
!
},
});
});
}
else
{
router
.
push
({
pathname
:
columns
[
index
].
router
,
});
}
}
};
};
...
...
pages/jobServices/detail/[id].page.tsx
浏览文件 @
9442ee5e
...
@@ -14,6 +14,7 @@ export default function JobServicesDetail() {
...
@@ -14,6 +14,7 @@ export default function JobServicesDetail() {
const
[
id
,
setId
]
=
useState
<
number
|
null
>
(
null
);
const
[
id
,
setId
]
=
useState
<
number
|
null
>
(
null
);
const
[
detail
,
setDetail
]
=
useState
<
ListPageJobInfoResp
|
null
>
()
const
[
detail
,
setDetail
]
=
useState
<
ListPageJobInfoResp
|
null
>
()
const
[
sale
,
setSale
]
=
useState
<
string
|
null
>
()
const
onChange
=
(
key
:
string
)
=>
{
const
onChange
=
(
key
:
string
)
=>
{
console
.
log
(
key
);
console
.
log
(
key
);
};
};
...
@@ -43,9 +44,11 @@ export default function JobServicesDetail() {
...
@@ -43,9 +44,11 @@ export default function JobServicesDetail() {
setDetail
(
res
.
result
||
null
);
setDetail
(
res
.
result
||
null
);
});
});
}
}
console
.
log
(
id
);
},
[
id
]);
},
[
id
]);
useEffect
(()
=>
{
setSale
((
Math
.
floor
(
Math
.
random
()
*
901
)
+
100
).
toFixed
(
0
))
},[])
return
(
return
(
<
Layout
>
<
Layout
>
<
Box
>
<
Box
>
...
@@ -65,6 +68,7 @@ export default function JobServicesDetail() {
...
@@ -65,6 +68,7 @@ export default function JobServicesDetail() {
<
div
className=
'more'
>
<
div
className=
'more'
>
<
div
className=
'tab filst'
>
测绘场景榜第1名
</
div
>
<
div
className=
'tab filst'
>
测绘场景榜第1名
</
div
>
<
div
className=
'tab'
>
7x24小时服务
</
div
>
<
div
className=
'tab'
>
7x24小时服务
</
div
>
<
div
className=
'tab'
>
{
`月售${sale}`
}
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
'right-bottom'
>
<
div
className=
'right-bottom'
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论