| | |
| | | <div |
| | | class="hqchart" |
| | | id="hqchart_minute" |
| | | ref="mychart" |
| | | ref="kline" |
| | | v-show="chartType == 'minute'" |
| | | ></div> |
| | | <div |
| | |
| | | DefaultData.GetKLinePeriodMenu = function () { |
| | | var data = [ |
| | | // { Name: i18n.t('hj86'), ID: 3 },分时额外处理 |
| | | { Name: i18n.t("hj86"), ID: 4 }, |
| | | // { Name: i18n.t("hj86"), ID: 4 }, |
| | | { Name: i18n.t("hj87"), ID: 0 }, |
| | | { Name: i18n.t("hj88"), ID: 1 }, |
| | | { Name: i18n.t("hj89"), ID: 2 }, |
| | |
| | | MinuteDayMenu: DefaultData.GetMinuteDayMenu(), |
| | | MinuteDayIndex: 0, |
| | | KLinePeriodMenu: DefaultData.GetKLinePeriodMenu(), |
| | | KLinePeriodIndex: 1, |
| | | KLinePeriodIndex: 0, |
| | | KLineRightMenu: DefaultData.GetKLineRightMenu(), |
| | | KLineRightIndex: 0, |
| | | IsShowRightMenu: true, |
| | |
| | | }, |
| | | |
| | | mounted() { |
| | | this.initEcharts(); |
| | | this.offHeight = this.$refs["rightContent"].offsetHeight; |
| | | this.OnSize(); |
| | | this.SetChartStyle(); |
| | | this.$nextTick(() => { |
| | | this.CreateMinuteChart(); |
| | | // this.CreateMinuteChart(); |
| | | this.CreateKLineChart(); |
| | | }); |
| | | let that = this; |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | // 横坐标数据处理 |
| | | initxData() { |
| | | for (let i = 0; i < this.klineData.length; i++) { |
| | | this.xData[i] = this.klineData[i].datetime; |
| | | } |
| | | }, |
| | | // 数据计算以及拆分,将json数据转为数组数据 |
| | | splitData(jsonData) { |
| | | const hourData = []; |
| | | for (let i = 0; i < jsonData.length; i++) { |
| | | hourData.push([ |
| | | i, |
| | | jsonData[i].price, |
| | | jsonData[i].increase, |
| | | jsonData[i].volume, |
| | | jsonData[i].ratio, |
| | | jsonData[i].amount, |
| | | jsonData[i].datetime, |
| | | ]); |
| | | } |
| | | this.hourData = hourData; |
| | | }, |
| | | initEcharts() { |
| | | const option = { |
| | | // 横坐标数据配置 |
| | | xAxis: [ |
| | | { |
| | | type: "category", |
| | | data: this.xData, |
| | | boundaryGap: false, |
| | | axisLine: { onZero: false }, |
| | | splitLine: { show: false }, |
| | | min: "dataMin", |
| | | max: "dataMax", |
| | | }, |
| | | ], |
| | | // 纵坐标配置 |
| | | yAxis: [ |
| | | { |
| | | scale: true, |
| | | splitArea: { |
| | | show: true, |
| | | }, |
| | | }, |
| | | ], |
| | | //图形数据配置: |
| | | series: [ |
| | | { |
| | | type: "line", |
| | | data: this.hourData, |
| | | symbol: "none", //无标记图案 |
| | | lineStyle: { |
| | | width: 1, |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | const myChart = echarts.init(this.$refs.mychart); // 图标初始化 |
| | | myChart.setOption(option); // 渲染页面 |
| | | //随着屏幕大小调节图表 |
| | | window.addEventListener("resize", () => { |
| | | myChart.resize(); |
| | | }); |
| | | }, |
| | | OnSize() { |
| | | var width = this.$refs.right.clientWidth; |
| | | // var rightTab = this.$refs.rightTab |
| | |
| | | item, |
| | | type // K线周期 |
| | | ) { |
| | | if (index !== 0) { |
| | | //分时额外处理才注释的 |
| | | this.chartType = type; |
| | | this.KLinePeriodIndex = index; |
| | | this.KLineChart.ChangePeriod(item.ID); |
| | | } else { |
| | | this.chartType = "minute"; |
| | | } |
| | | //分时额外处理才注释的 |
| | | this.chartType = type; |
| | | this.KLinePeriodIndex = index; |
| | | this.KLineChart.ChangePeriod(item.ID); |
| | | }, |
| | | |
| | | OnClickKLineRightMenu( |