Jelajahi Sumber

修改地图中POPUP框的样式,及点击区域面弹出的框的样式调整

mork 1 bulan lalu
induk
melakukan
eb5e675cfd

+ 36 - 0
public/index.html

@@ -50,4 +50,40 @@
     <div id="app"></div>
     <!-- built files will be auto injected -->
   </body>
+  <style>
+    :root {
+      /* 滚动条整体部分,必须要设置 */
+      ::-webkit-scrollbar {
+        width: 6px;
+        height: 10px;
+        overflow-y: overlay;
+      }
+
+      /* 滚动条里面轨道,能向上向下移动 */
+      ::-webkit-scrollbar-track {
+        background-color: transparent;
+      }
+
+      /* 滚动条里面轨道,能向上向下移动 */
+      ::-webkit-scrollbar-track-piece {
+        background-color: transparent;
+      }
+
+      ::-webkit-scrollbar-thumb {
+        display: none;
+        border-radius: 6px;
+      }
+
+      /* 滚动条里面的小方块,能向上向下移动 */
+      *:hover::-webkit-scrollbar-thumb {
+        display: flex;
+        background-color: #808285;
+        border-radius: 6px;
+      }
+
+      *:hover::-webkit-scrollbar-track-piece {
+        background-color: #d1cfcf;;
+      }
+    }
+  </style>
 </html>

TEMPAT SAMPAH
public/static/image/building.png


File diff ditekan karena terlalu besar
+ 0 - 0
public/static/image/building.svg


TEMPAT SAMPAH
public/static/image/chart.png


TEMPAT SAMPAH
public/static/image/home.png


File diff ditekan karena terlalu besar
+ 0 - 0
public/static/image/phone.svg


+ 1 - 0
public/static/image/position.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1756370797253" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1491" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 70.8c-206.5 0-373.9 167.4-373.9 373.9 0 91.69 34.3 181.4 95.54 249.64 29.87 33.28 63.49 63.48 94.93 95.31l80.05 81.04c22.79 23.07 44.58 49.78 69.61 70.47 0 0 36 29.81 74.75-4.36L690.3 796.27c35.75-36.59 74.67-71.54 107.65-110.65 28.5-33.8 50.96-72.62 65.94-114.22 14.61-40.56 22.01-83.6 22.01-126.7 0-206.5-167.4-373.9-373.9-373.9z m233.13 458.37c-9.94 27.4-24.85 52.97-43.77 75.23-21.89 25.76-47.73 48.78-71.46 72.88l-91.15 92.56c-25.72 22.5-49.62 2.87-49.62 2.87-16.61-13.63-31.08-31.22-46.2-46.41l-53.14-53.38c-20.87-20.97-43.19-40.85-63.02-62.78-40.65-44.95-63.42-104.04-63.42-164.43 0-136.01 111.12-246.27 248.2-246.27s248.2 110.26 248.2 246.27c-0.01 28.4-4.93 56.75-14.62 83.46z" p-id="1492"></path><path d="M512 445.89m-93.99 0a93.99 93.99 0 1 0 187.98 0 93.99 93.99 0 1 0-187.98 0Z" p-id="1493"></path></svg>

+ 1 - 0
public/static/image/search.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1756448408523" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1092" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M663.81 238.63c-115.4-115.4-302.5-115.4-417.9 0s-115.4 302.5 0 417.9c98.62 98.62 249.6 112.94 363.45 43l0.09 0.12 102.2 123.46c29.08 35.12 82.09 37.85 114.44 5.72 0.24-0.24 0.48-0.48 0.73-0.72s0.48-0.48 0.72-0.73c32.14-32.35 29.4-85.36-5.72-114.44l-88.99-73.67c-16.32 18.32-35.01 33.98-56.28 45.12l-27.22-14.33c4.94-4.33 9.78-8.82 14.49-13.53 115.4-115.4 115.4-302.5 0-417.9zM312.77 589.67c-78.47-78.47-78.47-205.7 0-284.17 78.47-78.47 205.7-78.47 284.17 0 78.47 78.47 78.47 205.7 0 284.17-78.47 78.47-205.7 78.47-284.17 0z" p-id="1093"></path></svg>

+ 1 - 0
public/static/image/send.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1756448399947" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="941" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M370.41 660.18l253.02-201.24 25.28-5.14-205.68 220.29 9.67 166.4 121.99-107.44 220.69 50.06 64.93-586.44-750.48 406.87 260.58 56.64z" p-id="942"></path></svg>

+ 51 - 21
public/static/json/楼宇数据-20250820.geojson

@@ -32,7 +32,7 @@
             "properties": {
                 "c_address": "华徐公路999.685号",
                 "build_time": "1970-01-01 08:00:00.0",
-                "c_building_manager_name": "",
+                "c_building_manager_name": "陈健",
                 "model_name": "industrial_park_xjcy_industrial_park",
                 "c_parent_code": "",
                 "c_zlqymc": "",
@@ -46,8 +46,8 @@
                 "column_id": "1580",
                 "c_administrative_area_name": "金联村",
                 "c_self_used_area": "6432.0",
-                "c_building_manager_code": "",
-                "c_building_manager_phone": "",
+                "c_building_manager_code": "chenjian",
+                "c_building_manager_phone": "13917402696",
                 "c_economic_zone_code": "",
                 "c_property_name": "上海一通世界投资管理有限公司",
                 "author_id": "4",
@@ -80,7 +80,12 @@
                 "secret_level": "0",
                 "c_rentable_area": "39640.0",
                 "c_sold_area": "0.0",
-                "c_plot_code": ""
+                "c_plot_code": "",
+                "enterpriseCount":42,
+                "enterpriseGsCount":0,
+                "buildCount":1,
+                "forRentCount":0,
+                "c_floor_area":"20000"
             }
         },
         {
@@ -115,7 +120,7 @@
             "properties": {
                 "c_address": "青浦区徐泾镇华徐公路1199号",
                 "build_time": "1970-01-01 08:00:00.0",
-                "c_building_manager_name": "",
+                "c_building_manager_name": "周瑜",
                 "model_name": "industrial_park_xjcy_industrial_park",
                 "c_parent_code": "",
                 "c_zlqymc": "",
@@ -129,8 +134,8 @@
                 "column_id": "1580",
                 "c_administrative_area_name": "金联村",
                 "c_self_used_area": "19914.0",
-                "c_building_manager_code": "",
-                "c_building_manager_phone": "",
+                "c_building_manager_code": "zhouyu",
+                "c_building_manager_phone": "1348285693",
                 "c_economic_zone_code": "",
                 "c_property_name": "上海佳吉物流股份有限公司",
                 "author_id": "4",
@@ -163,7 +168,12 @@
                 "secret_level": "0",
                 "c_rentable_area": "10579.0",
                 "c_sold_area": "0.0",
-                "c_plot_code": ""
+                "c_plot_code": "",
+                "enterpriseCount":24,
+                "enterpriseGsCount":2,
+                "buildCount":1,
+                "forRentCount":0,
+                "c_floor_area":"55280.67"
             }
         },
         {
@@ -202,7 +212,7 @@
             "properties": {
                 "c_address": "青浦区徐泾镇徐乐路333弄",
                 "build_time": "1970-01-01 08:00:00.0",
-                "c_building_manager_name": "",
+                "c_building_manager_name": "孙健",
                 "model_name": "industrial_park_xjcy_industrial_park",
                 "c_parent_code": "",
                 "c_zlqymc": "",
@@ -216,8 +226,8 @@
                 "column_id": "1580",
                 "c_administrative_area_name": "陆家角村",
                 "c_self_used_area": "3043.0",
-                "c_building_manager_code": "",
-                "c_building_manager_phone": "",
+                "c_building_manager_code": "sunjian",
+                "c_building_manager_phone": "18117377433",
                 "c_economic_zone_code": "",
                 "c_property_name": "上海虹泾投资管理集团有限公司",
                 "author_id": "4",
@@ -250,7 +260,12 @@
                 "secret_level": "0",
                 "c_rentable_area": "49717.0",
                 "c_sold_area": "21575.0",
-                "c_plot_code": ""
+                "c_plot_code": "",
+                "enterpriseCount":21,
+                "enterpriseGsCount":2,
+                "buildCount":1,
+                "forRentCount":0,
+                "c_floor_area":"83000"
             }
         },
         {
@@ -333,7 +348,12 @@
                 "secret_level": "0",
                 "c_rentable_area": "10579.0",
                 "c_sold_area": "0.0",
-                "c_plot_code": ""
+                "c_plot_code": "",
+                "enterpriseCount":24,
+                "enterpriseGsCount":2,
+                "buildCount":1,
+                "forRentCount":0,
+                "c_floor_area":"55280.67"
             }
         },
         {
@@ -368,7 +388,7 @@
             "properties": {
                 "c_address": "华徐公路999.685号",
                 "build_time": "1970-01-01 08:00:00.0",
-                "c_building_manager_name": "",
+                "c_building_manager_name": "陈健",
                 "model_name": "industrial_park_xjcy_industrial_park",
                 "c_parent_code": "",
                 "c_zlqymc": "",
@@ -382,8 +402,8 @@
                 "column_id": "1580",
                 "c_administrative_area_name": "金联村",
                 "c_self_used_area": "12321.0",
-                "c_building_manager_code": "",
-                "c_building_manager_phone": "",
+                "c_building_manager_code": "chenjian",
+                "c_building_manager_phone": "13917402696",
                 "c_economic_zone_code": "",
                 "c_property_name": "上海一通世界投资管理有限公司",
                 "author_id": "4",
@@ -416,7 +436,12 @@
                 "secret_level": "0",
                 "c_rentable_area": "32872.0",
                 "c_sold_area": "0.0",
-                "c_plot_code": ""
+                "c_plot_code": "",
+                "enterpriseCount":32,
+                "enterpriseGsCount":1,
+                "buildCount":1,
+                "forRentCount":0,
+                "c_floor_area":"20000"
             }
         },
         {
@@ -459,7 +484,7 @@
             "properties": {
                 "c_address": "徐祥路207号",
                 "build_time": "1970-01-01 08:00:00.0",
-                "c_building_manager_name": "",
+                "c_building_manager_name": "韩萍峰",
                 "model_name": "industrial_park_xjcy_industrial_park",
                 "c_parent_code": "",
                 "c_zlqymc": "",
@@ -473,8 +498,8 @@
                 "column_id": "1580",
                 "c_administrative_area_name": "金联村",
                 "c_self_used_area": "11858.0",
-                "c_building_manager_code": "",
-                "c_building_manager_phone": "",
+                "c_building_manager_code": "hanpingfeng",
+                "c_building_manager_phone": "13661939496",
                 "c_economic_zone_code": "",
                 "c_property_name": "上海德必文化创意产业发展有限公司",
                 "author_id": "4",
@@ -507,7 +532,12 @@
                 "secret_level": "0",
                 "c_rentable_area": "44775.0",
                 "c_sold_area": "0.0",
-                "c_plot_code": ""
+                "c_plot_code": "",
+                "enterpriseCount":32,
+                "enterpriseGsCount":0,
+                "buildCount":1,
+                "forRentCount":0,
+                "c_floor_area":"40000"
             }
         }
     ],

+ 1 - 1
src/styles/button.css

@@ -294,7 +294,7 @@
 }
 
 .popup-row {
-  padding: 6px 0;
+  padding: 6px 10px;
   border-bottom: 1px solid #f0f0f0;
   display: flex;
   justify-content: space-between;

+ 8 - 1
src/utils/publicFunction.js

@@ -397,6 +397,12 @@ function wgs84togcj02(lng, lat) {
   return [mglng, mglat - 0.0005];
 }
 
+// 判断是否是移动端
+function terminalType () {
+  const isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
+  return !!isMobile
+}
+
 export default {
   buildGuid,
   compare,
@@ -412,5 +418,6 @@ export default {
   latLngsToReverseByLatLng,
   latLngsToReverseByLngLat,
   getRGBColor,
-  wgs84togcj02
+  wgs84togcj02,
+  terminalType
 };

+ 221 - 68
src/views/leaflet.vue

@@ -12,6 +12,7 @@
           placeholder="请输入搜索关键词..."
           class="search-input"
         />
+        <i class="send-icon"></i>
         <!-- 搜索结果区域 -->
         <div v-if="searchResults.length > 0" class="search-results">
           <div
@@ -25,66 +26,112 @@
         </div>
         <!-- 楼宇信息UI -->
         <div class="building-information" v-if="BuildingInformationShow">
-          <!-- title -->
+          <div style="position: absolute;right: 10px;padding: 5px;cursor: pointer;" @click="colseWin" title="关闭"><span>X</span></div>         
+           <!-- title -->
           <div class="building-information-title">
-            {{ BuildingInformationProperties.c_resource_name }}
+            {{ BuildingInformationProperties.c_resource_name || BuildingInformationProperties.c_parcel_number+'地块' }}
           </div>
-          <!-- <div>
-            企业服务专员{{
-              BuildingInformationProperties.c_building_manager_name +
-              " " +
-              BuildingInformationProperties.c_building_manager_phone
-            }}
-          </div> -->
-          <div class="info-item">
-            <span class="info-icon industry-icon"></span>
-            产业方向:{{ BuildingInformationProperties.c_industry_direction }}
-          </div>
-          <div class="info-item">
-            <span class="info-icon address-icon"></span>
-            项目地址:{{ BuildingInformationProperties.c_address }}
-          </div>
-          <div class="area-stats-container">
-            <div class="area-stat-item">
-              <div class="circle-icon"></div>
-              <div class="area-info">
-                <div class="area-name">已出租面积</div>
-                <div class="area-value">
-                  {{ BuildingInformationProperties.c_rented_area }} m²
-                </div>
+          <div style="overflow-y: auto;overflow-x: hidden;max-height: 50vh;">
+            <!-- <div>
+              企业服务专员{{
+                BuildingInformationProperties.c_building_manager_name +
+                " " +
+                BuildingInformationProperties.c_building_manager_phone
+              }}
+            </div> -->
+            <div class="info-item">
+              <!-- <span class="info-icon industry-icon"></span> -->
+              
+              <div style="padding: 10px 0;" v-for="(item, index) in BuildingInformationProperties.cy_lable.split('、')" :key="index">
+                <span class="cy_lable">{{item}}</span>
               </div>
             </div>
-            <div class="area-stat-item">
-              <div class="circle-icon"></div>
-              <div class="area-info">
-                <div class="area-name">已出售面积</div>
-                <div class="area-value">
-                  {{ BuildingInformationProperties.c_sold_area }} m²
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              <span class="info-icon phone-icon"></span>
+              {{ BuildingInformationProperties.c_building_manager_name }}  {{ BuildingInformationProperties.c_building_manager_phone }} 
+            </div>
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              <span class="info-icon address-icon"></span>
+              {{ BuildingInformationProperties.c_address }}
+            </div>
+            <div class="area-stats-container">
+              <div class="area-stat-item">
+                <!-- <div class="circle-icon"></div> -->
+                <div class="area-info">
+                  <div class=""><img
+                    :src="buildingImg"
+                    mode="scaleToFill"
+                  /></div>
+                  <div class="area-name">{{isDataTypeFlag == 1 ? '已入住企业' : '土地面积(亩)'}}</div>
+                  <div class="area-value">
+                    {{ isDataTypeFlag == 1 ? BuildingInformationProperties.enterpriseCount: BuildingInformationProperties.c_land_area}}
+                  </div>
                 </div>
               </div>
-            </div>
-            <div class="area-stat-item">
-              <div class="circle-icon"></div>
-              <div class="area-info">
-                <div class="area-name">可出售面积</div>
-                <div class="area-value">
-                  {{ BuildingInformationProperties.c_sellable_area }} m²
+              <div class="area-stat-item">
+                <!-- <div class="circle-icon"></div> -->
+                <div class="area-info">
+                  <div class=""><img
+                    :src="chartImg"
+                    mode="scaleToFill"
+                  /></div>
+                  <div class="area-name">{{isDataTypeFlag == 1 ? '规上企业' : '容积率'}}</div>
+                  <div class="area-value">
+                    {{ isDataTypeFlag == 1 ? BuildingInformationProperties.enterpriseGsCount:BuildingInformationProperties.c_plot_ratio }}
+                  </div>
+                </div>
+              </div>
+              <div class="area-stat-item">
+                <!-- <div class="circle-icon"></div> -->
+                <div class="area-info">
+                  <div class=""><img
+                    :src="homeImg"
+                    mode="scaleToFill"
+                  /></div>
+                  <div class="area-name">{{isDataTypeFlag == 1 ? '待出租' : '限高(m)'}}</div>
+                  <div class="area-value">
+                    {{ isDataTypeFlag == 1 ? BuildingInformationProperties.forRentCount:BuildingInformationProperties.c_height_limit }}
+                  </div>
                 </div>
               </div>
             </div>
-          </div>
-          <div>
-            <div>占地面积{{ BuildingInformationProperties.c_floor_area }}</div>
-            <div>建筑面积{{ BuildingInformationProperties.c_building_area }}</div>
-            <div>空置面积{{ BuildingInformationProperties.c_vacant_area }}</div>
-          </div>
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              占地面积
+            </div>
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              <span>{{BuildingInformationProperties.c_floor_area}}m²</span>
+              <span  style="color: #787575cc;padding-left: 20px;"> 租金{{BuildingInformationProperties.c_rent}}</span>
+            </div>
 
-          <div>
-            <div>租金(元/平米/日){{ BuildingInformationProperties.c_rent }}</div>
-            <div>
-              物业费(元/平米/月){{ BuildingInformationProperties.c_property_fee }}
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              建筑面积
+            </div>
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              <span>{{BuildingInformationProperties.c_building_area}}m²</span>
+              <span  style="color: #787575cc;padding-left: 20px;"> 物业费{{BuildingInformationProperties.c_property_fee}}</span>
+            </div>
+
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              空置面积
+            </div>
+            <div class="info-item" v-if="isDataTypeFlag == 1">
+              <span>{{BuildingInformationProperties.c_vacant_area}}m²</span>
+              <span style="color: #787575cc;padding-left: 20px;"> 楼栋{{ BuildingInformationProperties.buildCount }}栋</span>
+            </div>
+
+            <!-- <div>
+              <div>占地面积{{ BuildingInformationProperties.c_floor_area }}</div>
+              <div>建筑面积{{ BuildingInformationProperties.c_building_area }}</div>
+              <div>空置面积{{ BuildingInformationProperties.c_vacant_area }}</div>
             </div>
-            <div>楼层{{ BuildingInformationProperties.c_floor_count }}</div>
+
+            <div>
+              <div>租金(元/平米/日){{ BuildingInformationProperties.c_rent }}</div>
+              <div>
+                物业费(元/平米/月){{ BuildingInformationProperties.c_property_fee }}
+              </div>
+              <div>楼层{{ BuildingInformationProperties.c_floor_count }}</div>
+            </div> -->
           </div>
         </div>
       </div>
@@ -173,9 +220,16 @@ export default {
       mapCompassVisible: false, // 指南针显示状态
       localLng: null, // 存储地址栏定位参数
       currentLocationMarker: null, // 当前位置标记
+
+      isMobile:false,
+      isDataTypeFlag:0, //  0 默认无 1 楼宇  2 地块
+      homeImg:require("../../public/static/image/home.png"),
+      chartImg:require("../../public/static/image/chart.png"),
+      buildingImg:require("../../public/static/image/building.png"),
     };
   },
   mounted() {
+    this.isMobile = publicFun.terminalType()
     this.getOauthToken();
     // 从地址栏获取定位参数
     this.getLocationFromUrl();
@@ -224,6 +278,9 @@ export default {
     this.clearMeasureData();
   },
   methods: {
+    colseWin(){
+      this.BuildingInformationShow = false;
+    },
     toggleLayer(layerType, show) {
       const layerGroupName = layerType + "_polygon";
       const layerGroup = map2DViewer.groups[layerGroupName];
@@ -303,13 +360,40 @@ export default {
 
         // 创建新的图层组用于存放筛选结果
         this.filteredLifeLayer = L.featureGroup().addTo(map2DViewer.map);
-
         // 在圆圈中心添加标记点
         L.marker(e.latlng).addTo(this.filteredLifeLayer);
         // 筛选并渲染lifeDatas中在圆圈内的对象
         this.renderLifeDatasInCircle(e.latlng);
       });
 
+      map2DViewer.map.on("touchend", (e) => {
+        var now = new Date().getTime();
+        if (now - lastTouchTime < 500) { // 假设双击间隔小于500毫秒
+          // 清除上一次的圆圈和筛选结果
+          if (this.currentCircle) {
+            map2DViewer.map.removeLayer(this.currentCircle);
+          }
+          if (this.filteredLifeLayer) {
+            this.filteredLifeLayer.clearLayers();
+          }
+
+          // 创建新的1500米半径圆圈
+          this.currentCircle = L.circle(e.latlng, {
+            color: "#ff7800",
+            fillColor: "#ff7800",
+            fillOpacity: 0.1,
+            radius: 1500,
+          }).addTo(map2DViewer.map);
+
+          // 创建新的图层组用于存放筛选结果
+          this.filteredLifeLayer = L.featureGroup().addTo(map2DViewer.map);
+          // 在圆圈中心添加标记点
+          L.marker(e.latlng).addTo(this.filteredLifeLayer);
+          // 筛选并渲染lifeDatas中在圆圈内的对象
+          this.renderLifeDatasInCircle(e.latlng);
+        }
+      });
+
       this.lifeDatas = {};
       this.landDatas = {};
       //   加载静态文件渲染geojson数据
@@ -365,9 +449,24 @@ export default {
       }).addTo(map2DViewer.groups[groupsName + "_polygon"]);
 
       marker.on("click", (e) => {
+        //  console.log("wwwwww"+JSON.stringify(e));
         this.BuildingInformationShow = true;
         // 创建弹窗内容
         const properties = feature.properties;
+
+        if(properties.column_name == '楼宇表'){
+          this.isDataTypeFlag = 1
+        }else{
+          this.isDataTypeFlag = 2
+        }
+
+        properties.cy_lable = '';
+        if(properties.c_industry_direction !=  undefined){
+          properties.cy_lable = properties.c_industry_direction
+        }
+        if(properties.content !=  undefined){
+          properties.cy_lable = properties.content
+        }
         this.BuildingInformationProperties = properties;
         // let popupContent = '<div class="custom-popup">';
         // // 遍历属性并生成HTML
@@ -393,9 +492,23 @@ export default {
       this.markers.push(marker);
       //   点击点打开弹窗
       polygon.on("click", (e) => {
+        // console.log("eeee"+JSON.stringify(e));
+        
         this.BuildingInformationShow = true;
         // 创建弹窗内容
         const properties = feature.properties;
+        if(properties.column_name == '楼宇表'){
+          this.isDataTypeFlag = 1
+        }else{
+          this.isDataTypeFlag = 2
+        }
+        properties.cy_lable = '';
+        if(properties.c_industry_direction !=  undefined){
+          properties.cy_lable = properties.c_industry_direction
+        }
+        if(properties.content !=  undefined){
+          properties.cy_lable = properties.content
+        }
         this.BuildingInformationProperties = properties;
         // // 创建弹窗内容
         // const properties = feature.properties;
@@ -462,10 +575,18 @@ export default {
       markers.on("click", (e) => {
         // 创建弹窗内容
         const properties = feature.properties;
-        let popupContent = '<div class="custom-popup">';
+        let popupContent = '<div class="custom-popup" style="overflow: auto;margin: 30px 0px;height: 100%;">';
         // 遍历属性并生成HTML
-        for (const [key, value] of Object.entries(properties)) {
-          popupContent += `<div class="popup-row"><span class="popup-label">${key}:</span><span class="popup-value">${value}</span></div>`;
+        // for (const [key, value] of Object.entries(properties)) {
+        //   popupContent += `<div class="popup-row"><span class="popup-label">${key}:</span><span class="popup-value">${value}</span></div>`;
+        // }
+        let obj = {name:'名称',type:'类型',circle_type:'生活圈类型',set_type:'规划类型',build_area:'区域面积',county:'区县名称',town:'乡镇名称',feature_level:'行政级别',content:'内容',set_time:'规定时间',open_status:'开放状态',config_type:'配置类型',lxdh:'联系电话',address:'地址',owner:'所有者',operation_model:'操作部门'};
+        for (const [key, value] of Object.entries(obj)) {
+          let val = properties[key];
+          if(val == undefined || val == null || val == ''){
+            val = '-'
+          }
+          popupContent += `<div class="popup-row"><span class="popup-label">${value}:</span><span class="popup-value">${val}</span></div>`;
         }
         popupContent += "</div>";
 
@@ -1004,20 +1125,20 @@ export default {
     position: absolute;
     top: 3rem;
     max-width: 500px;
-    width: calc(100vw - 6rem);
-    max-height: 50vh;
-    z-index: 999;
+    width: calc(100vw - 3rem);
+    max-height: 60vh;
+    z-index: 9999;
     border-radius: 0.5rem;
     background: #fff;
     box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
     padding: 0.5rem;
     overflow: hidden;
-    overflow-y: auto;
+    // overflow-y: auto;
     &-title {
-      font-size: 1.2rem;
-      font-weight: 500;
+      font-size: 1.5rem;
+      font-weight: bold;
       padding: 0.5rem;
-      border-bottom: 1px solid #eee;
+      // border-bottom: 1px solid #eee;
     }
   }
 }
@@ -1025,7 +1146,16 @@ export default {
 .info-item {
   display: flex;
   align-items: center;
-  margin-bottom: 8px;
+  margin: 10px;
+  flex-wrap: wrap;
+  // justify-content: space-between;
+  .cy_lable{
+    padding: 2px 10px;
+    background: linear-gradient(90deg, #d2b476, #d2a469);
+    color: #fff;
+    border-radius: 5px;
+    margin-right: 10px;
+  }
 }
 
 .info-icon {
@@ -1039,12 +1169,18 @@ export default {
 
 /* 产业方向图标 */
 .industry-icon {
-  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23666"><path d="M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z"/></svg>');
+  background-image:url('../../public/static/image/building.svg')
+  //background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23666"><path d="M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z"/></svg>');
+}
+
+.phone-icon{
+  background-image:url('../../public/static/image/phone.svg')
 }
 
 /* 项目地址图标 */
 .address-icon {
-  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23666"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>');
+  background-image: url('../../public/static/image/position.svg');
+  //background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23666"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>');
 }
 
 .attributeWindow {
@@ -1069,7 +1205,19 @@ export default {
   transform: translateY(-50%);
   width: 16px;
   height: 16px;
-  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23999"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 0 0 9.5 3 6.5 6.5 0 0 0 3 9.5 6.5 6.5 0 0 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>');
+  background-image: url('../../public/static/image/search.svg');
+  // background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23999"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 0 0 9.5 3 6.5 6.5 0 0 0 3 9.5 6.5 6.5 0 0 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>');
+  background-repeat: no-repeat;
+  background-size: contain;
+}
+.send-icon {
+  position: absolute;
+  right: 10px;
+  top: 50%;
+  transform: translateY(-50%);
+  width: 16px;
+  height: 16px;
+  background-image: url('../../public/static/image/send.svg');
   background-repeat: no-repeat;
   background-size: contain;
 }
@@ -1077,6 +1225,7 @@ export default {
   width: 100%;
   padding: 0.5rem 1rem;
   padding-left: 36px; /* 为图标留出空间 */
+  padding-right: 36px; /* 为图标留出空间 */
   border: 1px solid #ddd;
   border-radius: 0.5rem;
   font-size: 0.9rem;
@@ -1334,13 +1483,15 @@ export default {
 
 .area-stat-item {
   flex: 1;
-  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
+  // background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
+  background: #f1f5fe;
   border-radius: 8px;
   padding: 12px;
   display: flex;
   align-items: center;
+  justify-content: center;
   gap: 10px;
-  min-width: 120px;
+  min-width: 80px;
 }
 
 .circle-icon {
@@ -1354,11 +1505,13 @@ export default {
 }
 
 .area-info {
-  color: white;
+  // color: white;
+  text-align: center;
 }
 
 .area-name {
-  font-size: 12px;
+  // font-size: 12px;
+  padding: 5px 0;
   opacity: 0.9;
 }
 

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini