Blame view

src/components/inspection/AInspectionTaskMap.vue 2.33 KB
b25b036d   wuxw   v1.9 优化日期
1
  <template>
e0196f8a   wuxw   开发完成admin下巡检任务
2
3
4
5
    <div id="aInspectionTaskMap" class="map-container"></div>
  </template>
  
  <script>
07e12785   wuxw   v1.9 admin账户中部分页面...
6
  import { queryAdminInspectionTaskDetail } from '@/api/inspection/adminInspectionTaskDetailApi'
e0196f8a   wuxw   开发完成admin下巡检任务
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  
  export default {
    name: 'AInspectionTaskMap',
    data() {
      return {
        map: null,
        points: []
      }
    },
    methods: {
      loadData(params) {
        console.log(params)
        //this.initMap(params)
      },
      async initMap(params) {
        try {
          const { data } = await queryAdminInspectionTaskDetail({
            taskId: params.taskId,
            page: 1,
            row: 1000
          })
          this.points = data
          this.initMapView()
        } catch (error) {
07e12785   wuxw   v1.9 admin账户中部分页面...
31
32
          console.error(error)
          this.$message.error(error)
e0196f8a   wuxw   开发完成admin下巡检任务
33
34
35
        }
      },
      initMapView() {
e0196f8a   wuxw   开发完成admin下巡检任务
36
37
38
39
40
41
42
43
        if (!this.points || this.points.length === 0) return
  
        // 这里需要根据实际地图API实现地图初始化
        // 示例代码,需要替换为实际地图API调用
        console.log('Initialize task map with points:', this.points)
        
        // 示例:使用腾讯地图API
        if (window.TMap) {
07e12785   wuxw   v1.9 admin账户中部分页面...
44
45
          const center = new window.TMap.LatLng(this.points[0].lat, this.points[0].lng)
          this.map = new window.TMap.Map(document.getElementById('aInspectionTaskMap'), {
e0196f8a   wuxw   开发完成admin下巡检任务
46
47
48
49
50
51
            center: center,
            zoom: 17
          })
          
          // 添加标记点
          const markers = this.points.map(point => ({
07e12785   wuxw   v1.9 admin账户中部分页面...
52
            position: new window.TMap.LatLng(point.lat, point.lng),
e0196f8a   wuxw   开发完成admin下巡检任务
53
54
55
56
57
58
            properties: {
              title: point.inspectionName,
              status: point.state
            }
          }))
          
07e12785   wuxw   v1.9 admin账户中部分页面...
59
          new window.TMap.MultiMarker({
e0196f8a   wuxw   开发完成admin下巡检任务
60
61
            map: this.map,
            styles: {
07e12785   wuxw   v1.9 admin账户中部分页面...
62
              normal: new window.TMap.MarkerStyle({
e0196f8a   wuxw   开发完成admin下巡检任务
63
64
65
66
67
                width: 25,
                height: 35,
                src: '/img/inspection.png',
                anchor: { x: 16, y: 32 }
              }),
07e12785   wuxw   v1.9 admin账户中部分页面...
68
              done: new window.TMap.MarkerStyle({
e0196f8a   wuxw   开发完成admin下巡检任务
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
                width: 25,
                height: 35,
                src: '/img/inspection_done.png',
                anchor: { x: 16, y: 32 }
              })
            },
            geometries: markers.map(marker => ({
              ...marker,
              styleId: marker.properties.status === '20200405' ? 'done' : 'normal'
            }))
          })
        }
      }
    }
  }
  </script>
  
  <style scoped>
  .map-container {
    height: 600px;
    width: 100%;
  }
  </style>