工厂生产数据展示基本布局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使…

c++--运算符重载

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

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

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

css实现正六边形嵌套圆心

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

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

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

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

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

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…

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

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

【React + Typescript】使用WebPack包管理、各种扩展插件组成的初始模板,开源协议:CC-BY-4.0

React Typescript Webpack 模板 模板展示项目结构使用的部分扩展包页面配置代码Layout 公共容器组件路由Jspackage.json 开源模板下载TIP 模板展示 项目结构 使用的部分扩展包 &#x1f4c2; System ├── &#x1f4c2; Plugin │ ├── &#x1f4c4; file-loader | 在处…

idea连接mysql详细讲解

IDEA连接mysql又报错&#xff01;Server returns invalid timezone. Go to Advanced tab and set serverTimezone prope 前进的道路充满荆棘。 错误界面 IDEA连接mysql&#xff0c;地址&#xff0c;用户名&#xff0c;密码&#xff0c;数据库名&#xff0c;全都配置好了&…

Mybatis异常org.apache.ibatis.binding.BindingException: Parameter “xxx“ not found

问题1: 可能是 mybatis 的xml&#xff0c;对应的mapper接口缺少Param注解&#xff0c;或者Param注解的value与xml的不一致 切记只要参数不是一个集合类型向下图或者多个参数值就要加Param注解 问题2: mybatis的xml&#xff0c;存在多余的注释。注释中包含#{}、${}。注释掉的代…

行云海CMS SQL注入漏洞复现

0x01 产品简介 行云海cms是完全开源的一套CMS内容管理系统,简洁,易用,安全,稳定,免费。 0x02 漏洞概述 行云海cms中ThinkPHP在处理order by排序时可利用key构造SQL语句进行注入,LtController.class.php中发现传入了orderby未进行过滤导致sql注入。攻击者除了可以利用 SQL 注入…

数字艺术语言processing初步

文章目录 示例程序刷新逻辑二维对象 Processing是专门用于艺术设计的编程语言&#xff0c;可以实现非常炫酷的图形和功能&#xff0c;比如下面这张联合国用的图就是用Processing编写的&#xff0c;本文简要介绍以下Processing&#xff0c;并列出其二维对象。 示例程序 第一步&…

删除PPT文件的备注内容

解决方案的工作经常汇报以及经常做ppt的回报工作&#xff0c;但是删除备注很痛苦。 在网上或者拿历史的ppt文件修改后&#xff0c;需要删除ppt备注内容以及删除ppt个人文件信息的办法&#xff1a; 现象&#xff1a;很多备注信息&#xff0c;需要删除 解决办法一、 文件--信息-…

Linux Docker 图形化工具 Portainer远程访问

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 结束语 前言 Portainer是一个轻量级的容器管理工具&#xff0c;可以通过Web界面对Docker容器进行管理和监控。它提供了…

nodejs微信小程序+python+PHP就业求职招聘信息平台的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…