工厂生产数据展示基本布局Demo(提供素材)

效果图:

<template><div class="app-container"><a-row :span="24"><a-col :span="12"><div class="divBox"><div class="flexBoxs"><div style="margin: 2px 5px;"><img src="@/assets/image/jz.png"></div><div class="flexBox"><span>机组现状</span></div><div><a-radio-group v-model="emissionVal" button-style="solid" size="small" style="font-size:10px" @change="setJzValue"><a-radio-button value="1">实时值</a-radio-button><a-radio-button value="2">年度累计值</a-radio-button></a-radio-group></div></div><div class="webkitBox"><div class="webkitBoxChildren"><div><img src="@/assets/image/gd_bg.png"></div><div v-if="emissionVal==='1'"><span style="font-size: 12px;font-weight: bold;">供电碳排放强度</span></div><div v-if="emissionVal==='2'"><span style="font-size: 12px;font-weight: bold;">供电碳排放量</span></div><div v-if="emissionVal==='1'"><span style="font-size: 10px;color: #bbb">(tCO2/Mwh)</span></div><div v-if="emissionVal==='2'"><span style="font-size: 10px;color: #bbb">(t)</span></div></div><div class="webkitBoxChildrenC" :key="index" v-for="(item,index) in jzData"><div v-if="emissionVal==='1'"><div class="fontDivOne"><span>{{ item.electricStrength && item.electricStrength.toFixed(2) || 0 }}</span></div><div class="fontDivTwo"><span>{{ item.name }}</span></div></div><div v-if="emissionVal==='2'"><div class="fontDivOne"><span>{{ item.electricTotal && item.electricTotal.toFixed(2) || 0 }}</span></div><div class="fontDivTwo"><span>{{ item.name }}</span></div></div></div></div><hr><div class="webkitBox"><div class="webkitBoxChildren" ><div><img src="@/assets/image/gr_bg.png"></div><div v-if="emissionVal==='1'"><span style="font-size: 12px;font-weight: bold;">供热碳排放强度</span></div><div v-if="emissionVal==='2'"><span style="font-size: 12px;font-weight: bold;">供热碳排放量</span></div><div v-if="emissionVal==='1'"><span style="font-size: 10px;color: #bbb">(tCO2/GJ)</span></div><div v-if="emissionVal==='2'"><span style="font-size: 10px;color: #bbb">(t)</span></div></div><div class="webkitBoxChildrenC" :key="index" v-for="(item,index) in jzData"><div v-if="emissionVal ==='1'"><div class="fontDivOne"><span>{{ item.heatStrength && item.heatStrength.toFixed(2) || 0 }}</span></div><div class="fontDivTwo"><span>{{ item.name }}</span></div></div><div v-if="emissionVal ==='2'"><div class="fontDivOne"><span>{{ item.heatTotal && item.heatTotal.toFixed(2) || 0 }}</span></div><div class="fontDivTwo"><span>{{ item.name }}</span></div></div></div></div></div></a-col><a-col :span="12"><div class="divBox" style="position:relative"><div class="flexBoxs"><div style="margin: 2px 5px;"><img src="@/assets/image/yc.png"></div><div class="flexBox"><span>全厂现状</span></div></div><div :style="'background-image:url('+imageUrl+');background-repeat: round;background-size: contain;width:80%;transform: translateX(95px) translateY(20px);'"><div class="webkitBox" style="display: flex;justify-content: space-around;"><div class="webkitBoxChildren" style="background: #fff;border-radius:5px;width: 104px;height:75px"><div><span style="font-size: 28px;font-weight: bold;color: #e9ce11;">{{ qcXzData.heatYear && qcXzData.heatYear.toFixed(2) || 0 }}</span></div><div><span style="font-size: 10px;color: #bbb">碳排放年度累计值(t)</span></div></div><div class="webkitBoxChildren" style="background: #fff;border-radius:5px;width: 104px;height:75px"><div><span style="font-size: 28px;font-weight: bold;color: #e9ce11;">{{ qcXzData.heatDay && qcXzData.heatDay.toFixed(2) || 0 }}</span></div><div><span style="font-size:10px;color: #bbb">碳排放日累计值(t)</span></div></div></div>
<!--                <div class="webkitBoxChildren">--><!--               <div style="position:relative;z-index:999;width: 53px;height: 53px;border-radius: 100%;background: rgb(144 227 218);line-height: 54px;margin-top: -14px;">--><!--                 <img src="@/assets/image/co3.png" style="position:relative;z-index:99">-->
<!--                  <div style="position: absolute;-->
<!--    height: 126px;-->
<!--    width: 126px;-->
<!--    background: rgb(246, 248, 250);-->
<!--    border-radius: 100%;-->
<!--    top: -37px;-->
<!--    z-index: 1;-->
<!--    left: -38px;-->
<!--    opacity:0.8;-->
<!--    border: 1px solid #9e9e9e26;-->
<!--    box-shadow: inset 0 0 2px #9e9e9e2e;-->
<!--    border: 1px solid rgb(245, 238, 238);">-->
<!--                            </div>-->
<!--                          </div>--><!--                </div>--><div class="webkitBox" style="display: flex;justify-content: space-around;"><div class="webkitBoxChildren" style="transform: translateY(46px);background: #fff;border-radius:5px;width: 104px;height:75px"><div><span style="font-size: 28px;font-weight: bold;color: #1aa495;">{{ qcXzData.electricYear && qcXzData.electricYear.toFixed(2) || 0 }}</span></div><div><span style="font-size: 10px;color: #bbb">碳排放年度累计值(t)</span></div></div><div class="webkitBoxChildren" style="transform: translateY(46px);background: #fff;border-radius:5px;width: 104px;height:75px"><div><span style="font-size: 28px;font-weight: bold;color: #1aa495;">{{ qcXzData.electricDay && qcXzData.electricDay.toFixed(2) || 0 }}</span></div><div><span style="font-size: 10px;color: #bbb">碳排放日累计值(t)</span></div></div></div>
<!--          </div>--></div></div></a-col></a-row><a-row :span="24"><a-col :span="12"><div class="divBox"><div class="flexBoxs"><div style="margin: 2px 5px;"><img src="@/assets/image/jzyc.png"></div><div class="flexBox"><span>机组预测</span></div></div><div class="webkitBox"><div id="main" style="height:280px;width:100%;top:70px"></div></div></div></a-col><a-col :span="12"><div class="divBox"><div class="flexBoxs"><div style="margin: 2px 5px;"><img src="@/assets/image/jd.png"></div><div class="flexBox"><span>全厂预测</span></div></div><div class="webkitBoxTwo" :style="'background-image:url('+listbg+');background-repeat:round;background-size: contain;'"><div class="webkitBoxChildren"><div><span style="font-size: 28px;font-weight: bold;color: #1aa495;">{{ qcYcData.emission && qcYcData.emission.toFixed(2) || 0 }}</span></div><a-progress:stroke-color="{'from': '#108ee9','to': '#87d068',}":percent="parseInt(qcYcData.emission && qcYcData.emission.toFixed(2)) * percent":show-info="false"/></div><div class="webkitBoxChildrenC" style="-webkit-box-pack: end;background: #dddddd00;"><div><div><span style="font-size: 12px;color: #000;font-weight: bold;">碳排放量预测(t)</span></div></div></div></div><div class="webkitBoxTwo" :style="'background-image:url('+listbg+');background-repeat:round;background-size: contain;'"><div class="webkitBoxChildren"><div><span style="font-size: 28px;font-weight: bold;color: #1aa495;">{{ qcYcData.quota && qcYcData.quota.toFixed(2) || 0 }}</span></div><a-progress:stroke-color="{'from': '#108ee9','to': '#87d068',}":percent="parseInt(qcYcData.quota && qcYcData.quota.toFixed(2)) * percent":show-info="false"/></div><div class="webkitBoxChildrenC" style="-webkit-box-pack: end;background: #dddddd00;"><div><div><span style="font-size: 12px;color: #000;font-weight: bold;">碳配额量预测(t)</span></div></div></div></div><div class="webkitBoxTwo" :style="'background-image:url('+listbg+');background-repeat:round;background-size: contain;'"><div class="webkitBoxChildren"><div><span style="font-size: 28px;font-weight: bold;color: #1aa495;">{{ Math.abs((qcYcData.quota - qcYcData.emission).toFixed(2)) || 0 }}</span></div><a-progress:stroke-color="{'from': (qcYcData.quota - qcYcData.emission)<0?'#db2f2f ':'#108ee9','to': (qcYcData.quota - qcYcData.emission)<0?'#f1c391':'#87d068',}":percent="parseInt(Math.abs((qcYcData.quota - qcYcData.emission))).toFixed(2) * percent":show-info="false"/></div><div class="webkitBoxChildrenC" style="-webkit-box-pack: end;-webkit-box-flex: 0.24;background: #dddddd00;"><div><div><span style="font-size: 12px;color: #000;font-weight: bold;">碳配额盈缺量预测(t)</span></div></div></div></div></div></a-col></a-row></div>
</template><script>import CreateForm from '@/views/operationsWorkOrder/workOrder/modules/CreateForm'import * as echarts from 'echarts'import { carbonOverall } from '@/api/carbonemission/unit'import imageUrl from '@/assets/image/co2_bg.png'import listbg from '@/assets/image/list_bg.png'export default {name: 'CarbonEmissionInfo',components: {CreateForm},watch: {},computed: {},data() {return {imageUrl:imageUrl,listbg:listbg,// 查询参数queryParams: {},emissionVal: '1',// 遮罩层loading: false,myEchart:{},overAllData: {},//碳排放总貌数据jzData:[], // 机组现状jzDataYear:[], // 年度累计值jzYcData:[], //机组预测qcXzData:{}, //全厂现状qcYcData:{}, //全厂预测timeInterVal:'',//定时器percent:'',//百分比}},async created() {await this.getList()clearInterval(this.timeInterVal)this.timeInterVal = setInterval(this.getList,10000)},mounted() {},methods:{/** 查询碳排放总貌 */getList() {carbonOverall(this.queryParams).then((response) => {this.overAllData = response.data || {}this.jzData = this.overAllData.unitCurrent //机组现状this.jzYcData = this.overAllData.unitForecast //机组预测this.qcXzData = this.overAllData.wholeCurrent //全厂现状this.qcYcData = this.overAllData.wholeForecast //全厂预测//计算全厂预测数据 所占百分比const add  = parseInt(this.qcYcData.emission.toFixed(2)) + parseInt(this.qcYcData.quota.toFixed(2))const reduce = parseInt(this.qcYcData.quota.toFixed(2)) - parseInt(this.qcYcData.emission.toFixed(2))this.percent = 100 /(add + reduce)this.setJzOptions(this.jzYcData)})},setJzValue(val){},myChartZ22() {if (this.myEchart) {this.$nextTick(() => {this.myEchart.resize()})}},setJzOptions(data){//组装数据const jzArr = [] //机组const pflArr = [] //排放量const pelArr = []// 配额量const yqlArr = [] //盈缺量if(data && data.length >= 0){for(let i=0; i < data.length; i ++){jzArr.push(data[i].name)pflArr.push(data[i].emission.toFixed(2))pelArr.push(data[i].quota.toFixed(2))yqlArr.push((data[i].quota - data[i].emission).toFixed(2))}}var chartDom = document.getElementById('main')this.myEchart = echarts.init(chartDom)var option = {// backgroud:'#333',tooltip: {trigger: 'axis',axisPointer: {type: 'shadow'}},legend: {},grid: {left: '3%',top:'10%',right: '4%',bottom: '1%',containLabel: true},xAxis: [{type: 'category',data: jzArr}],yAxis: [{type: 'value',scale: true,}],series: [{name: '排放量',type: 'bar',emphasis: {focus: 'series'},barWidth: '18%',barGap: '-100%',barMinHeight:20,itemStyle: {color: '#1296db',barBorderRadius: 3,},data: pflArr,},{name: '配额量',type: 'bar',barMinHeight:20,emphasis: {focus: 'series'},barWidth: '18%',barGap: '-100%',itemStyle: {color: '#1aa495',barBorderRadius: 3,},data: pelArr,},{name: '盈缺量',type: 'bar',emphasis: {focus: 'series'},barMinHeight:20,itemStyle: {color: '#e9ce11',barBorderRadius: 3,},barWidth: '18%',barGap: '-50%',data: yqlArr,},]}this.$nextTick(()=>{option && this.myEchart.setOption(option)window.addEventListener('resize', this.myChartZ22) //监听屏幕变化时自适应图表})}},destroyed() {clearInterval(this.timeInterVal)}}
</script><style scoped>
.app-container{background: #eee;
}
.divBox{height: calc(50vh - 60px);background: #f6f8fa;border: 1px solid #eee;border-radius: 5px;padding: 8px;margin: 6px;box-shadow: 1px 1px 2px 2px #cccccc33;}.flexBoxs{display: -webkit-box;-webkit-box-pack: center;-webkit-box-align: baseline;}
.flexBox{display: -webkit-box;-webkit-box-flex: 1;
}
.flexBox span{font-weight: bold;font-size: 12px;color: #1296db;transform: translateY(0.5px);display: block;
}.webkitBox{display: -webkit-box;-webkit-box-align: center;-webkit-box-pack: center;padding: 0px 10px;height: calc(20vh - 30px);}
.webkitBoxTwo{display: -webkit-box;-webkit-box-align: center;-webkit-box-pack: center;padding: 0px 10px;height: calc(20vh - 68px);
}.webkitBoxChildren{display: -webkit-box;-webkit-box-orient: vertical;-webkit-box-align: center;-webkit-box-flex: 0.3;-webkit-box-pack:center;margin:5px}.webkitBoxChildrenC{display: -webkit-box;-webkit-box-orient: horizontal;-webkit-box-align: center;-webkit-box-flex: 0.3;-webkit-box-pack: center;background: #fff;border-radius: 5px;}.webkitBoxChildrenC div{margin: 5px;text-align: center;}.fontDivOne{font-weight: bold;font-size: 23px;}.fontDivTwo{font-size: 12px;color:#bbb;font-weight: bold;}hr{border:1px solid #ccc3;margin-top: 15px;}
::v-deep .ant-progress-line {position: relative;width: 300px;font-size: 14px;transform: translateX(-30px);
}
</style>

 素材私聊我噢~

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

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

相关文章

在windows server系统下,快速部署自己的网站

目录 xampp简介xampp的作用xampp的安装方法Apache简介Apache的作用 本文主要介绍使用xampp软件包在windows server系统下&#xff0c;快速部署自己的网站。 xampp简介 XAMPP是一款基于Apache、MySQL、PHP和Perl的开源Web服务器软件包。XAMPP支持多个操作系统&#xff0c;包括W…

go写文件后出现大量NUL字符问题记录

目录 背景 看看修改前 修改后 原因 背景 写文件完成后发现&#xff1a; size明显也和正常的不相等。 看看修改前 buf : make([]byte, 64) buffer : bytes.NewBuffer(buf)// ...其它逻辑使得buffer有值// 打开即将要写入的文件&#xff0c;不存在则创建 f, err : os.Open…

MySQL数据备份

一、逻辑备份 备份的是建表、建库、插入等操作所执行SQL语句&#xff0c;适用于中小型数据库&#xff0c;效率相对较低。 本质&#xff1a;导出的是SQL语句文件 优点&#xff1a;不论是什么存储引擎&#xff0c;都可以用mysqldump备成SQL语句 缺点&#xff1a;速度较慢&…

Mysql分布式集群部署---MySQL集群Cluster将数据分成多个片段,每个片段存储在不同的服务器上

1.1 目的 部署MysqlCluster集群环境 1.2 MySQL集群Cluster原理 1 数据分片 MySQL集群Cluster将数据分成多个片段&#xff0c;每个片段存储在不同的服务器上。这样可以将数据负载分散到多个服务器上&#xff0c;提高系统的性能和可扩展性。 2. 数据同步 MySQL集群Cluster使…

前端面试理论题

1.什么是js&#xff1f;js的特点是什么&#xff1f; js&#xff1a; 是一种直译式脚本语言&#xff0c;是一种动态类型、弱类型、基于原型的高级语言。 特点&#xff1a;简单性&#xff1b;安全性&#xff1b;动态性&#xff1b;跨平台性&#xff1b; 简单性&#xff1a;它的…

ElasticSearch之Close index API

关闭指定的索引。 索引关闭之后&#xff1a; 停止对读、写操作的响应。停止检索操作的响应。在索引关闭前&#xff0c;允许执行的操作&#xff0c;关闭之后均不允许执行。ElasticSearch取消对索引的相关维护操作&#xff0c;包含内存中的数据结构&#xff0c;以及保存在存储中…

c++--运算符重载

1.重载的运算符 (1).重载运算符函数的参数数量与该运算符作用的运算对象数量一样多。 (2).除了重载的函数调用运算符operator()之外&#xff0c;其他重载运算符不能含有默认实参。 (3).对一个重载的运算符&#xff0c;其优先级和结合律与对应的内置运算符保持一致。 (4).当一个…

2022年全国大学生数据分析大赛医药电商销售数据分析求解全过程论文及程序

2022年全国大学生数据分析大赛 医药电商销售数据分析 原题再现&#xff1a; 问题背景   20 世纪 90 年代是电子数据交换时代&#xff0c;中国电子商务开始起步并初见雏形&#xff0c;随后 Web 技术爆炸式成长使电子商务处于蓬勃发展阶段&#xff0c;目前互联网信息碎片化以…

破解研发人员的绩效考核难题

当下的中国正处于产业结构调整的重要转型时期。创新成为当下企业寻求稳健和长远发展必不可少的关键。要建立属于自己的企业特色&#xff0c;开发出属于自己的产品和服务并在激励竞争的市场下求得生存和发展&#xff0c;企业的自主研发活动已经越来越重视。纵观那些世界500强企业…

【Centos】在CentOS上搭建Squid代理服务器详解

在CentOS上搭建Squid代理服务器详解 一、安装 首先&#xff0c;通过yum包管理工具安装Squid代理服务器和httpd-tools&#xff08;用于生成密码文件&#xff09;&#xff1a; yum install squid -y yum install httpd-tools -y二、生成密码文件 创建用于存储用户认证信息的目…

杨辉三角

打印n行杨辉三角&#xff0c;n<10。 输入格式: 直接输入一个小于10的正整数n。 输出格式: 输出n行杨辉三角&#xff0c;每个数据输出占4列。 输入样例: 5输出样例: 11 11 2 11 3 3 11 4 6 4 1代码长度限制 16 KB 时间限制 400 ms 内存限制 6…

css实现正六边形嵌套圆心

要实现一个正六边形嵌套圆心&#xff0c;可以使用CSS的::before和::after伪元素以及border-radius属性。以下是具体的解析和代码&#xff1a; 使用::before和::after伪元素创建正六边形。设置正六边形的背景色。使用border-radius属性使正六边形的内角为60度。在正六边形内部创…

【matlab程序】matlab画子图的多种样式

【matlab程序】matlab画子图的多种样式

js判断是否是搜索引擎(蜘蛛)、爬虫

/*** description 对象$BP&#xff0c;包含三个方法和一个属性*/var $BP {// 第一&#xff1a;通过ua判断是非爬虫/*** description 判断是否为爬虫* returns {boolean} 返回布尔值&#xff0c;true表示不是爬虫&#xff0c;false表示是爬虫*/isBot() {return /bot|googlebot|…

【漏洞复现】速达软件存在任意文件上传

漏洞描述 速达软件全系产品存在任意文件上传漏洞,未经身份认证的攻击者可以通过此漏洞上传恶意后门文件,执行任意指令,造成服务器失陷 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、…

fastadmin列表头部按钮批量上传视频

上传界面通过layui生成 index.html <a href="{:url(video/piliangadd)}" class="btn btn-success btn-piliangadd btn-dialog {:$auth->check(video/piliangadd)?:hide}" title="批量上传" ><i class="fa fa-plus">…

flask之邮件发送

一、安装Flask-Mail扩展 pip install Flask-Mail二、配置Flask-Mail 格式&#xff1a;app.config[参数]值 三、实现方法 3.1、Mail类 常用类方法 3.2、Message类&#xff0c;它封装了一封电子邮件。构造函数参数如下&#xff1a; flask-mail.Message(subject, recipient…

求二维数组周边元素的累加和

求一个二维数组周边元素的累加和。 输入一个二维数组的行数m&#xff08;m<10&#xff09;&#xff0c;列数n(n<10)&#xff0c;二维数组的各元素值。输出周边元素之和。 输入格式: 输入的第一行为矩阵的行数和列数&#xff0c;从第二行开始&#xff0c;为矩阵元素的输…

【产品经理】业务问题的诊断:由简入繁,渐进成长

产品的价值在于解决了用户的问题。业务问题的诊断&#xff0c;发现用户的真实问题&#xff0c;拨云见日。 产品的价值在于解决了一定范围的问题&#xff0c;让整体的业务运转、参与角色都能收到因为产品的贡献而产生的价值或便利。微信解决了熟人之间的沟通问题&#xff0c;支付…

[C#]文件的读写-1

参考代码: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text;namespace FileDemo {class Program{static void Main(string[] args){//1.FileStream fFile.Open("cs.bin",FileMode.Create); //如果文件存在…