hqchart 1.1.15390 → 1.1.15428

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.
@@ -32160,6 +32160,12 @@ function ChartKLine()
32160
32160
  TextColor: g_JSChartResource.DaySummaryKLine.TextColor,
32161
32161
  LeftMargin:g_JSChartResource.DaySummaryKLine.LeftMargin,
32162
32162
  }
32163
+
32164
+ this.PriceGapStyple=
32165
+ {
32166
+ Line:{ Color:g_JSChartResource.PriceGapStyple.Line.Color },
32167
+ Text:{ Color:g_JSChartResource.PriceGapStyple.Text.Color, Font: g_JSChartResource.PriceGapStyple.Text.Font }
32168
+ };
32163
32169
 
32164
32170
  }
32165
32171
 
@@ -60164,6 +60170,11 @@ IFrameSplitOperator.RemoveMarketSuffix=function(symbol)
60164
60170
  return symbol;
60165
60171
  }
60166
60172
 
60173
+ IFrameSplitOperator.IsNumberString=function(strValue)
60174
+ {
60175
+ return /^\d+$/.test(strValue);
60176
+ }
60177
+
60167
60178
  function FrameSplitKLinePriceY()
60168
60179
  {
60169
60180
  this.newMethod=IFrameSplitOperator; //派生
@@ -83834,6 +83845,70 @@ function JSChartResource()
83834
83845
  }
83835
83846
  }
83836
83847
 
83848
+ //买卖5档
83849
+ this.StockInfo=
83850
+ {
83851
+ Header:
83852
+ {
83853
+ Name:
83854
+ {
83855
+ Font:`${20*GetDevicePixelRatio()}px 微软雅黑`,
83856
+ Color:"rgb(90,90,90)",
83857
+ Margin:{ Left:5, Top:10, Bottom:5, Right:5, YOffset:0 },
83858
+ },
83859
+
83860
+ Symbol:
83861
+ {
83862
+ Font:`${18*GetDevicePixelRatio()}px 微软雅黑`,
83863
+ Color:"rgb(90,90,90)",
83864
+ Margin:{ Left:5, Top:10, Bottom:5, Right:5, YOffset:0 },
83865
+ },
83866
+
83867
+ AryCell:
83868
+ [
83869
+ { Font:`bold ${16*GetDevicePixelRatio()}px 微软雅黑`,Color:"rgb(90,90,90)", Margin:{ Left:5, Top:5, Bottom:5, Right:5, YOffset:0 } },
83870
+ { Font:`${16*GetDevicePixelRatio()}px 微软雅黑`,Color:"rgb(90,90,90)", Margin:{ Left:5, Top:5, Bottom:5, Right:5, YOffset:0 } },
83871
+ { Font:`${16*GetDevicePixelRatio()}px 微软雅黑`,Color:"rgb(90,90,90)", Margin:{ Left:5, Top:5, Bottom:5, Right:5, YOffset:0 } }
83872
+ ],
83873
+
83874
+ TextColor:"rgb(100,100,10)",
83875
+
83876
+ BottomLine:{ Enable:true, Color:"rgb(192,192,192)"} , //底部分割线
83877
+ },
83878
+
83879
+ BuySell:
83880
+ {
83881
+ Font:14*GetDevicePixelRatio() +'px 微软雅黑',
83882
+ TitleColor:"rgb(90,90,90)",
83883
+ VolColor:"rgb(90,90,90)",
83884
+ Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
83885
+ CellMargin:{ Top:5, Bottom:5, Left:5, Right:5, YOffset:0 },
83886
+ BottomLine:{ Enable:true, Color:"rgb(192,192,192)"}, //底部分割线
83887
+ TopLine:{ Enable:false, Color:"rgb(192,192,192)"}, //底部分割线
83888
+
83889
+ CenterLine:
83890
+ {
83891
+ BuyColor:"rgb(228, 164, 54)",SellColor:"rgb(61, 147, 219)", NoneColor:"rgb(90,90,90)",
83892
+ Width:2*GetDevicePixelRatio()
83893
+ }
83894
+ },
83895
+
83896
+ Table:
83897
+ {
83898
+ Font:14*GetDevicePixelRatio() +'px 微软雅黑',
83899
+ TitleColor:"rgb(90,90,90)",
83900
+ TextColor:"rgb(90,90,90)",
83901
+ Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
83902
+ CellMargin:{ Top:5, Bottom:5, Left:5, Right:5, YOffset:0 },
83903
+ },
83904
+
83905
+ UpTextColor:"rgb(238,21,21)", //上涨文字颜色
83906
+ DownTextColor:"rgb(25,158,0)", //下跌文字颜色
83907
+ UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
83908
+
83909
+ BorderColor:"rgb(192,192,192)"
83910
+ }
83911
+
83837
83912
 
83838
83913
  //自定义风格
83839
83914
  this.SetStyle=function(style)
@@ -84802,9 +84877,131 @@ function JSChartResource()
84802
84877
  if (style.KLineCountDownPaint) this.SetKLineCountDownPaint(style.KLineCountDownPaint);
84803
84878
 
84804
84879
  if (style.SmallFloatTooltipV2) this.SetSmallFloatTooltipV2(style.SmallFloatTooltipV2);
84880
+ if (style.StockInfo) this.SetStockInfo(style.StockInfo);
84805
84881
 
84806
84882
  }
84807
84883
 
84884
+ this.SetStockInfo=function(style)
84885
+ {
84886
+ var dest=this.StockInfo;
84887
+
84888
+ if (style.BuySell)
84889
+ {
84890
+ var item=style.BuySell;
84891
+ if (item.Font) dest.BuySell.Font=item.Font;
84892
+ if (item.TitleColor) dest.BuySell.TitleColor=item.TitleColor;
84893
+ if (item.VolColor) dest.BuySell.VolColor=item.VolColor;
84894
+ CopyMarginConfig(dest.BuySell.Margin, item.Margin);
84895
+ if (item.CellMargin)
84896
+ {
84897
+ var subItem=item.CellMargin;
84898
+ CopyMarginConfig(dest.BuySell.CellMargin, subItem);
84899
+ if (IFrameSplitOperator.IsNumber(subItem.YOffset)) dest.BuySell.CellMargin.YOffset=subItem.YOffset
84900
+ }
84901
+
84902
+ if (item.BottomLine)
84903
+ {
84904
+ var subItem=item.BottomLine;
84905
+ if (subItem.Color) dest.BuySell.BottomLine.Color=subItem.Color;
84906
+ if (IFrameSplitOperator.IsBool(subItem.Enable)) dest.BuySell.BottomLine.Enable=subItem.Enable;
84907
+ }
84908
+
84909
+ if (item.TopLine)
84910
+ {
84911
+ var subItem=item.TopLine;
84912
+ if (subItem.Color) dest.BuySell.TopLine.Color=subItem.Color;
84913
+ if (IFrameSplitOperator.IsBool(subItem.Enable)) dest.BuySell.TopLine.Enable=subItem.Enable;
84914
+ }
84915
+
84916
+ if (item.CenterLine)
84917
+ {
84918
+ var subItem=item.CenterLine;
84919
+ if (subItem.BuyColor) dest.BuySell.CenterLine.BuyColor=subItem.BuyColor;
84920
+ if (subItem.SellColor) dest.BuySell.CenterLine.SellColor=subItem.SellColor;
84921
+ if (subItem.NoneColor) dest.BuySell.CenterLine.NoneColor=subItem.NoneColor;
84922
+ if (IFrameSplitOperator.IsNumber(subItem.Width)) dest.BuySell.CenterLine.Width=subItem.Width;
84923
+ }
84924
+
84925
+
84926
+ }
84927
+
84928
+ if (style.Table)
84929
+ {
84930
+ var item=style.Table;
84931
+ if (item.Font) dest.Table.Font=item.Font;
84932
+ if (item.TitleColor) dest.Table.TitleColor=item.TitleColor;
84933
+ if (item.TextColor) dest.Table.TextColor=item.TextColor;
84934
+ CopyMarginConfig(dest.Table.Margin, item.Margin);
84935
+ if (item.CellMargin)
84936
+ {
84937
+ var subItem=item.CellMargin;
84938
+ CopyMarginConfig(dest.Table.CellMargin, subItem);
84939
+ if (IFrameSplitOperator.IsNumber(subItem.YOffset)) dest.Table.CellMargin.YOffset=subItem.YOffset
84940
+ }
84941
+ }
84942
+
84943
+ if (style.Header)
84944
+ {
84945
+ var item=style.Header;
84946
+ if (item.Font) dest.Header.Font=item.Font;
84947
+ if (item.TextColor) dest.Header.TextColor=item.TextColor;
84948
+ if (item.Name)
84949
+ {
84950
+ var subItem=item.Name;
84951
+ if (subItem.Font) dest.Header.Name.Font=subItem.Font;
84952
+ if (subItem.Color) dest.Header.Name.Color=subItem.Color;
84953
+ if (subItem.Margin)
84954
+ {
84955
+ var margin=subItem.Margin;
84956
+ CopyMarginConfig(dest.Header.Name.Margin, margin);
84957
+ if (IFrameSplitOperator.IsNumber(margin.YOffset)) dest.Header.Name.Margin.YOffset=margin.YOffset
84958
+ }
84959
+ }
84960
+
84961
+ if (item.Symbol)
84962
+ {
84963
+ var subItem=item.Symbol;
84964
+ if (subItem.Font) dest.Header.Symbol.Font=subItem.Font;
84965
+ if (subItem.Color) dest.Header.Symbol.Color=subItem.Color;
84966
+ if (subItem.Margin)
84967
+ {
84968
+ var margin=subItem.Margin;
84969
+ CopyMarginConfig(dest.Header.Symbol.Margin, margin);
84970
+ if (IFrameSplitOperator.IsNumber(margin.YOffset)) dest.Header.Symbol.Margin.YOffset=margin.YOffset
84971
+ }
84972
+ }
84973
+
84974
+ if (IFrameSplitOperator.IsNonEmptyArray(item.AryCell))
84975
+ {
84976
+ for(var i=0;i<item.AryCell.length;++i)
84977
+ {
84978
+ var subItem=item.AryCell[i];
84979
+ if (!dest.Header.AryCell[i]) dest.Header.AryCell[i]={ };
84980
+ var subDest=dest.Header.AryCell[i];
84981
+ if (subItem.Font) subDest.Font=subItem.Font;
84982
+ if (subItem.Margin)
84983
+ {
84984
+ var margin=subItem.Margin;
84985
+ CopyMarginConfig(subDest.Margin, margin);
84986
+ if (IFrameSplitOperator.IsNumber(margin.YOffset)) subDest.YOffset=margin.YOffset
84987
+ }
84988
+ }
84989
+ }
84990
+
84991
+ if (item.BottomLine)
84992
+ {
84993
+ var subItem=item.BottomLine;
84994
+ if (subItem.Color) dest.Header.BottomLine.Color=subItem.Color;
84995
+ if (IFrameSplitOperator.IsBool(subItem.Enable)) dest.Header.BottomLine.Enable=subItem.Enable;
84996
+ }
84997
+ }
84998
+
84999
+ if (style.UpTextColor) dest.UpTextColor=style.UpTextColor;
85000
+ if (style.DownTextColor) dest.DownTextColor=style.DownTextColor;
85001
+ if (style.UnchangeTextColor) dest.UnchangeTextColor=style.UnchangeTextColor;
85002
+ if (style.BorderColor) dest.BorderColor=style.BorderColor;
85003
+ }
85004
+
84808
85005
  this.SetSmallFloatTooltipV2=function(style)
84809
85006
  {
84810
85007
  var dest=this.SmallFloatTooltipV2;
@@ -91399,6 +91596,9 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
91399
91596
  if (!option.Windows) return;
91400
91597
  var count=option.Windows.length;
91401
91598
  if (count<=0) return;
91599
+
91600
+ this.Frame.RestoreIndexWindows();
91601
+
91402
91602
  var currentLength=this.Frame.SubFrame.length;
91403
91603
 
91404
91604
  var period=null, right=null, symbol=null;
@@ -98329,6 +98529,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
98329
98529
  this.ChangeIndexTemplate=function(option) //切换指标模板 可以设置指标窗口个数 每个窗口的指标, 只能从第3个指标窗口开始设置,前面2个指标窗口固定无法设置
98330
98530
  {
98331
98531
  if (!Array.isArray(option.Windows)) return;
98532
+ this.Frame.RestoreIndexWindows();
98533
+
98332
98534
  var count=option.Windows.length;
98333
98535
  var currentLength=this.Frame.SubFrame.length;
98334
98536
  var startWindowIndex=2;
@@ -106787,6 +106989,18 @@ var MARKET_SUFFIX_NAME=
106787
106989
  return false;
106788
106990
  },
106789
106991
 
106992
+ IsHKStock:function(symbol) //港股股票 全是数字
106993
+ {
106994
+ if (!symbol) return false;
106995
+ var upperSymbol=symbol.toUpperCase();
106996
+ if (!this.IsHK(upperSymbol)) return false;
106997
+
106998
+ var shortSymbol=this.GetShortSymbol(symbol);
106999
+ if (IFrameSplitOperator.IsNumberString(shortSymbol)) return true;
107000
+
107001
+ return false;
107002
+ },
107003
+
106790
107004
  GetMarketStatus:function(symbol) //获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
106791
107005
  {
106792
107006
  if (!symbol) return 0;
@@ -107127,7 +107341,18 @@ var MARKET_SUFFIX_NAME=
107127
107341
  if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol)) return 100; //单位手=100股
107128
107342
 
107129
107343
  return 1;
107344
+ },
107345
+
107346
+ //获取不带后缀的代码
107347
+ GetShortSymbol:function(symbol)
107348
+ {
107349
+ if (!IFrameSplitOperator.IsString(symbol)) return null;
107350
+ var pos=symbol.lastIndexOf(".");
107351
+ if (pos<=0) return symbol;
107352
+
107353
+ return symbol.slice(0,pos);
107130
107354
  }
107355
+
107131
107356
  }
107132
107357
 
107133
107358
 
@@ -123375,13 +123600,13 @@ function JSSymbolData(ast,option,jsExecute)
123375
123600
 
123376
123601
  this.GetDynaCacheData=function(name)
123377
123602
  {
123603
+ var data=null;
123378
123604
  if (MAP_DYNAINFO_SHORTCUT.has(name))
123379
123605
  {
123380
123606
  var item=MAP_DYNAINFO_SHORTCUT.get(name);
123381
- return this.GetLatestCacheData(item.ID);
123607
+ data=this.GetLatestCacheData(item.ID);
123382
123608
  }
123383
-
123384
- return null;
123609
+ return data;
123385
123610
  }
123386
123611
 
123387
123612
  this.GetLatestIndexData=function()
@@ -124457,12 +124682,7 @@ function JSSymbolData(ast,option,jsExecute)
124457
124682
  { Url:self.RealtimeApiUrl, Type:'POST' ,
124458
124683
  Data:
124459
124684
  {
124460
- "field": [ "name", "symbol","yclose","open","price","high","low","vol"],
124461
- "symbol": self.Symbol,
124462
- "start": -1,
124463
- "count": self.MaxRequestDataCount,
124464
- "period":this.Period,
124465
- "right":this.Right
124685
+ symbol: self.Symbol,count: self.MaxRequestDataCount, period:this.Period,right:this.Right
124466
124686
  }
124467
124687
  },
124468
124688
  Self:this,
@@ -124474,6 +124694,7 @@ function JSSymbolData(ast,option,jsExecute)
124474
124694
  obj.Request.KLineDataTimeRange={Start:{ Date:this.KLineDateTimeRange.Start.Date}, End:{ Date:this.KLineDateTimeRange.End.Date} };
124475
124695
  if (this.IsNumber(this.KLineDateTimeRange.Start.Time)) obj.Request.KLineDataTimeRange.Start.Time=this.KLineDateTimeRange.Start.Time;
124476
124696
  if (this.IsNumber(this.KLineDateTimeRange.End.Time)) obj.Request.KLineDataTimeRange.End.Time=this.KLineDateTimeRange.End.Time;
124697
+ obj.Request.Data.dateRange=obj.Request.KLineDataTimeRange;
124477
124698
  }
124478
124699
 
124479
124700
  this.NetworkFilter(obj, function(data)
@@ -126835,13 +127056,14 @@ function JSSymbolData(ast,option,jsExecute)
126835
127056
  if (readArgument.Value=='') readArgument.Value=this.Symbol; //缺省使用股票代码
126836
127057
 
126837
127058
  var symbol=readArgument.Value;
127059
+ var upperSymbol=symbol.toUpperCase();
126838
127060
 
126839
127061
  //支持 SH60000, SZ000001
126840
127062
  //A股后缀小写
126841
- if (symbol.indexOf('.SH')>0) result.Symbol=symbol.replace('.SH', ".sh");
126842
- else if (symbol.indexOf('.SZ')>0) result.Symbol=symbol.replace('.SZ', ".sz");
126843
- else if (symbol.indexOf("SH")==0) result.Symbol=symbol.slice(2)+".sh";
126844
- else if (symbol.indexOf("SZ")==0) result.Symbol=symbol.slice(2)+".sz";
127063
+ if (upperSymbol.indexOf('.SH')>0) result.Symbol=symbol.replace('.SH', ".sh");
127064
+ else if (upperSymbol.indexOf('.SZ')>0) result.Symbol=symbol.replace('.SZ', ".sz");
127065
+ else if (upperSymbol.indexOf("SH")==0) result.Symbol=symbol.slice(2)+".sh";
127066
+ else if (upperSymbol.indexOf("SZ")==0) result.Symbol=symbol.slice(2)+".sz";
126845
127067
  else result.Symbol=symbol;
126846
127068
 
126847
127069
  return true;
@@ -128537,6 +128759,8 @@ function JSExecute(ast,option)
128537
128759
 
128538
128760
  this.ReadSymbolData=function(name,node)
128539
128761
  {
128762
+ if (MAP_DYNAINFO_SHORTCUT.has(name)) return this.SymbolData.GetDynaCacheData(name);
128763
+
128540
128764
  switch(name)
128541
128765
  {
128542
128766
  case 'CLOSE':
@@ -128604,7 +128828,6 @@ function JSExecute(ast,option)
128604
128828
  case 'CAPITAL':
128605
128829
  case 'EXCHANGE':
128606
128830
  case "HSL":
128607
-
128608
128831
  case "HYBLOCK":
128609
128832
  case "DYBLOCK":
128610
128833
  case "GNBLOCK":
@@ -128705,14 +128928,6 @@ function JSExecute(ast,option)
128705
128928
  return this.SymbolData.WEEKOFYEAR();
128706
128929
  case "DAYSTOTODAY":
128707
128930
  return this.SymbolData.DAYSTOTODAY();
128708
-
128709
- case "DYNA_NOW":
128710
- case "DYNA_ZAF":
128711
- case "DYNA_LB":
128712
- case "DYNA_ZAS":
128713
- case "SELLVOL":
128714
- case "BUYVOL":
128715
- return this.SymbolData.GetDynaCacheData(name);
128716
128931
  }
128717
128932
 
128718
128933
  this.ThrowUnexpectedNode(node, '变量'+name+'不存在', name);
@@ -138071,8 +138286,8 @@ function DownloadFinanceData(obj)
138071
138286
  {
138072
138287
  case 1: //FINANCE(1) 总股本(随时间可能有变化) 股
138073
138288
  case 7: //FINANCE(7) 流通股本(随时间可能有变化) 股
138074
- case "EXCHANGE": //换手率
138075
138289
  case "HSL"://换手率
138290
+ case "EXCHANGE": //换手率
138076
138291
  this.DownloadHistoryData(id);
138077
138292
  break;
138078
138293
  case 3:
@@ -138333,7 +138548,7 @@ function DownloadFinanceData(obj)
138333
138548
  if (!item.capital) return null;
138334
138549
  return { Date:date, Value:item.capital.total };
138335
138550
  case 7:
138336
- case "HSL": //换手率
138551
+ case "HSL":
138337
138552
  case "EXCHANGE": //换手率 历史流通股本
138338
138553
  if (!item.capital) return null;
138339
138554
  return { Date:date, Value:item.capital.a };
@@ -139474,6 +139689,67 @@ function GetBlackStyle()
139474
139689
  BGColor: { Selected:"rgb(234,85,4)", Default:"rgb(25,25,25)", MoveOn:"rgb(59,59,59)" },
139475
139690
  BorderColor:"rgb(60,60,60)",
139476
139691
  }
139692
+ },
139693
+
139694
+ StockInfo:
139695
+ {
139696
+ Header:
139697
+ {
139698
+ Name:
139699
+ {
139700
+ //Font:`${20*GetDevicePixelRatio()}px 微软雅黑`,
139701
+ Color:"rgb(255,255,0)",
139702
+ //Margin:{ Left:5, Top:10, Bottom:5, Right:10, YOffset:0 },
139703
+ },
139704
+
139705
+ Symbol:
139706
+ {
139707
+ //Font:`${18*GetDevicePixelRatio()}px 微软雅黑`,
139708
+ Color:"rgb(250,250,250)",
139709
+ //Margin:{ Left:5, Top:10, Bottom:5, Right:5, YOffset:0 },
139710
+ },
139711
+
139712
+ AryCell:
139713
+ [
139714
+ //{ Font:`bold ${16*GetDevicePixelRatio()}px 微软雅黑`, Margin:{ Left:5, Top:5, Bottom:5, Right:15, YOffset:0 } },
139715
+ //{ Font:`${16*GetDevicePixelRatio()}px 微软雅黑`, Margin:{ Left:5, Top:5, Bottom:5, Right:15, YOffset:0 } },
139716
+ //{ Font:`${16*GetDevicePixelRatio()}px 微软雅黑`, Margin:{ Left:5, Top:5, Bottom:5, Right:5, YOffset:0 } }
139717
+ ],
139718
+
139719
+ TextColor:"rgb(250,250,250)",
139720
+
139721
+ BottomLine:{ Enable:true, Color:"rgb(60,60,60)"} , //底部分割线
139722
+ },
139723
+
139724
+ BuySell:
139725
+ {
139726
+ //Font:14*GetDevicePixelRatio() +'px 微软雅黑',
139727
+ TitleColor:"rgb(250,250,250)",
139728
+ VolColor:"rgb(250,250,250)",
139729
+ //Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
139730
+ //CellMargin:{ Top:5, Bottom:5, YOffset:0, Left:5, Right:5, YOffset:-5 },
139731
+ BottomLine:{ Enable:true, Color:"rgb(60,60,60)"} , //底部分割线
139732
+ TopLine:{ Enable:false, Color:"rgb(60,60,60)"} , //顶部分割线
139733
+
139734
+ CenterLine:
139735
+ {
139736
+ NoneColor:"rgb(60,60,60)",
139737
+ }
139738
+ },
139739
+
139740
+ Table:
139741
+ {
139742
+ Font:14*GetDevicePixelRatio() +'px 微软雅黑',
139743
+ TitleColor:"rgb(250,250,250)",
139744
+ TextColor:"rgb(250,250,250)",
139745
+ //Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
139746
+ //CellMargin:{ Top:5, Bottom:5, YOffset:0, Left:5, Right:5, YOffset:-5 },
139747
+ },
139748
+
139749
+ UpTextColor:"rgb(238,21,21)", //上涨文字颜色
139750
+ DownTextColor:"rgb(25,158,0)", //下跌文字颜色
139751
+ UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
139752
+ BorderColor:'rgb(38,38,41)', //边框线
139477
139753
  }
139478
139754
 
139479
139755
  };
@@ -139542,9 +139818,18 @@ function JSDealChart(divElement)
139542
139818
  this.OnSize=function()
139543
139819
  {
139544
139820
  //画布大小通过div获取
139545
- var height=parseInt(this.DivElement.style.height.replace("px",""));
139821
+ var height=this.DivElement.offsetHeight;
139822
+ var width=this.DivElement.offsetWidth;
139823
+ if (this.DivElement.style.height && this.DivElement.style.width)
139824
+ {
139825
+ if (this.DivElement.style.height.includes("px"))
139826
+ height=parseInt(this.DivElement.style.height.replace("px",""));
139827
+ if (this.DivElement.style.width.includes("px"))
139828
+ width=parseInt(this.DivElement.style.width.replace("px",""));
139829
+ }
139830
+
139546
139831
  this.CanvasElement.height=height;
139547
- this.CanvasElement.width=parseInt(this.DivElement.style.width.replace("px",""));
139832
+ this.CanvasElement.width=width;
139548
139833
  this.CanvasElement.style.width=this.CanvasElement.width+'px';
139549
139834
  this.CanvasElement.style.height=this.CanvasElement.height+'px';
139550
139835
 
@@ -140009,8 +140294,8 @@ function JSDealChartContainer(uielement)
140009
140294
  this.ChangeSymbol=function(symbol, option)
140010
140295
  {
140011
140296
  this.Symbol=symbol;
140012
- this.Data=null;
140013
- this.SourceData=null;
140297
+ this.Data={ DataOffset:0, Data:[] }; //分笔数据
140298
+ this.SourceData={DataOffset:0, Data:[] }; //原始分笔数据
140014
140299
 
140015
140300
  var chart=this.ChartPaint[0];
140016
140301
  if (chart) chart.Data=null;
@@ -140657,17 +140942,23 @@ JSDealChartContainer.JsonDataToDealData=function(data)
140657
140942
 
140658
140943
  if (item[100]) dealItem.Guid=item[100];
140659
140944
 
140660
- //10个数值型 101-199
140661
- if (IFrameSplitOperator.IsNumber(item[101])) dealItem.ReserveNumber1=item[101];
140662
- if (IFrameSplitOperator.IsNumber(item[102])) dealItem.ReserveNumber2=item[102];
140663
- if (IFrameSplitOperator.IsNumber(item[103])) dealItem.ReserveNumber3=item[103];
140664
- if (IFrameSplitOperator.IsNumber(item[104])) dealItem.ReserveNumber4=item[104];
140665
- if (IFrameSplitOperator.IsNumber(item[105])) dealItem.ReserveNumber5=item[105];
140666
- if (IFrameSplitOperator.IsNumber(item[106])) dealItem.ReserveNumber6=item[106];
140667
- if (IFrameSplitOperator.IsNumber(item[107])) dealItem.ReserveNumber7=item[107];
140668
- if (IFrameSplitOperator.IsNumber(item[108])) dealItem.ReserveNumber8=item[108];
140669
- if (IFrameSplitOperator.IsNumber(item[109])) dealItem.ReserveNumber9=item[109];
140670
- if (IFrameSplitOperator.IsNumber(item[110])) dealItem.ReserveNumber10=item[110];
140945
+ //柱子类型
140946
+ if (item[50]) dealItem.MultiBar1=item[50];
140947
+ if (item[51]) dealItem.MultiBar2=item[51];
140948
+ if (item[52]) dealItem.MultiBar3=item[52];
140949
+ if (item[53]) dealItem.MultiBar4=item[53];
140950
+
140951
+ //10个数值型 101-199
140952
+ if (IFrameSplitOperator.IsNumber(item[101])) dealItem.ReserveNumber1=item[101];
140953
+ if (IFrameSplitOperator.IsNumber(item[102])) dealItem.ReserveNumber2=item[102];
140954
+ if (IFrameSplitOperator.IsNumber(item[103])) dealItem.ReserveNumber3=item[103];
140955
+ if (IFrameSplitOperator.IsNumber(item[104])) dealItem.ReserveNumber4=item[104];
140956
+ if (IFrameSplitOperator.IsNumber(item[105])) dealItem.ReserveNumber5=item[105];
140957
+ if (IFrameSplitOperator.IsNumber(item[106])) dealItem.ReserveNumber6=item[106];
140958
+ if (IFrameSplitOperator.IsNumber(item[107])) dealItem.ReserveNumber7=item[107];
140959
+ if (IFrameSplitOperator.IsNumber(item[108])) dealItem.ReserveNumber8=item[108];
140960
+ if (IFrameSplitOperator.IsNumber(item[109])) dealItem.ReserveNumber9=item[109];
140961
+ if (IFrameSplitOperator.IsNumber(item[110])) dealItem.ReserveNumber10=item[110];
140671
140962
 
140672
140963
  //10个字符型 201-299
140673
140964
  if (IFrameSplitOperator.IsString(item[201]) || IFrameSplitOperator.IsObject(item[201])) dealItem.ReserveString1=item[201];
@@ -140778,13 +141069,14 @@ var DEAL_COLUMN_ID=
140778
141069
  UPDOWN_ID:5, //涨跌
140779
141070
  STRING_TIME_ID:6, //字符串时间
140780
141071
  INDEX_ID:7, //序号 从1开始
140781
- MULTI_BAR_ID:8, //多颜色柱子
141072
+
140782
141073
  CENTER_BAR_ID:9, //中心柱子
140783
141074
  CUSTOM_TEXT_ID:10, //自定义文本
140784
141075
 
140785
141076
  SYMBOL_ID:11, //股票代码
140786
141077
  NAME_ID:12, //股票名称
140787
141078
 
141079
+
140788
141080
 
140789
141081
  //预留数值类型 10个
140790
141082
  RESERVE_NUMBER1_ID:201, //ReserveNumber1:
@@ -140809,6 +141101,11 @@ var DEAL_COLUMN_ID=
140809
141101
  RESERVE_STRING8_ID:308,
140810
141102
  RESERVE_STRING9_ID:309,
140811
141103
  RESERVE_STRING10_ID:310,
141104
+
141105
+ MULTI_BAR_ID:50, //多颜色柱子
141106
+ MULTI_BAR2_ID:51,
141107
+ MULTI_BAR3_ID:52,
141108
+ MULTI_BAR4_ID:53
140812
141109
  }
140813
141110
 
140814
141111
  var MAP_DEAL_COLUMN_FIELD=new Map(
@@ -140817,6 +141114,11 @@ var MAP_DEAL_COLUMN_FIELD=new Map(
140817
141114
  [DEAL_COLUMN_ID.NAME_ID, "Name"],
140818
141115
  [DEAL_COLUMN_ID.PRICE_ID, "Price"],
140819
141116
 
141117
+ [DEAL_COLUMN_ID.MULTI_BAR_ID, "MultiBar1"],
141118
+ [DEAL_COLUMN_ID.MULTI_BAR2_ID, "MultiBar2"],
141119
+ [DEAL_COLUMN_ID.MULTI_BAR3_ID, "MultiBar3"],
141120
+ [DEAL_COLUMN_ID.MULTI_BAR4_ID, "MultiBar4"],
141121
+
140820
141122
  [DEAL_COLUMN_ID.RESERVE_NUMBER1_ID,"ReserveNumber1"],
140821
141123
  [DEAL_COLUMN_ID.RESERVE_NUMBER2_ID,"ReserveNumber2"],
140822
141124
  [DEAL_COLUMN_ID.RESERVE_NUMBER3_ID,"ReserveNumber3"],
@@ -140973,7 +141275,7 @@ function ChartDealList()
140973
141275
 
140974
141276
  if (item.ChartTooltip) colItem.ChartTooltip={ Enable:item.ChartTooltip.Enable, Type:item.ChartTooltip.Type }; //图形提示信息
140975
141277
 
140976
- if (item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID || item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID)
141278
+ if (item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID)
140977
141279
  {
140978
141280
  if (!IFrameSplitOperator.IsNumber(item.DataIndex)) continue;
140979
141281
  colItem.DataIndex=item.DataIndex; //柱子数据所在原始数据索引列
@@ -140986,6 +141288,8 @@ function ChartDealList()
140986
141288
  {
140987
141289
  if (item.Format) colItem.Format=item.Format; //数据格式化设置{ Type:1=原始 2=千分位分割 3=万亿转换, ExFloatPrecision:万亿转换以后的小数位数 }
140988
141290
  if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //0=默认 1=(>0, =0, <0) 2=(>=0, <0)
141291
+ if (IFrameSplitOperator.IsNumber(item.FloatPrecision)) colItem.FloatPrecision=item.FloatPrecision;
141292
+ if (item.StringFormat) colItem.StringFormat=item.StringFormat; //"{0}%" 输出增加固定字符
140989
141293
  }
140990
141294
 
140991
141295
  this.Column.push(colItem);
@@ -141005,7 +141309,7 @@ function ChartDealList()
141005
141309
  { Type:DEAL_COLUMN_ID.STRING_TIME_ID, Title:"时间", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Time, MaxText:"88:88:88" },
141006
141310
  { Type:DEAL_COLUMN_ID.INDEX_ID, Title:"序号", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Index, MaxText:"88888" },
141007
141311
 
141008
- { Type:DEAL_COLUMN_ID.MULTI_BAR_ID, Title:"柱子", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
141312
+
141009
141313
  { Type:DEAL_COLUMN_ID.CENTER_BAR_ID, Title:"柱子2", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
141010
141314
  { Type:DEAL_COLUMN_ID.CUSTOM_TEXT_ID, Title:"自定义", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Text, MaxText:"擎擎擎擎擎" },
141011
141315
 
@@ -141033,6 +141337,11 @@ function ChartDealList()
141033
141337
  { Type:DEAL_COLUMN_ID.RESERVE_STRING8_ID, Title:"文字8", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"擎擎擎擎擎擎" },
141034
141338
  { Type:DEAL_COLUMN_ID.RESERVE_STRING9_ID, Title:"文字9", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"擎擎擎擎擎擎" },
141035
141339
  { Type:DEAL_COLUMN_ID.RESERVE_STRING10_ID, Title:"文字10", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"擎擎擎擎擎擎" },
141340
+
141341
+ { Type:DEAL_COLUMN_ID.MULTI_BAR_ID, Title:"柱子", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
141342
+ { Type:DEAL_COLUMN_ID.MULTI_BAR2_ID, Title:"柱子2", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
141343
+ { Type:DEAL_COLUMN_ID.MULTI_BAR3_ID, Title:"柱子3", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
141344
+ { Type:DEAL_COLUMN_ID.MULTI_BAR4_ID, Title:"柱子4", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
141036
141345
 
141037
141346
  ];
141038
141347
 
@@ -141373,7 +141682,7 @@ function ChartDealList()
141373
141682
  {
141374
141683
  text=(dataIndex+1).toString();
141375
141684
  }
141376
- else if (item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID)
141685
+ else if (this.IsMulitBar(item.Type))
141377
141686
  {
141378
141687
  var rtItem={Left:left, Top:top, Width:itemWidth, Height:this.RowHeight};
141379
141688
  this.DrawMultiBar(item, data, rtItem);
@@ -141474,6 +141783,11 @@ function ChartDealList()
141474
141783
  break;
141475
141784
  }
141476
141785
  }
141786
+
141787
+ if (column.StringFormat && text)
141788
+ {
141789
+ text=column.StringFormat.replace("{0}", text);
141790
+ }
141477
141791
 
141478
141792
  drawInfo.Text=text;
141479
141793
  }
@@ -141595,8 +141909,10 @@ function ChartDealList()
141595
141909
 
141596
141910
  this.DrawMultiBar=function(colunmInfo, data, rtItem)
141597
141911
  {
141598
- if (!data.Source || !IFrameSplitOperator.IsNonEmptyArray(data.Source)) return false;
141599
- var barData=data.Source[colunmInfo.DataIndex]; //{ Value:[0.4,0,2], Color:[0,1] };
141912
+ var fieldName=MAP_DEAL_COLUMN_FIELD.get(colunmInfo.Type);
141913
+ if (!data || !fieldName) return;
141914
+
141915
+ var barData=data[fieldName]; //{ Value:[0.4,0,2], Color:[0,1] };
141600
141916
  if (!barData) return false;
141601
141917
  if (!IFrameSplitOperator.IsNonEmptyArray(barData.Value)) return false;
141602
141918
 
@@ -141784,6 +142100,16 @@ function ChartDealList()
141784
142100
  return ARARY_TYPE.includes(value);
141785
142101
  }
141786
142102
 
142103
+ this.IsMulitBar=function(value)
142104
+ {
142105
+ var ARARY_TYPE=
142106
+ [
142107
+ DEAL_COLUMN_ID.MULTI_BAR_ID,DEAL_COLUMN_ID.MULTI_BAR2_ID,DEAL_COLUMN_ID.MULTI_BAR3_ID,DEAL_COLUMN_ID.MULTI_BAR4_ID,
142108
+ ];
142109
+
142110
+ return ARARY_TYPE.includes(value);
142111
+ }
142112
+
141787
142113
  this.IsReserveNumber=function(value)
141788
142114
  {
141789
142115
  var ARARY_TYPE=
@@ -155762,7 +156088,7 @@ function ScrollBarBGChart()
155762
156088
 
155763
156089
 
155764
156090
 
155765
- var HQCHART_VERSION="1.1.15389";
156091
+ var HQCHART_VERSION="1.1.15427";
155766
156092
 
155767
156093
  function PrintHQChartVersion()
155768
156094
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15389";
8
+ var HQCHART_VERSION="1.1.15427";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {