Vue ECharts实现机舱座位选择展示功能


Posted in Vue.js onMay 15, 2022

Vue ECharts实现机舱座位选择展示功能

var ROOT_PATH =
  'https://cdn.jsdelivr.net/gh/apache/echarts-website@asf-site/examples';
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;
$.get(ROOT_PATH + '/data/asset/geo/flight-seats.svg', function (svg) {
  echarts.registerMap('flight-seats', { svg: svg });
  const takenSeatNames = ['26E', '26D', '26C', '25D', '23C', '21A', '20F'];
  option = {
    tooltip: {},
    geo: {
      map: 'flight-seats',
      roam: true,
      selectedMode: 'multiple',
      layoutCenter: ['50%', '50%'],
      layoutSize: '95%',
      tooltip: {
        show: true
      },
      itemStyle: {
        color: '#fff'
      },
      emphasis: {
        itemStyle: {
          color: undefined,
          borderColor: 'green',
          borderWidth: 2
        },
        label: {
          show: false
        }
      },
      select: {
        itemStyle: {
          color: 'green'
        },
        label: {
          show: false,
          textBorderColor: '#fff',
          textBorderWidth: 2
        }
      },
      regions: makeTakenRegions(takenSeatNames)
    }
  };
  function makeTakenRegions(takenSeatNames) {
    var regions = [];
    for (var i = 0; i < takenSeatNames.length; i++) {
      regions.push({
        name: takenSeatNames[i],
        silent: true,
        itemStyle: {
          color: '#bf0e08'
        },
        emphasis: {
          itemStyle: {
            borderColor: '#aaa',
            borderWidth: 1
          }
        },
        select: {
          itemStyle: {
            color: '#bf0e08'
          }
        }
      });
    }
    return regions;
  }
  myChart.setOption(option);
  // Get selected seats.
  myChart.on('geoselectchanged', function (params) {
    const selectedNames = params.allSelected[0].name.slice();
    // Remove taken seats.
    for (var i = selectedNames.length - 1; i >= 0; i--) {
      if (takenSeatNames.indexOf(selectedNames[i]) >= 0) {
        selectedNames.splice(i, 1);
      }
    }
    console.log('selected', selectedNames);
  });
});
option && myChart.setOption(option);

到此这篇关于Vue ECharts实现机舱座位选择展示的文章就介绍到这了!


Tags in this post...

Vue.js 相关文章推荐
vue+iview实现分页及查询功能
Nov 17 Vue.js
8个非常实用的Vue自定义指令
Dec 15 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
vue3弹出层V3Popup实例详解
Jan 04 Vue.js
vue动态设置路由权限的主要思路
Jan 13 Vue.js
Vue实现圆环进度条的示例
Feb 06 Vue.js
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
vue实现移动端div拖动效果
Mar 03 Vue.js
vue自定义右键菜单之全局实现
Apr 09 Vue.js
vue的项目如何打包上线
Apr 13 Vue.js
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
Vue组件化(ref,props, mixin,.插件)详解
vue postcss-px2rem 自适应布局
May 15 #Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
vue使用watch监听属性变化
Apr 30 #Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
vue项目如何打包之项目打包优化(让打包的js文件变小)
关于vue-router-link选择样式设置
Apr 30 #Vue.js
You might like
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
node使用request请求的方法
2019/12/20 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
python操作CouchDB的方法
2014/10/08 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
python实现学生信息管理系统
2020/04/05 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python numpy 反转 reverse示例
2019/12/04 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
Python3.8安装Pygame教程步骤详解
2020/08/14 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
风险评估实施方案
2014/03/09 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
2016新年慰问信范文
2015/03/25 职场文书