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 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
详解vue实现坐标拾取器功能示例
Nov 18 Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 Vue.js
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
Vue 实例中使用$refs的注意事项
Jan 29 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
Mar 01 Vue.js
Vue-router编程式导航的两种实现代码
Mar 04 Vue.js
vue引入Excel表格插件的方法
Apr 28 Vue.js
Vue项目中如何封装axios(统一管理http请求)
May 02 Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 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学习资料汇总与网址
2007/03/16 PHP
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
php查询ip所在地的方法
2014/12/05 PHP
php数据序列化测试实例详解
2017/08/12 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
python实现图书管理系统
2018/03/12 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
int在python中的含义以及用法
2019/06/27 Python
Python常用库大全及简要说明
2020/01/17 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
英国在线药房:Express Chemist
2019/03/28 全球购物
迟到检讨书1000字
2014/01/15 职场文书
法制宣传教育方案
2014/05/09 职场文书
教师师德考核自我评价
2014/09/13 职场文书
组织生活会发言材料
2014/12/15 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
win10下go mod配置方式
2021/04/25 Golang
如何利用React实现图片识别App
2022/02/18 Javascript
Python开发简易五子棋小游戏
2022/05/02 Python