Bläddra i källkod

Merge branch 'master' of http://114.244.114.158:8802/siwei/real3d-portalsite

maxiaoxiao 1 år sedan
förälder
incheckning
7154ff0de4

+ 116 - 4
src/components/Combinations/NightscapeAnalysis/index.js

@@ -1,6 +1,8 @@
 const Nightscape = {
   GeoJsonLayerList: [],
   liudongGntities: [],
+
+  buildTopLines: [],
   routesGroupByAirline: {},
   tiyuchangdg: [],
   tiyuchangdg1: [],
@@ -49,7 +51,40 @@ const Nightscape = {
       let roadLine1 = Cesium.GeoJsonDataSource.load(
         window.NightLightUrl.csfgx.url
       );
-
+      debugger
+      var layer = scene.layers.find("BaoPo@BaoPo0621N");
+
+      // //修改线框
+      // layer.style3D.lineWidth = 1.5;
+      // layer.style3D.lineColor = new Cesium.Color(0 / 255, 0 / 255, 0 / 255, 1);
+      // layer.style3D.fillStyle = Cesium.FillStyle.Fill_And_WireFrame ;
+      // layer.wireFrameMode = Cesium.WireFrameType.EffectOutline;
+
+      // var customJGD = new Cesium.SpotLight(new Cesium.Cartesian3.fromDegrees(109.51265531383535, 18.311520512333716, 100),
+      //   new Cesium.Cartesian3.fromDegrees(109.53073971317, 18.3524456120148, 300), {
+      //   color: new Cesium.Color(0.2, 0.3, 0.3, 1),
+      //   cutoffDistance: 2000,
+      //   decay: 0,
+      //   intensity: 100
+      // })
+      // customJGD.angle = Math.PI / 100
+      // var x = 109.53073971317
+      // var y = 18.3524456120148
+      // var z = 300
+      // var ount = 1
+      // setInterval(function () {
+      //   scene.po
+      //   var xx = x + ount * 0.003
+      //   var yy = y + 0.002 * ount
+      //   if (xx > 109.35600) {
+      //     xx = x
+      //     yy = y
+      //     ount = 1
+      //   }
+      //   ount++
+      //   customJGD.targetPosition = new Cesium.Cartesian3.fromDegrees(xx, yy, 300)
+      // }, 1000)
+      // scene.addLightSource(customJGD);
       roadLine1
         .then(function (dataSource) {
           viewer.dataSources.add(dataSource);
@@ -59,7 +94,7 @@ const Nightscape = {
             let line = lines_1[i];
             line.polyline.material = new Cesium.PolylineGlowMaterialProperty({
               //设置Glow材质
-              glowPower: 0.005,
+              glowPower: window.NightLightUrl.csfgx.glowPower,
               color: new Cesium.Color(
                 window.NightLightUrl.csfgx.fgxColor.r,
                 window.NightLightUrl.csfgx.fgxColor.g,
@@ -86,7 +121,7 @@ const Nightscape = {
             let line = lines_1[i];
             line.polyline.material = new Cesium.PolylineGlowMaterialProperty({
               //设置Glow材质
-              glowPower: 0.001,
+              glowPower:  window.NightLightUrl.csfgx.glowPower,
               color: new Cesium.Color(
                 window.NightLightUrl.csfgx.fgdxColor.r,
                 window.NightLightUrl.csfgx.fgdxColor.g,
@@ -136,7 +171,41 @@ const Nightscape = {
           scene.addLightSource(SpotLight33);
         });
       });
+    //小区灯光
+    Cesium.loadJson(window.NightLightUrl.residential.url).then((response) => {
+      let features = response.features;
+      features.forEach((element) => {
+        let p = element.geometry.coordinates;
+        var SpotLightPos3 = new Cesium.Cartesian3.fromDegrees(
+          p[0],
+          p[1],
+          p[2]+3
+        );
+        // var SpotLightPos32 = new Cesium.Cartesian3.fromDegrees(
+        //   p[0],
+        //   p[1],
+        //   p[2]
+        // );
+        var SpotLightOptions3 = {
+          cutoffDistance: window.NightLightUrl.yshdg.cutoffDistance,
+          color: new Cesium.Color(
+            window.NightLightUrl.residential.LightColor.r,
+            window.NightLightUrl.residential.LightColor.g,
+            window.NightLightUrl.residential.LightColor.b,
+            window.NightLightUrl.residential.LightColor.a
+          ),
+          decay: window.NightLightUrl.residential.decay,
+          intensity: window.NightLightUrl.residential.intensity,
+        };
 
+        let SpotLightresidential = new Cesium.PointLight(
+          SpotLightPos3,
+          // SpotLightPos32,
+          SpotLightOptions3
+        );
+        scene.addLightSource(SpotLightresidential);
+      });
+    });
       // 体育场灯光
       Cesium.loadJson(window.NightLightUrl.tycdg.url).then((response) => {
         let features = response.features;
@@ -586,11 +655,12 @@ const Nightscape = {
    */
   loadldx() {
     let that = this;
+  //道路中线流动
     Cesium.loadJson(window.NightLightUrl.dlzxx.url).then((jsonData) => {
       debugger;
       jsonData.features.forEach((route) => {
         let list = route.geometry.coordinates.flat(Infinity);
-        debugger;
+        
         let dl = viewer.entities.add({
           // 用于打底的线
           polyline: {
@@ -632,7 +702,46 @@ const Nightscape = {
         this.liudongGntities.push(dls);
       });
     });
+    //楼顶流动线
+    var liness=[]
+    
+    Cesium.loadJson(window.NightLightUrl.buildTopLine.url).then((jsonData) => {
+      debugger;
+      liness=jsonData
+      jsonData.features.forEach((route) => {
+        let list = route.geometry.coordinates.flat(Infinity);
+        let topLine = viewer.entities.add({
+          id: route.properties.OBJECTID,
+          polyline: {
+            positions: Cesium.Cartesian3.fromDegreesArrayHeights(list),
+            width: window.NightLightUrl.dlzxx.ldxWidth,
+            material: new Cesium.PolylineTrailMaterialProperty({
+              outlineColor: new Cesium.Color(
+                window.NightLightUrl.buildTopLine.ldxOutlineColor.r,
+                window.NightLightUrl.buildTopLine.ldxOutlineColor.g,
+                window.NightLightUrl.buildTopLine.ldxOutlineColor.b,
+                window.NightLightUrl.buildTopLine.ldxOutlineColor.a
+              ),
+              outlineWidth: window.NightLightUrl.dlzxx.ldxOutlineWidth,
+              color: new Cesium.Color(
+                window.NightLightUrl.buildTopLine.ldxColor.r,
+                window.NightLightUrl.buildTopLine.ldxColor.g,
+                window.NightLightUrl.buildTopLine.ldxColor.b,
+                window.NightLightUrl.buildTopLine.ldxColor.a
+              ),
+              trailLength: window.NightLightUrl.buildTopLine.trailLength,
+              period: window.NightLightUrl.buildTopLine.period,
+            }),
+          },
+        });
+        this.buildTopLines.push(topLine);
+      });
+    });
+    
+
   },
+  // changlineColor(){},
+
   /**
    * 添加光源
    * @param {} gyData
@@ -702,6 +811,9 @@ const Nightscape = {
       this.liudongGntities.forEach((element) => {
         viewer.entities.remove(element);
       });
+      this.buildTopLines.forEach((element) => {
+        viewer.entities.remove(element);
+      });
     }
   },
 

+ 5 - 1
src/components/Query/clickQuery/CockpitVector.vue

@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div class="CockpitVectorBox">
     <el-autocomplete class="search" @input="change_witch" v-model="state" :fetch-suggestions="querySearchAsync"
       placeholder="请输入内容" @select="handleSelect" popper-class="select-option"
       :popper-append-to-body="false"></el-autocomplete>
@@ -284,6 +284,9 @@ export default {
 };
 </script>
 <style  scoped lang="scss">
+.CockpitVectorBox{
+  // color: #198ec0;
+}
 .search {
   position: absolute;
   top: 5rem;
@@ -313,6 +316,7 @@ export default {
   height: 35rem;
   overflow: auto;
   overflow-x: hidden;
+  // z-index: -1;
 }
 
 /deep/.el-input__inner:focus {

+ 3 - 2
src/components/Query/clickQuery/clickQuery.vue

@@ -43,7 +43,7 @@
       </el-collapse>
     </div>
 
-    <CockpitVector v-show="store.state.query_vector_input"></CockpitVector>
+    <CockpitVector v-if="store.state.query_vector_input"></CockpitVector>
     <MultiLevelQuery ref="MultiLevelQuery" />
   </div>
 </template>
@@ -295,7 +295,7 @@ export default {
         let Pid = "";
         var tempArr = [];
         // "ResultNetWork@管线#1"///"ResultNetWork_Node@管线#1"
-        if (eneityName.indexOf("雨水") > -1) {
+        if (eneityName.indexOf("雨水") > -1 || eneityName.indexOf("管线") > -1) {
           let buildingLayer = scene.layers.find(eneityName);
           buildingLayer.indexedDBSetting.isAttributesSave = true; //保存属性
           if (buildingLayer.getSelection().length > 0) {
@@ -745,6 +745,7 @@ export default {
 .sm-function-module-content-tabs {
   height: 45px;
   padding: 1px 5px 0px 5px;
+  /* margin-top: 4rem; */
 }
 
 .sm-function-module-content-table {

+ 1 - 1
src/components/Query/clickQuery/pick_cockpit_vector.js

@@ -32,7 +32,7 @@ export const init_handler = () => {
             let obj = {}
             let arr = [];
             if (pickObj.primitive instanceof Cesium.Primitive && pickObj.id.properties && pickObj.id.properties.type == '国有建设用地完成项目') {//点击primitive
-                primitive相关操作
+                // primitive相关操作
                 let propertyNames = pickObj.id.properties.propertyNames
                 propertyNames.forEach((res) => {
                     arr.push({

+ 14 - 0
src/components/mapView/range.vue

@@ -331,6 +331,20 @@ export default {
       return this.model;
     },
   },
+  beforeDestroy() {
+    this.clearAll();
+  },
+  watch: {
+    // 监听,当路由发生变化的时候执行
+    $route: {
+      // $route可以用引号,也可以不用引号//to 老路由信息,from  新路由信息
+      handler(to, from) {
+        this.clearAll();
+      },
+      deep: true, // 深度观察监听
+      immediate: true, // 第一次初始化渲染就可以监听到
+    },
+  },
 };
 </script>
 

+ 223 - 51
src/views/ConstructionApplication3D/BenchmarkLandPriceAnalysis/jzdjfxsmjg.vue

@@ -16,7 +16,7 @@
     <el-row :gutter="10" style="display: flex; align-items: center">
       <el-col :span="24">
         土地用途:
-        <el-select
+        <!-- <el-select
           size="mini"
           v-model="jzdj_LandUse"
           placeholder="请选择土地用途"
@@ -29,7 +29,22 @@
             :label="dict.label"
             :value="dict.value"
           />
-        </el-select>
+        </el-select> -->
+
+        <el-cascader
+          placeholder="请选择土地用途"
+          v-model="jzdj_LandUse"
+          :options="landUseNatureRelation"
+          :show-all-levels="false"
+          clearable
+          @change="handleChange"
+          :props="{
+            value: 'tdyt',
+            label: 'tdyt',
+            children: 'children',
+            emitPath: false,
+          }"
+        ></el-cascader>
       </el-col>
     </el-row>
     <el-row :gutter="10">
@@ -52,7 +67,7 @@
             style="justify-content: flex-start"
           >
             <div class="con-col" style="align-items: flex-start">
-              <a style="color: white">分析面积(亩)</a>
+              <a style="color: white">分析范围(亩)</a>
               <a style="font-weight: bold; color: rgba(2, 167, 240, 1)">{{
                 (Number(formData.fxzmj) / 666.67).toFixed(2)
               }}</a>
@@ -146,6 +161,64 @@
         </el-row>
       </el-col>
     </el-row>
+    <el-row :gutter="10">
+      <el-col :span="12">
+        <el-row :gutter="10" class="container_center">
+          <el-col
+            :span="8"
+            class="container_center"
+            style="
+              height: 3rem;
+              background-color: rgba(2, 167, 240, 1);
+              border-radius: 6px;
+            "
+          >
+            <i style="font-size: 2rem" class="el-icon-discount"></i>
+          </el-col>
+          <el-col
+            :span="16"
+            class="container_center"
+            style="justify-content: flex-start"
+          >
+            <div class="con-col" style="align-items: flex-start">
+              <a style="color: white">国有建设</a>
+              <a style="color: white">用地面积(亩)</a>
+              <a style="font-weight: bold; color: rgba(2, 167, 240, 1)">{{
+                (formData.gyzmj / 666.67).toFixed(2)
+              }}</a>
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+      <el-col :span="12">
+        <el-row :gutter="10" class="container_center">
+          <el-col
+            :span="8"
+            class="container_center"
+            style="
+              height: 3rem;
+              background-color: rgba(2, 167, 240, 1);
+              border-radius: 6px;
+            "
+          >
+            <i style="font-size: 2rem" class="el-icon-price-tag"></i>
+          </el-col>
+          <el-col
+            :span="16"
+            class="container_center"
+            style="justify-content: flex-start"
+          >
+            <div class="con-col" style="align-items: flex-start">
+              <a style="color: white">集体建设</a>
+              <a style="color: white">用地面积(亩)</a>
+              <a style="font-weight: bold; color: rgba(2, 167, 240, 1)">{{
+                (formData.jtzmj / 666.67).toFixed(2)
+              }}</a>
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+    </el-row>
     <!-- <el-row :gutter="10" style="display: flex; align-items: center">
       <el-col :span="24">
         土地用途:
@@ -218,6 +291,7 @@ export default {
       getEntitiesHandler: {},
       tooltip: createTooltip(document.body),
       zt_jzdj_LandUse: window.dict.zt_jzdj_LandUse,
+      landUseNatureRelation: window.landUseNatureRelation,
       jzdj_LandUse: "商服用地",
       GYmyChart: null,
       JTmyChart: null,
@@ -226,12 +300,14 @@ export default {
         zdj: 0,
         gyzdj: 0, //国有总地价
         jtzdj: 0, //集体总地价
+        gyzmj: 0, //国有总面积
+        jtzmj: 0, //集体面积
       },
       LayerData: {
         GYData: [],
         JTData: [],
         GHDKData: [],
-        JZDJData: [],
+        JZDJData: { GY: [], JT: [] },
       },
     };
   },
@@ -347,13 +423,14 @@ export default {
         }
         let polygonPs = polygon([DataPs]);
         let areaPs = area(polygonPs);
-        this.formData.fxzmj += +Number(areaPs).toFixed(2);
+        this.formData.fxzmj += Number(areaPs).toFixed(2);
       }
     },
     /**
      * 计算基准地价
      */
     async CalculateJZDJ() {
+      debugger;
       let that = this;
       if (that.jzdj_LandUse) {
         let landUseNatureRelation = flatten(window.landUseNatureRelation).find(
@@ -429,17 +506,11 @@ export default {
                     ps.push(element.x);
                     ps.push(element.y);
                   }
-                  // var orangePolygon1 = viewer.entities.add({
-                  //   id: uuidv4(),
-                  //   polygon: {
-                  //     hierarchy: Cesium.Cartesian3.fromDegreesArray(ps),
-                  //     material: Cesium.Color.FUCHSIA.withAlpha(0.4),
-                  //     outline: true,
-                  //     outlineColor: Cesium.Color.BLACK,
-                  //     outlineWidth: 2.0,
-                  //   },
-                  // });
-                  that.LayerData.JZDJData.push(layerData);
+                  if (layerinfo.qsTYPE == "JT") {
+                    that.LayerData.JZDJData.JT.push(layerData);
+                  } else if (layerinfo.qsTYPE == "GY") {
+                    that.LayerData.JZDJData.GY.push(layerData);
+                  }
                 });
               }
             } else {
@@ -459,7 +530,7 @@ export default {
           };
           // 循环国有土地
           that.LayerData.GYData.forEach((Data) => {
-            that.LayerData.JZDJData.forEach((JZDJ) => {
+            that.LayerData.JZDJData.GY.forEach((JZDJ) => {
               let area = that.calculateIntersectArea(
                 Data.geometry,
                 JZDJ.geometry,
@@ -483,9 +554,9 @@ export default {
               }
             });
           });
-          // 循环国有土地
+          // 循环集体土地
           that.LayerData.JTData.forEach((Data) => {
-            that.LayerData.JZDJData.forEach((JZDJ) => {
+            that.LayerData.JZDJData.JT.forEach((JZDJ) => {
               let area = that.calculateIntersectArea(
                 Data.geometry,
                 JZDJ.geometry,
@@ -532,44 +603,51 @@ export default {
     },
     //计算国有和集体分别总地价
     gyjtzdj() {
+      debugger;
       this.formData.zdj = 0;
       this.formData.gyzdj = 0;
       this.formData.jtzdj = 0;
+      this.formData.jtzmj = 0;
+      this.formData.gyzmj = 0;
       this.LayerData.GYData.forEach((gyelement) => {
         gyelement.fromData.forEach((element) => {
+          this.formData.gyzmj += element.area;
           this.formData.gyzdj += element.zdj;
         });
       });
       this.LayerData.JTData.forEach((jtelement) => {
         jtelement.fromData.forEach((element) => {
+          this.formData.jtzmj += element.area;
           this.formData.jtzdj += element.zdj;
         });
       });
-      // 循环得出总地价
-      //转换成超图格式面
-      let HZgeometry = {
-        partTopo: [1],
-        parts: [this.BenchmarkLandPrice.ProjectScope.length],
-        points: this.BenchmarkLandPrice.ProjectScope,
-      };
-      this.LayerData.JZDJData.forEach((JZDJ) => {
-        let area = this.calculateIntersectArea(JZDJ.geometry, HZgeometry);
-        if (Number(area) > 0) {
-          //单价
-          let djval = JZDJ.data.find(
-            (c) => c.label == JZDJ.layerInfo.ydlxPriceField
-          );
-          if (djval) {
-            this.formData.zdj += Number(area * Number(djval.value));
-          }
-        }
-      });
+      this.formData.zdj = this.formData.gyzdj + this.formData.jtzdj;
+      // // 循环得出总地价
+      // //转换成超图格式面
+      // let HZgeometry = {
+      //   partTopo: [1],
+      //   parts: [this.BenchmarkLandPrice.ProjectScope.length],
+      //   points: this.BenchmarkLandPrice.ProjectScope,
+      // };
+      // this.LayerData.JZDJData.forEach((JZDJ) => {
+      //   let area = this.calculateIntersectArea(JZDJ.geometry, HZgeometry);
+      //   if (Number(area) > 0) {
+      //     //单价
+      //     let djval = JZDJ.data.find(
+      //       (c) => c.label == JZDJ.layerInfo.ydlxPriceField
+      //     );
+      //     if (djval) {
+      //       this.formData.zdj += Number(area * Number(djval.value));
+      //     }
+      //   }
+      // });
     },
 
     /**
      * 查询区域内国有土地权属
      */
     async getGYLandOwnership() {
+      debugger;
       let that = this;
       //查询国有使用权
       let layer = flatten(window.layerTree).find(
@@ -659,13 +737,14 @@ export default {
      * 查询区域内集体土地权属
      */
     async getJTLandOwnership() {
+      debugger;
       let that = this;
       //查询集体使用权
-      let layer = flatten(window.layerTree).find(
+      var layer = flatten(window.layerTree).find(
         (item) => item.core == "007002"
       );
-      let points = this.BenchmarkLandPrice.ProjectScope;
-      let geo = {
+      var points = this.BenchmarkLandPrice.ProjectScope;
+      var geo = {
         id: 0,
         style: null,
         parts: [points.length],
@@ -675,7 +754,7 @@ export default {
           epsgCode: null,
         },
       };
-      let queryByGeometryParameters = {
+      var queryByGeometryParameters = {
         getFeatureMode: "SPATIAL",
         datasetNames: [
           layer.date_server.dataSourceName +
@@ -686,13 +765,13 @@ export default {
         spatialQueryMode: "INTERSECT",
         hasGeometry: "true",
       };
-      let e = await mapQuery(
+      var e = await mapQuery(
         layer.date_server.url + "/featureResults.json?returnContent=true",
         queryByGeometryParameters
       );
       if (e && e.totalCount > 0) {
         e.features.forEach((feature) => {
-          let featureData = {
+          var featureData = {
             id: uuidv4(),
             layerInfo: layer,
             data: [],
@@ -701,7 +780,7 @@ export default {
           };
 
           feature.fieldNames.forEach((fieldName, i) => {
-            let Field = e.datasetInfos
+            var Field = e.datasetInfos
               ? e.datasetInfos[0].fieldInfos.find(
                   (c) =>
                     c.name &&
@@ -718,9 +797,9 @@ export default {
             }
           });
 
-          let ps = [];
+          var ps = [];
           for (
-            let index = 0;
+            var index = 0;
             index < featureData.geometry.points.length;
             index++
           ) {
@@ -743,6 +822,90 @@ export default {
           that.LayerData.JTData.push(featureData);
         });
       }
+
+      //查询集体使用权
+      var layer = flatten(window.layerTree).find(
+        (item) => item.core == "007003"
+      );
+      var points = this.BenchmarkLandPrice.ProjectScope;
+      var geo = {
+        id: 0,
+        style: null,
+        parts: [points.length],
+        points: points,
+        type: "REGION",
+        prjCoordSys: {
+          epsgCode: null,
+        },
+      };
+      var queryByGeometryParameters = {
+        getFeatureMode: "SPATIAL",
+        datasetNames: [
+          layer.date_server.dataSourceName +
+            ":" +
+            layer.date_server.datasetName,
+        ],
+        geometry: geo,
+        spatialQueryMode: "INTERSECT",
+        hasGeometry: "true",
+      };
+      var e = await mapQuery(
+        layer.date_server.url + "/featureResults.json?returnContent=true",
+        queryByGeometryParameters
+      );
+      if (e && e.totalCount > 0) {
+        e.features.forEach((feature) => {
+          var featureData = {
+            id: uuidv4(),
+            layerInfo: layer,
+            data: [],
+            fromData: [],
+            geometry: feature.geometry,
+          };
+
+          feature.fieldNames.forEach((fieldName, i) => {
+            var Field = e.datasetInfos
+              ? e.datasetInfos[0].fieldInfos.find(
+                  (c) =>
+                    c.name &&
+                    c.name.toUpperCase() == fieldName.toUpperCase() &&
+                    c.name.toUpperCase().indexOf("SM") == -1
+                )
+              : null;
+            if (Field) {
+              featureData.data.push({
+                label: fieldName,
+                labelCN: Field ? Field.caption : fieldName,
+                value: e.features[0].fieldValues[i],
+              });
+            }
+          });
+
+          var ps = [];
+          for (
+            var index = 0;
+            index < featureData.geometry.points.length;
+            index++
+          ) {
+            const element = featureData.geometry.points[index];
+            ps.push(element.x);
+            ps.push(element.y);
+          }
+
+          var orangePolygon1 = viewer.entities.add({
+            id: "JTSYTD-" + featureData.id,
+            polygon: {
+              hierarchy: Cesium.Cartesian3.fromDegreesArray(ps),
+              material: Cesium.Color.ORANGE.withAlpha(0.4),
+              outline: true,
+              outlineColor: Cesium.Color.BLACK,
+              outlineWidth: 2.0,
+            },
+          });
+
+          that.LayerData.JTData.push(featureData);
+        });
+      }
     },
 
     initEntitiesHandler() {
@@ -753,6 +916,12 @@ export default {
       this.getEntitiesHandler.setInputAction(function (click) {
         let pick = viewer.scene.pick(click.position);
         let id, info;
+        //集体使用权信息弹窗
+        if (pick && pick.id.id && pick.id.id.indexOf("JTSYTD") !== -1) {
+          id = pick.id.id.split("JTSYTD-")[1];
+          info = that.LayerData.JTData.find((c) => c.id == id);
+          that.openOBJInfo("集体使用权详情", info.data);
+        }
         //集体所有权信息弹窗
         if (pick && pick.id.id && pick.id.id.indexOf("JTTD") !== -1) {
           id = pick.id.id.split("JTTD-")[1];
@@ -969,6 +1138,7 @@ export default {
       for (let index = 0; index < this.LayerData.JTData.length; index++) {
         const element = this.LayerData.JTData[index];
         viewer.entities.removeById("JTTD-" + element.id);
+        viewer.entities.removeById("JTSYTD-" + element.id);
       }
       this.LayerData.JTData = [];
       //删除规划地块图层
@@ -1028,7 +1198,7 @@ export default {
         series: [
           {
             type: "pie",
-            radius: ["40%", "70%"],
+            radius: ["50%", "80%"],
             center: ["35%", "50%"], // 将饼图的中心点向左调整到容器宽度的30%,纵坐标保持在中心
             avoidLabelOverlap: false,
             itemStyle: {
@@ -1118,7 +1288,7 @@ export default {
         series: [
           {
             type: "pie",
-            radius: ["40%", "70%"],
+            radius: ["50%", "80%"],
             center: ["35%", "50%"], // 将饼图的中心点向左调整到容器宽度的30%,纵坐标保持在中心
             avoidLabelOverlap: false,
             itemStyle: {
@@ -1165,13 +1335,15 @@ export default {
       //先清空数据
       this.formData.gyzdj = 0;
       this.formData.jtzdj = 0;
+      this.formData.gyzmj = 0;
+      this.formData.jtzmj = 0;
       this.LayerData.GYData.forEach((element) => {
         element.fromData = [];
       });
       this.LayerData.JTData.forEach((element) => {
         element.fromData = [];
       });
-      this.LayerData.JZDJData = [];
+      this.LayerData.JZDJData = { GY: [], JT: [] };
 
       await this.CalculateJZDJ();
       await this.initGY();
@@ -1245,6 +1417,6 @@ export default {
 }
 .EchartsWH {
   width: 100%;
-  height: 16rem;
+  height: 13rem;
 }
 </style>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 28 - 8
src/views/ConstructionApplication3D/Demolition/DemolitionList.vue


+ 36 - 21
src/views/ConstructionApplication3D/billboard/billboardChekInfo.vue

@@ -91,7 +91,7 @@ export default {
     async init() {
       let that = this;
       debugger;
-
+      let Z = Number(that.info.z) - 19.4;
       let ltData = await this.getloutiData(that.info);
       //过滤规则
       let billboardReviewList = flatten(window.window.billboardReviewList);
@@ -131,7 +131,7 @@ export default {
                     break;
                   case "0010101": //户外广告上沿不得突出墙面(包括女儿墙)的外轮廓线
                     //广告上沿高度
-                    let ggsygd = that.info.z + that.info.yL / 2;
+                    let ggsygd = Z + that.info.yL / 2;
                     //楼高
                     if (ltData.length > 0) {
                       //多层高
@@ -172,7 +172,7 @@ export default {
                     break;
                   case "0010105": //户外广告下端距地面净高不得低于3米,且不得防碍行人安全;
                     //广告下沿高度
-                    let ggxygd = that.info.z - that.info.yL / 2;
+                    let ggxygd = Z - that.info.yL / 2;
                     if (ggxygd > 3) {
                       ruleResult = "true";
                     } else {
@@ -193,28 +193,43 @@ export default {
                       let FLOORH = ltData[0].data.find(
                         (c) => c.label == "FLOORH"
                       );
-                      //广告上沿高度
-                      let ggsygd1 =
-                        Number(that.info.z) + Number(that.info.yL) / 2;
+
                       if (FLOORH && FLOORH.value) {
-                        if (Number(FLOORH.value) > ggsygd1) {
-                          if (Number(FLOORH.value) <= 4.5) {
-                            if (that.info.yL <= 1.5) {
-                              ruleResult = "true";
-                            } else {
-                              ruleResult = "false";
-                            }
-                          } else if (Number(FLOORH.value) > 4.5) {
-                            if (that.info.yL <= 2) {
-                              ruleResult = "true";
-                            } else {
-                              ruleResult = "false";
-                            }
+                        if (Number(FLOORH.value) <= 4.5) {
+                          if (that.info.yL <= 1.5) {
+                            ruleResult = "true";
+                          } else {
+                            ruleResult = "false";
+                          }
+                        } else if (Number(FLOORH.value) > 4.5) {
+                          if (that.info.yL <= 2) {
+                            ruleResult = "true";
+                          } else {
+                            ruleResult = "false";
                           }
-                        } else {
-                          ruleResult = "false";
                         }
                       }
+                      // //广告上沿高度
+                      // let ggsygd1 = Number(Z) + Number(that.info.yL) / 2;
+                      // if (FLOORH && FLOORH.value) {
+                      //   if (Number(FLOORH.value) > ggsygd1) {
+                      //     if (Number(FLOORH.value) <= 4.5) {
+                      //       if (that.info.yL <= 1.5) {
+                      //         ruleResult = "true";
+                      //       } else {
+                      //         ruleResult = "false";
+                      //       }
+                      //     } else if (Number(FLOORH.value) > 4.5) {
+                      //       if (that.info.yL <= 2) {
+                      //         ruleResult = "true";
+                      //       } else {
+                      //         ruleResult = "false";
+                      //       }
+                      //     }
+                      //   } else {
+                      //     ruleResult = "false";
+                      //   }
+                      // }
                     }
 
                     break;

+ 8 - 1
src/views/cockpit/hysy.vue

@@ -12,7 +12,7 @@
             </el-select>
         </div>
 
-        <div class="hy_tabs">
+        <div class="hy_tabs" v-show="left_value == options[1].value">
             <el-tabs v-model="activeName" @tab-click="handleClick">
                 <el-tab-pane label="期限监测" name="first">
                     <DiscountedAColumnar class="discounteda_columnar_hy" />
@@ -29,6 +29,10 @@
                 </el-tab-pane>
             </el-tabs>
         </div>
+        <div class="hy_tabs" v-show="left_value == options[0].value">
+            <DiscountedAColumnar class="discounteda_columnar_hy nyyd" />
+
+        </div>
     </div>
 </template>
 
@@ -516,4 +520,7 @@ export default {
     width: 20vw;
     height: 11rem;
 }
+.nyyd{
+    margin-top: 3.5rem;
+}
 </style>

+ 2 - 2
src/views/cockpit/tdsy.vue

@@ -543,9 +543,9 @@ export default {
 
       if (this.left_value == 'hysyq') {
         this.right_options = [
-          { value: "gyjd", label: "供应进度" },
+          { value: "gyjg", label: "供应结构" },
         ]
-        this.right_value = 'gyjd'
+        this.right_value = 'gyjg'
       } else {
         this.right_options = [
           { value: "gyjd", label: "供应进度" },

+ 2 - 1
src/views/complianceAnalysis/components/scjg.vue

@@ -105,7 +105,8 @@ export default {
             let c = e.dataList || [];
             c.map(ci => {
               ci.name = ci.yslx_name || ci.scxname;
-              ci.value = this.compute(ci.mj);
+              // ci.value = this.compute(ci.mj);
+              ci.value = ci.mj;
               ci.id = ci.yslx || ci.scxbsm;
               ci.geom = ci.geom || (ci.data ? ci.data.geom : "");
               // ci.label = ci.mc_name;

+ 24 - 19
src/views/siteselection/components/fzxz.vue

@@ -3,7 +3,7 @@
     <el-form
       :model="ruleForm"
       ref="ruleForm"
-      label-width="105px"
+      label-width="107px"
       :rules="rules"
       label-position="left"
     >
@@ -97,15 +97,15 @@
     </div>
     <div class="XZtree">
       <el-table :data="tableData" style="width: 100%">
-        <el-table-column prop="yxyzmc" label="因子名称" show-overflow-tooltip>
+        <el-table-column prop="name" label="因子名称" show-overflow-tooltip>
         </el-table-column>
         <el-table-column label="条件" show-overflow-tooltip>
           <template slot-scope="scope">
-            <span>{{ yztj(scope.row.spatial_type) }}</span>
+            <span>{{ yztj(scope.row.default) }}</span>
           </template>
         </el-table-column>
 
-        <el-table-column prop="yxz" label="值" show-overflow-tooltip>
+        <el-table-column prop="defaultValue" label="约束值(m/°)" show-overflow-tooltip>
         </el-table-column>
       </el-table>
     </div>
@@ -138,7 +138,7 @@ export default {
 
   data() {
     return {
-      checkbox_data:0,
+      checkbox_data: 0,
       ruleForm: {
         xzmj: 0,
         xmmc: "",
@@ -148,7 +148,7 @@ export default {
         ydmjbegin: "", //用地面积开始
         ydmjend: "", //用地面积结束
         sjy: "", //数据源
-        xzys: 0,//选址约束,暂时没有在逻辑里添加改字段
+        xzys: 0, //选址约束,暂时没有在逻辑里添加改字段
       },
       rules: {
         xzmj: [{ required: true, message: "请填写范围的数据" }],
@@ -210,8 +210,8 @@ export default {
     });
   },
   methods: {
-    changeCheckBox(val){
-console.log(val,'杰卡斯到货时间啊肯定会刷卡机很大');
+    changeCheckBox(val) {
+      console.log(val, "杰卡斯到货时间啊肯定会刷卡机很大");
     },
     handleChange(value) {
       // console.log(value);
@@ -245,9 +245,6 @@ console.log(val,'杰卡斯到货时间啊肯定会刷卡机很大');
           };
           // console.log(obj, "objobj");
           AddFzxz(obj).then((res) => {
-            // console.log(res, "哈哈哈哈哈");
-            // if (res.success) {
-            // this.bus.$emit("recordBsm", res.data.rwbsm);
             const loading = this.$loading({
               lock: true,
               text: "分析中",
@@ -290,14 +287,22 @@ console.log(val,'杰卡斯到货时间啊肯定会刷卡机很大');
     },
     // 影响因子条件展示
     yztj(val) {
-      if (val == "identity") {
-        return "范围内";
-      } else if (val == "n_identity") {
-        return "范围外";
+      if (val == "intersect") {
+        return "相交";
+      } else if (val == "not_intersect") {
+        return "不相交";
       } else if (val == "contain") {
-        return "距离包含";
-      } else if (val == "n_contain") {
-        return "距离不包含";
+        return "包含";
+      } else if (val == "not_contain") {
+        return "不包含";
+      }else if (val == "gt") {
+        return "大于";
+      }else if (val == "lt") {
+        return "小于";
+      }else if (val == "get") {
+        return "大于等于";
+      }else if (val == "let") {
+        return "小于等于";
       }
     },
     yzpz() {
@@ -343,7 +348,7 @@ console.log(val,'杰卡斯到货时间啊肯定会刷卡机很大');
 /deep/ .el-form-item__error {
   top: 32px !important;
 }
-/deep/ .el-checkbox{
+/deep/ .el-checkbox {
   color: #fff;
 }
 </style>

+ 54 - 68
src/views/siteselection/components/yxyzPop.vue

@@ -17,7 +17,7 @@
               :props="defaultProps"
               highlight-current
               show-checkbox
-              node-key="bsm"
+              node-key="id"
               ref="tree"
             ></el-tree>
           </el-scrollbar>
@@ -46,52 +46,34 @@
           >
             <el-table-column type="selection" width="55" align="center">
             </el-table-column>
-            <el-table-column prop="yxyzmc" label="因子名称"> </el-table-column>
+            <el-table-column prop="name" label="因子名称"> </el-table-column>
             <el-table-column prop="spatial_type" label="条件" width="150">
               <template slot-scope="scope">
                 <el-select
-                  v-model="scope.row.spatial_type"
+                  v-model="scope.row.default"
                   placeholder="请选择"
                   class="input-style"
-                  v-if="
-                    scope.row.spatial_type == 'identity' ||
-                    scope.row.spatial_type == 'n_identity'
-                  "
                 >
                   <el-option
-                    v-for="item in conditionList1"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-                <el-select
-                  v-model="scope.row.spatial_type"
-                  placeholder="请选择"
-                  class="input-style"
-                  v-if="
-                    scope.row.spatial_type == 'contain' ||
-                    scope.row.spatial_type == 'n_contain'
-                  "
-                >
-                  <el-option
-                    v-for="item in conditionList2"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+                    v-for="item in scope.row.spatial_types"
+                    :key="item.key"
+                    :label="item.name"
+                    :value="item.key"
                   >
                   </el-option>
                 </el-select>
               </template>
             </el-table-column>
-            <el-table-column prop="yxz" label="约束值(m)" width="120">
+            <el-table-column prop="defaultValue" label="约束值(m/°)" width="120">
               <template slot-scope="scope">
                 <el-input
                   Onkeyup="this.value=this.value.replace(/[^\d^\.]+/g,'').replace(/^0+(\d)/,'$1').replace(/^\./,'0.').match(/\d+.?\d{0,2}/);this.dispatchEvent(new Event('input'))"
-                  v-model="scope.row.yxz"
+                  v-model.number="scope.row.defaultValue"
                   placeholder="距离"
                   class="input-style font-14"
+                  :disabled="scope.row.hasValue"
+                  type="number"
+                  @input="testInput(scope.row.hasValue)"
                 ></el-input>
                 <!-- :disabled="scope.row.condition == 'F'" -->
               </template>
@@ -109,7 +91,7 @@
 </template>
 
 <script>
-import { GetFxyzList } from "../../../api/ghss/ghxz.js";
+import { GetFactorList } from "../../../api/ghss/ghxz.js";
 export default {
   components: {},
   props: {
@@ -122,7 +104,7 @@ export default {
     return {
       defaultProps: {
         children: "children",
-        label: "yxyzmc",
+        label: "name",
       },
       dialogVisible: false,
       options: [],
@@ -131,34 +113,21 @@ export default {
       optionsTemp: [],
       selectdialogData: [],
       dialogData: [],
-      conditionList1: [
-        { label: "范围内", value: "identity" },
-        { label: "范围外", value: "n_identity" },
-      ],
-      conditionList2: [
-        { label: "距离包含", value: "contain" },
-        { label: "距离不包含", value: "n_contain" },
-      ],
     };
   },
-  computed: {
-    conditionList(val) {
-      if (val == "identity") {
-        return this.conditionList1;
-      } else {
-        return this.conditionList2;
-      }
-    },
-  },
+  computed: {},
   mounted() {
-    this.GetFxyzList();
+    this.GetFactorList();
   },
   methods: {
+    testInput(val){
+val = Number(val)
+    },
     close() {
       this.dialogVisible = false;
     },
-    GetFxyzList() {
-      GetFxyzList().then((res) => {
+    GetFactorList() {
+      GetFactorList().then((res) => {
         this.kxyzList = res.data;
         this.tempList = JSON.parse(JSON.stringify(res.data));
         this.getTreeList();
@@ -170,14 +139,14 @@ export default {
         const map = {};
         const tree = [];
         for (const node of nodes) {
-          map[node.bsm] = { ...node, children: [] };
+          map[node.id] = { ...node, children: [] };
         }
         for (const node of Object.values(map)) {
-          if (node.parent_bsm === null) {
+          if (node.parent_id == "") {
             tree.push(node);
           } else {
-            map[node.parent_bsm].children.push(node);
-            map[node.parent_bsm].parentNode = true;
+            map[node.parent_id].children.push(node);
+            map[node.parent_id].parentNode = true;
           }
         }
         return tree;
@@ -208,17 +177,22 @@ export default {
     setTable(selectdata) {
       let tableList = [];
       selectdata.forEach((item) => {
+        let JSONItem = JSON.parse(item.conditionInfo);
         tableList.push({
-          id: item.bsm,
+          id: item.id,
           // name: item.yxyzmc,
           // condition: item.spatial_type,
           // value: "",
           // sjy: item.has_yxz,
           // sjlx: item.spatial_type,
-          yzbsm: item.bsm,
-          yxyzmc: item.yxyzmc,
-          spatial_type: item.spatial_type,
-          yxz: "",
+          // yzbsm: item.bsm,
+          name: item.name,
+          bsm:item.bsm,
+          spatial_types:JSONItem.items,
+          spatial_type:JSONItem.spatial_type,
+          hasValue: JSONItem.hasValue, //是否可以填写约束值
+          defaultValue: Number(JSONItem.defaultValue), //约束值默认值
+          default: JSONItem.default, //默认选中条件
         });
       });
       tableList.forEach((item) => {
@@ -229,7 +203,7 @@ export default {
     },
     resetTree(data, item1) {
       data.forEach((item, index) => {
-        if (item.bsm == item1.id) {
+        if (item.id == item1.id) {
           data.splice(index, 1);
         }
         if (item.children != undefined && item.children.length != 0) {
@@ -291,8 +265,6 @@ export default {
         item.type && item.value == "" && (sign = false);
       });
       if (sign) {
-        // parent.emit("update:tableData", this.dialogData);
-        // parent.emit("update:dialogVisible", false);
         this.$parent.tableData = this.dialogData;
         this.dialogVisible = false;
       } else {
@@ -306,12 +278,10 @@ export default {
     },
     clearitem(item) {
       this.options[0].children = this.options[0].children.filter((item1) => {
-        // return item.id != item1.value;
-        return item.id != item1.yxz;
+        return item.id != '';
       });
       this.options[1].children = this.options[1].children.filter((item1) => {
-        // return item.id != item1.value;
-        return item.id != item1.yxz;
+        return item.id != '';//item1.defaultValue
       });
       this.options[0].children.length == 0
         ? (this.options[0].disabled = true)
@@ -399,4 +369,20 @@ export default {
 /deep/.el-dialog__body {
   color: #fff !important;
 }
+/* 去除Element UI中el-input数字类型的样式 */
+/deep/ .el-input__inner[type="number"] {
+  -webkit-appearance: none; /* 移除系统默认的外观样式 */
+}
+ 
+/* 去除增加/减少数字按钮的样式 */
+/deep/ .el-input__inner[type="number"]::-webkit-inner-spin-button,
+.el-input__inner[type="number"]::-webkit-outer-spin-button {
+  -webkit-appearance: none; /* 移除输入框两侧的上下箭头 */
+  margin: 0; /* 移除上下箭头与文本之间的间隔 */
+}
+ 
+/* 去除Firefox浏览器中的一些特定样式 */
+/deep/ .el-input__inner[type="number"]::-moz-inner-spin-button {
+  -moz-appearance: none; /* 移除Firefox中的上下箭头 */
+}
 </style>

+ 18 - 3
src/views/viewer.vue

@@ -83,13 +83,27 @@ export default {
     //监控data中的数据变化
     watch: {
 
-        isViewer_flag(newVal, oldVal) { 
+        isViewer_flag(newVal, oldVal) {
             cockpit.hidden_xzqh(newVal);
             cockpit.hidden_wall(newVal);
-         },
+            if (newVal) {
+                viewer.camera.flyTo({ //定位到范围中心点
+                    destination: {
+                        x: -2040463.7901390342,
+                        y: 5793227.819015942,
+                        z: 1894583.1762108966
+                    },
+                    orientation: {
+                        heading: 0.000005686606919574899,
+                        pitch: -0.41034310444770905,
+                        roll: 0.0
+                    },
+                })
+            }
+        },
 
         isxzqh_flag(newVal, oldVal) {
-            
+
             cockpit.hidden_xzqh(newVal);
             cockpit.hidden_wall(newVal);
 
@@ -222,6 +236,7 @@ export default {
                 }
                 if (store.state.xzqh_flag) {
                     if (Cesium.defined(pickObj)) {
+                        console.log(store.state.xzqh_flag, "store.state.xzqh_flag");
                         if (pickObj.primitive instanceof Cesium.Primitive && store.state.xzqh_flag == true) {//点击primitive
                             //primitive相关操作
 

+ 137 - 79
static/Config/config.js

@@ -1915,7 +1915,7 @@ window.billboardModelList = [
     billboardType: "附设于建筑一层门楣的广告",
     x: 109.511396,
     y: 18.316283,
-    z: 5.78,
+    z: 25.18,
     xL: 40,
     yL: 1.16,
     zL: 0.1,
@@ -1932,7 +1932,7 @@ window.billboardModelList = [
     billboardType: "平行建筑主体户外广告",
     x: 109.511509,
     y: 18.315612,
-    z: 9.29,
+    z: 28.69,
     xL: 10,
     yL: 5,
     zL: 0.1,
@@ -2431,8 +2431,9 @@ window.NightLightUrl = {
     ldxOutlineWidth: 3, //流动轮廓线宽
     ldxColor: { r: 233 / 255, g: 233 / 255, b: 233 / 255, a: 0.8 }, //流动线线型填充颜色
     trailLength: 0.3, //流动线在整条线中占比例
-    period: 2, //尾迹线从起点到终点的运行周期
+    period: 5, //尾迹线从起点到终点的运行周期
   },
+
   //草坪灯光
   cpdg: {
     url: "static/data/BPGYLight.json",
@@ -2470,10 +2471,43 @@ window.NightLightUrl = {
   //城市泛光线
   csfgx: {
     url: "static/data/fg.json",
-    fgxColor: { r: 255 / 255, g: 128 / 255, b: 0 / 255, a: 0.9 }, //泛光线颜色
-    fgxWidth: 50, //泛光线宽度
-    fgdxColor: { r: 255 / 255, g: 255 / 255, b: 255 / 255, a: 1 }, //泛光底线颜色
-    fgdxWidth: 5, //泛光底线宽度
+    glowPower: 0.1, //获取或设置指定辉光强度的数值属性,以总线宽(小于1.0)的百分比表示。
+    // fgxColor: { r: 255 / 255, g: 128 / 255, b: 0 / 255, a: 0.9 }, //泛光线颜色
+    fgxColor: { r: 255 / 255, g: 152 / 255, b: 0 / 255, a: 0.9 }, //泛光线颜色
+    fgxWidth: 10, //泛光线宽度
+    // fgdxColor: { r: 255 / 255, g: 255 / 255, b: 255 / 255, a: 1 }, //泛光底线颜色
+    fgdxColor: { r: 209 / 255, g: 163 / 255, b: 60 / 255, a: 1 }, //泛光底线颜色
+    fgdxWidth: 1, //泛光底线宽度
+  },
+  //楼顶流动线
+  buildTopLine: {
+    url: "static/data/楼顶流动线.json",
+    // lddxWidth: 5, //流动线底线线宽
+    // lddxColor: { r: 0 / 255, g: 0 / 255, b: 0 / 255, a: 0.3 }, //流动线底线颜色
+    // ldxWidth: 2, //流动线线宽
+    // ldxOutlineColor: { r: 255 / 255, g: 255 / 255, b: 255 / 255, a: 0.3 }, //流动线轮廓颜色
+    // ldxOutlineWidth: 3, //流动轮廓线宽
+    // ldxOutlineColor: { r: 255 / 255, g: 255 / 255, b: 255 / 255, a: 0.3 }, //流动线轮廓颜色
+    // ldxColor: { r: 127 / 255, g: 255 / 255, b: 0 / 255, a: 1 }, //流动线线型填充颜色
+    // trailLength: 0.5, //流动线在整条线中占比例
+    // period: 2, //尾迹线从起点到终点的运行周期
+
+    lddxWidth: 100, //流动线底线线宽
+    lddxColor: { r: 255 / 255, g: 255 / 255, b: 255 / 255, a: 0.2 }, //流动线底线颜色
+    ldxWidth: 100, //流动线线宽
+    ldxOutlineColor: { r: 255 / 255, g: 255 / 255, b: 255 / 255, a: 0.3 }, //流动线轮廓颜色
+    ldxOutlineWidth: 5, //流动轮廓线宽
+    ldxColor: { r: 239 / 255, g: 0 / 255, b: 255 / 255, a: 1 }, //流动线线型填充颜色
+    trailLength: 0.5, //流动线在整条线中占比例
+    period: 2, //尾迹线从起点到终点的运行周期
+  },
+  //小区灯光
+  residential: {
+    url: "static/data/小区.json",
+    cutoffDistance: 80, //扩散距离
+    LightColor: { r: 222 / 255, g: 154 / 255, b: 24 / 255, a: 1 }, //灯光颜色
+    decay: 3, //衰减
+    intensity: 1, //强度
   },
 };
 
@@ -2503,13 +2537,15 @@ window.landUseNatureRelation = [
         tdjbField: "级别_终",
         ydlxTypeField: "",
         ydlxPriceField: "集体楼面单价_终",
+        qsTYPE: "JT",
+      },
+      {
+        layerCore: "006001",
+        tdjbField: "土地级别",
+        ydlxTypeField: "",
+        ydlxPriceField: "楼面单价",
+        qsTYPE: "GY",
       },
-      // {
-      //   layerCore: "006001",
-      //   tdjbField: "土地级别",
-      //   ydlxTypeField: "",
-      //   ydlxPriceField: "楼面单价",
-      // },
     ],
   },
   {
@@ -2521,13 +2557,15 @@ window.landUseNatureRelation = [
         tdjbField: "级别_终",
         ydlxTypeField: "",
         ydlxPriceField: "集体楼面单价_终",
+        qsTYPE: "JT",
+      },
+      {
+        layerCore: "006008",
+        tdjbField: "土地级别",
+        ydlxTypeField: "",
+        ydlxPriceField: "楼面单价",
+        qsTYPE: "GY",
       },
-      // {
-      //   layerCore: "006008",
-      //   tdjbField: "土地级别",
-      //   ydlxTypeField: "",
-      //   ydlxPriceField: "楼面单价",
-      // },
     ],
   },
   {
@@ -2537,17 +2575,19 @@ window.landUseNatureRelation = [
       { ydxz: "仓储用地", ydxzdl: "11" },
     ],
     layerinfo: [
-      // {
-      //   layerCore: "006003",
-      //   tdjbField: "土地级别",
-      //   ydlxTypeField: "",
-      //   ydlxPriceField: "楼面单价",
-      // },
       {
         layerCore: "006005",
         tdjbField: "级别_终",
         ydlxTypeField: "",
         ydlxPriceField: "集体楼面单价_终",
+        qsTYPE: "JT",
+      },
+      {
+        layerCore: "006003",
+        tdjbField: "土地级别",
+        ydlxTypeField: "",
+        ydlxPriceField: "楼面单价",
+        qsTYPE: "GY",
       },
     ],
   },
@@ -2560,17 +2600,19 @@ window.landUseNatureRelation = [
         tdyt: "机关团体用地",
         GHDKType: [{ ydxz: "机关团体用地", ydxzdl: "0801" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "机关团体用地",
-          //   ydlxPriceField: "机关_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "机关团体用地",
             ydlxPriceField: "机关_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "机关团体用地",
+            ydlxPriceField: "机关_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2578,17 +2620,19 @@ window.landUseNatureRelation = [
         tdyt: "科研用地",
         GHDKType: [{ ydxz: "科研用地", ydxzdl: "0802" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "教育、科研用地",
-          //   ydlxPriceField: "教育_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "教育、科研用地",
             ydlxPriceField: "教育_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "教育、科研用地",
+            ydlxPriceField: "教育_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2596,17 +2640,19 @@ window.landUseNatureRelation = [
         tdyt: "文化用地",
         GHDKType: [{ ydxz: "文化用地", ydxzdl: "0803" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "文化设施、体育用地",
-          //   ydlxPriceField: "文化_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "文化设施、体育用地",
             ydlxPriceField: "文化_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "文化设施、体育用地",
+            ydlxPriceField: "文化_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2614,17 +2660,19 @@ window.landUseNatureRelation = [
         tdyt: "教育用地",
         GHDKType: [{ ydxz: "教育用地", ydxzdl: "0804" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "教育、科研用地",
-          //   ydlxPriceField: "教育_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "教育、科研用地",
             ydlxPriceField: "教育_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "教育、科研用地",
+            ydlxPriceField: "教育_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2632,17 +2680,19 @@ window.landUseNatureRelation = [
         tdyt: "体育用地",
         GHDKType: [{ ydxz: "体育用地", ydxzdl: "0805" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "文化设施、体育用地",
-          //   ydlxPriceField: "文化_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "文化设施、体育用地",
             ydlxPriceField: "文化_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "文化设施、体育用地",
+            ydlxPriceField: "文化_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2650,17 +2700,19 @@ window.landUseNatureRelation = [
         tdyt: "医疗卫生用地",
         GHDKType: [{ ydxz: "医疗卫生用地", ydxzdl: "0806" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "医疗卫生、社会福利用地",
-          //   ydlxPriceField: "医疗_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "医疗卫生、社会福利用地",
             ydlxPriceField: "医疗_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "医疗卫生、社会福利用地",
+            ydlxPriceField: "医疗_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2668,17 +2720,19 @@ window.landUseNatureRelation = [
         tdyt: "社会福利用地",
         GHDKType: [{ ydxz: "社会福利用地", ydxzdl: "0807" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "医疗卫生、社会福利用地",
-          //   ydlxPriceField: "医疗_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "医疗卫生、社会福利用地",
             ydlxPriceField: "医疗_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "医疗卫生、社会福利用地",
+            ydlxPriceField: "医疗_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2693,17 +2747,19 @@ window.landUseNatureRelation = [
         tdyt: "公共设施用地",
         GHDKType: [{ ydxz: "公共设施用地", ydxzdl: "13" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "公园与绿地、公用设施用地",
-          //   ydlxPriceField: "公园_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "公园与绿地、公用设施用地",
             ydlxPriceField: "公园_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "公园与绿地、公用设施用地",
+            ydlxPriceField: "公园_地价",
+            qsTYPE: "GY",
           },
         ],
       },
@@ -2711,17 +2767,19 @@ window.landUseNatureRelation = [
         tdyt: "绿地与开敞空间用地",
         GHDKType: [{ ydxz: "绿地与开敞空间用地", ydxzdl: "14" }],
         layerinfo: [
-          // {
-          //   layerCore: "006004",
-          //   tdjbField: "土地级别",
-          //   ydlxTypeField: "公园与绿地、公用设施用地",
-          //   ydlxPriceField: "公园_地价",
-          // },
           {
             layerCore: "006009",
             tdjbField: "级别_终",
             ydlxTypeField: "公园与绿地、公用设施用地",
             ydlxPriceField: "公园_地价",
+            qsTYPE: "JT",
+          },
+          {
+            layerCore: "006004",
+            tdjbField: "土地级别",
+            ydlxTypeField: "公园与绿地、公用设施用地",
+            ydlxPriceField: "公园_地价",
+            qsTYPE: "GY",
           },
         ],
       },

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
static/data/地标.json


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
static/data/小区.json


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
static/data/楼顶流动线.json


Vissa filer visades inte eftersom för många filer har ändrats