基于若依框架(分离版)开发志愿填报指导系统(下)

这是基于若依框架(分离版)开发志愿填报指导系统最后一篇文章了。希望大家点赞、评论支持作者。

5.志愿填报指导项目图表功能模块

新建myIndex.vue文件实现大学录取情况图标展示功能:
在这里插入图片描述
1.前端vue组件化开发,表格组件、图标组件等。

创建招生记录数据表格组件ScoreTable.vue,组件需要接收数据值为props: ["title", "tableData"]

<template>
  <div class="editor-container" style="width: 560px">
    <el-tag>{{ title }}</el-tag>
    <el-table 
    :data="tableData"
    height="250" border style="width: 100%">
      <el-table-column prop="lqpc" label="录取批次" width="110">
      </el-table-column>
      <el-table-column prop="year" label="年份" width="80"> </el-table-column>
      <el-table-column prop="lowsore" label="最低分" width="80">
      </el-table-column>
      <el-table-column prop="maxsore" label="最高分" width="80"> </el-table-column>
       <el-table-column prop="rs" label="录取人数" width="80"> </el-table-column>
      <el-table-column prop="memo" label="备注" width="100"> </el-table-column>
    </el-table>
  </div>
</template>
<script>
import resize from "./mixins/resize";
export default {
  props: ["title", "tableData"],
  mixins: [resize],
  data() {
    return {
    };
  },
};
</script>
<style lang="scss" scoped>
.editor-container {
  padding: 5px;
  background-color: rgb(240, 242, 245);
  position: relative;
}
</style>

主页使用自定义组件ScoreTable.vue

import ScoreTable from "./dashboard/ScoreTable.vue";

绑定表格数据

 <el-form :inline="true">
          <el-form-item v-for="item in this.myData.tableData" :key="item.title">
              <score-table :title="item.title" :tableData="item.children"/>
          </el-form-item>
 </el-form>

后端返回数据格式:

{
    "msg": "操作成功",
    "code": 200,
    "data": {
        "tableData": [
            {
                "children": [
                    {
                        "schoolName": "清华大学",
                        "lqtype": "普通理科",
                        "lqpc": "本科一批",
                        "rs": "32",
                        "lowsore": "675",
                        "maxsore": "702",
                        "year": "2021"
                    },
                    {
                        "schoolName": "清华大学",
                        "lqtype": "普通理科",
                        "lqpc": "本科一批",
                        "rs": "30",
                        "lowsore": "688",
                        "maxsore": "717",
                        "year": "2020"
                    }
                ],
                "title": "普通理科_本科一批"
            }
        ]
    }
}

2.后端针对查询的数据List<实体类>进行分组对数据处理为Echart所需的数据格式。

Echart的数据格式我们使用key-value方式的数据格式。
在这里插入图片描述

数据库中查到的数据源
在这里插入图片描述

目标数据源
在这里插入图片描述
需要在service中进行数据转化,这里就不做展示了。

前段设置初始化echart代码段,需要映射数据纬度到X、Y轴上。

  this.chart.setOption({
        dataset: {
          // 用 dimensions 指定了维度的顺序。直角坐标系中,如果 X 轴 type 为 category,
          // 默认把第一个维度映射到 X 轴上,后面维度映射到 Y 轴上。
          // 如果不指定 dimensions,也可以通过指定 series.encode
          // 完成映射,参见后文。
          dimensions: [
            "zyname",
            "2020value",
            "2021value",
          ],
          source: chartData,
        },
        legend: {},
        xAxis: [
          {
            type: "category",
            axisLabel: {
              interval: 0,
              rotate: 40,
            },
          },
        ],
        grid: {
          left: 10,
          right: 10,
          bottom: 20,
          top: 30,
          containLabel: true,
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow",
            label: {
              show: true,
            },
          },
        },
        yAxis: {},
        series: [
          {
            name: "2020招生人数",
            seriesLayoutBy: "row",
            smooth: true,
            type: "bar",
            // data: expectedData,
            animationDuration: 2800,
            animationEasing: "cubicInOut",
          },
          {
            name: "2021招生人数",
            smooth: true,
            type: "bar",
            seriesLayoutBy: "row",
            // data: actualData,
            animationDuration: 2800,
            animationEasing: "quadraticOut",
          },
        ],
      });
    

在这里插入图片描述

6.基于若依框架开发高考填报项目总结

1.在若依框架新建项目如何调用这个我踩了一下坑,好在找到解决方案。

2.后端构造Echart数据需要的格式,这个项目里我们都是利用java对stream分组操作进行数据构造。

3.利用Element-ui的组件进行开发,真的是简单。

如:图片滚动展示 Carousel 走马灯
在这里插入图片描述

学科类的展示 Collapse 折叠面板

多级下拉框级联的使用Cascader 级联选择器
在这里插入图片描述
整个项目真正枯燥的是数据库的数据收集,数据的整理,数据表的建立,在项目开发过程中不断的重复修正循环往复。总结出来也没有多少知识点。做到开发后期大先遇到这些问题主要原因在项目开始时应整理好自己项目需求。开发过程中清楚若依分离版框架开发流程,掌握了为Echart提供数据整理的方式。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错效率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。您是否在找一套合适后台管理系统。您是否在找一套代码易读易懂后台管理系统。那么,现在若依来了。诚意奉献之作若依是给刚出生的女儿取的名字 寓意:你若不离不弃,我必生死相依内置功能用户管理:用户是系统操作者。部门管理:配置系统组织机构。岗位管理:岗位是用户所属职务。菜单管理:配置系统菜单(支持控制到按钮)。角色管理:角色菜单权限分配。字典管理:对系统中经常使用的一些较为固定的数据进行维护。操作日志:系统操作日志记录(含异常)。登录日志:系统登录情况记录(含异常)。在线用户:当前系统中活跃用户状态监控。连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。为何选择若依是一个完全响应式,基于Bootstrap3.3.6最新开发的主题。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。拥有良好的代码结构,层次结构清晰。内置一系列基础功能。操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到按钮。提供在线功能代码生成工具,提高开发效率及质量。提供常用工具类封装,日志、国际化、缓存、验证、字典等数据。兼容目前最流行浏览器(IE7+、Chrome、Firefox)手机移动端也支持。技术选型1、后端核心框架:Spring Boot安全框架:Apache Shiro模板引擎:Thymeleaf持久层框架:MyBatis数据库连接池:Druid缓存框架:Ehcache日志管理:SLF4J工具类:Apache Commons FastjsonPOJO:Lombok2、前端框架:Bootstrap数据表格:Bootstrap Table客户端验证:JQuery Validation树结构控件:zTree弹出层:layer3、平台服务器中间件:SpringBoot内置数据库支持:目前仅提供MySql数据库的支持,但不限于数据库开发环境:Java、Eclipse、Maven、Git
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yxlalm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值