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的mixin策略
Nov 19 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
详解Vue2的diff算法
Jan 06 Vue.js
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
详解vue中v-for的key唯一性
May 15 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
Vue OpenLayer 为地图绘制风场效果
Apr 24 Vue.js
Vue2项目中对百度地图的封装使用详解
Jun 16 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
1 Tube Radio
2021/03/02 无线电
apache mysql php 源码编译使用方法
2012/05/03 PHP
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
ExtJS的拖拽效果示例
2013/12/09 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
从零学Python之引用和类属性的初步理解
2014/05/15 Python
判断网页编码的方法python版
2016/08/12 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
python抽取指定url页面的title方法
2018/05/11 Python
python实现图片插入文字
2019/11/26 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
原材料检验岗位职责
2014/03/15 职场文书
保密承诺书
2014/03/27 职场文书
观看信仰心得体会
2014/09/04 职场文书
孙振耀退休感言
2015/08/01 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL