diff --git a/packages/mobile/package.json b/packages/mobile/package.json index 143d741..749d2e8 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -15,6 +15,7 @@ "vant": "^4.9.21", "@vueuse/core": "^14.0.0", "dayjs": "^1.11.19", + "leaflet": "^1.9.4", "axios": "^1.13.2", "@h5/shared": "workspace:*" }, diff --git a/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue b/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue index 292f391..a03b2ca 100644 --- a/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue +++ b/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue @@ -24,7 +24,13 @@ /> - + @@ -164,6 +170,7 @@ import { ref, computed, onMounted } from 'vue'; import PanelItem from '@/components/PanelItem.vue'; import BasePicker from '@/components/BasePicker.vue'; import BaseDatePicker from '@/components/BaseDatePicker.vue'; +import PositionPickerMobile from '../components/PositionPickerMobile.vue'; import RoadRoutesPicker from '../components/RoadRoutesPicker.vue'; import MaterialPicker from '../components/MaterialPicker.vue'; import { request } from '@shared/utils/request'; @@ -293,7 +300,7 @@ const validate = () => { return false; } if (isEmpty(formData.value.event?.occurLocation)) { - showToast('请输入发生地点'); + showToast('请选择发生地点'); return false; } if (isEmpty(formData.value.event?.disasterMileage)) { diff --git a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue index bc197a2..30dd42b 100644 --- a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue +++ b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue @@ -51,7 +51,13 @@ - + @@ -167,6 +173,7 @@ import PanelItem from '@/components/PanelItem.vue' import BasePicker from '@/components/BasePicker.vue' import BaseDatePicker from '@/components/BaseDatePicker.vue' import DisasterFileUpload from '../components/DisasterFileUpload.vue' +import PositionPickerMobile from '../components/PositionPickerMobile.vue' import RoadRoutesPicker from '../components/RoadRoutesPicker.vue' import LossList from '../components/LossList.vue' import { useRouter, useRoute } from 'vue-router' @@ -332,7 +339,7 @@ const validate = () => { return false } if (isEmpty(formData.value.event?.occurLocation)) { - showToast('请输入路况位置') + showToast('请选择路况位置') return false } if (isEmpty(formData.value.event?.blockedPointName)) { diff --git a/packages/mobile/src/views/DisasterManagement/components/PositionPickerMobile.vue b/packages/mobile/src/views/DisasterManagement/components/PositionPickerMobile.vue new file mode 100644 index 0000000..09cbecd --- /dev/null +++ b/packages/mobile/src/views/DisasterManagement/components/PositionPickerMobile.vue @@ -0,0 +1,568 @@ + + + + + diff --git a/packages/screen/package.json b/packages/screen/package.json index 9091471..800d244 100644 --- a/packages/screen/package.json +++ b/packages/screen/package.json @@ -17,6 +17,7 @@ "cesium": "^1.135.0", "echarts": "^6.0.0", "element-plus": "^2.11.5", + "leaflet": "^1.9.4", "pinia": "^3.0.3", "vue": "^3.5.18", "vue-echarts": "^8.0.1",