hqchart 1.1.15474 → 1.1.15494

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.
@@ -5807,6 +5807,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5807
5807
  {
5808
5808
  var item=option.Frame[i];
5809
5809
  if (!chart.Frame.SubFrame[i]) continue;
5810
+ chart.SetSubFrameAttribute(chart.Frame.SubFrame[i], null, item);
5811
+ /*
5810
5812
  if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
5811
5813
  if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
5812
5814
  if (IFrameSplitOperator.IsNumber(item.FloatPrecision)) chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;
@@ -5816,6 +5818,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5816
5818
 
5817
5819
  if (item.IsShowLeftText==false) chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText; //显示左边刻度
5818
5820
  if (item.IsShowRightText==false) chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText; //显示右边刻度
5821
+ */
5819
5822
  }
5820
5823
  }
5821
5824
 
@@ -5830,9 +5833,13 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5830
5833
 
5831
5834
  if(option.KLineTitle) //股票名称 日期 周期
5832
5835
  {
5833
- if(option.KLineTitle.IsShowName==false) chart.TitlePaint[0].IsShowName=false;
5834
- if(option.KLineTitle.IsShowSettingInfo==false) chart.TitlePaint[0].IsShowSettingInfo=false;
5835
- if(option.KLineTitle.IsShow == false) chart.TitlePaint[0].IsShow = false;
5836
+ var item=option.KLineTitle;
5837
+ var chartTitle=chart.TitlePaint[0];
5838
+ if (IFrameSplitOperator.IsBool(item.IsShowName)) chartTitle.IsShowName=item.IsShowName;
5839
+ if (IFrameSplitOperator.IsBool(item.IsShowSettingInfo)) chartTitle.IsShowSettingInfo=item.IsShowSettingInfo;
5840
+ if (IFrameSplitOperator.IsBool(item.IsShow)) chartTitle.IsShow=item.IsShow;
5841
+ if (IFrameSplitOperator.IsBool(item.IsShowDateTime)) chartTitle.IsShowDateTime=item.IsShowDateTime;
5842
+ if (IFrameSplitOperator.IsBool(item.IsTitleShowLatestData)) chart.IsTitleShowLatestData=item.IsTitleShowLatestData;
5836
5843
  }
5837
5844
 
5838
5845
  if (IFrameSplitOperator.IsNonEmptyArray(option.Overlay)) //叠加股票
@@ -43578,6 +43585,125 @@ function ChartText()
43578
43585
  }
43579
43586
  }
43580
43587
 
43588
+ function ChartDrawIconV2()
43589
+ {
43590
+ this.newMethod=IChartPainting; //派生
43591
+ this.newMethod();
43592
+ delete this.newMethod;
43593
+
43594
+ this.ClassName="ChartDrawIconV2";
43595
+ this.bHScreen=false; //是否横屏
43596
+ this.Icon=null;
43597
+ this.TextAlign='left';
43598
+ this.Direction=0; //0=middle 1=bottom 2=top
43599
+ this.ShowOffset={ X:0, Y:0 }; //显示偏移
43600
+ this.Size=null;
43601
+
43602
+ this.Draw=function()
43603
+ {
43604
+ if (!this.IsShow || this.ChartFrame.IsMinSize) return;
43605
+ if (this.IsShowIndexTitleOnly()) return;
43606
+ if (this.IsHideScriptIndex()) return;
43607
+
43608
+ if (!this.Data || !this.Data.Data) return;
43609
+ if (!this.Icon) return;
43610
+
43611
+ this.bHScreen=(this.ChartFrame.IsHScreen===true);
43612
+ var xPointCount=this.ChartFrame.XPointCount;
43613
+ var bMinute=this.IsMinuteFrame();
43614
+ var dataWidth=this.ChartFrame.DataWidth;
43615
+ var distanceWidth=this.ChartFrame.DistanceWidth;
43616
+ var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
43617
+ var chartright=this.ChartBorder.GetRight();
43618
+ var top=this.ChartBorder.GetTopEx();
43619
+ var bottom=this.ChartBorder.GetBottomEx();
43620
+
43621
+ if (this.bHScreen)
43622
+ {
43623
+ chartright=this.ChartBorder.GetBottom();
43624
+ top=this.ChartBorder.GetRightEx();
43625
+ bottom=this.ChartBorder.GetLeftEx();
43626
+ xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
43627
+ }
43628
+
43629
+ var pixelTatio = GetDevicePixelRatio();
43630
+ var iconWidth=this.Icon.Width*pixelTatio;
43631
+ var iconHeight=this.Icon.Height*pixelTatio;
43632
+ if (IFrameSplitOperator.IsNumber(this.Size)) iconWidth=iconHeight=this.Size*pixelTatio;
43633
+
43634
+
43635
+
43636
+ this.Canvas.save();
43637
+ this.ClipClient(this.ChartFrame.IsHScreen);
43638
+
43639
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
43640
+ {
43641
+ var value=this.Data.Data[i];
43642
+ if (value==null) continue;
43643
+
43644
+ if (bMinute)
43645
+ {
43646
+ var x=this.ChartFrame.GetXFromIndex(j);
43647
+ }
43648
+ else
43649
+ {
43650
+ var left=xOffset;
43651
+ var right=xOffset+dataWidth;
43652
+ if (right>chartright) break;
43653
+ var x=left+(right-left)/2;
43654
+ }
43655
+
43656
+ var y=this.ChartFrame.GetYFromData(value,false);
43657
+
43658
+ if (x>chartright) break;
43659
+
43660
+ if (this.TextAlign=="right") x-=iconWidth;
43661
+ else if (this.TextAlign=="center") x-=iconWidth/2;
43662
+
43663
+ if (this.Direction===0) y-=iconHeight/2;
43664
+ else if (this.Direction===1) y-=iconHeight;
43665
+
43666
+
43667
+ y+=this.ShowOffset.Y;
43668
+ x+=this.ShowOffset.X;
43669
+
43670
+ var drawInfo={ X:x, Y:y, Image:this.Icon.Image, Width:iconWidth, Height:iconHeight };
43671
+
43672
+ this.DrawIcon(drawInfo);
43673
+ }
43674
+
43675
+
43676
+
43677
+ this.Canvas.restore();
43678
+
43679
+ }
43680
+
43681
+ this.DrawIcon=function(drawInfo)
43682
+ {
43683
+ if (!drawInfo || !drawInfo.Image) return;
43684
+
43685
+ if (this.bHScreen)
43686
+ {
43687
+ /*
43688
+ var xCenter=drawInfo.X+drawInfo.Width/2;
43689
+ var yCenter=drawInfo.Y+drawInfo.Height/2;
43690
+ this.Canvas.save();
43691
+ this.Canvas.translate(yCenter,xCenter);
43692
+ this.Canvas.rotate(90 * Math.PI / 180);
43693
+ this.Canvas.drawImage(drawInfo.Image, 0, 0, drawInfo.Width, drawInfo.Height);
43694
+ this.Canvas.restore();
43695
+ */
43696
+
43697
+ this.Canvas.drawImage(drawInfo.Image, drawInfo.Y, drawInfo.X, drawInfo.Width, drawInfo.Height);
43698
+ }
43699
+ else
43700
+ {
43701
+ this.Canvas.drawImage(drawInfo.Image, drawInfo.X, drawInfo.Y, drawInfo.Width, drawInfo.Height);
43702
+ }
43703
+ }
43704
+ }
43705
+
43706
+
43581
43707
  /*
43582
43708
  文字输出 支持横屏
43583
43709
  数组(Data)不为null的数据中输出 this.Text文本
@@ -107102,6 +107228,26 @@ var MARKET_SUFFIX_NAME=
107102
107228
  return false;
107103
107229
  },
107104
107230
 
107231
+ IsCFFEXOption:function(upperSymbol) //中金所股票期权
107232
+ {
107233
+ if (!upperSymbol) return false;
107234
+ if (!this.IsCFFEX(upperSymbol)) return false;
107235
+ var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
107236
+ //MO2602-C-6300.cffex
107237
+ var aryValue=shortSymbol.split("-");
107238
+ if (!aryValue || aryValue.length!=3) return false;
107239
+
107240
+ var strValue=aryValue[0];
107241
+ const regex = /([a-zA-Z]+)(\d+)/;
107242
+ const match = strValue.match(regex);
107243
+ if (!match || !match[1] || !match[2]) return false;
107244
+
107245
+ var prefix=match[1];
107246
+ if (["IM","IO","MO","HO"].includes(prefix)) return true;
107247
+
107248
+ return true;
107249
+ },
107250
+
107105
107251
  IsDCE: function (upperSymbol)
107106
107252
  {
107107
107253
  if (!upperSymbol) return false;
@@ -107708,6 +107854,23 @@ var MARKET_SUFFIX_NAME=
107708
107854
  if (pos<=0) return symbol;
107709
107855
 
107710
107856
  return symbol.slice(0,pos);
107857
+ },
107858
+
107859
+ SplitSymbol:function(symbol, format) //分析代码 返回对象
107860
+ {
107861
+ if (!format || !symbol) return null;
107862
+ var shortSymbol=this.GetShortSymbol(symbol);
107863
+ if (format=="A+D+")
107864
+ {
107865
+ var regex=/([a-zA-Z]+)(\d+)/;
107866
+ var match=shortSymbol.match(regex);
107867
+ if (!match || !match[1] || !match[2]) return null;
107868
+
107869
+ return { AryString:[match[1], match[2]], ShortSymbol:shortSymbol, Symbol:symbol, Market:symbol.slice(shortSymbol.length) };
107870
+ }
107871
+
107872
+
107873
+ return null;
107711
107874
  }
107712
107875
 
107713
107876
  }
@@ -111608,6 +111771,7 @@ var g_JSComplierResource=
111608
111771
  Data:new Map() //自定义图标 key=id
111609
111772
  //value={ID:, Text:, Color, Family: } //svg
111610
111773
  //value={ ID:1, Symbol:'↑', Color:'rgb(238,44,44)' } //文字
111774
+ //value={ ID:, Image:, Width, Height }
111611
111775
  },
111612
111776
 
111613
111777
  CustomFunction: //定制函数
@@ -111655,20 +111819,24 @@ var g_JSComplierResource=
111655
111819
  GetDrawIcon:function(id)
111656
111820
  {
111657
111821
  var icon;
111658
- if (g_JSComplierResource.CustomDrawIcon.Data.has(id))
111822
+ if (this.CustomDrawIcon.Data.has(id))
111659
111823
  {
111660
111824
  const iconfont=g_JSComplierResource.CustomDrawIcon.Data.get(id);
111661
- if (iconfont.Symbol) //文字
111825
+
111826
+ if (iconfont.Image) //图片
111827
+ icon={ ID:id, Image:iconfont.Image, Width:iconfont.Width, Height:iconfont.Height };
111828
+ else if (iconfont.Symbol) //文字
111662
111829
  icon={ Symbol:iconfont.Symbol, Color:iconfont.Color, IconFont:false, ID:id };
111663
111830
  else //SVG图标
111664
111831
  icon={ Symbol:iconfont.Text, Color:iconfont.Color, Family:iconfont.Family, IconFont:true, ID:id };
111832
+
111665
111833
  return icon;
111666
111834
  }
111667
111835
 
111668
- if (g_JSComplierResource.DrawIcon.Data.has(id))
111836
+ if (this.DrawIcon.Data.has(id))
111669
111837
  {
111670
- const iconfont=g_JSComplierResource.DrawIcon.Data.get(id);
111671
- icon={ Symbol:iconfont.Text, Color:iconfont.Color, Family:g_JSComplierResource.DrawIcon.Family, IconFont:true, ID:id };
111838
+ const iconfont=this.DrawIcon.Data.get(id);
111839
+ icon={ Symbol:iconfont.Text, Color:iconfont.Color, Family:this.DrawIcon.Family, IconFont:true, ID:id };
111672
111840
  return icon;
111673
111841
  }
111674
111842
 
@@ -111710,6 +111878,11 @@ var g_JSComplierResource=
111710
111878
  {
111711
111879
  if (g_JSComplierResource.CustomDataFunction.Data.has(name)) return true;
111712
111880
  return false;
111881
+ },
111882
+
111883
+ AddDrawIcon:function(id, icon)
111884
+ {
111885
+ this.CustomDrawIcon.Data.set(id, icon);
111713
111886
  }
111714
111887
  }
111715
111888
 
@@ -111809,8 +111982,8 @@ var Character =
111809
111982
  (cp >= 0x41 && cp <= 0x5A) ||
111810
111983
  (cp >= 0x61 && cp <= 0x7A) ||
111811
111984
  (cp === 0x5C) ||
111812
- //【】▲▼
111813
- (cp===0x3010 || cp===0x3011 || cp===0x25B2 || cp===0x25BC) ||
111985
+ //【】▲▼ ↓↑←→
111986
+ (cp===0x3010 || cp===0x3011 || cp===0x25B2 || cp===0x25BC) || (cp>=0x2190 && cp<=0x2193) ||
111814
111987
  ((cp >= 0x80) && Regex.NonAsciiIdentifierStart.test(Character.FromCodePoint(cp)));
111815
111988
  },
111816
111989
 
@@ -111821,8 +111994,8 @@ var Character =
111821
111994
  (cp >= 0x61 && cp <= 0x7A) ||
111822
111995
  (cp >= 0x30 && cp <= 0x39) ||
111823
111996
  (cp === 0x5C) || (cp===0x23) ||
111824
- //【】▲▼
111825
- (cp===0x3010 || cp===0x3011 || cp===0x25B2 || cp===0x25BC) ||
111997
+ //【】▲▼ ↓↑←→
111998
+ (cp===0x3010 || cp===0x3011 || cp===0x25B2 || cp===0x25BC) || (cp>=0x2190 && cp<=0x2193) ||
111826
111999
  ((cp >= 0x80) && Regex.NonAsciiIdentifierPart.test(Character.FromCodePoint(cp)));
111827
112000
  },
111828
112001
 
@@ -132169,14 +132342,16 @@ JSComplier.SetDomain = function (domain, cacheDomain) //修改API地址
132169
132342
 
132170
132343
  JSComplier.AddIcon=function(obj) //添加一个obj={ID:, Text:, Color, Family: }
132171
132344
  {
132172
- g_JSComplierResource.CustomDrawIcon.Data.set(obj.ID, obj);
132345
+
132346
+ if (!obj || !obj.ID) return;
132347
+
132348
+ g_JSComplierResource.AddDrawIcon(obj.ID, obj);
132173
132349
  }
132174
132350
 
132175
132351
  JSComplier.AddFunction=function(obj) //添加函数 { Name:函数名, Description:描述信息, IsDownload:是否需要下载数据, Invoke:函数执行(可选) }
132176
132352
  {
132177
132353
  if (!obj || !obj.Name) return;
132178
132354
 
132179
- var ID=obj.Name.toUpperCase();
132180
132355
  g_JSComplierResource.CustomFunction.Data.set(ID, obj);
132181
132356
  }
132182
132357
 
@@ -133960,7 +134135,21 @@ function ScriptIndex(name,script,args,option)
133960
134135
  //创建图标
133961
134136
  this.CreateIcon=function(hqChart,windowIndex,varItem,id)
133962
134137
  {
133963
- let chartText=new ChartSingleText();
134138
+ var chartText=null;
134139
+
134140
+ if (varItem.Draw && varItem.Draw.Icon && varItem.Draw.Icon.Image)
134141
+ {
134142
+ chartText=new ChartDrawIconV2();
134143
+ chartText.Icon=varItem.Draw.Icon;
134144
+ if (varItem.DrawFontSize>0) chartText.Size=varItem.DrawFontSize;
134145
+ }
134146
+ else
134147
+ {
134148
+ chartText=new ChartSingleText();
134149
+ if (varItem.DrawFontSize>0) chartText.FixedFontSize=varItem.DrawFontSize;
134150
+ }
134151
+
134152
+
133964
134153
  chartText.Canvas=hqChart.Canvas;
133965
134154
  chartText.TextAlign='center';
133966
134155
 
@@ -133991,6 +134180,10 @@ function ScriptIndex(name,script,args,option)
133991
134180
  {
133992
134181
  chartText.IconFont={ Family:icon.Family, Text:icon.Symbol, Color:icon.Color };
133993
134182
  if (varItem.Color) chartText.IconFont.Color=this.GetColor(varItem.Color);
134183
+ }
134184
+ else if (icon.Image)
134185
+ {
134186
+
133994
134187
  }
133995
134188
  else
133996
134189
  {
@@ -134000,7 +134193,7 @@ function ScriptIndex(name,script,args,option)
134000
134193
  else chartText.Color='rgb(0,0,0)';
134001
134194
  }
134002
134195
 
134003
- if (varItem.DrawFontSize>0) chartText.FixedFontSize=varItem.DrawFontSize;
134196
+
134004
134197
  if (IFrameSplitOperator.IsNumber(varItem.XOffset)) chartText.ShowOffset.X=varItem.XOffset;
134005
134198
  if (IFrameSplitOperator.IsNumber(varItem.YOffset)) chartText.ShowOffset.Y=varItem.YOffset;
134006
134199
 
@@ -136058,7 +136251,19 @@ function OverlayScriptIndex(name,script,args,option)
136058
136251
  {
136059
136252
  var overlayIndex=this.OverlayIndex;
136060
136253
  var frame=overlayIndex.Frame;
136061
- let chart=new ChartSingleText();
136254
+ var chart=null;
136255
+
136256
+ if (varItem.Draw && varItem.Draw.Icon && varItem.Draw.Icon.Image)
136257
+ {
136258
+ chart=new ChartDrawIconV2();
136259
+ chart.Icon=varItem.Draw.Icon;
136260
+ if (varItem.DrawFontSize>0) chart.Size=varItem.DrawFontSize;
136261
+ }
136262
+ else
136263
+ {
136264
+ chart=new ChartSingleText();
136265
+ }
136266
+
136062
136267
  chart.Canvas=hqChart.Canvas;
136063
136268
  chart.TextAlign='center';
136064
136269
 
@@ -136089,6 +136294,10 @@ function OverlayScriptIndex(name,script,args,option)
136089
136294
  if (icon.IconFont==true)
136090
136295
  {
136091
136296
  chart.IconFont={ Family:icon.Family, Text:icon.Symbol, Color:icon.Color };
136297
+ }
136298
+ else if (icon.Image)
136299
+ {
136300
+
136092
136301
  }
136093
136302
  else
136094
136303
  {
@@ -144413,61 +144622,75 @@ function JSReportChartContainer(uielement)
144413
144622
  if (item[80] || item[80]===null) stock.BGColor=item[80]; //整行背景色
144414
144623
  if (item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]) stock.ExtendDataV2=item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]; //扩展数据2
144415
144624
 
144625
+ function __Temp_IsNumberOrObject(value)
144626
+ {
144627
+ if (IFrameSplitOperator.IsNumber(value)) return true;
144628
+ if (IFrameSplitOperator.IsObject(value)) return true;
144629
+ return false;
144630
+ }
144631
+
144632
+ function __Temp_IsStringOrObject(value)
144633
+ {
144634
+ if (IFrameSplitOperator.IsString(value)) return true;
144635
+ if (IFrameSplitOperator.IsObject(value)) return true;
144636
+ return false;
144637
+ }
144638
+
144416
144639
  //10个数值型 101-199
144417
- if (IFrameSplitOperator.IsNumber(item[101])) stock.ReserveNumber1=item[101];
144418
- if (IFrameSplitOperator.IsNumber(item[102])) stock.ReserveNumber2=item[102];
144419
- if (IFrameSplitOperator.IsNumber(item[103])) stock.ReserveNumber3=item[103];
144420
- if (IFrameSplitOperator.IsNumber(item[104])) stock.ReserveNumber4=item[104];
144421
- if (IFrameSplitOperator.IsNumber(item[105])) stock.ReserveNumber5=item[105];
144422
- if (IFrameSplitOperator.IsNumber(item[106])) stock.ReserveNumber6=item[106];
144423
- if (IFrameSplitOperator.IsNumber(item[107])) stock.ReserveNumber7=item[107];
144424
- if (IFrameSplitOperator.IsNumber(item[108])) stock.ReserveNumber8=item[108];
144425
- if (IFrameSplitOperator.IsNumber(item[109])) stock.ReserveNumber9=item[109];
144426
- if (IFrameSplitOperator.IsNumber(item[110])) stock.ReserveNumber10=item[110];
144427
- if (IFrameSplitOperator.IsNumber(item[111])) stock.ReserveNumber11=item[111];
144428
- if (IFrameSplitOperator.IsNumber(item[112])) stock.ReserveNumber12=item[112];
144429
- if (IFrameSplitOperator.IsNumber(item[113])) stock.ReserveNumber13=item[113];
144430
- if (IFrameSplitOperator.IsNumber(item[114])) stock.ReserveNumber14=item[114];
144431
- if (IFrameSplitOperator.IsNumber(item[115])) stock.ReserveNumber15=item[115];
144432
- if (IFrameSplitOperator.IsNumber(item[116])) stock.ReserveNumber16=item[116];
144433
- if (IFrameSplitOperator.IsNumber(item[117])) stock.ReserveNumber17=item[117];
144434
- if (IFrameSplitOperator.IsNumber(item[118])) stock.ReserveNumber18=item[118];
144435
- if (IFrameSplitOperator.IsNumber(item[119])) stock.ReserveNumber19=item[119];
144436
- if (IFrameSplitOperator.IsNumber(item[120])) stock.ReserveNumber20=item[120];
144640
+ if (__Temp_IsNumberOrObject(item[101])) stock.ReserveNumber1=item[101];
144641
+ if (__Temp_IsNumberOrObject(item[102])) stock.ReserveNumber2=item[102];
144642
+ if (__Temp_IsNumberOrObject(item[103])) stock.ReserveNumber3=item[103];
144643
+ if (__Temp_IsNumberOrObject(item[104])) stock.ReserveNumber4=item[104];
144644
+ if (__Temp_IsNumberOrObject(item[105])) stock.ReserveNumber5=item[105];
144645
+ if (__Temp_IsNumberOrObject(item[106])) stock.ReserveNumber6=item[106];
144646
+ if (__Temp_IsNumberOrObject(item[107])) stock.ReserveNumber7=item[107];
144647
+ if (__Temp_IsNumberOrObject(item[108])) stock.ReserveNumber8=item[108];
144648
+ if (__Temp_IsNumberOrObject(item[109])) stock.ReserveNumber9=item[109];
144649
+ if (__Temp_IsNumberOrObject(item[110])) stock.ReserveNumber10=item[110];
144650
+ if (__Temp_IsNumberOrObject(item[111])) stock.ReserveNumber11=item[111];
144651
+ if (__Temp_IsNumberOrObject(item[112])) stock.ReserveNumber12=item[112];
144652
+ if (__Temp_IsNumberOrObject(item[113])) stock.ReserveNumber13=item[113];
144653
+ if (__Temp_IsNumberOrObject(item[114])) stock.ReserveNumber14=item[114];
144654
+ if (__Temp_IsNumberOrObject(item[115])) stock.ReserveNumber15=item[115];
144655
+ if (__Temp_IsNumberOrObject(item[116])) stock.ReserveNumber16=item[116];
144656
+ if (__Temp_IsNumberOrObject(item[117])) stock.ReserveNumber17=item[117];
144657
+ if (__Temp_IsNumberOrObject(item[118])) stock.ReserveNumber18=item[118];
144658
+ if (__Temp_IsNumberOrObject(item[119])) stock.ReserveNumber19=item[119];
144659
+ if (__Temp_IsNumberOrObject(item[120])) stock.ReserveNumber20=item[120];
144437
144660
 
144438
144661
  //10个字符型 201-299
144439
- if (IFrameSplitOperator.IsString(item[201]) || IFrameSplitOperator.IsObject(item[201])) stock.ReserveString1=item[201];
144440
- if (IFrameSplitOperator.IsString(item[202]) || IFrameSplitOperator.IsObject(item[202])) stock.ReserveString2=item[202];
144441
- if (IFrameSplitOperator.IsString(item[203]) || IFrameSplitOperator.IsObject(item[203])) stock.ReserveString3=item[203];
144442
- if (IFrameSplitOperator.IsString(item[204]) || IFrameSplitOperator.IsObject(item[204])) stock.ReserveString4=item[204];
144443
- if (IFrameSplitOperator.IsString(item[205]) || IFrameSplitOperator.IsObject(item[205])) stock.ReserveString5=item[205];
144444
- if (IFrameSplitOperator.IsString(item[206]) || IFrameSplitOperator.IsObject(item[206])) stock.ReserveString6=item[206];
144445
- if (IFrameSplitOperator.IsString(item[207]) || IFrameSplitOperator.IsObject(item[207])) stock.ReserveString7=item[207];
144446
- if (IFrameSplitOperator.IsString(item[208]) || IFrameSplitOperator.IsObject(item[208])) stock.ReserveString8=item[208];
144447
- if (IFrameSplitOperator.IsString(item[209]) || IFrameSplitOperator.IsObject(item[209])) stock.ReserveString9=item[209];
144448
- if (IFrameSplitOperator.IsString(item[210]) || IFrameSplitOperator.IsObject(item[210])) stock.ReserveString10=item[210];
144449
- if (IFrameSplitOperator.IsString(item[211]) || IFrameSplitOperator.IsObject(item[211])) stock.ReserveString11=item[211];
144450
- if (IFrameSplitOperator.IsString(item[212]) || IFrameSplitOperator.IsObject(item[212])) stock.ReserveString12=item[212];
144451
- if (IFrameSplitOperator.IsString(item[213]) || IFrameSplitOperator.IsObject(item[213])) stock.ReserveString13=item[213];
144452
- if (IFrameSplitOperator.IsString(item[214]) || IFrameSplitOperator.IsObject(item[214])) stock.ReserveString14=item[214];
144453
- if (IFrameSplitOperator.IsString(item[215]) || IFrameSplitOperator.IsObject(item[215])) stock.ReserveString15=item[215];
144454
- if (IFrameSplitOperator.IsString(item[216]) || IFrameSplitOperator.IsObject(item[216])) stock.ReserveString16=item[216];
144455
- if (IFrameSplitOperator.IsString(item[217]) || IFrameSplitOperator.IsObject(item[217])) stock.ReserveString17=item[217];
144456
- if (IFrameSplitOperator.IsString(item[218]) || IFrameSplitOperator.IsObject(item[218])) stock.ReserveString18=item[218];
144457
- if (IFrameSplitOperator.IsString(item[219]) || IFrameSplitOperator.IsObject(item[219])) stock.ReserveString19=item[219];
144458
- if (IFrameSplitOperator.IsString(item[220]) || IFrameSplitOperator.IsObject(item[220])) stock.ReserveString20=item[220];
144662
+ if (__Temp_IsStringOrObject(item[201])) stock.ReserveString1=item[201];
144663
+ if (__Temp_IsStringOrObject(item[202])) stock.ReserveString2=item[202];
144664
+ if (__Temp_IsStringOrObject(item[203])) stock.ReserveString3=item[203];
144665
+ if (__Temp_IsStringOrObject(item[204])) stock.ReserveString4=item[204];
144666
+ if (__Temp_IsStringOrObject(item[205])) stock.ReserveString5=item[205];
144667
+ if (__Temp_IsStringOrObject(item[206])) stock.ReserveString6=item[206];
144668
+ if (__Temp_IsStringOrObject(item[207])) stock.ReserveString7=item[207];
144669
+ if (__Temp_IsStringOrObject(item[208])) stock.ReserveString8=item[208];
144670
+ if (__Temp_IsStringOrObject(item[209])) stock.ReserveString9=item[209];
144671
+ if (__Temp_IsStringOrObject(item[210])) stock.ReserveString10=item[210];
144672
+ if (__Temp_IsStringOrObject(item[211])) stock.ReserveString11=item[211];
144673
+ if (__Temp_IsStringOrObject(item[212])) stock.ReserveString12=item[212];
144674
+ if (__Temp_IsStringOrObject(item[213])) stock.ReserveString13=item[213];
144675
+ if (__Temp_IsStringOrObject(item[214])) stock.ReserveString14=item[214];
144676
+ if (__Temp_IsStringOrObject(item[215])) stock.ReserveString15=item[215];
144677
+ if (__Temp_IsStringOrObject(item[216])) stock.ReserveString16=item[216];
144678
+ if (__Temp_IsStringOrObject(item[217])) stock.ReserveString17=item[217];
144679
+ if (__Temp_IsStringOrObject(item[218])) stock.ReserveString18=item[218];
144680
+ if (__Temp_IsStringOrObject(item[219])) stock.ReserveString19=item[219];
144681
+ if (__Temp_IsStringOrObject(item[220])) stock.ReserveString20=item[220];
144459
144682
 
144460
144683
  //10个进度条 301-350 { Value:, BGColor: }
144461
- if (IFrameSplitOperator.IsNumber(item[301]) || IFrameSplitOperator.IsObject(item[301])) stock.ReserveProgressBar1=item[301];
144462
- if (IFrameSplitOperator.IsNumber(item[302]) || IFrameSplitOperator.IsObject(item[302])) stock.ReserveProgressBar2=item[302];
144463
- if (IFrameSplitOperator.IsNumber(item[303]) || IFrameSplitOperator.IsObject(item[303])) stock.ReserveProgressBar3=item[303];
144464
- if (IFrameSplitOperator.IsNumber(item[304]) || IFrameSplitOperator.IsObject(item[304])) stock.ReserveProgressBar4=item[304];
144465
- if (IFrameSplitOperator.IsNumber(item[305]) || IFrameSplitOperator.IsObject(item[305])) stock.ReserveProgressBar5=item[305];
144466
- if (IFrameSplitOperator.IsNumber(item[306]) || IFrameSplitOperator.IsObject(item[306])) stock.ReserveProgressBar6=item[306];
144467
- if (IFrameSplitOperator.IsNumber(item[307]) || IFrameSplitOperator.IsObject(item[307])) stock.ReserveProgressBar7=item[307];
144468
- if (IFrameSplitOperator.IsNumber(item[308]) || IFrameSplitOperator.IsObject(item[308])) stock.ReserveProgressBar8=item[308];
144469
- if (IFrameSplitOperator.IsNumber(item[309]) || IFrameSplitOperator.IsObject(item[309])) stock.ReserveProgressBar9=item[309];
144470
- if (IFrameSplitOperator.IsNumber(item[310]) || IFrameSplitOperator.IsObject(item[310])) stock.ReserveProgressBar10=item[310];
144684
+ if (__Temp_IsNumberOrObject(item[301])) stock.ReserveProgressBar1=item[301];
144685
+ if (__Temp_IsNumberOrObject(item[302])) stock.ReserveProgressBar2=item[302];
144686
+ if (__Temp_IsNumberOrObject(item[303])) stock.ReserveProgressBar3=item[303];
144687
+ if (__Temp_IsNumberOrObject(item[304])) stock.ReserveProgressBar4=item[304];
144688
+ if (__Temp_IsNumberOrObject(item[305])) stock.ReserveProgressBar5=item[305];
144689
+ if (__Temp_IsNumberOrObject(item[306])) stock.ReserveProgressBar6=item[306];
144690
+ if (__Temp_IsNumberOrObject(item[307])) stock.ReserveProgressBar7=item[307];
144691
+ if (__Temp_IsNumberOrObject(item[308])) stock.ReserveProgressBar8=item[308];
144692
+ if (__Temp_IsNumberOrObject(item[309])) stock.ReserveProgressBar9=item[309];
144693
+ if (__Temp_IsNumberOrObject(item[310])) stock.ReserveProgressBar10=item[310];
144471
144694
 
144472
144695
  //10个按钮 351-400 { Title, Enable:, BGColor, TextColor: }
144473
144696
  if (IFrameSplitOperator.IsObject(item[351])) stock.ReserveButton1=item[351];
@@ -150437,6 +150660,14 @@ function ChartReport()
150437
150660
  if (!data || !fieldName) return;
150438
150661
 
150439
150662
  var value=data[fieldName];
150663
+ var compareValue=null;
150664
+ if (IFrameSplitOperator.IsObject(data[fieldName]))
150665
+ {
150666
+ var item=data[fieldName];
150667
+ if (IFrameSplitOperator.IsNumber(item.Value)) value=item.Value;
150668
+ if (IFrameSplitOperator.IsNumber(item.CompareValue)) compareValue=item.CompareValue;
150669
+ }
150670
+
150440
150671
  if (!IFrameSplitOperator.IsNumber(value)) return;
150441
150672
 
150442
150673
  if (IFrameSplitOperator.IsNumber(column.ColorType))
@@ -150453,6 +150684,11 @@ function ChartReport()
150453
150684
  {
150454
150685
  drawInfo.TextColor=this.GetUpDownColor(value,data.YClose);
150455
150686
  }
150687
+ else if (column.ColorType==4)
150688
+ {
150689
+ if (IFrameSplitOperator.IsNumber(compareValue))
150690
+ drawInfo.TextColor=this.GetUpDownColor(value,compareValue);
150691
+ }
150456
150692
  }
150457
150693
 
150458
150694
  var text=value.toFixed(column.FloatPrecision);
@@ -156529,7 +156765,7 @@ function ScrollBarBGChart()
156529
156765
 
156530
156766
 
156531
156767
 
156532
- var HQCHART_VERSION="1.1.15473";
156768
+ var HQCHART_VERSION="1.1.15493";
156533
156769
 
156534
156770
  function PrintHQChartVersion()
156535
156771
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15473";
8
+ var HQCHART_VERSION="1.1.15493";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {