|
@@ -1,7 +1,7 @@
|
|
<template>
|
|
<template>
|
|
<div id="kLineIndex">
|
|
<div id="kLineIndex">
|
|
<div class="left-menu">
|
|
<div class="left-menu">
|
|
- <leftMenu />
|
|
|
|
|
|
+ <leftMenu v-model="kLineType" />
|
|
</div>
|
|
</div>
|
|
<div id="kline1Frame" class="frame">
|
|
<div id="kline1Frame" class="frame">
|
|
<!--//****************************Franklin 创建主队K线*********************************-->
|
|
<!--//****************************Franklin 创建主队K线*********************************-->
|
|
@@ -43,6 +43,7 @@ export default {
|
|
components: { leftMenu, subs },
|
|
components: { leftMenu, subs },
|
|
data: function () {
|
|
data: function () {
|
|
return {
|
|
return {
|
|
|
|
+ kLineType: 'number', // K线图类型,配置见left-menu => data => kLineList
|
|
jsChart1: undefined,
|
|
jsChart1: undefined,
|
|
jsChart2: undefined,
|
|
jsChart2: undefined,
|
|
jsChart3: undefined,
|
|
jsChart3: undefined,
|
|
@@ -70,9 +71,8 @@ export default {
|
|
$(window).resize(this.resizeCanvas);
|
|
$(window).resize(this.resizeCanvas);
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- ...gameList(['kline']),
|
|
|
|
|
|
+ ...gameList(['kline', 'matchKLine']),
|
|
init() {
|
|
init() {
|
|
- let jsChart1, jsChart2, jsChart3;
|
|
|
|
let symbol = this.$route.query.name || '600000.sh';
|
|
let symbol = this.$route.query.name || '600000.sh';
|
|
let aryIndex = [];
|
|
let aryIndex = [];
|
|
let index = this.$route.query.index || 'MA';
|
|
let index = this.$route.query.index || 'MA';
|
|
@@ -102,7 +102,7 @@ export default {
|
|
};
|
|
};
|
|
aryIndex.push(scriptIndex);
|
|
aryIndex.push(scriptIndex);
|
|
// 创建股票K线图 主队K线图
|
|
// 创建股票K线图 主队K线图
|
|
- jsChart1 = JSChart.Init(document.getElementById('klineHome'));
|
|
|
|
|
|
+ this.jsChart1 = JSChart.Init(document.getElementById('klineHome'));
|
|
var option1 = {
|
|
var option1 = {
|
|
Type: '历史K线图',
|
|
Type: '历史K线图',
|
|
Windows: aryIndex, //窗口指标
|
|
Windows: aryIndex, //窗口指标
|
|
@@ -151,10 +151,10 @@ export default {
|
|
Team: 1, //1主队,2客队,3计算
|
|
Team: 1, //1主队,2客队,3计算
|
|
};
|
|
};
|
|
console.warn(option1);
|
|
console.warn(option1);
|
|
- jsChart1.SetOption(option1);
|
|
|
|
|
|
+ this.jsChart1.SetOption(option1);
|
|
//****************************Franklin 创建第二条K线*********************************
|
|
//****************************Franklin 创建第二条K线*********************************
|
|
//客队K线图
|
|
//客队K线图
|
|
- jsChart2 = JSChart.Init(document.getElementById('klineAway'));
|
|
|
|
|
|
+ this.jsChart2 = JSChart.Init(document.getElementById('klineAway'));
|
|
var option2 = {
|
|
var option2 = {
|
|
Type: '历史K线图',
|
|
Type: '历史K线图',
|
|
Windows: aryIndex, //窗口指标
|
|
Windows: aryIndex, //窗口指标
|
|
@@ -198,10 +198,10 @@ export default {
|
|
Frame: [],
|
|
Frame: [],
|
|
Team: 2, //1主队,2客队,3计算
|
|
Team: 2, //1主队,2客队,3计算
|
|
};
|
|
};
|
|
- jsChart2.SetOption(option2);
|
|
|
|
|
|
+ this.jsChart2.SetOption(option2);
|
|
//****************************Franklin 创建第三条K线*********************************
|
|
//****************************Franklin 创建第三条K线*********************************
|
|
//主客队数据计算K线图
|
|
//主客队数据计算K线图
|
|
- jsChart3 = JSChart.Init(document.getElementById('klineCalculation'));
|
|
|
|
|
|
+ this.jsChart3 = JSChart.Init(document.getElementById('klineCalculation'));
|
|
var arrIndexCalculation = new Array();
|
|
var arrIndexCalculation = new Array();
|
|
arrIndexCalculation.push(aryIndex[0]); //计算K线没有指标图
|
|
arrIndexCalculation.push(aryIndex[0]); //计算K线没有指标图
|
|
let testIndex1 = jsIndexData.Get('MACD12');
|
|
let testIndex1 = jsIndexData.Get('MACD12');
|
|
@@ -252,11 +252,8 @@ export default {
|
|
Frame: [],
|
|
Frame: [],
|
|
Team: 3, //1主队,2客队,3计算
|
|
Team: 3, //1主队,2客队,3计算
|
|
};
|
|
};
|
|
- jsChart3.SetOption(option3);
|
|
|
|
|
|
+ this.jsChart3.SetOption(option3);
|
|
this.resizeCanvas();
|
|
this.resizeCanvas();
|
|
- this.$set(this, `jsChart1`, jsChart1);
|
|
|
|
- this.$set(this, `jsChart2`, jsChart2);
|
|
|
|
- this.$set(this, `jsChart3`, jsChart3);
|
|
|
|
},
|
|
},
|
|
ComplierError(error) {
|
|
ComplierError(error) {
|
|
alert(error);
|
|
alert(error);
|
|
@@ -283,7 +280,10 @@ export default {
|
|
start: -1,
|
|
start: -1,
|
|
count: data.Request.Data.count,
|
|
count: data.Request.Data.count,
|
|
};
|
|
};
|
|
- const res = await this.kline(reqData);
|
|
|
|
|
|
+ console.warn('function in:' + this.kLineType);
|
|
|
|
+ let res;
|
|
|
|
+ if (this.kLineType === 'number') res = await this.kline(reqData);
|
|
|
|
+ else if (this.kLineType === 'match') res = await this.matchKLine(reqData);
|
|
if (this.$checkRes(res)) {
|
|
if (this.$checkRes(res)) {
|
|
this.$set(this.team, `team${data.Team}`, res);
|
|
this.$set(this.team, `team${data.Team}`, res);
|
|
callback(res);
|
|
callback(res);
|
|
@@ -301,7 +301,7 @@ export default {
|
|
// var height= $(window).height()-300; //300高度给指标编辑器
|
|
// var height= $(window).height()-300; //300高度给指标编辑器
|
|
// 计算k线框体大小
|
|
// 计算k线框体大小
|
|
var height = $(window).height() / 3; //300高度给指标编辑器
|
|
var height = $(window).height() / 3; //300高度给指标编辑器
|
|
- var width = $(window).width() - 375;
|
|
|
|
|
|
+ var width = $(window).width() - 405;
|
|
//****************************Franklin 创建第一条K线*********************************
|
|
//****************************Franklin 创建第一条K线*********************************
|
|
var divKlineHome = document.getElementById('klineHome');
|
|
var divKlineHome = document.getElementById('klineHome');
|
|
divKlineHome.style.width = width + 'px';
|
|
divKlineHome.style.width = width + 'px';
|
|
@@ -338,6 +338,24 @@ export default {
|
|
var lockData = { IndexName: info.Data.IndexName, IsLocked: false };
|
|
var lockData = { IndexName: info.Data.IndexName, IsLocked: false };
|
|
info.HQChart.LockIndex(lockData);
|
|
info.HQChart.LockIndex(lockData);
|
|
},
|
|
},
|
|
|
|
+ reInit() {
|
|
|
|
+ this.jsChart1 = undefined;
|
|
|
|
+ this.jsChart2 = undefined;
|
|
|
|
+ this.jsChart3 = undefined;
|
|
|
|
+ const elements = ['klineHome', 'klineAway', 'klineCalculation'];
|
|
|
|
+ for (const key of elements) {
|
|
|
|
+ let e = document.getElementById(key);
|
|
|
|
+ e.innerHTML = '';
|
|
|
|
+ }
|
|
|
|
+ this.init();
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ watch: {
|
|
|
|
+ kLineType: {
|
|
|
|
+ handler(val) {
|
|
|
|
+ this.reInit();
|
|
|
|
+ },
|
|
|
|
+ },
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
...mapState(['user', 'menuParams']),
|
|
...mapState(['user', 'menuParams']),
|
|
@@ -358,7 +376,7 @@ export default {
|
|
.left-menu {
|
|
.left-menu {
|
|
background: #18191d;
|
|
background: #18191d;
|
|
color: #fff;
|
|
color: #fff;
|
|
- width: 60px;
|
|
|
|
|
|
+ width: 80px;
|
|
float: left;
|
|
float: left;
|
|
height: 100vh;
|
|
height: 100vh;
|
|
}
|
|
}
|