hqchart 1.1.14313 → 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 +208 -199
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +17 -1
- package/src/jscommon/umychart.js +269 -110
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +287 -112
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +287 -112
package/package.json
CHANGED
|
@@ -11542,8 +11542,24 @@ function JSDraw(errorHandler,symbolData)
|
|
|
11542
11542
|
}
|
|
11543
11543
|
|
|
11544
11544
|
//饼图
|
|
11545
|
-
this.PIE_CELL=function(
|
|
11545
|
+
this.PIE_CELL=function(data, color, text, textColor, lineColor)
|
|
11546
11546
|
{
|
|
11547
|
+
var value=null;
|
|
11548
|
+
if (IFrameSplitOperator.IsNumber(data))
|
|
11549
|
+
{
|
|
11550
|
+
value=data;
|
|
11551
|
+
}
|
|
11552
|
+
else if (IFrameSplitOperator.IsString(data))
|
|
11553
|
+
{
|
|
11554
|
+
value=parseFloat(data);
|
|
11555
|
+
}
|
|
11556
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(data))
|
|
11557
|
+
{
|
|
11558
|
+
var lastValue=data[data.length-1];
|
|
11559
|
+
if (IFrameSplitOperator.IsNumber(lastValue)) value=lastValue;
|
|
11560
|
+
else if (IFrameSplitOperator.IsString(lastValue)) value=parseFloat(lastValue);
|
|
11561
|
+
}
|
|
11562
|
+
|
|
11547
11563
|
var cellItem={ Value:value, Color:color };
|
|
11548
11564
|
if (text) cellItem.Text=text;
|
|
11549
11565
|
if (textColor) cellItem.TextColor=textColor;
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -31929,6 +31929,220 @@ function ChartSimplePie()
|
|
|
31929
31929
|
}
|
|
31930
31930
|
}
|
|
31931
31931
|
|
|
31932
|
+
|
|
31933
|
+
//雷达图
|
|
31934
|
+
function ChartSimpleRadar()
|
|
31935
|
+
{
|
|
31936
|
+
this.newMethod=IChartPainting; //派生
|
|
31937
|
+
this.newMethod();
|
|
31938
|
+
delete this.newMethod;
|
|
31939
|
+
|
|
31940
|
+
this.ClassName='ChartSimpleRadar'; //类名
|
|
31941
|
+
this.BorderPoint=[]; //边框点
|
|
31942
|
+
this.DataPoint=[]; //数据点
|
|
31943
|
+
this.CenterPoint={};
|
|
31944
|
+
this.StartAngle=0;
|
|
31945
|
+
this.Color='rgb(198,198,198)';
|
|
31946
|
+
this.AreaColor='rgba(242,154,118,0.4)'; //面积图颜色
|
|
31947
|
+
this.AreaLineColor='rgb(242,154,118)';
|
|
31948
|
+
this.TitleFont=24*GetDevicePixelRatio()+'px 微软雅黑';
|
|
31949
|
+
this.TitleColor='rgb(102,102,102)';
|
|
31950
|
+
this.BGColor = ['rgb(255,255,255)', 'rgb(224,224,224)']//背景色
|
|
31951
|
+
|
|
31952
|
+
this.DrawBorder=function() //画边框
|
|
31953
|
+
{
|
|
31954
|
+
if (this.BorderPoint.length<=0) return;
|
|
31955
|
+
|
|
31956
|
+
this.Canvas.font=this.TitleFont;
|
|
31957
|
+
this.Canvas.strokeStyle = this.Color;
|
|
31958
|
+
const aryBorder=[1,0.8,0.6,0.4,0.2];
|
|
31959
|
+
for (let j in aryBorder)
|
|
31960
|
+
{
|
|
31961
|
+
var rate = aryBorder[j];
|
|
31962
|
+
var isFirstDraw=true;
|
|
31963
|
+
for(let i in this.BorderPoint)
|
|
31964
|
+
{
|
|
31965
|
+
var item=this.BorderPoint[i];
|
|
31966
|
+
item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180) * rate;
|
|
31967
|
+
item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180) * rate;
|
|
31968
|
+
if (isFirstDraw)
|
|
31969
|
+
{
|
|
31970
|
+
this.Canvas.beginPath();
|
|
31971
|
+
this.Canvas.moveTo(item.X,item.Y);
|
|
31972
|
+
isFirstDraw=false;
|
|
31973
|
+
}
|
|
31974
|
+
else
|
|
31975
|
+
{
|
|
31976
|
+
this.Canvas.lineTo(item.X,item.Y);
|
|
31977
|
+
}
|
|
31978
|
+
}
|
|
31979
|
+
|
|
31980
|
+
this.Canvas.closePath();
|
|
31981
|
+
this.Canvas.stroke();
|
|
31982
|
+
this.Canvas.fillStyle = this.BGColor[j%2==0?0:1];
|
|
31983
|
+
this.Canvas.fill();
|
|
31984
|
+
}
|
|
31985
|
+
|
|
31986
|
+
this.Canvas.beginPath();
|
|
31987
|
+
for(let i in this.BorderPoint)
|
|
31988
|
+
{
|
|
31989
|
+
var item=this.BorderPoint[i];
|
|
31990
|
+
item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
|
|
31991
|
+
item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
|
|
31992
|
+
this.Canvas.moveTo(this.CenterPoint.X,this.CenterPoint.Y);
|
|
31993
|
+
this.Canvas.lineTo(item.X,item.Y);
|
|
31994
|
+
this.DrawText(item);
|
|
31995
|
+
}
|
|
31996
|
+
this.Canvas.stroke();
|
|
31997
|
+
}
|
|
31998
|
+
|
|
31999
|
+
this.DrawArea=function()
|
|
32000
|
+
{
|
|
32001
|
+
if (!this.DataPoint || this.DataPoint.length<=0) return;
|
|
32002
|
+
|
|
32003
|
+
this.Canvas.fillStyle = this.AreaColor;
|
|
32004
|
+
this.Canvas.strokeStyle = this.AreaLineColor;
|
|
32005
|
+
this.Canvas.beginPath();
|
|
32006
|
+
var isFirstDraw=true;
|
|
32007
|
+
for(let i in this.DataPoint)
|
|
32008
|
+
{
|
|
32009
|
+
var item=this.DataPoint[i];
|
|
32010
|
+
if (isFirstDraw)
|
|
32011
|
+
{
|
|
32012
|
+
this.Canvas.beginPath();
|
|
32013
|
+
this.Canvas.moveTo(item.X,item.Y);
|
|
32014
|
+
isFirstDraw=false;
|
|
32015
|
+
}
|
|
32016
|
+
else
|
|
32017
|
+
{
|
|
32018
|
+
this.Canvas.lineTo(item.X,item.Y);
|
|
32019
|
+
}
|
|
32020
|
+
}
|
|
32021
|
+
|
|
32022
|
+
this.Canvas.closePath();
|
|
32023
|
+
this.Canvas.fill();
|
|
32024
|
+
this.Canvas.stroke();
|
|
32025
|
+
}
|
|
32026
|
+
|
|
32027
|
+
this.DrawText=function(item)
|
|
32028
|
+
{
|
|
32029
|
+
if (!item.Text) return;
|
|
32030
|
+
|
|
32031
|
+
//JSConsole.Chart.Log(item.Text, item.Angle);
|
|
32032
|
+
this.Canvas.fillStyle = this.TitleColor;
|
|
32033
|
+
var xText = item.X, yText = item.Y;
|
|
32034
|
+
|
|
32035
|
+
//显示每个角度的位置
|
|
32036
|
+
if (item.Angle > 0 && item.Angle < 45) {
|
|
32037
|
+
this.Canvas.textAlign = 'left';
|
|
32038
|
+
this.Canvas.textBaseline = 'middle';
|
|
32039
|
+
xText += 2;
|
|
32040
|
+
}
|
|
32041
|
+
else if (item.Angle >= 0 && item.Angle < 90) {
|
|
32042
|
+
this.Canvas.textAlign = 'left';
|
|
32043
|
+
this.Canvas.textBaseline = 'top';
|
|
32044
|
+
xText += 2;
|
|
32045
|
+
}
|
|
32046
|
+
else if (item.Angle >= 90 && item.Angle < 135) {
|
|
32047
|
+
this.Canvas.textAlign = 'right';
|
|
32048
|
+
this.Canvas.textBaseline = 'top';
|
|
32049
|
+
xText -= 2;
|
|
32050
|
+
}
|
|
32051
|
+
else if (item.Angle >= 135 && item.Angle < 180) {
|
|
32052
|
+
this.Canvas.textAlign = 'right';
|
|
32053
|
+
this.Canvas.textBaseline = 'top';
|
|
32054
|
+
xText -= 2;
|
|
32055
|
+
}
|
|
32056
|
+
else if (item.Angle >= 180 && item.Angle < 225) {
|
|
32057
|
+
this.Canvas.textAlign = 'right';
|
|
32058
|
+
this.Canvas.textBaseline = 'middle';
|
|
32059
|
+
xText -= 2;
|
|
32060
|
+
}
|
|
32061
|
+
else if (item.Angle >= 225 && item.Angle <= 270) {
|
|
32062
|
+
this.Canvas.textAlign = 'center';
|
|
32063
|
+
this.Canvas.textBaseline = 'bottom';
|
|
32064
|
+
}
|
|
32065
|
+
else if (item.Angle > 270 && item.Angle < 315) {
|
|
32066
|
+
this.Canvas.textAlign = 'left';
|
|
32067
|
+
this.Canvas.textBaseline = 'bottom';
|
|
32068
|
+
xText += 2;
|
|
32069
|
+
}
|
|
32070
|
+
else {
|
|
32071
|
+
this.Canvas.textAlign = 'left';
|
|
32072
|
+
this.Canvas.textBaseline = 'middle';
|
|
32073
|
+
xText += 2;
|
|
32074
|
+
}
|
|
32075
|
+
|
|
32076
|
+
this.Canvas.fillText(item.Text, xText, yText);
|
|
32077
|
+
}
|
|
32078
|
+
|
|
32079
|
+
this.Draw=function()
|
|
32080
|
+
{
|
|
32081
|
+
this.BorderPoint=[];
|
|
32082
|
+
this.DataPoint=[];
|
|
32083
|
+
this.CenterPoint={};
|
|
32084
|
+
if (!this.Data || !this.Data.Data || !(this.Data.Data.length>0))
|
|
32085
|
+
this.CalculatePoints(null);
|
|
32086
|
+
else
|
|
32087
|
+
this.CalculatePoints(this.Data.Data);
|
|
32088
|
+
|
|
32089
|
+
this.DrawBorder();
|
|
32090
|
+
this.DrawArea();
|
|
32091
|
+
}
|
|
32092
|
+
|
|
32093
|
+
this.CalculatePoints=function(data)
|
|
32094
|
+
{
|
|
32095
|
+
let left=this.ChartBorder.GetLeft();
|
|
32096
|
+
let right=this.ChartBorder.GetRight();
|
|
32097
|
+
let top=this.ChartBorder.GetTop();
|
|
32098
|
+
let bottom=this.ChartBorder.GetBottom();
|
|
32099
|
+
let width=this.ChartBorder.GetWidth();
|
|
32100
|
+
let height=this.ChartBorder.GetHeight();
|
|
32101
|
+
|
|
32102
|
+
let ptCenter={X:left+width/2, Y:top+height/2}; //中心点
|
|
32103
|
+
let radius=Math.min(width/2,height/2)-2 //半径
|
|
32104
|
+
let count=Math.max(5,data?data.length:0);
|
|
32105
|
+
let averageAngle=360/count;
|
|
32106
|
+
for(let i=0;i<count;++i)
|
|
32107
|
+
{
|
|
32108
|
+
let ptBorder = { Index: i, Radius: radius, Angle: i * averageAngle + this.StartAngle };
|
|
32109
|
+
let angle = ptBorder.Angle;
|
|
32110
|
+
|
|
32111
|
+
if (data && i<data.length)
|
|
32112
|
+
{
|
|
32113
|
+
var item=data[i];
|
|
32114
|
+
let ptData={Index:i,Text:item.Text};
|
|
32115
|
+
ptBorder.Text=item.Name;
|
|
32116
|
+
if (!item.Value)
|
|
32117
|
+
{
|
|
32118
|
+
ptData.X=ptCenter.X;
|
|
32119
|
+
ptData.Y=ptCenter.Y;
|
|
32120
|
+
}
|
|
32121
|
+
else
|
|
32122
|
+
{
|
|
32123
|
+
var value=item.Value;
|
|
32124
|
+
if (value>=1) value=1;
|
|
32125
|
+
var dataRadius=radius*value;
|
|
32126
|
+
ptData.X=ptCenter.X+dataRadius*Math.cos(angle*Math.PI/180);
|
|
32127
|
+
ptData.Y=ptCenter.Y+dataRadius*Math.sin(angle*Math.PI/180);
|
|
32128
|
+
}
|
|
32129
|
+
|
|
32130
|
+
this.DataPoint.push(ptData);
|
|
32131
|
+
}
|
|
32132
|
+
|
|
32133
|
+
this.BorderPoint.push(ptBorder);
|
|
32134
|
+
}
|
|
32135
|
+
|
|
32136
|
+
this.CenterPoint=ptCenter;
|
|
32137
|
+
}
|
|
32138
|
+
|
|
32139
|
+
//空数据
|
|
32140
|
+
this.DrawEmptyData=function()
|
|
32141
|
+
{
|
|
32142
|
+
JSConsole.Chart.Log('[ChartPie::DrawEmptyData]')
|
|
32143
|
+
}
|
|
32144
|
+
}
|
|
32145
|
+
|
|
31932
32146
|
//分钟成交量 支持横屏
|
|
31933
32147
|
function ChartMinuteVolumBar()
|
|
31934
32148
|
{
|
|
@@ -52556,6 +52770,7 @@ function ChartCorssCursor()
|
|
|
52556
52770
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
52557
52771
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
52558
52772
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
52773
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
52559
52774
|
this.TextHeight=20; //文本字体高度
|
|
52560
52775
|
this.LastPoint;
|
|
52561
52776
|
this.LastValue; //{ Y:{ Value:, Extend: } }
|
|
@@ -52611,6 +52826,7 @@ function ChartCorssCursor()
|
|
|
52611
52826
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
52612
52827
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
52613
52828
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
52829
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
52614
52830
|
}
|
|
52615
52831
|
|
|
52616
52832
|
this.GetCloseYPoint=function(index)
|
|
@@ -52869,10 +53085,10 @@ function ChartCorssCursor()
|
|
|
52869
53085
|
}
|
|
52870
53086
|
|
|
52871
53087
|
var pixel=GetDevicePixelRatio();
|
|
52872
|
-
if (this.HPenType==1 || this.HPenType==0) //0
|
|
53088
|
+
if (this.HPenType==1 || this.HPenType==0) //0=虚线 1=实线
|
|
52873
53089
|
{
|
|
52874
53090
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
52875
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
53091
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
52876
53092
|
//this.Canvas.lineWidth=0.5
|
|
52877
53093
|
this.Canvas.beginPath();
|
|
52878
53094
|
this.Canvas.moveTo(left,ToFixedPoint(y));
|
|
@@ -52885,7 +53101,7 @@ function ChartCorssCursor()
|
|
|
52885
53101
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
52886
53102
|
if (this.VPenType==0)
|
|
52887
53103
|
{
|
|
52888
|
-
this.Canvas.setLineDash(
|
|
53104
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
52889
53105
|
}
|
|
52890
53106
|
else if (this.VPenType==2)
|
|
52891
53107
|
{
|
|
@@ -53480,7 +53696,7 @@ function ChartCorssCursor()
|
|
|
53480
53696
|
var pixel=GetDevicePixelRatio();
|
|
53481
53697
|
this.Canvas.save();
|
|
53482
53698
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
53483
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
53699
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
53484
53700
|
|
|
53485
53701
|
//画竖线
|
|
53486
53702
|
this.Canvas.beginPath();
|
|
@@ -53494,7 +53710,7 @@ function ChartCorssCursor()
|
|
|
53494
53710
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
53495
53711
|
if (this.VPenType==0)
|
|
53496
53712
|
{
|
|
53497
|
-
this.Canvas.setLineDash(
|
|
53713
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
53498
53714
|
}
|
|
53499
53715
|
else if (this.VPenType==2)
|
|
53500
53716
|
{
|
|
@@ -56770,7 +56986,12 @@ function DynamicChartTitlePainting()
|
|
|
56770
56986
|
{
|
|
56771
56987
|
this.Font=g_JSChartResource.TitleFont;
|
|
56772
56988
|
this.TitleColor=g_JSChartResource.DefaultTextColor;
|
|
56989
|
+
this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
|
|
56773
56990
|
this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;
|
|
56991
|
+
|
|
56992
|
+
this.BGColor=g_JSChartResource.IndexTitleBGColor;
|
|
56993
|
+
this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
|
|
56994
|
+
this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
|
|
56774
56995
|
}
|
|
56775
56996
|
|
|
56776
56997
|
this.SetDynamicTitleData=function(outName, args, data)
|
|
@@ -70444,6 +70665,7 @@ function JSChartResource()
|
|
|
70444
70665
|
this.CorssCursorHPenColor="rgb(130,130,130)"; //十字光标线段颜色(水平)
|
|
70445
70666
|
this.CorssCursorVPenColor="rgb(130,130,130)"; //十字光标线段颜色(垂直)
|
|
70446
70667
|
this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)"; //十字光标X轴访问背景色
|
|
70668
|
+
this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()]; //十字光标虚线
|
|
70447
70669
|
|
|
70448
70670
|
this.CorssCursor=
|
|
70449
70671
|
{
|
|
@@ -71864,6 +72086,7 @@ function JSChartResource()
|
|
|
71864
72086
|
if (style.CorssCursorHPenColor) this.CorssCursorHPenColor = style.CorssCursorHPenColor;
|
|
71865
72087
|
if (style.CorssCursorBorderColor) this.CorssCursorBorderColor=style.CorssCursorBorderColor;
|
|
71866
72088
|
if (style.CorssCursorXRangeBGColor) this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;
|
|
72089
|
+
if (style.CorssCursorLineDash) this.CorssCursorLineDash=style.CorssCursorLineDash.slice();
|
|
71867
72090
|
if (style.CorssCursor && style.CorssCursor.RightButton)
|
|
71868
72091
|
{
|
|
71869
72092
|
var item=style.CorssCursor.RightButton;
|
|
@@ -85903,12 +86126,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85903
86126
|
this.CaclutateCallCationYRange();
|
|
85904
86127
|
}
|
|
85905
86128
|
|
|
86129
|
+
//增量更新
|
|
85906
86130
|
this.RecvUpdateMinuteData=function(data)
|
|
85907
86131
|
{
|
|
85908
86132
|
var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
|
|
85909
86133
|
var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);
|
|
85910
|
-
|
|
85911
|
-
this.AfterCloseData=null;
|
|
86134
|
+
|
|
85912
86135
|
var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);
|
|
85913
86136
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
85914
86137
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
@@ -85927,92 +86150,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85927
86150
|
return;
|
|
85928
86151
|
}
|
|
85929
86152
|
|
|
85930
|
-
|
|
86153
|
+
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
86154
|
+
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
85931
86155
|
|
|
86156
|
+
//原始数据
|
|
85932
86157
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
85933
|
-
|
|
85934
|
-
var aryMinuteData=this.SourceData.Data;
|
|
85935
|
-
this.ColorLineData=aryColorData;
|
|
85936
|
-
this.TradeDate=data.stock[0].date;
|
|
85937
|
-
this.Frame.SetDayCount(1); //单日数据
|
|
85938
|
-
this.SourceData.UpdateTime=updateTime;
|
|
85939
|
-
this.Symbol=minuteData.Symbol;
|
|
85940
|
-
this.Name=minuteData.Name;
|
|
85941
|
-
|
|
85942
|
-
this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
|
|
86158
|
+
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
85943
86159
|
|
|
85944
|
-
if (
|
|
85945
|
-
{
|
|
85946
|
-
if (this.BeforeOpenData && this.AfterCloseData)
|
|
85947
|
-
{
|
|
85948
|
-
var max=Math.max(this.BeforeOpenData.VolMax, this.AfterCloseData.VolMax);
|
|
85949
|
-
var min=Math.min(this.BeforeOpenData.VolMin, this.AfterCloseData.VolMin);
|
|
85950
|
-
this.BeforeOpenData.VolMax=this.AfterCloseData.VolMax=max;
|
|
85951
|
-
this.BeforeOpenData.VolMin=this.AfterCloseData.VolMin=min;
|
|
85952
|
-
}
|
|
85953
|
-
}
|
|
85954
|
-
|
|
85955
|
-
var yClose=minuteData.YClose;
|
|
85956
|
-
var upperSymbol=this.Symbol.toUpperCase();
|
|
85957
|
-
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
85958
|
-
if (minuteData.YClearing>0 && isFutures) yClose=minuteData.YClearing; //期货使用前结算价
|
|
85959
|
-
this.CaclutateLimitPrice(yClose, minuteData.LimitPrice); //计算涨停价格
|
|
85960
|
-
var extendData=null;
|
|
85961
|
-
if (minuteData.High>0 && minuteData.Low>0) extendData={ High:minuteData.High, Low:minuteData.Low };
|
|
85962
|
-
this.BindMainData(sourceData,yClose, extendData);
|
|
85963
|
-
|
|
85964
|
-
if (this.Frame.SubFrame.length>2)
|
|
86160
|
+
if (data.AutoUpdate===false) //不执行自动更新
|
|
85965
86161
|
{
|
|
85966
|
-
var bindData=new ChartData();
|
|
85967
|
-
bindData.Data=aryMinuteData;
|
|
85968
|
-
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
85969
|
-
{
|
|
85970
|
-
this.BindIndexData(i,bindData);
|
|
85971
|
-
}
|
|
85972
|
-
}
|
|
85973
86162
|
|
|
85974
|
-
|
|
86163
|
+
}
|
|
86164
|
+
else
|
|
85975
86165
|
{
|
|
85976
|
-
|
|
85977
|
-
|
|
85978
|
-
item.Frame.XSplitOperator.DayCount=1;
|
|
85979
|
-
item.Frame.XSplitOperator.Operator(); //调整X轴个数
|
|
85980
|
-
item.Frame.YSplitOperator.Symbol=this.Symbol;
|
|
85981
|
-
|
|
85982
|
-
if (IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))
|
|
85983
|
-
{
|
|
85984
|
-
for(var j=0;j<item.OverlayIndex.length; ++j) //子坐标X轴个数同步
|
|
85985
|
-
{
|
|
85986
|
-
var overlayItem=item.OverlayIndex[j];
|
|
85987
|
-
overlayItem.Frame.XPointCount=item.Frame.XPointCount;
|
|
85988
|
-
overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;
|
|
85989
|
-
}
|
|
85990
|
-
}
|
|
86166
|
+
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
|
|
86167
|
+
this.AutoUpdate();
|
|
85991
86168
|
}
|
|
85992
|
-
|
|
85993
|
-
this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
|
|
85994
|
-
this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;
|
|
85995
|
-
|
|
85996
|
-
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
|
|
85997
|
-
|
|
85998
|
-
if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
|
|
85999
|
-
|
|
86000
|
-
var chartInfo=this.GetChartMinuteInfo();
|
|
86001
|
-
if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
|
|
86002
|
-
|
|
86003
|
-
this.RecvMinuteDataEvent( {FunctionName:"RecvUpdateMinuteData"} );
|
|
86004
|
-
this.RequestMinuteInfoData();
|
|
86005
|
-
this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
86006
|
-
this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
86007
|
-
|
|
86008
|
-
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
86009
|
-
this.Frame.SetSizeChage(true);
|
|
86010
|
-
this.Draw();
|
|
86011
|
-
|
|
86012
|
-
this.BindAllOverlayIndexData(this.SourceData);
|
|
86013
|
-
|
|
86014
|
-
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
|
|
86015
|
-
this.AutoUpdate();
|
|
86016
86169
|
}
|
|
86017
86170
|
|
|
86018
86171
|
this.RecvMinuteData=function(data)
|
|
@@ -86079,15 +86232,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86079
86232
|
var sourceData=new ChartData();
|
|
86080
86233
|
sourceData.Data=aryMinuteData;
|
|
86081
86234
|
sourceData.UpdateTime=updateTime;
|
|
86235
|
+
this.SourceData=sourceData;
|
|
86082
86236
|
|
|
86083
86237
|
this.ColorLineData=aryColorData;
|
|
86084
86238
|
|
|
86085
|
-
this.
|
|
86239
|
+
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
|
|
86240
|
+
|
|
86241
|
+
if (data.AutoUpdate===false) //不执行自动更新
|
|
86242
|
+
{
|
|
86243
|
+
|
|
86244
|
+
}
|
|
86245
|
+
else
|
|
86246
|
+
{
|
|
86247
|
+
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
|
|
86248
|
+
this.AutoUpdate();
|
|
86249
|
+
}
|
|
86250
|
+
}
|
|
86251
|
+
|
|
86252
|
+
//更新单日分时图
|
|
86253
|
+
this.UpdateMinuteUI=function(stockData, eventData)
|
|
86254
|
+
{
|
|
86255
|
+
this.TradeDate=stockData.date;
|
|
86086
86256
|
this.Frame.SetDayCount(1); //单日数据
|
|
86087
86257
|
|
|
86088
|
-
this.
|
|
86089
|
-
this.
|
|
86090
|
-
this.Name=data.stock[0].name;
|
|
86258
|
+
this.Symbol=stockData.symbol;
|
|
86259
|
+
this.Name=stockData.name;
|
|
86091
86260
|
|
|
86092
86261
|
this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
|
|
86093
86262
|
|
|
@@ -86102,26 +86271,26 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86102
86271
|
}
|
|
86103
86272
|
}
|
|
86104
86273
|
|
|
86105
|
-
var yClose=
|
|
86274
|
+
var yClose=stockData.yclose;
|
|
86106
86275
|
var upperSymbol=this.Symbol.toUpperCase();
|
|
86107
86276
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
86108
|
-
if (
|
|
86109
|
-
this.CaclutateLimitPrice(yClose,
|
|
86277
|
+
if (stockData.yclearing>0 && isFutures) yClose=stockData.yclearing; //期货使用前结算价
|
|
86278
|
+
this.CaclutateLimitPrice(yClose, stockData.limitprice); //计算涨停价格
|
|
86110
86279
|
var extendData=null;
|
|
86111
|
-
if (
|
|
86112
|
-
this.BindMainData(
|
|
86280
|
+
if (stockData.high>0 && stockData.low>0) extendData={ High:stockData.high, Low:stockData.low };
|
|
86281
|
+
this.BindMainData(this.SourceData,yClose, extendData);
|
|
86113
86282
|
|
|
86114
86283
|
if (this.Frame.SubFrame.length>2)
|
|
86115
86284
|
{
|
|
86116
86285
|
var bindData=new ChartData();
|
|
86117
|
-
bindData.Data=
|
|
86286
|
+
bindData.Data=this.SourceData.Data;
|
|
86118
86287
|
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
86119
86288
|
{
|
|
86120
86289
|
this.BindIndexData(i,bindData);
|
|
86121
86290
|
}
|
|
86122
86291
|
}
|
|
86123
86292
|
|
|
86124
|
-
for(
|
|
86293
|
+
for(var i=0, j=0; i<this.Frame.SubFrame.length; ++i)
|
|
86125
86294
|
{
|
|
86126
86295
|
var item=this.Frame.SubFrame[i];
|
|
86127
86296
|
item.Frame.XSplitOperator.Symbol=this.Symbol;
|
|
@@ -86129,7 +86298,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86129
86298
|
item.Frame.XSplitOperator.Operator(); //调整X轴个数
|
|
86130
86299
|
item.Frame.YSplitOperator.Symbol=this.Symbol;
|
|
86131
86300
|
|
|
86132
|
-
for(
|
|
86301
|
+
for(j=0;j<item.OverlayIndex.length;++j) //子坐标X轴个数同步
|
|
86133
86302
|
{
|
|
86134
86303
|
var overlayItem=item.OverlayIndex[j];
|
|
86135
86304
|
overlayItem.Frame.XPointCount=item.Frame.XPointCount;
|
|
@@ -86142,12 +86311,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86142
86311
|
|
|
86143
86312
|
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
|
|
86144
86313
|
|
|
86145
|
-
if (
|
|
86314
|
+
if (stockData.IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
|
|
86146
86315
|
|
|
86147
86316
|
var chartInfo=this.GetChartMinuteInfo();
|
|
86148
86317
|
if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
|
|
86149
86318
|
|
|
86150
|
-
this.RecvMinuteDataEvent(
|
|
86319
|
+
if (eventData) this.RecvMinuteDataEvent( eventData );
|
|
86151
86320
|
this.RequestMinuteInfoData();
|
|
86152
86321
|
this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
86153
86322
|
this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
@@ -86157,16 +86326,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86157
86326
|
this.Draw();
|
|
86158
86327
|
|
|
86159
86328
|
this.BindAllOverlayIndexData(this.SourceData);
|
|
86160
|
-
|
|
86161
|
-
if (data.AutoUpdate===false) //不执行自动更新
|
|
86162
|
-
{
|
|
86163
|
-
|
|
86164
|
-
}
|
|
86165
|
-
else
|
|
86166
|
-
{
|
|
86167
|
-
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
|
|
86168
|
-
this.AutoUpdate();
|
|
86169
|
-
}
|
|
86170
86329
|
}
|
|
86171
86330
|
|
|
86172
86331
|
this.CaclutateLimitPrice=function(yClose, limitData)
|