首页 > 其他分享 >寒假生活指导17

寒假生活指导17

时间:2024-01-25 12:34:54浏览次数:27  
标签:loading 17 指导 quota enterpriseName 寒假 error balance data

<template>
    <div class="carbon-quota-page">
      <!-- 页面标题 -->
      <h1>碳额度查询</h1>
  
      <!-- 查询表单区域 -->
      <el-form v-if="!loading" :model="form" ref="queryForm" label-width="80px" @submit.prevent="fetchQuota">
        <el-form-item label="企业ID:" prop="enterpriseId" required>
          <el-input id="enterprise-id" v-model.trim="form.enterpriseId" placeholder="样例:1或者2"></el-input>
        </el-form-item>
        
        <el-form-item>
          <el-button type="primary" @click="fetchQuota">查询碳排放配额</el-button>
        </el-form-item>
      </el-form>
  
      <!-- 加载提示 -->
      <p v-if="loading">正在加载数据...</p>

      <div class="carbon-quota-container" >
        <div class="carbon-quota-chart">
            <div ref="chart" style="width: 600px; height: 400px;"></div> <!-- 创建一个用于放置图表的div -->
      </div>

      <!-- 结果展示区域 -->
      <div v-if="quota && !loading">
    <el-card class="carbon-quota-card">
      <h2 slot="header">企业碳排放配额余额</h2>
      <el-table :data="[quota]" style="width: 100%">
        <el-table-column prop="enterpriseName" label="当前企业" width="180"></el-table-column>
        <el-table-column prop="balance" label="剩余碳排放配额(吨)" align="center" width="180">
          <template slot-scope="scope">{{ scope.row.balance.toFixed(2) }}</template>
        </el-table-column>
      </el-table>
    </el-card>
  </div>
  </div>


      <!-- 错误信息提示 -->
      <p v-if="error" class="error">{{ error }}</p>
    </div>
  </template>
  
  <script>
import * as echarts from 'echarts';
  import { Form, FormItem, Input, Button } from 'element-ui';
  
  export default {
    components: {
      ElForm: Form,
      ElFormItem: FormItem,
      ElInput: Input,
      ElButton: Button,
    },
    mounted() {
        this.$nextTick(() => {
      this.initChart();
    });
  },
    data() {
      return {
        loading: false,
        form: {
          enterpriseId: '',
        },
        quota: null,
        error: '',
        data:[0,0,0,0,0]
      };
    },
    methods: {
      async fetchQuota() {
        this.loading = true;
        try {
            if(this.form.enterpriseId == '1'){
                this.quota = {
            "enterpriseName": "企业1",
            "balance": 12345.67, // 假设单位为吨
          };
          this.data=[1500,1200,1600,1100,1800],
          this.error = '';
            }else if(this.form.enterpriseId == '2'){
                this.quota = {
            "enterpriseName": "企业2",
            "balance": 5162.67, // 假设单位为吨
          };
          this.data=[900,1200,1100,1500,1300],
          this.error = '';
        }else{
            this.quota = {
                "enterpriseName": "",
            "balance": 0, // 假设单位为吨
          };
            this.error = '查询失败,未找到该公司。';
            this.data=[0,0,0,0,0]
          }
          this.initChart();
        } catch (error) {
          this.error = '查询失败,请检查企业ID是否正确或稍后再试。';
        } finally {
          this.loading = false;
        }
      },
      initChart() {
      const chartDom = this.$refs.chart;
      const chartInstance = echarts.init(chartDom);

      // 设置图表配置项
      chartInstance.setOption({
    title: {
      text: '企业碳排放趋势',
    },
    tooltip: {},
    xAxis: {
      data: ['1月', '2月', '3月', '4月', '5月'],
    },
    yAxis: {},
    series: [
      {
        name: '剩余碳排放量',
        type: 'line', // 将此处的 'bar' 改为 'line' 类型以显示折线图
        data: this.data,
      },
    ],
    // 添加工具箱
    toolbox: {
      show: true,
      feature: {
        saveAsImage: {}, // 保存图片功能
        dataView: {}, // 数据视图
        magicType: { // 图表切换(包括折线图、柱状图等)
          type: ['line', 'bar']
        },
        restore: {}, // 恢复默认设置
        dataZoom: {}, // 数据区域缩放
        brush: {} // 区域选择
      }
    },
  });
    },
    },
  };
  </script>
  
  <style scoped>
  /* 添加相应的样式 */
  .error {
    color: red;
  }
  .carbon-quota-page {}
.carbon-quota-container {
  display: flex;
}

.carbon-quota-chart {
  width: 50%;
  margin-right: 20px;
}
  </style>

碳额度的发放页面。

标签:loading,17,指导,quota,enterpriseName,寒假,error,balance,data
From: https://www.cnblogs.com/syhxx/p/17986905

相关文章

  • 大三寒假学习进度笔记15
    今日整理了一下本次项目中使用到的技术 首先数字人方面主要使用到的是辅助神经场(nerf)算法,有关此算法的具体讲解辐射神经场算法——NeRF算法详解-CSDN博客之后是NLP,NLP的全称是NatuarlLanguageProcessing,中文意思是自然语言处理,是人工智能领域的一个重要方向自然语言处理(NL......
  • Codeforces Round 170 (Div. 1)A. Learning Languages并查集
    如果两个人会的语言中有共同语言那么他们之间就可以交流,并且如果a和b可以交流,b和c可以交流,那么a和c也可以交流,具有传递性,就容易联想到并查集,我们将人和语言看成元素,一个人会几种语言的话,就将这些语言和这个人所在的集合合并,最后求一下人一共在几个连通块中,连通块的个数-1就是答案,......
  • 寒假生活指导16
    importrequestsurl='http://www.baidu.com'response=requests.get(url=url)#一个类型和六个属性#Response类型print(type(response))#设置响应的编码格式response.encoding='utf-8'#以字符串的形式来返回了网页的源码print(response.text)#返回一......
  • 寒假日记[2024]
    友联MDISL-寒假日记wo2011-寒假日记Won_DER-2024寒假日记shine-2024寒假衍生寒假颓废记前言MD,这学期颓的要死,感觉啥事没干(就算做过啥也忘了),所以我痛定思痛,无论颓也好,学也好,还是记录一下我寒假干的破事吧/fad/fad1.9等等这不是寒假吧(管他的)今天还好,做了些树形D......
  • Error Code: 1171. All parts of a PRIMARY KEY must be NOT NULL
    今天建表时候发现报错了:CREATETABLEt3(c1intDEFAULTNULL,c2intDEFAULTNULL,c3intNOTNULL,c4intDEFAULTNULL,PRIMARYKEY(c1,c2,c3))ENGINE=InnoDBDEFAULTCHARSET=utf8mb3ErrorCode:1171.AllpartsofaPRIMARYKEYmustbeNOTNULL;ifyounee......
  • 洛谷题单指南-模拟和高精度-P1786 帮贡排序
    原题链接:https://www.luogu.com.cn/problem/P1786题意解读:此题比较简单,模拟+排序即可解决。需要注意的是,当帮贡或者等级相同时,都要保持原来的顺序,因此需要记录每个人的编号,便于排序。话不多说,直接上代码。100分代码:#include<bits/stdc++.h>usingnamespacestd;constint......
  • 寒假集训Day7
    图今天开始了图论,讲了一些基础内容首先是存图存图这里讲的跟当时高中讲的有些区别,高中当时说了一个链式前向星存图现在没讲,不过没关系,反正讲了也不会,先把今天讲的说了一个是非常简单的邻接矩阵存图一个是利用二维vector,每一个vector的行首存初始点,然后一点一点把去向的点往......
  • 2024最新iOS17.3微信分身详解分享
    微信是目前最流行的社交软件之一,拥有庞大的用户群体。然而,对于一些需要同时使用多个微信账号的用户来说,使用官方版微信就显得有些不方便。iOS分身微信软件可以解决这个问题,它可以让用户在同一台设备上同时登录多个微信账号,从而实现工作生活两不误。iOS分身微信软件的优势iOS分身微......
  • 寒假怎么制定学习计划高效?可以给自己制定学习计划的软件
    随着寒冬的降临,寒假也随之而至。对于中小学生和大学生们来说,这是一个放松身心、挖掘兴趣、提升学业的黄金时期。然而,众多学子纷纷表示,寒假在家中往往面临太多诱惑,难以按时完成每天的学习目标。那么如何应对这个问题呢?一款智能的学习计划制定软件或许可以成为解决之道。对于那些......
  • 寒假集训Day6
    Jellyfishandapplehttps://www.luogu.com.cn/problem/CF1875C这道题使用的是贪心首先对于多于m的苹果个数,可以直接分给m个人,所以先把n对m取模,然后考虑剩下的苹果然后考虑不能分的情况如果求出m和n的最大公约数,把m和n同时除以最大公约数,那么得到的人数应该是2k,否则的话就说......