shuishen
2022-02-15 9f1a8ac7b6743de4a222ebda9bb914c3624810d8
src/pcviews/tool/sign.vue
@@ -1,5 +1,31 @@
<template>
    <div></div>
    <tool-big-box class="tool-sign">
        <template slot="too-big-box-header">
            <div class="title">
                <img class="icon deblurring" src="/img/icon/tool-sign.png" alt />
                <span>地图标记</span>
            </div>
            <img class="close" src="/img/navicon/close.png" alt @click="closeModel" />
        </template>
        <template slot="too-big-box-content">
            <div class="list-box">
                <ul v-show="signList.length > 0">
                    <li v-for="(item, index) in signList" :key="index">
                        <img src="/img/icon/sign-list.png" alt />
                        我得标记
                        <el-button type="danger" size="mini" icon="el-icon-delete" circle></el-button>
                    </li>
                </ul>
                <div v-show="signList.length == 0" class="no-data">
                    <img src="/img/icon/no-data.png" alt />
                    <div>暂无数据</div>
                </div>
            </div>
            <div class="btn-box">
                <el-button type="primary" size="mini" @click.stop="addSign">新增</el-button>
            </div>
        </template>
    </tool-big-box>
</template>
<script>
@@ -9,6 +35,7 @@
    data () {
        return {
            DC: null,
            signList: [],
            destroyedFlag: true
        }
    },
@@ -16,45 +43,7 @@
        ...mapGetters(['viewer'])
    },
    mounted () {
        var that = this
        that.DC = global.DC
        that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => that.moveMessage(e, '点击确认标注位置'))
        that.viewer.on(that.DC.MouseEventType.CLICK, (e) => {
            if (that.destroyedFlag == false) return
            that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => that.moveMessage(e, ''))
            var popup = new this.DC.DivForms(this.viewer, {
                domId: 'AddTagBox',
                position: [that.DC.Transform.transformWGS84ToCartesian(
                    new that.DC.Position(
                        Number(
                            e.wgs84SurfacePosition.lng
                        ),
                        Number(
                            e.wgs84SurfacePosition.lat
                        ),
                        Number(
                            e.wgs84SurfacePosition.alt
                        )
                    )
                )]
            })
            that.$store.commit('SET_ADDTAGPOSITION', e.wgs84SurfacePosition)
            that.$store.commit('SET_ADDTAGPOPUP', true)
            that.$store.dispatch('delVisitedViews', this.$route)
            that.$router.push('/pcLayout/default')
        })
        // that.viewer.on(that.DC.MouseEventType.CLICK, (e) => {
        //     alert(111)
        // })
        // off
    },
    methods: {
        moveMessage (e, b) {
@@ -64,6 +53,45 @@
                this.viewer.tooltip.enable = true
                this.viewer.tooltip.showAt(e.windowPosition, b)
            }
        },
        addSign () {
            var that = this
            that.DC = global.DC
            that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => that.moveMessage(e, '点击确认标注位置'))
            that.viewer.once(that.DC.MouseEventType.CLICK, (e) => {
                if (that.destroyedFlag == false) return
                that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => that.moveMessage(e, ''))
                // eslint-disable-next-line no-unused-vars
                const popup = new this.DC.DivForms(this.viewer, {
                    domId: 'AddTagBox',
                    position: [that.DC.Transform.transformWGS84ToCartesian(
                        new that.DC.Position(
                            Number(
                                e.wgs84SurfacePosition.lng
                            ),
                            Number(
                                e.wgs84SurfacePosition.lat
                            ),
                            Number(
                                e.wgs84SurfacePosition.alt
                            )
                        )
                    )]
                })
                that.$store.commit('SET_ADDTAGPOSITION', e.wgs84SurfacePosition)
                that.$store.commit('SET_ADDTAGPOPUP', true)
            })
        },
        closeModel () {
            this.$store.dispatch('delVisitedViews', this.$route)
            this.$router.push('/pcLayout/default')
        }
    },
    destroyed () {
@@ -74,5 +102,8 @@
}
</script>
<style>
<style lang="scss" scoped>
.move {
    cursor: move;
}
</style>