vue3项目结合Echarts实现甘特图(可拖拽、选中等操作)
效果图:
图一:选中操作
图二:上下左右拖拽操作
本案例在echarts示例机场航班甘特图的基础上修改
- 封装ganttEcharts组件,测试数据 airport-schedule.json
- ganttEcharts代码: 直接复制粘贴可测
-
<template><!-- Echarts 甘特图 --><div ref="progressChart" class="w100 h100"></div> </template>
<script lang="ts" name="ganttEcharts" setup> import { useMessage } from '/@/hooks/message'; import * as echarts from 'echarts'; import ganttData from './airport-schedule.json'; import lockUrl from '/@/assets/images/gantt/lock.png'; // import dragUrl from '/@/assets/images/gantt/drag.png'; const progressChart = ref(); // echarts 的实例不应该是‘响应式’的 因为它可能会影响对内部模型属性的访问,并带来一些意想不到的问题 let myChart: any = null; const option: any = ref({}); // 定义常量 const HEIGHT_RATIO = 0.6; const DIM_TIME = {DIM_TIME_ARRIVAL: 1,DIM_TIME_DEPARTURE: 2, }; const DIM_CATEGORY = {DIM_CATEGORY_INDEX: 0, }; const DATA_ZOOM = {DATA_ZOOM_X_INSIDE_INDEX: 1,DATA_ZOOM_Y_INSIDE_INDEX: 3,DATA_ZOOM_AUTO_MOVE_SPEED: 0.2,DATA_ZOOM_AUTO_MOVE_DETECT_AREA_WIDTH: 30,DATA_ZOOM_AUTO_MOVE_THROTTLE: 30, }; let _draggingEl: any; let _dropRecord: any; let _dropShadow: any; let _draggingTimeLength: any; const _cartesianXBounds: any = reactive([]); const _cartesianYBounds: any = reactive([]); const _autoDataZoomAnimator: any = ref(); const _draggingRecord: any = ref(); const _draggingCursorOffset = ref([0, 0]); const _draggable = ref(false); let _rawData: any = {}; // 全局变量来跟踪选中的图形元素 let selectedElementId: any = null; onMounted(() => {nextTick(() => {_rawData = { ...ganttData };myChart = echarts.init(progressChart.value);window.addEventListener('resize', resizeChart);initChart();}); }); onUnmounted(() => window.removeEventListener('resize', resizeChart)); const initChart = () => {myChart.setOption((option.value = makeOption()));initDrag(); }; // 浏览器窗口大小变化,图表大小自适应 function resizeChart() {if (myChart) {myChart.resize();} } function makeOption() {return {tooltip: {},toolbox: {right: 10,top: 0,itemSize: 20,feature: {myDrag: {show: true,title: '编辑',icon: 'path://M990.55 380.08 q11.69 0 19.88 8.19 q7.02 7.01 7.02 18.71 l0 480.65 q-1.17 43.27 -29.83 71.93 q-28.65 28.65 -71.92 29.82 l-813.96 0 q-43.27 -1.17 -72.5 -30.41 q-28.07 -28.07 -29.24 -71.34 l0 -785.89 q1.17 -43.27 29.24 -72.5 q29.23 -29.24 72.5 -29.24 l522.76 0 q11.7 0 18.71 7.02 q8.19 8.18 8.19 18.71 q0 11.69 -7.6 19.29 q-7.6 7.61 -19.3 7.61 l-518.08 0 q-22.22 1.17 -37.42 16.37 q-15.2 15.2 -15.2 37.42 l0 775.37 q0 23.39 15.2 38.59 q15.2 15.2 37.42 15.2 l804.6 0 q22.22 0 37.43 -15.2 q15.2 -15.2 16.37 -38.59 l0 -474.81 q0 -11.7 7.02 -18.71 q8.18 -8.19 18.71 -8.19 l0 0 ZM493.52 723.91 l-170.74 -170.75 l509.89 -509.89 q23.39 -23.39 56.13 -21.05 q32.75 1.17 59.65 26.9 l47.94 47.95 q25.73 26.89 27.49 59.64 q1.75 32.75 -21.64 57.3 l-508.72 509.9 l0 0 ZM870.09 80.69 l-56.13 56.14 l94.72 95.9 l56.14 -57.31 q8.19 -9.35 8.19 -21.05 q-1.17 -12.86 -10.53 -22.22 l-47.95 -49.12 q-10.52 -9.35 -23.39 -9.35 q-11.69 -1.17 -21.05 7.01 l0 0 ZM867.75 272.49 l-93.56 -95.9 l-380.08 380.08 l94.73 94.73 l378.91 -378.91 l0 0 ZM322.78 553.16 l38.59 39.77 l-33.92 125.13 l125.14 -33.92 l38.59 38.6 l-191.79 52.62 q-5.85 1.17 -12.28 0 q-6.44 -1.17 -11.11 -5.84 q-4.68 -4.68 -5.85 -11.7 q-2.34 -5.85 0 -11.69 l52.63 -192.97 l0 0 Z',onclick: onDragSwitchClick,},},},dataZoom: [{type: 'slider',xAxisIndex: 0,filterMode: 'weakFilter',height: 15,bottom: 0,start: 0,end: 40,handleSize: '80%',showDetail: false,},{type: 'inside',id: 'insideX',xAxisIndex: 0,filterMode: 'weakFilter',start: 0,end: 40,zoomOnMouseWheel: false,moveOnMouseMove: true,},{type: 'slider',yAxisIndex: 0,zoomLock: true,width: 10,right: 10,top: 70,bottom: 20,start: 96,end: 100,handleSize: 0,showDetail: false,show: false,},{type: 'inside',id: 'insideY',yAxisIndex: 0,start: 96,end: 100,zoomOnMouseWheel: false,moveOnMouseMove: true,moveOnMouseWheel: true,},],grid: {show: true,top: 70,bottom: 20,left: 100,right: 20,backgroundColor: '#fff',borderWidth: 0,},legend: {show: false,},xAxis: {type: 'time',position: 'top',axisLabel: {formatter: function (value: any) {let date = new Date(value);let mm = ('0' + (date.getMonth() + 1)).slice(-2);let dd = ('0' + date.getDate()).slice(-2);let hh = date.getHours();let text = '';if (hh >= 7 && hh <= 14) {text = '早班';} else if (hh >= 15 && hh <= 22) {text = '中班';} else if (hh == 23 || (hh >= 0 && hh <= 6)) {text = '夜班';}return text + '\n' + mm + '-' + dd + '\n' + hh + ':00';},},maxInterval: 3600 * 1000,minInterval: 3600 * 1000,// axisLabel: {// formatter: '{MM}-{dd}\n{hh}:00', // 得到的 label 形如:{yyyy}-{MM}-{dd} => '2020-12-02'// },splitLine: {show: false,},axisLine: {show: false,},axisTick: {show: false,},},yAxis: {axisTick: { show: false },splitLine: { show: false },axisLine: { show: false },axisLabel: { show: false },min: 0,max: _rawData.parkingApron.data.length,},series: [{id: 'flightData',type: 'custom',renderItem: renderGanttItem,dimensions: _rawData.flight.dimensions,encode: {x: [DIM_TIME.DIM_TIME_ARRIVAL, DIM_TIME.DIM_TIME_DEPARTURE],y: DIM_CATEGORY.DIM_CATEGORY_INDEX,tooltip: [DIM_CATEGORY.DIM_CATEGORY_INDEX, DIM_TIME.DIM_TIME_ARRIVAL, DIM_TIME.DIM_TIME_DEPARTURE],},data: _rawData.flight.data,// tooltip: {// formatter: (params: any) => {// console.log(params, 'params');// return '1234';// },// },},{type: 'custom',renderItem: renderAxisLabelItem,dimensions: _rawData.parkingApron.dimensions,encode: {x: -1,y: 0,},data: _rawData.parkingApron.data.map((item: any, index: any) => {return [index].concat(item);}),tooltip: {trigger: 'none', // 这将禁用 tooltip},},],}; } const renderGanttItem = (params: any, api: any) => {let categoryIndex = api.value(DIM_CATEGORY.DIM_CATEGORY_INDEX);let timeArrival = api.coord([api.value(DIM_TIME.DIM_TIME_ARRIVAL), categoryIndex]);let timeDeparture = api.coord([api.value(DIM_TIME.DIM_TIME_DEPARTURE), categoryIndex]);let coordSys = params.coordSys;_cartesianXBounds[0] = coordSys.x;_cartesianXBounds[1] = coordSys.x + coordSys.width;_cartesianYBounds[0] = coordSys.y;_cartesianYBounds[1] = coordSys.y + coordSys.height;let barLength = timeDeparture[0] - timeArrival[0];// Get the heigth corresponds to length 1 on y axis.let barHeight = api.size([0, 1])[1] * HEIGHT_RATIO;let x = timeArrival[0];let y = timeArrival[1] - barHeight;let flightNumber = api.value(3) + '';let flightNumberWidth = echarts.format.getTextRect(flightNumber).width;let text = barLength > flightNumberWidth + 40 && x + barLength >= 180 ? flightNumber : '';let rectNormal = clipRectByRect(params, {x: x,y: y,width: barLength,height: barHeight,});let rectVIP = clipRectByRect(params, {x: x,y: y,width: barLength / 2,height: barHeight,});let rectText = clipRectByRect(params, {x: x,y: y,width: barLength,height: barHeight,});return {type: 'group',id: 'group_' + flightNumber,children: [{type: 'rect',id: 'rect_normal_' + flightNumber,ignore: !rectNormal,shape: rectNormal,style: {fill: selectedElementId !== 'rect_normal_' + flightNumber ? '#343F97' : '#00A0D1',stroke: 'transparent', // 无边框},},// {// type: 'rect',// ignore: !rectVIP && !api.value(4),// shape: rectVIP,// style: { fill: '#F6AB41' },// },{type: 'rect',ignore: !rectText,shape: rectText,style: {fill: 'transparent',stroke: 'transparent',text: text,textFill: '#fff',},},],}; }; const renderAxisLabelItem = (params: any, api: any) => {let y = api.coord([0, api.value(0)])[1];if (y < params.coordSys.y + 5) {return;}return {type: 'group',position: [10, y],children: [{type: 'path',shape: {d: 'M0,0 L0,-20 L30,-20 C42,-20 38,-1 50,-1 L70,-1 L70,0 Z',x: 0,y: -20,width: 90,height: 20,layout: 'cover',},style: {fill: '#00C488',},},{type: 'text',style: {x: 24,y: -3,text: api.value(1),textVerticalAlign: 'bottom',textAlign: 'center',textFill: '#fff',},},{type: 'text',style: {x: 75,y: -2,textVerticalAlign: 'bottom',textAlign: 'center',text: api.value(2),textFill: '#000',},},{type: 'image',style: {x: 60,y: -26,image: api.value(2) == 'W' ? lockUrl : '',width: 24,height: 24,// opacity: 0.8,},},],}; }; function clipRectByRect(params: any, rect: any) {return echarts.graphic.clipRectByRect(rect, {x: params.coordSys.x,y: params.coordSys.y,width: params.coordSys.width,height: params.coordSys.height,}); } // 启用拖动 function onDragSwitchClick(model: any, api: any, type: any) {_draggable.value = !_draggable.value;myChart.setOption({dataZoom: [{id: 'insideX',disabled: _draggable.value,},{id: 'insideY',disabled: _draggable.value,},],toolbox: {feature: {myDrag: {title: _draggable.value ? '锁定' : '编辑',},},},});this.model.setIconStatus(type, _draggable.value ? 'emphasis' : 'normal'); } const initDrag = () => {_autoDataZoomAnimator.value = makeAnimator(dispatchDataZoom);// 添加点击事件监听器myChart.on('click', function (param: any) {if (param.seriesId === 'flightData' && param.seriesType === 'custom') {let elementId = param.data && param.data[3]; // 获取被点击数据点的ID(这里只是一个示例)selectedElementId = 'rect_normal_' + elementId;myChart.setOption({series: {id: 'flightData',data: _rawData.flight.data,},});}});// 当用户按下鼠标按钮时触发myChart.on('mousedown', function (param: any) {if (!_draggable.value || !param || param.seriesIndex == null) {return;}// Drag start_draggingRecord.value = {dataIndex: param.dataIndex,categoryIndex: param.value[DIM_CATEGORY.DIM_CATEGORY_INDEX],timeArrival: param.value[DIM_TIME.DIM_TIME_ARRIVAL],timeDeparture: param.value[DIM_TIME.DIM_TIME_DEPARTURE],};let style = {lineWidth: 2,fill: 'rgba(255,0,0,0.1)',stroke: 'rgba(255,0,0,0.8)',lineDash: [6, 3],};_draggingEl = addOrUpdateBar(_draggingEl, _draggingRecord.value, style, 100);_draggingCursorOffset.value = [_draggingEl.position[0] - param.event.offsetX, _draggingEl.position[1] - param.event.offsetY];_draggingTimeLength = _draggingRecord.value.timeDeparture - _draggingRecord.value.timeArrival;});// 当鼠标指针在元素上移动时触发myChart.getZr().on('mousemove', function (event: any) {if (!_draggingEl) {return;}let cursorX = event.offsetX;let cursorY = event.offsetY;// Move _draggingEl._draggingEl.attr('position', [_draggingCursorOffset.value[0] + cursorX, _draggingCursorOffset.value[1] + cursorY]);prepareDrop();autoDataZoomWhenDraggingOutside(cursorX, cursorY);});// 当用户释放鼠标按钮时触发myChart.getZr().on('mouseup', function () {// Dropif (_draggingEl && _dropRecord) {updateRawData() &&myChart.setOption({series: {id: 'flightData',data: _rawData.flight.data,},});}dragRelease();});// myChart.getZr().on('globalout', dragRelease);// 拖动释放-删除创造元素function dragRelease() {_autoDataZoomAnimator.value.stop();if (_draggingEl) {myChart.getZr().remove(_draggingEl);_draggingEl = null;}if (_dropShadow) {myChart.getZr().remove(_dropShadow);_dropShadow = null;}_dropRecord = _draggingRecord.value = null;}function addOrUpdateBar(el: any, itemData: any, style: any, z: any) {let pointArrival = myChart.convertToPixel('grid', [itemData.timeArrival, itemData.categoryIndex]);let pointDeparture = myChart.convertToPixel('grid', [itemData.timeDeparture, itemData.categoryIndex]);let barLength = pointDeparture[0] - pointArrival[0];let barHeight = Math.abs(myChart.convertToPixel('grid', [0, 0])[1] - myChart.convertToPixel('grid', [0, 1])[1]) * HEIGHT_RATIO;if (!el) {el = new echarts.graphic.Rect({shape: { x: 0, y: 0, width: 0, height: 0 },style: style,z: z,});myChart.getZr().add(el);}el.attr({shape: { x: 0, y: 0, width: barLength, height: barHeight },position: [pointArrival[0], pointArrival[1] - barHeight],});return el;}function prepareDrop() {// Check droppable place.let xPixel = _draggingEl.shape.x + _draggingEl.position[0];let yPixel = _draggingEl.shape.y + _draggingEl.position[1];let cursorData = myChart.convertFromPixel('grid', [xPixel, yPixel]);if (cursorData) {// Make drop shadow and _dropRecord_dropRecord = {categoryIndex: Math.floor(cursorData[1]),timeArrival: cursorData[0],timeDeparture: cursorData[0] + _draggingTimeLength,};let style = { fill: 'rgba(0,0,0,0.4)' };_dropShadow = addOrUpdateBar(_dropShadow, _dropRecord, style, 99);}}// This is some business logic, don't care about it.function updateRawData() {let flight_Data = _rawData.flight.data;let movingItem = flight_Data[_draggingRecord.value.dataIndex];// Check conflictfor (let i = 0; i < flight_Data.length; i++) {let dataItem = flight_Data[i];if (dataItem !== movingItem &&_dropRecord.categoryIndex === dataItem[DIM_CATEGORY.DIM_CATEGORY_INDEX] &&_dropRecord.timeArrival < dataItem[DIM_TIME.DIM_TIME_DEPARTURE] &&_dropRecord.timeDeparture > dataItem[DIM_TIME.DIM_TIME_ARRIVAL]) {useMessage().error('冲突!找一个空闲的空间吧!');return;}}// No conflict.movingItem[DIM_CATEGORY.DIM_CATEGORY_INDEX] = _dropRecord.categoryIndex;movingItem[DIM_TIME.DIM_TIME_ARRIVAL] = _dropRecord.timeArrival;movingItem[DIM_TIME.DIM_TIME_DEPARTURE] = _dropRecord.timeDeparture;return true;}function autoDataZoomWhenDraggingOutside(cursorX: any, cursorY: any) {// When cursor is outside the cartesian and being dragging,// auto move the dataZooms.let cursorDistX = getCursorCartesianDist(cursorX, _cartesianXBounds);let cursorDistY = getCursorCartesianDist(cursorY, _cartesianYBounds);if (cursorDistX !== 0 || cursorDistY !== 0) {_autoDataZoomAnimator.value.start({cursorDistX: cursorDistX,cursorDistY: cursorDistY,});} else {_autoDataZoomAnimator.value.stop();}}function dispatchDataZoom(params: any) {let option = myChart.getOption();let optionInsideX = option.dataZoom[DATA_ZOOM.DATA_ZOOM_X_INSIDE_INDEX];let optionInsideY = option.dataZoom[DATA_ZOOM.DATA_ZOOM_Y_INSIDE_INDEX];let batch: any = [];prepareBatch(batch, 'insideX', optionInsideX.start, optionInsideX.end, params.cursorDistX);prepareBatch(batch, 'insideY', optionInsideY.start, optionInsideY.end, -params.cursorDistY);batch.length &&myChart.dispatchAction({type: 'dataZoom',batch: batch,});function prepareBatch(batch: any, id: any, start: any, end: any, cursorDist: any) {if (cursorDist === 0) {return;}let sign = cursorDist / Math.abs(cursorDist);let size = end - start;let delta = DATA_ZOOM.DATA_ZOOM_AUTO_MOVE_SPEED * sign;start += delta;end += delta;if (end > 100) {end = 100;start = end - size;}if (start < 0) {start = 0;end = start + size;}batch.push({dataZoomId: id,start: start,end: end,});}}function getCursorCartesianDist(cursorXY: any, bounds: any) {let dist0 = cursorXY - (bounds[0] + DATA_ZOOM.DATA_ZOOM_AUTO_MOVE_DETECT_AREA_WIDTH);let dist1 = cursorXY - (bounds[1] - DATA_ZOOM.DATA_ZOOM_AUTO_MOVE_DETECT_AREA_WIDTH);return dist0 * dist1 <= 0? 0 // cursor is in cartesian: dist0 < 0? dist0 // cursor is at left/top of cartesian: dist1; // cursor is at right/bottom of cartesian}function makeAnimator(callback: any) {let requestId: any;let callbackParams: any;// Use throttle to prevent from calling dispatchAction frequently.callback = echarts.throttle(callback, DATA_ZOOM.DATA_ZOOM_AUTO_MOVE_THROTTLE);function onFrame() {callback(callbackParams);requestId = requestAnimationFrame(onFrame);}return {start: function (params: any) {callbackParams = params;if (requestId == null) {onFrame();}},stop: function () {if (requestId != null) {cancelAnimationFrame(requestId);}requestId = callbackParams = null;},};} }; </script>
4.airport-schedule.json测试数据:
{"parkingApron": {"dimensions": ["Name", "Type", "Near Bridge"],"data": [["AB94", "W", true],["AB95", "W", true],["AB96", "W", true],["AB97", "W", true],["AB98", "W", true],["AS3", "W", true],["AS4", "W", true],["AS5", "W", true],["AS6", "W", true],["AS7", "W", true],["AS8", "W", true],["A98", "U", true],["HU", "W", true],["HXK", "W", true],["O85", "W", true],["O86", "W", true],["O87", "W", true],["O88", "W", true],["O89", "W", true],["O90", "W", true],["O91", "W", true],["O92", "W", true],["O93", "X", true],["O94", "W", true],["O95", "W", true],["O96", "W", true],["O97", "W", true],["O98", "W", true],["S97", "W", true],["S98", "W", true],["WA94", "W", true],["WA95", "W", true],["WA96", "W", true],["WA97", "W", true],["WA98", "W", true],["WA", "W", true],["XA5", "W", true],["XA6", "W", true],["XA7", "W", true],["XA8", "W", true],["00", "X", true],["01", "X", true],["03", "X", true],["04", "X", true],["05", "X", true],["06", "Y", true],["07", "X", true],["08", "X", true],["09", "X", true],["10", "X", true],["11", "X", true],["12", "Y", true],["13", "X", true],["21", "X", true],["23", "W", true],["25", "W", true],["27", "X", true],["29", "W", true],["30", "W", true],["31", "X", true],["32", "W", true],["33", "W", true],["34", "X", true],["35", "W", true],["36", "X", true],["37", "X", true],["38", "X", true],["39", "X", true],["40", "W", true],["41", "X", true],["42", "X", true],["43", "X", true],["44", "X", true],["45", "W", true],["46", "W", true],["47", "W", true],["483", "X", true],["484", "X", true],["485", "X", true],["486", "X", true],["487", "X", true],["488", "X", true],["489", "X", true],["48", "W", true],["490", "X", true],["491", "X", true],["492", "X", true],["493", "X", true],["494", "X", true],["495", "X", true],["496", "X", true],["497", "X", true],["498", "X", true],["608", "X", true],["609O", "W", true],["609", "X", true],["60", "X", true],["61I", "X", true],["61O", "X", true],["610I", "W", true],["610O", "W", true],["610", "W", true],["611O", "W", true],["611", "X", true],["612I", "W", true],["612O", "W", true],["612", "X", true],["613", "X", true],["614O", "W", true],["614", "X", true],["615I", "W", true],["615O", "W", true],["615", "X", true],["616O", "W", true],["616", "X", true],["617I", "W", true],["617O", "W", true],["617", "X", true],["618O", "W", true],["618", "X", true],["619I", "W", true],["619O", "W", true],["619", "X", true],["61", "Y", true],["623", "X", true],["624", "X", true],["625", "W", true],["626", "X", true],["627", "W", true],["628", "X", true],["629", "X", true],["62", "X", true],["63I", "X", true],["630", "X", true],["631", "X", true],["632", "X", true],["633", "X", true],["634", "X", true],["635", "X", true],["636", "X", true],["63", "Y", true],["64", "X", true],["65I", "W", true],["65O", "W", true],["65", "X", true],["66I", "W", true],["66O", "W", true],["66", "X", true],["67I", "W", true],["67O", "W", true],["67", "X", true],["68", "X", true],["69I", "X", true],["69", "X", true],["70I", "X", true],["70O", "X", true],["70", "W", true],["71", "X", true],["72I", "X", true],["72O", "X", true],["72", "W", true],["73", "W", true],["760", "W", true],["761", "W", true],["762", "W", true],["763", "W", true],["764", "X", true],["765", "X", true],["766", "X", true],["767", "X", true],["768", "X", true],["769", "X", true],["770", "X", true],["771", "W", true],["772", "X", true],["773", "W", true],["774", "W", true],["775", "W", true],["776", "X", true],["777", "W", true],["778", "W", true],["779", "W", true],["780", "X", true],["781", "X", true],["782", "X", true],["783", "X", true],["784", "X", true],["785", "X", true],["786", "X", true],["787", "X", true],["788", "X", true],["789", "X", true],["790", "X", true],["791", "W", true],["792", "W", true]]},"flight": {"dimensions": ["头部", "开始时间", "结束时间", "Flight Number", "VIP", "Arrival Company", "Departure Company", "Arrival Line", "Departure Line"],"data": [[43, 1496840400000, 1496934000000, "M766OG", true, "QW", "QW", "XGF-HAC", "HAC-CFA", 1495360800000],[113, 1496840400000, 1496934000000, "Y3064", true, "AS", "AS", "KMS-HAC", "HAC-YPP", 1496123400000],[79, 1496840400000, 1496934000000, "Y4686", true, "WA", "WA", "RMX-DWH-HAC", "HAC-XTL", 1496744100000],[114, 1496840400000, 1496934000000, "Y4686", true, "WA", "WA", "RMX-DWH-HAC", "HAC-XTL", 1496744100000],[179, 1496924700000, 1496934000000, "Y4897", true, "AS", "AS", "MPT-HAC", "HAC-KVP", 1496916000000],[179, 1496840400000, 1496878800000, "Y4893", true, "AS", "AS", "STS-HAC", "HAC-STS", 1496828700000],[124, 1496916600000, 1496934000000, "Y3193", true, "AS", "AS", "GMZ-HAC", "HAC-HSV", 1496906100000],[124, 1496840400000, 1496934000000, "Y3683", true, "AS", "AS", "MGT-HAC", "HAC-YPP", 1496830500000],[197, 1496914200000, 1496934000000, "Y4890", true, "AS", "AS", "STS-HAC", "HAC-KET", 1496905500000],[197, 1496840400000, 1496882400000, "Y3846", true, "AS", "AS", "NRT-HAC", "HAC-XAC", 1496818800000],[171, 1496907300000, 1496934000000, "Y4328", true, "AS", "AS", "RXM-HAC", "HAC-MPT", 1496894100000],[171, 1496840400000, 1496875800000, "Y1334", true, "AS", "AS", "WOX-BGB-HAC", "HAC-GBM", 1496821200000],[169, 1496913600000, 1496934000000, "Y3703", true, "AS", "AS", "HSZ-HAC", "HAC-BXF", 1496904300000],[169, 1496840400000, 1496871900000, "Y8481", true, "AS", "AS", "RXM-HAC", "HAC-GZL", 1496807700000],[116, 1496901300000, 1496934000000, "Y4896", true, "AS", "AS", "KET-HAC", "HAC-SUV", 1496891400000],[116, 1496840400000, 1496880600000, "Y4620", true, "AS", "AS", "CRB-HAC", "HAC-DMA", 1496751900000],[121, 1496920200000, 1496934000000, "Y4223", true, "AS", "AS", "DFC-HAC", "HAC-MPT", 1496911800000],[121, 1496840400000, 1496874600000, "Y4974", true, "PB", "PB", "PNT-HAC", "HAC-PNT", 1496748000000],[38, 1496840400000, 1496934000000, "Y4263", true, "AS", "AS", "MPT-HAC", "HAC-GZL", 1496802600000],[119, 1496840400000, 1496875800000, "Y7649", true, "XA", "XA", "BMA-HAC", "HAC-MTY", 1496826900000],[132, 1496911500000, 1496934000000, "Y3021", true, "XA", "XA", "XPT-HAC", "HAC-MPT", 1496903700000],[199, 1496841000000, 1496891400000, "Y3021", true, "XA", "XA", "MPT-HAC", "HAC-XPT", 1496833200000],[178, 1496922900000, 1496934000000, "Y7649", true, "XA", "XA", "SUV-HAC", "HAC-ASZ-CRB", 1496914800000],[178, 1496843400000, 1496880000000, "Y8383", true, "XA", "XA", "SIY-MTY-HAC", "HAC-PSM-GBM", 1496821500000],[96, 1496927400000, 1496934000000, "Y7606", true, "XA", "XA", "PSM-HAC", "HAC-SAT", 1496920200000],[96, 1496840400000, 1496878200000, "Y7604", true, "XA", "XA", "XTJ-PSM-HAC", "HAC-WOX-BHJ", 1496820600000],[90, 1496874300000, 1496934000000, "Y7391", true, "BT", "BT", "XGF-HAC", "HAC-XGF", 1496865300000],[90, 1496840400000, 1496853000000, "Y7425", true, "BT", "BT", "XGF-HAC", "HAC-XGF", 1496778900000],[86, 1496840400000, 1496934000000, "Y1640", true, "XA", "XA", "KVP-HAC", "HAC-KVP", 1494367800000],[175, 1496840400000, 1496934000000, "Y4686", true, "WA", "WA", "RMX-DWH-HAC", "HAC-XTL", 1496744100000],[99, 1496903100000, 1496911500000, "M149UW", true, "UC", "UC", "RXM-HAC", "HAC-PRC", 1496887800000],[99, 1496845800000, 1496853000000, "M545KZ", true, "KL", "KL", "RXM-HAC", "HAC-MIG", 1496832000000],[46, 1496917200000, 1496917800000, "YNSP", true, "6V", "6V", "NZX-HAC", "HAC-NZX", 1496916000000],[46, 1496907900000, 1496908800000, "YNSR", true, "6V", "6V", "NZX-HAC", "HAC-NZX", 1496907000000],[46, 1496847900000, 1496867700000, "Y8228", true, "WA", "WA", "XWV-QMT-HAC", "HAC-ZXC-CRB", 1496830800000],[183, 1496841300000, 1496872200000, "Y1931", true, "SL", "SL", "HSZ-HAC", "HAC-HSZ", 1496831700000],[123, 1496916600000, 1496934000000, "Y7631", true, "XA", "XA", "BMA-HAC", "HAC-MTY", 1496907000000],[123, 1496843700000, 1496875800000, "Y7603", true, "XA", "XA", "FIX-DFS-HAC", "HAC-MZL", 1496818800000],[59, 1496857800000, 1496860800000, "Y7102", true, "BT", "BT", "CRB-HAC", "HAC-CRB", 1496847600000],[168, 1496916300000, 1496934000000, "Y3521", true, "XZ", "XZ", "WZC-HAC", "HAC-XGF", 1496909100000],[168, 1496840400000, 1496874300000, "Y7630", true, "XA", "XA", "OBT-SHM-HAC", "HAC-CRB-CMM", 1496813700000],[85, 1496915400000, 1496934000000, "Y4418", true, "SF", "SF", "XPT-HAC", "HAC-XPT", 1496907900000],[85, 1496894100000, 1496909100000, "Y8006", true, "AS", "AS", "XTJ-PSM-HAC", "HAC-OBR", 1496875200000],[85, 1496841600000, 1496877300000, "Y8422", true, "B1", "B1", "SOW-SVG-HAC", "HAC-SVG-SOW", 1496818800000],[84, 1496925600000, 1496934000000, "Y8497", true, "SF", "SF", "GBM-HAC", "HAC-STS-HSV", 1496914200000],[84, 1496906100000, 1496917800000, "Y3802", true, "AS", "AS", "RMX-HAC", "HAC-BYK", 1496893200000],[84, 1496840400000, 1496881800000, "Y1832", false, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496826300000],[42, 1496928900000, 1496934000000, "Y3089", true, "XA", "XA", "OQT-PNT-HAC", "HAC-OQT", 1496913300000],[42, 1496840400000, 1496885400000, "Y1424", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496824200000],[137, 1496868900000, 1496934000000, "Y7151", true, "AB", "AB", "XAC-HAC", "HAC-XAC", 1496860800000],[137, 1496840400000, 1496850000000, "Y7151", true, "AB", "AB", "XAC-HAC", "HAC-XAC", 1496774400000],[162, 1496913000000, 1496934000000, "Y4558", true, "AS", "AS", "DFC-HAC", "HAC-DFS-SVG", 1496903400000],[162, 1496840400000, 1496865900000, "Y3193", true, "AS", "AS", "XGF-HAC", "HAC-DCM", 1496829300000],[138, 1496927700000, 1496934000000, "Y8523", true, "AS", "AS", "HSV-HAC", "HAC-HSV", 1496912100000],[138, 1496840400000, 1496870400000, "Y4890", true, "AS", "AS", "MPT-HAC", "HAC-XAC", 1496829600000],[112, 1496931000000, 1496934000000, "Y8209", true, "NF", "NF", "WOF-PNT-HAC", "HAC-PNT-WOF", 1496908500000],[112, 1496840400000, 1496875500000, "Y4618", true, "AS", "AS", "FIX-HAC", "HAC-DFS-SVG", 1496820300000],[50, 1496899800000, 1496913000000, "M391FK", true, "4C", "4C", "WCY-HAC", "HAC-ZMX", 1496871600000],[91, 1496927700000, 1496934000000, "Y8289", true, "AS", "AS", "YPP-HAC", "HAC-SIY", 1496917800000],[61, 1496840400000, 1496871600000, "Y8157", true, "AS", "AS", "XTJ-HAC", "HAC-HBC", 1496819100000],[125, 1496842800000, 1496878500000, "Y4588", true, "AS", "AS", "XPT-HAC", "HAC-CRB", 1496834400000],[75, 1496931600000, 1496934000000, "Y3019", true, "WA", "WA", "OSD-ZEZ-HAC", "HAC-DFC-XTJ", 1496914200000],[75, 1496906400000, 1496920800000, "Y4677", true, "AS", "AS", "HSV-HAC", "HAC-MGT", 1496889900000],[75, 1496840400000, 1496878200000, "Y1020", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496831400000],[118, 1496919300000, 1496934000000, "Y8359", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496910600000],[118, 1496899800000, 1496909700000, "Y8026", true, "AS", "AS", "DFC-HAC", "HAC-CRB", 1496890800000],[118, 1496844900000, 1496865600000, "Y1352", true, "0X", "0X", "HSZ-HAC", "HAC-PSM-XTJ", 1496835600000],[76, 1496899200000, 1496903100000, "Y2626", true, "YP", "YP", "GHM-HAC", "HAC-GHM", 1496887500000],[76, 1496843100000, 1496876100000, "Y2047", false, "XZ", "XZ", "KVP-HAC", "HAC-KVP", 1496831100000],[44, 1496931300000, 1496934000000, "Y8327", true, "0X", "0X", "HSZ-HAC", "HAC-CRB", 1496922000000],[44, 1496903700000, 1496910600000, "Y1832", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496894700000],[44, 1496894400000, 1496898300000, "Y3521", true, "XZ", "XZ", "XGF-HAC", "HAC-WZC", 1496885400000],[44, 1496845200000, 1496866200000, "Y3017", true, "WA", "WA", "OSD-RJM-HAC", "HAC-XTL", 1496827800000],[73, 1496926800000, 1496934000000, "Y1020", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496917800000],[73, 1496898600000, 1496909100000, "Y3436", true, "AS", "AS", "BXF-HAC", "HAC-BGB-HSV", 1496889000000],[73, 1496875800000, 1496890800000, "Y7633", true, "XA", "XA", "GCM-HAC", "HAC-YUQ", 1496869500000],[73, 1496843400000, 1496871000000, "Y4312", true, "SF", "SF", "SZP-HAC", "HAC-CNM-CFA", 1496838900000],[128, 1496922000000, 1496934000000, "Y7710", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496912700000],[128, 1496904000000, 1496911800000, "Y4312", true, "SF", "SF", "CFA-CNM-HAC", "HAC-MPT", 1496888700000],[128, 1496890800000, 1496894400000, "Y8972", true, "0X", "0X", "HSZ-HAC", "HAC-HSZ", 1496881500000],[128, 1496840400000, 1496873100000, "Y3143", true, "AS", "AS", "CRB-HAC", "HAC-OQT", 1496823000000],[134, 1496840400000, 1496934000000, "Y6922", true, "Q4", "Q4", "SPT-HAC", "HAC-DFH", 1496722200000],[4, 1496922600000, 1496934000000, "Y8531", true, "XZ", "XZ", "KVP-HAC", "HAC-KVP", 1496910300000],[4, 1496905200000, 1496911800000, "Y4587", true, "AS", "AS", "DFC-HAC", "HAC-DFC", 1496895600000],[4, 1496886000000, 1496899200000, "Y7277", true, "SF", "SF", "XPT-HAC", "HAC-XGF", 1496878200000],[4, 1496850600000, 1496865900000, "Y0050", true, "KM", "KM", "XPT-HAC", "HAC-MPT", 1496843100000],[4, 1496840400000, 1496843400000, "Y8626", true, "SF", "SF", "GBM-HAC", "HAC-SZP", 1496827800000],[45, 1496933700000, 1496934000000, "Y3212", true, "SL", "SL", "OQT-YSB-HAC", "HAC-YSB-OQT", 1496918400000],[45, 1496891700000, 1496896800000, "Y3834", true, "AS", "AS", "KAR-HAC", "HAC-STS", 1496883000000],[45, 1496840400000, 1496881800000, "Y3498", true, "XA", "XA", "HSZ-HAC", "HAC-KVP", 1496827200000],[196, 1496918100000, 1496934000000, "Y2369", true, "WA", "WA", "SIY-SUV-HAC", "HAC-RJM-OSD", 1496896200000],[196, 1496894400000, 1496907300000, "Y3660", true, "XA", "XA", "MPT-HAC", "HAC-STS", 1496885700000],[196, 1496882400000, 1496886000000, "Y8087", true, "NU", "NU", "GHM-HAC", "HAC-GHM", 1496871000000],[54, 1496909400000, 1496918700000, "Y2599", true, "SF", "SF", "CMM-CRB-HAC", "HAC-XPT", 1496890200000],[54, 1496896200000, 1496903400000, "Y1762", true, "NF", "NF", "BMG-HSZ-HAC", "HAC-HSZ-BMG", 1496876400000],[54, 1496883900000, 1496889000000, "Y4224", true, "AS", "AS", "KVP-HAC", "HAC-KVP", 1496871900000],[54, 1496876400000, 1496880900000, "Y8180", true, "6F", "6F", "XGF-HAC", "HAC-XPT", 1496866800000],[54, 1496840400000, 1496867400000, "Y3692", true, "XA", "XA", "KVP-HAC", "HAC-XGF", 1496822400000],[78, 1496921100000, 1496934000000, "Y4612", true, "XZ", "XZ", "GHM-HAC", "HAC-GHM", 1496910000000],[78, 1496897100000, 1496908500000, "Y3088", true, "XA", "XA", "OQT-HAC", "HAC-ABR", 1496889000000],[78, 1496883300000, 1496886900000, "Y4786", true, "XZ", "XZ", "GHM-HAC", "HAC-GHM", 1496872200000],[78, 1496844600000, 1496870100000, "Y3568", true, "NF", "NF", "KET-HAC", "HAC-KET", 1496834700000],[198, 1496922600000, 1496928600000, "Y8784", true, "SF", "SF", "XTL-HAC", "HAC-SZP", 1496913600000],[198, 1496913600000, 1496917500000, "Y3643", true, "XA", "XA", "HSZ-HAC", "HAC-HSZ", 1496904000000],[198, 1496903700000, 1496907900000, "Y1200", true, "XZ", "XZ", "STS-HAC", "HAC-STS", 1496895300000],[198, 1496889000000, 1496893200000, "Y4890", true, "AS", "AS", "XAC-HAC", "HAC-STS", 1496880900000],[198, 1496879400000, 1496884200000, "Y2107", true, "XZ", "XZ", "XPT-HAC", "HAC-XPT", 1496871900000],[198, 1496842500000, 1496868300000, "Y3089", true, "XA", "XA", "OQT-PNT-HAC", "HAC-SZP", 1496826900000],[10, 1496925600000, 1496934000000, "Y4599", true, "AS", "AS", "FIX-HAC", "HAC-XPT", 1496906700000],[10, 1496918700000, 1496922300000, "Y8080", true, "XA", "XA", "CRB-HAC", "HAC-CRB", 1496909100000],[10, 1496910900000, 1496915100000, "Y2436", true, "PM", "PM", "HQD-HAC", "HAC-HQD", 1496899800000],[10, 1496901300000, 1496904900000, "Y3229", true, "6F", "6F", "XGF-HAC", "HAC-XGF", 1496892300000],[10, 1496888700000, 1496896200000, "Y8680", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496879700000],[10, 1496880300000, 1496883900000, "Y1460", true, "SL", "SL", "HSZ-HAC", "HAC-HSZ", 1496871300000],[10, 1496840400000, 1496876400000, "Y3436", true, "AS", "AS", "KET-QQM-HAC", "HAC-BXF", 1496825700000],[147, 1496921100000, 1496934000000, "Y3803", true, "AS", "AS", "SUV-HAC", "HAC-AZG", 1496913000000],[147, 1496912100000, 1496918100000, "Y3340", true, "XA", "XA", "XGF-HAC", "HAC-HBC", 1496903700000],[147, 1496895000000, 1496898600000, "Y1323", true, "XA", "XA", "SZP-HAC", "HAC-SZP", 1496890200000],[147, 1496887200000, 1496891400000, "Y4276", true, "HX", "HX", "GZL-HJW-HAC", "HAC-HJW-GZL", 1496871000000],[147, 1496878500000, 1496882400000, "Y4587", true, "AS", "AS", "XPT-HAC", "HAC-DFC", 1496871000000],[147, 1496844900000, 1496869500000, "Y3166", true, "AS", "AS", "OBR-HAC", "HAC-NRT", 1496834400000],[147, 1496840400000, 1496841300000, "Y3109", true, "NF", "NF", "MPT-HAC", "HAC-MPT", 1496829900000],[77, 1496926500000, 1496934000000, "Y8314", true, "AS", "AS", "MGT-HAC", "HAC-HBC", 1496916900000],[77, 1496919900000, 1496923500000, "Y8699", true, "NU", "NU", "XTJ-STS-HAC", "HAC-STS", 1496893500000],[77, 1496912400000, 1496917200000, "Y8367", true, "VF", "VF", "XGF-ABR-HAC", "HAC-ABR-XGF", 1496898300000],[77, 1496905500000, 1496908500000, "Y7379", true, "XA", "XA", "XTL-HAC", "HAC-XTL-SVG", 1496896800000],[77, 1496895600000, 1496899800000, "Y8242", true, "AS", "AS", "GHM-HAC", "HAC-MGT", 1496883900000],[77, 1496887800000, 1496892000000, "Y8614", true, "NF", "NF", "PNT-HAC", "HAC-PNT-OFN", 1496880000000],[77, 1496878500000, 1496882700000, "Y4599", true, "AS", "AS", "XGF-HAC", "HAC-FIX", 1496870400000],[77, 1496848200000, 1496868600000, "Y8501", true, "SF", "SF", "PST-FIX-HAC", "HAC-STS-HSV", 1496818800000],[77, 1496840400000, 1496841600000, "Y1658", true, "XA", "XA", "HBC-HAC", "HAC-HBC", 1496832300000],[1, 1496933400000, 1496934000000, "Y4638", true, "AS", "AS", "SZP-HAC", "HAC-SZP", 1496928900000],[1, 1496919600000, 1496923200000, "Y8483", true, "AS", "AS", "XTJ-BMG-HAC", "HAC-ASZ", 1496898300000],[1, 1496911200000, 1496916900000, "Y4343", true, "NU", "NU", "HSZ-HAC", "HAC-HSZ", 1496901300000],[1, 1496904600000, 1496908200000, "Y1460", true, "SL", "SL", "HSZ-HAC", "HAC-HSZ", 1496895900000],[1, 1496895900000, 1496899500000, "Y3428", true, "AS", "AS", "HSZ-HAC", "HAC-KET", 1496886300000],[1, 1496888100000, 1496892600000, "Y3086", true, "XA", "XA", "HSZ-HAC", "HAC-KVP", 1496879700000],[1, 1496879100000, 1496883000000, "Y3350", true, "AS", "AS", "MPT-HAC", "HAC-MPT", 1496871300000],[1, 1496850300000, 1496870400000, "Y3803", true, "AS", "AS", "BYK-HAC", "HAC-HQD", 1496842200000],[1, 1496840400000, 1496841300000, "Y1713", true, "KM", "KM", "XTL-HAC", "HAC-XTL", 1496828700000],[187, 1496930700000, 1496934000000, "Y8424", true, "WA", "WA", "GHM-SQQ-HAC", "HAC-SWT-SIY", 1496904600000],[187, 1496916900000, 1496923200000, "Y3279", true, "AS", "AS", "XPT-HAC", "HAC-PSM", 1496909400000],[187, 1496899800000, 1496907000000, "Y4603", true, "UN", "UN", "HSZ-HAC", "HAC-HSZ", 1496890800000],[187, 1496890800000, 1496895300000, "Y3720", true, "XA", "XA", "SIY-HAC", "HAC-SIY", 1496874000000],[187, 1496879100000, 1496882700000, "Y3896", true, "SF", "SF", "PNT-HAC", "HAC-MTY-GZL", 1496871900000],[187, 1496849700000, 1496874900000, "Y4897", true, "AS", "AS", "GMZ-HAC", "HAC-XPT", 1496839800000],[102, 1496923200000, 1496934000000, "Y8294", true, "WA", "WA", "XTJ-MPT-HAC", "HAC-MPT-XTJ", 1496902200000],[102, 1496904000000, 1496907900000, "Y1601", true, "NF", "NF", "GZL-MTY-HAC", "HAC-MTY-GZL", 1496887500000],[102, 1496898000000, 1496901600000, "Y4378", true, "XZ", "XZ", "GHM-HAC", "HAC-GHM", 1496886000000],[102, 1496891700000, 1496895900000, "Y1682", true, "SL", "SL", "HJQ-HAC", "HAC-HJQ", 1496886300000],[102, 1496881800000, 1496885700000, "Y8088", true, "NU", "NU", "XPT-HAC", "HAC-HSZ", 1496873700000],[102, 1496841900000, 1496874300000, "Y4894", true, "AS", "AS", "GBM-HAC", "HAC-SUV", 1496832000000],[170, 1496923800000, 1496927700000, "Y1577", true, "KM", "KM", "XTL-HAC", "HAC-XTL", 1496915100000],[170, 1496914500000, 1496919000000, "Y3042", true, "6F", "6F", "XPT-HAC", "HAC-XPT", 1496906700000],[170, 1496901600000, 1496905800000, "Y3846", true, "AS", "AS", "XAC-HAC", "HAC-GBM", 1496893200000],[170, 1496889900000, 1496896200000, "Y8059", true, "AS", "AS", "XPT-HAC", "HAC-CRB", 1496882400000],[170, 1496883000000, 1496886600000, "Y3393", true, "XZ", "XZ", "DFS-HAC", "HAC-DFS", 1496876400000],[195, 1496927100000, 1496934000000, "Y3660", true, "XA", "XA", "STS-HAC", "HAC-SZP", 1496919300000],[195, 1496914500000, 1496918100000, "Y8087", true, "NU", "NU", "GHM-HAC", "HAC-GHM", 1496902200000],[195, 1496903400000, 1496907900000, "Y1157", true, "GE", "GE", "OCZ-XGF-HAC", "HAC-XGF-OCZ", 1496877600000],[195, 1496897400000, 1496900400000, "Y3518", true, "GE", "GE", "OAB-XPT-HAC", "HAC-XPT-OAB", 1496878200000],[195, 1496889600000, 1496894100000, "Y3692", true, "XA", "XA", "XGF-HAC", "HAC-PLD-KVP", 1496880600000],[195, 1496880000000, 1496884200000, "Y1430", true, "NF", "NF", "MPT-HAC", "HAC-MPT", 1496872200000],[195, 1496847300000, 1496867400000, "Y1999", true, "0X", "0X", "OSD-ABR-HAC", "HAC-XPT", 1496830500000],[104, 1496932200000, 1496934000000, "Y4312", true, "SF", "SF", "MPT-HAC", "HAC-CNM-CFA", 1496924400000],[104, 1496915700000, 1496925900000, "Y2699", true, "WA", "WA", "WOX-OBT-HAC", "HAC-PSM", 1496896800000],[104, 1496899800000, 1496903700000, "Y2629", true, "PM", "PM", "MZB-IRA-HAC", "HAC-MZB", 1496880600000],[104, 1496893500000, 1496896200000, "Y3370", true, "XA", "XA", "PNT-HAC", "HAC-MPT", 1496885700000],[104, 1496882700000, 1496886300000, "Y4246", true, "MH", "MH", "HQD-HAC", "HAC-HQD", 1496871900000],[104, 1496846700000, 1496879400000, "Y8314", true, "AS", "AS", "BRS-HAC", "HAC-MGT", 1496839800000],[57, 1496932800000, 1496934000000, "Y8287", true, "AS", "AS", "XPT-HAC", "HAC-DFC", 1496924400000],[57, 1496920500000, 1496925000000, "Y4477", true, "SF", "SF", "MPT-HAC", "HAC-SZP", 1496912400000],[57, 1496911800000, 1496915700000, "Y7708", true, "NF", "NF", "DFC-HAC", "HAC-DFC", 1496902800000],[57, 1496900100000, 1496905200000, "Y1334", true, "AS", "AS", "GBM-HAC", "HAC-GZL", 1496890500000],[57, 1496886900000, 1496895000000, "Y4688", true, "WA", "WA", "MGT-PSM-HAC", "HAC-DWH-RMX", 1496872800000],[57, 1496879700000, 1496883300000, "Y4251", true, "XA", "XA", "BRD-HAC", "HAC-BRD", 1496871900000],[57, 1496847600000, 1496873100000, "Y3312", true, "XA", "XA", "XGF-HAC", "HAC-STS", 1496838900000],[74, 1496917200000, 1496920200000, "Y8383", true, "XA", "XA", "GBM-PSM-HAC", "HAC-MPT", 1496898600000],[74, 1496908500000, 1496913300000, "Y3617", true, "XZ", "XZ", "XGF-HAC", "HAC-XGF", 1496899800000],[74, 1496896800000, 1496902500000, "Y3309", true, "AS", "AS", "SIY-HAC", "HAC-XGF", 1496879400000],[74, 1496886900000, 1496890500000, "Y8063", true, "AS", "AS", "DFC-HAC", "HAC-MPT", 1496878200000],[74, 1496879100000, 1496883300000, "Y2968", true, "NF", "NF", "DFS-HAC", "HAC-DFS", 1496871600000],[74, 1496845200000, 1496871600000, "Y8058", true, "AS", "AS", "QFA-HAC", "HAC-DFC", 1496837700000],[191, 1496928600000, 1496934000000, "Y8653", true, "SF", "SF", "PDV-HAC", "HAC-WOX", 1496922900000],[191, 1496920500000, 1496924100000, "Y7608", true, "XA", "XA", "MMB-HAC", "HAC-WBT", 1496913300000],[191, 1496907900000, 1496912400000, "Y4657", true, "XZ", "XZ", "KVP-HAC", "HAC-KVP", 1496895600000],[191, 1496898300000, 1496902200000, "Y4893", true, "AS", "AS", "STS-HAC", "HAC-STS", 1496889900000],[191, 1496889900000, 1496894700000, "Y4429", true, "XZ", "XZ", "KVP-HAC", "HAC-KVP", 1496877600000],[191, 1496877900000, 1496884200000, "Y4746", true, "XA", "XA", "MMT-HAC", "HAC-STS", 1496872800000],[191, 1496843100000, 1496869800000, "Y8653", true, "SF", "SF", "QNF-WOX-HAC", "HAC-GVM-SVG", 1496819400000],[176, 1496921400000, 1496934000000, "Y7634", true, "XA", "XA", "OQT-MMT-HAC", "HAC-STS", 1496903400000],[176, 1496911200000, 1496915400000, "Y3013", true, "HX", "HX", "GZL-HAC", "HAC-GZL", 1496899800000],[176, 1496900400000, 1496904000000, "Y8388", true, "NF", "NF", "PSM-HAC", "HAC-PSM", 1496894100000],[176, 1496891400000, 1496895300000, "Y8523", true, "AS", "AS", "STS-HAC", "HAC-HSV", 1496883000000],[176, 1496878500000, 1496888100000, "Y3656", true, "XA", "XA", "PDV-HAC", "HAC-KVP", 1496872200000],[176, 1496842500000, 1496867100000, "Y8200", true, "SF", "SF", "CFA-HAC", "HAC-WOX", 1496833800000],[133, 1496929200000, 1496934000000, "Y8062", true, "AS", "AS", "XPT-HAC", "HAC-BMG-XTJ", 1496920800000],[133, 1496911500000, 1496917200000, "Y7654", true, "LJ", "LJ", "XPT-HAC", "HAC-XPT", 1496905500000],[133, 1496902500000, 1496906400000, "Y8477", true, "YP", "YP", "MMT-HAC", "HAC-GHM", 1496896800000],[133, 1496893200000, 1496898000000, "Y3318", true, "XA", "XA", "HSV-GZL-HAC", "HAC-GZL-HSV", 1496872800000],[133, 1496886600000, 1496890200000, "Y3703", true, "AS", "AS", "KVP-BRX-HAC", "HAC-HSZ", 1496867100000],[133, 1496880300000, 1496881800000, "Y7634", true, "XA", "XA", "STS-HAC", "HAC-MMT-OQT", 1496872200000],[133, 1496843400000, 1496867700000, "Y2168", true, "NU", "NU", "SIY-ULX-HAC", "HAC-STS-XTJ", 1496822400000],[82, 1496925900000, 1496934000000, "Y7632", true, "XA", "XA", "WWT-KET-HAC", "HAC-HSZ", 1496903400000],[82, 1496917200000, 1496921100000, "Y8076", true, "XA", "XA", "XTL-HAC", "HAC-XTL", 1496908200000],[82, 1496907600000, 1496913900000, "Y3639", true, "AS", "AS", "HSZ-HAC", "HAC-BRX-KVP", 1496898300000],[82, 1496896500000, 1496900100000, "Y8497", true, "SF", "SF", "CRB-HAC", "HAC-GBM", 1496886600000],[82, 1496883600000, 1496893500000, "Y3089", true, "XA", "XA", "SZP-HAC", "HAC-PNT-OQT", 1496879100000],[82, 1496875800000, 1496879400000, "Y7632", true, "XA", "XA", "SUV-HAC", "HAC-KET-WWT", 1496867400000],[82, 1496841300000, 1496870700000, "Y4383", true, "AS", "AS", "HSV-HAC", "HAC-MPT", 1496825700000],[189, 1496918400000, 1496934000000, "Y3166", true, "AS", "AS", "XTL-HAC", "HAC-STS", 1496910000000],[189, 1496907300000, 1496911200000, "Y4804", true, "XA", "XA", "PDV-HAC", "HAC-PDV", 1496901600000],[189, 1496900700000, 1496904600000, "Y0040", true, "XA", "XA", "XTJ-HAC", "HAC-XTJ", 1496884800000],[189, 1496890200000, 1496894700000, "Y4619", true, "AS", "AS", "PNT-HAC", "HAC-PNT", 1496882100000],[189, 1496879400000, 1496883000000, "Y3094", true, "6F", "6F", "CRB-HAC", "HAC-CRB", 1496869500000],[189, 1496869800000, 1496873700000, "Y8784", true, "SF", "SF", "SZP-HAC", "HAC-KET", 1496865600000],[189, 1496850000000, 1496866500000, "Y0018", true, "KM", "KM", "GMZ-HAC", "HAC-SUV", 1496839800000],[51, 1496931000000, 1496934000000, "Y1334", true, "AS", "AS", "GZL-HAC", "HAC-QFS", 1496919900000],[51, 1496907900000, 1496921400000, "Y4329", true, "AS", "AS", "KVP-HAC", "HAC-XGF", 1496895900000],[51, 1496903100000, 1496907600000, "Y7347", true, "SF", "SF", "OSD-HAC", "HAC-XTL", 1496892000000],[51, 1496894700000, 1496898900000, "Y8798", true, "XA", "XA", "FIX-HAC", "HAC-FIX", 1496876400000],[51, 1496883600000, 1496889300000, "Y7631", true, "XA", "XA", "XTW-HAC", "HAC-BMA", 1496877600000],[51, 1496874000000, 1496877600000, "Y1576", true, "XA", "XA", "HBC-HAC", "HAC-HBC", 1496868600000],[51, 1496840400000, 1496871000000, "Y8483", true, "AS", "AS", "GZL-HAC", "HAC-BMG-XTJ", 1496824500000],[40, 1496929800000, 1496934000000, "Y2822", true, "NU", "NU", "SIY-ULX-HAC", "HAC-STS-XTJ", 1496908800000],[40, 1496917200000, 1496922600000, "Y4224", true, "AS", "AS", "KVP-HAC", "HAC-DFC", 1496904900000],[40, 1496910000000, 1496914500000, "Y3697", true, "XA", "XA", "HSZ-HAC", "HAC-KVP", 1496901000000],[40, 1496894100000, 1496898000000, "Y8373", true, "XA", "XA", "XPT-HAC", "HAC-SIY", 1496886000000],[40, 1496881500000, 1496885100000, "Y3369", true, "XA", "XA", "HSZ-HAC", "HAC-GZL-XTJ", 1496872500000],[40, 1496840400000, 1496877600000, "Y4896", true, "AS", "AS", "KVP-HAC", "HAC-KET", 1496827800000],[174, 1496929500000, 1496934000000, "Y8982", true, "AS", "AS", "KET-HAC", "HAC-KVP", 1496919600000],[174, 1496918400000, 1496922900000, "Y3479", true, "SF", "SF", "KVP-HAC", "HAC-KVP", 1496906700000],[174, 1496908500000, 1496912100000, "Y7304", false, "XA", "XA", "DFS-HAC", "HAC-DFS", 1496902200000],[174, 1496897400000, 1496902800000, "Y1134", true, "AS", "AS", "XGF-HAC", "HAC-KVP", 1496887800000],[174, 1496890800000, 1496891700000, "Y3279", true, "AS", "AS", "HSZ-QWA-HAC", "HAC-XPT", 1496876700000],[174, 1496880600000, 1496884800000, "Y8367", true, "VF", "VF", "XGF-HAC", "HAC-XGF", 1496871600000],[174, 1496842200000, 1496876400000, "Y3499", true, "XA", "XA", "KVP-HAC", "HAC-HSZ", 1496829600000],[41, 1496928600000, 1496934000000, "Y3912", true, "XA", "XA", "KVP-HAC", "HAC-KVP", 1496916000000],[41, 1496910600000, 1496919600000, "Y3498", true, "XA", "XA", "KVP-HAC", "HAC-SZP", 1496898000000],[41, 1496898900000, 1496904900000, "Y3499", true, "XA", "XA", "HSZ-HAC", "HAC-HSZ", 1496889900000],[41, 1496886300000, 1496892600000, "Y2116", true, "NF", "NF", "KET-HAC", "HAC-HSZ", 1496877000000],[41, 1496840400000, 1496872500000, "Y8963", true, "AS", "AS", "HSZ-HAC", "HAC-KET", 1496829000000],[39, 1496920800000, 1496924700000, "Y2153", true, "NU", "NU", "HSV-CNM-HAC", "HAC-ULX", 1496899500000],[39, 1496911800000, 1496916600000, "Y8764", false, "NF", "NF", "GBM-HAC", "HAC-GBM", 1496901900000],[39, 1496885700000, 1496890200000, "Y7249", true, "SF", "SF", "KVP-HAC", "HAC-KVP", 1496873700000],[39, 1496841600000, 1496874600000, "Y3888", true, "XA", "XA", "HSZ-HAC", "HAC-KVP", 1496832600000],[105, 1496925300000, 1496934000000, "Y8963", true, "AS", "AS", "HSZ-HAC", "HAC-XGF", 1496915400000],[105, 1496915100000, 1496920500000, "Y8978", true, "SF", "SF", "XGF-HAC", "HAC-HBC", 1496907000000],[105, 1496906100000, 1496910000000, "Y8348", true, "XA", "XA", "WOX-HAC", "HAC-WOX", 1496893800000],[105, 1496895600000, 1496902200000, "Y8963", true, "AS", "AS", "KET-HAC", "HAC-HSZ", 1496885700000],[105, 1496883600000, 1496888100000, "Y3918", true, "XZ", "XZ", "XGF-HAC", "HAC-XGF", 1496874600000],[105, 1496846400000, 1496868600000, "Y8318", true, "SL", "SL", "RMX-BRS-HAC", "HAC-BRS-RMX", 1496829600000],[181, 1496926800000, 1496934000000, "Y8457", true, "SF", "SF", "SZP-HAC", "HAC-FIX-PST", 1496922300000],[181, 1496920200000, 1496924100000, "Y1570", true, "XZ", "XZ", "STS-HAC", "HAC-STS", 1496911800000],[181, 1496845800000, 1496868000000, "Y7347", true, "SF", "SF", "MPT-HAC", "HAC-OSD", 1496838000000],[186, 1496929200000, 1496934000000, "Y8316", true, "AS", "AS", "SUV-HAC", "HAC-MGT", 1496921700000],[186, 1496843700000, 1496868300000, "Y2599", true, "SF", "SF", "XTL-HAC", "HAC-CRB-CMM", 1496834400000],[180, 1496910300000, 1496917800000, "Y3871", true, "NF", "NF", "HSZ-HAC", "HAC-HSZ", 1496901300000],[180, 1496897100000, 1496901600000, "Y7954", true, "XZ", "XZ", "KVP-HAC", "HAC-KVP", 1496884800000],[180, 1496889000000, 1496893500000, "Y8978", true, "SF", "SF", "KVP-HAC", "HAC-XGF", 1496876700000],[70, 1496931900000, 1496934000000, "Y0086", true, "XA", "XA", "XAC-HAC", "HAC-PNT", 1496923200000],[70, 1496914800000, 1496919300000, "Y3298", true, "XZ", "XZ", "XGF-HAC", "HAC-XGF", 1496906100000],[70, 1496904900000, 1496908500000, "Y1602", true, "NF", "NF", "MPT-HAC", "HAC-MPT", 1496896800000],[70, 1496893800000, 1496897400000, "Y4894", true, "AS", "AS", "SUV-HAC", "HAC-KVP", 1496885400000],[70, 1496883900000, 1496887800000, "Y1664", true, "TQ", "TQ", "STS-HAC", "HAC-CFA-SIY", 1496875500000],[70, 1496877300000, 1496881200000, "Y3677", true, "6F", "6F", "XPT-HAC", "HAC-XGF", 1496870100000],[70, 1496848500000, 1496866200000, "Y8326", true, "TQ", "TQ", "CMM-VMS-HAC", "HAC-ABR-CMM", 1496831400000],[108, 1496913900000, 1496918400000, "Y3921", true, "XA", "XA", "KVP-HAC", "HAC-KVP", 1496901600000],[108, 1496904600000, 1496909400000, "Y8062", false, "AS", "AS", "CRB-HAC", "HAC-XPT", 1496893800000],[108, 1496885100000, 1496889600000, "Y1984", true, "SF", "SF", "CRB-HAC", "HAC-CRB", 1496874000000],[108, 1496849400000, 1496870700000, "Y1983", true, "SF", "SF", "KVP-HAC", "HAC-KVP", 1496836800000],[109, 1496928000000, 1496934000000, "Y3499", true, "XA", "XA", "HSZ-HAC", "HAC-HSZ", 1496919000000],[109, 1496917500000, 1496921700000, "Y4219", true, "NF", "NF", "DFS-HAC", "HAC-DFS", 1496910900000],[109, 1496910600000, 1496915100000, "Y3911", true, "SF", "SF", "KVP-HAC", "HAC-KVP", 1496897700000],[109, 1496901900000, 1496906700000, "Y1983", true, "SF", "SF", "KVP-HAC", "HAC-KVP", 1496889000000],[109, 1496893500000, 1496898000000, "Y3466", true, "XZ", "XZ", "KVP-HAC", "HAC-KVP", 1496880900000],[109, 1496884200000, 1496888700000, "Y3850", true, "NF", "NF", "PNT-HAC", "HAC-PNT", 1496876700000],[109, 1496842800000, 1496871000000, "Y8982", true, "AS", "AS", "KET-HAC", "HAC-KVP", 1496833200000],[135, 1496912700000, 1496918400000, "Y0020", true, "AS", "AS", "YPP-HAC", "HAC-CRB", 1496901900000],[135, 1496892300000, 1496896800000, "Y8058", true, "AS", "AS", "DFC-HAC", "HAC-GKV", 1496883600000],[135, 1496885700000, 1496889900000, "SO2414", true, "PV", "PV", "RXM-HAC", "HAC-RXM", 1496871600000],[135, 1496863500000, 1496879700000, "Y8568", true, "XZ", "XZ", "OZC-HAC", "HAC-KVP", 1496811000000],[135, 1496851800000, 1496859000000, "VRUMC", true, "R5", "R5", "OVW-HAC", "HAC-OVW", 1496817000000],[135, 1496840400000, 1496842500000, "Y3920", true, "XZ", "XZ", "KVP-HAC", "HAC-UIZ", 1496823900000],[172, 1496924700000, 1496928600000, "SHZYE", true, "UW", "UW", "WNP-HAC", "HAC-WNP", 1496914200000],[172, 1496914200000, 1496920800000, "Y8058", true, "AS", "AS", "GKV-HAC", "HAC-DFC", 1496907300000],[172, 1496905500000, 1496910900000, "Y3734", true, "XA", "XA", "YPP-HAC", "HAC-XGF", 1496894400000],[172, 1496881500000, 1496891100000, "Y8154", true, "XA", "XA", "MPT-HAC", "HAC-SPG", 1496873700000],[172, 1496869200000, 1496874600000, "Y8062", true, "AS", "AS", "YPP-HAC", "HAC-CRB", 1496858700000],[172, 1496852100000, 1496856000000, "0NZJI", true, "ZP", "ZP", "PFO-HAC", "HAC-PFO", 1496836800000],[172, 1496840700000, 1496844300000, "0EGZJ", true, "GI", "GI", "HRM-HAC", "HAC-HRM", 1496826000000],[81, 1496920500000, 1496928300000, "Y8059", true, "AS", "AS", "CRB-HAC", "HAC-YPP", 1496910300000],[81, 1496906400000, 1496910000000, "Y0079", true, "0X", "0X", "SIY-SRZ-HAC", "HAC-KMS", 1496883900000],[81, 1496898900000, 1496902500000, "Y8481", true, "AS", "AS", "GZL-HAC", "HAC-PFO", 1496887800000],[81, 1496890500000, 1496894400000, "Y3620", true, "XA", "XA", "KVP-PLD-HAC", "HAC-YPP", 1496872200000],[81, 1496883000000, 1496886600000, "0ENTK", true, "NR", "NR", "HRM-HAC", "HAC-HRM", 1496869200000],[81, 1496871900000, 1496876100000, "Y8506", true, "SF", "SF", "SZP-HAC", "HAC-OKJ", 1496867100000],[81, 1496841000000, 1496869500000, "Y8523", true, "AS", "AS", "MIG-HAC", "HAC-STS", 1496824200000],[122, 1496909100000, 1496916000000, "Y0089", true, "AS", "AS", "KMS-HAC", "HAC-BRS", 1496901000000],[122, 1496898900000, 1496907000000, "Y8119", true, "XA", "XA", "KMS-HAC", "HAC-MPT", 1496889600000],[122, 1496889300000, 1496893200000, "0NZJW", true, "ZP", "ZP", "YPR-HAC", "HAC-YPR", 1496877900000],[122, 1496881200000, 1496885100000, "0NZTN", true, "ZP", "ZP", "PFO-HAC", "HAC-PFO", 1496866200000],[122, 1496869200000, 1496878800000, "Y4328", true, "AS", "AS", "SPG-HAC", "HAC-RXM", 1496853900000],[122, 1496847300000, 1496866800000, "Y1751", true, "0X", "0X", "KMS-HAC", "HAC-SRZ-SIY", 1496836800000],[182, 1496919000000, 1496921700000, "Y3620", true, "XA", "XA", "YPP-HAC", "HAC-SUV", 1496907900000],[182, 1496909100000, 1496912700000, "Y8287", false, "AS", "AS", "HRM-HAC", "HAC-XPT", 1496894400000],[182, 1496898000000, 1496903100000, "Y8506", true, "SF", "SF", "OKJ-HAC", "HAC-CFA", 1496888700000],[182, 1496878200000, 1496889000000, "Y8027", true, "AS", "AS", "DFC-HAC", "HAC-HRM", 1496870100000],[182, 1496848200000, 1496872500000, "Y4477", true, "SF", "SF", "SPG-HAC", "HAC-XGF", 1496834100000],[182, 1496840400000, 1496842200000, "SHZYA", true, "UW", "UW", "WNP-HAC", "HAC-WNP", 1496827800000],[3, 1496922000000, 1496926800000, "Y8027", true, "AS", "AS", "HRM-HAC", "HAC-SZP", 1496907000000],[3, 1496908500000, 1496912400000, "Y0086", true, "XA", "XA", "HTM-HAC", "HAC-XAC", 1496899800000],[3, 1496896500000, 1496902200000, "Y3901", true, "XA", "XA", "GKV-HAC", "HAC-HSZ", 1496889000000],[3, 1496883600000, 1496890800000, "Y4654", true, "AS", "AS", "MGT-HAC", "HAC-MIG", 1496874300000],[3, 1496846400000, 1496879400000, "Y3901", true, "XA", "XA", "HBC-HAC", "HAC-GKV", 1496840700000],[127, 1496886300000, 1496886900000, "Y2838", true, "FH", "FH", "CCC-HAC", "HAC-***", 1496880000000],[154, 1496840400000, 1496934000000, "Y1737", true, "QW", "QW", "KVP-HAC", "HAC-HSZ", 1495659300000],[71, 1496925600000, 1496934000000, "Y6706", true, "A8", "A8", "NUN-HAC", "HAC-STS", 1496923200000],[97, 1496901000000, 1496934000000, "M6666J", true, "QW", "QW", "HBC-HAC", "HAC-SZP", 1496896200000],[136, 1496840400000, 1496934000000, "Y1711", true, "A8", "A8", "CRB-HAC", "HAC-HSZ", 1496808000000],[48, 1496840400000, 1496934000000, "Y1867", true, "QW", "QW", "KET-HAC", "HAC-PRC", 1496631600000],[110, 1496930700000, 1496934000000, "M433MH", true, "A8", "A8", "SPT-HAC", "HAC-SPT", 1496928900000],[37, 1496858700000, 1496934000000, "M001UZ", true, "QW", "QW", "ZMX-HAC", "HAC-HDZ", 1496824440000],[107, 1496840400000, 1496934000000, "YODD", true, "A8", "A8", "KET-HAC", "HAC-NUN", 1496368800000],[83, 1496923200000, 1496934000000, "Y1841", true, "A8", "A8", "NOV-HAC", "HAC-SPT", 1496901600000],[83, 1496840400000, 1496894400000, "Y6719", true, "QW", "QW", "HBC-HAC", "HAC-KVP", 1496811600000],[167, 1496923200000, 1496934000000, "Y2236", true, "A8", "A8", "ASZ-HAC", "HAC-ASZ", 1496920800000],[167, 1496840400000, 1496894400000, "Y2236", true, "A8", "A8", "QWA-HAC", "HAC-ASZ", 1496830200000],[89, 1496840400000, 1496934000000, "Y1732", true, "A8", "A8", "KVP-HAC", "HAC-XGF", 1496822400000],[130, 1496840400000, 1496934000000, "M616ZA", true, "A8", "A8", "CHK-HAC", "HAC-KVP", 1496393700000],[173, 1496884200000, 1496934000000, "M765HZ", true, "A8", "A8", "CRB-HAC", "HAC-CRB", 1496876400000],[103, 1496840400000, 1496934000000, "Y1683", true, "TU", "A8", "PDO-HAC", "HAC-MMB", 1495346400000],[80, 1496840400000, 1496934000000, "M003NH", true, "A8", "A8", "CRB-HAC", "HAC-NUN", 1496811600000],[31, 1496840400000, 1496934000000, "Y1839", true, "TU", "TU", "KVP-HAC", "HAC-GHM", 1496610000000],[52, 1496887200000, 1496934000000, "Y6724", true, "A8", "A8", "GHM-HAC", "HAC-KVP", 1496876400000]]}
}
5.使用组件:
<!-- 使用组件 -->
<gantt-chart ref="ganttChartRef"></gantt-chart>
/* 引入组件 */
const ganttChart = defineAsyncComponent(() => import('./ganttEcharts.vue'));
相关文章:

vue3项目结合Echarts实现甘特图(可拖拽、选中等操作)
效果图: 图一:选中操作 图二:上下左右拖拽操作 本案例在echarts示例机场航班甘特图的基础上修改 封装ganttEcharts组件,测试数据 airport-schedule.jsonganttEcharts代码: 直接复制粘贴可测…...
Log4j2 插件的简单使用
代码: TestPlugin.java package com.chenjiacheng.webapp.plugins;import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.lookup.StrLookup;/*** Created by chenjiacheng on …...

Linux之RPM和YUM命令
一、RPM命令 1、介绍 RPM(RedHat Package Manager).,RedHat软件包管理工具,类似windows里面的setup,exe是Liux这系列操作系统里而的打包安装工具。 RPMI包的名称格式: Apache-1.3.23-11.i386.rpm “apache’” 软件名称“1.3.23-11” 软件的版本号&am…...

读取硬件板子上的数据
SSCOM工具,先要安装一个插件 这样就可以读到设备数据...

Cesium 实例化潜入潜出
Cesium 实例化潜入潜出 1、WebGL Instance 的原理 狭义的的WebGL 中说使用 Instance, 一般指使用 glDrawArraysInstanced 用于实例化渲染的函数。它允许在一次绘制调用中渲染多个相同的几何体实例,而无需为每个实例发起单独的绘制调用。 Three.js 就是使用这种方…...

java引入jedis并且关于开放redis端口问题
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 目录 1. 引入jedis 编辑 2. 关于java客户端开放redis端口问题 3. 连接redis服务器 redis服务器在官网公开了使用的协议: resp…...
【人工智能】用Python实现情感分析:从简单词典到深度学习方法的演进
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 情感分析是自然语言处理(NLP)中的一个重要任务,其目的是通过分析文本内容,识别出其中的情感极性,如正面、负面或中性。随着技术的不断…...
关系型数据库的完整性和一致性
完整性 1.实体完整性 - 每一个实体都是独一无二的,没有冗余 --主键/唯一索引 2.参照完整性 - 外键 3.域完整性 - 存储的数据都是有效的数据 --数据类型/数据长度/非空约束/检查约束/ 检查约束: alter table tb_score add constraint ck_score_scmar…...
设计模式の命令访问者迭代器模式
文章目录 前言一、命令模式二、访问者模式三、迭代器模式 前言 本篇是关于设计模式中命令模式、访问者模式、以及迭代器模式的学习笔记。 一、命令模式 命令模式是一种行为型设计模式,其核心目的在于将命令的发送者和接受者解耦,提供一个中间层对命令进行…...
信息系统项目管理 -冲突管理
信息系统项目管理题 冲突管理: 项目管理信息系统包括()软件,用于监督资源的使用情况,协助确保合适的资源适时、适地的用于合适活动。 A资源管理或进度计划 BCRM系统 C采购系统或智能分析 DBOM系统 答案:A …...

Gmsh有限元网格剖分(Python)---点、直线、平面的移动
Gmsh有限元网格剖分(Python)—点、直线、平面的移动和旋转 最近在学习有限元的网格剖分算法,主要还是要参考老外的开源Gmsh库进行,写一些博客记录下学习过程,方便以后回忆嘞。 Gmsh的官方英文文档可以参考:gmsh.pdf 但咋就说&a…...

山景BP1048增加AT指令,实现单片机串口控制播放音乐(一)
1、设计目的 山景提供的SDK是蓝牙音箱demo,用户使用ADC按键或者IR遥控器,进行人机交互。然而现实很多场景,需要和单片机通信,不管是ADC按键或者IR接口都不适合和单片机通信。这里设计个AT指令用来和BP1048通信。AT指令如下图所示…...
SMMU软件指南SMMU编程之全局错误和最小配置
安全之安全(security)博客目录导读 目录 一、全局错误 二、最小配置 一、全局错误 与编程接口相关的全局错误会报告到适当的 SMMU_(*_)GERROR 寄存器,而不是通过基于内存的事件队列。这些错误通常是严重的,例如导致 SMMU 停止向前推进。例如…...

CPU条件下Pytorch、jupyter环境配置
一、创建虚拟环境 查看虚拟环境 conda env list 创建python虚拟环境 conda create -n minist python3.11 激活虚拟环境 conda activate minist 查看虚拟环境下有哪些包 pip list 二、安装pytorch 切换清华源 conda config --add channels https://mirrors.tuna.tsing…...

【自用】通信内网部署rzgxxt项目_01,后端pipeDemo部署(使用nssm.exe仿照nohup)
做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521 做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521 做完这些工作之后,不要…...
Ubuntu 安装实时内核指南
在运行需要高精度和低延迟响应的机器人驱动程序时,安装一个具备实时内核(Real-Time Kernel)的 Ubuntu 系统是至关重要的。若缺乏实时系统的支持,高频率的控制指令可能会导致机器人运动轨迹不流畅,甚至产生抖动现象。以…...
MySQL 主从复制与高可用
在现代分布式系统中,数据库的高可用性和可靠性至关重要。MySQL 提供了主从复制(Master-Slave Replication)机制来实现数据的冗余和容错,保证在主数据库发生故障时能够继续提供服务。而在此基础上,通过进一步的高可用架…...

RCE总结
文章目录 常见漏洞执行函数:1.系统命令执行函数2.代码执行函数 命令拼接符读取文件命令绕过:空格过滤绕过关键字绕过长度过滤绕过无参数命令执行绕过无字母数字绕过利用%0A截断利用回溯绕过利用create_function()代码注入无回显RCE1.反弹shell2.dnslog外…...

基于UNITY3D的照片墙演示项目技术分享
unity实现超大图片墙演示,由于拥有海量图片,使用了CPU 多线程,unity dots技术,图片组成文字部分,使用了点阵图技术,提取文字像素。 (关于点阵介绍) 点阵字体是把每一个字符都分成1616或2424个点…...

随手记:小程序兼容后台的wangEditor富文本配置链接
场景: 在后台配置wangEditor富文本,可以文字配置链接,图片配置链接,产生的json格式为: 例子: <h1><a href"https://uniapp.dcloud.net.cn/" target"_blank"><span sty…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...