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打开其他项目页面并传入数据详解
Nov 25 Vue.js
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
vue el-upload上传文件的示例代码
Dec 21 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
如何管理Vue中的缓存页面
Feb 06 Vue.js
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
解决vue $http的get和post请求跨域问题
Jun 07 Vue.js
vue实现拖拽交换位置
Apr 07 Vue.js
Vue3实现简易音乐播放器组件
Aug 14 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
JS作用域链详解
2017/06/26 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
Python中的rfind()方法使用详解
2015/05/19 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python实现决策树分类
2018/08/30 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
python 实现超级玛丽游戏
2020/11/25 Python
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
数学检讨书1000字
2014/02/24 职场文书
请假条格式范文
2014/04/10 职场文书
公司周年庆典标语
2014/10/07 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
学生会自荐信
2019/05/16 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android
Redis实战高并发之扣减库存项目
2022/04/14 Redis
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android