hqchart 1.1.13960 → 1.1.13965

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.
@@ -47087,6 +47087,7 @@ function MinuteLeftTooltipPaint()
47087
47087
  this.DateTimeColor=g_JSChartResource.PCTooltipPaint.DateTimeColor; //日期时间颜色
47088
47088
  this.VolColor=g_JSChartResource.PCTooltipPaint.VolColor; //标题成交量
47089
47089
  this.AmountColor=g_JSChartResource.PCTooltipPaint.AmountColor; //成交金额
47090
+ this.PositionColor=g_JSChartResource.PCTooltipPaint.PositionColor; //持仓
47090
47091
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
47091
47092
  this.TitlePaint;
47092
47093
 
@@ -47260,6 +47261,12 @@ function MinuteLeftTooltipPaint()
47260
47261
 
47261
47262
  aryText.push(titleItem);
47262
47263
  }
47264
+
47265
+ if (isFutures && IFrameSplitOperator.IsNumber(item.Position)) //持仓
47266
+ {
47267
+ var titleItem=this.FormatPosition(item.Position,'PCTooltip-Position');
47268
+ if (titleItem) aryText.push(titleItem);
47269
+ }
47263
47270
  }
47264
47271
  else if (drawData.Type==1) //集合竞价
47265
47272
  {
@@ -47385,6 +47392,21 @@ function MinuteLeftTooltipPaint()
47385
47392
 
47386
47393
  return titleItem;
47387
47394
  }
47395
+
47396
+ this.FormatPosition=function(value, TitleID)
47397
+ {
47398
+ if (!IFrameSplitOperator.IsNumber(value)) return null;
47399
+
47400
+ var titleItem=
47401
+ {
47402
+ Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),
47403
+ TitleColor:this.TitleColor,
47404
+ Text:value.toFixed(0),
47405
+ TextColor:this.PositionColor
47406
+ };
47407
+
47408
+ return titleItem;
47409
+ }
47388
47410
  }
47389
47411
 
47390
47412
  //股票信息
@@ -73036,6 +73058,7 @@ function JSChartResource()
73036
73058
  DateTimeColor:'rgb(60,60,60)',
73037
73059
  VolColor:"rgb(60,60,60)", //标题成交量
73038
73060
  AmountColor:"rgb(60,60,60)", //成交金额
73061
+ PositionColor:"rgb(60,60,60)", //持仓量
73039
73062
  };
73040
73063
 
73041
73064
  this.PCTooltip= {
@@ -74042,6 +74065,8 @@ function JSChartResource()
74042
74065
  if (item.DateTimeColor) this.PCTooltipPaint.DateTimeColor=item.DateTimeColor;
74043
74066
  if (item.VolColor) this.PCTooltipPaint.VolColor=item.VolColor;
74044
74067
  if (item.AmountColor) this.PCTooltipPaint.AmountColor=item.AmountColor;
74068
+ if (item.PositionColor) this.PCTooltipPaint.PositionColor=item.PositionColor;
74069
+
74045
74070
  }
74046
74071
 
74047
74072
  if (style.DialogTooltip)
@@ -75052,6 +75077,7 @@ function JSChartLocalization()
75052
75077
  ['PCTooltip-Increase', {CN:'涨幅', EN:'Increase:', TC:'漲幅'}],
75053
75078
  ['PCTooltip-Vol', {CN:'成交量', EN:'Volume:', TC:'成交量'}],
75054
75079
  ['PCTooltip-Amount', {CN:'成交额', EN:'Amount:', TC:'成交額'}],
75080
+ ["PCTooltip-Position",{CN:'持仓量', EN:'Position:', TC:'持倉'}],
75055
75081
  ['PCTooltip-AC-Price', {CN:'匹配价:', EN:'Price:', TC:'匹配價'}],
75056
75082
  ['PCTooltip-AC-Increase', {CN:'竞价涨幅:', EN:'Increase:', TC:'競價漲幅'}],
75057
75083
  ['PCTooltip-AC-Vol', {CN:'匹配量:', EN:'V:', TC:'匹配量'}],
@@ -125548,6 +125574,7 @@ function GetBlackStyle()
125548
125574
  DateTimeColor:'rgb(210,210,210)',
125549
125575
  VolColor:"rgb(255, 185, 15)", //标题成交量
125550
125576
  AmountColor:"rgb(210,210,210)", //成交金额
125577
+ PositionColor:"rgb(255,215,0)", //持仓量
125551
125578
  },
125552
125579
 
125553
125580
  PCTooltipPaint:
@@ -127634,6 +127661,12 @@ function JSReportChart(divElement)
127634
127661
  if (IFrameSplitOperator.IsNumber(item.Sort)) chart.SortInfo.Sort=item.Sort;
127635
127662
  }
127636
127663
 
127664
+ if (option.VirtualTable)
127665
+ {
127666
+ var item=option.VirtualTable;
127667
+ if (IFrameSplitOperator.IsBool(item.Enable)) chart.Data.Virtual.Enable=item.Enable;
127668
+ }
127669
+
127637
127670
  var reportChart=chart.GetReportChart();
127638
127671
  if (reportChart)
127639
127672
  {
@@ -127848,7 +127881,7 @@ function JSReportChartContainer(uielement)
127848
127881
  this.Symbol; //板块代码
127849
127882
  this.Name; //板块名称
127850
127883
  this.NetworkFilter; //数据回调接口
127851
- this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
127884
+ this.Data={ XOffset:0, YOffset:0, Data:[], Virtual:{ Enable:false, Count:0 } }; //股票列表 (Virtual 虚拟表)
127852
127885
  this.SourceData={ Data:[] } ; //原始股票顺序(排序还原用)
127853
127886
  this.BlockData=new Map(); //当前板块数据
127854
127887
  this.MapStockData=new Map(); //原始股票数据
@@ -128217,6 +128250,7 @@ function JSReportChartContainer(uielement)
128217
128250
  {
128218
128251
  this.SourceData.Data=[];
128219
128252
  this.Data.Data=[];
128253
+ this.Data.Virtual.Count=0;
128220
128254
  this.BlockData=new Map();
128221
128255
  }
128222
128256
 
@@ -128473,6 +128507,12 @@ function JSReportChartContainer(uielement)
128473
128507
  }
128474
128508
  }
128475
128509
 
128510
+ if (recvData.Virtual) //虚拟表设置
128511
+ {
128512
+ var item=recvData.Virtual;
128513
+ if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
128514
+ }
128515
+
128476
128516
  this.Draw();
128477
128517
  this.UpdateStockData();
128478
128518
  }
@@ -128698,6 +128738,12 @@ function JSReportChartContainer(uielement)
128698
128738
  var chart=this.ChartPaint[0];
128699
128739
  if (!chart) return;
128700
128740
 
128741
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
128742
+ {
128743
+ this.RequestVirtualStockData(); //虚拟表格 全部取后台
128744
+ return;
128745
+ }
128746
+
128701
128747
  if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0)
128702
128748
  {
128703
128749
  var column=chart.Column[this.SortInfo.Field];
@@ -130053,8 +130099,9 @@ function JSReportChartContainer(uielement)
130053
130099
  if (!chart) return false;
130054
130100
 
130055
130101
  var pageSize=chart.GetPageSize();
130056
- if (pageSize>this.Data.Data.length) return false;
130057
- if (this.Data.YOffset+pageSize>=this.Data.Data.length)
130102
+ var dataCount=chart.GetAllRowCount();
130103
+ if (pageSize>dataCount) return false;
130104
+ if (this.Data.YOffset+pageSize>=dataCount)
130058
130105
  {
130059
130106
  if (bCycle===true)
130060
130107
  {
@@ -130068,7 +130115,7 @@ function JSReportChartContainer(uielement)
130068
130115
  }
130069
130116
 
130070
130117
  this.Data.YOffset+=pageSize;
130071
- var showDataCount=this.Data.Data.length-this.Data.YOffset;
130118
+ var showDataCount=dataCount-this.Data.YOffset;
130072
130119
 
130073
130120
  if (chart.SelectedModel==0)
130074
130121
  {
@@ -130084,13 +130131,14 @@ function JSReportChartContainer(uielement)
130084
130131
  var chart=this.ChartPaint[0];
130085
130132
  if (!chart) return false;
130086
130133
  var pageSize=chart.GetPageSize();
130087
- if (pageSize>this.Data.Data.length) return false;
130134
+ var dataCount=chart.GetAllRowCount();
130135
+ if (pageSize>dataCount) return false;
130088
130136
 
130089
130137
  if (this.Data.YOffset<=0)
130090
130138
  {
130091
130139
  if (bCycle===true)
130092
130140
  {
130093
- this.Data.YOffset=this.Data.Data.length-pageSize; //循环到最后一页
130141
+ this.Data.YOffset=dataCount-pageSize; //循环到最后一页
130094
130142
  return true;
130095
130143
  }
130096
130144
  else
@@ -130528,7 +130576,16 @@ function JSReportChartContainer(uielement)
130528
130576
  if (column.Sort!=1 && column.Sort!=2) return false;
130529
130577
 
130530
130578
  var sortInfo={ Field:index, Sort:sortType };
130531
- if (sortInfo.Sort==0) //不排序还原
130579
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
130580
+ {
130581
+ this.SortInfo.Field=sortInfo.Field;
130582
+ this.SortInfo.Sort=sortInfo.Sort;
130583
+ this.Data.YOffset=0;
130584
+ this.ResetReportSelectStatus();
130585
+ this.RequestVirtualStockData(); //虚拟表格
130586
+ return true;
130587
+ }
130588
+ else if (sortInfo.Sort==0) //不排序还原
130532
130589
  {
130533
130590
  this.Data.Data=[];
130534
130591
  if (IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
@@ -131254,6 +131311,70 @@ function JSReportChartContainer(uielement)
131254
131311
  if (bUpdate) this.Draw();
131255
131312
  }
131256
131313
 
131314
+ //虚拟表格 请求序号 所有数据后台返回
131315
+ this.RequestVirtualStockData=function()
131316
+ {
131317
+ var chart=this.ChartPaint[0];
131318
+ if (!chart) return;
131319
+
131320
+ var self=this;
131321
+ var startIndex=this.Data.YOffset;
131322
+ var pageSize=chart.GetPageSize();
131323
+ var endIndex=startIndex+pageSize;
131324
+ var dataCount=chart.GetAllRowCount();
131325
+ if (endIndex>=dataCount) endIndex=dataCount-1;
131326
+
131327
+ if (!this.NetworkFilter) return;
131328
+
131329
+ var requestData=
131330
+ {
131331
+ range:{ start:startIndex, end:endIndex, count:chart.GetAllRowCount() },
131332
+ column:null,
131333
+ sort:0, symbol:this.Symbol, name:this.Name,
131334
+ pageSize:pageSize
131335
+ }
131336
+
131337
+ if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0) //排序
131338
+ {
131339
+ var column=chart.Column[this.SortInfo.Field];
131340
+ requestData.column={ name: column.Title, type: column.Type, index:this.SortInfo.Field, ID:column.ID };
131341
+ requestData.sort=this.SortInfo.Sort;
131342
+ }
131343
+
131344
+ var obj=
131345
+ {
131346
+ Name:'JSDealChartContainer::RequestVirtualStockData', //类名::函数名
131347
+ Explain:'报价列表股票数据(虚拟表格)',
131348
+ Request:
131349
+ {
131350
+ Data: requestData
131351
+ },
131352
+ Self:this,
131353
+ PreventDefault:false
131354
+ };
131355
+
131356
+ if (chart.FixedRowCount>0 && chart.FixedRowData.Type==1)
131357
+ {
131358
+ var arySymbol=[];
131359
+ for(var i=0;i<chart.FixedRowData.Symbol.length;++i)
131360
+ {
131361
+ var item=chart.FixedRowData.Symbol[i];
131362
+ if (item) arySymbol.push(item);
131363
+ }
131364
+
131365
+ obj.Request.FixedSymbol=arySymbol;
131366
+ }
131367
+
131368
+ this.NetworkFilter(obj, function(data)
131369
+ {
131370
+ self.RecvStockSortData(data);
131371
+ self.AutoUpdate();
131372
+ });
131373
+
131374
+ if (obj.PreventDefault==true) return;
131375
+
131376
+ }
131377
+
131257
131378
  //底部标签
131258
131379
  this.ShowPageInfo=function(bShow)
131259
131380
  {
@@ -131933,8 +132054,9 @@ function ChartReport()
131933
132054
  this.GetYScrollRange=function()
131934
132055
  {
131935
132056
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return 0;
132057
+ var dataCount=this.GetAllRowCount();
131936
132058
 
131937
- var maxOffset=this.Data.Data.length-this.RowCount;
132059
+ var maxOffset=dataCount-this.RowCount;
131938
132060
 
131939
132061
  return maxOffset;
131940
132062
  }
@@ -132510,6 +132632,14 @@ function ChartReport()
132510
132632
  this.Canvas.stroke();
132511
132633
  }
132512
132634
 
132635
+ //获取一共多少行
132636
+ this.GetAllRowCount=function()
132637
+ {
132638
+ var count=this.Data.Data.length;
132639
+ if (this.Data.Virtual && this.Data.Virtual.Enable) count=this.Data.Virtual.Count;
132640
+ return count;
132641
+ }
132642
+
132513
132643
  this.DrawBody=function()
132514
132644
  {
132515
132645
  if (!this.Data) return;
@@ -132549,7 +132679,8 @@ function ChartReport()
132549
132679
  var setSelected;
132550
132680
  if (this.MultiSelectModel==1) setSelected=new Set(this.MultiSelectedRow);
132551
132681
 
132552
- for(var i=this.Data.YOffset, j=0; i<this.Data.Data.length && j<this.RowCount ;++i, ++j)
132682
+ var dataCount=this.GetAllRowCount();
132683
+ for(var i=this.Data.YOffset, j=0; i<dataCount && j<this.RowCount ;++i, ++j)
132553
132684
  {
132554
132685
  var symbol=this.Data.Data[i];
132555
132686
 
@@ -139150,7 +139281,7 @@ function ScrollBarBGChart()
139150
139281
 
139151
139282
 
139152
139283
 
139153
- var HQCHART_VERSION="1.1.13959";
139284
+ var HQCHART_VERSION="1.1.13964";
139154
139285
 
139155
139286
  function PrintHQChartVersion()
139156
139287
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13959";
8
+ var HQCHART_VERSION="1.1.13964";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -55702,6 +55702,10 @@ HQData.NetworkFilter=function(data, callback)
55702
55702
  //HQChart使用教程95-报价列表对接第3方数据4-股票排序数据
55703
55703
  HQData.Report_RequestStockSortData(data, callback);
55704
55704
  break;
55705
+ case "JSDealChartContainer::RequestVirtualStockData":
55706
+ HQData.Report_RequestVirtualStockData(data, callback); //股票数据 虚拟表格
55707
+ break;
55708
+
55705
55709
  }
55706
55710
  }
55707
55711
 
@@ -56572,6 +56576,30 @@ HQData.Report_RequestStockListData=function(data, callback)
56572
56576
 
56573
56577
  }
56574
56578
 
56579
+ //空码表
56580
+ HQData.Report_RequestStockListData_Empty=function(data, callback)
56581
+ {
56582
+ data.PreventDefault=true;
56583
+ var hqchartData={ data:[] };
56584
+ console.log("[HQData.Report_RequestStockListData_EMPTY] hqchartData",hqchartData);
56585
+ callback(hqchartData);
56586
+ }
56587
+
56588
+ HQData.Report_RequestMemberVirtualListData=function(data, callback, option)
56589
+ {
56590
+ var symbol=data.Request.Data.symbol; //板块代码
56591
+ data.PreventDefault=true;
56592
+
56593
+ var hqchartData= { symbol:symbol , name:symbol, data:[] , code:0, Virtual:{ Count:option.Virtual.Count } };
56594
+
56595
+ for(var i=0; i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length && i<50; ++i )
56596
+ {
56597
+ hqchartData.data.push(SHSZ_STOCK_LIST_TEST_DATA.symbol[i]);
56598
+ }
56599
+
56600
+ callback(hqchartData);
56601
+ }
56602
+
56575
56603
  //板块|行业等成分列表
56576
56604
  HQData.Report_RequestMemberListDat=function(data, callback)
56577
56605
  {
@@ -56837,6 +56865,119 @@ HQData.Report_RequestStockSortData=function(data, callback)
56837
56865
  }
56838
56866
 
56839
56867
 
56868
+ HQData.Report_RequestVirtualStockData=function(data, callback)
56869
+ {
56870
+ var blockID=data.Request.Data.symbol; //板块代码
56871
+ var range=data.Request.Data.range; //排序范围
56872
+ var column=data.Request.Data.column; //排序列信息
56873
+ var sortType=data.Request.Data.sort; //排序方向
56874
+ var pageSize=data.Request.Data.pageSize;
56875
+ data.PreventDefault=true;
56876
+
56877
+ var start=range.start;
56878
+ var end=range.end;
56879
+ if (start>0) start-=pageSize;
56880
+ if (start<0) start=0;
56881
+ end+=pageSize;
56882
+
56883
+ var count=end-start+1;
56884
+
56885
+ var aryData=[];
56886
+ var aryIndex=[];
56887
+
56888
+ if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
56889
+ {
56890
+ var randomStart = Math.floor(Math.random()*(SHSZ_STOCK_LIST_TEST_DATA.symbol.length-1));
56891
+ var symbolCount=SHSZ_STOCK_LIST_TEST_DATA.symbol.length;
56892
+ for(var i=0;i<count;++i)
56893
+ {
56894
+ var dataIndex=(randomStart+i)%symbolCount;
56895
+ var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[dataIndex];
56896
+ var name=SHSZ_STOCK_LIST_TEST_DATA.name[dataIndex];
56897
+ var price=SHSZ_STOCK_LIST_TEST_DATA.close[dataIndex];
56898
+ var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[dataIndex];
56899
+ var newItem=
56900
+ [
56901
+ symbol,
56902
+ name,
56903
+ SHSZ_STOCK_LIST_TEST_DATA.yclose[dataIndex],
56904
+ SHSZ_STOCK_LIST_TEST_DATA.open[dataIndex],
56905
+ SHSZ_STOCK_LIST_TEST_DATA.high[dataIndex],
56906
+ SHSZ_STOCK_LIST_TEST_DATA.low[dataIndex],
56907
+ price,
56908
+ vol,
56909
+ SHSZ_STOCK_LIST_TEST_DATA.amount[dataIndex],
56910
+ ];
56911
+
56912
+ //买价 量
56913
+ newItem[9]=price+0.05;
56914
+ newItem[10]=10;
56915
+
56916
+ //卖价 量
56917
+ newItem[11]=price-0.06;
56918
+ newItem[12]=5;
56919
+
56920
+ //均价
56921
+ newItem[13]=price-0.03;
56922
+
56923
+ //内盘
56924
+ newItem[18]=vol/4;
56925
+ //外盘
56926
+ newItem[19]=vol/5;
56927
+
56928
+ newItem[14]=vol*1.5; //流通股本
56929
+ newItem[15]=vol*1.8; //总股本
56930
+
56931
+ //换手率
56932
+ newItem[23]=(Math.round(Math.random()*60))/100;
56933
+
56934
+ //名字字段
56935
+ var symbolEx={ Text:name };
56936
+ if (i%20==5)
56937
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
56938
+ else if (i%20==9)
56939
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
56940
+ else if (i%20==18)
56941
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
56942
+
56943
+ newItem[27]=symbolEx;
56944
+
56945
+
56946
+ //扩展数据 (定制数据)
56947
+ var extendData=[];
56948
+ newItem[30]=extendData;
56949
+
56950
+ //行业
56951
+ extendData[0]="行业X";
56952
+ //地区
56953
+ extendData[1]="地区X";
56954
+
56955
+ //PE|PB
56956
+ extendData[2]=(Math.round(Math.random()*60))/100;
56957
+ extendData[3]=(Math.round(Math.random()*60))/100;
56958
+ extendData[4]=(Math.round(Math.random()*60))/100;
56959
+ extendData[5]=(Math.round(Math.random()*60))/100;
56960
+
56961
+
56962
+ //周涨幅
56963
+ extendData[6]=(Math.round(Math.random()*60))/100;
56964
+ extendData[7]=(Math.round(Math.random()*60))/100;
56965
+ extendData[8]=(Math.round(Math.random()*60))/100;
56966
+
56967
+
56968
+ aryData.push(newItem);
56969
+ aryIndex.push(start+i);
56970
+ }
56971
+ }
56972
+
56973
+ var hqchartData={ data:aryData, index:aryIndex, filedindex:-1, sort:sortType, symbol:blockID };
56974
+
56975
+ if (column) hqchartData.filedindex=column.index;
56976
+
56977
+ callback(hqchartData);
56978
+ }
56979
+
56980
+
56840
56981
 
56841
56982
  HQData.Keyboard_RequestSymbolList=function(data, callback)
56842
56983
  {