大屏适配pad包括大屏上的弹框

1.效果 横屏
在这里插入图片描述
2.竖屏效果
在这里插入图片描述
代码部分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<template><div class="tz_drive_wrapper" id="contain"><div class="tz_drive_header"><page-header></page-header><div class="tz_drive-time">通州区住房及城乡建设委员会&copy;copyright</div><div @click="backPlatform()" class="return-home-warp"><imgsrc="../../../../assets/image/nav/shouye-shouye@2x.png"altclass="return-home"title="返回平台"/></div></div><div class="tz_d_left" v-if="home.supervise_type=='PARK' || home.supervise_type=='STREET'"><div class="box_item"><tzqVideoSurveillance></tzqVideoSurveillance></div></div><div class="tz_d_center" v-if="home.supervise_type=='PARK' || home.supervise_type=='STREET'"><tzMapBigScreen></tzMapBigScreen></div><div class="tz_d_right" v-if="home.supervise_type=='PARK' || home.supervise_type=='STREET'"><div class="box_item"><environmentRegulationPro /></div><div class="box_item"><tzDanger /></div><div class="box_item"><tzAIWarningPhotosEvents></tzAIWarningPhotosEvents></div></div></div>
</template>
<script>
import { mapState } from 'vuex'
import PageHeader from './tzBIgHeader'
import api from 'api'
import GetUserInfo from 'mixins/getUserInfo'
import GetUrlParams from 'mixins/getUrlParams'
import tzMapBigScreen from './tzMapBigScreen'//   地图
import tzqVideoSurveillance from '../tongzhouDistrict/park/tzqVideoSurveillance' //全区工程统计
import tzAIWarningPhotosEvents from './components/tzAIWarningPhotosEvents' // 扬尘设备管理
import tzDanger from '../tongzhouDistrict/park/tzDanger' // 危大工程管理
import environmentRegulationPro from './components/environmentRegulationPro' // 环境监测export default {name: 'MultiCockpitNew',components: {tzMapBigScreen, PageHeader,tzqVideoSurveillance, //左侧tzDanger, //危大environmentRegulationPro, //环境tzAIWarningPhotosEvents//ai},computed: {...mapState(['home'])},watch: {},mixins: [GetUrlParams, GetUserInfo],props: {},data() {return {homeTimeText: ''}},created() {this.getTime();this.getLogoutUrl();},mounted() {if(this.isTablet()) {this.onWindowResize()}window.onresize = () => {console.log('app监听到改变')if(this.isTablet()) {this.onWindowResize()}}// 目标节点,假设弹框的 id 是 'modal'const targetNode = document.querySelector('body')// 创建 MutationObserver 实例const observer = new MutationObserver(mutationsList => {for (const mutation of mutationsList) {if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {// 弹框出现时的处理逻辑console.log('弹框出现');if(document.querySelector('.el-dialog__wrapper')) {this.handleDialogScale()}// 这里可以触发你的自定义事件,通知弹框已经出现} else if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {// 弹框消失时的处理逻辑console.log('弹框消失');// 这里可以触发你的自定义事件,通知弹框已经消失}}});// 配置观察器选项const config = { childList: true };// 将观察器与目标节点关联,并开始观察observer.observe(targetNode, config);},methods: {handleDialogScale() {var windowHeight = document.documentElement.clientHeight || document.body.clientHeight// 获取窗口高度var windowWidth = document.documentElement.clientWidth || document.body.clientWidth// 获取窗口宽度const pageWidth = 1920const pageHeight = 1080const scaleX = Math.floor((windowWidth / pageWidth) * 1000) / 1000const scaleY = Math.floor((windowHeight / pageHeight) * 1000) / 1000const el = document.querySelector('.el-dialog__wrapper')// console.log('scaleY', scaleY)if (scaleX > scaleY) {console.log('scaleY', scaleY)if (scaleY > 1) {el.style.transformOrigin = 'left 49% 0px'} else {el.style.transformOrigin = 'left 50% 0px'}el.style.transform = `scale(${(scaleY)})`el.style.width = '1920px'el.style.height = '1080px'} else {console.log('scaleX', scaleX)el.style.transform = `scale(${scaleX})`el.style.width = '1920px'el.style.height = '1080px'if (windowHeight > windowWidth) {el.style.transformOrigin = 'left 30% 0px'} else {el.style.transformOrigin = 'left top 0px'}}},onWindowResize() {if(document.querySelector('#app')) {document.querySelector('#app').style.position = 'relative'}var windowHeight = document.documentElement.clientHeight || document.body.clientHeight// 获取窗口高度var windowWidth = document.documentElement.clientWidth || document.body.clientWidth// 获取窗口宽度const pageWidth = 1920const pageHeight = 1080const scaleX = Math.floor((windowWidth / pageWidth) * 1000) / 1000const scaleY = Math.floor((windowHeight / pageHeight) * 1000) / 1000const el = document.getElementById('contain')const header = document.getElementById('header-warp')const content = document.getElementById('platcontent')if (scaleX > scaleY) {console.log('scaleY', scaleY)if (scaleY > 1) {el.style.transformOrigin = 'center top 0px'} else {el.style.transformOrigin = 'center top 0px'}el.style.transform = `scale(${(scaleY)})`el.style.width = `${windowWidth < 1300 ? 1920 : 2200}` + 'px'el.style.height = '1080px'if(header) {header.style.width = `${windowWidth < 1300 ? 1920 : 2200}` + 'px'}if(content) {content.style.width = `${windowWidth < 1300 ? 1920 : 2200}` + 'px'}el.style.height = windowHeight} else {console.log('scaleX', scaleX)el.style.transform = `scale(${scaleX}) translateY(-50%)`el.style.width = `${windowWidth < 1300 ? 1920 : 2200}` + 'px'if(header) {header.style.width = `${windowWidth < 1300 ? 1920 : 2200}` + 'px'}el.style.height = '1080px'el.style.position = 'absolute';el.style.top = '50%';if(content) {content.style.width = `${windowWidth < 1300 ? 1920 : 2200}` + 'px'}if (scaleX > 1) {el.style.transformOrigin = 'center center 0px'} else {el.style.transformOrigin = 'left top 0px'}}},// 检测是否是触摸设备isTouchDevice() {return 'ontouchstart' in window || navigator.maxTouchPoints;},// 检测屏幕尺寸isTablet() {// 假设屏幕宽度小于等于1024像素,并且是触摸设备,则判断为平板电脑  && this.isTouchDevice();return window.innerWidth <= 1024},getTime() {var myDate = new Date(); // 实例一个时间对象;var nian = myDate.getFullYear(); // 获取系统的年;var yue = myDate.getMonth() + 1; // 获取系统月份,由于月份是从0开始计算,所以要加1var ri = myDate.getDate() < 10 ? '0' + myDate.getDate() : myDate.getDate(); // 获取系统日,var shi = myDate.getHours() < 10 ? '0' + myDate.getHours() : myDate.getHours(); // 获取系统时,var fen = myDate.getMinutes() < 10 ? '0' + myDate.getMinutes() : myDate.getMinutes(); // 分var miao = myDate.getSeconds() < 10 ? '0' + myDate.getSeconds() : myDate.getSeconds(); // 秒this.homeTimeText = nian + '-' + yue + '-' + ri + ' ' + shi + ':' + fen + ':' + miao},// 获取返回产品地址getLogoutUrl() {// console.log(this.userInfo) // 青岛市管理员let placeId = sessionStorage.getItem('placeId') || '';placeId = placeId.substring(0, 4) || '';const product = 'product'this.$get(api.getLogoutUrl(product)).then((res) => {const url = res.data.url;this.logoutUrl = url.indexOf('http') < 0 ? 'http://' + url : url;})},// 返回产品backPlatform() {window.location.href = `${this.logoutUrl}`}}
}
</script>
<style lang="less" scoped>
@media screen and (max-width: 1200px){.tz_drive_wrapper {width: 100%;height: 100%;.tz_drive_header{width: 100%;height: 60px;position: relative;.return-home-warp {position: absolute;top: 14px;right: 20px;.return-home {width: 18px;height: 18px;cursor: pointer;}}.tz_drive-time{position: absolute;top: 22px;left: 30px;font-size: 15px;}}.tz_d_left, .tz_d_right{width: 25%;height:85%;min-width: 350px;position: absolute;z-index: 10;top: 130px;display: flex;flex-direction: column;.box_item{width: 100%;flex: 1;margin-bottom: 8px;&:last-child{margin-bottom: 0;}}}.tz_d_left{left: 0;padding-left: 15px;background: linear-gradient(90deg, #030424, rgba(2,23,67,0.7));}.tz_d_right{right: 0;padding-right: 15px;background: linear-gradient(90deg, rgba(2,23,67,0.7), #03092C);}.tz_d_center{width: 100%;height: 100%;}}
}
@media screen and (min-width: 1200px) and (max-width: 2000px){.tz_drive_wrapper {width: 100%;height: 100%;.tz_drive_header{width: 100%;height: 60px;position: relative;.return-home-warp {position: absolute;top: 14px;right: 20px;.return-home {width: 18px;height: 18px;cursor: pointer;}}.tz_drive-time{position: absolute;top: 22px;left: 30px;font-size: 15px;}}.tz_d_left, .tz_d_right{width: 25%;height:85%;min-width: 350px;position: absolute;z-index: 10;top: 130px;display: flex;flex-direction: column;.box_item{width: 100%;flex: 1;margin-bottom: 8px;&:last-child{margin-bottom: 0;}}}.tz_d_left{left: 0;padding-left: 15px;background: linear-gradient(90deg, #030424, rgba(2,23,67,0.7));}.tz_d_right{right: 0;padding-right: 15px;background: linear-gradient(90deg, rgba(2,23,67,0.7), #03092C);}.tz_d_center{width: 100%;height: 100%;}}
}
@media screen and (min-width: 4000px) and (max-width: 8000px){.tz_drive_wrapper {width: 80%;margin: 0 auto;height: 100%;.tz_drive_header{width: 100%;height: 60px;position: relative;.tz_drive-time{position: absolute;top: 25px;left: 50px;font-size: 16px;}}.tz_d_left, .tz_d_right{width: 21%;height: 84%;min-width: 350px;position: absolute;z-index: 10;top: 130px;display: flex;flex-direction: column;.box_item{width: 100%;flex: 1;margin-bottom: 8px;&:last-child{margin-bottom: 0;}}}.tz_d_left{left: 10%;padding-left: 15px;background: linear-gradient(90deg, #030424, rgba(2,23,67,0.7));}.tz_d_right{right: 10%;padding-right: 15px;background: linear-gradient(90deg, rgba(2,23,67,0.7), #03092C);}.tz_d_center{width: 100%;height: 100%;}}
}
#contain {width: 100%;height: 100%;display: flex;flex-direction: column;// display: inline-block;//   width: 1920px;  //设计稿的宽度//   height: 1080px;  //设计稿的高度//   transform-origin: 0 0;//   position: absolute;//   left: 50%;//   top: -50%;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/273550.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio Iguana | 2023.2.1版本

Android Gradle 插件和 Android Studio 兼容性 Android Studio 构建系统基于 Gradle&#xff0c;并且 Android Gradle 插件 (AGP) 添加了一些特定于构建 Android 应用程序的功能。下表列出了每个版本的 Android Studio 所需的 AGP 版本。 如果特定版本的 Android Studio 不支持…

校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序

项目描述&#xff1a; 校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能介绍&#xff1a; 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求&#xff1a;PHP7.0 MySQL5.7 效果…

c++ primer plus 笔记 第十六章 string类和标准模板库

string类 string自动调整大小的功能&#xff1a; string字符串是怎么占用内存空间的&#xff1f; 前景&#xff1a; 如果只给string字符串分配string字符串大小的空间&#xff0c;当一个string字符串附加到另一个string字符串上&#xff0c;这个string字符串是以占用…

javascript 版 WinMerge

WinMerge.html&#xff1a; <!DOCTYPE html> <html> <head><title>WinMerge</title><meta charset"UTF-8"> </head> <body> <h1>文件比较</h1> <form><label for"file1">旧版本…

【Idea】八种Debug模式介绍

1.行断点 在对应的代码行左侧边栏点击鼠标左键&#xff0c;会出现一个红色圆圈&#xff0c;以debug模式执行时当代码运行到此处则会停止&#xff0c;并可以查询相关上下文参数 2.方法断点 在方法左侧点击创建断点,在方法进入时会停止&#xff0c;同时可以右键断点&#xff0c;…

修改Android打包apk的名字和目录

app打包生成apk后通常需要进行备份&#xff0c;但是要区分好哪个apk是什么版本的、什么时候打包的&#xff0c;以方便以后区分使用。 最开始的想法是把版本号、创建时间这些加在apk文件名上即可&#xff0c;但是公司要求apk使用一个固定的名称&#xff0c;那我怎么保存版本号信…

【CSP】2022-03-3 计算资源调度器 stl大模拟使用map优化索引 完整思路+完整的写代码过程(遇到的问题)+完整代码

2022-03-3 计算资源调度器 stl大模拟使用map优化索引 2022-03-3 计算资源调度器 stl大模拟使用map优化索引思路写代码的过程&#xff08;遇到的问题&#xff09;完整代码 2022-03-3 计算资源调度器 stl大模拟使用map优化索引 在联系了之前那么多道stl大模拟题后&#xff0c;终…

德人合科技|天锐绿盾加密软件——数据防泄漏系统

德人合科技是一家专注于提供企业级信息安全解决方案的服务商&#xff0c;提供的天锐绿盾加密软件是一款专为企业设计的数据安全防护产品&#xff0c;主要用于解决企事业单位内部敏感数据的防泄密问题。 www.drhchina.com PC端&#xff1a; https://isite.baidu.com/site/wjz012…

Redis精讲

redis持久化 RDB方式 Redis Database Backup file (redis数据备份文件), 也被叫做redis数据快照. 简单来说就是把内存中的所有数据记录到磁盘中. 快照文件称为RDB文件, 默认是保存在当前运行目录. [rootcentos-zyw ~]# docker exec -it redis redis-cli 127.0.0.1:6379> sav…

速卖通商品采集API:关键字搜索商品item_search、获取商品详情item_get

item_get-获得aliexpress商品详情 item_search-按关键字搜索aliexpress商品 公共参数 请求地址: aliexpress.item_search/aliexpress.item_get 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是…

03-安装配置jenkins

一、安装部署jenkins 1&#xff0c;上传软件包 为了方便学习&#xff0c;本次给大家准备了百度云盘的安装包 链接&#xff1a;https://pan.baidu.com/s/1_MKFVBdbdFaCsOTpU27f7g?pwdq3lx 提取码&#xff1a;q3lx [rootjenkins ~]# rz -E [rootjenkins ~]# yum -y localinst…

windows下pytorch的dataloader多进程(num_workers)问题,为何num_workers的值只能为0?

问题背景介绍 本人是windows系统&#xff0c;在使用torch.utils.data.Dataloader加载torchvision中的数据集时&#xff0c;将其中的形参num_workers设置为了大于0的数&#xff0c;然后出现以下错误。 原因 在 Windows 系统下&#xff0c;num_workers 参数在使用 PyTorch 的 t…

记一次 .NET某设备监控自动化系统 CPU爆高分析

一&#xff1a;背景 1. 讲故事 先说一下题外话&#xff0c;一个监控别人系统运行状态的程序&#xff0c;结果自己出问题了&#xff0c;有时候想一想还是挺讽刺的&#xff0c;哈哈&#xff0c;开个玩笑&#xff0c;我们回到正题&#xff0c;前些天有位朋友找到我&#xff0c;说…

VideoDubber时长可控的视频配音方法

本次分享由中国人民大学、微软亚洲研究院联合投稿于AAAI 2023的一篇专门为视频配音任务定制的机器翻译的工作《VideoDubber: Machine Translation with Speech-Aware Length Control for Video Dubbing》。这个工作将电影或电视节目中的原始语音翻译成目标语言。 论文地址&…

购买须知:腾讯云服务器99元一年限制月流量300GB

腾讯云99元服务器限制月流量吗&#xff1f;是的&#xff0c;限制月流量&#xff0c;每月提供300GB月流量&#xff0c;超出部分的流量&#xff0c;需要额外支付流量费&#xff0c;价格为0.8元每GB。可以在腾讯云百科 txy.wiki 查看当前99元服务器详细配置和最新的优惠券信息。如…

linux上安装fastdfs及配置

一、基础环境准备 1、所需软件 名称说明libfastcommonfastdfs分离出的一些公用函数包fastdfsfastdas软件包fastdfs-nginx-modulefastdfst和nginx的关联模块nginxnginxl软件包 2、编辑环境 安装一些基础的支持环境 yum install git gccc gcc-c make automake autoconf libto…

复制表

目录 复制表 将部门 30 的所有员工信息保存在 emp30 表中 将复杂查询结果创建为表 只将 emp 表的结构复制为 empnull 表 从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 复制表 严格来说&#xff0c;复制表不是复制操作&am…

Node.Js编码注意事项

Node.js 中不能使用 BOM 和 DOM 的 API&#xff0c;可以使用 console 和定时器 APINode.js 中的顶级对象为 global&#xff0c;也可以用 globalThis 访问顶级对象 浏览器端js的组成 Node.js中的JavaScript组成 相比较之下发现只有console与定时器是两个API所共有的&#xff…

Graphpad Prism10.2.1(395) 安装教程 (含Win/Mac版)

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件&#xff0c;它可以将科学图形、综合曲线拟合&#xff08;非线性回归&#xff09;、可理解的统计数据、数据组织结合在一起&#xff0c;除了最基本的数据统计分析外&#xff0c;还能自动生成统…

windows server 2019 服务器配置的方法步骤

一、启用远程功能二、测试三、解决多用户登录的问题 一、启用远程功能 右键点击【此电脑】–【属性】&#xff0c;进入“【控制面板\系统和安全\系统】”&#xff0c;点击-【远程设置】(计算机找不到就使用【winE】快捷键) 2、在“远程桌面”下方&#xff0c;点击【允许远程连…