Prechádzať zdrojové kódy

双击综合分析右侧的某个疑点,地图中心平移到疑点位置

Bella 2 rokov pred
rodič
commit
a88a598d25

+ 7 - 7
src/components/popup/AttributePopup.vue

@@ -4,12 +4,13 @@
     :style="{ width: boxWidth + 'px', height: boxHeight + 'px' }"
   >
     <div class="close-btn" @click="closeEvent"></div>
-    <el-table :data="tableData" v-if="tableType === 'normal'" height="100%">
-      <el-table-column label="版本"></el-table-column>
-      <el-table-column label="shape-long"></el-table-column>
-      <el-table-column label="shape-area"></el-table-column>
-      <el-table-column label="性质"></el-table-column>
-      <el-table-column label="面积"></el-table-column>
+    <el-table :header-cell-style="{'text-align':'center'}" :data="tableData" v-if="tableType === 'normal'" height="100%">
+      
+      <el-table-column label="版本" prop="version"></el-table-column>
+      <el-table-column label="shape-long" prop="long"></el-table-column>
+      <el-table-column label="shape-area" prop="area"></el-table-column>
+      <el-table-column label="性质" prop="nature" align="center"></el-table-column>
+      <el-table-column label="面积" prop="area"></el-table-column>
     </el-table>
     <el-table height="100%" v-if="tableType === 'personal'">
       <el-table-column label="名称"></el-table-column>
@@ -116,7 +117,6 @@ export default {
     td {
       padding: 2px 0;
       position: relative;
-      left: 10px;
       border-bottom: 0px solid #ebeef5;
       font-size: 0.85rem;
     }

+ 36 - 2
src/views/ComprehensiveAnalysis.vue

@@ -7,11 +7,13 @@
     </div>
     <!-- 属性弹窗 -->
     <AttributePopup
+      v-drag
       class="comprehensive-analysis-popup"
       v-if="attrTableShow"
       :boxWidth="boxWidth"
       :boxHeight="boxHeight"
       :tableType="tableType"
+      :tableData="tableData"
       @close="closeEvent"
     />
     <!-- 右上角工具栏 -->
@@ -181,6 +183,7 @@ export default {
     return {
       legendShow: false,
       tableType: "normal",
+      tableData: [],
       legendHeight: "0",
       boxWidth: "600",
       boxHeight: "600",
@@ -245,7 +248,7 @@ export default {
   },
   watch: {
     legendTitle(val) {
-      console.log(val, "监听当前图例item数量");
+      // console.log(val, "监听当前图例item数量");
       if (val.length === 0) {
         this.legendShow = false;
       }
@@ -369,6 +372,18 @@ export default {
           get(`./static/json/${cid}.json`).then((geoJson) => {
             map2DViewer.polygons[`${cid}_layer`] = [];
 
+            this.originalData[data.label] = geoJson.map((v, index) => {
+              return {
+                id: publicFun.buildGuid("abnormal"),
+                name: v.properties["异常"] + "_" + index,
+                geometry: v.geometry,
+                properties: v.properties,
+              };
+            });
+            console.log(this.originalData[data.label], "label");
+
+            this.activeNames = ["myLabel", data.label];
+
             // 地图定位
             let firstPolygon = JSON.parse(JSON.stringify(geoJson[0]));
             let coordinates = firstPolygon.geometry.coordinates[0][0][0];
@@ -408,6 +423,9 @@ export default {
       });
     },
     listItemClick(type, data) {
+      let coord = data.geometry.coordinates[0][0][0];
+      this.$store.state.mapMethodsCollection.get("RENDER").setView(coord, 16);
+      this.tableData = [];
       // data
       // id: "default_1669007689253APblgwSrDZlV1kSFim";
       // name: "疑点1";
@@ -415,8 +433,23 @@ export default {
       if (type === "default") {
         this.tableType = "normal";
         this.boxWidth = "600";
-        this.boxHeight = "600";
+        this.boxHeight = "200";
         console.log(data, "defaultTable");
+        this.tableData.push({
+          version: data.properties["版本"],
+          nature: data.properties["性质"],
+          area: data.properties["面积"],
+          long: data.properties["周长"] || "--",
+        });
+        // this.tableData = data.map((v) => {
+        //   return {
+        //     version:v.properties['版本'],
+        //     nature:v.properties['性质'],
+        //     area:v.properties['面积'],
+        //     long:v.properties['周长'] || "--"
+        //   };
+        // });
+        console.log(this.tableData);
       }
       if (type === "new") {
         this.tableType = "personal";
@@ -616,6 +649,7 @@ export default {
     top: 10%;
     left: 35%;
     pointer-events: auto;
+    z-index: 99;
   }
   /* 左边树状面板 */
   &-left {