hqchart 1.1.14050 → 1.1.14056

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.
@@ -1923,7 +1923,7 @@ var width=format.Width;this.Tooltip.style.width=width+"px";this.Tooltip.style.he
1923
1923
  //if (toolTip.ChartPaint.Name=="Overlay-KLine") this.Tooltip.style.height =220+"px";
1924
1924
  this.Tooltip.style.position="absolute";//JSConsole.Chart.Log('[JSChartContainer::ShowTooltip] getBoundingClientRect() ',this.UIElement.getBoundingClientRect())
1925
1925
  if(left+width>this.UIElement.getBoundingClientRect().width)this.Tooltip.style.left=left-width+"px";else this.Tooltip.style.left=left+"px";if(top+xMove+textHeight>this.UIElement.getBoundingClientRect().height-5)this.Tooltip.style.top=top-textHeight+"px";else this.Tooltip.style.top=top+xMove+"px";this.Tooltip.className='jschart-tooltip';this.Tooltip.innerHTML=format.Text;this.Tooltip.style.display="block";this.TooltipCache.IsShow=true;this.TooltipCache.Data={Date:toolTip.Data.Date,Time:toolTip.Data.Time};this.TooltipCache.InnerHTML=format.Text;}else if(toolTip.Type===1)//信息地雷提示信息
1926
- {var scrollPos=GetScrollPosition();var left=x;var top=y;var format=g_DivTooltipDataForamt.Create('KLineInfoDataStringFormat');format.Value=toolTip;format.Symbol=this.Symbol;format.LanguageID=this.LanguageID;if(!format.Operator())return;var width=format.Width;this.Tooltip.className='jchart-klineinfo-tooltip';this.Tooltip.style.position="absolute";if(left+width>this.UIElement.getBoundingClientRect().width){this.Tooltip.style.left=left-width+"px";}else{this.Tooltip.style.left=left+"px";}this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;this.Tooltip.style.display="block";}else if(toolTip.Type==2)//指标信息
1926
+ {if(this.FloatTooltip){this.DrawFloatTooltip({X:x,Y:y,YMove:20/pixelTatio},toolTip);bHideFloatToolip=false;return;}var scrollPos=GetScrollPosition();var left=x;var top=y;var format=g_DivTooltipDataForamt.Create('KLineInfoDataStringFormat');format.Value=toolTip;format.Symbol=this.Symbol;format.LanguageID=this.LanguageID;if(!format.Operator())return;var width=format.Width;this.Tooltip.className='jchart-klineinfo-tooltip';this.Tooltip.style.position="absolute";if(left+width>this.UIElement.getBoundingClientRect().width){this.Tooltip.style.left=left-width+"px";}else{this.Tooltip.style.left=left+"px";}this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;this.Tooltip.style.display="block";}else if(toolTip.Type==2)//指标信息
1927
1927
  {var left=x;var top=y;var format=g_DivTooltipDataForamt.Create('KLineTradeDataStringFormat');format.Value=toolTip;format.Symbol=this.Symbol;format.LanguageID=this.LanguageID;if(!format.Operator())return;var width=format.Width;this.Tooltip.className='jchart-klinetrade-tooltip';this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;;this.Tooltip.style.display="block";}else if(toolTip.Type==3)//分时图异动信息
1928
1928
  {var left=x;var top=y;var format=g_DivTooltipDataForamt.Create('MinuteInfoDataStringFormat');format.Value=toolTip;format.Symbol=this.Symbol;format.LanguageID=this.LanguageID;if(!format.Operator())return;var width=format.Width;this.Tooltip.className='jchart-minuteinfo-tooltip';//分时图异动
1929
1929
  this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;;this.Tooltip.style.display="block";}else if(toolTip.Type==4)//icon图标信息
@@ -2438,7 +2438,7 @@ if(!IFrameSplitOperator.IsNonEmptyArray(item.AreaData.Value)||item.AreaData.Valu
2438
2438
  {rtBG.Width=this.YRightTextInfo.MainTextWidth-1;rtBG.Right=rtBG.Left+rtBG.Width;}else{rtBG.Right=border.ChartWidth;rtBG.Width=rtBG.Right-rtBG.Left;}if(IFrameSplitOperator.IsNonEmptyArray(item.AreaData.Width))//指定宽度
2439
2439
  {var bgWidth=item.AreaData.Width[1];if(IFrameSplitOperator.IsNumber(bgWidth)){if(rtBG.Width>bgWidth){rtBG.Width=bgWidth;rtBG.Right=rtBG.Left+rtBG.Width;}}}this.Canvas.fillStyle=item.AreaData.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);this.DrawCustomAreaText(rtBG,item,1);}};this.DrawCustomAreaText=function(rtBG,item,position)//position 0=左 1=右
2440
2440
  {if(item.Font!=null)this.Canvas.font=item.Font;var fontHeight=this.GetFontHeight();if(rtBG.Height<fontHeight)return;var pixelTatio=GetDevicePixelRatio();var text,xText;if(position==0){if(!item.Message[0])return;this.Canvas.textAlign="right";text=item.Message[0];xText=rtBG.Right-2*pixelTatio;}else if(position==1){if(!item.Message[1])return;this.Canvas.textAlign="left";text=item.Message[1];xText=rtBG.Left+2*pixelTatio;}var yText=rtBG.Top+rtBG.Height/2;this.Canvas.textBaseline="middle";this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(text,xText,yText);};this.SendDrawCountDownEvent=function(sendData){if(!this.GetEventCallback)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_COUNTDOWN);if(!event||!event.Callback)return false;event.Callback(event,sendData,this);return true;};this.DrawDotLine=function(left,right,y,color,option){var pixelTatio=GetDevicePixelRatio();this.Canvas.save();this.Canvas.strokeStyle=color;if(option&&IFrameSplitOperator.IsPlusNumber(option.LineWidth))this.Canvas.lineWidth=option.LineWidth*pixelTatio;if(option.LineDash)this.Canvas.setLineDash(option.LineDash);else this.Canvas.setLineDash([5*pixelTatio,5*pixelTatio]);//虚线
2441
- this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(y),left);this.Canvas.lineTo(ToFixedPoint(y),right);}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}this.Canvas.stroke();this.Canvas.restore();};this.DrawLine=function(left,right,y,color,lineType,option){if(lineType==-1)return;if(lineType==0){var pixelRatio=GetDevicePixelRatio();this.Canvas.strokeStyle=color;var bChangeLineWidth=false;if(option&&IFrameSplitOperator.IsPlusNumber(option.LineWidth)){this.Canvas.lineWidth=option.LineWidth*pixelRatio;bChangeLineWidth=true;}this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(y),left);this.Canvas.lineTo(ToFixedPoint(y),right);}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}this.Canvas.stroke();if(bChangeLineWidth){this.Canvas.lineWidth=pixelRatio;}}else if(lineType==2)//绘制短线
2441
+ this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(y),left);this.Canvas.lineTo(ToFixedPoint(y),right);}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}this.Canvas.stroke();this.Canvas.restore();};this.DrawLine=function(left,right,y,color,lineType,option){if(lineType==-1)return;if(lineType==0){var pixelRatio=GetDevicePixelRatio();this.Canvas.strokeStyle=color;var bChangeLineWidth=false;if(option&&IFrameSplitOperator.IsPlusNumber(option.LineWidth)){this.Canvas.lineWidth=option.LineWidth*pixelRatio;bChangeLineWidth=true;}this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(y),left);this.Canvas.lineTo(ToFixedPoint(y),right);}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}this.Canvas.stroke();if(bChangeLineWidth){this.Canvas.lineWidth=pixelRatio;}}else if(lineType==3)//绘制短线
2442
2442
  {var lineWidth=10*GetDevicePixelRatio();this.Canvas.strokeStyle=color;this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(y),left);this.Canvas.lineTo(ToFixedPoint(y),left+lineWidth);}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(left+lineWidth,ToFixedPoint(y));}this.Canvas.stroke();}else{this.DrawDotLine(left,right,y,color,option);}};this.DrawHScreenText=function(center,data){this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=data.Color;this.Canvas.save();this.Canvas.translate(center.X,center.Y);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(data.Text,data.XOffset,data.YOffset);this.Canvas.restore();};this.RGBToStruct=function(rgb){if(/^(rgb|RGB)/.test(rgb)){var aColor=rgb.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");var result={};if(aColor.length!=3)return null;result.R=Number(aColor[0]);result.G=Number(aColor[1]);result.B=Number(aColor[2]);return result;}return null;};this.GetMulitTextMaxWidth=function(aryData){var width=null;for(var i=0;i<aryData.length;++i){var item=aryData[i];var text=item.Text;if(!text)continue;var value=this.Canvas.measureText(text).width;if(width==null)width=value;else if(width<value)width=value;}return width;};this.GetScaleTextWidth=function(){var border=this.ChartBorder.GetBorder();var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
2443
2443
  if(this.IsHScreen){var borderTop=this.ChartBorder.Top;var borderBottom=this.ChartBorder.Bottom;var isDrawLeft=borderTop>10*pixelTatio&&this.IsShowYText[0]===true&&this.YTextPosition[0]!=2;var isDrawRight=borderBottom>10*pixelTatio&&this.IsShowYText[1]===true&&this.YTextPosition[1]!=2;}else{var borderRight=this.ChartBorder.Right;var borderLeft=this.ChartBorder.Left;var isDrawLeft=borderLeft>10&&this.IsShowYText[0]===true&&this.YTextPosition[0]!=2;var isDrawRight=borderRight>10&&this.IsShowYText[1]===true&&this.YTextPosition[1]!=2;}if(!isDrawRight&&!isDrawLeft)return null;var width={Left:null,Right:null};var rightExtendWidth=0;var isYPercentage=false;//是否是百分比坐标
2444
2444
  if(this.YSplitOperator&&this.YSplitOperator.CoordinateType==1)isYPercentage=true;var leftExtendLineWidth=0;var rightExtendLineWidth=0;if(IFrameSplitOperator.IsNonEmptyArray(this.YLineExtend)){if(this.YLineExtend[0]&&this.YLineExtend[0].Width>1)leftExtendLineWidth=this.YLineExtend[0].Width;if(this.YLineExtend[1]&&this.YLineExtend[1].Width>1)rightExtendLineWidth=this.YLineExtend[1].Width;}for(var i=0;i<this.HorizontalInfo.length;++i){var textWidth=null;var item=this.HorizontalInfo[i];if(!item)continue;if(item.Font!=null)this.Canvas.font=item.Font;if(item.Message[0]!=null&&isDrawLeft){if(Array.isArray(item.Message[0])){textWidth=this.GetMulitTextMaxWidth(item.Message[0]);}else{textWidth=this.Canvas.measureText(item.Message[0]).width;}if(width.Left==null||width.Left<textWidth)width.Left=textWidth;//JSConsole.Chart.Log(`[ChartData::GetScaleTextWidth] ${item.Message[0]} ${textWidth}`);
@@ -13931,7 +13931,8 @@ this.FormatPosition=function(position,TitleID){//持仓
13931
13931
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--.--',Color:this.PositionColor};if(!IFrameSplitOperator.IsNumber(position))return item;item.Text=position.toFixed(0);return item;};//结算价
13932
13932
  this.ForamtFClose=function(value,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--.--',Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(value))return item;item.Text=value.toFixed(defaultfloatPrecision);return item;};}//浮动K线提示信息
13933
13933
  function JSFloatTooltip(){this.DivDialog=null;this.Style=0;//0=一行一个, 1=2行一个
13934
- this.HQChart=null;this.MaxRowCount=20;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.BGColor=g_JSChartResource.FloatTooltip.BGColor;this.BorderColor=g_JSChartResource.FloatTooltip.BorderColor;this.TextColor=g_JSChartResource.FloatTooltip.TextColor;this.ValueColor=g_JSChartResource.FloatTooltip.ValueColor;this.VolColor=g_JSChartResource.FloatTooltip.VolColor;this.AmountColor=g_JSChartResource.FloatTooltip.AmountColor;this.TurnoverRateColor=g_JSChartResource.FloatTooltip.TurnoverRateColor;this.PositionColor=g_JSChartResource.FloatTooltip.PositionColor;this.DateTimeColor=g_JSChartResource.FloatTooltip.DateTimeColor;this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.AryData=[];//输出文字信息
13934
+ this.HQChart=null;this.MaxRowCount=25;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.BGColor=g_JSChartResource.FloatTooltip.BGColor;this.BorderColor=g_JSChartResource.FloatTooltip.BorderColor;this.TextColor=g_JSChartResource.FloatTooltip.TextColor;this.ValueColor=g_JSChartResource.FloatTooltip.ValueColor;this.VolColor=g_JSChartResource.FloatTooltip.VolColor;this.AmountColor=g_JSChartResource.FloatTooltip.AmountColor;this.TurnoverRateColor=g_JSChartResource.FloatTooltip.TurnoverRateColor;this.PositionColor=g_JSChartResource.FloatTooltip.PositionColor;this.DateTimeColor=g_JSChartResource.FloatTooltip.DateTimeColor;this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.ValueAlign={Left:"UMyChart_Tooltip_Float_Text2_Span",//左对齐
13935
+ MarginLeft:'UMyChart_Tooltip_Float_Text3_Span',Right:"UMyChart_Tooltip_Float_Text_Span"};this.AryData=[];//输出文字信息
13935
13936
  this.AryText=[];//表格tr
13936
13937
  this.KItemCache=null;//{ Symbol:, Item:, Name }
13937
13938
  this.KItemCacheID=null;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;}};this.Destroy=function(){this.AryData=[];this.AryText=[];this.KItemCache=null;this.KItemCacheID=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Show=function(x,y){if(!this.DivDialog)return;if(!this.HQChart)return;var rtClient=this.HQChart.UIElement.getBoundingClientRect();var left=x+rtClient.left,top=y+rtClient.top;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=left-this.DivDialog.offsetWidth;if(bottom+5>=window.innerHeight)top=0;this.DivDialog.style.top=top+"px";this.DivDialog.style.left=left+"px";if(this.DivDialog.style.visibility!='visible')this.DivDialog.style.visibility='visible';};this.Hide=function(){if(!this.DivDialog)return;this.KItemCache=null;this.KItemCacheID=null;if(this.DivDialog.style.visibility!='hidden')this.DivDialog.style.visibility='hidden';};this.Create=function(){var divDom=document.createElement("div");divDom.className='UMyChart_Tooltip_Float_Div';var table=document.createElement("table");table.className="UMyChart_Tooltip_Float_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_Tooltip_Float_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null,TitleTd:null,TextTd:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Float_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Float_Title_Td";//标题
@@ -13939,17 +13940,33 @@ trDom.appendChild(tdDom);rowItem.TitleTd=tdDom;var spanDom=document.createElemen
13939
13940
  trDom.appendChild(tdDom);rowItem.TextTd=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Float_Text_Span';spanDom.innerText='数值';tdDom.appendChild(spanDom);rowItem.TextSpan=spanDom;this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivDialog=divDom;this.UpdateStyle();};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};//data={ Symbol, Date, Time} 是否是同一条K线
13940
13941
  this.IsEqualHQID=function(data){if(!this.KItemCache)return false;if(!data)return false;if(!this.KItemCache.Item)return false;var kItem=this.KItemCache.Item;if(this.KItemCache.Symbol!=data.Symbol)return false;if(kItem.Date!=data.Date)return false;if(IFrameSplitOperator.IsNumber(kItem.Time)){if(kItem.Time!=data.Time)return false;}return true;};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;//this.UpdateTableDOM();
13941
13942
  };//更新数据
13942
- this.Update=function(data){if(!this.DivDialog)return;this.LanguageID=this.HQChart.LanguageID;if(data.DataType==1){var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==0){this.UpdateKLineToolitp(data);}}else if(data.DataType==2)//更新实时行情数据
13943
+ this.Update=function(data){if(!this.DivDialog)return;this.LanguageID=this.HQChart.LanguageID;if(data.DataType==1){var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==0)//K线信息
13944
+ {this.UpdateKLineToolitp(data);}else if(tooltipData.Type==1)//信息地雷
13945
+ {this.UpdateKLineInfoTooltip(data);}}else if(data.DataType==2)//更新实时行情数据
13943
13946
  {this.UpdateRealtimeHQTooltip(data);}};this.UpdateRealtimeHQTooltip=function(data){if(!this.KItemCache)return;var kItem={Symbol:data.Symbol,Name:this.KItemCache.Name,Item:data.Data,IsOverlay:this.KItemCache.IsOverlay};var strKItem=(0,_stringify2.default)(kItem);var bUpdata=false;if(this.KItemCacheID!=strKItem)//数据变动的才更新
13944
- {this.KItemCache=kItem;this.KItemCacheID=strKItem;bUpdata=true;}if(bUpdata){this.UpdateTableDOM();}};this.UpdateKLineToolitp=function(data){var tooltipData=data.Tooltip;var symbol=data.Symbol;var name=data.Name;var bOverlay=false;//是否是叠加指标
13947
+ {this.KItemCache=kItem;this.KItemCacheID=strKItem;this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);bUpdata=true;}if(bUpdata){this.UpdateTableDOM();}};//K线提示信息
13948
+ this.UpdateKLineToolitp=function(data){var tooltipData=data.Tooltip;var symbol=data.Symbol;var name=data.Name;var bOverlay=false;//是否是叠加指标
13945
13949
  if(tooltipData.ChartPaint.Name=="Overlay-KLine"){symbol=tooltipData.ChartPaint.Symbol;name=tooltipData.ChartPaint.Title;bOverlay=true;}var kItem={Symbol:symbol,Name:name,Item:CloneData(tooltipData.Data),IsOverlay:bOverlay};var strKItem=(0,_stringify2.default)(kItem);var bUpdata=false;if(this.KItemCacheID!=strKItem)//数据变动的才更新
13946
- {this.KItemCache=kItem;this.KItemCacheID=strKItem;bUpdata=true;}if(bUpdata){this.UpdateTableDOM();}if(data.Point){var x=data.Point.X;var y=data.Point.Y+data.Point.YMove;this.Show(x,y);}};this.UpdateTableDOM=function(){if(!this.KItemCache)return;if(this.HQChart.ClassName=='KLineChartContainer')this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);else return;var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TextColor;item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.TextSpan.className!="UMyChart_Tooltip_Float_Text_Span")item.TextSpan.className="UMyChart_Tooltip_Float_Text_Span";}item.Tr.style.display="";if(item.Tr2)item.Tr2.style.display="";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";if(item.Tr2)item.Tr2.style.display="none";}};this.GetFormatKLineTooltipText=function(kItem){var data=kItem.Item;var symbol=kItem.Symbol;var upperSymbol=symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
13950
+ {this.KItemCache=kItem;this.KItemCacheID=strKItem;this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);bUpdata=true;}if(bUpdata){this.UpdateTableDOM();}if(data.Point){var x=data.Point.X;var y=data.Point.Y+data.Point.YMove;this.Show(x,y);}};this.UpdateTableDOM=function(){var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TextColor;item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.TextSpan.className!=this.ValueAlign.Right)item.TextSpan.className=this.ValueAlign.Right;}item.Tr.style.display="";if(item.Tr2)item.Tr2.style.display="";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";if(item.Tr2)item.Tr2.style.display="none";}};this.GetFormatKLineTooltipText=function(kItem){var data=kItem.Item;var symbol=kItem.Symbol;var upperSymbol=symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
13947
13951
  //日期
13948
13952
  var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'FloatTooltip-Date');//时间
13949
- var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'FloatTooltip-Time');var overlayItem=null;if(kItem.IsOverlay)overlayItem={Title:"",Text:kItem.Name,Color:this.TextColor,ClassName:"UMyChart_Tooltip_Float_Text2_Span"};var yClose=data.YClose;//昨收价|昨结算价
13953
+ var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'FloatTooltip-Time');var overlayItem=null;if(kItem.IsOverlay)overlayItem={Title:"",Text:kItem.Name,Color:this.TextColor,ClassName:this.ValueAlign.Left};var yClose=data.YClose;//昨收价|昨结算价
13950
13954
  var aryText=[this.ForamtPrice(data.Open,yClose,defaultfloatPrecision,'FloatTooltip-Open'),this.ForamtPrice(data.High,yClose,defaultfloatPrecision,'FloatTooltip-High'),this.ForamtPrice(data.Low,yClose,defaultfloatPrecision,'FloatTooltip-Low'),this.ForamtPrice(data.Close,yClose,defaultfloatPrecision,'FloatTooltip-Close'),this.ForamtPrice(data.YClose,data.YClose,defaultfloatPrecision,'FloatTooltip-YClose'),this.FormatVol(data.Vol,'FloatTooltip-Vol'),this.FormatAmount(data.Amount,'FloatTooltip-Amount'),this.FormatIncrease(data.Close,yClose,defaultfloatPrecision,'FloatTooltip-Increase'),this.FormatAmplitude(data.High,data.Low,yClose,defaultfloatPrecision,'FloatTooltip-Amplitude')];if(timeItem)aryText.unshift(timeItem);aryText.unshift(dateItem);if(overlayItem)aryText.unshift(overlayItem);//换手率
13951
13955
  if(MARKET_SUFFIX_NAME.IsSHSZStockA(upperSymbol)&&data.FlowCapital>0){aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'FloatTooltip-Exchange'));}//持仓量 结算价
13952
- if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){aryText.push(this.FormatPosition(data.Position,'FloatTooltip-Position'));aryText.push(this.ForamtFClose(data.FClose,defaultfloatPrecision,'FloatTooltip-FClose'));aryText.push(this.ForamtFClose(data.YFClose,defaultfloatPrecision,'FloatTooltip-YSettlePrice'));}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_FLOAT_TOOLTIP);if(event&&event.Callback){var sendData={AryText:aryText,Data:kItem,HQChart:this.HQChart};event.Callback(event,sendData,this);}return aryText;};/////////////////////////////////////////////////////////////////////////////////////////////
13956
+ if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){aryText.push(this.FormatPosition(data.Position,'FloatTooltip-Position'));aryText.push(this.ForamtFClose(data.FClose,defaultfloatPrecision,'FloatTooltip-FClose'));aryText.push(this.ForamtFClose(data.YFClose,defaultfloatPrecision,'FloatTooltip-YSettlePrice'));}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_FLOAT_TOOLTIP);if(event&&event.Callback){var sendData={AryText:aryText,Data:kItem,HQChart:this.HQChart};event.Callback(event,sendData,this);}return aryText;};//信息地雷
13957
+ this.UpdateKLineInfoTooltip=function(data){var tooltipData=data.Tooltip;var symbol=data.Symbol;var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
13958
+ var aryData=tooltipData.Data.Data;var aryText=[];//输出内容
13959
+ for(var i=0;i<aryData.length;++i){var item=aryData[i];var infoType=item.InfoType;switch(infoType){case KLINE_INFO_TYPE.BLOCKTRADING:this.FormatBlockTradingText(item,defaultfloatPrecision,aryText);break;case KLINE_INFO_TYPE.TRADEDETAIL:this.FormatTradeDetailText(item,defaultfloatPrecision,aryText);break;case KLINE_INFO_TYPE.RESEARCH:this.FormatResearchText(item,aryText);break;case KLINE_INFO_TYPE.PFORECAST:this.FormatPerformanceForecastText(item,aryText);break;default:this.FormatDefaultKLineInfoText(item,aryText);break;}}this.AryText=aryText;this.UpdateTableDOM();if(data.Point){var x=data.Point.X;var y=data.Point.Y+data.Point.YMove;this.Show(x,y);}};/////////////////////////////////////////////////////////////////////////////////////////////
13960
+ // 公告数据格式化
13961
+ this.FormatDefaultKLineInfoText=function(item,aryOut){var title;var strDate=IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD");if(IFrameSplitOperator.IsNumber(item.Time)){var strTime=IFrameSplitOperator.FormatTimeString(item.Time);title=strDate+' '+strTime;}else{title=strDate;}var item={Title:title,//日期
13962
+ Text:item.Title,//标题
13963
+ Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);};//大宗交易
13964
+ this.FormatBlockTradingText=function(data,floatPrecision,aryOut){var item={Title:"",Text:"大宗交易",Color:this.TextColor,ClassName:this.ValueAlign.Left};aryOut.push(item);var item={Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"),Color:this.ValueColor};aryOut.push(item);var extendata=data.ExtendData;var item={Title:"成交价:",Text:extendata.Price.toFixed(floatPrecision),Color:this.ValueColor};aryOut.push(item);var item={Title:"收盘价:",Text:extendata.ClosePrice.toFixed(floatPrecision),Color:this.ValueColor};aryOut.push(item);var item={Title:"溢折价率:",Text:extendata.Premium.toFixed(2),Color:this.GetColor(extendata.Premium,0)};aryOut.push(item);var item={Title:"成交量:",Text:IFrameSplitOperator.FormatValueStringV2(extendata.Vol,0,2,this.LanguageID),Color:this.VolColor};aryOut.push(item);};//龙虎榜
13965
+ this.FormatTradeDetailText=function(data,floatPrecision,aryOut){if(!data.ExtendData)return;var extendata=data.ExtendData;if(!IFrameSplitOperator.IsNonEmptyArray(extendata.Detail))return;var item={Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"),Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);for(var i=0;i<extendata.Detail.length;++i){var resItem=extendata.Detail[i];if(i==0)var item={Title:"上榜原因:",Text:resItem.TypeExplain,Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};else var item={Title:"",Text:resItem.TypeExplain,Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);}if(extendata.FWeek){var value=extendata.FWeek.Week1;if(IFrameSplitOperator.IsNumber(value)){var item={Title:"一周后涨幅:",Text:value.toFixed(2)+'%',Color:this.GetColor(value,0),ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);}var value=extendata.FWeek.Week4;if(IFrameSplitOperator.IsNumber(value)){var item={Title:"四周后涨幅:",Text:value.toFixed(2)+'%',Color:this.GetColor(value,0),ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);}}};//调研
13966
+ this.FormatResearchText=function(data,aryOut){if(!data.ExtendData)return;var extendata=data.ExtendData;var item={Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"),Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);if(IFrameSplitOperator.IsNonEmptyArray(extendata.Level)){var strLevel="";for(var i=0;i<extendata.Level.length;++i){var value=extendata.Level[i];if(strLevel.length>0)strLevel+=",";if(value==0)strLevel+="证券代表";else if(value==1)strLevel+="董秘";else if(value==2)strLevel+="总经理";else if(value==3)strLevel+="董事长";}var item={Title:"接待人员:",Text:strLevel,Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);}else{var item={Title:"接待人员",Text:"----",Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);}if(extendata.Type){var item={Title:"",Text:extendata.Type,Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);}};//业绩预告
13967
+ this.FormatPerformanceForecastText=function(data,aryOut){if(!data.ExtendData)return;var extendata=data.ExtendData;var reportDate=extendata.ReportDate;if(!reportDate)return;var year=parseInt(reportDate/10000);//年份
13968
+ var day=reportDate%10000;//日期
13969
+ var reportType="----";if(day==1231)reportType='年报';else if(day==331)reportType='一季度报';else if(day==630)reportType="半年度报";else if(day==930)reportType="三季度报";var item={Title:"业绩预告:",Text:data.Title,Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);var item={Title:"年份:",Text:''+year,Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);var item={Title:"类型:",Text:reportType,Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};aryOut.push(item);};/////////////////////////////////////////////////////////////////////////////////////////////
13953
13970
  //数据格式化
13954
13971
  this.ForamtPrice=function(price,yClose,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(price))return item;item.Text=price.toFixed(defaultfloatPrecision);item.Color=this.GetColor(price,yClose);return item;};this.ForamtValue=function(value,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(value))return item;item.Text=IFrameSplitOperator.FormatValueStringV2(value,defaultfloatPrecision,2,this.LanguageID);return item;};this.FormatVol=function(vol,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.VolColor};if(!IFrameSplitOperator.IsNumber(vol))return item;item.Text=IFrameSplitOperator.FormatValueStringV2(vol,0,2,this.LanguageID);return item;};this.FormatAmount=function(amount,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.AmountColor};if(!IFrameSplitOperator.IsNumber(amount))return item;item.Text=IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);return item;};this.FormatIncrease=function(price,yClose,defaultfloatPrecision,TitleID){//涨幅
13955
13972
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(yClose))return item;var diffValue=price-yClose;var value=(price-yClose)/yClose;item.Text=(value*100).toFixed(2)+'%';item.Color=this.GetColor(value,0);return item;};this.FormatRisefall=function(price,yClose,defaultfloatPrecision,TitleID){//涨跌
@@ -14006,7 +14023,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
14006
14023
  this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
14007
14024
  * 版本信息输出
14008
14025
  *
14009
- */var HQCHART_VERSION="1.1.14049";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14026
+ */var HQCHART_VERSION="1.1.14055";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14010
14027
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
14011
14028
  // BaseIndex:BaseIndex,
14012
14029
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14050",
3
+ "version": "1.1.14056",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -945,7 +945,7 @@ function JSFloatTooltip()
945
945
  this.Style=0; //0=一行一个, 1=2行一个
946
946
 
947
947
  this.HQChart=null;
948
- this.MaxRowCount=20;
948
+ this.MaxRowCount=25;
949
949
 
950
950
  this.UpColor=g_JSChartResource.UpTextColor;
951
951
  this.DownColor=g_JSChartResource.DownTextColor;
@@ -964,6 +964,13 @@ function JSFloatTooltip()
964
964
  this.DateTimeColor=g_JSChartResource.FloatTooltip.DateTimeColor;
965
965
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
966
966
 
967
+ this.ValueAlign=
968
+ {
969
+ Left:"UMyChart_Tooltip_Float_Text2_Span", //左对齐
970
+ MarginLeft:'UMyChart_Tooltip_Float_Text3_Span',
971
+ Right:"UMyChart_Tooltip_Float_Text_Span"
972
+ }
973
+
967
974
  this.AryData=[]; //输出文字信息
968
975
  this.AryText=[]; //表格tr
969
976
 
@@ -1125,10 +1132,14 @@ function JSFloatTooltip()
1125
1132
  var tooltipData=data.Tooltip;
1126
1133
  if (!tooltipData) return;
1127
1134
 
1128
- if (tooltipData.Type==0)
1135
+ if (tooltipData.Type==0) //K线信息
1129
1136
  {
1130
1137
  this.UpdateKLineToolitp(data);
1131
1138
  }
1139
+ else if (tooltipData.Type==1) //信息地雷
1140
+ {
1141
+ this.UpdateKLineInfoTooltip(data);
1142
+ }
1132
1143
  }
1133
1144
  else if (data.DataType==2) //更新实时行情数据
1134
1145
  {
@@ -1148,6 +1159,7 @@ function JSFloatTooltip()
1148
1159
  {
1149
1160
  this.KItemCache= kItem;
1150
1161
  this.KItemCacheID=strKItem;
1162
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
1151
1163
  bUpdata=true;
1152
1164
  }
1153
1165
 
@@ -1157,6 +1169,7 @@ function JSFloatTooltip()
1157
1169
  }
1158
1170
  }
1159
1171
 
1172
+ //K线提示信息
1160
1173
  this.UpdateKLineToolitp=function(data)
1161
1174
  {
1162
1175
  var tooltipData=data.Tooltip;
@@ -1177,6 +1190,7 @@ function JSFloatTooltip()
1177
1190
  {
1178
1191
  this.KItemCache= kItem;
1179
1192
  this.KItemCacheID=strKItem;
1193
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
1180
1194
  bUpdata=true;
1181
1195
  }
1182
1196
 
@@ -1195,13 +1209,6 @@ function JSFloatTooltip()
1195
1209
 
1196
1210
  this.UpdateTableDOM=function()
1197
1211
  {
1198
- if (!this.KItemCache) return;
1199
-
1200
- if (this.HQChart.ClassName=='KLineChartContainer')
1201
- this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
1202
- else
1203
- return;
1204
-
1205
1212
  var index=0;
1206
1213
  for(index=0;index<this.AryText.length && index<this.MaxRowCount;++index)
1207
1214
  {
@@ -1219,7 +1226,7 @@ function JSFloatTooltip()
1219
1226
  }
1220
1227
  else
1221
1228
  {
1222
- if (item.TextSpan.className!="UMyChart_Tooltip_Float_Text_Span") item.TextSpan.className="UMyChart_Tooltip_Float_Text_Span"
1229
+ if (item.TextSpan.className!=this.ValueAlign.Right) item.TextSpan.className=this.ValueAlign.Right;
1223
1230
  }
1224
1231
 
1225
1232
  item.Tr.style.display="";
@@ -1234,6 +1241,7 @@ function JSFloatTooltip()
1234
1241
  }
1235
1242
  }
1236
1243
 
1244
+
1237
1245
  this.GetFormatKLineTooltipText=function(kItem)
1238
1246
  {
1239
1247
  var data=kItem.Item;
@@ -1250,7 +1258,7 @@ function JSFloatTooltip()
1250
1258
 
1251
1259
  var overlayItem=null;
1252
1260
  if (kItem.IsOverlay)
1253
- overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:"UMyChart_Tooltip_Float_Text2_Span" };
1261
+ overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:this.ValueAlign.Left };
1254
1262
 
1255
1263
 
1256
1264
  var yClose=data.YClose; //昨收价|昨结算价
@@ -1297,6 +1305,208 @@ function JSFloatTooltip()
1297
1305
  }
1298
1306
 
1299
1307
 
1308
+ //信息地雷
1309
+ this.UpdateKLineInfoTooltip=function(data)
1310
+ {
1311
+ var tooltipData=data.Tooltip;
1312
+ var symbol=data.Symbol;
1313
+ var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
1314
+
1315
+ var aryData=tooltipData.Data.Data;
1316
+ var aryText=[]; //输出内容
1317
+ for(var i=0;i<aryData.length;++i)
1318
+ {
1319
+ var item=aryData[i];
1320
+ var infoType=item.InfoType;
1321
+ switch(infoType)
1322
+ {
1323
+ case KLINE_INFO_TYPE.BLOCKTRADING:
1324
+ this.FormatBlockTradingText(item, defaultfloatPrecision, aryText);
1325
+ break;
1326
+ case KLINE_INFO_TYPE.TRADEDETAIL:
1327
+ this.FormatTradeDetailText(item,defaultfloatPrecision,aryText);
1328
+ break;
1329
+ case KLINE_INFO_TYPE.RESEARCH:
1330
+ this.FormatResearchText(item, aryText);
1331
+ break;
1332
+ case KLINE_INFO_TYPE.PFORECAST:
1333
+ this.FormatPerformanceForecastText(item,aryText);
1334
+ break;
1335
+ default:
1336
+ this.FormatDefaultKLineInfoText(item, aryText);
1337
+ break;
1338
+ }
1339
+ }
1340
+
1341
+ this.AryText=aryText;
1342
+
1343
+ this.UpdateTableDOM();
1344
+
1345
+ if (data.Point)
1346
+ {
1347
+ var x=data.Point.X;
1348
+ var y=data.Point.Y+data.Point.YMove;
1349
+ this.Show(x, y);
1350
+ }
1351
+ }
1352
+
1353
+
1354
+ /////////////////////////////////////////////////////////////////////////////////////////////
1355
+ // 公告数据格式化
1356
+
1357
+ this.FormatDefaultKLineInfoText=function(item, aryOut)
1358
+ {
1359
+ var title;
1360
+ var strDate=IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD");
1361
+ if (IFrameSplitOperator.IsNumber(item.Time))
1362
+ {
1363
+ var strTime=IFrameSplitOperator.FormatTimeString(item.Time);
1364
+ title=`${strDate} ${strTime}`;
1365
+ }
1366
+ else
1367
+ {
1368
+ title=strDate;
1369
+ }
1370
+
1371
+ var item=
1372
+ {
1373
+ Title:title, //日期
1374
+ Text:item.Title, //标题
1375
+ Color:this.ValueColor,
1376
+ ClassName:this.ValueAlign.MarginLeft
1377
+ };
1378
+
1379
+ aryOut.push(item);
1380
+ }
1381
+
1382
+ //大宗交易
1383
+ this.FormatBlockTradingText=function(data, floatPrecision, aryOut)
1384
+ {
1385
+ var item={ Title:"", Text:"大宗交易", Color:this.TextColor, ClassName:this.ValueAlign.Left };
1386
+ aryOut.push(item);
1387
+
1388
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor };
1389
+ aryOut.push(item);
1390
+
1391
+ var extendata = data.ExtendData;
1392
+ var item={ Title:"成交价:", Text:extendata.Price.toFixed(floatPrecision), Color:this.ValueColor };
1393
+ aryOut.push(item);
1394
+
1395
+ var item={ Title:"收盘价:", Text:extendata.ClosePrice.toFixed(floatPrecision), Color:this.ValueColor };
1396
+ aryOut.push(item);
1397
+
1398
+ var item={ Title:"溢折价率:", Text:extendata.Premium.toFixed(2), Color:this.GetColor(extendata.Premium,0) };
1399
+ aryOut.push(item);
1400
+
1401
+ var item={ Title:"成交量:", Text:IFrameSplitOperator.FormatValueStringV2(extendata.Vol,0,2,this.LanguageID), Color:this.VolColor };
1402
+ aryOut.push(item);
1403
+ }
1404
+
1405
+ //龙虎榜
1406
+ this.FormatTradeDetailText=function(data, floatPrecision, aryOut)
1407
+ {
1408
+ if (!data.ExtendData) return;
1409
+ var extendata = data.ExtendData;
1410
+ if (!IFrameSplitOperator.IsNonEmptyArray(extendata.Detail)) return;
1411
+
1412
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1413
+ aryOut.push(item);
1414
+
1415
+ for(var i=0;i<extendata.Detail.length;++i)
1416
+ {
1417
+ var resItem=extendata.Detail[i];
1418
+ if (i==0)
1419
+ var item={ Title:"上榜原因:",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1420
+ else
1421
+ var item={ Title:"",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1422
+
1423
+ aryOut.push(item);
1424
+ }
1425
+
1426
+ if (extendata.FWeek)
1427
+ {
1428
+ var value=extendata.FWeek.Week1;
1429
+ if (IFrameSplitOperator.IsNumber(value))
1430
+ {
1431
+ var item={ Title:"一周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
1432
+ aryOut.push(item);
1433
+ }
1434
+
1435
+ var value=extendata.FWeek.Week4;
1436
+ if (IFrameSplitOperator.IsNumber(value))
1437
+ {
1438
+ var item={ Title:"四周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
1439
+ aryOut.push(item);
1440
+ }
1441
+ }
1442
+ }
1443
+
1444
+ //调研
1445
+ this.FormatResearchText=function(data,aryOut)
1446
+ {
1447
+ if (!data.ExtendData) return;
1448
+ var extendata = data.ExtendData;
1449
+
1450
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1451
+ aryOut.push(item);
1452
+
1453
+ if (IFrameSplitOperator.IsNonEmptyArray(extendata.Level))
1454
+ {
1455
+ var strLevel="";
1456
+ for(var i=0;i<extendata.Level.length;++i)
1457
+ {
1458
+ var value=extendata.Level[i];
1459
+ if (strLevel.length>0) strLevel+=",";
1460
+ if(value==0) strLevel+="证券代表";
1461
+ else if(value==1) strLevel+="董秘";
1462
+ else if(value==2) strLevel+="总经理";
1463
+ else if(value==3) strLevel+="董事长";
1464
+ }
1465
+
1466
+ var item={ Title:"接待人员:",Text:strLevel, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1467
+ aryOut.push(item);
1468
+ }
1469
+ else
1470
+ {
1471
+ var item={ Title:"接待人员",Text:"----", Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1472
+ aryOut.push(item);
1473
+ }
1474
+
1475
+ if (extendata.Type)
1476
+ {
1477
+ var item={ Title:"", Text:extendata.Type, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1478
+ aryOut.push(item);
1479
+ }
1480
+
1481
+ }
1482
+
1483
+ //业绩预告
1484
+ this.FormatPerformanceForecastText=function(data,aryOut)
1485
+ {
1486
+ if (!data.ExtendData) return;
1487
+ var extendata = data.ExtendData;
1488
+ var reportDate=extendata.ReportDate;
1489
+ if (!reportDate) return;
1490
+
1491
+ var year=parseInt(reportDate/10000); //年份
1492
+ var day=reportDate%10000; //日期
1493
+ var reportType="----";
1494
+ if(day == 1231) reportType = '年报';
1495
+ else if(day == 331) reportType ='一季度报';
1496
+ else if(day == 630) reportType = "半年度报";
1497
+ else if(day == 930) reportType = "三季度报";
1498
+
1499
+ var item={ Title:"业绩预告:",Text:data.Title, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1500
+ aryOut.push(item);
1501
+
1502
+ var item={ Title:"年份:",Text:`${year}`, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1503
+ aryOut.push(item);
1504
+
1505
+ var item={ Title:"类型:",Text:reportType, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1506
+ aryOut.push(item);
1507
+ }
1508
+
1509
+
1300
1510
  /////////////////////////////////////////////////////////////////////////////////////////////
1301
1511
  //数据格式化
1302
1512
  this.ForamtPrice=function(price, yClose, defaultfloatPrecision, TitleID)
@@ -7100,6 +7100,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7100
7100
  }
7101
7101
  else if (toolTip.Type===1) //信息地雷提示信息
7102
7102
  {
7103
+ if (this.FloatTooltip)
7104
+ {
7105
+ this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
7106
+ bHideFloatToolip=false;
7107
+ return;
7108
+ }
7109
+
7103
7110
  var scrollPos=GetScrollPosition();
7104
7111
  var left = x;
7105
7112
  var top = y;
@@ -13536,7 +13543,7 @@ function AverageWidthFrame()
13536
13543
  this.Canvas.lineWidth=pixelRatio;
13537
13544
  }
13538
13545
  }
13539
- else if (lineType==2) //绘制短线
13546
+ else if (lineType==3) //绘制短线
13540
13547
  {
13541
13548
  var lineWidth=10*GetDevicePixelRatio();
13542
13549
  this.Canvas.strokeStyle=color;
@@ -1891,6 +1891,7 @@ input[type="color"] {
1891
1891
  .UMyChart_Tooltip_Float_Text_Td
1892
1892
  {
1893
1893
  min-width:80px;
1894
+ max-width: 500px;
1894
1895
  }
1895
1896
 
1896
1897
  .UMyChart_Tooltip_Float_Title_Span
@@ -1907,9 +1908,15 @@ input[type="color"] {
1907
1908
 
1908
1909
  .UMyChart_Tooltip_Float_Text2_Span
1909
1910
  {
1910
- color: rgb(230,230,230);
1911
+ margin-left: 1px;
1912
+ }
1913
+
1914
+ .UMyChart_Tooltip_Float_Text3_Span
1915
+ {
1916
+ margin-left: 5px;
1911
1917
  }
1912
1918
 
1913
1919
 
1914
1920
 
1915
1921
 
1922
+
@@ -48,6 +48,10 @@ var TEST_TRADE_DETAL_DATA={
48
48
  {
49
49
  "type": 6,
50
50
  "typeexplain": "单只标的证券的当日融资买入数量达到当日该证券总交易量的50%以上"
51
+ },
52
+ {
53
+ "type": 3,
54
+ "typeexplain": "跌幅偏离值达7%的证券"
51
55
  }
52
56
  ],
53
57
  "fweek": {
@@ -11025,6 +11025,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11025
11025
  }
11026
11026
  else if (toolTip.Type===1) //信息地雷提示信息
11027
11027
  {
11028
+ if (this.FloatTooltip)
11029
+ {
11030
+ this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
11031
+ bHideFloatToolip=false;
11032
+ return;
11033
+ }
11034
+
11028
11035
  var scrollPos=GetScrollPosition();
11029
11036
  var left = x;
11030
11037
  var top = y;
@@ -17461,7 +17468,7 @@ function AverageWidthFrame()
17461
17468
  this.Canvas.lineWidth=pixelRatio;
17462
17469
  }
17463
17470
  }
17464
- else if (lineType==2) //绘制短线
17471
+ else if (lineType==3) //绘制短线
17465
17472
  {
17466
17473
  var lineWidth=10*GetDevicePixelRatio();
17467
17474
  this.Canvas.strokeStyle=color;
@@ -139480,7 +139487,7 @@ function ScrollBarBGChart()
139480
139487
 
139481
139488
 
139482
139489
 
139483
- var HQCHART_VERSION="1.1.14049";
139490
+ var HQCHART_VERSION="1.1.14055";
139484
139491
 
139485
139492
  function PrintHQChartVersion()
139486
139493
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14049";
8
+ var HQCHART_VERSION="1.1.14055";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -11069,6 +11069,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11069
11069
  }
11070
11070
  else if (toolTip.Type===1) //信息地雷提示信息
11071
11071
  {
11072
+ if (this.FloatTooltip)
11073
+ {
11074
+ this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
11075
+ bHideFloatToolip=false;
11076
+ return;
11077
+ }
11078
+
11072
11079
  var scrollPos=GetScrollPosition();
11073
11080
  var left = x;
11074
11081
  var top = y;
@@ -17505,7 +17512,7 @@ function AverageWidthFrame()
17505
17512
  this.Canvas.lineWidth=pixelRatio;
17506
17513
  }
17507
17514
  }
17508
- else if (lineType==2) //绘制短线
17515
+ else if (lineType==3) //绘制短线
17509
17516
  {
17510
17517
  var lineWidth=10*GetDevicePixelRatio();
17511
17518
  this.Canvas.strokeStyle=color;
@@ -145355,7 +145362,7 @@ function JSFloatTooltip()
145355
145362
  this.Style=0; //0=一行一个, 1=2行一个
145356
145363
 
145357
145364
  this.HQChart=null;
145358
- this.MaxRowCount=20;
145365
+ this.MaxRowCount=25;
145359
145366
 
145360
145367
  this.UpColor=g_JSChartResource.UpTextColor;
145361
145368
  this.DownColor=g_JSChartResource.DownTextColor;
@@ -145374,6 +145381,13 @@ function JSFloatTooltip()
145374
145381
  this.DateTimeColor=g_JSChartResource.FloatTooltip.DateTimeColor;
145375
145382
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
145376
145383
 
145384
+ this.ValueAlign=
145385
+ {
145386
+ Left:"UMyChart_Tooltip_Float_Text2_Span", //左对齐
145387
+ MarginLeft:'UMyChart_Tooltip_Float_Text3_Span',
145388
+ Right:"UMyChart_Tooltip_Float_Text_Span"
145389
+ }
145390
+
145377
145391
  this.AryData=[]; //输出文字信息
145378
145392
  this.AryText=[]; //表格tr
145379
145393
 
@@ -145535,10 +145549,14 @@ function JSFloatTooltip()
145535
145549
  var tooltipData=data.Tooltip;
145536
145550
  if (!tooltipData) return;
145537
145551
 
145538
- if (tooltipData.Type==0)
145552
+ if (tooltipData.Type==0) //K线信息
145539
145553
  {
145540
145554
  this.UpdateKLineToolitp(data);
145541
145555
  }
145556
+ else if (tooltipData.Type==1) //信息地雷
145557
+ {
145558
+ this.UpdateKLineInfoTooltip(data);
145559
+ }
145542
145560
  }
145543
145561
  else if (data.DataType==2) //更新实时行情数据
145544
145562
  {
@@ -145558,6 +145576,7 @@ function JSFloatTooltip()
145558
145576
  {
145559
145577
  this.KItemCache= kItem;
145560
145578
  this.KItemCacheID=strKItem;
145579
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
145561
145580
  bUpdata=true;
145562
145581
  }
145563
145582
 
@@ -145567,6 +145586,7 @@ function JSFloatTooltip()
145567
145586
  }
145568
145587
  }
145569
145588
 
145589
+ //K线提示信息
145570
145590
  this.UpdateKLineToolitp=function(data)
145571
145591
  {
145572
145592
  var tooltipData=data.Tooltip;
@@ -145587,6 +145607,7 @@ function JSFloatTooltip()
145587
145607
  {
145588
145608
  this.KItemCache= kItem;
145589
145609
  this.KItemCacheID=strKItem;
145610
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
145590
145611
  bUpdata=true;
145591
145612
  }
145592
145613
 
@@ -145605,13 +145626,6 @@ function JSFloatTooltip()
145605
145626
 
145606
145627
  this.UpdateTableDOM=function()
145607
145628
  {
145608
- if (!this.KItemCache) return;
145609
-
145610
- if (this.HQChart.ClassName=='KLineChartContainer')
145611
- this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
145612
- else
145613
- return;
145614
-
145615
145629
  var index=0;
145616
145630
  for(index=0;index<this.AryText.length && index<this.MaxRowCount;++index)
145617
145631
  {
@@ -145629,7 +145643,7 @@ function JSFloatTooltip()
145629
145643
  }
145630
145644
  else
145631
145645
  {
145632
- if (item.TextSpan.className!="UMyChart_Tooltip_Float_Text_Span") item.TextSpan.className="UMyChart_Tooltip_Float_Text_Span"
145646
+ if (item.TextSpan.className!=this.ValueAlign.Right) item.TextSpan.className=this.ValueAlign.Right;
145633
145647
  }
145634
145648
 
145635
145649
  item.Tr.style.display="";
@@ -145644,6 +145658,7 @@ function JSFloatTooltip()
145644
145658
  }
145645
145659
  }
145646
145660
 
145661
+
145647
145662
  this.GetFormatKLineTooltipText=function(kItem)
145648
145663
  {
145649
145664
  var data=kItem.Item;
@@ -145660,7 +145675,7 @@ function JSFloatTooltip()
145660
145675
 
145661
145676
  var overlayItem=null;
145662
145677
  if (kItem.IsOverlay)
145663
- overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:"UMyChart_Tooltip_Float_Text2_Span" };
145678
+ overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:this.ValueAlign.Left };
145664
145679
 
145665
145680
 
145666
145681
  var yClose=data.YClose; //昨收价|昨结算价
@@ -145707,6 +145722,208 @@ function JSFloatTooltip()
145707
145722
  }
145708
145723
 
145709
145724
 
145725
+ //信息地雷
145726
+ this.UpdateKLineInfoTooltip=function(data)
145727
+ {
145728
+ var tooltipData=data.Tooltip;
145729
+ var symbol=data.Symbol;
145730
+ var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
145731
+
145732
+ var aryData=tooltipData.Data.Data;
145733
+ var aryText=[]; //输出内容
145734
+ for(var i=0;i<aryData.length;++i)
145735
+ {
145736
+ var item=aryData[i];
145737
+ var infoType=item.InfoType;
145738
+ switch(infoType)
145739
+ {
145740
+ case KLINE_INFO_TYPE.BLOCKTRADING:
145741
+ this.FormatBlockTradingText(item, defaultfloatPrecision, aryText);
145742
+ break;
145743
+ case KLINE_INFO_TYPE.TRADEDETAIL:
145744
+ this.FormatTradeDetailText(item,defaultfloatPrecision,aryText);
145745
+ break;
145746
+ case KLINE_INFO_TYPE.RESEARCH:
145747
+ this.FormatResearchText(item, aryText);
145748
+ break;
145749
+ case KLINE_INFO_TYPE.PFORECAST:
145750
+ this.FormatPerformanceForecastText(item,aryText);
145751
+ break;
145752
+ default:
145753
+ this.FormatDefaultKLineInfoText(item, aryText);
145754
+ break;
145755
+ }
145756
+ }
145757
+
145758
+ this.AryText=aryText;
145759
+
145760
+ this.UpdateTableDOM();
145761
+
145762
+ if (data.Point)
145763
+ {
145764
+ var x=data.Point.X;
145765
+ var y=data.Point.Y+data.Point.YMove;
145766
+ this.Show(x, y);
145767
+ }
145768
+ }
145769
+
145770
+
145771
+ /////////////////////////////////////////////////////////////////////////////////////////////
145772
+ // 公告数据格式化
145773
+
145774
+ this.FormatDefaultKLineInfoText=function(item, aryOut)
145775
+ {
145776
+ var title;
145777
+ var strDate=IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD");
145778
+ if (IFrameSplitOperator.IsNumber(item.Time))
145779
+ {
145780
+ var strTime=IFrameSplitOperator.FormatTimeString(item.Time);
145781
+ title=`${strDate} ${strTime}`;
145782
+ }
145783
+ else
145784
+ {
145785
+ title=strDate;
145786
+ }
145787
+
145788
+ var item=
145789
+ {
145790
+ Title:title, //日期
145791
+ Text:item.Title, //标题
145792
+ Color:this.ValueColor,
145793
+ ClassName:this.ValueAlign.MarginLeft
145794
+ };
145795
+
145796
+ aryOut.push(item);
145797
+ }
145798
+
145799
+ //大宗交易
145800
+ this.FormatBlockTradingText=function(data, floatPrecision, aryOut)
145801
+ {
145802
+ var item={ Title:"", Text:"大宗交易", Color:this.TextColor, ClassName:this.ValueAlign.Left };
145803
+ aryOut.push(item);
145804
+
145805
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor };
145806
+ aryOut.push(item);
145807
+
145808
+ var extendata = data.ExtendData;
145809
+ var item={ Title:"成交价:", Text:extendata.Price.toFixed(floatPrecision), Color:this.ValueColor };
145810
+ aryOut.push(item);
145811
+
145812
+ var item={ Title:"收盘价:", Text:extendata.ClosePrice.toFixed(floatPrecision), Color:this.ValueColor };
145813
+ aryOut.push(item);
145814
+
145815
+ var item={ Title:"溢折价率:", Text:extendata.Premium.toFixed(2), Color:this.GetColor(extendata.Premium,0) };
145816
+ aryOut.push(item);
145817
+
145818
+ var item={ Title:"成交量:", Text:IFrameSplitOperator.FormatValueStringV2(extendata.Vol,0,2,this.LanguageID), Color:this.VolColor };
145819
+ aryOut.push(item);
145820
+ }
145821
+
145822
+ //龙虎榜
145823
+ this.FormatTradeDetailText=function(data, floatPrecision, aryOut)
145824
+ {
145825
+ if (!data.ExtendData) return;
145826
+ var extendata = data.ExtendData;
145827
+ if (!IFrameSplitOperator.IsNonEmptyArray(extendata.Detail)) return;
145828
+
145829
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145830
+ aryOut.push(item);
145831
+
145832
+ for(var i=0;i<extendata.Detail.length;++i)
145833
+ {
145834
+ var resItem=extendata.Detail[i];
145835
+ if (i==0)
145836
+ var item={ Title:"上榜原因:",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145837
+ else
145838
+ var item={ Title:"",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145839
+
145840
+ aryOut.push(item);
145841
+ }
145842
+
145843
+ if (extendata.FWeek)
145844
+ {
145845
+ var value=extendata.FWeek.Week1;
145846
+ if (IFrameSplitOperator.IsNumber(value))
145847
+ {
145848
+ var item={ Title:"一周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
145849
+ aryOut.push(item);
145850
+ }
145851
+
145852
+ var value=extendata.FWeek.Week4;
145853
+ if (IFrameSplitOperator.IsNumber(value))
145854
+ {
145855
+ var item={ Title:"四周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
145856
+ aryOut.push(item);
145857
+ }
145858
+ }
145859
+ }
145860
+
145861
+ //调研
145862
+ this.FormatResearchText=function(data,aryOut)
145863
+ {
145864
+ if (!data.ExtendData) return;
145865
+ var extendata = data.ExtendData;
145866
+
145867
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145868
+ aryOut.push(item);
145869
+
145870
+ if (IFrameSplitOperator.IsNonEmptyArray(extendata.Level))
145871
+ {
145872
+ var strLevel="";
145873
+ for(var i=0;i<extendata.Level.length;++i)
145874
+ {
145875
+ var value=extendata.Level[i];
145876
+ if (strLevel.length>0) strLevel+=",";
145877
+ if(value==0) strLevel+="证券代表";
145878
+ else if(value==1) strLevel+="董秘";
145879
+ else if(value==2) strLevel+="总经理";
145880
+ else if(value==3) strLevel+="董事长";
145881
+ }
145882
+
145883
+ var item={ Title:"接待人员:",Text:strLevel, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145884
+ aryOut.push(item);
145885
+ }
145886
+ else
145887
+ {
145888
+ var item={ Title:"接待人员",Text:"----", Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145889
+ aryOut.push(item);
145890
+ }
145891
+
145892
+ if (extendata.Type)
145893
+ {
145894
+ var item={ Title:"", Text:extendata.Type, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145895
+ aryOut.push(item);
145896
+ }
145897
+
145898
+ }
145899
+
145900
+ //业绩预告
145901
+ this.FormatPerformanceForecastText=function(data,aryOut)
145902
+ {
145903
+ if (!data.ExtendData) return;
145904
+ var extendata = data.ExtendData;
145905
+ var reportDate=extendata.ReportDate;
145906
+ if (!reportDate) return;
145907
+
145908
+ var year=parseInt(reportDate/10000); //年份
145909
+ var day=reportDate%10000; //日期
145910
+ var reportType="----";
145911
+ if(day == 1231) reportType = '年报';
145912
+ else if(day == 331) reportType ='一季度报';
145913
+ else if(day == 630) reportType = "半年度报";
145914
+ else if(day == 930) reportType = "三季度报";
145915
+
145916
+ var item={ Title:"业绩预告:",Text:data.Title, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145917
+ aryOut.push(item);
145918
+
145919
+ var item={ Title:"年份:",Text:`${year}`, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145920
+ aryOut.push(item);
145921
+
145922
+ var item={ Title:"类型:",Text:reportType, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
145923
+ aryOut.push(item);
145924
+ }
145925
+
145926
+
145710
145927
  /////////////////////////////////////////////////////////////////////////////////////////////
145711
145928
  //数据格式化
145712
145929
  this.ForamtPrice=function(price, yClose, defaultfloatPrecision, TitleID)
@@ -146947,7 +147164,7 @@ function HQChartScriptWorker()
146947
147164
 
146948
147165
 
146949
147166
 
146950
- var HQCHART_VERSION="1.1.14049";
147167
+ var HQCHART_VERSION="1.1.14055";
146951
147168
 
146952
147169
  function PrintHQChartVersion()
146953
147170
  {