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 相关文章推荐
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
vue使用echarts画组织结构图
Feb 06 Vue.js
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
Feb 23 Vue.js
深入理解Vue的数据响应式
May 15 Vue.js
vue3中provide && inject的使用
Jul 01 Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
vue使用Google Recaptcha验证的实现示例
Aug 23 Vue.js
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
vue实现书本翻页动画效果实例详解
Apr 08 Vue.js
vue中的可拖拽宽度div的实现示例
Apr 08 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校验ISBN码的函数代码
2011/01/17 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
python实现大量图片重命名
2020/03/23 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
50岁生日感言
2014/01/23 职场文书
反四风对照检查材料
2014/09/22 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
政协委员个人总结
2015/03/03 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
2015元旦感言
2015/12/09 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python
MySQL分区路径子分区再分区
2022/04/13 MySQL