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中如何自定义右键菜单详解
Dec 08 Vue.js
vue中使用echarts的示例
Jan 03 Vue.js
vue+vant 上传图片需要注意的地方
Jan 03 Vue.js
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
vue完美实现el-table列宽自适应
May 08 Vue.js
深入理解Vue的数据响应式
May 15 Vue.js
Vue3中的Refs和Ref详情
Nov 11 Vue.js
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
Vue OpenLayer测距功能的实现
Apr 20 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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python hash每次调用结果不同的原因
2019/11/21 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
python常量折叠基础知识点讲解
2021/02/28 Python
animation和transition的区别
2020/10/12 HTML / CSS
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
行政部主管岗位职责
2013/12/28 职场文书
简短大学毕业感言
2014/01/18 职场文书
微信营销策划方案
2014/02/24 职场文书
满月酒主持词
2014/03/27 职场文书
中学生励志演讲稿
2014/04/26 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
幸福家庭标语
2014/06/27 职场文书
合作经营协议书范本
2014/09/16 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
mysql 带多个条件的查询方式
2021/06/05 MySQL
进行数据处理的6个 Python 代码块分享
2022/04/06 Python