首页 > 其他分享 >基于外卖业务的数据可视化入门到精通-Vue3.0+EChart4.0

基于外卖业务的数据可视化入门到精通-Vue3.0+EChart4.0

时间:2024-09-03 10:48:33浏览次数:17  
标签:vue components color height width EChart4.0 Vue3.0 外卖 rem

基于外卖业务的数据可视化入门到精通-Vue3.0+EChart4.0

项目分辨率响应式创建 

项目顶部信息条创建 

页面主体创建 

 

接项目搭建与初始化之后继续对项目进行部署工作

项目展示:

        技术栈:

1. vue3.0+vue-router4.0+axios 2. flex 布局 3. LESS 4. rem 屏幕适配 5. echarts5.0

项目分辨率响应式创建 

        对插件进行下载

npm i -S lib-flexible
 

        到main.js中引用插件

import 'lib-flexible/flexible.js'
 

         修改flexible配置

        找到71行到74行并修改默认的分辨率配置 

 
  1.   // 修改成为
  2.   // 最小400px,最大适配2560px
  3.   if (width / dpr < 400) {
  4.   width = 400 * dpr;
  5.   } else if (width / dpr > 2560) {
  6.   width = 2560 * dpr;
  7.   }
  8.   // 设置成24等份,设计稿时1920px的,这样1rem就是80px (1920/24=80)方便使用
  9.   var rem = width / 24;
 
 

         Visual Studio Code中下载rem工具

        我们在写代码的时候发现如果我们都根据80px 为 1rem 在编写代码的时候转换非常的麻烦 所以我们可以 在 vscode 中安装一个 cssrem 的插件帮助我们进行转换 这样一来开发过程中会更加的方便

项目顶部信息条创建 

        将准备好的背景图放到目录下

        把图片方法assets文件夹中 在app.vue中设置背景图 

 
  1.   body{
  2.   background: url('~@/assets/bg.jpg') top center no-repeat;
  3.   }
 
 

        查看页面背景图的效果

        安装 lessless-loader 两个包 

npm install less less-loader --save-dev
 

        设置标题文字样式

 
  1.   <template>
  2.   <div>
  3.   <header>
  4.   <h1>可视化演练</h1>
  5.   </header>
  6.   </div>
  7.   </template>
  8.    
  9.    
  10.   <style lang="less">
  11.   header{
  12.   height: 100px;
  13.   width: 100%;
  14.   background-color: rgba(0,0,255,0.2);
  15.   }
  16.   h1{
  17.   font-size: 2rem;
  18.   text-align: center;
  19.   color: white;
  20.   line-height: 6rem;
  21.   }
  22.   </style>
 
 

         页面中查看效果

页面主体创建 

        创建大容器

 
  1.   <template>
  2.   <div>
  3.   <header>
  4.   <h1>可视化项目</h1>
  5.   </header>
  6.   <!--大容器-->
  7.   <section class="cot">
  8.    
  9.   </section>
  10.   </div>
  11.   </template>
  12.    
  13.    
  14.   <style lang="less">
  15.   header{
  16.   height: 1rem;
  17.   width: 100%;
  18.   /* 设置一个半透明淡蓝色 */
  19.   background-color: rgba(0, 0, 255, .2);
  20.   /* 把标题文字样式设置 */
  21.   h1{
  22.   font-size: .375rem;
  23.   color:#fff;
  24.   text-align: center;
  25.   line-height: 1rem;
  26.   }
  27.   }
  28.   // 主体容器样式
  29.   .cot{
  30.   // 这里就不需要设置使用rem了 使用rem那么页面就会根据html根结点大小改变而改变了
  31.   min-width: 1200px;
  32.   max-width: 2048px;
  33.   margin: 0 auto;
  34.   // 盒子上10px 左右10px 下0的外边距
  35.   padding: .125rem .125rem 0;
  36.   // 测试完成看到样式就删除掉
  37.   height: 500px;
  38.   background-color: gray;
  39.   }
  40.   </style>
 
 

 左中右容器

        接下来我们可以创建左中右这三个部分。那么他们的占比分别是3 5 3 这个时候我们可以使用flex布局来 分割他们所占的区块大小

 
  1.   <!--大容器-->
  2.   <section class="cot">
  3.   <!-- 左容器 -->
  4.   <section class='itemLeft'>1</section>
  5.   <!-- 中容器 -->
  6.   <section class='itemCenter'>2</section>
  7.   <!-- 右容器 -->
  8.   <section class='itemRight'>3</section>
  9.   </section>
 
 

         容器样式设置

 
  1.   .itemLeft,.itemRight{
  2.   flex: 3;
  3.   }
  4.   .itemCenter{
  5.   flex: 5;
  6.   }
 
 

        创建容器组件 

        ·在组件目录下自定义新建一个组件文件

 

        设置样式与插槽

 
  1.   <template>
  2.   <div class='itemPage'>
  3.   <!-- 设置插槽 -->
  4.   <slot>
  5.    
  6.   </slot>
  7.   </div>
  8.   </template>
  9.    
  10.   <script>
  11.   export default {
  12.    
  13.   }
  14.   </script>
  15.    
  16.   <style>
  17.    
  18.   .itemPage{
  19.   /* 高度410px */
  20.   height: 5.125rem;
  21.   border: 1px solid blue;
  22.   /* 外边距20px */
  23.   margin: .25rem;
  24.   background-color: rgba(13, 130, 255, 0.851);
  25.   }
  26.   </style>
 
 

在主页面组件的引用

 
  1.   <template>
  2.   <div>
  3.   <header>
  4.   <h1>可视化项目</h1>
  5.   </header>
  6.   <!--大容器-->
  7.   <section class="cot">
  8.   <!-- 左容器 -->
  9.   <section class='itemLeft'>
  10.   <ItemPage />
  11.   <ItemPage />
  12.   </section>
  13.   <!-- 中容器 -->
  14.   <section class='itemCenter'></section>
  15.   <!-- 右容器 -->
  16.   <section class='itemRight'>
  17.   <ItemPage />
  18.   <ItemPage />
  19.   </section>
  20.   </section>
  21.   </div>
  22.   </template>
  23.    
  24.   <script>
  25.   import ItemPage from "@/components/itemPage.vue"
  26.   export default {
  27.   //调用组件
  28.   components:{
  29.   ItemPage
  30.   }
  31.   }
  32.   </script>
 
 

        每个区块内容插入容器槽口

        一共4个图标 使用一个公共的组件容器 所以我们编写这4个不同图表的组件并且 分别显示 

对四个槽口写入内容

 
  1.   <template>
  2.   <div>
  3.   <h2>A</h2>
  4.   <div class="chart">
  5.   容纳后期的图表
  6.   </div>
  7.   </div>
  8.   </template>
  9.    
  10.   <script>
  11.   export default {
  12.   }
  13.   </script>
  14.    
  15.   <style scoped>
  16.   h2{
  17.   /* 48像素 */
  18.   height: 0.6rem;
  19.   color: #fff;
  20.   line-height: 0.6rem;
  21.   text-align: center;
  22.   font-size: 0.25rem;
  23.   }
  24.   .chart{
  25.   /* 高度360 */
  26.   height: 4.5rem;
  27.   background-color: gray;
  28.   }
  29.   </style>
 
 

        在homePage.vue中引用调用使用这4个组件

 
  1.   <template>
  2.   <div>
  3.   <header>
  4.   <h1>可视化项目</h1>
  5.   </header>
  6.   <!--大容器-->
  7.   <section class="cot">
  8.   <!-- 左容器 -->
  9.   <section class='itemLeft'>
  10.   <ItemPage>
  11.   <itmeA/>
  12.   </ItemPage>
  13.    
  14.   <ItemPage>
  15.   <itmeB/>
  16.   </ItemPage>
  17.   </section>
  18.   <!-- 中容器 -->
  19.   <section class='itemCenter'></section>
  20.   <!-- 右容器 -->
  21.   <section class='itemRight'>
  22.   <ItemPage>
  23.   <itmeC/>
  24.   </ItemPage>
  25.    
  26.   <ItemPage>
  27.   <itmeD/>
  28.   </ItemPage>
  29.   </section>
  30.   </section>
  31.   </div>
  32.   </template>
  33.    
  34.   <script>
  35.   import ItemPage from "@/components/itemPage.vue"
  36.    
  37.   import itmeA from "@/components/itmeA.vue"
  38.   import itmeB from "@/components/itmeB.vue"
  39.   import itmeC from "@/components/itmeC.vue"
  40.   import itmeD from "@/components/itmeD.vue"
  41.    
  42.   export default {
  43.   //调用组件
  44.   components:{
  45.   ItemPage,
  46.   itmeA,
  47.   itmeB,
  48.   itmeC,
  49.   itmeD
  50.   }
  51.   }
  52.   </script>
 
 

         中间地图区域容器样式

        在views 文件夹下的 homePage 。 vue 中设置中间区域容器样式
 
  1.   .itemCenter{
  2.   // 高度840px
  3.   height: 10.5rem;
  4.   border: 1px solid blue;
  5.   // 内边距10px
  6.   padding: 0.125rem;
  7.   // 外边距20px
  8.   margin: 0.25rem;
  9.   }
 
 

 

标签:vue,components,color,height,width,EChart4.0,Vue3.0,外卖,rem
From: https://www.cnblogs.com/web1123/p/18394125

相关文章

  • [苍穹外卖]-01项目搭建
    整体介绍1.软件开发流程需求分析->需求文档,产品原型设计->UI设计,数据库设计,接口设计编码->项目代码,单元测试测试->测试用例,测试报告上线运维->软件环境安装,配置2.角色分工项目经理->任务分配,进度控制产品经理->进行需求调研,输出需求文档,产品原......
  • 基于Node.js+vue外卖鲜花系统(程序+论文+开题报告)-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网的飞速发展和人们生活节奏的加快,线上消费已成为现代生活不可或缺的一部分,尤其是在追求即时满足与个性化体验的今天,传统鲜花行业正经历着深刻的变......
  • 苍穹外卖项目DAY10
    苍穹外卖项目DAY101、SpringTask1.1、介绍SpringTask是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑定位:定时任务框架作用:定时自动执行某段Java代码只要是需要定时处理的场景都可以使用SpringTask1.2、cron表达式cron表示式其实就是一个......
  • 基于Node.js+vue外卖系统(程序+论文+开题报告)-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的迅猛发展和智能设备的普及,人们的生活方式正经历着深刻的变革。其中,外卖服务作为互联网+餐饮行业的典型代表,以其便捷性、多样性和高效性迅速......
  • (苍穹外卖)day02 员工管理 分类管理
    目录一.新增员工1.需求分析和设计2.代码开发3.功能测试4.代码完善二.员工的分页查询1.需求分析和设计2.代码开发3.功能测试与代码完善三.启用禁用员工账号 1.需求分析和设计 2.代码开发四.编辑员工1.需求分析和设计2.代码开发五.导入模块功能代码一.新......
  • 基于java+ssm+vue的外卖点餐微信小程序
    ......
  • 基于java+ssm+vue的外卖微信小程序
    ......
  • 稳定外卖霸王餐系统的重要性!怎么选择合适的系统
    外卖霸王餐系统在当前的外卖市场中具有重要的意义,主要体现在以下几个方面: **一、对消费者的重要性**1.节省开支 -对于经常点外卖的消费者来说,外卖霸王餐系统提供了一种切实可行的省钱方式。通过参与霸王餐活动,你可以在不降低外卖品质的前提下,减少外卖费用支出,从而在一定程......
  • 华科送寝外卖评价
    停更ing一、逐趣校园篇1.铁锅锅(1)类型:盖浇饭(2)味道:2/5(3)价格:3/5(指数越高越贵)(4)总评:2/5评价:口味淡,口感生,分量少,不推荐。2.川味小火锅(1)类型:火锅(2)味道:3/5(3)价格:2.5/5(指数越高越贵)(4)总评:3/5评价:中规中矩,分量还行二、饿了吗篇1.意味深长麻辣烫(1......
  • Javaweb+jsp外卖点餐系统+源码(三)
    第三章详细设计3.1 用户的主界面用户的主菜单界面。页面如图3-1所示:图3-1 用户的主界面3.2用户注册页面用户在首次登录外卖订餐系统管理页面时,需要在注册页面需要完成个人信息的注册。页面如图3-2所示:图3-2外卖订餐系统的注册页面3.3用户登录界面用户通......