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 相关文章推荐
springboot+vue实现文件上传下载
Nov 17 Vue.js
vue在图片上传的时候压缩图片
Nov 18 Vue.js
vue单元格多列合并的实现
Nov 26 Vue.js
在vue中动态修改css其中一个属性值操作
Dec 07 Vue.js
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
vue中父子组件的参数传递和应用示例
Jan 04 Vue.js
使用vue3重构拼图游戏的实现示例
Jan 25 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
详解vue身份认证管理和租户管理
May 25 Vue.js
springboot+VUE实现登录注册
May 27 Vue.js
Vue3如何理解ref toRef和toRefs的区别
Feb 18 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求小于1000的所有水仙花数的代码
2012/01/10 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
Python中的heapq模块源码详析
2019/01/08 Python
python实现石头剪刀布程序
2021/01/20 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
Python pip 常用命令汇总
2020/10/19 Python
利用Python优雅的登录校园网
2020/10/21 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
简单英文演讲稿
2014/01/01 职场文书
新员工欢迎词
2014/01/12 职场文书
《充气雨衣》教学反思
2014/04/07 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers