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