Browse Source

🌁 修复登录加载页面卡死情况,进不去登录页面

master
wangxiang 3 years ago
parent
commit
21e8e8573f
  1. 67
      kicc-ui/src/components/AMap/src/Amap.vue

67
kicc-ui/src/components/AMap/src/Amap.vue

@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
/>
</AFormItem>
<AFormItem label="起点">
<ASelect v-model:value="mapState.modelRef.takeSpecimenId" :options="[]"/>
<ASelect v-model:value="mapState.modelRef.takeSpecimenId" :options="mapState.takeSpecimenList"/>
</AFormItem>
<AFormItem label="途径点">
<ASelect v-model:value="mapState.modelRef.smallHospitalId"
@ -82,7 +82,8 @@ @@ -82,7 +82,8 @@
largeHospitalId: '',
smallHospitalId: '',
takeSpecimenId: ''
}
},
takeSpecimenList: []
});
const AForm = Form;
const AFormItem = Form.Item;
@ -289,6 +290,20 @@ @@ -289,6 +290,20 @@
}));
takeSpecimenCluster?.setData(specimenPoints);
//
scanTakeSpecimenCircleRange = new AMap.Circle({
radius: 10000,
borderWeight: 3,
strokeColor: '#3600ff',
strokeOpacity: 0.2,
strokeWeight: 6,
fillOpacity: 0.4,
strokeStyle: 'dashed',
strokeDasharray: [8, 8],
fillColor: '#1791fc',
zIndex: 50
});
// 线
const driving = new AMap.Driving({
map: map,
@ -350,40 +365,26 @@ @@ -350,40 +365,26 @@
//
const smallHospitalMap = smallHospitalMapList.find(item => 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 '查找不到发单点数据,请检查发单点!';
}

Loading…
Cancel
Save