diff --git a/kicc-ui/src/components/AMap/src/Amap.vue b/kicc-ui/src/components/AMap/src/Amap.vue
index f796bca5..c710793f 100644
--- a/kicc-ui/src/components/AMap/src/Amap.vue
+++ b/kicc-ui/src/components/AMap/src/Amap.vue
@@ -29,7 +29,7 @@
/>
-
+
item.id == value);
if (smallHospitalMap) {
- // 绘制20公里,园形矢量图,并且检测这个范围内是否有收样员
- map.remove(scanTakeSpecimenCircleRange);
- // 扫描收样员园形范围
- scanTakeSpecimenCircleRange = new AMap.Circle({
- radius: 8000,
- borderWeight: 3,
- strokeColor: '#3600ff',
- strokeOpacity: 0.2,
- strokeWeight: 6,
- fillOpacity: 0.4,
- strokeStyle: 'dashed',
- strokeDasharray: [8, 8],
- fillColor: '#1791fc',
- zIndex: 50
- });
-
+ map.remove(scanTakeSpecimenCircleRange || {});
scanTakeSpecimenCircleRange.setCenter([smallHospitalMap.lng, smallHospitalMap.lat]);
map.add(scanTakeSpecimenCircleRange);
map.setFitView([ scanTakeSpecimenCircleRange ]);
- // 查找园圈内的收样员
- const gatherCircleRangeSpecimen = [];
- for (let i = 0; i < smallHospitalMapList.length; ++i) {
- const smallHospitalMap = smallHospitalMapList[i];
- const specimenLngLat = new AMap.LngLat(smallHospitalMap.lng, smallHospitalMap.lat);
- if (scanTakeSpecimenCircleRange.contains(specimenLngLat)) {
- console.log('查找到');
- } else {
- console.log('没有查找到');
- }
- }
-
-
-
-
+ const smallHospitalMarker = new AMap.Marker({
+ position: [smallHospitalMap.lng, smallHospitalMap.lat],
+ });
+ const smallHospitalPosition = smallHospitalMarker.getPosition();
+ // 计算最优先收样员顺序
+ const optimalSpecimen = specimenMapList.sort((firstEl, secondEl) => {
+ const marker1 = new AMap.Marker({
+ position: [firstEl.lng, firstEl.lat],
+ }),marker2 = new AMap.Marker({
+ position: [secondEl.lng, secondEl.lat],
+ });
+ const position1 = marker1.getPosition(),
+ position2 = marker2.getPosition();
+ return Math.round(smallHospitalPosition.distance(position1)) - Math.round(smallHospitalPosition.distance(position2));
+ });
+ mapState.takeSpecimenList = optimalSpecimen.map(item => ({ value: item.id, label: item.title }));
} else {
throw '查找不到发单点数据,请检查发单点!';
}