shuinichang_/.history/src/views/Zhou/ZNYWJK_20231211161811.vue

1449 lines
39 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="box">
<div class="a">
<img
src="../../assets/img/可调负荷/可调图标--未选中.png"
alt=""
@click="sendMessageToCSharp"
/>
</div>
<div class="left">
<img src="../../assets/img/标题/智能运维-监控.png" class="title" />
<div class="dqsxtxx">
<div class="imgBox">
<img src="../../assets/img/小标题栏.png" class="img" />
<p>当前摄像头信息</p>
</div>
<div id="dqsxtxx">
<div class="headers">
<div class="h5-play-wrap"></div>
<!-- <video
:src="videoSource"
autoplay
muted
class="videos"
ref="videos"
></video> -->
<!-- <video id="testVideo"></video>
<canvas id="testCanvas"></canvas> -->
<p class="h_footer">
<span class="time">{{ dates }}</span>
<img
src="../../assets/ZNYWJK/放大.png"
alt=""
class="quanping"
@click="handleFullScreen"
/>
</p>
</div>
<h2>摄像头信息</h2>
<div class="footers">
<div class="one">
<p>余热发电站</p>
</div>
<div class="two">
<p>网络数据</p>
</div>
<div class="three">
<p>1920*1080</p>
</div>
<div class="four">
<p>5ms</p>
</div>
</div>
</div>
</div>
<div class="spjk">
<div class="imgBox">
<img src="../../assets/img/小标题栏.png" class="img" />
<p>摄像头视频监控</p>
</div>
<div id="spjk">
<div class="spjk_one" v-for="(item, index) in sxtlist" :key="index">
<div class="jiankong">
<video :src="item.src" autoplay muted></video>
</div>
<div class="spjk_title">{{ item.name }}</div>
</div>
</div>
</div>
<div class="sxtlb">
<div class="imgBox">
<img src="../../assets/img/小标题栏.png" class="img" />
<p>摄像头列表</p>
</div>
<div id="sxtlb">
<div class="data">
<span
:class="res == '生产监控系统' ? 'active' : ''"
@click="res = '生产监控系统'"
>生产监控系统</span
>
<span
:class="res == '配电室监控系统' ? 'active' : ''"
@click="res = '配电室监控系统'"
>配电室监控系统</span
>
</div>
<div class="con">
<div class="con1">
<p>监控17回转窑南侧</p>
<p>07:12:18</p>
</div>
<div class="con2">
<p>监控16篦冷机</p>
<p>07:12:18</p>
</div>
</div>
</div>
</div>
</div>
<div class="right">
<div class="wdjc1">
<div class="imgBox">
<img src="../../assets/img/小标题栏.png" class="img" />
<p>温度监测1</p>
</div>
<div class="chartBox">
<div class="selects">
<el-select
v-model="value"
:popper-append-to-body="false"
class="custom-select"
placeholder="请选择"
>
<el-option
v-for="item in options"
:key="item.value"
:popper-append-to-body="false"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div id="wdjc1">
<div class="hpfj">
<h2>1#后排风机</h2>
<div class="nei">
<div class="ones" v-for="(item, index) in fjlist" :key="index">
<p>{{ item.name }}</p>
<p class="green">{{ item.count }}</p>
<p class="bianhao">编号:{{ item.bianhao }}</p>
</div>
</div>
</div>
<div class="hpfj">
<h2>1#窑主电机</h2>
<div class="nei">
<div class="ones" v-for="(item, index) in fjlist2" :key="index">
<p>{{ item.name }}</p>
<p class="green">{{ item.count }}</p>
<p class="bianhao">编号{{ item.bianhao }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="wdjc2">
<div class="imgBox">
<img src="../../assets/img/小标题栏.png" class="img" />
<p>温度监测2</p>
</div>
<div class="chartBox">
<div class="selects">
<el-select
v-model="value"
:popper-append-to-body="false"
class="custom-select"
placeholder="请选择"
>
<el-option
v-for="item in options"
:key="item.value"
:popper-append-to-body="false"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div id="wdjc2">
<div class="controls">
<h3>智能操控装置</h3>
<ul>
<li v-for="item in list">
<span>{{ item.name }}</span>
<span class="blue">{{ item.count }}</span>
<span>℃</span>
</li>
</ul>
</div>
<div class="controls">
<h3>智能操控装置</h3>
<ul>
<li v-for="item in list">
<span>{{ item.name }}</span>
<span class="blue">{{ item.count }}</span>
<span>℃</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script src="../../utils/module/PlayerControl"></script>
<script src="../../utils/index.js"></script>
<script>
import moment from "moment";
// import "../../utils/PlayerControl.js";
// import "../../utils/index.js";
import screenfull from "screenfull";
export default {
data() {
return {
fjlist: [
{
name: "1#后排风机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#后排风机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#后排风机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#后排风机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#后排风机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#后排风机上动触头A相",
count: "0.0",
bianhao: "139671",
},
],
fjlist2: [
{
name: "1#窑主电机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#窑主电机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#窑主电机上动触头A相",
count: "0.0",
bianhao: "139671",
},
{
name: "1#窑主电机上动触头A相",
count: "0.0",
bianhao: "139671",
},
],
list: [
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
{
name: "上静触头A相温度",
count: "0.0",
},
],
options: [
{
value: "选项1",
label: "线路测温",
},
{
value: "选项2",
label: "设备测温",
},
{
value: "选项3",
label: "线路测温",
},
{
value: "选项4",
label: "线路测温",
},
{
value: "选项5",
label: "线路测温",
},
],
value: "设备测温",
res: "生产监控系统",
tableData: [
{
date1: "水泥单位产品综合能耗",
date2: "80kgce/t",
date3: "84kgce/t",
date4: "5%",
},
{
date1: "水泥大内产品综合电耗",
date2: "40kWh/t",
date3: "53kWh/t",
date4: "32.5%",
},
{
date1: "熟料单位产品综合能耗",
date2: "100kgce/t",
date3: "114kgce/t",
date4: "14%",
},
{
date1: "熟料单位产品综合电耗",
date2: "48kWh/t",
date3: "55kWh/t",
date4: "14.58%",
},
{
date1: "熟料单位产品综合煤耗",
date2: "94kgce/",
date3: "108kgce/",
date4: "14.89%",
},
],
devices: [
{
date1: "回转窑",
date2: true,
date3: "102.00",
},
{
date1: "熟料收尘",
date2: true,
date3: "29.00",
},
{
date1: "篦冷机",
date2: true,
date3: "45.00",
},
{
date1: "生料收尘",
date2: false,
date3: "102.00",
},
{
date1: "回转窑",
date2: true,
date3: "29.00",
},
{
date1: "熟料收尘",
date2: false,
date3: "45.00",
},
],
sxtlist: [
{
src: require("../../assets/videos/G.E.M.邓紫棋 - 不想回家.mp4"),
name: "SP锅炉",
},
{
src: require("../../assets/videos/G.E.M.邓紫棋 - 句号.mp4"),
name: "回转窑",
},
{
src: require("../../assets/videos/G.E.M.邓紫棋 - GLORIA.mp4"),
name: "西侧垃圾发电",
},
{
src: require("../../assets/videos/林俊杰 - 愿与愁.mp4"),
name: "北侧垃圾发电",
},
{
src: require("../../assets/videos/G.E.M.邓紫棋 - 不想回家.mp4"),
name: "SP锅炉",
},
{
src: require("../../assets/videos/G.E.M.邓紫棋 - 句号.mp4"),
name: "回转窑",
},
{
src: require("../../assets/videos/G.E.M.邓紫棋 - GLORIA.mp4"),
name: "西侧垃圾发电",
},
{
src: require("../../assets/videos/林俊杰 - 愿与愁.mp4"),
name: "北侧垃圾发电",
},
],
dates: new Date(),
videoSource: require("../../assets/videos/林俊杰 - 愿与愁.mp4"),
isFullScreenTag: false,
};
},
methods: {
//U3D交互的绑定
sendMessageToCSharp() {
// window.vuplex.postMessage({
// type: "Tog",
// message: "智能运维_true",
// });
window.vuplex.postMessage("智能运维-监控");
this.$router.push("/znyw");
},
defineEcharts(dom, option) {
var chartDom = document.getElementById(dom);
var myChart = this.$echarts.init(chartDom);
myChart.setOption(option);
},
tableRowClassName({ row, rowIndex }) {
if ((rowIndex + 1) % 2 === 0) {
return "success-row";
}
return "";
},
handleFullScreen() {
screenfull.toggle(this.$refs.videos);
},
},
created() {
// if (window.vuplex) {
// addMessageListener();
// } else {
// window.addEventListener("vuplexready", addEventListener);
// } function addEventListener() {
// window.vuplex.addEventListener("message", function (event) {
// let json = event.data;
// console.log("JSON received" + json);
// })
// }
},
mounted() {
setInterval(() => {
moment.locale("zh-cn");
// 获取当前时间
const currentTime = moment();
// 格式化时间为指定格式:年-月-日 星期几 时分秒
const formattedTime = currentTime.format("YYYY-MM-DD dddd HH:mm:ss");
// 输出格式化后的时间
this.dates = formattedTime;
}, 100);
},
let $ip,
$port,
$user,
$password,
$loginState,
$stream,
$volume,
$canvas, //canvas播放视频DOM
$video, //video播放视频DOM
$canvas_ivs, //canvas绘图DOM
$video_wrap, //视频外层Wrap
$videoLoading, //“加载中...”提示
WndIndex = 0, //宫格窗口Id
WebCaps = null; //webCapsConfig文件转存变量
let isLogin = false; //是否登录
let channel = 0; //当前通道
let curPage = 1; //视频下载列表的当前页
let totalPage = 1; //视频下载列表的总页数
let recordArr = []; //视频文件数组
let canvasSon = null; //canvas绘图实例
let playerInstance = []; //播放|回放实例数组
let recordInstance = []; //录像下载实例数组
let talkInstance = []; //对讲实例数组
let ivsInstance = []; //canvas绘图实例数组
let cutInstance = []; //视频裁剪实例数组
let onlineChannel = []; //当前成功拉流的视频通道数组
let isCuting = false; //是否正在进行视频裁剪
let downList = []; //勾选的视频下载列表
let downItemIndex = 0; //视频下载索引
let canvasParam = {
//canvas绘图默认传参
strokeColor: "#FF0000",
title: "",
resizeEnable: false,
moveEnable: false,
closeEnable: true,
array: true,
showSize: false,
selectType: "inSide",
disappear: true,
selected: false,
};
const lINENUMBER = 16; //回放列表每页显示录像条数
let curEnlargeWnd = 0;
/**
* @description 初始化
*/
const init = () => {
let videoStr = "";
for (var i = 0; i < 16; i++) {
videoStr +=
'<div wnd-index="' +
i +
'" style="float: left; background-color: #000; position: relative; width: 100%; height: 100%;overflow:hidden;border:1px solid rgb(125,125,125)"><canvas id="h5_canvas_' +
i +
'" style="width:100%;height:100%;"></canvas><p id="h5_loading_' +
i +
'" class="video_loading" style="display:none">加载中...</p><video id="h5_video_' +
i +
'" style="display: none;width:100%;height:100%;position:absolute;top:0;left:0"></video><canvas id="h5_ivs_' +
i +
'" style="position: absolute;left: 0;top: 0;width: 100%;height: 100%;" width="500" height="300"></canvas></div>';
}
document.querySelector(".h5-play-wrap").innerHTML = videoStr;
document.querySelectorAll(".h5-play-wrap div").forEach((item, index) => {
item.addEventListener("click", function (event) {
let _wndIndex = event.target.parentNode.getAttribute("wnd-index") - 0;
if (
!(playerInstance[_wndIndex] && playerInstance[_wndIndex].isPlayback)
) {
channel = event.target.parentNode.getAttribute("channel") - 0;
document.querySelectorAll("#h5_channel_list li").forEach((item) => {
item.classList.remove("fn-fontRed");
});
}
document
.querySelectorAll(".h5-play-wrap div")
.forEach(function (item, index) {
if (index === _wndIndex) {
item.style.borderColor = "rgb(255, 204, 0)";
if (
!(
playerInstance[_wndIndex] &&
playerInstance[_wndIndex].isPlayback
)
) {
if (onlineChannel.indexOf(channel) > -1) {
document
.querySelector(
'#h5_channel_list li[channel="' + channel + '"]'
)
.classList.add("fn-fontRed");
}
}
WndIndex = _wndIndex;
setVideoDom();
} else {
item.style.borderColor = "rgb(125, 125, 125)";
}
});
});
});
$ip = $("#h5_ip");
$port = $("#h5_port");
$user = $("#h5_user");
$password = $("#h5_password");
$loginState = $("#h5_loginState");
$stream = $("#h5_stream");
$volume = $("#h5_volume");
$video_wrap = document.querySelector(".h5-play-wrap");
setVideoDom();
let inputArr = document.querySelectorAll("input[btn-for]");
for (let node of inputArr) {
node.addEventListener("click", bindClickEvent);
}
let selArr = document.querySelectorAll("select[sel-for]");
for (let node of selArr) {
node.addEventListener("change", bindChangeEvent);
}
[
"fullscreenchange",
"webkitfullscreenchange",
"mozfullscreenchange",
"msfullscreenchange",
].forEach((item, index) => {
document.addEventListener(item, fullscreenchange, false);
});
onPreview(false);
};
/**
* @description 切换宫格时重新设置当前视频dom
*/
const setVideoDom = () => {
$canvas = $("#h5_canvas_" + WndIndex);
$video = $("#h5_video_" + WndIndex);
$canvas_ivs = $("#h5_ivs_" + WndIndex);
$videoLoading = $("#h5_loading_" + WndIndex);
};
/**
/**
* @description 预览
* @param {boolean} isPlayback 是否是回放
* @param {string} url 回放视频的url
* @param {number} playbackIndex 回放视频的索引
* @param {boolean} isChangeStream 是否是切换码流导致的重新拉流
*/
const onPreview = (isPlayback, url, playbackIndex, isChangeStream) => {
if (
playerInstance[WndIndex] &&
onlineChannel.indexOf(channel) > -1 &&
!isChangeStream
) {
alert("通道" + (channel + 1) + "已存在!");
return;
}
onStopPreview();
var player = null
let options = {
wsURL: "ws://" + "221.214.127.18" + ":" + "8200" + "/rtspoverwebsocket",
rtspURL:
"rtsp://" +
"221.214.127.18" +
":" +
"8200" +
"/cam/realmonitor?channel=1" +
"&subtype=0" +
"&proto=Private3",
username: "admin",
password: "pyss2017",
lessRateCanvas: true,
playback: isPlayback,
isPrivateProtocol: false,
realm: RPC.realm, //设备登录返回的realm
playbackIndex: playbackIndex,
};
player = new PlayerControl(options);
player.on("MSEResolutionChanged", function (e) {
console.log(e);
});
player.on("PlayStart", function (e) {
console.log(e);
$videoLoading.style.display = "none";
let curWndType =
document.querySelector("[sel-for=onChangeWdnNum]").value - 0;
if (!player.isPlayback) {
onlineChannel.push(channel);
updateChannelList();
// if(curWndType !== 1) {
// clickNextWnd();
// }
}
});
player.on("GetFrameRate", function (e) {
console.log("GetFrameRate: " + e);
});
player.on("FrameTypeChange", function (e) {
console.log("FrameTypeChange: " + e);
});
player.on("Error", function (e) {
//console.log('Error: ' + JSON.stringify(e))
});
player.on("IvsDraw", function (e) {
//console.log('IvsDraw: ' + JSON.stringify(e))
});
player.on("WorkerReady", function () {
player.connect();
});
player.init($canvas, $video);
$canvas.parentNode.setAttribute("channel", channel);
$videoLoading.style.display = "";
};
/**
* @description 更新通道列表
*/
const updateChannelList = () => {
document.querySelectorAll("#h5_channel_list li").forEach((item) => {
item.classList.remove("fn-fontBlue");
item.classList.remove("fn-fontRed");
if (onlineChannel.indexOf(item.getAttribute("channel") - 0) > -1) {
item.classList.add("fn-fontBlue");
}
});
};
/**
* @description 停止预览
*/
const onStopPreview = () => {
if (playerInstance[WndIndex]) {
playerInstance[WndIndex].stop();
playerInstance[WndIndex].close();
playerInstance[WndIndex] = null;
let _index = onlineChannel.indexOf(channel);
onlineChannel.splice(_index, 1);
updateChannelList();
let dom = $canvas;
if (dom.style.display === "none") {
dom = $video;
}
dom.style.display = "none";
if (talkInstance[WndIndex]) {
talkInstance[WndIndex].talk("off");
talkInstance[WndIndex] = null;
}
if (recordInstance[WndIndex]) {
recordInstance[WndIndex].startRecord(false);
recordInstance[WndIndex] = null;
}
}
};
/**
* @description 自定义选择器
* @param {string} str dom元素
*/
function $(str) {
if (str.charAt(0) == "#") {
return document.getElementById(str.substring(1));
} else if (str.charAt(0) == ".") {
return document.getElementsByClassName(str.substring(1));
} else {
return document.getElementsByTagName(str);
}
}
/**
* @description 设置样式
* @param {object} obj dom元素
* @param {*} json css样式
*/
function setStyle(obj, json) {
for (let i in json) {
obj.style[i] = json[i];
}
}
/**
* @description 绑定click事件
* @param {object} event event对象
*/
function bindClickEvent(event) {
let $el = event.target,
method = $el.getAttribute("btn-for"),
disabled = $el.getAttribute("disabled");
if (!disabled) {
eval(method + "()");
}
}
/**
* @description 绑定change事件
* @param {object} event event对象
*/
function bindChangeEvent(event) {
let $el = event.target,
method = $el.getAttribute("sel-for"),
disabled = $el.getAttribute("disabled");
if (!disabled) {
eval(method + "()");
}
}
function fullscreenchange() {
if (getFull()) {
return;
}
}
init();
};
</script>
<style scoped lang="less">
.box {
width: 100%;
height: 100%;
box-sizing: border-box;
background-color: transparent;
display: flex;
background-image: url(../../assets/img/左遮罩.png),
url(../../assets/img/右遮罩.png);
padding-top: 400px;
justify-content: space-between;
position: relative;
.a {
position: absolute;
width: 1300px;
z-index: 2;
top: 420px;
right: 480px;
z-index: 100;
img {
margin-right: 102px;
pointer-events: all;
cursor: pointer;
}
}
.left {
width: 1237px;
height: 2500px;
margin-left: 61px;
background-image: url("../../assets/img/侧边.png");
padding-left: 59px;
padding-right: 45px;
box-sizing: border-box;
.dqsxtxx {
position: relative;
margin-top: 56px;
.imgBox {
height: 93px;
width: 1156px;
p {
position: absolute;
color: #fff;
top: 20px;
left: 50px;
font-size: 30px;
font-family: "MicrosoftYaHei";
}
}
#dqsxtxx {
margin-top: 50px;
width: 1151px;
height: 800px;
.headers {
margin-left: 50px;
width: 1041px;
height: 586px;
opacity: 1;
position: relative;
.h5-play-wrap {
width: 1041px;
height: 586px;
opacity: 1;
}
.h_footer {
width: 1040px;
height: 58px;
background: #1f1f1f;
opacity: 0.45;
position: absolute;
bottom: 0px;
.time {
color: #fff;
border: none;
font-size: 20px;
position: absolute;
bottom: 20px;
left: 20px;
width: 300px;
}
.quanping {
color: #fff;
border: none;
font-size: 20px;
position: absolute;
bottom: 20px;
right: 20px;
width: 20px;
height: 20px;
}
}
}
h2 {
margin-left: 40px !important;
margin-top: 10px;
width: 184px;
height: 37px;
font-size: 22px;
font-family: MicrosoftYaHei;
color: #ffffff;
line-height: 20px;
}
.footers {
width: 100%;
height: 200px;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
align-items: center;
align-content: space-around;
.one {
width: 497px;
height: 80px;
background: url(../../assets/ZNYWJK/1.png);
background-size: cover;
position: relative;
p {
width: 166px;
height: 33px;
font-size: 28px;
font-family: MicrosoftYaHei;
color: #ffffff;
left: 50%;
top: 50%;
margin-left: 20px;
transform: translate(50%, 50%);
}
}
.two {
width: 497px;
height: 80px;
background: url(../../assets/ZNYWJK/2.png);
background-size: cover;
position: relative;
p {
width: 166px;
height: 33px;
font-size: 28px;
font-family: MicrosoftYaHei;
color: #ffffff;
left: 50%;
top: 50%;
margin-left: 40px;
transform: translate(50%, 50%);
}
}
.three {
width: 497px;
height: 80px;
background: url(../../assets/ZNYWJK/3.png);
background-size: cover;
position: relative;
p {
width: 166px;
height: 33px;
font-size: 28px;
font-family: MicrosoftYaHei;
color: #ffffff;
left: 50%;
top: 50%;
margin-left: 20px;
transform: translate(50%, 50%);
}
}
.four {
width: 497px;
height: 80px;
background: url(../../assets/ZNYWJK/4.png);
background-size: cover;
position: relative;
p {
width: 166px;
height: 33px;
font-size: 28px;
font-family: MicrosoftYaHei;
color: #ffffff;
left: 50%;
top: 50%;
margin-left: 40px;
transform: translate(50%, 50%);
}
}
}
}
}
.spjk {
position: relative;
margin-top: 56px;
.imgBox {
height: 93px;
width: 1156px;
p {
position: absolute;
color: #fff;
top: 20px;
left: 50px;
font-size: 30px;
font-family: "MicrosoftYaHei";
}
}
#spjk {
width: 1155px;
height: 800px;
margin-top: 50px;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
align-items: center;
align-content: space-around;
overflow-y: scroll;
// 滚动条整体 整体如果不设置只设置滑块和轨道是没有效果的
::-webkit-scrollbar {
width: 5px;
height: 5px; // height对于纵向滚动条来说没有用但是对于横向就有用了
border-radius: 10px;
}
// 滑块
::-webkit-scrollbar-thumb {
width: 14px;
height: 241px;
border-radius: 10px;
background: url(../../assets/ZNYWJK/滑动条.png);
background-size: cover;
}
// 轨道
::-webkit-scrollbar-track {
border-radius: 10px;
background-color: #fff;
}
.spjk_one {
width: 551px;
height: 383px;
// background: #1969A8;
opacity: 1;
border: none;
.jiankong {
width: 100%;
height: 323px;
video {
border: none;
width: 551px;
height: 301px;
opacity: 1;
}
}
.spjk_title {
width: 100%;
height: 60px;
font-size: 28px;
text-align: center;
font-family: MicrosoftYaHei;
background: #1969a8;
color: #ffffff;
line-height: 60px;
}
}
}
}
.sxtlb {
position: relative;
margin-top: 56px;
.imgBox {
height: 93px;
width: 1156px;
p {
position: absolute;
color: #fff;
top: 20px;
left: 50px;
font-size: 30px;
font-family: "MicrosoftYaHei";
}
}
#sxtlb {
width: 1155px;
height: 500px;
margin-top: 50px;
.data {
position: absolute;
font-size: 28px;
font-family: "DOUYU";
color: #ffffff;
line-height: 18px;
display: flex;
right: 0;
top: 120px;
z-index: 1;
span {
width: 240px;
height: 38px;
margin: 10px;
display: block;
line-height: 38px;
text-align: center;
cursor: pointer;
}
.active {
background: linear-gradient(
to right,
rgba(33, 76, 124, 0.3) 20%,
rgba(152, 207, 230, 0.3) 100%,
rgba(33, 76, 124, 0.3) 20%
);
}
}
.con {
margin-top: 100px;
width: 1120px;
height: 125px;
// background: #6C1C00;
// opacity: 1;
// border: 1px solid #FF4200;
.con1,
.con2 {
width: 100%;
height: 70px;
padding: 0px 80px 0px 20px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 24px;
color: #fff;
box-sizing: border-box;
}
.con1 {
background: url(../../assets/ZNYWJK/红.png);
}
.con2 {
margin-top: 20px;
background: url(../../assets/ZNYWJK/蓝.png);
}
}
}
}
}
.right {
width: 1237px;
height: 2500px;
margin-right: 61px;
background-image: url("../../assets/img/侧边.png");
padding-left: 59px;
padding-right: 45px;
box-sizing: border-box;
.wdjc1 {
position: relative;
margin-top: 120px;
.imgBox {
height: 93px;
width: 1156px;
p {
position: absolute;
color: #fff;
top: 20px;
left: 50px;
font-size: 30px;
font-family: "MicrosoftYaHei";
}
}
.chartBox {
margin-top: 100px;
position: relative;
.selects {
position: absolute;
right: 20px;
top: -60px;
// font-size: 30px;
z-index: 1000;
//下拉框的颜色改变
.custom-select /deep/ .el-input__inner {
color: #fff !important;
font-size: 20px;
border-radius: 10px 10px 10px 10px;
opacity: 1;
border: 2px solid #06cdff !important;
background: #1d3349 !important;
}
/* // 设置下拉框的背景颜色及边框属性 */
.custom-select /deep/.el-select-dropdown {
// 若不将下拉框的背景颜色设置为transparent那么做不出来半透明的效果因为其最终的显示为下拉框有一个背景颜色且下拉框的字体有一个背景颜色重叠后的效果展示
border-radius: 10px 10px 10px 10px;
opacity: 1;
border: 2px solid #06cdff !important;
background: #1d3349 !important;
}
/* // 设置下拉框的字体属性及背景颜色 */
.custom-select /deep/ .el-select-dropdown__item {
font-size: 18px;
color: #fff;
font-weight: 200;
background: #1d3349 !important;
}
// /* // 设置下拉框列表的 padding 值为0(样式调整) */
.custom-select /deep/.el-select-dropdown__list {
/* padding-top: 10px; */
padding: 0;
}
/* // 设置输入框与下拉框的距离为0; (样式调整) */
.custom-select /deep/.el-popper[x-placement^="bottom"] {
margin-top: 5px;
}
/* // 将下拉框上的小箭头取消(看着像一个箭头其实是两个重叠在一起的箭头) */
.custom-select /deep/.el-popper .popper__arrow,
.custom-select /deep/.el-popper .popper__arrow::after {
display: none;
}
/* // 设置鼠标悬停在下拉框列表的悬停色 */
.custom-select /deep/.el-select-dropdown__item:hover {
color: rgb(213, 215, 230);
background-color: #326aff;
}
.custom-select /deep/ .el-select-dropdown {
position: absolute;
top: 40px !important;
left: 0px !important;
}
}
#wdjc1 {
width: 1156px;
height: 960px;
font-size: 20px;
color: #fff;
position: relative;
.hpfj {
width: 1154px;
height: 471px;
background: url(../../assets/ZNYWJK/风机框.png);
background-size: cover;
margin-bottom: 40px;
// background: #0184AA;
// opacity: 1;
// border: 1px solid #0EE0ED;
h2 {
color: #fff;
padding: 20px;
}
.nei {
width: 100%;
height: 380px;
display: flex;
justify-content: flex-start;
align-items: center;
align-content: space-around;
flex-wrap: wrap;
// flex-direction: column;
.ones {
margin-left: 12px;
width: 350px;
padding-left: 10px;
padding-top: 10px;
height: 163px;
font-size: 30px;
margin-right: 20px;
box-sizing: border-box;
background: url(../../assets/ZNYWJK/风机内框.png);
// background: #00F0FF;
// opacity: 0.2;
// border: NaNpx solid #00F0FF;
.green {
text-align: center;
color: #51ff72;
height: 80px;
font-size: 40px;
line-height: 80px;
}
.bianhao {
font-size: 22px;
}
}
}
}
}
}
}
.wdjc2 {
position: relative;
margin-top: 60px;
.imgBox {
height: 93px;
width: 1156px;
p {
position: absolute;
color: #fff;
top: 20px;
left: 50px;
font-size: 30px;
font-family: "MicrosoftYaHei";
}
}
.chartBox {
margin-top: 120px;
position: relative;
.selects {
position: absolute;
right: 20px;
top: -60px;
z-index: 1000;
//下拉框的颜色改变
.custom-select /deep/ .el-input__inner {
color: #fff !important;
font-size: 20px;
border-radius: 10px 10px 10px 10px;
opacity: 1;
border: 2px solid #06cdff !important;
background: #1d3349 !important;
}
/* // 设置下拉框的背景颜色及边框属性 */
.custom-select /deep/.el-select-dropdown {
// 若不将下拉框的背景颜色设置为transparent那么做不出来半透明的效果因为其最终的显示为下拉框有一个背景颜色且下拉框的字体有一个背景颜色重叠后的效果展示
border-radius: 10px 10px 10px 10px;
opacity: 1;
border: 2px solid #06cdff !important;
background: #1d3349 !important;
}
/* // 设置下拉框的字体属性及背景颜色 */
.custom-select /deep/.el-select-dropdown__item {
font-size: 18px;
color: #fff;
font-weight: 200;
background: #1d3349 !important;
}
// /* // 设置下拉框列表的 padding 值为0(样式调整) */
.custom-select /deep/.el-select-dropdown__list {
/* padding-top: 10px; */
padding: 0;
}
/* // 设置输入框与下拉框的距离为0; (样式调整) */
.custom-select /deep/.el-popper[x-placement^="bottom"] {
margin-top: 5px;
}
/* // 将下拉框上的小箭头取消(看着像一个箭头其实是两个重叠在一起的箭头) */
.custom-select /deep/.el-popper .popper__arrow,
.custom-select /deep/.el-popper .popper__arrow::after {
display: none;
}
/* // 设置鼠标悬停在下拉框列表的悬停色 */
.custom-select /deep/.el-select-dropdown__item:hover {
color: rgb(213, 215, 230);
background-color: #326aff;
}
.custom-select /deep/ .el-select-dropdown {
position: absolute;
top: 40px !important;
left: 0px !important;
}
}
#wdjc2 {
width: 1156px;
height: 883px;
font-size: 20px;
color: #fff;
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
h3 {
text-align: center;
font-size: 30px;
margin-top: 20px;
margin-bottom: 20px;
}
.controls {
width: 512px;
height: 883px;
background: url(../../assets/ZNYWJK/竖框.png);
ul {
width: 100%;
list-style: none;
box-sizing: border-box;
li {
width: 456px;
margin: 0 auto;
margin-top: 20px;
padding: 0px 30px;
height: 64px;
line-height: 64px;
font-size: 28px;
box-sizing: border-box;
background: url(../../assets/ZNYWJK/输入框.png);
.blue {
margin: 0px 20px 10px;
margin-left: 30px;
color: #0ee5ff;
font-size: 40px;
}
}
}
}
}
}
}
}
}
</style>