From 8383f42bfa5dbc244e981ce6b2490c3fa9d001bc Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Wed, 09 Feb 2022 15:54:22 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web

---
 src/components/map/components/dimension.vue |   12 -
 src/pcLayout/index.vue                      |    2 
 src/components/arcNavBar/index.vue          |   37 ++-----
 public/img/icon/tool-area.png               |    0 
 src/styles/pcpage/tool/ranging.scss         |    3 
 public/img/icon/tool-ranging.png            |    0 
 src/pcviews/tool/area.vue                   |   88 ++++++++++++-----
 src/pcviews/tool/ranging.vue                |  100 +++++++++++++------
 src/pcviews/tool/sign.vue                   |   24 +++-
 9 files changed, 167 insertions(+), 99 deletions(-)

diff --git a/public/img/icon/tool-area.png b/public/img/icon/tool-area.png
new file mode 100644
index 0000000..781f801
--- /dev/null
+++ b/public/img/icon/tool-area.png
Binary files differ
diff --git a/public/img/icon/dtcj.png b/public/img/icon/tool-ranging.png
similarity index 100%
rename from public/img/icon/dtcj.png
rename to public/img/icon/tool-ranging.png
Binary files differ
diff --git a/src/components/arcNavBar/index.vue b/src/components/arcNavBar/index.vue
index 8a36621..3a99d7c 100644
--- a/src/components/arcNavBar/index.vue
+++ b/src/components/arcNavBar/index.vue
@@ -1,41 +1,28 @@
 <template>
-    <div class="public-org-nav-bar"
-         ref="publicOrgNavBar">
+    <div class="public-org-nav-bar" ref="publicOrgNavBar">
         <div class="container">
-            <div class="header"
-                 @mousedown="move"
-                 :class="{'move': moveFlag}">
+            <div class="header" @mousedown="move" :class="{'move': moveFlag}">
                 <div class="title">
-                    <img class="icon deblurring"
-                         src="/img/icon/xyjz.png"
-                         alt="">
-                    <span>
-                        {{arcNavBarTitle}}
-                    </span>
+                    <img class="icon deblurring" src="/img/icon/xyjz.png" alt />
+                    <span>{{arcNavBarTitle}}</span>
                 </div>
-                <img class="close"
-                     src="/img/navicon/close.png"
-                     alt=""
-                     @click="closeModel">
+                <img class="close" src="/img/navicon/close.png" alt @click="closeModel" />
             </div>
             <div class="content">
                 <div class="tab" v-show="false">
                     <ul>
-                        <li :class="{'on': item.flag}"
+                        <li
+                            :class="{'on': item.flag}"
                             v-for="(item, index) in titleList"
                             :key="index"
-                            @click="topNavClick(item, index)">{{ item.title }}</li>
+                            @click="topNavClick(item, index)"
+                        >{{ item.title }}</li>
                     </ul>
                 </div>
                 <ul>
-                    <li v-for="(item, index) in itemNavList"
-                        :key="index"
-                        @click="mapPopup(item)">
-                        <img :src="item.icon"
-                             alt="">
-                        <span>
-                            {{item.navTitle}}
-                        </span>
+                    <li v-for="(item, index) in itemNavList" :key="index" @click="mapPopup(item)">
+                        <img :src="item.icon" alt />
+                        <span>{{item.navTitle}}</span>
                     </li>
                 </ul>
             </div>
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 2987c6e..fc87f7f 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -1,10 +1,6 @@
 <template>
     <div class="dimension-cut">
-        <el-radio-group
-            v-model="dimensionValue"
-            size="medium"
-            @change="dimensionChange"
-        >
+        <el-radio-group v-model="dimensionValue" size="medium" @change="dimensionChange">
             <el-radio-button label="三 维"></el-radio-button>
             <el-radio-button label="真三维"></el-radio-button>
         </el-radio-group>
@@ -592,8 +588,8 @@
                                 e.overlay.attr['楼栋号'] == '8栋'
                                     ? '9栋'
                                     : e.overlay.attr['楼栋号'] == '9栋'
-                                    ? '8栋'
-                                    : e.overlay.attr['楼栋号']
+                                        ? '8栋'
+                                        : e.overlay.attr['楼栋号']
                             this.$store.commit('CLEAR_ALL', null)
                             getDetail({ mechanismname: '香琴湾' + rid }).then(
                                 (res) => {
@@ -1233,7 +1229,7 @@
 }
 </script>
 
-<style lang='scss' scope>
+<style lang="scss" scoped>
 .dimension-cut {
     position: fixed;
     top: 100px;
diff --git a/src/pcLayout/index.vue b/src/pcLayout/index.vue
index 0e374ce..b33ac4a 100644
--- a/src/pcLayout/index.vue
+++ b/src/pcLayout/index.vue
@@ -65,7 +65,7 @@
                     <el-submenu index="tool">
                         <template slot="title"> <i class='custom-icon menu-tool'></i> 工具</template>
                         <el-menu-item index="/pcLayout/default/tool/download">地图下载</el-menu-item>
-                        <!-- <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item> -->
+                        <el-menu-item index="/pcLayout/default/tool/sign">地图标记</el-menu-item>
                         <el-menu-item index="/pcLayout/default/tool/ranging">地图测距</el-menu-item>
                         <el-menu-item index="/pcLayout/default/tool/area">地图测面</el-menu-item>
                     </el-submenu>
diff --git a/src/pcviews/tool/area.vue b/src/pcviews/tool/area.vue
index 616c359..42f1067 100644
--- a/src/pcviews/tool/area.vue
+++ b/src/pcviews/tool/area.vue
@@ -7,35 +7,18 @@
  */
 
 <template>
-    <div class="tool-ranging">
-        <div class="header"
-             @mousedown="move"
-             :class="{'move': moveFlag}">
+    <div class="tool-area" ref="toolAreaBox">
+        <div class="header" @mousedown="move" :class="{'move': moveFlag}">
             <div class="title">
-                <img class="icon deblurring"
-                     src="/img/icon/dtcj.png"
-                     alt="">
-                <span>
-                    地图测面
-                </span>
+                <img class="icon deblurring" src="/img/icon/tool-area.png" alt />
+                <span>地图测面</span>
             </div>
-            <img class="close"
-                 src="/img/navicon/close.png"
-                 alt=""
-                 @click="closeModel">
+            <img class="close" src="/img/navicon/close.png" alt @click="closeModel" />
         </div>
         <div class="content">
-            <el-button type="primary"
-                       size="mini"
-                       @click.stop="calcDistance">
-                开始
-            </el-button>
+            <el-button type="primary" size="mini" @click.stop="calcDistance">开始</el-button>
 
-            <el-button type="danger"
-                       size="mini"
-                       @click.stop="deactivate">
-                清除
-            </el-button>
+            <el-button type="danger" size="mini" @click.stop="deactivate">清除</el-button>
         </div>
     </div>
 </template>
@@ -45,6 +28,11 @@
 import { mapGetters } from 'vuex'
 
 export default {
+    data () {
+        return {
+            moveFlag: false
+        }
+    },
     computed: {
         ...mapGetters([
             'viewer'
@@ -53,6 +41,53 @@
     created () {
     },
     methods: {
+        move (e) {
+            const that = this
+            const odiv = this.$refs.toolAreaBox // 获取目标元素
+            // 算出鼠标相对元素的位置
+            const disX = e.clientX - odiv.offsetLeft
+            const disY = e.clientY - odiv.offsetTop
+
+            const disH = odiv.offsetHeight
+            const disW = odiv.offsetWidth
+
+            document.onmousemove = (e) => {
+                that.moveFlag = true
+                // 鼠标按下并移动的事件
+                // 用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
+                let left = e.clientX - disX
+                let top = e.clientY - disY
+
+                // 绑定元素位置到positionX和positionY上面
+
+                if (left >= window.innerWidth - disW) {
+                    left = window.innerWidth - disW
+                }
+
+                if (left <= 0) {
+                    left = 0
+                }
+
+                if (top >= window.innerHeight - disH) {
+                    top = window.innerHeight - disH
+                }
+
+                if (top <= 60) {
+                    top = 60
+                }
+
+                // 移动当前元素
+                odiv.style.left = (left) + 'px'
+                odiv.style.top = (top) + 'px'
+                odiv.style.bottom = 'auto'
+            }
+            document.onmouseup = (e) => {
+                that.moveFlag = false
+                document.onmousemove = null
+                document.onmouseup = null
+            }
+        },
+
         calcDistance () {
             this.viewer.measure.areaSurface()
         },
@@ -71,5 +106,8 @@
 }
 </script>
 
-<style>
+<style lang="scss" scoped>
+.move {
+    cursor: move;
+}
 </style>
diff --git a/src/pcviews/tool/ranging.vue b/src/pcviews/tool/ranging.vue
index 72133d6..075fb6c 100644
--- a/src/pcviews/tool/ranging.vue
+++ b/src/pcviews/tool/ranging.vue
@@ -3,56 +3,87 @@
  * @Name: 地图测距
  * @Date: 2021-11-13 16:04:27
  * @Last Modified by: mikey.zhaopeng
- * @Last Modified time: 2022-02-08 16:21:37
+ * @Last Modified time: 2022-02-09 13:38:58
  */
 
 <template>
-    <div class="tool-ranging">
-        <div class="header"
-             @mousedown="move"
-             :class="{'move': moveFlag}">
+    <div class="tool-ranging" ref="toolRangingBox">
+        <div class="header" @mousedown="move" :class="{ move: moveFlag }">
             <div class="title">
-                <img class="icon deblurring"
-                     src="/img/icon/dtcj.png"
-                     alt="">
-                <span>
-                    地图测距
-                </span>
+                <img class="icon deblurring" src="/img/icon/tool-ranging.png" alt />
+                <span>地图测距</span>
             </div>
-            <img class="close"
-                 src="/img/navicon/close.png"
-                 alt=""
-                 @click="closeModel">
+            <img class="close" src="/img/navicon/close.png" alt @click="closeModel" />
         </div>
         <div class="content">
-            <el-button type="primary"
-                       size="mini"
-                       @click.stop="calcDistance">
-                开始
-            </el-button>
+            <el-button type="primary" size="mini" @click.stop="calcDistance">开始</el-button>
 
-            <el-button type="danger"
-                       size="mini"
-                       @click.stop="deactivate">
-                清除
-            </el-button>
+            <el-button type="danger" size="mini" @click.stop="deactivate">清除</el-button>
         </div>
     </div>
 </template>
 
 <script>
-
 import { mapGetters } from 'vuex'
 
 export default {
+    data () {
+        return {
+            moveFlag: false
+        }
+    },
     computed: {
-        ...mapGetters([
-            'viewer'
-        ])
+        ...mapGetters(['viewer'])
     },
-    created () {
-    },
+    created () { },
     methods: {
+        move (e) {
+            const that = this
+            const odiv = this.$refs.toolRangingBox // 获取目标元素
+            // 算出鼠标相对元素的位置
+            const disX = e.clientX - odiv.offsetLeft
+            const disY = e.clientY - odiv.offsetTop
+
+            const disH = odiv.offsetHeight
+            const disW = odiv.offsetWidth
+
+            document.onmousemove = (e) => {
+                that.moveFlag = true
+                // 鼠标按下并移动的事件
+                // 用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
+                let left = e.clientX - disX
+                let top = e.clientY - disY
+
+                // 绑定元素位置到positionX和positionY上面
+
+                if (left >= window.innerWidth - disW) {
+                    left = window.innerWidth - disW
+                }
+
+                if (left <= 0) {
+                    left = 0
+                }
+
+                if (top >= window.innerHeight - disH) {
+                    top = window.innerHeight - disH
+                }
+
+                if (top <= 60) {
+                    top = 60
+                }
+
+                // 移动当前元素
+                odiv.style.left = (left) + 'px'
+                odiv.style.top = (top) + 'px'
+                odiv.style.bottom = 'auto'
+            }
+            document.onmouseup = (e) => {
+                that.moveFlag = false
+                document.onmousemove = null
+                document.onmouseup = null
+            }
+        },
+
         calcDistance () {
             this.viewer.measure.distanceSurface()
         },
@@ -66,10 +97,11 @@
             this.$router.push('/pcLayout/default')
         }
     },
-    destroyed () {
-    }
+    destroyed () { }
 }
 </script>
 
-<style>
+<style lang="sass" scoped>
+.move
+    cursor: move
 </style>
diff --git a/src/pcviews/tool/sign.vue b/src/pcviews/tool/sign.vue
index bd796be..b361e48 100644
--- a/src/pcviews/tool/sign.vue
+++ b/src/pcviews/tool/sign.vue
@@ -1,15 +1,29 @@
 <template>
-   <div>
-456
-   </div>
+    <div>456</div>
 </template>
 
 <script>
-export default {
+import { mapGetters } from 'vuex'
 
+export default {
+    data () {
+        return { DC: null }
+    },
+    computed: {
+        ...mapGetters(['viewer'])
+    },
+    created () {
+        var that = this
+        that.DC = global.DC
+        that.viewer.tooltip.enable = true
+        that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => {
+            that.viewer.tooltip.showAt(e.windowPosition, '我是鼠标提示')
+        })
+    },
+    methods: {},
+    destroyed () { }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/styles/pcpage/tool/ranging.scss b/src/styles/pcpage/tool/ranging.scss
index ddfb0a8..ba50817 100644
--- a/src/styles/pcpage/tool/ranging.scss
+++ b/src/styles/pcpage/tool/ranging.scss
@@ -1,4 +1,5 @@
-.tool-ranging {
+.tool-ranging,
+.tool-area {
     position: fixed;
     top: 100px;
     left: 140px;

--
Gitblit v1.9.3