wanger пре 11 месеци
родитељ
комит
c194d7836a

+ 11 - 32
README.md

@@ -4,7 +4,7 @@
 
 ## Build Setup
 
-``` bash
+```bash
 # install dependencies
 npm install
 
@@ -20,26 +20,23 @@ npm run build --report
 
 For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
 
-
 # 简介
-[SuperMap iEarth](http://www.supermapol.com/earth/)是基于全功能三维“零客户端”[SuperMap iClient3D for WebGL](http://support.supermap.com.cn:8090/webgl/examples/examples.html)开发的一款三维在线应用程序。在多源数据加载、三维空间分析以及多种可视化效果等功能的支撑下,用户可以通过SuperMap iEarth在浏览器上进行三维浏览及应用。
+
+[SuperMap iEarth](http://www.supermapol.com/earth/)是基于全功能三维“零客户端”[SuperMap iClient3D for WebGL](http://support.supermap.com.cn:8090/webgl/examples/examples.html)开发的一款三维在线应用程序。在多源数据加载、三维空间分析以及多种可视化效果等功能的支撑下,用户可以通过 SuperMap iEarth 在浏览器上进行三维浏览及应用。
 
 # 功能模块
 
 ## 1. 全数据加载
 
-SuperMap iEarth全面支持倾斜摄影数据、BIM数据、激光点云数据、三维场数据、三维地形数据、手工建模三维数据、符号化三维场景、地下管线三维数据等多种数据,实现多源数据融合,构建逼真的三维场景。
+SuperMap iEarth 全面支持倾斜摄影数据、BIM 数据、激光点云数据、三维场数据、三维地形数据、手工建模三维数据、符号化三维场景、地下管线三维数据等多种数据,实现多源数据融合,构建逼真的三维场景。
 
 全数据支持
 
-![](./images/docImages/dataSupport.jpg)
-
 多种底图支持
 
-![](./images/docImages/baseLayers.jpg)
-
 ## 2. 三维分析
-SuperMap iEarth支持多种形式的三维空间分析功能。
+
+SuperMap iEarth 支持多种形式的三维空间分析功能。
 
 - 通视分析
 - 阴影分析
@@ -52,27 +49,19 @@ SuperMap iEarth支持多种形式的三维空间分析功能。
 
 可视域分析
 
-![](./images/docImages/viewshed.JPG)
-
 等值分析
 
-![](./images/docImages/isoheight.JPG)
-
-
 ## 3. 裁剪
 
-SuperMap iEarth支持多种裁剪方式。
+SuperMap iEarth 支持多种裁剪方式。
 
-- Box裁剪
+- Box 裁剪
 - 平面裁剪
-- Cross裁剪
+- Cross 裁剪
 - 多边形裁剪
 
-Cross裁剪
+Cross 裁剪
 
-![](./images/docImages/CrossClip.JPG)
-
-    
 ## 4. 辅助功能
 
 - 飞行
@@ -86,18 +75,8 @@ Cross裁剪
 
 灯光
 
-![](./images/docImages/lightSource.JPG)
-
 符号化
 
-![](./images/docImages/symbol.JPG)
-
-
 # 部署方式
 
-将SuperMap iEarth置于SuperMap iServer的webapps下,通过SuperMap iServer发布的服务即可在SuperMap iEarth中浏览和操作三维场景。
-
-# 许可
-
-[Apache License 2.0](https://github.com/SuperMap/SuperMap-iEarth/blob/master/LICENSE)
-
+将 SuperMap iEarth 置于 SuperMap iServer 的 webapps 下,通过 SuperMap iServer 发布的服务即可在 SuperMap iEarth 中浏览和操作三维场景。

+ 5 - 1
src/common/scss/globe.scss

@@ -791,11 +791,15 @@ input[type="range"]::-moz-range-thumb {
         margin-bottom: 2px;
     }
     button {
-        background-color: #333;
+        // background-color: #333;
         color: white;
     }
 }
 
+.el-pagination__total {
+    color: white;
+}
+
 .flybox {
     display: flex;
     justify-content: space-between;

+ 8 - 3
src/components/Combinations/LayerManage/LayerManage.vue

@@ -4,7 +4,7 @@
       <TabPane :label="Resource.Resource" name="zyml">
         <div class="zyml">
           <el-input
-            placeholder="请输入内容"
+            placeholder="请输入查询关键字"
             prefix-icon="el-icon-search"
             v-model="treeSearchText"
             size="small"
@@ -12,7 +12,7 @@
           </el-input>
           <div class="treeDiv">
             <el-tree
-              @check-change="handleCheckChange"
+              @check="handleCheckChange"
               class="filter-tree"
               :data="TreeDatas"
               show-checkbox
@@ -385,7 +385,12 @@ export default {
     },
     // 复选框改变
     handleCheckChange(obj, checked) {
-      obj.checked = checked;
+      console.log(obj, checked);
+      if (typeof checked == "boolean") {
+        obj.checked = checked;
+      } else {
+        obj.checked = !obj.checked;
+      }
       if (obj.children && obj.children.length > 0) {
         for (let i = 0; i < obj.children.length; i++) {
           this.handleCheckChange(obj.children[i], checked);

+ 100 - 55
src/components/Query/PlacenameLocation/PlacenameLocation.vue

@@ -1,17 +1,59 @@
 <template>
   <div class="sm-function-module-content">
     <div class="flexbox">
-      <input class="sm-input sm-input-long" v-model="input3" />
-      <button class="tbtn tbn1" type="button" @click="treeQuery">查询</button>
+      <el-input
+        placeholder="请输入查询关键字"
+        prefix-icon="el-icon-search"
+        v-model="poiSearchText"
+        size="small"
+      >
+      </el-input>
+      <el-button
+        @click="clear"
+        type="primary"
+        size="small"
+        style="margin-left: 5px"
+        >清除</el-button
+      >
     </div>
-    <div class="flexbox" style="height: 400px; width: 100%">
-      <Table
-        style="width: 100%"
-        border
-        :columns="columns7"
+    <div class="flexbox" style="height: 300px; width: 100%">
+      <el-table
+        :show-header="false"
         :data="tableData"
-        @on-row-click="handleRowClick"
-      ></Table>
+        height="300"
+        border
+        style="width: 100%"
+        @row-click="handleRowClick"
+      >
+        <el-table-column prop="name" label="兴趣点" width="310">
+        </el-table-column>
+        <el-table-column prop="address" label="地址" width="180" v-if="false">
+        </el-table-column>
+        <el-table-column
+          prop="x"
+          label="经度"
+          width="180"
+          v-if="false"
+        ></el-table-column>
+        <el-table-column
+          prop="y"
+          label="纬度"
+          width="180"
+          v-if="false"
+        ></el-table-column>
+      </el-table>
+    </div>
+    <div>
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :current-page="page"
+        :page-sizes="[10, 20, 50, 100]"
+        :page-size="size"
+        layout="total, sizes, prev, next"
+        :total="total"
+      >
+      </el-pagination>
     </div>
   </div>
 </template>
@@ -21,59 +63,68 @@ export default {
   name: "PlacenameLocation",
   data() {
     return {
-      columns7: [
-        {
-          title: "地址名称",
-          key: "name",
-          render: (h, params) => {
-            return h("div", [
-              h("Icon", {
-                props: {
-                  type: "ios-location",
-                },
-              }),
-              h("strong", params.row.attributes.name),
-            ]);
-          },
-        },
-      ],
-
-      tableData: window.POI.features,
-      input3: "",
+      tableData: [],
+      poiSearchText: "",
       MapViewer: window.viewer,
+      total: 100,
+      page: 1,
+      size: 10,
+      billboardHeight: 10,
     };
   },
   created() {},
-  mounted() {},
+  mounted() {
+    this.poiquery();
+  },
   methods: {
-    treeQuery() {
-      if (this.input3) {
-        this.tableData = window.POI.features.filter((c) =>
-          c.attributes.name.toLowerCase().includes(this.input3.toLowerCase())
-        );
-      } else {
-        this.tableData = window.POI.features;
-      }
+    handlePageChange(cur, a, b) {
+      this.page = cur;
+      this.poiquery();
+    },
+    handleSizeChange(cur, a, b) {
+      this.size = cur;
+      this.poiquery();
+    },
+    poiquery() {
+      window
+        .axios({
+          url: "http://" + window.hostconfig + ":8080/apply/yzt/search/poi",
+          method: "post",
+          data: {
+            name: this.poiSearchText,
+            limit: this.size,
+            offset: (this.page - 1) * this.size,
+          },
+        })
+        .then((res) => {
+          this.total = res.data.data.count;
+          this.tableData = res.data.data.data;
+        })
+        .catch((e) => {
+          this.$message.error(e);
+        });
+    },
+    clear() {
+      viewer.entities.removeAll();
+      this.poiSearchText = "";
     },
     handleRowClick(row) {
-      this.flyTo(
-        { destination: { x: row.geometry.x, y: row.geometry.y, z: 1000 } },
-        true
-      );
+      row.x = parseFloat(row.x);
+      row.y = parseFloat(row.y);
+      this.flyTo({ destination: { x: row.x, y: row.y, z: 1000 } }, true);
       viewer.entities.removeAll();
-
       viewer.entities.add({
         position: Cesium.Cartesian3.fromDegrees(
-          parseFloat(row.geometry.x),
-          parseFloat(row.geometry.y),
-          parseFloat(500)
+          row.x,
+          row.y,
+          this.billboardHeight
         ),
         billboard: {
           image: "./static/images/location.png",
           width: 30,
           height: 40,
         },
-        name: "Mapimage" + row.geometry.x + row.geometry.y,
+        name: "Mapimage" + row.x + row.y,
       });
     },
     /**
@@ -96,15 +147,9 @@ export default {
     },
   },
   watch: {
-    input3: function (val) {
-      debugger;
-      if (val) {
-        this.tableData = window.POI.features.filter((c) =>
-          c.attributes.name.toLowerCase().includes(val.toLowerCase())
-        );
-      } else {
-        this.tableData = window.POI.features;
-      }
+    poiSearchText: function () {
+      this.page = 1;
+      this.poiquery();
     },
   },
 };