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项目利用axios请求接口下载excel
Nov 17 Vue.js
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
vue实现图书管理系统
Dec 29 Vue.js
Vue看了就会的8个小技巧
Jan 21 Vue.js
Vue仿Bibibili首页的问题
Jan 21 Vue.js
Vue中的nextTick作用和几个简单的使用场景
Jan 25 Vue.js
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 Vue.js
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
vue项目proxyTable配置和部署服务器
Apr 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
Javascript函数的参数
2015/07/16 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
python文件写入实例分析
2015/04/08 Python
python僵尸进程产生的原因
2017/07/21 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
使用tensorflow实现线性svm
2018/09/07 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
python数据挖掘需要学的内容
2019/06/23 Python
python扫描线填充算法详解
2020/02/19 Python
利用python画出AUC曲线的实例
2020/02/28 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
台湾专柜女包:KINAZ
2019/12/26 全球购物
会计的岗位职责
2014/03/15 职场文书
学生安全责任书范本
2014/07/24 职场文书
标准单位租车协议书
2014/09/23 职场文书
中学生思想品德评语
2014/12/31 职场文书
介绍信怎么写
2015/05/05 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技