This commit is contained in:
weipengfei 2023-08-22 14:16:51 +08:00
parent b0713fedf8
commit d6872608d3
2 changed files with 69 additions and 56 deletions

View File

@ -11,7 +11,7 @@ let AMap: any = null;
let markerList: Array<any> = []; let markerList: Array<any> = [];
let m_index: Number = 0; let m_index: Number = 0;
let geocoder: any = null; let geocoder: any = null;
let marker = null; let marker: any = null;
const emits = defineEmits(["changeMaps"]); const emits = defineEmits(["changeMaps"]);
@ -37,6 +37,7 @@ const initMap = async () => {
map.value = new AMap.Map("container", { map.value = new AMap.Map("container", {
zoom: 13, zoom: 13,
viewMode: "2D", viewMode: "2D",
center: [105.4423, 28.8717],
}); });
AMap.plugin("AMap.Geocoder", function () { AMap.plugin("AMap.Geocoder", function () {
@ -46,6 +47,21 @@ const initMap = async () => {
}); // }); //
}); });
AMap.plugin("AMap.Geolocation", function () {
let geolocation = new AMap.Geolocation({
enableHighAccuracy: true, // 使:true
timeout: 10000, // 1
buttonPosition: "RB", //
zoomToAccuracy: true, //
});
map.value.addControl(geolocation);
// geolocation.getCurrentPosition(function (status, result) {
// console.log(status, result);
// });
});
map.value.setFitView(); map.value.setFitView();
map.value.on("click", (e: any) => { map.value.on("click", (e: any) => {

View File

@ -14,11 +14,55 @@
label-width="90px" label-width="90px"
:rules="formRules" :rules="formRules"
> >
<el-form-item label="任务名称" prop="title"> <el-form-item label="任务类型" prop="type">
<el-input <el-select
v-model="formData.title" v-model="formData.type"
clearable clearable
placeholder="请输入任务名称" placeholder="请输入任务类型"
@change="changeTaskType"
>
<el-option
v-for="item in datalist"
:key="item.label"
:value="item.id"
:label="item.name"
/>
</el-select>
</el-form-item>
<!-- <el-form-item
v-if="formData.type == 32"
label="起点"
@click="changeMap(0)"
prop="extend.origin.address"
>
<el-input
placeholder="请选择起点"
readonly
:value="formData.extend?.origin?.address"
/>
</el-form-item> -->
<el-form-item
v-if="formData.type == 32"
label="中转点"
@click="changeMap(1)"
prop="extend.transfer.address"
>
<el-input
placeholder="请选择中转点"
readonly
:value="formData.extend?.transfer?.address"
/>
</el-form-item>
<el-form-item
v-if="formData.type == 32"
label="终点"
@click="changeMap(2)"
prop="extend.terminus.address"
>
<el-input
placeholder="请选择终点"
readonly
:value="formData.extend?.terminus?.address"
/> />
</el-form-item> </el-form-item>
<el-form-item label="阶段类型" prop="types"> <el-form-item label="阶段类型" prop="types">
@ -90,57 +134,7 @@
<template #append></template> <template #append></template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务类型" prop="type">
<el-select
v-model="formData.type"
clearable
placeholder="请输入任务类型"
@change="changeTaskType"
>
<el-option
v-for="item in datalist"
:key="item.label"
:value="item.id"
:label="item.name"
/>
</el-select>
</el-form-item>
<!-- <el-form-item
v-if="formData.type == 32"
label="起点"
@click="changeMap(0)"
prop="extend.origin.address"
>
<el-input
placeholder="请选择起点"
readonly
:value="formData.extend?.origin?.address"
/>
</el-form-item> -->
<el-form-item
v-if="formData.type == 32"
label="中转点"
@click="changeMap(1)"
prop="extend.transfer.address"
>
<el-input
placeholder="请选择中转点"
readonly
:value="formData.extend?.transfer?.address"
/>
</el-form-item>
<el-form-item
v-if="formData.type == 32"
label="终点"
@click="changeMap(2)"
prop="extend.terminus.address"
>
<el-input
placeholder="请选择终点"
readonly
:value="formData.extend?.terminus?.address"
/>
</el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status"> <el-radio-group v-model="formData.status">
<el-radio :label="1">显示</el-radio> <el-radio :label="1">显示</el-radio>
@ -316,6 +310,9 @@ const mapRef = shallowRef<InstanceType<typeof taskMap>>();
// //
const changeTaskType = async (e: any) => { const changeTaskType = async (e: any) => {
datalist.value.forEach((item: any) => {
if (item.id == e) formData.title = item.name;
});
if (e == 32) { if (e == 32) {
mapShow.value = true; // mapShow.value = true; //
// await nextTick(); // await nextTick();