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
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
|
{
|
|
@@ -41487,6 +41701,7 @@ function ChartDrawSVG()
|
|
|
41487
41701
|
{
|
|
41488
41702
|
var item=this.Texts[i];
|
|
41489
41703
|
var key=this.BuildKey(item);
|
|
41704
|
+
if (!key) continue;
|
|
41490
41705
|
|
|
41491
41706
|
if (mapData.has(key))
|
|
41492
41707
|
{
|
|
@@ -41792,10 +42007,13 @@ function ChartDrawSVG()
|
|
|
41792
42007
|
}
|
|
41793
42008
|
|
|
41794
42009
|
var x,y,price;
|
|
42010
|
+
var setKey=new Set(); //已经画过的Key就不再用了
|
|
41795
42011
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
41796
42012
|
{
|
|
41797
42013
|
var kItem=this.Data.Data[i];
|
|
41798
42014
|
var key=this.BuildKey(kItem);
|
|
42015
|
+
if (setKey.has(key)) continue;
|
|
42016
|
+
|
|
41799
42017
|
if (!this.MapCache.has(key)) continue;
|
|
41800
42018
|
var mapItem=this.MapCache.get(key);
|
|
41801
42019
|
|
|
@@ -41953,6 +42171,8 @@ function ChartDrawSVG()
|
|
|
41953
42171
|
this.Canvas.setLineDash([]);
|
|
41954
42172
|
}
|
|
41955
42173
|
}
|
|
42174
|
+
|
|
42175
|
+
setKey.add(key);
|
|
41956
42176
|
}
|
|
41957
42177
|
}
|
|
41958
42178
|
|
|
@@ -52550,6 +52770,7 @@ function ChartCorssCursor()
|
|
|
52550
52770
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
52551
52771
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
52552
52772
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
52773
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
52553
52774
|
this.TextHeight=20; //文本字体高度
|
|
52554
52775
|
this.LastPoint;
|
|
52555
52776
|
this.LastValue; //{ Y:{ Value:, Extend: } }
|
|
@@ -52605,6 +52826,7 @@ function ChartCorssCursor()
|
|
|
52605
52826
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
52606
52827
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
52607
52828
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
52829
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
52608
52830
|
}
|
|
52609
52831
|
|
|
52610
52832
|
this.GetCloseYPoint=function(index)
|
|
@@ -52863,10 +53085,10 @@ function ChartCorssCursor()
|
|
|
52863
53085
|
}
|
|
52864
53086
|
|
|
52865
53087
|
var pixel=GetDevicePixelRatio();
|
|
52866
|
-
if (this.HPenType==1 || this.HPenType==0) //0
|
|
53088
|
+
if (this.HPenType==1 || this.HPenType==0) //0=虚线 1=实线
|
|
52867
53089
|
{
|
|
52868
53090
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
52869
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
53091
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
52870
53092
|
//this.Canvas.lineWidth=0.5
|
|
52871
53093
|
this.Canvas.beginPath();
|
|
52872
53094
|
this.Canvas.moveTo(left,ToFixedPoint(y));
|
|
@@ -52879,7 +53101,7 @@ function ChartCorssCursor()
|
|
|
52879
53101
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
52880
53102
|
if (this.VPenType==0)
|
|
52881
53103
|
{
|
|
52882
|
-
this.Canvas.setLineDash(
|
|
53104
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
52883
53105
|
}
|
|
52884
53106
|
else if (this.VPenType==2)
|
|
52885
53107
|
{
|
|
@@ -53474,7 +53696,7 @@ function ChartCorssCursor()
|
|
|
53474
53696
|
var pixel=GetDevicePixelRatio();
|
|
53475
53697
|
this.Canvas.save();
|
|
53476
53698
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
53477
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
53699
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
53478
53700
|
|
|
53479
53701
|
//画竖线
|
|
53480
53702
|
this.Canvas.beginPath();
|
|
@@ -53488,7 +53710,7 @@ function ChartCorssCursor()
|
|
|
53488
53710
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
53489
53711
|
if (this.VPenType==0)
|
|
53490
53712
|
{
|
|
53491
|
-
this.Canvas.setLineDash(
|
|
53713
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
53492
53714
|
}
|
|
53493
53715
|
else if (this.VPenType==2)
|
|
53494
53716
|
{
|
|
@@ -56764,7 +56986,12 @@ function DynamicChartTitlePainting()
|
|
|
56764
56986
|
{
|
|
56765
56987
|
this.Font=g_JSChartResource.TitleFont;
|
|
56766
56988
|
this.TitleColor=g_JSChartResource.DefaultTextColor;
|
|
56989
|
+
this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
|
|
56767
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;
|
|
56768
56995
|
}
|
|
56769
56996
|
|
|
56770
56997
|
this.SetDynamicTitleData=function(outName, args, data)
|
|
@@ -70438,6 +70665,7 @@ function JSChartResource()
|
|
|
70438
70665
|
this.CorssCursorHPenColor="rgb(130,130,130)"; //十字光标线段颜色(水平)
|
|
70439
70666
|
this.CorssCursorVPenColor="rgb(130,130,130)"; //十字光标线段颜色(垂直)
|
|
70440
70667
|
this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)"; //十字光标X轴访问背景色
|
|
70668
|
+
this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()]; //十字光标虚线
|
|
70441
70669
|
|
|
70442
70670
|
this.CorssCursor=
|
|
70443
70671
|
{
|
|
@@ -71858,6 +72086,7 @@ function JSChartResource()
|
|
|
71858
72086
|
if (style.CorssCursorHPenColor) this.CorssCursorHPenColor = style.CorssCursorHPenColor;
|
|
71859
72087
|
if (style.CorssCursorBorderColor) this.CorssCursorBorderColor=style.CorssCursorBorderColor;
|
|
71860
72088
|
if (style.CorssCursorXRangeBGColor) this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;
|
|
72089
|
+
if (style.CorssCursorLineDash) this.CorssCursorLineDash=style.CorssCursorLineDash.slice();
|
|
71861
72090
|
if (style.CorssCursor && style.CorssCursor.RightButton)
|
|
71862
72091
|
{
|
|
71863
72092
|
var item=style.CorssCursor.RightButton;
|
|
@@ -85897,12 +86126,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85897
86126
|
this.CaclutateCallCationYRange();
|
|
85898
86127
|
}
|
|
85899
86128
|
|
|
86129
|
+
//增量更新
|
|
85900
86130
|
this.RecvUpdateMinuteData=function(data)
|
|
85901
86131
|
{
|
|
85902
86132
|
var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
|
|
85903
86133
|
var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);
|
|
85904
|
-
|
|
85905
|
-
this.AfterCloseData=null;
|
|
86134
|
+
|
|
85906
86135
|
var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);
|
|
85907
86136
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
85908
86137
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
@@ -85921,92 +86150,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85921
86150
|
return;
|
|
85922
86151
|
}
|
|
85923
86152
|
|
|
85924
|
-
|
|
86153
|
+
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
86154
|
+
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
85925
86155
|
|
|
86156
|
+
//原始数据
|
|
85926
86157
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
85927
|
-
|
|
85928
|
-
var aryMinuteData=this.SourceData.Data;
|
|
85929
|
-
this.ColorLineData=aryColorData;
|
|
85930
|
-
this.TradeDate=data.stock[0].date;
|
|
85931
|
-
this.Frame.SetDayCount(1); //单日数据
|
|
85932
|
-
this.SourceData.UpdateTime=updateTime;
|
|
85933
|
-
this.Symbol=minuteData.Symbol;
|
|
85934
|
-
this.Name=minuteData.Name;
|
|
85935
|
-
|
|
85936
|
-
this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
|
|
85937
|
-
|
|
85938
|
-
if (this.ShareAfterVol==2) //盘前, 盘后成交量公用坐标
|
|
85939
|
-
{
|
|
85940
|
-
if (this.BeforeOpenData && this.AfterCloseData)
|
|
85941
|
-
{
|
|
85942
|
-
var max=Math.max(this.BeforeOpenData.VolMax, this.AfterCloseData.VolMax);
|
|
85943
|
-
var min=Math.min(this.BeforeOpenData.VolMin, this.AfterCloseData.VolMin);
|
|
85944
|
-
this.BeforeOpenData.VolMax=this.AfterCloseData.VolMax=max;
|
|
85945
|
-
this.BeforeOpenData.VolMin=this.AfterCloseData.VolMin=min;
|
|
85946
|
-
}
|
|
85947
|
-
}
|
|
86158
|
+
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
85948
86159
|
|
|
85949
|
-
|
|
85950
|
-
var upperSymbol=this.Symbol.toUpperCase();
|
|
85951
|
-
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
85952
|
-
if (minuteData.YClearing>0 && isFutures) yClose=minuteData.YClearing; //期货使用前结算价
|
|
85953
|
-
this.CaclutateLimitPrice(yClose, minuteData.LimitPrice); //计算涨停价格
|
|
85954
|
-
var extendData=null;
|
|
85955
|
-
if (minuteData.High>0 && minuteData.Low>0) extendData={ High:minuteData.High, Low:minuteData.Low };
|
|
85956
|
-
this.BindMainData(sourceData,yClose, extendData);
|
|
85957
|
-
|
|
85958
|
-
if (this.Frame.SubFrame.length>2)
|
|
86160
|
+
if (data.AutoUpdate===false) //不执行自动更新
|
|
85959
86161
|
{
|
|
85960
|
-
var bindData=new ChartData();
|
|
85961
|
-
bindData.Data=aryMinuteData;
|
|
85962
|
-
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
85963
|
-
{
|
|
85964
|
-
this.BindIndexData(i,bindData);
|
|
85965
|
-
}
|
|
85966
|
-
}
|
|
85967
86162
|
|
|
85968
|
-
|
|
86163
|
+
}
|
|
86164
|
+
else
|
|
85969
86165
|
{
|
|
85970
|
-
|
|
85971
|
-
|
|
85972
|
-
item.Frame.XSplitOperator.DayCount=1;
|
|
85973
|
-
item.Frame.XSplitOperator.Operator(); //调整X轴个数
|
|
85974
|
-
item.Frame.YSplitOperator.Symbol=this.Symbol;
|
|
85975
|
-
|
|
85976
|
-
if (IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))
|
|
85977
|
-
{
|
|
85978
|
-
for(var j=0;j<item.OverlayIndex.length; ++j) //子坐标X轴个数同步
|
|
85979
|
-
{
|
|
85980
|
-
var overlayItem=item.OverlayIndex[j];
|
|
85981
|
-
overlayItem.Frame.XPointCount=item.Frame.XPointCount;
|
|
85982
|
-
overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;
|
|
85983
|
-
}
|
|
85984
|
-
}
|
|
86166
|
+
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
|
|
86167
|
+
this.AutoUpdate();
|
|
85985
86168
|
}
|
|
85986
|
-
|
|
85987
|
-
this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
|
|
85988
|
-
this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;
|
|
85989
|
-
|
|
85990
|
-
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
|
|
85991
|
-
|
|
85992
|
-
if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
|
|
85993
|
-
|
|
85994
|
-
var chartInfo=this.GetChartMinuteInfo();
|
|
85995
|
-
if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
|
|
85996
|
-
|
|
85997
|
-
this.RecvMinuteDataEvent( {FunctionName:"RecvUpdateMinuteData"} );
|
|
85998
|
-
this.RequestMinuteInfoData();
|
|
85999
|
-
this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
86000
|
-
this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
86001
|
-
|
|
86002
|
-
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
86003
|
-
this.Frame.SetSizeChage(true);
|
|
86004
|
-
this.Draw();
|
|
86005
|
-
|
|
86006
|
-
this.BindAllOverlayIndexData(this.SourceData);
|
|
86007
|
-
|
|
86008
|
-
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
|
|
86009
|
-
this.AutoUpdate();
|
|
86010
86169
|
}
|
|
86011
86170
|
|
|
86012
86171
|
this.RecvMinuteData=function(data)
|
|
@@ -86073,15 +86232,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86073
86232
|
var sourceData=new ChartData();
|
|
86074
86233
|
sourceData.Data=aryMinuteData;
|
|
86075
86234
|
sourceData.UpdateTime=updateTime;
|
|
86235
|
+
this.SourceData=sourceData;
|
|
86076
86236
|
|
|
86077
86237
|
this.ColorLineData=aryColorData;
|
|
86078
86238
|
|
|
86079
|
-
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;
|
|
86080
86256
|
this.Frame.SetDayCount(1); //单日数据
|
|
86081
86257
|
|
|
86082
|
-
this.
|
|
86083
|
-
this.
|
|
86084
|
-
this.Name=data.stock[0].name;
|
|
86258
|
+
this.Symbol=stockData.symbol;
|
|
86259
|
+
this.Name=stockData.name;
|
|
86085
86260
|
|
|
86086
86261
|
this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
|
|
86087
86262
|
|
|
@@ -86096,26 +86271,26 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86096
86271
|
}
|
|
86097
86272
|
}
|
|
86098
86273
|
|
|
86099
|
-
var yClose=
|
|
86274
|
+
var yClose=stockData.yclose;
|
|
86100
86275
|
var upperSymbol=this.Symbol.toUpperCase();
|
|
86101
86276
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
86102
|
-
if (
|
|
86103
|
-
this.CaclutateLimitPrice(yClose,
|
|
86277
|
+
if (stockData.yclearing>0 && isFutures) yClose=stockData.yclearing; //期货使用前结算价
|
|
86278
|
+
this.CaclutateLimitPrice(yClose, stockData.limitprice); //计算涨停价格
|
|
86104
86279
|
var extendData=null;
|
|
86105
|
-
if (
|
|
86106
|
-
this.BindMainData(
|
|
86280
|
+
if (stockData.high>0 && stockData.low>0) extendData={ High:stockData.high, Low:stockData.low };
|
|
86281
|
+
this.BindMainData(this.SourceData,yClose, extendData);
|
|
86107
86282
|
|
|
86108
86283
|
if (this.Frame.SubFrame.length>2)
|
|
86109
86284
|
{
|
|
86110
86285
|
var bindData=new ChartData();
|
|
86111
|
-
bindData.Data=
|
|
86286
|
+
bindData.Data=this.SourceData.Data;
|
|
86112
86287
|
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
86113
86288
|
{
|
|
86114
86289
|
this.BindIndexData(i,bindData);
|
|
86115
86290
|
}
|
|
86116
86291
|
}
|
|
86117
86292
|
|
|
86118
|
-
for(
|
|
86293
|
+
for(var i=0, j=0; i<this.Frame.SubFrame.length; ++i)
|
|
86119
86294
|
{
|
|
86120
86295
|
var item=this.Frame.SubFrame[i];
|
|
86121
86296
|
item.Frame.XSplitOperator.Symbol=this.Symbol;
|
|
@@ -86123,7 +86298,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86123
86298
|
item.Frame.XSplitOperator.Operator(); //调整X轴个数
|
|
86124
86299
|
item.Frame.YSplitOperator.Symbol=this.Symbol;
|
|
86125
86300
|
|
|
86126
|
-
for(
|
|
86301
|
+
for(j=0;j<item.OverlayIndex.length;++j) //子坐标X轴个数同步
|
|
86127
86302
|
{
|
|
86128
86303
|
var overlayItem=item.OverlayIndex[j];
|
|
86129
86304
|
overlayItem.Frame.XPointCount=item.Frame.XPointCount;
|
|
@@ -86136,12 +86311,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86136
86311
|
|
|
86137
86312
|
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
|
|
86138
86313
|
|
|
86139
|
-
if (
|
|
86314
|
+
if (stockData.IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
|
|
86140
86315
|
|
|
86141
86316
|
var chartInfo=this.GetChartMinuteInfo();
|
|
86142
86317
|
if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
|
|
86143
86318
|
|
|
86144
|
-
this.RecvMinuteDataEvent(
|
|
86319
|
+
if (eventData) this.RecvMinuteDataEvent( eventData );
|
|
86145
86320
|
this.RequestMinuteInfoData();
|
|
86146
86321
|
this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
86147
86322
|
this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
@@ -86151,16 +86326,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86151
86326
|
this.Draw();
|
|
86152
86327
|
|
|
86153
86328
|
this.BindAllOverlayIndexData(this.SourceData);
|
|
86154
|
-
|
|
86155
|
-
if (data.AutoUpdate===false) //不执行自动更新
|
|
86156
|
-
{
|
|
86157
|
-
|
|
86158
|
-
}
|
|
86159
|
-
else
|
|
86160
|
-
{
|
|
86161
|
-
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
|
|
86162
|
-
this.AutoUpdate();
|
|
86163
|
-
}
|
|
86164
86329
|
}
|
|
86165
86330
|
|
|
86166
86331
|
this.CaclutateLimitPrice=function(yClose, limitData)
|