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中音频wavesurfer.js的使用方法
Feb 20 Vue.js
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
Vue——前端生成二维码的示例
Dec 19 Vue.js
vue使用require.context实现动态注册路由
Dec 25 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
Vue仿Bibibili首页的问题
Jan 21 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
开发一个封装iframe的vue组件
Mar 29 Vue.js
Vue+Element UI实现概要小弹窗的全过程
May 30 Vue.js
Vue深入理解插槽slot的使用
Aug 05 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
Function eregi is deprecated (解决方法)
2013/06/21 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
linux下编译安装memcached服务
2014/08/03 PHP
php使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
PHP处理会话函数大总结
2015/08/05 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
JS动画效果代码3
2008/04/03 Javascript
jQuery Ajax之load()方法
2009/10/12 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
小程序实现密码输入框
2020/11/16 Javascript
python 实现插入排序算法
2012/06/05 Python
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
Python collections模块使用方法详解
2019/08/28 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Python socket处理client连接过程解析
2020/03/18 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
DataReader和DataSet的异同
2014/12/31 面试题
历史系自荐信范文
2013/12/24 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
班主任工作实习计划
2015/01/16 职场文书
MySQL sql_mode的使用详解
2021/05/08 MySQL