Преглед изворни кода

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

maxiaoxiao пре 10 месеци
родитељ
комит
823c2291e1

+ 10 - 9
src/components/TerrainAnalysis/TerrainCutFillAnalysis/TerrainCutFillAnalysis.vue

@@ -106,9 +106,7 @@ export default {
 
       return wktPolygon;
     },
-    async smooth_ana(positions, positions_noHeight) {
-      console.log('positions: ', positions);
-      console.log('positions_noHeight: ', positions_noHeight);
+    async smooth_ana(positions, positions_noHeight, threeArray, height) {
       let data = await getDsm({
         "geom": this.coordsToWktPolygon(positions_noHeight),
         'type': 'min'
@@ -124,6 +122,9 @@ export default {
       });
 
       this.smooth_height = data.data.toFixed(2)
+
+      let cutVolume = cutFillAnalysis.VolumeAnalysis(threeArray, height);
+      that.result = cutVolume.toFixed(2);
     },
     draw() {
 
@@ -206,7 +207,7 @@ export default {
         }
 
         if (that.radio == 'smooth') {
-          that.smooth_ana(positions, positions_noHeight);
+          that.smooth_ana(positions, positions_noHeight, threeArray, -that.height);
 
         } else if (that.radio == 'cut') {
           if (that.height < 0) {
@@ -300,14 +301,14 @@ export default {
 
 
 
-      // const terrainP = new Cesium.CesiumTerrainProvider({
-      //   url: 'http://192.168.60.2:8090/iserver/services/3D-local3DCache-SanYaShi_GaoCheng_Level_16DataSource/rest/realspace/datas/%E4%B8%89%E4%BA%9A%E5%B8%82_%E9%AB%98%E7%A8%8B_Level_16%40DataSource',
-      //   isSct: true//地形服务源自SuperMap iServer发布时需设置isSct为true
-      // });
+      const terrainP = new Cesium.CesiumTerrainProvider({
+        url: 'http://192.168.60.2:8090/iserver/services/3D-local3DCache-SanYaShi_GaoCheng_Level_16DataSource/rest/realspace/datas/%E4%B8%89%E4%BA%9A%E5%B8%82_%E9%AB%98%E7%A8%8B_Level_16%40DataSource',
+        isSct: true//地形服务源自SuperMap iServer发布时需设置isSct为true
+      });
 
 
 
-      // viewer.terrainProvider = terrainP;
+      viewer.terrainProvider = terrainP;
 
 
 

+ 131 - 111
src/views/complianceAnalysis/ghzc.scss

@@ -171,151 +171,172 @@
 
 
     .el-form,
-.el-col {
-    .el-input--mini .el-input__inner {
-        color: #fff !important;
+    .el-col {
+        .el-input--mini .el-input__inner {
+            color: #fff !important;
+        }
+
+        .el-input__inner {
+            color: #fff;
+            background: #041c3273 !important;
+            border: 1px dashed #0F7AC8;
+        }
+
+        .el-input__inner:hover {
+            // color: #fff;
+            // background: #041C32 !important;
+            // border: 1px dashed #409eff;
+        }
+
+        .el-input__inner::placeholder {
+            // color: #fff;
+        }
+
+        .el-cascader--mini {
+            width: 100% !important;
+        }
     }
 
-    .el-input__inner {
+    .el-collapse-item__header {
         color: #fff;
-        background: #041c3273 !important;
-        border: 1px dashed #0F7AC8;
+        /* 修改标题颜色 */
     }
 
-    .el-input__inner:hover {
-        // color: #fff;
-        // background: #041C32 !important;
-        // border: 1px dashed #409eff;
+    .el-collapse-item {
+        border: none;
     }
 
-    .el-input__inner::placeholder {
-        // color: #fff;
+    .el-collapse-item__content {
+        // background-color: rgba(255, 192, 203, 0.425) !important;
+        background-color: transparent !important;
+        color: rgb(217, 237, 254) !important;
+        /* 修改背景颜色 */
     }
 
-    .el-cascader--mini {
-        width: 100% !important;
+    .el-collapse {
+        // border: 1px solid #d3dce6;
+        border: none;
+        /* 修改边框样式 */
     }
-}
-
-.el-collapse-item__header {
-    color: #fff;
-    /* 修改标题颜色 */
-}
 
-.el-collapse-item {
-    border: none;
-}
+    .el-collapse-item__wrap {
+        border-bottom: 1px solid transparent;
+        background-color: transparent !important;
+    }
 
-.el-collapse-item__content {
-    // background-color: rgba(255, 192, 203, 0.425) !important;
-    background-color: transparent !important;
-    color: rgb(217, 237, 254) !important;
-    /* 修改背景颜色 */
-}
+    .el-scrollbar {
+        border: none !important;
+    }
 
-.el-collapse {
-    // border: 1px solid #d3dce6;
-    border: none;
-    /* 修改边框样式 */
-}
+    .el-collapse-item__header {
+        border-bottom: 1px solid transparent;
+        background-color: transparent !important;
+        /* 修改边框 */
+    }
 
-.el-collapse-item__wrap {
-    border-bottom: 1px solid transparent ;
-    background-color: transparent !important;
-}
+    .el-collapse-item__header:hover,
+    .el-collapse-item__header:active {
+        background-color: #40a0ff6c !important;
+        /* 鼠标悬浮和点击时的背景色 */
+    }
 
-.el-scrollbar {
-    border: none !important;
-}
 
-.el-collapse-item__header {
-    border-bottom: 1px solid transparent;
-    background-color: transparent !important;
-    /* 修改下边框 */
-}
 
-.el-collapse-item__header:hover,
-.el-collapse-item__header:active {
-    background-color: #40a0ff6c !important;
-    /* 鼠标悬浮和点击时的背景色 */
-}
+    .el-radio__inner {
+        background-color: #b6e1ff3b;
+    }
 
 
+    .el-table {
+        background-color: transparent !important;
+        // border: none;
+        color: #cddeeb;
+    }
 
-.el-radio__inner {
-    background-color: #b6e1ff3b;
-}
+    .el-table--border {
+        border-radius: 5px;
+    }
 
+    .el-table tr {
+        background-color: transparent !important;
+        color: #cddeeb;
+        height: 43px;
+    }
 
-.el-table {
-    background-color: transparent !important;
-    // border: none;
-    color: #cddeeb;
-}
+    .el-table .el-table__cell {
+        background-color: transparent !important;
+        padding: 0 !important;
+    }
 
-.el-table--border {
-    border-radius: 5px;
-}
+    .el-table td.el-table__cell,
+    .el-table th.el-table__cell.is-leaf {
+        border-bottom: 1px solid #667e8f7c !important;
+    }
 
-.el-table tr {
-    background-color: transparent !important;
-    color: #cddeeb;
-    height: 43px;
-}
+    // 设置表头的颜色
+    .el-table thead tr>th {
+        width: 100%;
+        background-color: #0a2450;
+        color: #cddeeb;
+        border: none;
+    }
 
-.el-table .el-table__cell {
-    background-color: transparent !important;
-    padding: 0 !important;
-}
+    // 去除每行的边框
+    .el-table tbody tr>td {
+        // background-color: rgb(26,28,119);
+        color: #cddeeb;
+        border: none;
+    }
 
-.el-table td.el-table__cell,
-.el-table th.el-table__cell.is-leaf {
-    border-bottom: 1px solid #667e8f7c !important;
-}
+    .el-table thead {
+        background-color: #0a2450 !important;
+    }
 
-// 设置表头的颜色
-.el-table thead tr>th {
-    width: 100%;
-    background-color: #0a2450;
-    color: #cddeeb;
-    border: none;
-}
+    .el-table--border,
+    .el-table--group {
+        border: none;
+    }
 
-// 去除每行的边框
-.el-table tbody tr>td {
-    // background-color: rgb(26,28,119);
-    color: #cddeeb;
-    border: none;
-}
+    .el-table::before {
+        background-color: transparent !important;
+    }
 
-.el-table thead {
-    background-color: #0a2450 !important;
-}
+    .el-table--border::after {
+        background-color: transparent !important;
 
-.el-table--border,
-.el-table--group {
-    border: none;
-}
+    }
 
-.el-table::before {
-    background-color: transparent !important;
-}
+    //表格有边框
+    .el-table--border .el-table__cell {
+        border: none;
+    }
 
-.el-table--border::after {
-    background-color: transparent !important;
+    //树结构选中子集时父级的背景色
+    .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+        background-color: transparent !important;
+    }
 
-}
 
-//表格有边框
-.el-table--border .el-table__cell {
-    border: none;
-}
+    /* 去除Element UI中el-input数字类型的样式 */
+    .el-input__inner[type="number"] {
+        -webkit-appearance: none;
+        /* 移除系统默认的外观样式 */
+    }
 
-//树结构选中子集时父级的背景色
-.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
-    background-color: transparent !important;
-}
+    /* 去除增加/减少数字按钮的样式 */
+    .el-input__inner[type="number"]::-webkit-inner-spin-button,
+    .el-input__inner[type="number"]::-webkit-outer-spin-button {
+        -webkit-appearance: none;
+        /* 移除输入框两侧的上下箭头 */
+        margin: 0;
+        /* 移除上下箭头与文本之间的间隔 */
+    }
 
+    /* 去除Firefox浏览器中的一些特定样式 */
+    .el-input__inner[type="number"]::-moz-inner-spin-button {
+        -moz-appearance: none;
+        /* 移除Firefox中的上下箭头 */
+    }
 }
 
 .flex-box {
@@ -441,5 +462,4 @@
     //     cursor: pointer;
     //     margin-left: 30px;
     // }
-}
-
+}

+ 61 - 18
src/views/siteselection/components/fzxz.vue

@@ -81,12 +81,26 @@
           </el-form-item>
         </el-col>
       </el-form-item>
-      <!-- <el-form-item label="选址约束:" required>
-        <el-checkbox-group v-model="ruleForm.xzys" @change="changeCheckBox">
-        <el-checkbox false-label="null" :true-label="0" name="checkbox_data"> 是否与控规用地性质一致</el-checkbox>
-        <el-checkbox false-label="null" :true-label="1" name="checkbox_data">是否允许选出多个分散地块。</el-checkbox>
-      </el-checkbox-group>
-      </el-form-item> -->
+      <el-form-item label="选址约束:">
+        <div class="xzys">
+          <el-checkbox v-model="ruleForm.useLandType">
+            是否与控规用地性质一致</el-checkbox
+          >
+          <el-checkbox v-model="ruleForm.useMultiple"
+            >是否允许选出多个分散地块。</el-checkbox
+          >
+          <div v-if="ruleForm.useMultiple">
+            请输入地块间最大距离
+            <el-input
+              v-model.number="ruleForm.multipleDistance"
+              size="mini"
+              type="number"
+              style="width: 30%"
+            ></el-input
+            >米
+          </div>
+        </div>
+      </el-form-item>
     </el-form>
     <div class="site-title">
       <div class="siteCon">
@@ -142,6 +156,7 @@ export default {
 
   data() {
     return {
+      otherValShow: false,
       checkbox_data: 0,
       ruleForm: {
         xzmj: 0,
@@ -152,7 +167,9 @@ export default {
         ydmjbegin: "", //用地面积开始
         ydmjend: "", //用地面积结束
         sjy: "", //数据源
-        xzys: 0, //选址约束,暂时没有在逻辑里添加改字段
+        useMultiple: false, //是否允许多个分散地块
+        useLandType: false, //是否与控规用地性质一致
+        multipleDistance: 0, //多地块最大距离
       },
       rules: {
         xzmj: [{ required: true, message: "请填写范围的数据" }],
@@ -172,9 +189,6 @@ export default {
         ],
 
         // sjy: [{ required: true, message: "请选择数据源", trigger: "change" }],
-        xzys: [
-          { required: true, message: "请选择选址约束", trigger: "change" },
-        ],
       },
       options: [],
       tableData: [],
@@ -183,6 +197,16 @@ export default {
       cascaderOptions: [], //用地性质数据存储数组
       sjyBSM: "",
       ydlxBSM: "",
+      checkList: [
+        {
+          key: "是否与控规用地性质一致",
+          value: 0,
+        },
+        {
+          key: "是否允许选出多个分散地块",
+          value: 1,
+        },
+      ], //选址约束
     };
   },
   computed: {},
@@ -218,6 +242,9 @@ export default {
   methods: {
     changeCheckBox(val) {
       console.log(val, "杰卡斯到货时间啊肯定会刷卡机很大");
+      if (val.value == 1) {
+        this.otherValShow = true;
+      }
     },
     handleChange(value) {
       const obj = this.$refs["Cascader"].getCheckedNodes();
@@ -255,15 +282,15 @@ export default {
             children: [],
           },
         ];
-        lxData.forEach((item)=> {
+        lxData.forEach((item) => {
           let JSONItem = JSON.parse(item.conditionInfo);
-          item.hasValue=JSONItem.hasValue //是否可以填写约束值
-          item.defaultValue= Number(JSONItem.defaultValue) //约束值默认值
-          item.default= JSONItem.default //默认选中条件
-          item.spatial_types= JSONItem.items,
-          item.spatial_type=JSONItem.spatial_type
-        })
-        this.tableData = lxData
+          item.hasValue = JSONItem.hasValue; //是否可以填写约束值
+          item.defaultValue = Number(JSONItem.defaultValue); //约束值默认值
+          item.default = JSONItem.default; //默认选中条件
+          (item.spatial_types = JSONItem.items),
+            (item.spatial_type = JSONItem.spatial_type);
+        });
+        this.tableData = lxData;
         console.log(lxData, "lxData");
         this.$refs.yxyzPop.yzTableData = lxData;
       }
@@ -274,6 +301,7 @@ export default {
       this.sjyBSM = value;
     },
     submitData() {
+      console.log(this.ruleForm, "this.ruleForm");
       //更新范围
       var _temp = this.$refs.range.getRange();
       // this.ruleForm.xzfw = _temp.xzfw;
@@ -292,6 +320,9 @@ export default {
             sjy: this.sjyBSM, //数据源标识码
             geomId: this.$refs.range.fileDataID,
             yxyz: this.tableData,
+            useMultiple: this.ruleForm.useMultiple, //是否允许多个分散地块
+            useLandType: this.ruleForm.useLandType, //是否与控规用地性质一致
+            multipleDistance: this.ruleForm.multipleDistance, //多地块最大距离
           };
           // console.log(obj, "objobj");
           AddFzxz(obj).then((res) => {
@@ -329,6 +360,9 @@ export default {
         ydmjend: "", //用地面积结束
         sjy: this.options[0].sjymc, //数据源
         xzmj: 0,
+        useMultiple: false, //是否允许多个分散地块
+        useLandType: false, //是否与控规用地性质一致
+        multipleDistance: 0, //多地块最大距离
       }),
         (this.sjyBSM = this.options[0].value);
       this.tableData = [];
@@ -401,4 +435,13 @@ export default {
 /deep/ .el-checkbox {
   color: #fff;
 }
+.xzys {
+  height: 95px;
+  // background: pink;
+  display: flex;
+  flex-direction: column;
+}
+label {
+  margin-bottom: 0px !important;
+}
 </style>

+ 2 - 2
static/Config/config.js

@@ -881,7 +881,7 @@ window.constructionmodel = [
     creationtime: "2024-04-24 17:22:13",
 
     url: "http://192.168.60.2:8090/iserver/services/3D-fangan/rest/realspace",
-    dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan3/rest/data",
+    dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan/rest/data",
     dataSourceName: "DongAnZhuoYueCheng",
     datasetName: "建筑轮廓",
     selectionStatus: false,
@@ -900,7 +900,7 @@ window.constructionmodel = [
     creationtime: "2024-04-24 17:22:13",
 
     url: "http://192.168.60.2:8090/iserver/services/3D-fangan2/rest/realspace",
-    dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan4/rest/data",
+    dataurl: "http://192.168.60.2:8090/iserver/services/data-fangan2/rest/data",
     dataSourceName: "DongAnZhuoYueCheng2",
     datasetName: "建筑轮廓",
     selectionStatus: false,