diff --git a/mixins/position.js b/mixins/position.js index c8a1a41..964cfb1 100644 --- a/mixins/position.js +++ b/mixins/position.js @@ -37,6 +37,27 @@ export default { }) return minDistance - } + }, + calculateDistanceAddressList(teacherAddress){ + if (!teacherAddress || + teacherAddress.length == 0 || + !this.position || + !this.position.latitude || + !this.position.longitude) { + return 0 + } + + + teacherAddress.forEach((item, index) => { + item.distance = calculateDistance( + this.position.latitude, + this.position.longitude, + item.latitude, + item.longitude, + ) + }) + + return teacherAddress.sort((a, b) => a.distance - b.distance) + }, } } \ No newline at end of file diff --git a/pages/companionPetList/companionPetInfo.vue b/pages/companionPetList/companionPetInfo.vue index 1948206..8c58e55 100644 --- a/pages/companionPetList/companionPetInfo.vue +++ b/pages/companionPetList/companionPetInfo.vue @@ -222,14 +222,15 @@ style="margin: 10rpx 0;" :key="index" v-for="(address, index) in addressList"> - + 可接单地址{{ index + 1 }}: {{ address.area }} {{ address.address }} {{ address.rangeNo ? address.rangeNo + '公里内' : '' }} + style="display: flex; justify-content: center; + width: 100%;"> diff --git a/pages/companionPetList/companionPetList.vue b/pages/companionPetList/companionPetList.vue index 4dce9e5..5693a80 100644 --- a/pages/companionPetList/companionPetList.vue +++ b/pages/companionPetList/companionPetList.vue @@ -458,6 +458,9 @@ this.position.address = this.locationAddress this.position.longitude = this.locationLongitude this.position.latitude = this.locationLatitude + + + this.getCompanionList() }, fail: (err) => { diff --git a/pages/newOrder/petList.vue b/pages/newOrder/petList.vue index 4f82afe..7b8a364 100644 --- a/pages/newOrder/petList.vue +++ b/pages/newOrder/petList.vue @@ -107,7 +107,9 @@ - 确定 @@ -120,7 +122,12 @@