hqchart 1.1.14311 → 1.1.14320
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +212 -202
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +17 -1
- package/src/jscommon/umychart.js +275 -110
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +293 -112
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +293 -112
|
@@ -35854,6 +35854,220 @@ function ChartSimplePie()
|
|
|
35854
35854
|
}
|
|
35855
35855
|
}
|
|
35856
35856
|
|
|
35857
|
+
|
|
35858
|
+
//雷达图
|
|
35859
|
+
function ChartSimpleRadar()
|
|
35860
|
+
{
|
|
35861
|
+
this.newMethod=IChartPainting; //派生
|
|
35862
|
+
this.newMethod();
|
|
35863
|
+
delete this.newMethod;
|
|
35864
|
+
|
|
35865
|
+
this.ClassName='ChartSimpleRadar'; //类名
|
|
35866
|
+
this.BorderPoint=[]; //边框点
|
|
35867
|
+
this.DataPoint=[]; //数据点
|
|
35868
|
+
this.CenterPoint={};
|
|
35869
|
+
this.StartAngle=0;
|
|
35870
|
+
this.Color='rgb(198,198,198)';
|
|
35871
|
+
this.AreaColor='rgba(242,154,118,0.4)'; //面积图颜色
|
|
35872
|
+
this.AreaLineColor='rgb(242,154,118)';
|
|
35873
|
+
this.TitleFont=24*GetDevicePixelRatio()+'px 微软雅黑';
|
|
35874
|
+
this.TitleColor='rgb(102,102,102)';
|
|
35875
|
+
this.BGColor = ['rgb(255,255,255)', 'rgb(224,224,224)']//背景色
|
|
35876
|
+
|
|
35877
|
+
this.DrawBorder=function() //画边框
|
|
35878
|
+
{
|
|
35879
|
+
if (this.BorderPoint.length<=0) return;
|
|
35880
|
+
|
|
35881
|
+
this.Canvas.font=this.TitleFont;
|
|
35882
|
+
this.Canvas.strokeStyle = this.Color;
|
|
35883
|
+
const aryBorder=[1,0.8,0.6,0.4,0.2];
|
|
35884
|
+
for (let j in aryBorder)
|
|
35885
|
+
{
|
|
35886
|
+
var rate = aryBorder[j];
|
|
35887
|
+
var isFirstDraw=true;
|
|
35888
|
+
for(let i in this.BorderPoint)
|
|
35889
|
+
{
|
|
35890
|
+
var item=this.BorderPoint[i];
|
|
35891
|
+
item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180) * rate;
|
|
35892
|
+
item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180) * rate;
|
|
35893
|
+
if (isFirstDraw)
|
|
35894
|
+
{
|
|
35895
|
+
this.Canvas.beginPath();
|
|
35896
|
+
this.Canvas.moveTo(item.X,item.Y);
|
|
35897
|
+
isFirstDraw=false;
|
|
35898
|
+
}
|
|
35899
|
+
else
|
|
35900
|
+
{
|
|
35901
|
+
this.Canvas.lineTo(item.X,item.Y);
|
|
35902
|
+
}
|
|
35903
|
+
}
|
|
35904
|
+
|
|
35905
|
+
this.Canvas.closePath();
|
|
35906
|
+
this.Canvas.stroke();
|
|
35907
|
+
this.Canvas.fillStyle = this.BGColor[j%2==0?0:1];
|
|
35908
|
+
this.Canvas.fill();
|
|
35909
|
+
}
|
|
35910
|
+
|
|
35911
|
+
this.Canvas.beginPath();
|
|
35912
|
+
for(let i in this.BorderPoint)
|
|
35913
|
+
{
|
|
35914
|
+
var item=this.BorderPoint[i];
|
|
35915
|
+
item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
|
|
35916
|
+
item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
|
|
35917
|
+
this.Canvas.moveTo(this.CenterPoint.X,this.CenterPoint.Y);
|
|
35918
|
+
this.Canvas.lineTo(item.X,item.Y);
|
|
35919
|
+
this.DrawText(item);
|
|
35920
|
+
}
|
|
35921
|
+
this.Canvas.stroke();
|
|
35922
|
+
}
|
|
35923
|
+
|
|
35924
|
+
this.DrawArea=function()
|
|
35925
|
+
{
|
|
35926
|
+
if (!this.DataPoint || this.DataPoint.length<=0) return;
|
|
35927
|
+
|
|
35928
|
+
this.Canvas.fillStyle = this.AreaColor;
|
|
35929
|
+
this.Canvas.strokeStyle = this.AreaLineColor;
|
|
35930
|
+
this.Canvas.beginPath();
|
|
35931
|
+
var isFirstDraw=true;
|
|
35932
|
+
for(let i in this.DataPoint)
|
|
35933
|
+
{
|
|
35934
|
+
var item=this.DataPoint[i];
|
|
35935
|
+
if (isFirstDraw)
|
|
35936
|
+
{
|
|
35937
|
+
this.Canvas.beginPath();
|
|
35938
|
+
this.Canvas.moveTo(item.X,item.Y);
|
|
35939
|
+
isFirstDraw=false;
|
|
35940
|
+
}
|
|
35941
|
+
else
|
|
35942
|
+
{
|
|
35943
|
+
this.Canvas.lineTo(item.X,item.Y);
|
|
35944
|
+
}
|
|
35945
|
+
}
|
|
35946
|
+
|
|
35947
|
+
this.Canvas.closePath();
|
|
35948
|
+
this.Canvas.fill();
|
|
35949
|
+
this.Canvas.stroke();
|
|
35950
|
+
}
|
|
35951
|
+
|
|
35952
|
+
this.DrawText=function(item)
|
|
35953
|
+
{
|
|
35954
|
+
if (!item.Text) return;
|
|
35955
|
+
|
|
35956
|
+
//JSConsole.Chart.Log(item.Text, item.Angle);
|
|
35957
|
+
this.Canvas.fillStyle = this.TitleColor;
|
|
35958
|
+
var xText = item.X, yText = item.Y;
|
|
35959
|
+
|
|
35960
|
+
//显示每个角度的位置
|
|
35961
|
+
if (item.Angle > 0 && item.Angle < 45) {
|
|
35962
|
+
this.Canvas.textAlign = 'left';
|
|
35963
|
+
this.Canvas.textBaseline = 'middle';
|
|
35964
|
+
xText += 2;
|
|
35965
|
+
}
|
|
35966
|
+
else if (item.Angle >= 0 && item.Angle < 90) {
|
|
35967
|
+
this.Canvas.textAlign = 'left';
|
|
35968
|
+
this.Canvas.textBaseline = 'top';
|
|
35969
|
+
xText += 2;
|
|
35970
|
+
}
|
|
35971
|
+
else if (item.Angle >= 90 && item.Angle < 135) {
|
|
35972
|
+
this.Canvas.textAlign = 'right';
|
|
35973
|
+
this.Canvas.textBaseline = 'top';
|
|
35974
|
+
xText -= 2;
|
|
35975
|
+
}
|
|
35976
|
+
else if (item.Angle >= 135 && item.Angle < 180) {
|
|
35977
|
+
this.Canvas.textAlign = 'right';
|
|
35978
|
+
this.Canvas.textBaseline = 'top';
|
|
35979
|
+
xText -= 2;
|
|
35980
|
+
}
|
|
35981
|
+
else if (item.Angle >= 180 && item.Angle < 225) {
|
|
35982
|
+
this.Canvas.textAlign = 'right';
|
|
35983
|
+
this.Canvas.textBaseline = 'middle';
|
|
35984
|
+
xText -= 2;
|
|
35985
|
+
}
|
|
35986
|
+
else if (item.Angle >= 225 && item.Angle <= 270) {
|
|
35987
|
+
this.Canvas.textAlign = 'center';
|
|
35988
|
+
this.Canvas.textBaseline = 'bottom';
|
|
35989
|
+
}
|
|
35990
|
+
else if (item.Angle > 270 && item.Angle < 315) {
|
|
35991
|
+
this.Canvas.textAlign = 'left';
|
|
35992
|
+
this.Canvas.textBaseline = 'bottom';
|
|
35993
|
+
xText += 2;
|
|
35994
|
+
}
|
|
35995
|
+
else {
|
|
35996
|
+
this.Canvas.textAlign = 'left';
|
|
35997
|
+
this.Canvas.textBaseline = 'middle';
|
|
35998
|
+
xText += 2;
|
|
35999
|
+
}
|
|
36000
|
+
|
|
36001
|
+
this.Canvas.fillText(item.Text, xText, yText);
|
|
36002
|
+
}
|
|
36003
|
+
|
|
36004
|
+
this.Draw=function()
|
|
36005
|
+
{
|
|
36006
|
+
this.BorderPoint=[];
|
|
36007
|
+
this.DataPoint=[];
|
|
36008
|
+
this.CenterPoint={};
|
|
36009
|
+
if (!this.Data || !this.Data.Data || !(this.Data.Data.length>0))
|
|
36010
|
+
this.CalculatePoints(null);
|
|
36011
|
+
else
|
|
36012
|
+
this.CalculatePoints(this.Data.Data);
|
|
36013
|
+
|
|
36014
|
+
this.DrawBorder();
|
|
36015
|
+
this.DrawArea();
|
|
36016
|
+
}
|
|
36017
|
+
|
|
36018
|
+
this.CalculatePoints=function(data)
|
|
36019
|
+
{
|
|
36020
|
+
let left=this.ChartBorder.GetLeft();
|
|
36021
|
+
let right=this.ChartBorder.GetRight();
|
|
36022
|
+
let top=this.ChartBorder.GetTop();
|
|
36023
|
+
let bottom=this.ChartBorder.GetBottom();
|
|
36024
|
+
let width=this.ChartBorder.GetWidth();
|
|
36025
|
+
let height=this.ChartBorder.GetHeight();
|
|
36026
|
+
|
|
36027
|
+
let ptCenter={X:left+width/2, Y:top+height/2}; //中心点
|
|
36028
|
+
let radius=Math.min(width/2,height/2)-2 //半径
|
|
36029
|
+
let count=Math.max(5,data?data.length:0);
|
|
36030
|
+
let averageAngle=360/count;
|
|
36031
|
+
for(let i=0;i<count;++i)
|
|
36032
|
+
{
|
|
36033
|
+
let ptBorder = { Index: i, Radius: radius, Angle: i * averageAngle + this.StartAngle };
|
|
36034
|
+
let angle = ptBorder.Angle;
|
|
36035
|
+
|
|
36036
|
+
if (data && i<data.length)
|
|
36037
|
+
{
|
|
36038
|
+
var item=data[i];
|
|
36039
|
+
let ptData={Index:i,Text:item.Text};
|
|
36040
|
+
ptBorder.Text=item.Name;
|
|
36041
|
+
if (!item.Value)
|
|
36042
|
+
{
|
|
36043
|
+
ptData.X=ptCenter.X;
|
|
36044
|
+
ptData.Y=ptCenter.Y;
|
|
36045
|
+
}
|
|
36046
|
+
else
|
|
36047
|
+
{
|
|
36048
|
+
var value=item.Value;
|
|
36049
|
+
if (value>=1) value=1;
|
|
36050
|
+
var dataRadius=radius*value;
|
|
36051
|
+
ptData.X=ptCenter.X+dataRadius*Math.cos(angle*Math.PI/180);
|
|
36052
|
+
ptData.Y=ptCenter.Y+dataRadius*Math.sin(angle*Math.PI/180);
|
|
36053
|
+
}
|
|
36054
|
+
|
|
36055
|
+
this.DataPoint.push(ptData);
|
|
36056
|
+
}
|
|
36057
|
+
|
|
36058
|
+
this.BorderPoint.push(ptBorder);
|
|
36059
|
+
}
|
|
36060
|
+
|
|
36061
|
+
this.CenterPoint=ptCenter;
|
|
36062
|
+
}
|
|
36063
|
+
|
|
36064
|
+
//空数据
|
|
36065
|
+
this.DrawEmptyData=function()
|
|
36066
|
+
{
|
|
36067
|
+
JSConsole.Chart.Log('[ChartPie::DrawEmptyData]')
|
|
36068
|
+
}
|
|
36069
|
+
}
|
|
36070
|
+
|
|
35857
36071
|
//分钟成交量 支持横屏
|
|
35858
36072
|
function ChartMinuteVolumBar()
|
|
35859
36073
|
{
|
|
@@ -45412,6 +45626,7 @@ function ChartDrawSVG()
|
|
|
45412
45626
|
{
|
|
45413
45627
|
var item=this.Texts[i];
|
|
45414
45628
|
var key=this.BuildKey(item);
|
|
45629
|
+
if (!key) continue;
|
|
45415
45630
|
|
|
45416
45631
|
if (mapData.has(key))
|
|
45417
45632
|
{
|
|
@@ -45717,10 +45932,13 @@ function ChartDrawSVG()
|
|
|
45717
45932
|
}
|
|
45718
45933
|
|
|
45719
45934
|
var x,y,price;
|
|
45935
|
+
var setKey=new Set(); //已经画过的Key就不再用了
|
|
45720
45936
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
45721
45937
|
{
|
|
45722
45938
|
var kItem=this.Data.Data[i];
|
|
45723
45939
|
var key=this.BuildKey(kItem);
|
|
45940
|
+
if (setKey.has(key)) continue;
|
|
45941
|
+
|
|
45724
45942
|
if (!this.MapCache.has(key)) continue;
|
|
45725
45943
|
var mapItem=this.MapCache.get(key);
|
|
45726
45944
|
|
|
@@ -45878,6 +46096,8 @@ function ChartDrawSVG()
|
|
|
45878
46096
|
this.Canvas.setLineDash([]);
|
|
45879
46097
|
}
|
|
45880
46098
|
}
|
|
46099
|
+
|
|
46100
|
+
setKey.add(key);
|
|
45881
46101
|
}
|
|
45882
46102
|
}
|
|
45883
46103
|
|
|
@@ -56475,6 +56695,7 @@ function ChartCorssCursor()
|
|
|
56475
56695
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
56476
56696
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
56477
56697
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
56698
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
56478
56699
|
this.TextHeight=20; //文本字体高度
|
|
56479
56700
|
this.LastPoint;
|
|
56480
56701
|
this.LastValue; //{ Y:{ Value:, Extend: } }
|
|
@@ -56530,6 +56751,7 @@ function ChartCorssCursor()
|
|
|
56530
56751
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
56531
56752
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
56532
56753
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
56754
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
56533
56755
|
}
|
|
56534
56756
|
|
|
56535
56757
|
this.GetCloseYPoint=function(index)
|
|
@@ -56788,10 +57010,10 @@ function ChartCorssCursor()
|
|
|
56788
57010
|
}
|
|
56789
57011
|
|
|
56790
57012
|
var pixel=GetDevicePixelRatio();
|
|
56791
|
-
if (this.HPenType==1 || this.HPenType==0) //0
|
|
57013
|
+
if (this.HPenType==1 || this.HPenType==0) //0=虚线 1=实线
|
|
56792
57014
|
{
|
|
56793
57015
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
56794
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
57016
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
56795
57017
|
//this.Canvas.lineWidth=0.5
|
|
56796
57018
|
this.Canvas.beginPath();
|
|
56797
57019
|
this.Canvas.moveTo(left,ToFixedPoint(y));
|
|
@@ -56804,7 +57026,7 @@ function ChartCorssCursor()
|
|
|
56804
57026
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
56805
57027
|
if (this.VPenType==0)
|
|
56806
57028
|
{
|
|
56807
|
-
this.Canvas.setLineDash(
|
|
57029
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
56808
57030
|
}
|
|
56809
57031
|
else if (this.VPenType==2)
|
|
56810
57032
|
{
|
|
@@ -57399,7 +57621,7 @@ function ChartCorssCursor()
|
|
|
57399
57621
|
var pixel=GetDevicePixelRatio();
|
|
57400
57622
|
this.Canvas.save();
|
|
57401
57623
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
57402
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
57624
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
57403
57625
|
|
|
57404
57626
|
//画竖线
|
|
57405
57627
|
this.Canvas.beginPath();
|
|
@@ -57413,7 +57635,7 @@ function ChartCorssCursor()
|
|
|
57413
57635
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
57414
57636
|
if (this.VPenType==0)
|
|
57415
57637
|
{
|
|
57416
|
-
this.Canvas.setLineDash(
|
|
57638
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
57417
57639
|
}
|
|
57418
57640
|
else if (this.VPenType==2)
|
|
57419
57641
|
{
|
|
@@ -60689,7 +60911,12 @@ function DynamicChartTitlePainting()
|
|
|
60689
60911
|
{
|
|
60690
60912
|
this.Font=g_JSChartResource.TitleFont;
|
|
60691
60913
|
this.TitleColor=g_JSChartResource.DefaultTextColor;
|
|
60914
|
+
this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
|
|
60692
60915
|
this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;
|
|
60916
|
+
|
|
60917
|
+
this.BGColor=g_JSChartResource.IndexTitleBGColor;
|
|
60918
|
+
this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
|
|
60919
|
+
this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
|
|
60693
60920
|
}
|
|
60694
60921
|
|
|
60695
60922
|
this.SetDynamicTitleData=function(outName, args, data)
|
|
@@ -74363,6 +74590,7 @@ function JSChartResource()
|
|
|
74363
74590
|
this.CorssCursorHPenColor="rgb(130,130,130)"; //十字光标线段颜色(水平)
|
|
74364
74591
|
this.CorssCursorVPenColor="rgb(130,130,130)"; //十字光标线段颜色(垂直)
|
|
74365
74592
|
this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)"; //十字光标X轴访问背景色
|
|
74593
|
+
this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()]; //十字光标虚线
|
|
74366
74594
|
|
|
74367
74595
|
this.CorssCursor=
|
|
74368
74596
|
{
|
|
@@ -75783,6 +76011,7 @@ function JSChartResource()
|
|
|
75783
76011
|
if (style.CorssCursorHPenColor) this.CorssCursorHPenColor = style.CorssCursorHPenColor;
|
|
75784
76012
|
if (style.CorssCursorBorderColor) this.CorssCursorBorderColor=style.CorssCursorBorderColor;
|
|
75785
76013
|
if (style.CorssCursorXRangeBGColor) this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;
|
|
76014
|
+
if (style.CorssCursorLineDash) this.CorssCursorLineDash=style.CorssCursorLineDash.slice();
|
|
75786
76015
|
if (style.CorssCursor && style.CorssCursor.RightButton)
|
|
75787
76016
|
{
|
|
75788
76017
|
var item=style.CorssCursor.RightButton;
|
|
@@ -89822,12 +90051,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89822
90051
|
this.CaclutateCallCationYRange();
|
|
89823
90052
|
}
|
|
89824
90053
|
|
|
90054
|
+
//增量更新
|
|
89825
90055
|
this.RecvUpdateMinuteData=function(data)
|
|
89826
90056
|
{
|
|
89827
90057
|
var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
|
|
89828
90058
|
var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);
|
|
89829
|
-
|
|
89830
|
-
this.AfterCloseData=null;
|
|
90059
|
+
|
|
89831
90060
|
var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);
|
|
89832
90061
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
89833
90062
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
@@ -89846,92 +90075,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89846
90075
|
return;
|
|
89847
90076
|
}
|
|
89848
90077
|
|
|
89849
|
-
|
|
90078
|
+
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
90079
|
+
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
89850
90080
|
|
|
90081
|
+
//原始数据
|
|
89851
90082
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
89852
|
-
|
|
89853
|
-
var aryMinuteData=this.SourceData.Data;
|
|
89854
|
-
this.ColorLineData=aryColorData;
|
|
89855
|
-
this.TradeDate=data.stock[0].date;
|
|
89856
|
-
this.Frame.SetDayCount(1); //单日数据
|
|
89857
|
-
this.SourceData.UpdateTime=updateTime;
|
|
89858
|
-
this.Symbol=minuteData.Symbol;
|
|
89859
|
-
this.Name=minuteData.Name;
|
|
89860
|
-
|
|
89861
|
-
this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
|
|
90083
|
+
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
89862
90084
|
|
|
89863
|
-
if (
|
|
90085
|
+
if (data.AutoUpdate===false) //不执行自动更新
|
|
89864
90086
|
{
|
|
89865
|
-
if (this.BeforeOpenData && this.AfterCloseData)
|
|
89866
|
-
{
|
|
89867
|
-
var max=Math.max(this.BeforeOpenData.VolMax, this.AfterCloseData.VolMax);
|
|
89868
|
-
var min=Math.min(this.BeforeOpenData.VolMin, this.AfterCloseData.VolMin);
|
|
89869
|
-
this.BeforeOpenData.VolMax=this.AfterCloseData.VolMax=max;
|
|
89870
|
-
this.BeforeOpenData.VolMin=this.AfterCloseData.VolMin=min;
|
|
89871
|
-
}
|
|
89872
|
-
}
|
|
89873
90087
|
|
|
89874
|
-
|
|
89875
|
-
|
|
89876
|
-
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
89877
|
-
if (minuteData.YClearing>0 && isFutures) yClose=minuteData.YClearing; //期货使用前结算价
|
|
89878
|
-
this.CaclutateLimitPrice(yClose, minuteData.LimitPrice); //计算涨停价格
|
|
89879
|
-
var extendData=null;
|
|
89880
|
-
if (minuteData.High>0 && minuteData.Low>0) extendData={ High:minuteData.High, Low:minuteData.Low };
|
|
89881
|
-
this.BindMainData(sourceData,yClose, extendData);
|
|
89882
|
-
|
|
89883
|
-
if (this.Frame.SubFrame.length>2)
|
|
89884
|
-
{
|
|
89885
|
-
var bindData=new ChartData();
|
|
89886
|
-
bindData.Data=aryMinuteData;
|
|
89887
|
-
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
89888
|
-
{
|
|
89889
|
-
this.BindIndexData(i,bindData);
|
|
89890
|
-
}
|
|
89891
|
-
}
|
|
89892
|
-
|
|
89893
|
-
for(let i=0; i<this.Frame.SubFrame.length; ++i)
|
|
90088
|
+
}
|
|
90089
|
+
else
|
|
89894
90090
|
{
|
|
89895
|
-
|
|
89896
|
-
|
|
89897
|
-
item.Frame.XSplitOperator.DayCount=1;
|
|
89898
|
-
item.Frame.XSplitOperator.Operator(); //调整X轴个数
|
|
89899
|
-
item.Frame.YSplitOperator.Symbol=this.Symbol;
|
|
89900
|
-
|
|
89901
|
-
if (IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))
|
|
89902
|
-
{
|
|
89903
|
-
for(var j=0;j<item.OverlayIndex.length; ++j) //子坐标X轴个数同步
|
|
89904
|
-
{
|
|
89905
|
-
var overlayItem=item.OverlayIndex[j];
|
|
89906
|
-
overlayItem.Frame.XPointCount=item.Frame.XPointCount;
|
|
89907
|
-
overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;
|
|
89908
|
-
}
|
|
89909
|
-
}
|
|
90091
|
+
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
|
|
90092
|
+
this.AutoUpdate();
|
|
89910
90093
|
}
|
|
89911
|
-
|
|
89912
|
-
this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
|
|
89913
|
-
this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;
|
|
89914
|
-
|
|
89915
|
-
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
|
|
89916
|
-
|
|
89917
|
-
if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
|
|
89918
|
-
|
|
89919
|
-
var chartInfo=this.GetChartMinuteInfo();
|
|
89920
|
-
if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
|
|
89921
|
-
|
|
89922
|
-
this.RecvMinuteDataEvent( {FunctionName:"RecvUpdateMinuteData"} );
|
|
89923
|
-
this.RequestMinuteInfoData();
|
|
89924
|
-
this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
89925
|
-
this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
89926
|
-
|
|
89927
|
-
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
89928
|
-
this.Frame.SetSizeChage(true);
|
|
89929
|
-
this.Draw();
|
|
89930
|
-
|
|
89931
|
-
this.BindAllOverlayIndexData(this.SourceData);
|
|
89932
|
-
|
|
89933
|
-
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
|
|
89934
|
-
this.AutoUpdate();
|
|
89935
90094
|
}
|
|
89936
90095
|
|
|
89937
90096
|
this.RecvMinuteData=function(data)
|
|
@@ -89998,15 +90157,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89998
90157
|
var sourceData=new ChartData();
|
|
89999
90158
|
sourceData.Data=aryMinuteData;
|
|
90000
90159
|
sourceData.UpdateTime=updateTime;
|
|
90160
|
+
this.SourceData=sourceData;
|
|
90001
90161
|
|
|
90002
90162
|
this.ColorLineData=aryColorData;
|
|
90003
90163
|
|
|
90004
|
-
this.
|
|
90164
|
+
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
|
|
90165
|
+
|
|
90166
|
+
if (data.AutoUpdate===false) //不执行自动更新
|
|
90167
|
+
{
|
|
90168
|
+
|
|
90169
|
+
}
|
|
90170
|
+
else
|
|
90171
|
+
{
|
|
90172
|
+
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
|
|
90173
|
+
this.AutoUpdate();
|
|
90174
|
+
}
|
|
90175
|
+
}
|
|
90176
|
+
|
|
90177
|
+
//更新单日分时图
|
|
90178
|
+
this.UpdateMinuteUI=function(stockData, eventData)
|
|
90179
|
+
{
|
|
90180
|
+
this.TradeDate=stockData.date;
|
|
90005
90181
|
this.Frame.SetDayCount(1); //单日数据
|
|
90006
90182
|
|
|
90007
|
-
this.
|
|
90008
|
-
this.
|
|
90009
|
-
this.Name=data.stock[0].name;
|
|
90183
|
+
this.Symbol=stockData.symbol;
|
|
90184
|
+
this.Name=stockData.name;
|
|
90010
90185
|
|
|
90011
90186
|
this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
|
|
90012
90187
|
|
|
@@ -90021,26 +90196,26 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90021
90196
|
}
|
|
90022
90197
|
}
|
|
90023
90198
|
|
|
90024
|
-
var yClose=
|
|
90199
|
+
var yClose=stockData.yclose;
|
|
90025
90200
|
var upperSymbol=this.Symbol.toUpperCase();
|
|
90026
90201
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
90027
|
-
if (
|
|
90028
|
-
this.CaclutateLimitPrice(yClose,
|
|
90202
|
+
if (stockData.yclearing>0 && isFutures) yClose=stockData.yclearing; //期货使用前结算价
|
|
90203
|
+
this.CaclutateLimitPrice(yClose, stockData.limitprice); //计算涨停价格
|
|
90029
90204
|
var extendData=null;
|
|
90030
|
-
if (
|
|
90031
|
-
this.BindMainData(
|
|
90205
|
+
if (stockData.high>0 && stockData.low>0) extendData={ High:stockData.high, Low:stockData.low };
|
|
90206
|
+
this.BindMainData(this.SourceData,yClose, extendData);
|
|
90032
90207
|
|
|
90033
90208
|
if (this.Frame.SubFrame.length>2)
|
|
90034
90209
|
{
|
|
90035
90210
|
var bindData=new ChartData();
|
|
90036
|
-
bindData.Data=
|
|
90211
|
+
bindData.Data=this.SourceData.Data;
|
|
90037
90212
|
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
90038
90213
|
{
|
|
90039
90214
|
this.BindIndexData(i,bindData);
|
|
90040
90215
|
}
|
|
90041
90216
|
}
|
|
90042
90217
|
|
|
90043
|
-
for(
|
|
90218
|
+
for(var i=0, j=0; i<this.Frame.SubFrame.length; ++i)
|
|
90044
90219
|
{
|
|
90045
90220
|
var item=this.Frame.SubFrame[i];
|
|
90046
90221
|
item.Frame.XSplitOperator.Symbol=this.Symbol;
|
|
@@ -90048,7 +90223,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90048
90223
|
item.Frame.XSplitOperator.Operator(); //调整X轴个数
|
|
90049
90224
|
item.Frame.YSplitOperator.Symbol=this.Symbol;
|
|
90050
90225
|
|
|
90051
|
-
for(
|
|
90226
|
+
for(j=0;j<item.OverlayIndex.length;++j) //子坐标X轴个数同步
|
|
90052
90227
|
{
|
|
90053
90228
|
var overlayItem=item.OverlayIndex[j];
|
|
90054
90229
|
overlayItem.Frame.XPointCount=item.Frame.XPointCount;
|
|
@@ -90061,12 +90236,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90061
90236
|
|
|
90062
90237
|
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
|
|
90063
90238
|
|
|
90064
|
-
if (
|
|
90239
|
+
if (stockData.IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
|
|
90065
90240
|
|
|
90066
90241
|
var chartInfo=this.GetChartMinuteInfo();
|
|
90067
90242
|
if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
|
|
90068
90243
|
|
|
90069
|
-
this.RecvMinuteDataEvent(
|
|
90244
|
+
if (eventData) this.RecvMinuteDataEvent( eventData );
|
|
90070
90245
|
this.RequestMinuteInfoData();
|
|
90071
90246
|
this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
90072
90247
|
this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
@@ -90076,16 +90251,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90076
90251
|
this.Draw();
|
|
90077
90252
|
|
|
90078
90253
|
this.BindAllOverlayIndexData(this.SourceData);
|
|
90079
|
-
|
|
90080
|
-
if (data.AutoUpdate===false) //不执行自动更新
|
|
90081
|
-
{
|
|
90082
|
-
|
|
90083
|
-
}
|
|
90084
|
-
else
|
|
90085
|
-
{
|
|
90086
|
-
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
|
|
90087
|
-
this.AutoUpdate();
|
|
90088
|
-
}
|
|
90089
90254
|
}
|
|
90090
90255
|
|
|
90091
90256
|
this.CaclutateLimitPrice=function(yClose, limitData)
|
|
@@ -112288,8 +112453,24 @@ function JSDraw(errorHandler,symbolData)
|
|
|
112288
112453
|
}
|
|
112289
112454
|
|
|
112290
112455
|
//饼图
|
|
112291
|
-
this.PIE_CELL=function(
|
|
112456
|
+
this.PIE_CELL=function(data, color, text, textColor, lineColor)
|
|
112292
112457
|
{
|
|
112458
|
+
var value=null;
|
|
112459
|
+
if (IFrameSplitOperator.IsNumber(data))
|
|
112460
|
+
{
|
|
112461
|
+
value=data;
|
|
112462
|
+
}
|
|
112463
|
+
else if (IFrameSplitOperator.IsString(data))
|
|
112464
|
+
{
|
|
112465
|
+
value=parseFloat(data);
|
|
112466
|
+
}
|
|
112467
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(data))
|
|
112468
|
+
{
|
|
112469
|
+
var lastValue=data[data.length-1];
|
|
112470
|
+
if (IFrameSplitOperator.IsNumber(lastValue)) value=lastValue;
|
|
112471
|
+
else if (IFrameSplitOperator.IsString(lastValue)) value=parseFloat(lastValue);
|
|
112472
|
+
}
|
|
112473
|
+
|
|
112293
112474
|
var cellItem={ Value:value, Color:color };
|
|
112294
112475
|
if (text) cellItem.Text=text;
|
|
112295
112476
|
if (textColor) cellItem.TextColor=textColor;
|
|
@@ -141928,7 +142109,7 @@ function ScrollBarBGChart()
|
|
|
141928
142109
|
|
|
141929
142110
|
|
|
141930
142111
|
|
|
141931
|
-
var HQCHART_VERSION="1.1.
|
|
142112
|
+
var HQCHART_VERSION="1.1.14319";
|
|
141932
142113
|
|
|
141933
142114
|
function PrintHQChartVersion()
|
|
141934
142115
|
{
|