hqchart 1.1.10821 → 1.1.10837

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.
@@ -1503,7 +1503,8 @@ ON_CALCULATE_INDEX_OX:38,//创建OX指标回调
1503
1503
  ON_LOAD_DRAWPICTURE:39,//加载画图工具
1504
1504
  //ON_SAVE_DRAWPICTURE:40 //画图工具存盘
1505
1505
  ON_DRAW_COUNTDOWN:41,//倒计时回调
1506
- ON_BIND_DRAWICON:42//小程序用到,h5无效
1506
+ ON_BIND_DRAWICON:42,//小程序用到,h5无效
1507
+ ON_DRAW_DEAL_VOL_COLOR:43//成交明细 成交量颜色
1507
1508
  };var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
1508
1509
  OP_SCROLL_RIGHT:2,//往右移动
1509
1510
  OP_ZOOM_OUT:3,//缩小
@@ -3600,7 +3601,7 @@ IFrameSplitOperator.FormatValueString=function(value,floatPrecision,languageID){
3600
3601
  {if(absValue<10000)return value.toFixed(floatPrecision);else if(absValue<100000000)return(value/10000).toFixed(floatPrecision)+"萬";else if(absValue<1000000000000)return(value/100000000).toFixed(floatPrecision)+"億";else return(value/1000000000000).toFixed(floatPrecision)+"萬億";}else{if(absValue<10000)return value.toFixed(floatPrecision);else if(absValue<100000000)return(value/10000).toFixed(floatPrecision)+"万";else if(absValue<1000000000000)return(value/100000000).toFixed(floatPrecision)+"亿";else return(value/1000000000000).toFixed(floatPrecision)+"万亿";}return'';};//整形输出格式化 floatPrecision=小数位数
3601
3602
  IFrameSplitOperator.FromatIntegerString=function(value,floatPrecision,languageID){if(value<10000&&IFrameSplitOperator.IsInteger(value))floatPrecision=0;//<10000的整形 去掉小数位数
3602
3603
  return IFrameSplitOperator.FormatValueString(value,floatPrecision,languageID);};IFrameSplitOperator.NumberToString=function(value){if(value<10)return'0'+value.toString();return value.toString();};IFrameSplitOperator.FormatDateString=function(value,format,languageID){var year=parseInt(value/10000);var month=parseInt(value/100)%100;var day=value%100;switch(format){case'MM-DD':return IFrameSplitOperator.NumberToString(month)+'-'+IFrameSplitOperator.NumberToString(day);case"YYYY-MM":return year+'-'+IFrameSplitOperator.NumberToString(month);case"YYYY/MM/DD":return year.toString()+'/'+IFrameSplitOperator.NumberToString(month)+'/'+IFrameSplitOperator.NumberToString(day);case"YYYY/MM/DD/W":{var date=new Date(year,month-1,day);var week=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],languageID);return year.toString()+'/'+IFrameSplitOperator.NumberToString(month)+'/'+IFrameSplitOperator.NumberToString(day)+"/"+week.toString();}case"DD/MM/YYYY":return IFrameSplitOperator.NumberToString(day)+'/'+IFrameSplitOperator.NumberToString(month)+'/'+year.toString();default:return year.toString()+'-'+IFrameSplitOperator.NumberToString(month)+'-'+IFrameSplitOperator.NumberToString(day);}};IFrameSplitOperator.FormatTimeString=function(value,format)//format hh:mm:ss
3603
- {if(format=='HH:MM:SS'){var hour=parseInt(value/10000);var minute=parseInt(value%10000/100);var second=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute)+':'+IFrameSplitOperator.NumberToString(second);}else if(format=='HH:MM'){var hour=parseInt(value/100);var minute=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute);}else{if(value<10000){var hour=parseInt(value/100);var minute=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute);}else{var hour=parseInt(value/10000);var minute=parseInt(value%10000/100);var second=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute)+':'+IFrameSplitOperator.NumberToString(second);}}};//报告格式化
3604
+ {if(format=='HH:MM:SS'){var hour=parseInt(value/10000);var minute=parseInt(value%10000/100);var second=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute)+':'+IFrameSplitOperator.NumberToString(second);}else if(format=="hh:mm"){var hour=parseInt(value/10000);var minute=parseInt(value%10000/100);var second=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute);}else if(format=='HH:MM'){var hour=parseInt(value/100);var minute=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute);}else{if(value<10000){var hour=parseInt(value/100);var minute=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute);}else{var hour=parseInt(value/10000);var minute=parseInt(value%10000/100);var second=value%100;return IFrameSplitOperator.NumberToString(hour)+':'+IFrameSplitOperator.NumberToString(minute)+':'+IFrameSplitOperator.NumberToString(second);}}};//报告格式化
3604
3605
  IFrameSplitOperator.FormatReportDateString=function(value){var year=parseInt(value/10000);var month=parseInt(value/100)%100;var monthText;switch(month){case 3:monthText="一季度报";break;case 6:monthText="半年报";break;case 9:monthText="三季度报";break;case 12:monthText="年报";break;}return year.toString()+monthText;};IFrameSplitOperator.FormatDateTimeString=function(value,isShowDate,isShowTime){var aryValue=value.split(' ');if(aryValue.length<2)return"";var result="";if(isShowDate){var date=parseInt(aryValue[0]);var year=parseInt(date/10000);var month=parseInt(date%10000/100);var day=date%100;var text=year.toString()+'-'+(month<10?'0'+month.toString():month.toString())+'-'+(day<10?'0'+day.toString():day.toString());result+=text;}if(isShowTime){var time=parseInt(aryValue[1]);var minute=time%100;var hour=parseInt(time/100);var text=(hour<10?'0'+hour.toString():hour.toString())+':'+(minute<10?'0'+minute.toString():minute.toString());if(result.length>0)result+=" ";result+=text;}return result;};//字段颜色格式化
3605
3606
  IFrameSplitOperator.FormatValueColor=function(value,value2){if(value!=null&&value2==null)//只传一个值的 就判断value正负
3606
3607
  {if(value==0)return'PriceNull';else if(value>0)return'PriceUp';else return'PriceDown';}//2个数值对比 返回颜色
@@ -4623,8 +4624,16 @@ LineDash:[3,3],Tooltip:{BGColor:'rgba(236,240,245, 0.8)',TextColor:"rgb(130,140,
4623
4624
  }//区间选择
4624
4625
  };this.RectSelect={LineColor:"rgb(64,64,64)",//竖线
4625
4626
  LineWidth:1*GetDevicePixelRatio(),LineDotted:[3,3],AreaColor:"rgba(234,234,234,0.5)"//面积
4627
+ //成交明细
4628
+ };this.DealList={BorderColor:'rgb(192,192,192)',//边框线
4629
+ Header:{Color:"RGB(60,60,60)",Mergin:{Left:5,Right:5,Top:4,Bottom:2},Font:{Size:12,Name:"微软雅黑"}},Row:{Mergin:{Top:2,Bottom:2},Font:{Size:15,Name:"微软雅黑"}},FieldColor:{Vol:"rgb(90,90,90)",//成交量
4630
+ Time:"rgb(60,60,60)",//时间
4631
+ Deal:"rgb(90,90,90)"//成交笔数
4632
+ },UpTextColor:"rgb(238,21,21)",//上涨文字颜色
4633
+ DownTextColor:"rgb(25,158,0)",//下跌文字颜色
4634
+ UnchagneTextColor:"rgb(0,0,0)"//平盘文字颜色
4626
4635
  //自定义风格
4627
- };this.SetStyle=function(style){if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)this.Minute.Before.CloseIcon=item.CloseIcon;if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(style.FrameLatestPrice){if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.KLine)this.KLine=style.KLine;if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.MinuteInfo){if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Center))this.DepthCorss.Tooltip.Border.Center=border.Center;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
4636
+ };this.SetStyle=function(style){if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)this.Minute.Before.CloseIcon=item.CloseIcon;if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(style.FrameLatestPrice){if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.KLine)this.KLine=style.KLine;if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.MinuteInfo){if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Center))this.DepthCorss.Tooltip.Border.Center=border.Center;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}if(style.DealList){var item=style.DealList;if(item.BorderColor)this.DealList.BorderColor=item.BorderColor;if(item.BorderColor)this.DealList.UpTextColor=item.UpTextColor;if(item.BorderColor)this.DealList.DownTextColor=item.DownTextColor;if(item.BorderColor)this.DealList.UnchagneTextColor=item.UnchagneTextColor;if(item.Header){var header=item.Header;if(header.Color)this.DealList.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.DealList.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Header.Font.Size=font.Size;}}if(item.Row){var row=item.Row;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.DealList.Row.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Row.Font.Size=font.Size;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Vol)this.DealList.FieldColor.Vol=filed.Vol;if(filed.Time)this.DealList.FieldColor.Time=filed.Time;if(filed.Deal)this.DealList.FieldColor.Deal=filed.Deal;}}};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
4628
4637
  //
4629
4638
  //
4630
4639
  //
@@ -8368,10 +8377,13 @@ Explain:'DYNAINFO()',Args:aryArgs,Request:{Url:self.RealtimeApiUrl,Type:'POST',D
8368
8377
  this.RecvLatestDataVer2=function(data){if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return;var symbol=data.symbol;for(var i=0;i<data.data.length;++i){var item=data.data[i];if(!item)continue;if(!IFrameSplitOperator.IsNumber(item.id))continue;if(IFrameSplitOperator.IsNumber(item.value)||IFrameSplitOperator.IsString(item.value)){JSConsole.Complier.Log('[JSSymbolData::RecvLatestDataVer2] symbol='+symbol+' DYNAINFO('+item.id+')='+item.value+'.');this.LatestData.set(item.id,item.value);}}JSConsole.Complier.Log('[JSSymbolData::RecvLatestDataVer2]',this.LatestData);};this.GetLatestCacheData=function(dataname){if(this.LatestData.has(dataname))return this.LatestData.get(dataname);return null;};this.GetLatestIndexData=function(){if(this.LatestIndexData)return this.Execute.RunNextJob();var self=this;if(this.NetworkFilter){var obj={Name:'JSSymbolData::GetLatestIndexData',//类名:: 函数
8369
8378
  Explain:'最新大盘数据',Request:{Url:self.RealtimeApiUrl,Type:'POST',Data:{symbol:['000001.sh'],field:["name","symbol","yclose","open","price","high","low","vol","amount","date","time","increase","amplitude"]}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvLatestIndexData(data);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8370
8379
  }JSNetwork.HttpRequest({url:self.RealtimeApiUrl,data:{"field":["name","symbol","yclose","open","price","high","low","vol","amount","date","time","increase","amplitude"],"symbol":['000001.sh']},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvLatestIndexData(recvData);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});};this.RecvLatestIndexData=function(data){if(!data.stock||data.stock.length!=1)return;var stock=data.stock[0];this.LatestIndexData={Symbol:stock.symbol,Name:stock.name,Date:stock.date,Time:stock.time,YClose:stock.yclose,Price:stock.price,Open:stock.open,High:stock.high,Low:stock.low,Vol:stock.vol,Amount:stock.amount,Increase:stock.increase,Amplitude:stock.amplitude};JSConsole.Complier.Log('[JSSymbolData::RecvLatestIndexData]',this.LatestIndexData);};this.GetLatestIndexCacheData=function(dataname){if(!this.LatestIndexData)return null;switch(dataname){case'FROMOPEN':{var value=parseInt(this.LatestIndexData.Time/100);var time=parseInt(value/100)*60+value%100;//转化为分钟个数
8371
- var index=0;if(time<=9*60+25)index=0;else if(time<9*60+30)index=1;else if(time<=11*60+30)index=time-(9*60+30)+1;else if(time<13*60)index=121;else if(time<=15*60)index=122+time-13*60;else index=242;return index;}default:return null;}};this.GetVolRateData=function(job,node){var volrKey=job.ID.toString()+'-VolRate-'+this.Symbol;if(this.ExtendData.has(volrKey))return this.Execute.RunNextJob();var self=this;var dayCount=30;if(this.NetworkFilter){var obj={Name:'JSSymbolData::GetVolRateData',//类名:: 函数
8372
- Explain:'分时量比数据(成交量)',Request:{Url:self.KLineApiUrl,Type:'POST',Data:{symbol:self.Symbol,count:dayCount,field:["name","symbol","vol"],period:0,right:0}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvVolRateData(recvData,volrKey);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8373
- }JSNetwork.HttpRequest({url:self.KLineApiUrl,data:{"field":["name","symbol","vol"],"symbol":self.Symbol,"start":-1,"count":dayCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvVolRateData(recvData,volrKey);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});};this.RecvVolRateData=function(data,key){if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return;var sumVol=0,avgVol5=0;var mapAvgVol5=new _map2.default();var minuteCount=241;if(IFrameSplitOperator.IsNumber(data.minutecount))minuteCount=data.minutecount;for(var i=0,j=0,dayCount=0;i<data.data.length;++i)//每天的5日成交均量
8374
- {sumVol=0;for(j=i,dayCount=0;j>=0&&dayCount<5;--j,++dayCount){var item=data.data[j];if(IFrameSplitOperator.IsNumber(item[6]))sumVol+=item[6];}if(dayCount>0){avgVol5=sumVol/dayCount/minuteCount;var item=data.data[i];mapAvgVol5.set(item[0],{Vol5:sumVol,Count:dayCount,AvgVol5:avgVol5,MinuteCount:minuteCount});}}if(mapAvgVol5.size>0)this.ExtendData.set(key,mapAvgVol5);JSConsole.Complier.Log('[JSSymbolData::RecvVolRateData]',mapAvgVol5);};this.GetVolRateCacheData=function(node){var key=JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VOLR_DATA.toString()+'-VolRate-'+this.Symbol;if(!key||!this.ExtendData.has(key))this.Execute.ThrowUnexpectedNode(node,'不支持VOLR');var result=[];var mapAvgVol5=this.ExtendData.get(key);var totalVol=0,preDate=0,avgVol5=null;for(var i=0,j=0;i<this.Data.Data.length;++i){result[i]=null;var item=this.Data.Data[i];if(preDate!=item.Date){avgVol5=null;j=0;totalVol=0;if(mapAvgVol5.has(item.Date)){var volItem=mapAvgVol5.get(item.Date);avgVol5=volItem.AvgVol5;}preDate=item.Date;}if(avgVol5==null)continue;totalVol+=item.Vol;result[i]=totalVol/(j+1)/avgVol5*100;++j;}return result;};//获取大盘指数数据
8380
+ var index=0;if(time<=9*60+25)index=0;else if(time<9*60+30)index=1;else if(time<=11*60+30)index=time-(9*60+30)+1;else if(time<13*60)index=121;else if(time<=15*60)index=122+time-13*60;else index=242;return index;}default:return null;}};this.GetVolRateData=function(job,node){var volrKey=job.ID.toString()+'-VolRate-'+this.Symbol;if(this.ExtendData.has(volrKey))return this.Execute.RunNextJob();var self=this;var dayCount=30;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var dayCount=1;if(this.DataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)dayCount=this.DayCount;var obj={Name:'JSSymbolData::GetVolRateData',//类名:: 函数
8381
+ Explain:'分时量比数据(成交量)',Request:{Url:self.KLineApiUrl,Type:'POST',Data:{symbol:self.Symbol,dayCount:dayCount,field:["name","symbol","vol"],period:0,right:0,dateRange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){self.RecvVolRateData(recvData,volrKey);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8382
+ }JSNetwork.HttpRequest({url:self.KLineApiUrl,data:{"field":["name","symbol","vol"],"symbol":self.Symbol,"start":-1,"count":dayCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvVolRateData(recvData,volrKey);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});};this.RecvVolRateData=function(data,key){var sumVol=0,avgVol5=0;var mapAvgVol5=new _map2.default();if(data.Ver==2.0)// {Ver:2.0 , data:[ [日期,5日vol均值]] }
8383
+ {if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return;for(var i=0;i<data.data.length;++i){var item=data.data[i];if(!IFrameSplitOperator.IsNonEmptyArray(item))continue;if(item.length<2)continue;if(IFrameSplitOperator.IsNumber(item[0])&&IFrameSplitOperator.IsPlusNumber(item[1])){mapAvgVol5.set(item[0],{AvgVol5:item[1]});}}}else{if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return;var minuteCount=241;if(IFrameSplitOperator.IsNumber(data.minutecount))minuteCount=data.minutecount;for(var i=0,j=0,dayCount=0;i<data.data.length;++i)//每天的5日成交均量
8384
+ {sumVol=0;for(j=i,dayCount=0;j>=0&&dayCount<5;--j,++dayCount){var item=data.data[j];if(IFrameSplitOperator.IsNumber(item[6]))sumVol+=item[6];}if(dayCount>0){avgVol5=sumVol/dayCount/minuteCount;var item=data.data[i];mapAvgVol5.set(item[0],{//for debug
8385
+ //Vol5:sumVol, MinuteCount:minuteCount,,Count:dayCount,
8386
+ AvgVol5:avgVol5});}}}if(mapAvgVol5.size>0)this.ExtendData.set(key,mapAvgVol5);JSConsole.Complier.Log('[JSSymbolData::RecvVolRateData]',mapAvgVol5);};this.GetVolRateCacheData=function(node){var key=JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VOLR_DATA.toString()+'-VolRate-'+this.Symbol;if(!key||!this.ExtendData.has(key))this.Execute.ThrowUnexpectedNode(node,'不支持VOLR');var result=[];var mapAvgVol5=this.ExtendData.get(key);var totalVol=0,preDate=0,avgVol5=null;for(var i=0,j=0;i<this.Data.Data.length;++i){result[i]=null;var item=this.Data.Data[i];if(preDate!=item.Date){avgVol5=null;j=0;totalVol=0;if(mapAvgVol5.has(item.Date)){var volItem=mapAvgVol5.get(item.Date);avgVol5=volItem.AvgVol5;}preDate=item.Date;}if(avgVol5==null)continue;totalVol+=item.Vol;result[i]=totalVol/(j+1)/avgVol5*100;++j;}return result;};//获取大盘指数数据
8375
8387
  this.GetIndexData=function(){if(this.IndexData)return this.Execute.RunNextJob();var self=this;if(ChartData.IsDayPeriod(this.Period,true))//请求日线数据 9=季线
8376
8388
  {if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetIndexData',//类名::
8377
8389
  Explain:'大盘数据',Period:self.Period,Request:{Url:self.KLineApiUrl,Type:'POST',Data:{field:["name","symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],indexSymbol:"000001.sh",symbol:this.Symbol,period:this.Period,dateRange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvIndexHistroyData(data);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
@@ -9470,9 +9482,118 @@ LineDash:[3,3],Tooltip:{BGColor:'rgba(54,54,54, 0.8)',TextColor:"rgb(203,215,224
9470
9482
  }},//区间选择
9471
9483
  RectSelect:{LineColor:"rgb(115,83,64)",//竖线
9472
9484
  LineWidth:1*GetDevicePixelRatio(),LineDotted:[3,3],AreaColor:"rgba(26,13,7,0.5)"//面积
9485
+ },//成交明细
9486
+ DealList:{BorderColor:'rgb(38,38,41)',//边框线
9487
+ Header:{Color:"RGB(245,245,245)",Mergin:{Left:5,Right:5,Top:4,Bottom:2},Font:{Size:12,Name:"微软雅黑"}},Row:{Mergin:{Top:2,Bottom:2},Font:{Size:15,Name:"微软雅黑"}},FieldColor:{Vol:"rgb(192,192,0)",//成交量
9488
+ Time:"rgb(245,245,245)",//时间
9489
+ Deal:"rgb(111,128,112)"//成交笔数
9490
+ },UpTextColor:"rgb(238,21,21)",//上涨文字颜色
9491
+ DownTextColor:"rgb(25,158,0)",//下跌文字颜色
9492
+ UnchagneTextColor:"rgb(228,228,228)"//平盘文字颜色
9473
9493
  }};var STYLE_TYPE_ID={BLACK_ID:1//黑色风格
9474
9494
  };function HQChartStyle(){}HQChartStyle.GetStyleConfig=function(styleid)//获取一个风格的配置变量
9475
- {switch(styleid){case STYLE_TYPE_ID.BLACK_ID:return BLACK_STYLE;default:return null;}};//把给外界调用的方法暴露出来
9495
+ {switch(styleid){case STYLE_TYPE_ID.BLACK_ID:return BLACK_STYLE;default:return null;}};/*
9496
+ Copyright (c) 2018 jones
9497
+
9498
+ http://www.apache.org/licenses/LICENSE-2.0
9499
+
9500
+ 开源项目 https://github.com/jones2000/HQChart
9501
+
9502
+ jones_2000@163.com
9503
+
9504
+ 封装成交明细表格控件 (H5版本)
9505
+ */function JSDealChart(divElement){this.DivElement=divElement;this.JSChartContainer;//表格控件
9506
+ //h5 canvas
9507
+ this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jsdeallist-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSDealChart::JSDealList] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取
9508
+ var height=parseInt(this.DivElement.style.height.replace("px",""));this.CanvasElement.height=height;this.CanvasElement.width=parseInt(this.DivElement.style.width.replace("px",""));this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
9509
+ this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSDealChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSDealChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
9510
+ if(!option.Symbol){chart.Draw();}else{chart.ChangeSymbol(option.Symbol);}};this.CreateJSDealChartContainer=function(option){var chart=new JSDealChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);this.SetChartBorder(chart,option);//是否自动更新
9511
+ if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
9512
+ if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
9513
+ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};/////////////////////////////////////////////////////////////////////////////
9514
+ //对外接口
9515
+ //切换股票代码接口
9516
+ this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};//事件回调
9517
+ this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSDealChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
9518
+ this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSDealChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};}JSDealChart.Init=function(divElement){var jsChartControl=new JSDealChart(divElement);jsChartControl.OnSize();return jsChartControl;};function JSDealChartContainer(uielement){this.ClassName='JSDealChartContainer';this.Frame;//框架画法
9519
+ this.ChartPaint=[];//图形画法
9520
+ this.ChartSplashPaint=null;//等待提示
9521
+ this.LoadDataSplashTitle="数据加载中";//下载数据提示信息
9522
+ this.Canvas=uielement.getContext("2d");//画布
9523
+ this.ShowCanvas=null;this.Symbol;this.Name;this.TradeDate;this.DealData={OffsetData:0,Data:[]};//分笔数据
9524
+ this.NetworkFilter;//数据回调接口
9525
+ //事件回调
9526
+ this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
9527
+ this.AutoUpdateTimer=null;this.LoadDataSplashTitle="数据加载中";//下载数据提示信息
9528
+ this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
9529
+ this.IsDestroy=false;//是否已经销毁了
9530
+ this.ChartDestory=function()//销毁
9531
+ {this.IsDestroy=true;this.StopAutoUpdate();};//创建
9532
+ //windowCount 窗口个数
9533
+ this.Create=function(option){var _this32=this;this.UIElement.JSChartContainer=this;//创建等待提示
9534
+ this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);//创建框架
9535
+ this.Frame=new JSDealFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//创建表格
9536
+ var chart=new ChartDealList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.GetEventCallback=function(id){return _this32.GetEventCallback(id);};this.ChartPaint[0]=chart;var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this32.OnKeyDown(e);},true);//键盘消息
9537
+ if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this32.OnWheel(e);},true);//上下滚动消息
9538
+ };this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
9539
+ this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
9540
+ if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
9541
+ for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.ChangeSymbol=function(symbol,option){this.Symbol=symbol;this.DealData=null;var chart=this.ChartPaint[0];if(chart)chart.Data=null;if(option&&IFrameSplitOperator.IsNumber(option.TradeDate))this.TradeDate=option.TradeDate;if(!this.Symbol){this.Draw();return;}this.RequestDealData();};this.CancelAutoUpdate=function()//关闭停止更新
9542
+ {if(typeof this.AutoUpdateTimer=='number'){clearTimeout(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.AutoUpdateEvent=function(bStart,explain)//自定更新事件, 是给websocket使用
9543
+ {var eventID=bStart?JSCHART_EVENT_ID.RECV_START_AUTOUPDATE:JSCHART_EVENT_ID.RECV_STOP_AUTOUPDATE;if(!this.mapEvent.has(eventID))return;var self=this;var event=this.mapEvent.get(eventID);var data={Stock:{Symbol:this.Symbol,Name:this.Name,DayCount:this.DayCount},Explain:explain};if(bStart){data.Callback=function(data)//数据到达更新回调
9544
+ {self.RecvDealUpdateData(data);};}event.Callback(event,data,this);};//全量数据下载
9545
+ this.RequestDealData=function(){this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);this.Draw();var self=this;if(this.NetworkFilter){var obj={Name:'JSDealChartContainer::RequestDealData',//类名::
9546
+ Explain:'成交明细',Request:{Data:{symbol:self.Symbol,tradeDate:self.TradeDate}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvDealData(data);self.AutoUpdateEvent(true,'JSDealChartContainer::RequestDealData');self.AutoUpdate();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
9547
+ }var cacheUrl=g_JSChartResource.CacheDomain+'/cache/dealday/today/'+this.Symbol+'.json';JSNetwork.HttpRequest({url:cacheUrl,type:"get",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvDealData(data);self.AutoUpdate(1);},error:function error(http,e){self.ChartSplashPaint.EnableSplash(false);self.AutoUpdate();//self.RecvError(http,e,param);;
9548
+ }});};this.RecvDealData=function(data){var aryDeal=JSDealChartContainer.JsonDataToDealData(data);this.Data={DataOffset:0,Data:aryDeal};this.Symbol=data.symbol;this.Name=data.name;var chart=this.ChartPaint[0];chart.Data=this.Data;chart.Symbol=this.Symbol;chart.YClose=data.yclose;chart.Open=data.open;//显示最后一屏
9549
+ var pageSize=chart.GetPageSize(true);var offset=aryDeal.length-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;this.Draw();};//增量数据下载
9550
+ this.RequestDealUpdateData=function(){var self=this;if(this.NetworkFilter){var obj={Name:'JSDealChartContainer::RequestDealUpdateData',//类名::函数名
9551
+ Explain:'增量成交明细',Request:{Data:{symbol:self.Symbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvDealUpdateData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}};this.RecvDealUpdateData=function(data){var aryDeal=JSDealChartContainer.JsonDataToDealData(data);if(!IFrameSplitOperator.IsNonEmptyArray(aryDeal))return;var lUpdateCount=aryDeal.length;if(!this.Data.Data){this.Data.Data=aryDeal;}else{for(var i=0;i<aryDeal.length;++i){this.Data.Data.push(aryDeal[i]);++this.Data.DataOffset;}}this.Draw();};this.AutoUpdate=function(waitTime)//waitTime 更新时间
9552
+ {this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;if(!this.Symbol)return;var self=this;var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(this.Symbol);if(marketStatus==0||marketStatus==3)return;//闭市,盘后
9553
+ var frequency=this.AutoUpdateFrequency;if(marketStatus==1)//盘前
9554
+ {this.AutoUpdateTimer=setTimeout(function(){self.AutoUpdate();},frequency);}else if(marketStatus==2)//盘中
9555
+ {this.AutoUpdateTimer=setTimeout(function(){self.RequestDealUpdateData();},frequency);}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();this.AutoUpdateEvent(false,'JSDealChartContainer::StopAutoUpdate');if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};//设置事件回调
9556
+ //{event:事件id, callback:回调函数}
9557
+ this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
9558
+ {if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.OnSize=function(){if(!this.Frame)return;this.SetSizeChange(true);this.Draw();};this.SetSizeChange=function(bChanged){var chart=this.ChartPaint[0];if(chart)chart.SizeChange=bChanged;};this.OnWheel=function(e)//滚轴
9559
+ {JSConsole.Chart.Log('[JSDealChartContainer::OnWheel]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;var isInClient=false;this.Canvas.beginPath();this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());isInClient=this.Canvas.isPointInPath(x,y);if(!isInClient)return;var chart=this.ChartPaint[0];if(!chart)return;var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;if(wheelValue<0)//下一页
9560
+ {if(this.GotoNextPage())this.Draw();}else if(wheelValue>0)//上一页
9561
+ {if(this.GotoPreviousPage())this.Draw();}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var keyID=e.keyCode?e.keyCode:e.which;switch(keyID){case 38://up
9562
+ if(this.GotoPreviousPage())this.Draw();break;case 40://down
9563
+ if(this.GotoNextPage())this.Draw();break;}//不让滚动条滚动
9564
+ if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.GotoNextPage=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var pageSize=chart.GetPageSize();if(pageSize>this.Data.Data.length)return false;var offset=this.Data.DataOffset+pageSize;if(offset+pageSize==this.Data.Data.length-1)return false;if(offset+pageSize>this.Data.Data.length)//最后一页不够一屏调整到满屏
9565
+ {this.Data.DataOffset=this.Data.Data.length-pageSize;}else{this.Data.DataOffset=offset;}return true;};this.GotoPreviousPage=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;if(this.Data.DataOffset<=0)return false;var pageSize=chart.GetPageSize();var offset=this.Data.DataOffset;offset-=pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;return true;};this.SetColumn=function(aryColunm,option){var chart=this.ChartPaint[0];if(chart){chart.SetColumn(aryColunm);chart.SizeChange=true;if(option&&option.Redraw)this.Draw();}};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&option.Redraw){this.SetSizeChange(true);this.Draw();}};}JSDealChartContainer.JsonDataToDealData=function(data){var symbol=data.symbol;var result=[];if(!IFrameSplitOperator.IsNonEmptyArray(data.detail))return result;//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID
9566
+ for(var i=0;i<data.detail.length;++i){var item=data.detail[i];var dealItem={Time:item[0],Price:item[1],Vol:item[2],BS:item[4],Amount:item[3]};dealItem.Source=item;if(item[5])dealItem.StrTime=item[5];if(item[6])dealItem.ID=item[6];result.push(dealItem);}return result;};function JSDealFrame(){this.ChartBorder;this.Canvas;//画布
9567
+ this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
9568
+ this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;this.ReloadResource=function(resource){this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
9569
+ this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;};this.Draw=function(option){if(option&&option.IsEnableSplash===true){var left=ToFixedPoint(this.ChartBorder.GetLeft());var top=ToFixedPoint(this.ChartBorder.GetTop());var right=ToFixedPoint(this.ChartBorder.GetRight());var bottom=ToFixedPoint(this.ChartBorder.GetBottom());var width=right-left;var height=bottom-top;this.Canvas.strokeStyle=this.BorderColor;this.Canvas.strokeRect(left,top,width,height);}};this.DrawLogo=function(){var text=g_JSChartResource.FrameLogo.Text;if(!IFrameSplitOperator.IsString(text))return;this.Canvas.fillStyle=this.LogoTextColor;this.Canvas.font=this.LogoTextFont;this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';var x=this.ChartBorder.GetLeft()+5;var y=this.ChartBorder.GetBottom()-5;this.Canvas.fillText(text,x,y);};}var DEAL_COLUMN_ID={TIME_ID:0,//时间
9570
+ PRICE_ID:1,//成交价格
9571
+ VOL_ID:2,//成交量
9572
+ DEAL_ID:3,//成交笔数
9573
+ BS_ID:4,UPDOWN_ID:5,//涨跌
9574
+ STRING_TIME_ID:6//字符串时间
9575
+ };function ChartDealList(){this.Canvas;//画布
9576
+ this.ChartBorder;//边框信息
9577
+ this.ChartFrame;//框架画法
9578
+ this.Name;//名称
9579
+ this.ClassName='ChartDealList';//类名
9580
+ this.IsDrawFirst=false;this.GetEventCallback;this.Data;//数据 { Data:[ { Time:, Price:, Vol:, BS:, StrTime } ], Offset: }
9581
+ //this.Data={Offset:0, Data:[ {Time:925, Price:20.1, Vol:10000050, BS:1, Deal:45 }, {Time:925, Price:18.2, Vol:1150, BS:1, Deal:5 }] };
9582
+ this.Symbol;this.YClose;//昨收
9583
+ this.Open;//开盘价
9584
+ this.Decimal=2;//小数位数
9585
+ this.SizeChange=true;//涨跌颜色
9586
+ this.UpColor=g_JSChartResource.DealList.UpTextColor;this.DownColor=g_JSChartResource.DealList.DownTextColor;this.UnchagneColor=g_JSChartResource.DealList.UnchagneTextColor;this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
9587
+ //表头配置
9588
+ this.HeaderFontConfig={Size:g_JSChartResource.DealList.Header.Font.Size,Name:g_JSChartResource.DealList.Header.Font.Name};this.HeaderColor=g_JSChartResource.DealList.Header.Color;this.HeaderMergin={Left:g_JSChartResource.DealList.Header.Mergin.Left,Right:g_JSChartResource.DealList.Header.Mergin.Right,Top:g_JSChartResource.DealList.Header.Mergin.Top,Bottom:g_JSChartResource.DealList.Header.Mergin.Bottom};//表格内容配置
9589
+ this.ItemFontConfig={Size:g_JSChartResource.DealList.Row.Font.Size,Name:g_JSChartResource.DealList.Row.Font.Name};this.RowMergin={Top:g_JSChartResource.DealList.Row.Mergin.Top,Bottom:g_JSChartResource.DealList.Row.Mergin.Bottom};//缓存
9590
+ this.HeaderFont=12*GetDevicePixelRatio()+"px 微软雅黑";this.ItemFont=15*GetDevicePixelRatio()+"px 微软雅黑";this.RowCount=0;this.TableWidth=0;this.TableCount=0;this.HeaderHeight=0;this.Column=[{Type:DEAL_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88",Foramt:"HH:MM:SS"},{Type:DEAL_COLUMN_ID.PRICE_ID,Title:"价格",TextAlign:"center",Width:null,MaxText:"888888.88"},{Type:DEAL_COLUMN_ID.VOL_ID,Title:"成交",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Vol,MaxText:"888888"},{Type:DEAL_COLUMN_ID.BS_ID,Title:"",TextAlign:"right",Width:null,MaxText:"擎"}];this.RectClient={};this.ReloadResource=function(resource){this.UpColor=g_JSChartResource.DealList.UpTextColor;this.DownColor=g_JSChartResource.DealList.DownTextColor;this.UnchagneColor=g_JSChartResource.DealList.UnchagneTextColor;this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
9591
+ //表头配置
9592
+ this.HeaderFontConfig={Size:g_JSChartResource.DealList.Header.Font.Size,Name:g_JSChartResource.DealList.Header.Font.Name};this.HeaderColor=g_JSChartResource.DealList.Header.Color;this.HeaderMergin={Left:g_JSChartResource.DealList.Header.Mergin.Left,Right:g_JSChartResource.DealList.Header.Mergin.Right,Top:g_JSChartResource.DealList.Header.Mergin.Top,Bottom:g_JSChartResource.DealList.Header.Mergin.Bottom};//表格内容配置
9593
+ this.ItemFontConfig={Size:g_JSChartResource.DealList.Row.Font.Size,Name:g_JSChartResource.DealList.Row.Font.Name};this.RowMergin={Top:g_JSChartResource.DealList.Row.Mergin.Top,Bottom:g_JSChartResource.DealList.Row.Mergin.Bottom};for(var i=0;i<this.Column.length;++i){var item=this.Column[i];if(item.Type==DEAL_COLUMN_ID.TIME_ID||item.Type==DEAL_COLUMN_ID.STRING_TIME_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Time;else if(item.Type==DEAL_COLUMN_ID.VOL_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Vol;else if(item.Type==DEAL_COLUMN_ID.DEAL_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Deal;}};this.SetColumn=function(aryColumn){if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;this.Column=[];for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];var colItem=this.GetDefaultColunm(item.Type);if(!colItem)continue;if(item.Title)colItem.Title=item.Title;if(item.TextAlign)colItem.TextAlign=item.TextAlign;if(item.TextColor)colItem.TextColor=item.TextColor;if(item.MaxText)colItem.MaxText=item.MaxText;this.Column.push(colItem);}};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:DEAL_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88",Foramt:"HH:MM:SS"},{Type:DEAL_COLUMN_ID.PRICE_ID,Title:"价格",TextAlign:"center",Width:null,MaxText:"888888.88"},{Type:DEAL_COLUMN_ID.VOL_ID,Title:"成交",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Vol,MaxText:"888888"},{Type:DEAL_COLUMN_ID.BS_ID,Title:"",TextAlign:"right",Width:null,MaxText:"擎"},{Type:DEAL_COLUMN_ID.DEAL_ID,Title:"笔数",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Deal,MaxText:"8888"},{Type:DEAL_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-8888.88"},{Type:DEAL_COLUMN_ID.STRING_TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.Draw=function(){if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.DrawBorder();this.DrawHeader();this.DrawBody();this.SizeChange=false;};//更新缓存变量
9594
+ this.UpdateCacheData=function(){this.RectClient.Left=this.ChartBorder.GetLeft();this.RectClient.Right=this.ChartBorder.GetRight();this.RectClient.Top=this.ChartBorder.GetTop();this.RectClient.Bottom=this.ChartBorder.GetBottom();this.Decimal=GetfloatPrecision(this.Symbol);};this.GetPageSize=function(recalculate)//recalculate 是否重新计算
9595
+ {if(recalculate)this.CalculateSize();var size=this.TableCount*this.RowCount;return size;};this.CalculateSize=function()//计算大小
9596
+ {this.UpdateCacheData();var pixelRatio=GetDevicePixelRatio();this.HeaderFont=this.HeaderFontConfig.Size*pixelRatio+'px '+this.HeaderFontConfig.Name;this.ItemFont=this.ItemFontConfig.Size*pixelRatio+'px '+this.ItemFontConfig.Name;this.Canvas.font=this.ItemFont;var sumWidth=0,itemWidth=0;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];itemWidth=this.Canvas.measureText(item.MaxText).width;item.Width=itemWidth+4;sumWidth+=item.Width;}var clientWidth=this.RectClient.Right-this.RectClient.Left;this.TableCount=parseInt(clientWidth/sumWidth);this.TableWidth=clientWidth/this.TableCount;this.HeaderHeight=this.GetFontHeight(this.HeaderFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;this.RowHeight=this.GetFontHeight(this.ItemFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;this.RowCount=parseInt((this.RectClient.Bottom-this.RectClient.Top-this.HeaderHeight)/this.RowHeight);};this.DrawHeader=function(){var left=this.RectClient.Left+this.HeaderMergin.Left;var top=this.RectClient.Top;var y=top+this.HeaderMergin.Top+(this.HeaderHeight-this.HeaderMergin.Top-this.HeaderMergin.Bottom)/2;this.Canvas.font=this.HeaderFont;this.Canvas.fillStyle=this.HeaderColor;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;for(j=0;j<this.Column.length;++j){var item=this.Column[j];var itemWidth=item.Width;if(j==this.Column.length-1)itemWidth=this.TableWidth-(textLeft-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var x=textLeft;if(item.TextAlign=='center'){x=textLeft+itemWidth/2;this.Canvas.textAlign="center";}else if(item.TextAlign=='right'){x=textLeft+itemWidth;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Title,x,y);textLeft+=item.Width;}}};this.DrawBorder=function(){var left=ToFixedPoint(this.RectClient.Left);var right=ToFixedPoint(this.RectClient.Right);var top=ToFixedPoint(this.RectClient.Top);var bottom=ToFixedPoint(this.RectClient.Bottom);this.Canvas.strokeStyle=this.BorderColor;this.Canvas.beginPath();this.Canvas.moveTo(left,top);this.Canvas.lineTo(right,top);this.Canvas.moveTo(left,top+this.HeaderHeight);this.Canvas.lineTo(right,top+this.HeaderHeight);this.Canvas.moveTo(left,bottom);this.Canvas.lineTo(right,bottom);this.Canvas.moveTo(left,top);this.Canvas.lineTo(left,bottom);this.Canvas.moveTo(right,top);this.Canvas.lineTo(right,bottom);var tableLeft=ToFixedPoint(left+this.TableWidth);for(var i=1;i<this.TableCount;++i){this.Canvas.moveTo(tableLeft,top);this.Canvas.lineTo(tableLeft,bottom);tableLeft=ToFixedPoint(tableLeft+this.TableWidth);}this.Canvas.stroke();};this.DrawBody=function(){if(!this.Data)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.font=this.ItemFont;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left+this.HeaderMergin.Left;var dataCount=this.Data.Data.length;var index=this.Data.DataOffset;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index<dataCount;++j,++index){var dataItem=this.Data.Data[index];this.DrawRow(dataItem,textLeft,textTop);textTop+=this.RowHeight;}}};this.DrawRow=function(data,left,top){var tableLeft=left;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];var textColor=item.TextColor;var text=null;if(item.Type==DEAL_COLUMN_ID.TIME_ID){text=IFrameSplitOperator.FormatTimeString(data.Time,item.Foramt);}else if(item.Type==DEAL_COLUMN_ID.STRING_TIME_ID){text=data.StrTime;}else if(item.Type==DEAL_COLUMN_ID.PRICE_ID){if(data.Price>this.YClose)textColor=this.UpColor;else if(data.Price<this.YClose)textColor=this.DownColor;else textColor=this.UnchagneColor;text=data.Price.toFixed(this.Decimal);}else if(item.Type==DEAL_COLUMN_ID.VOL_ID){text=IFrameSplitOperator.FormatValueString(data.Vol,0);textColor=this.GetVolColor(item,data);}else if(item.Type==DEAL_COLUMN_ID.DEAL_ID){text=IFrameSplitOperator.FormatValueString(data.Deal,0);}else if(item.Type==DEAL_COLUMN_ID.BS_ID){if(data.BS==1){text="B";textColor=this.UpColor;}else if(data.BS==2){text="S";textColor=this.DownColor;}}else if(item.Type==DEAL_COLUMN_ID.UPDOWN_ID){if(IFrameSplitOperator.IsNumber(this.YClose)){var value=data.Price-this.YClose;text=value.toFixed(2);if(value>0)textColor=this.UpColor;else if(value<0)textColor=this.DownColor;else textColor=this.UnchagneColor;}}var itemWidth=item.Width;if(i==this.Column.length-1)itemWidth=this.TableWidth-(left-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var x=left;if(item.TextAlign=='center'){x=left+itemWidth/2;this.Canvas.textAlign="center";}else if(item.TextAlign=='right'){x=left+itemWidth;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillStyle=textColor;if(text)this.Canvas.fillText(text,x,top+this.RowHeight/2);left+=item.Width;}};this.GetVolColor=function(colunmInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_DEAL_VOL_COLOR);if(event&&event.Callback){var sendData={Data:data,TextColor:null};event.Callback(event,sendData,this);if(sendData.TextColor)return sendData.TextColor;}return colunmInfo.TextColor;};this.GetFontHeight=function(font,word){return GetFontHeight(this.Canvas,font,word);};}//把给外界调用的方法暴露出来
9476
9597
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
9477
9598
  // BaseIndex:BaseIndex,
9478
9599
  // ChartLine:ChartLine,
@@ -9493,4 +9614,4 @@ JSCHART_OPERATOR_ID:JSCHART_OPERATOR_ID,//图形控制类型
9493
9614
  JSAlgorithm:JSAlgorithm,//算法类
9494
9615
  JSComplier:JSComplier,//指标编译器
9495
9616
  JSIndexScript:JSIndexScript,//系统指标库
9496
- GetDevicePixelRatio:GetDevicePixelRatio},(0,_defineProperty3.default)(_jsChartInit$jsChartS,'GetDevicePixelRatio',GetDevicePixelRatio),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'ScriptIndexConsole',ScriptIndexConsole),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'STYLE_TYPE_ID',STYLE_TYPE_ID),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'HQChartStyle',HQChartStyle),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'JSConsole',JSConsole),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'KLineTooltipPaint',KLineTooltipPaint),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'MinuteTooltipPaint',MinuteTooltipPaint),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'ChartDrawTwoPointDemo',ChartDrawTwoPointDemo),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'ChartDrawThreePointDemo',ChartDrawThreePointDemo),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'CoordinateInfo',CoordinateInfo),_jsChartInit$jsChartS);
9617
+ GetDevicePixelRatio:GetDevicePixelRatio},(0,_defineProperty3.default)(_jsChartInit$jsChartS,'GetDevicePixelRatio',GetDevicePixelRatio),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'ScriptIndexConsole',ScriptIndexConsole),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'STYLE_TYPE_ID',STYLE_TYPE_ID),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'HQChartStyle',HQChartStyle),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'JSConsole',JSConsole),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'KLineTooltipPaint',KLineTooltipPaint),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'MinuteTooltipPaint',MinuteTooltipPaint),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'ChartDrawTwoPointDemo',ChartDrawTwoPointDemo),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'ChartDrawThreePointDemo',ChartDrawThreePointDemo),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'CoordinateInfo',CoordinateInfo),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'JSDealChart',JSDealChart),(0,_defineProperty3.default)(_jsChartInit$jsChartS,'DEAL_COLUMN_ID',DEAL_COLUMN_ID),_jsChartInit$jsChartS);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hqchart",
3
3
  "description": "stock chart",
4
4
  "author": "jones2000",
5
- "version": "1.1.10821",
5
+ "version": "1.1.10837",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",