From 39ee686c6678a4a677ad695d8cef8c0a0ff7764e Mon Sep 17 00:00:00 2001
From: weipengfei <2187978347@qq.com>
Date: Thu, 17 Aug 2023 12:08:04 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/components/map/MapContainer.vue  | 50 ++++++++++++++++++----------
 src/views/task_template/edit.vue     |  6 ++--
 src/views/task_template/index.vue    | 10 ++++--
 src/views/task_template/list_two.vue | 10 ++++--
 src/views/task_template/map.vue      |  5 ++-
 5 files changed, 54 insertions(+), 27 deletions(-)

diff --git a/src/components/map/MapContainer.vue b/src/components/map/MapContainer.vue
index 6bc2796..7048a5e 100644
--- a/src/components/map/MapContainer.vue
+++ b/src/components/map/MapContainer.vue
@@ -7,25 +7,41 @@ import AMapLoader from "@amap/amap-jsapi-loader";
 import { shallowRef } from "@vue/reactivity";
 
 const map = shallowRef(null);
+let AMap: any = null;
+let marker: any = null;
 
-const initMap = () => {
-  AMapLoader.load({
-    key: "4f8f55618010007147aab96fc72bb408", // 申请好的Web端开发者Key,首次调用 load 时必填
-    version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
-    plugins: [""], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
-  })
-    .then((AMap) => {
-      map.value = new AMap.Map("container", {
-        //设置地图容器id
-        viewMode: "2D", //是否为3D地图模式
-        zoom: 10, //初始化地图级别
-        center: [105.602725, 37.076636], //初始化地图中心点位置
-      });
-    })
-    .catch((e) => {
-      console.log("地图错误", e);
-      ElMessage.error("未知错误");
+const initMap = async () => {
+  const loader = AMapLoader.load({
+    key: "4f8f55618010007147aab96fc72bb408",
+    version: "2.0",
+  });
+
+  AMap = await loader;
+
+  map.value = new AMap.Map("container", {
+    zoom: 13,
+  });
+
+  map.value.on("click", (e: any) => {
+    console.log("点击", e);
+    if (marker) return;
+
+    // 创建标记并添加到地图
+    marker = new AMap.Marker({
+      position: e.lnglat,
+      offset: new AMap.Pixel(-10, -10),
+      title: "位置",
     });
+    map.value.add(marker);
+
+    // 添加标记点击事件监听器
+    marker.on("click", (event: any) => {
+      console.log("点击了标记点", event);
+      // 在这里可以进行其他自定义逻辑操作
+      map.value.remove(marker);
+      marker = null;
+    });
+  });
 };
 
 onMounted(() => {
diff --git a/src/views/task_template/edit.vue b/src/views/task_template/edit.vue
index a2bc945..9cccaed 100644
--- a/src/views/task_template/edit.vue
+++ b/src/views/task_template/edit.vue
@@ -14,11 +14,11 @@
         label-width="90px"
         :rules="formRules"
       >
-        <el-form-item label="主题" prop="title">
+        <el-form-item label="任务名称" prop="title">
           <el-input
             v-model="formData.title"
             clearable
-            placeholder="请输入主题"
+            placeholder="请输入任务名称"
           />
         </el-form-item>
         <el-form-item label="阶段类型" prop="types">
@@ -185,7 +185,7 @@ const formRules = reactive<any>({
   title: [
     {
       required: true,
-      message: "请输入主题",
+      message: "请输入任务名称",
       trigger: ["blur"],
     },
   ],
diff --git a/src/views/task_template/index.vue b/src/views/task_template/index.vue
index 75f2176..ef4eeea 100644
--- a/src/views/task_template/index.vue
+++ b/src/views/task_template/index.vue
@@ -2,12 +2,12 @@
   <div>
     <el-card class="!border-none mb-4" shadow="never">
       <el-form class="mb-[-16px] formtabel" :model="queryParams" inline>
-        <el-form-item label-width="100px" label="主题" prop="title">
+        <el-form-item label-width="100px" label="任务名称" prop="title">
           <el-input
             class="w-[280px]"
             v-model="queryParams.title"
             clearable
-            placeholder="请输入主题"
+            placeholder="请输入任务名称"
           />
         </el-form-item>
         <el-form-item label-width="100px" label="创建人" prop="admin_id">
@@ -97,7 +97,11 @@
             prop="id"
             show-overflow-tooltip
           />
-          <el-table-column label="主题" prop="title" show-overflow-tooltip />
+          <el-table-column
+            label="任务名称"
+            prop="title"
+            show-overflow-tooltip
+          />
           <el-table-column
             label="创建人"
             prop="admin_name"
diff --git a/src/views/task_template/list_two.vue b/src/views/task_template/list_two.vue
index 69f6334..2322be4 100644
--- a/src/views/task_template/list_two.vue
+++ b/src/views/task_template/list_two.vue
@@ -2,12 +2,12 @@
   <div>
     <el-card class="!border-none mb-4" shadow="never">
       <el-form class="mb-[-16px] formtabel" :model="queryParams" inline>
-        <el-form-item label-width="100px" label="主题" prop="title">
+        <el-form-item label-width="100px" label="任务名称" prop="title">
           <el-input
             class="w-[280px]"
             v-model="queryParams.title"
             clearable
-            placeholder="请输入主题"
+            placeholder="请输入任务名称"
           />
         </el-form-item>
         <el-form-item label-width="100px" label="">
@@ -21,7 +21,11 @@
     <el-card class="!border-none" v-loading="pager.loading" shadow="never">
       <div class="mt-4">
         <el-table :data="pager.lists" @cell-click="handleSelectionChange">
-          <el-table-column label="主题" prop="title" show-overflow-tooltip />
+          <el-table-column
+            label="任务名称"
+            prop="title"
+            show-overflow-tooltip
+          />
           <el-table-column
             label="创建人"
             prop="admin_name"
diff --git a/src/views/task_template/map.vue b/src/views/task_template/map.vue
index 0868197..e8f6225 100644
--- a/src/views/task_template/map.vue
+++ b/src/views/task_template/map.vue
@@ -10,7 +10,10 @@
     >
       <el-form>
         <el-form-item label="">
-          <el-input style="width: 300px; margin-right: 16px" />
+          <el-input
+            style="width: 300px; margin-right: 16px"
+            placeholder="请输入要搜索的地址"
+          />
           <el-button type="primary">搜索</el-button>
         </el-form-item>
         <el-form-item label="地图">