maxiaoxiao 8 сар өмнө
parent
commit
3437609020

+ 3 - 0
src/common/scss/globe.scss

@@ -177,6 +177,9 @@ div {
         font-size: 12px;
     }
 }
+.headertwo{
+    height: 72px;
+}
 
 .sm-function-module-content {
     // margin: 0.5rem 1rem 1rem 1rem;

+ 59 - 0
src/components/3DAnalysis/ClippingPlanes/index.vue

@@ -0,0 +1,59 @@
+<template>
+  <div class="sm-function-module-content">
+    <label class="sm-function-module-sub-section-setting"> 分析结果 </label>
+    <el-form :model="form" ref="ruleForm" label-width="100px">
+      <el-form-item label="剖面范围:" prop="xzmj">
+        <range type="clip" :keys="['hx']" class="range" ref="range" />
+      </el-form-item>
+      <!-- <el-form-item label="模型名称:" prop="mxmc">
+        <el-input
+          v-model="form.mxmc"
+          size="mini"
+          placeholder="请输入模型名称"
+        ></el-input>
+      </el-form-item> -->
+    </el-form>
+    <div class="boxchild">
+      <el-button type="primary" size="mini" @click="analysis">分析</el-button>
+      <el-button type="primary" size="mini" @click="clear">清除</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "ClippingPlanes",
+  props: {},
+  data() {
+    return {
+      form: {
+        geom: "",
+      },
+    };
+  },
+  computed: {},
+
+  beforeDestroy() {},
+  mounted() {
+    // this.init();
+  },
+
+  methods: {
+    analysis() {
+      // viewer.flyTo(this.sceneLayers[obj.title][0][0]);
+      // store.state.sceneLayerlist[obj.title];
+      // this.layerparams.forEach(laitem => {
+      //   BIMLayer.setCustomClipPlane(positions[0],positions[1],positions[2]);
+      // });
+    },
+    getBuffer() {},
+    clear() {
+      // BIMLayer.clearCustomClipBox();
+    },
+  },
+  watch: {},
+};
+</script>
+
+<style lang="scss" scoped>
+</style>

+ 27 - 17
src/components/Combinations/analysisCombination/analysisCombination.vue

@@ -1,13 +1,16 @@
 <template>
   <div id="3DAnalysis" class="sm-panel" v-show="analysisShow" v-drag>
     <div class="sm-content">
-      <div class="sm-panel-header">
-        <span :class="{titleColor:sightlineShow}" class="title-txt" @click="choose(0)">{{Resource.sightline}}</span>
-        <span :class="{titleColor:viewshedShow}" class="title-txt" @click="choose(1)">{{Resource.viewShed}}</span>
-        <span :class="{titleColor:shadowqueryShow}" class="title-txt" @click="choose(2)">{{Resource.shadowAnalysis}}</span>
-        <span :class="{titleColor:profileShow}" class="title-txt" @click="choose(3)">{{Resource.profile}}</span>
-        <span :class="{titleColor:skylineShow}" class="title-txt" @click="choose(4)">{{Resource.skyline}}</span>
-        <span :class="{titleColor:smashingShow}" class="title-txt" @click="choose(5)">{{Resource.smashing}}</span>
+      <div class="sm-panel-header headertwo">
+        <span :class="{ titleColor: sightlineShow }" class="title-txt" @click="choose(0)">{{ Resource.sightline
+          }}</span>
+        <span :class="{ titleColor: viewshedShow }" class="title-txt" @click="choose(1)">{{ Resource.viewShed }}</span>
+        <span :class="{ titleColor: shadowqueryShow }" class="title-txt" @click="choose(2)">{{ Resource.shadowAnalysis
+          }}</span>
+        <span :class="{ titleColor: profileShow }" class="title-txt" @click="choose(3)">{{ Resource.profile }}</span>
+        <span :class="{ titleColor: skylineShow }" class="title-txt" @click="choose(4)">{{ Resource.skyline }}</span>
+        <span :class="{ titleColor: smashingShow }" class="title-txt" @click="choose(5)">{{ Resource.smashing }}</span>
+        <span :class="{ titleColor: clipPlaneShow }" class="title-txt" @click="choose(6)">模型剖切</span>
         <span class="closeBtn" @click="toggleVisibility">&times;</span>
       </div>
       <!-- 调用子组件 -->
@@ -17,19 +20,22 @@
       <sm3d-profile></sm3d-profile>
       <sm3d-skyline></sm3d-skyline>
       <sm3d-smashing></sm3d-smashing>
+      <ClippingPlanes v-if="clipPlaneShow"></ClippingPlanes>
     </div>
   </div>
 </template>
 
 <script>
+import ClippingPlanes from "../../3DAnalysis/ClippingPlanes/index.vue";
 export default {
   name: "Sm3dAnalysis",
+  components: { ClippingPlanes },
   props: {},
   data() {
     return {
       sharedState: store.state,
       spatialAnalysisUrl:
-       'http://www.supermapol.com/realspace/services/spatialAnalysis-data_all/restjsr/spatialanalyst/geometry/3d/viewshedbody.json',
+        "http://www.supermapol.com/realspace/services/spatialAnalysis-data_all/restjsr/spatialanalyst/geometry/3d/viewshedbody.json",
     };
   },
 
@@ -52,10 +58,12 @@ export default {
     smashingShow: function () {
       return this.sharedState.analysis[5];
     },
+    clipPlaneShow: function () {
+      return this.sharedState.analysis[6];
+    },
     analysisShow: function () {
       return this.sharedState.toolBar[6];
     },
-
   },
 
   methods: {
@@ -73,25 +81,27 @@ export default {
       }
       switch (i) {
         case 0:
-          store.setAnalysisAction([1, 0, 0, 0, 0]);
+          store.setAnalysisAction([1, 0, 0, 0, 0, 0]);
           break;
         case 1:
-          store.setAnalysisAction([0, 1, 0, 0, 0, 0]);
+          store.setAnalysisAction([0, 1, 0, 0, 0, 0, 0]);
           break;
         case 2:
-          store.setAnalysisAction([0, 0, 1, 0, 0, 0]);
+          store.setAnalysisAction([0, 0, 1, 0, 0, 0, 0]);
           break;
         case 3:
-          store.setAnalysisAction([0, 0, 0, 1, 0, 0]);
+          store.setAnalysisAction([0, 0, 0, 1, 0, 0, 0]);
           break;
-          case 5:
-          store.setAnalysisAction([0, 0, 0, 0, 0, 1]);
+        case 5:
+          store.setAnalysisAction([0, 0, 0, 0, 0, 1, 0]);
+          break;
+        case 6:
+          store.setAnalysisAction([0, 0, 0, 0, 0, 0, 1]);
           break;
         default:
-          store.setAnalysisAction([0, 0, 0, 0, 1, 0 ]);
+          store.setAnalysisAction([0, 0, 0, 0, 1, 0]);
       }
     },
   },
 };
 </script>
-

+ 1 - 1
src/views/aiModel/index.vue

@@ -297,7 +297,7 @@ export default {
         });
     },
     onClick(item) {
-      if (item.data) return;
+      if (!item.data) this.$message("抱歉,没有分析结果");
       if (item.type == "selectLand") {
         this.$router.push({
           path: "/siteselection",