liujq 3 年之前
父节点
当前提交
2cafbfd2a8

文件差异内容过多而无法显示
+ 0 - 0
dist/index.html


文件差异内容过多而无法显示
+ 0 - 0
dist/static/css/chunk-1fa727f6.4a31506f.css


文件差异内容过多而无法显示
+ 0 - 0
dist/static/css/chunk-cee36220.f7cf69d2.css


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/app.11cef2b2.js


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/chunk-0673dec0.6a4a3cd4.js


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/chunk-1fa727f6.85ac6a96.js


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/chunk-56ca16e8.bf2e9f09.js


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/chunk-cee36220.4cf636c3.js


+ 3 - 0
src/api/other.js

@@ -181,4 +181,7 @@ export default {
   admmapcoordinall: params => { // 地图 测试 楼盘学校经纬度信息
     return getRequestNoSort('/adm/map/coordin/all', params)
   },
+  admmapcoordincount: params => { // 地图 测试 统计
+    return getRequestNoSort('/adm/map/coordin/count', params)
+  },
 }

+ 82 - 24
src/views/map/dtl.vue

@@ -26,8 +26,8 @@
             <p class="p1" @click="openMte('polygonAdd', {obj: polygon, index})">{{polygon.text}}</p>
             <p class="more">
               <span v-if="polygon.editable" class="d d2" @click="textAdd(polygon)">标点</span>
-              <span v-if="polygon.editable" class="d d1" @click="Deal(index, 'polygons')">编辑</span>
-              <span v-else class="d d3" @click="Deal(index, 'polygons')">只读</span>
+              <span v-if="polygon.editable" class="d d1" @click="mapIsEdit(index, 'polygons')">编辑</span>
+              <span v-else class="d d3" @click="mapIsEdit(index, 'polygons')">只读</span>
               <span class="d d4" @click="mapDel(index, 'polygons')">删除</span>
             </p>
           </div>
@@ -39,7 +39,7 @@
           <div class="op" v-for="(t, index) in markerData" :key="index">
             <p class="p1" @click="openMte('textAdd', {obj: t, index})">({{curMarkersIndex + 1}}){{t.content}}</p>
             <p class="more">
-              <span v-if="t.draggable" class="d d1" @click="Deal(index, 'markerData')">编辑</span>
+              <span v-if="t.draggable" class="d d1" @click="mapIsEdit(index, 'markerData')">编辑</span>
               <span v-else class="d d3" @click="mapIsEdit(index, 'markerData')">只读</span>
               <span class="d d4" @click="mapDel(index, 'markerData')">删除</span>
             </p>
@@ -58,27 +58,31 @@
       :events="mapEvents"
       :plugin="plugin"
     >
-      <el-amap-marker class="scoped-m-box" v-for="(marker, index) in {...schoolList}" :key="3000 + index"
-        icon="https://img2.honglounews.com/20220110041435-6276.png"
-        :position="marker.position"
-        :events="schoolEvents"
-        :title="marker.school_name"
-        :label="{content: marker.school_name, offset: [0, -20]}"
-        :extData="{id: marker.id}"
-      >
-      </el-amap-marker>
-      <el-amap-marker class="scoped-m-box" v-for="(marker, index) in {...estateList}" :key="2000 + index"
-        icon="https://img2.honglounews.com/20220110041411-6675.png"
-        :position="marker.position"
-        :events="estateEvents"
-        :title="marker.estate_name"
-        :label="{content: marker.estate_name, offset: [0, -20]}"
-        :extData="{id: marker.id}"
-      >
-      <!-- https://img2.honglounews.com/20220110041534-8330.png -->
-      <!-- https://img2.honglounews.com/20220110041411-6675.png -->
-      </el-amap-marker>
-      <template v-if="mapDiyObj.zoom > 3">
+      <template v-if="mapDiyObj.zoom > 13">
+        <template v-if="mapDiyObj.isSchoolShow === '1'">
+          <el-amap-marker class="scoped-m-box" v-for="(marker, index) in {...schoolList}" :key="3000 + index"
+            icon="https://img2.honglounews.com/20220110041435-6276.png"
+            :position="marker.position"
+            :events="schoolEvents"
+            :title="marker.school_name"
+            :label="{content: marker.school_name, offset: [0, -20]}"
+            :extData="{id: marker.id}"
+          >
+          </el-amap-marker>
+        </template>
+        <template v-if="mapDiyObj.isEstateShow === '1'">
+          <el-amap-marker class="scoped-m-box" v-for="(marker, index) in {...estateList}" :key="2000 + index"
+            icon="https://img2.honglounews.com/20220110041411-6675.png"
+            :position="marker.position"
+            :events="estateEvents"
+            :title="marker.estate_name"
+            :label="{content: marker.estate_name, offset: [0, -20]}"
+            :extData="{id: marker.id}"
+          >
+          <!-- https://img2.honglounews.com/20220110041534-8330.png -->
+          <!-- https://img2.honglounews.com/20220110041411-6675.png -->
+          </el-amap-marker>
+        </template>
         <el-amap-marker v-for="(marker, index) in markerData" :key="1000 + index"
           :position="marker.position"
           :draggable="marker.draggable"
@@ -88,6 +92,23 @@
           <div class="scoped-marker-text" :style="`color: ${marker.color}`">{{marker.content}}</div>
         </el-amap-marker>
       </template>
+      <template v-else>
+        <template v-if="mapDiyObj.isAreaShow === '1'">
+          <el-amap-marker class="scoped-m-box" v-for="(marker, index) in {...areaList}" :key="4000 + index"
+            icon="https://img2.honglounews.com/20220110041435-6276.png"
+            :position="marker.position"
+            :events="areaEvents"
+            :offset="[-40, -40]"
+            :extData="{areaName: marker.areaName, areaType: marker.area_type}"
+          >
+            <div class="scoped-marker-area">
+              <div class="p1">{{marker.areaName}}</div>
+              <div class="p2">楼盘:{{marker.estate_total}}</div>
+              <div class="p2">学校:{{marker.school_total}}</div>
+            </div>
+          </el-amap-marker>
+        </template>
+      </template>
       <el-amap-polygon
         v-for="(polygon, index) in polygons"
         :key="index"
@@ -125,6 +146,7 @@ export default {
     return {
       estateList: [],
       schoolList: [],
+      areaList: [],
       isDbShow: true,
       isMapSetShow: false,
       formData: [],
@@ -222,6 +244,12 @@ export default {
           wx.miniProgram.navigateTo({url: `/pagesSchool/indexDtl?id=${eData.id}`})
         },
       },
+      areaEvents: {
+        click(e) {
+          const eData = e.target.getExtData()
+          wx.miniProgram.navigateTo({url: `/pagesSchool/index?areaName=${eData.areaName}&areaType=${eData.areaType}`})
+        },
+      },
       curMarkersIndex: 0,
       plugin: [{
         pName: 'MouseTool',
@@ -261,6 +289,13 @@ export default {
         item.position = [item.longitude, item.latitude]
       })
       this.schoolList = [...schoolList]
+      let areaList = res.area_total || []
+      areaList.map(item => {
+        let lnglatArr = arrToObj(this.$dictData.map_area_lnglat)[item.area_type].split(',')
+        item.position = [lnglatArr[0], lnglatArr[1]]
+        item.areaName = arrToObj(this.$dictData.area_type)[item.area_type]
+      })
+      this.areaList = [...areaList]
     })
   },
   mounted() {},
@@ -294,6 +329,9 @@ export default {
         { label: '默认级别', key: 'zoom', rules: 1},
         { label: '最小3+', key: 'zoom1', rules: 1},
         { label: '最大19-', key: 'zoom2', rules: 1},
+        { label: '展示楼盘', key: 'isEstateShow', type: 'select', rules: 1, options: this.$dictData.sys_yesno},
+        { label: '展示学校', key: 'isSchoolShow', type: 'select', rules: 1, options: this.$dictData.sys_yesno},
+        { label: '展示区域', key: 'isAreaShow', type: 'select', rules: 1, options: this.$dictData.sys_yesno},
       ]
       this.setDefaultValue(params)
       // this.setCurFeatures(params.features)
@@ -321,6 +359,9 @@ export default {
             zoom: 17,
             zooms: [15, 19],
             center: [115.852386, 28.684076],
+            isEstateShow: '1',
+            isSchoolShow: '1',
+            isAreaShow: '1',
             title: res.title,
             features: ['road']
           }
@@ -339,6 +380,9 @@ export default {
           mapDiyObj.title = newForm.title
           mapDiyObj.mapStyle = newForm.mapStyle
           mapDiyObj.features = newForm.features
+          mapDiyObj.isEstateShow = newForm.isEstateShow
+          mapDiyObj.isSchoolShow = newForm.isSchoolShow
+          mapDiyObj.isAreaShow = newForm.isAreaShow
           this.mapDiyObj = {...mapDiyObj}
           this.setCurFeatures(newForm.features)
           this.isMapSetShow = false
@@ -674,4 +718,18 @@ export default {
   box-shadow: 0 0 3px #ccc;
 }
 
+
+.scoped-marker-area {
+  background: #369af7;
+  box-shadow: 0 0 5px #369af7;
+  color: #fff;
+  width: 80px;
+  height: 80px;
+  text-align: center;
+  font-size: 12px;
+  border-radius: 50%;
+  padding-top: 20px;
+  box-sizing: border-box;
+}
+
 </style>

部分文件因为文件数量过多而无法显示