Commit e0d02a23 authored by dlkong's avatar dlkong
Browse files

横屏修改

parent b6065533
Loading
Loading
Loading
Loading
+84 −18
Original line number Diff line number Diff line
<template>
    <div class="wrap" ref="mapmidbox">
        <van-sticky>
        <van-sticky v-if="showHeader">
            <header class="header">
                <span @click="close" class="iconLeft"> 关闭</span>
                <span>{{text}}</span>
@@ -36,7 +36,7 @@
        </grid-layout>
        <div class="setBtns">
            <van-button @click="addItem" type="info" size="mini" v-if="!isView">添加房间</van-button>
            <van-grid direction="horizontal" :column-num="2" class="footer">
            <van-grid direction="horizontal" :column-num="2" class="footer" v-if="isView">
                风险等级图例:
                <span class="riskTab type1"></span>重大风险
                <span class="riskTab type2"></span>较大风险
@@ -101,44 +101,99 @@ export default {
            roomName:'',
            columns: ['办公', '餐饮', '住宅', '超市'],
            colorList:['#FF4433','#FF9800','#FFFF00','#0091EA'],
            isView:true,// true:查看页面;  false: 添加页面
            isView:false,// true:查看页面;  false: 添加页面
            showHeader:true
        }
    },
    props:{
        isViews: {
            type: Boolean,
            default: false,
        },
    },
    mounted() {
        // screenfull.toggle(this.$refs.mapbox);
        // this.$nextTick(() => {
        this.$nextTick(() => {
            // this.rotateBox();
        // });
        this.isView = this.$route.params.isView? true : false
            this.initRotate();
        });
        if (this._props.isViews) {
            console.log('作为组件传值==>>',)
            this.isView = true
            this.showHeader = false
        }
        if (this.$route.params.isView) {
            this.isView =  true
        }
        this.getRoomInfo()
        window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", this.orientationChange, false);   
    },
    methods: {
        orientationChange(){
            if (window.orientation === 180 || window.orientation === 0) {   
               console.log('竖屏状态!');  
            }   
            if (window.orientation === 90 || window.orientation === -90 ){   
                console.log('横屏状态!');  
            }    
            // let width = document.documentElement.clientWidth//页面宽度
            //    let  height = document.documentElement.clientHeight//页面高度
            //     console.log('width==>>',width)
            //     console.log('height==>>',height)
                  this.rotateBox()
        },
        initRotate(){
            let width = document.documentElement.clientWidth,//页面宽度
                height = document.documentElement.clientHeight,//页面高度
                wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果
                style = "";//样式
                console.log('width==>>',width)
                console.log('height==>>',height)
                 style += "width:" + height + "px;";
                style += "height:" + width + "px;";
                style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);";
                // 注意旋转中点的处理
                style +=
                "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;";
                style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;";
                wrapper.style.cssText = style;
        },
        rotateBox() {
            this.isScreenFull = !this.isScreenFull;//是否全屏状态
            let width = document.documentElement.clientWidth,//页面宽度
                height = document.documentElement.clientHeight,//页面高度
                wrapper = this.$refs.mapmidbox,//需要横屏的块,与全屏的块要区分开,不区分全屏的块无法显示横屏效果
                style = "";//样式
            if (height < width) {//注意原来就是宽屏时不用横屏
                return;
            }
            if (this.isScreenFull) {
                console.log('width==>>',width)
                console.log('height==>>',height)
            // if (height < width) {//注意原来就是宽屏时不用横屏
            //     return;
            // }
            if (height < width) {
                // 横屏
                style += "width:" + height + "px;";
                style += "height:" + width + "px;";
                style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);";
                style += "-webkit-transform: rotate(0deg); transform: rotate(0deg);";
                // 注意旋转中点的处理
                style +=
                "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;";
                style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;";
            } else {
                // 竖屏
                // style += "width:" + height + "px;";
                // style += "height:" + width + "px;";
                // style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);";
                // // 注意旋转中点的处理
                // style +=
                // "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;";
                // style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;";
                style += "width:100%";
                style += "height:100%;";
                style += "-webkit-transform: rotate(0); transform: rotate(0);";
                style += "-webkit-transform-origin: 0 0;";
                style += "transform-origin: 0 0;";
            }
            console.log('style==>>',style)
            wrapper.style.cssText = style;
            },
        getRoomInfo(){
@@ -160,7 +215,7 @@ export default {
                    }
                   this.layout.push(item.position)
                })
                console.log('layout==>>',this.layout)
                // console.log('layout==>>',this.layout)
              }
            }).catch((err) => {
               console.log('err==>>',err)
@@ -182,8 +237,11 @@ export default {
        },
        // 删除
        removeItem: function (val) {
            // const index = this.layout.map(item => item.i).indexOf(val);
            // this.layout.splice(index, 1);
            if (val == '') {
                const index = this.layout.map(item => item.i).indexOf(val);
                this.layout.splice(index, 1);
                return
            }
            postFun('/ledger/room/delete/'+val).then((res) => {
              if (res.code == 200) {
                Toast.success('删除成功');
@@ -235,13 +293,13 @@ export default {
                h: 3,
                i: '',
                name: this.roomName,
                c: '#eee',
                c: '#0091EA',
                type:this.roomType,
                isDraggable:true,
                isResizable:true
            }
            this.layout.push(this.layOutItem)
            console.log('layOutItem==>>',this.layOutItem)
            // console.log('layOutItem==>>',this.layOutItem)
        },
        onConfirm(value) {
            this.roomType = value;
@@ -252,11 +310,15 @@ export default {
</script>

<style scoped >
.router-view{
    padding-bottom: 0px !important;
}
.wrap{
    height: 100vh;
    width: 100vw;
    /* transform: rotate(90deg);
   transform-origin: bottom left; */
   position: relative;
}
.footer{
    /* position: fixed; */
@@ -298,9 +360,12 @@ export default {

/*************************************/
.setBtns{
    position: fixed;
    /* position: fixed;
    top:auto;
    right: auto;
    left: 0;
    bottom: 0;
    bottom: 0; */
    margin-top: 10px;
    font-size: 0.3rem;
    padding: 10px;
    vertical-align: middle;
@@ -342,6 +407,7 @@ export default {

.vue-grid-item .text {
    writing-mode:vertical-rl;
    -webkit-writing-mode: vertical-rl;
    font-size: 10cqw;
    display: flex;
    align-items: center;