Просмотр исходного кода

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

gushoubang 7 месяцев назад
Родитель
Сommit
5458dac883

+ 36 - 8
src/views/farmlandProtection/components/hcxx.vue

@@ -60,17 +60,12 @@
       <div class="imgList">
         <div
           class="imgDiv"
-          v-for="(item, i) in monitorList"
+          v-for="(item, i) in xsxList"
           :key="i"
-          @click="clickImg(i)"
-          @mouseenter="handleMouseEnter(item, i)"
-          @mouseleave="handleMouseLeave(item, i)"
+          @click="clickxsx(i)"
         >
           <span>{{ i + 1 }}</span>
-          <!-- <img :src="imgUrl" /> -->
           <img :src="item.imagerPath" />
-          <!-- <img :src="imgUrl + item.imagerPath" /> -->
-          <p>{{ item.imagerSj }}</p>
         </div>
       </div>
     </div>
@@ -103,6 +98,7 @@ export default {
       handler: {},
       hiindex: "",
       hiid: "",
+      xsxList: [],
     };
   },
   computed: {},
@@ -139,7 +135,7 @@ export default {
             this.clickImg(this.hiindex);
           }
         }
-      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); 
+      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
     },
     handleMouseEnter(a, b) {
       this.ceshi(a.id, "yr");
@@ -154,6 +150,10 @@ export default {
       this.$emit("updateParent", "emitImgList", this.monitorList);
       this.$emit("updateParent", "emitImgIndex", val);
     },
+    clickxsx(val) {
+      this.$emit("updateParent", "emitImgList", this.xsxList);
+      this.$emit("updateParent", "emitImgIndex", val);
+    },
     // aaa() {
     //   var redLine = viewer.entities.add({
     //     // 贴在地面上 两点之间的直线距离
@@ -372,6 +372,34 @@ export default {
       deep: true,
       immediate: true,
     },
+    detailObj: {
+      handler(newVal, oldVal) {
+        if (newVal.xsxtif) {
+          this.xsxList = [];
+          getTiffPath(this.detailObj.xsxtif).then((res) => {
+            if (res.data.pngenvelope) {
+              this.xsxList = [
+                {
+                  imagerPath:
+                    window.axiosURI +
+                    "/file/upload/attachment" +
+                    res.data.pngpath,
+                },
+              ];
+              console.log(this.xsxList);
+              this.getEntities(
+                this.detailObj.jcbh,
+                res.data.pngpath,
+                res.data.pngenvelope,
+                2
+              );
+            }
+          });
+        }
+      },
+      deep: true,
+      immediate: true,
+    },
   },
   beforeDestroy() {
     this.delatePoi("jt");

+ 49 - 29
src/views/farmlandProtection/components/interDetails.vue

@@ -64,35 +64,35 @@
           <el-tab-pane label="套合结果" name="thjg">
             <!-- <div class="inter_result"></div> -->
             <div class="Integration inter_result">
-              <div
+              <!-- <div
                 class="Integration_list"
                 v-for="(item, i) in yzjgData"
                 :key="i"
               >
-                <div>{{ item.mx_bsmmc }}:</div>
-                <el-table :data="item.mx_data">
-                  <el-table-column
-                    prop="bsmmc"
-                    label="类别"
-                    show-overflow-tooltip
-                  >
-                  </el-table-column>
-                  <el-table-column
-                    prop="sumcount"
-                    label="图斑数"
-                    align="center"
-                    width="80"
-                  >
-                  </el-table-column>
-                  <el-table-column
-                    prop="sumvalue"
-                    label="面积(㎡)"
-                    align="center"
-                    show-overflow-tooltip
-                  >
-                  </el-table-column>
-                </el-table>
-                <!-- <div
+                <div>{{ item.mx_bsmmc }}:</div> -->
+              <el-table :data="yzjgData">
+                <el-table-column
+                  prop="bsmmc"
+                  label="套合数据"
+                  show-overflow-tooltip
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="sumcount"
+                  label="监测图斑数(个)"
+                  align="center"
+                  width="80"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="sumvalue"
+                  label="重叠面积(㎡)"
+                  align="center"
+                  show-overflow-tooltip
+                >
+                </el-table-column>
+              </el-table>
+              <!-- <div
                   v-for="(item2, c) in item.mx_data"
                   :key="c"
                   class="list_Cont"
@@ -118,12 +118,19 @@
                     </div>
                   </div>
                 </div> -->
-              </div>
+              <!-- </div>-->
             </div>
           </el-tab-pane>
           <el-tab-pane label="基本信息" name="jbxx">
             <div class="inter_result" v-if="activeTabs == 'jbxx'">
+              <Jbxx
+                :detailObj="detailObj"
+                @updateParent="changeData"
+                ref="jbxx"
+                v-if="detailObj.jcbh"
+              ></Jbxx>
               <el-table
+                v-else
                 :header-cell-style="{
                   background: 'rgba(10, 25, 38, 0.6)',
                   color: '#66b1ff',
@@ -165,6 +172,7 @@
 import { name } from "file-loader";
 import { getYZ, getgeoms, getOneDetail } from "../../../api/ghss/gdbh.js";
 import { loadGeoJSON } from "@/utils/MapHelper/help.js";
+import Jbxx from "./jbxx.vue";
 let layerSources = {};
 export default {
   props: {
@@ -183,6 +191,9 @@ export default {
       tempdataLayerId: null,
     };
   },
+  components: {
+    Jbxx,
+  },
   mounted() {
     // this.init();
   },
@@ -209,9 +220,18 @@ export default {
       }).then((res) => {
         if (res.statuscode == 200) {
           this.viewsData = res.data;
-          this.yzjgData = res.data.yzjg;
-          let geomJson = JSON.parse(res.data.tbxx.geomJson);
-          this.jbxxData = Object.keys(geomJson).map((key) => ({
+          this.yzjgData = []; // res.data.yzjg;
+          res.data.yzjg.forEach((jsi) => {
+            jsi.mx_data.forEach((mx) => {
+              this.yzjgData.push({
+                ...mx,
+                mx_bsm: jsi.mx_bsm,
+                mx_bsmmc: jsi.mx_bsmmc,
+              });
+            });
+          });
+          this.detailObj = JSON.parse(res.data.tbxx.geomJson);
+          this.jbxxData = Object.keys(this.detailObj).map((key) => ({
             name: key,
             value: geomJson[key],
           }));

+ 12 - 1
src/views/farmlandProtection/components/tbDetails.vue

@@ -29,6 +29,7 @@
               ref="hcxx"
               @updateParent="changeData"
               :jcbh="detailObj.jcbh"
+              :detailObj="detailObj"
               v-if="activeTabs == 'hcxx'"
             ></Hcxx>
           </el-tab-pane>
@@ -198,13 +199,23 @@ export default {
           );
         }
       });
+      getTiffPath(this.detailObj.xsxtif).then((res) => {
+        if (res.data.pngenvelope) {
+          this.getEntities(
+            this.detailObj.jcbh,
+            res.data.pngpath,
+            res.data.pngenvelope,
+            2
+          );
+        }
+      });
 
       this.$emit("updateParent", "allShow", false);
       this.splitScreen = true;
     },
 
     getEntities(id, url, position, type) {
-      let mul = "HORIZONTAL";
+      let mul = "VerticalTrisection";
       scene.multiViewportMode = Cesium.MultiViewportMode[mul];
       let imageUrl = "";
       let posArr = position;