apply-clients 7.1.36-yuchuan-14 → 7.1.36-yuchuan-15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android.html +28 -28
- package/build/dev-server.js +172 -187
- package/index.html +39 -39
- package/package.json +4 -6
- package/src/apply.js +162 -162
- package/src/applyAndroid.js +97 -97
- package/src/components/android/AppSign.vue +0 -1
- package/src/components/android/AppUpload.vue +275 -275
- package/src/components/android/Ignition/VentilationIgnition.vue +1 -1
- package/src/components/android/Ignition/VentilationIgnitionHandle.vue +1 -1
- package/src/components/android/Process/AppExplorationUser.vue +2 -2
- package/src/components/android/Process/AppServiceControl.vue +6 -6
- package/src/components/android/Process/Processes/AppInstallationDetails.vue +2 -2
- package/src/components/android/Sign/AppSignTask.vue +1 -1
- package/src/components/android/Supervisory/AppProcessSupervisory.vue +1 -1
- package/src/components/android/Task/GuanXianJianShe/AppExplorationGuanXian.vue +2 -2
- package/src/components/android/Task/ShiGongXinXi/AppShowBuildUser.vue +2 -2
- package/src/components/android/Task/yiban/AppShowDone.vue +2 -2
- package/src/components/android/Task/yiban/ShowDone.vue +95 -95
- package/src/components/android/Task/yiban/satisfactionShow.vue +166 -166
- package/src/components/android/newPackage/customerServiceManager.vue +1 -1
- package/src/components/android/newPackage/projectPrice.vue +1 -1
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +1101 -1101
- package/src/components/product/ApplyGaiXianCharge/ApplyGaiXianViewList.vue +272 -272
- package/src/components/product/ApplyGuanXian/GuanXianCaiLiao.vue +236 -236
- package/src/components/product/ApplyGuanXian/GuanXianExplorationSelect.vue +2 -2
- package/src/components/product/ApplyGuanXian/GuanXianExplorationUser.vue +1 -1
- package/src/components/product/ApplyGuanXian/GuanXianSupervisoryhCart.vue +119 -119
- package/src/components/product/ApplyMap/AMapLocation.vue +870 -871
- package/src/components/product/ApplyMap/AmapUtil.js +37 -0
- package/src/components/product/ApplyMap/ApplyDragaboutList.vue +223 -223
- package/src/components/product/ApplyMap/ApplyInputSearch.vue +212 -212
- package/src/components/product/ApplyMap/ApplyMapCom.vue +82 -82
- package/src/components/product/ApplyMap/ApplyMapInputSearch.vue +335 -335
- package/src/components/product/ApplyMap/ApplyMapLocation.vue +862 -862
- package/src/components/product/Function/InstallFunction.vue +1 -1
- package/src/components/product/Function/InstallInfoSelect.vue +2 -2
- package/src/components/product/Function/Service/FunctionServiceControl.vue +586 -586
- package/src/components/product/GongJianPush/ApplyPushDispose.vue +162 -72
- package/src/components/product/GongJianPush/ApplyPushList.vue +47 -52
- package/src/components/product/GongJianPush/ApplyPushManage.vue +5 -4
- package/src/components/product/Ignition/IgnitionListManage.vue +602 -602
- package/src/components/product/Ignition/IgnitionRecord.vue +380 -380
- package/src/components/product/InsuranceApply/InsuranceReport.vue +2 -2
- package/src/components/product/List/OldShowDevices.vue +2 -2
- package/src/components/product/List/ShowAllActivity.vue +2 -2
- package/src/components/product/List/ShowDevices.vue +2 -2
- package/src/components/product/Process/ExplorationSelect.vue +2 -2
- package/src/components/product/Process/ExplorationUser.vue +1 -1
- package/src/components/product/Process/New1ExplorationUser.vue +2 -2
- package/src/components/product/Process/NewExplorationSelect.vue +2 -2
- package/src/components/product/Process/NewExplorationUser.vue +1 -1
- package/src/components/product/Process/Processes/InstallationDetails.vue +4 -4
- package/src/components/product/Process/Processes/Print/printCharge.vue +250 -250
- package/src/components/product/Process/Processes/Print/printGaiXianCharge.vue +244 -244
- package/src/components/product/Process/Processes/chargeManagement.vue +704 -704
- package/src/components/product/Process/Processes/devicesManagement.vue +393 -393
- package/src/components/product/Process/Processes/newDevicesManagement.vue +413 -413
- package/src/components/product/Process/Processes/selectChaiChuUserinfo.vue +2 -2
- package/src/components/product/Process/Processes/selectOldUserinfo.vue +2 -2
- package/src/components/product/Process/Processes/selectUserinfo.vue +3 -3
- package/src/components/product/Process/Service/ServiceControl.vue +6 -6
- package/src/components/product/ServiceView.vue +644 -644
- package/src/components/product/Supervisory/NewSupervisoryhCart.vue +175 -175
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +1 -1
- package/src/components/product/Supervisory/SupervisoryControl.vue +116 -116
- package/src/components/product/Supervisory/SupervisoryList.vue +2 -2
- package/src/components/product/Supervisory/SupervisoryhCart.vue +119 -119
- package/src/components/product/Supervisory/YiBanSupervisoryList.vue +2 -2
- package/src/components/product/VueUtils/ApplyUpload.vue +285 -285
- package/src/components/product/records/AdjustmentRecordList.vue +162 -162
- package/static/marker-default.png +0 -0
- package/static/myLocationIcon.png +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 坐标集合的最西南角
|
|
3
|
+
* @param {*} list
|
|
4
|
+
* list 是接口获取的点 的数组
|
|
5
|
+
*/
|
|
6
|
+
export const getSW = (list) => {
|
|
7
|
+
let south = null
|
|
8
|
+
let west = null
|
|
9
|
+
for (let item of list) {
|
|
10
|
+
if ((west && item.lnglat.lng < west) || !west) {
|
|
11
|
+
west = item.lnglat.lng - 0.7
|
|
12
|
+
}
|
|
13
|
+
if ((south && item.lnglat.lat < south) || !south) {
|
|
14
|
+
south = item.lnglat.lat - 0.7
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return [west, south]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 最东北角
|
|
22
|
+
* @param {*} list
|
|
23
|
+
*/
|
|
24
|
+
export const getNE = (list) => {
|
|
25
|
+
let north = null
|
|
26
|
+
let east = null
|
|
27
|
+
for (let item of list) {
|
|
28
|
+
if ((east && item.lnglat.lng > east) || !east) {
|
|
29
|
+
east = item.lnglat.lng + 0.7
|
|
30
|
+
}
|
|
31
|
+
if ((north && item.lnglat.lat > north) || !north) {
|
|
32
|
+
north = item.lnglat.lat + 0.7
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return [east, north]
|
|
37
|
+
}
|
|
@@ -1,223 +1,223 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="listsMap" @scroll="scrollBottom">
|
|
3
|
-
<div v-for="poi in poiList" class="auto item" @click="poiClick(poi)">
|
|
4
|
-
<div class="svg">
|
|
5
|
-
<svg v-if="$index === 0" style="width: 20px;height: 20px;" t="1629107663398" class="icon"
|
|
6
|
-
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3053"
|
|
7
|
-
id="mx_n_1629107663399" data-spm-anchor-id="a313x.7781069.0.i7" width="200" height="200">
|
|
8
|
-
<path
|
|
9
|
-
d="M808.6 403.2c0-178.8-129.8-308.5-308.5-308.5-170.1 0-308.5 138.4-308.5 308.5 0 125.6 170.6 338.3 262.3 452.6l6.8 8.4c9.6 12 24 18.9 39.5 18.9 15.4 0 29.8-6.9 39.5-18.9l6.8-8.4c91.5-114.3 262.1-327 262.1-452.6z m-310.1 89.4c-62.9 0-114-51.1-114-114s51.1-114 114-114 114 51.1 114 114-51.1 114-114 114z"
|
|
10
|
-
fill="#FFFFFF" p-id="3054"></path>
|
|
11
|
-
<path
|
|
12
|
-
d="M500.1 67.8c-184.9 0-335.4 150.4-335.4 335.4 0 135 174.5 352.5 268.2 469.4l6.7 8.4c14.8 18.4 36.8 29 60.4 29s45.6-10.6 60.4-29l6.8-8.4C661 755.7 835.4 538.2 835.4 403.2c0-194.3-141-335.4-335.3-335.4z m0 815.3c-15.4 0-29.8-6.9-39.5-18.9l-6.8-8.4c-91.7-114.3-262.3-327-262.3-452.6 0-170.1 138.4-308.5 308.5-308.5 178.8 0 308.5 129.8 308.5 308.5 0 125.6-170.6 338.3-262.3 452.6l-6.8 8.4c-9.5 12-23.9 18.9-39.3 18.9z"
|
|
13
|
-
fill="#df2424" p-id="3055" data-spm-anchor-id="a313x.7781069.0.i5" class="selected"></path>
|
|
14
|
-
<path d="M498.5 378.6m-87.2 0a87.2 87.2 0 1 0 174.4 0 87.2 87.2 0 1 0-174.4 0Z" fill="#FFFFFF"
|
|
15
|
-
p-id="3056"></path>
|
|
16
|
-
<path
|
|
17
|
-
d="M612.5 378.6c0-62.9-51.1-114-114-114s-114 51.1-114 114 51.1 114 114 114 114-51.1 114-114z m-201.2 0c0-48.1 39.1-87.2 87.2-87.2s87.2 39.1 87.2 87.2-39.1 87.2-87.2 87.2-87.2-39.1-87.2-87.2z"
|
|
18
|
-
fill="#df2424" p-id="3057" data-spm-anchor-id="a313x.7781069.0.i6" class="selected"></path>
|
|
19
|
-
</svg>
|
|
20
|
-
<svg v-else style="width: 20px;height: 12px;" t="1629107800066" class="icon" viewBox="0 0 1024 1024"
|
|
21
|
-
version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5529" width="200" height="200">
|
|
22
|
-
<path
|
|
23
|
-
d="M491.880777 970.394105c-237.529835 0-430.759721-193.240119-430.759721-430.759721 0-237.529835 193.229886-430.769954 430.759721-430.769954s430.759721 193.240119 430.759721 430.769954C922.640498 777.153986 729.410612 970.394105 491.880777 970.394105zM491.880777 169.213913c-204.250894 0-370.410238 166.168554-370.410238 370.419448 0 204.240661 166.159344 370.410238 370.410238 370.410238S862.289991 743.875045 862.289991 539.634384C862.289991 335.38349 696.131671 169.213913 491.880777 169.213913z"
|
|
24
|
-
p-id="5530" fill="#000000"></path>
|
|
25
|
-
<path
|
|
26
|
-
d="M491.880777 724.720799c-102.056374 0-185.096648-83.030042-185.096648-185.087439s83.040275-185.087439 185.096648-185.087439 185.077206 83.030042 185.077206 185.087439S593.937151 724.720799 491.880777 724.720799zM491.880777 414.897452c-68.777433 0-124.747165 55.959499-124.747165 124.736932s55.968709 124.736932 124.747165 124.736932S616.607476 608.411817 616.607476 539.634384 560.65821 414.897452 491.880777 414.897452z"
|
|
27
|
-
p-id="5531" fill="#000000"></path>
|
|
28
|
-
</svg>
|
|
29
|
-
</div>
|
|
30
|
-
<div>
|
|
31
|
-
<div class="name" :class="$index === 0 ? 'one': ''">
|
|
32
|
-
{{ poi.name }}
|
|
33
|
-
</div>
|
|
34
|
-
<div class="address">
|
|
35
|
-
{{ poi.address }}
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
</template>
|
|
42
|
-
|
|
43
|
-
<script>
|
|
44
|
-
export default {
|
|
45
|
-
title: '附近POI搜索',
|
|
46
|
-
props: {
|
|
47
|
-
// 是否返回详细地址信息
|
|
48
|
-
extensions: {
|
|
49
|
-
type: Boolean,
|
|
50
|
-
default: true
|
|
51
|
-
},
|
|
52
|
-
locationAddress: {
|
|
53
|
-
type: Object,
|
|
54
|
-
default: null
|
|
55
|
-
},
|
|
56
|
-
// 搜索的位置 经纬度 格式 [经度,纬度]
|
|
57
|
-
rimlocation: {
|
|
58
|
-
type: Array,
|
|
59
|
-
default: () => []
|
|
60
|
-
},
|
|
61
|
-
// 范围 0-50000
|
|
62
|
-
radius: {
|
|
63
|
-
type: Number,
|
|
64
|
-
default: 500
|
|
65
|
-
},
|
|
66
|
-
// 关键字
|
|
67
|
-
keyword: {
|
|
68
|
-
type: String,
|
|
69
|
-
default: ''
|
|
70
|
-
},
|
|
71
|
-
// 城市范围 支持cityname(中文或中文全拼)、citycode、adcode
|
|
72
|
-
thiscity: {
|
|
73
|
-
type: String,
|
|
74
|
-
default: ''
|
|
75
|
-
},
|
|
76
|
-
// 是否强制限制在设置的城市内搜索
|
|
77
|
-
citylimit: {
|
|
78
|
-
type: Boolean,
|
|
79
|
-
default: false
|
|
80
|
-
},
|
|
81
|
-
// 每页显示的个数
|
|
82
|
-
pagesize: {
|
|
83
|
-
type: Number,
|
|
84
|
-
default: 10
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
data () {
|
|
88
|
-
return {
|
|
89
|
-
count: 0,
|
|
90
|
-
poiList: [],
|
|
91
|
-
pagenumber: 1,
|
|
92
|
-
isbool: true,
|
|
93
|
-
isfullSearch: '', // 返回基本信息还是详细信息 base 或者 all 与extensions关联
|
|
94
|
-
placeSearch: null
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
methods: {
|
|
98
|
-
// 某行数据被点击
|
|
99
|
-
poiClick (poi) {
|
|
100
|
-
this.$emit('roundlistpoiclick', poi)
|
|
101
|
-
},
|
|
102
|
-
// 初始化范围搜索组件
|
|
103
|
-
initSearchMain () {
|
|
104
|
-
let e = this.locationAddress.positionResult
|
|
105
|
-
this.roundlistpoisuccess(e)
|
|
106
|
-
this.$emit('roundlistpoisuccess', e) // 搜索成功事件
|
|
107
|
-
// this.isfullSearch = this.extensions===false?'base':'all' //是否查询详情
|
|
108
|
-
// AMap.plugin(["AMap.PlaceSearch"],()=> {
|
|
109
|
-
// //构造地点查询类
|
|
110
|
-
// this.placeSearch = new AMap.PlaceSearch({
|
|
111
|
-
// pageSize: this.pagesize, // 单页显示结果条数
|
|
112
|
-
// pageIndex: this.pagenumber, // 页码
|
|
113
|
-
// // panel: this.listId, // 结果列表将在此容器中进行展示。
|
|
114
|
-
// extensions:this.isfullSearch
|
|
115
|
-
// });
|
|
116
|
-
// //搜索成功
|
|
117
|
-
// AMap.event.addListener(this.placeSearch, 'complete', (e)=>{
|
|
118
|
-
// this.roundlistpoisuccess(e)
|
|
119
|
-
// this.$emit('roundlistpoisuccess',e); // 搜索成功事件
|
|
120
|
-
// })
|
|
121
|
-
// //搜索失败
|
|
122
|
-
// AMap.event.addListener(this.placeSearch, 'error', (e)=>{
|
|
123
|
-
// this.$emit('roundlistpoierror',e); // 搜索失败事件
|
|
124
|
-
// })
|
|
125
|
-
// });
|
|
126
|
-
},
|
|
127
|
-
// 范围搜索
|
|
128
|
-
searchLocationFj () {
|
|
129
|
-
// if (this.thiscity){
|
|
130
|
-
// this.placeSearch.setCity(this.thiscity); //设置城市
|
|
131
|
-
// }
|
|
132
|
-
// if (this.citylimit) {
|
|
133
|
-
// this.placeSearch.setCityLimit(this.citylimit); //设置强制在设定城市查找
|
|
134
|
-
// }
|
|
135
|
-
// this.placeSearch.setPageIndex(this.pagenumber); //页码
|
|
136
|
-
// this.placeSearch.searchNearBy(this.keyword, this.rimlocation, this.radius);
|
|
137
|
-
},
|
|
138
|
-
// 搜索成功回调
|
|
139
|
-
roundlistpoisuccess (e) {
|
|
140
|
-
if (!e) {
|
|
141
|
-
return
|
|
142
|
-
}
|
|
143
|
-
this.poiList = []
|
|
144
|
-
this.isbool = true
|
|
145
|
-
// this.count = e.poiList.count
|
|
146
|
-
this.poiList = this.poiList.concat(e.regeocode.pois)
|
|
147
|
-
// console.log('当前搜索结果列表', this.poiList)
|
|
148
|
-
for (let i = 0; i < this.poiList.length; i++) {
|
|
149
|
-
this.poiList[i].country = e.regeocode.addressComponent.country
|
|
150
|
-
this.poiList[i].province = e.regeocode.addressComponent.province
|
|
151
|
-
this.poiList[i].city = e.regeocode.addressComponent.city
|
|
152
|
-
this.poiList[i].district = e.regeocode.addressComponent.district
|
|
153
|
-
this.poiList[i].towncode = e.regeocode.addressComponent.towncode
|
|
154
|
-
this.poiList[i].township = e.regeocode.addressComponent.township
|
|
155
|
-
}
|
|
156
|
-
// console.log('当前搜索结果列表', e)
|
|
157
|
-
},
|
|
158
|
-
// 滑动
|
|
159
|
-
scrollBottom (e) {
|
|
160
|
-
let fromTheBottom = e.target.scrollHeight - (e.target.scrollTop + e.target.clientHeight)
|
|
161
|
-
// console.log(fromTheBottom)
|
|
162
|
-
|
|
163
|
-
if (fromTheBottom <= 100 && this.isbool) {
|
|
164
|
-
this.isbool = false
|
|
165
|
-
let length = this.poiList.length
|
|
166
|
-
let num = this.count / length
|
|
167
|
-
this.pagenumber = this.pagenumber + 1
|
|
168
|
-
if (num > 1) {
|
|
169
|
-
this.searchLocationFj()
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
ready () {
|
|
175
|
-
this.$nextTick(() => {
|
|
176
|
-
// this.initSearchMain()
|
|
177
|
-
//this.searchLocationFj()
|
|
178
|
-
})
|
|
179
|
-
},
|
|
180
|
-
watch: {
|
|
181
|
-
'rimlocation': function (newValue, oldValue) {
|
|
182
|
-
if (this.rimlocation && this.placeSearch) {
|
|
183
|
-
this.poiList = []
|
|
184
|
-
this.pagenumber = 1
|
|
185
|
-
this.searchLocationFj()
|
|
186
|
-
console.log('当前传入地址', this.locationAddress)
|
|
187
|
-
} else {
|
|
188
|
-
if (!this.placeSearch) {
|
|
189
|
-
this.initSearchMain()
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
</script>
|
|
196
|
-
|
|
197
|
-
<style scoped lang="less">
|
|
198
|
-
.listsMap {
|
|
199
|
-
overflow-y: auto;
|
|
200
|
-
|
|
201
|
-
.item {
|
|
202
|
-
display: flex;
|
|
203
|
-
align-items: center;
|
|
204
|
-
padding: 5px 5px;
|
|
205
|
-
border-bottom: 1px solid #eee;
|
|
206
|
-
width: 100%;
|
|
207
|
-
|
|
208
|
-
.svg {
|
|
209
|
-
padding-right: 5px;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
.address {
|
|
213
|
-
font-size: 14px;
|
|
214
|
-
color: #999999;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.one {
|
|
220
|
-
color: #df2424;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="listsMap" @scroll="scrollBottom">
|
|
3
|
+
<div v-for="poi in poiList" class="auto item" @click="poiClick(poi)">
|
|
4
|
+
<div class="svg">
|
|
5
|
+
<svg v-if="$index === 0" style="width: 20px;height: 20px;" t="1629107663398" class="icon"
|
|
6
|
+
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3053"
|
|
7
|
+
id="mx_n_1629107663399" data-spm-anchor-id="a313x.7781069.0.i7" width="200" height="200">
|
|
8
|
+
<path
|
|
9
|
+
d="M808.6 403.2c0-178.8-129.8-308.5-308.5-308.5-170.1 0-308.5 138.4-308.5 308.5 0 125.6 170.6 338.3 262.3 452.6l6.8 8.4c9.6 12 24 18.9 39.5 18.9 15.4 0 29.8-6.9 39.5-18.9l6.8-8.4c91.5-114.3 262.1-327 262.1-452.6z m-310.1 89.4c-62.9 0-114-51.1-114-114s51.1-114 114-114 114 51.1 114 114-51.1 114-114 114z"
|
|
10
|
+
fill="#FFFFFF" p-id="3054"></path>
|
|
11
|
+
<path
|
|
12
|
+
d="M500.1 67.8c-184.9 0-335.4 150.4-335.4 335.4 0 135 174.5 352.5 268.2 469.4l6.7 8.4c14.8 18.4 36.8 29 60.4 29s45.6-10.6 60.4-29l6.8-8.4C661 755.7 835.4 538.2 835.4 403.2c0-194.3-141-335.4-335.3-335.4z m0 815.3c-15.4 0-29.8-6.9-39.5-18.9l-6.8-8.4c-91.7-114.3-262.3-327-262.3-452.6 0-170.1 138.4-308.5 308.5-308.5 178.8 0 308.5 129.8 308.5 308.5 0 125.6-170.6 338.3-262.3 452.6l-6.8 8.4c-9.5 12-23.9 18.9-39.3 18.9z"
|
|
13
|
+
fill="#df2424" p-id="3055" data-spm-anchor-id="a313x.7781069.0.i5" class="selected"></path>
|
|
14
|
+
<path d="M498.5 378.6m-87.2 0a87.2 87.2 0 1 0 174.4 0 87.2 87.2 0 1 0-174.4 0Z" fill="#FFFFFF"
|
|
15
|
+
p-id="3056"></path>
|
|
16
|
+
<path
|
|
17
|
+
d="M612.5 378.6c0-62.9-51.1-114-114-114s-114 51.1-114 114 51.1 114 114 114 114-51.1 114-114z m-201.2 0c0-48.1 39.1-87.2 87.2-87.2s87.2 39.1 87.2 87.2-39.1 87.2-87.2 87.2-87.2-39.1-87.2-87.2z"
|
|
18
|
+
fill="#df2424" p-id="3057" data-spm-anchor-id="a313x.7781069.0.i6" class="selected"></path>
|
|
19
|
+
</svg>
|
|
20
|
+
<svg v-else style="width: 20px;height: 12px;" t="1629107800066" class="icon" viewBox="0 0 1024 1024"
|
|
21
|
+
version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5529" width="200" height="200">
|
|
22
|
+
<path
|
|
23
|
+
d="M491.880777 970.394105c-237.529835 0-430.759721-193.240119-430.759721-430.759721 0-237.529835 193.229886-430.769954 430.759721-430.769954s430.759721 193.240119 430.759721 430.769954C922.640498 777.153986 729.410612 970.394105 491.880777 970.394105zM491.880777 169.213913c-204.250894 0-370.410238 166.168554-370.410238 370.419448 0 204.240661 166.159344 370.410238 370.410238 370.410238S862.289991 743.875045 862.289991 539.634384C862.289991 335.38349 696.131671 169.213913 491.880777 169.213913z"
|
|
24
|
+
p-id="5530" fill="#000000"></path>
|
|
25
|
+
<path
|
|
26
|
+
d="M491.880777 724.720799c-102.056374 0-185.096648-83.030042-185.096648-185.087439s83.040275-185.087439 185.096648-185.087439 185.077206 83.030042 185.077206 185.087439S593.937151 724.720799 491.880777 724.720799zM491.880777 414.897452c-68.777433 0-124.747165 55.959499-124.747165 124.736932s55.968709 124.736932 124.747165 124.736932S616.607476 608.411817 616.607476 539.634384 560.65821 414.897452 491.880777 414.897452z"
|
|
27
|
+
p-id="5531" fill="#000000"></path>
|
|
28
|
+
</svg>
|
|
29
|
+
</div>
|
|
30
|
+
<div>
|
|
31
|
+
<div class="name" :class="$index === 0 ? 'one': ''">
|
|
32
|
+
{{ poi.name }}
|
|
33
|
+
</div>
|
|
34
|
+
<div class="address">
|
|
35
|
+
{{ poi.address }}
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</template>
|
|
42
|
+
|
|
43
|
+
<script>
|
|
44
|
+
export default {
|
|
45
|
+
title: '附近POI搜索',
|
|
46
|
+
props: {
|
|
47
|
+
// 是否返回详细地址信息
|
|
48
|
+
extensions: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: true
|
|
51
|
+
},
|
|
52
|
+
locationAddress: {
|
|
53
|
+
type: Object,
|
|
54
|
+
default: null
|
|
55
|
+
},
|
|
56
|
+
// 搜索的位置 经纬度 格式 [经度,纬度]
|
|
57
|
+
rimlocation: {
|
|
58
|
+
type: Array,
|
|
59
|
+
default: () => []
|
|
60
|
+
},
|
|
61
|
+
// 范围 0-50000
|
|
62
|
+
radius: {
|
|
63
|
+
type: Number,
|
|
64
|
+
default: 500
|
|
65
|
+
},
|
|
66
|
+
// 关键字
|
|
67
|
+
keyword: {
|
|
68
|
+
type: String,
|
|
69
|
+
default: ''
|
|
70
|
+
},
|
|
71
|
+
// 城市范围 支持cityname(中文或中文全拼)、citycode、adcode
|
|
72
|
+
thiscity: {
|
|
73
|
+
type: String,
|
|
74
|
+
default: ''
|
|
75
|
+
},
|
|
76
|
+
// 是否强制限制在设置的城市内搜索
|
|
77
|
+
citylimit: {
|
|
78
|
+
type: Boolean,
|
|
79
|
+
default: false
|
|
80
|
+
},
|
|
81
|
+
// 每页显示的个数
|
|
82
|
+
pagesize: {
|
|
83
|
+
type: Number,
|
|
84
|
+
default: 10
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
data () {
|
|
88
|
+
return {
|
|
89
|
+
count: 0,
|
|
90
|
+
poiList: [],
|
|
91
|
+
pagenumber: 1,
|
|
92
|
+
isbool: true,
|
|
93
|
+
isfullSearch: '', // 返回基本信息还是详细信息 base 或者 all 与extensions关联
|
|
94
|
+
placeSearch: null
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
methods: {
|
|
98
|
+
// 某行数据被点击
|
|
99
|
+
poiClick (poi) {
|
|
100
|
+
this.$emit('roundlistpoiclick', poi)
|
|
101
|
+
},
|
|
102
|
+
// 初始化范围搜索组件
|
|
103
|
+
initSearchMain () {
|
|
104
|
+
let e = this.locationAddress.positionResult
|
|
105
|
+
this.roundlistpoisuccess(e)
|
|
106
|
+
this.$emit('roundlistpoisuccess', e) // 搜索成功事件
|
|
107
|
+
// this.isfullSearch = this.extensions===false?'base':'all' //是否查询详情
|
|
108
|
+
// AMap.plugin(["AMap.PlaceSearch"],()=> {
|
|
109
|
+
// //构造地点查询类
|
|
110
|
+
// this.placeSearch = new AMap.PlaceSearch({
|
|
111
|
+
// pageSize: this.pagesize, // 单页显示结果条数
|
|
112
|
+
// pageIndex: this.pagenumber, // 页码
|
|
113
|
+
// // panel: this.listId, // 结果列表将在此容器中进行展示。
|
|
114
|
+
// extensions:this.isfullSearch
|
|
115
|
+
// });
|
|
116
|
+
// //搜索成功
|
|
117
|
+
// AMap.event.addListener(this.placeSearch, 'complete', (e)=>{
|
|
118
|
+
// this.roundlistpoisuccess(e)
|
|
119
|
+
// this.$emit('roundlistpoisuccess',e); // 搜索成功事件
|
|
120
|
+
// })
|
|
121
|
+
// //搜索失败
|
|
122
|
+
// AMap.event.addListener(this.placeSearch, 'error', (e)=>{
|
|
123
|
+
// this.$emit('roundlistpoierror',e); // 搜索失败事件
|
|
124
|
+
// })
|
|
125
|
+
// });
|
|
126
|
+
},
|
|
127
|
+
// 范围搜索
|
|
128
|
+
searchLocationFj () {
|
|
129
|
+
// if (this.thiscity){
|
|
130
|
+
// this.placeSearch.setCity(this.thiscity); //设置城市
|
|
131
|
+
// }
|
|
132
|
+
// if (this.citylimit) {
|
|
133
|
+
// this.placeSearch.setCityLimit(this.citylimit); //设置强制在设定城市查找
|
|
134
|
+
// }
|
|
135
|
+
// this.placeSearch.setPageIndex(this.pagenumber); //页码
|
|
136
|
+
// this.placeSearch.searchNearBy(this.keyword, this.rimlocation, this.radius);
|
|
137
|
+
},
|
|
138
|
+
// 搜索成功回调
|
|
139
|
+
roundlistpoisuccess (e) {
|
|
140
|
+
if (!e) {
|
|
141
|
+
return
|
|
142
|
+
}
|
|
143
|
+
this.poiList = []
|
|
144
|
+
this.isbool = true
|
|
145
|
+
// this.count = e.poiList.count
|
|
146
|
+
this.poiList = this.poiList.concat(e.regeocode.pois)
|
|
147
|
+
// console.log('当前搜索结果列表', this.poiList)
|
|
148
|
+
for (let i = 0; i < this.poiList.length; i++) {
|
|
149
|
+
this.poiList[i].country = e.regeocode.addressComponent.country
|
|
150
|
+
this.poiList[i].province = e.regeocode.addressComponent.province
|
|
151
|
+
this.poiList[i].city = e.regeocode.addressComponent.city
|
|
152
|
+
this.poiList[i].district = e.regeocode.addressComponent.district
|
|
153
|
+
this.poiList[i].towncode = e.regeocode.addressComponent.towncode
|
|
154
|
+
this.poiList[i].township = e.regeocode.addressComponent.township
|
|
155
|
+
}
|
|
156
|
+
// console.log('当前搜索结果列表', e)
|
|
157
|
+
},
|
|
158
|
+
// 滑动
|
|
159
|
+
scrollBottom (e) {
|
|
160
|
+
let fromTheBottom = e.target.scrollHeight - (e.target.scrollTop + e.target.clientHeight)
|
|
161
|
+
// console.log(fromTheBottom)
|
|
162
|
+
|
|
163
|
+
if (fromTheBottom <= 100 && this.isbool) {
|
|
164
|
+
this.isbool = false
|
|
165
|
+
let length = this.poiList.length
|
|
166
|
+
let num = this.count / length
|
|
167
|
+
this.pagenumber = this.pagenumber + 1
|
|
168
|
+
if (num > 1) {
|
|
169
|
+
this.searchLocationFj()
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
ready () {
|
|
175
|
+
this.$nextTick(() => {
|
|
176
|
+
// this.initSearchMain()
|
|
177
|
+
//this.searchLocationFj()
|
|
178
|
+
})
|
|
179
|
+
},
|
|
180
|
+
watch: {
|
|
181
|
+
'rimlocation': function (newValue, oldValue) {
|
|
182
|
+
if (this.rimlocation && this.placeSearch) {
|
|
183
|
+
this.poiList = []
|
|
184
|
+
this.pagenumber = 1
|
|
185
|
+
this.searchLocationFj()
|
|
186
|
+
console.log('当前传入地址', this.locationAddress)
|
|
187
|
+
} else {
|
|
188
|
+
if (!this.placeSearch) {
|
|
189
|
+
this.initSearchMain()
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
</script>
|
|
196
|
+
|
|
197
|
+
<style scoped lang="less">
|
|
198
|
+
.listsMap {
|
|
199
|
+
overflow-y: auto;
|
|
200
|
+
|
|
201
|
+
.item {
|
|
202
|
+
display: flex;
|
|
203
|
+
align-items: center;
|
|
204
|
+
padding: 5px 5px;
|
|
205
|
+
border-bottom: 1px solid #eee;
|
|
206
|
+
width: 100%;
|
|
207
|
+
|
|
208
|
+
.svg {
|
|
209
|
+
padding-right: 5px;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.address {
|
|
213
|
+
font-size: 14px;
|
|
214
|
+
color: #999999;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.one {
|
|
220
|
+
color: #df2424;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
</style>
|