hqchart 1.1.13963 → 1.1.13969

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.
@@ -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
  {
@@ -48597,8 +48597,36 @@ function RectSelectPaint()
48597
48597
  return null;
48598
48598
  }
48599
48599
 
48600
+ this.GetSelectRectDataByOnePoint=function()
48601
+ {
48602
+ if (!this.FirstPoint) return null;
48603
+
48604
+ var data=this.GetKData();
48605
+ if (!data) return null;
48606
+ var isMinuteChart=this.IsMinuteChart();
48607
+ var firstDate=this.DateToNumber(this.FirstPoint,isMinuteChart);
48608
+ var selectData={ Start:null, End:null, Data:data };
48609
+ for(var i=0;i<data.Data.length;++i)
48610
+ {
48611
+ var item=data.Data[i];
48612
+ if (!item) continue;
48613
+ var value=this.DateToNumber(item,isMinuteChart);
48614
+
48615
+ if (firstDate==value)
48616
+ {
48617
+ selectData.Start=i;
48618
+ selectData.End=i;
48619
+ return selectData;
48620
+ }
48621
+ }
48622
+
48623
+ return null;
48624
+ }
48625
+
48600
48626
  this.GetSelectRectData=function()
48601
48627
  {
48628
+ if (this.IsOnlyOnePoint) return this.GetSelectRectDataByOnePoint();
48629
+
48602
48630
  if (!this.FirstPoint || !this.SecondPoint) return null;
48603
48631
 
48604
48632
  var data=this.GetKData();
@@ -127705,6 +127733,12 @@ function JSReportChart(divElement)
127705
127733
  if (IFrameSplitOperator.IsNumber(item.Sort)) chart.SortInfo.Sort=item.Sort;
127706
127734
  }
127707
127735
 
127736
+ if (option.VirtualTable)
127737
+ {
127738
+ var item=option.VirtualTable;
127739
+ if (IFrameSplitOperator.IsBool(item.Enable)) chart.Data.Virtual.Enable=item.Enable;
127740
+ }
127741
+
127708
127742
  var reportChart=chart.GetReportChart();
127709
127743
  if (reportChart)
127710
127744
  {
@@ -127919,7 +127953,7 @@ function JSReportChartContainer(uielement)
127919
127953
  this.Symbol; //板块代码
127920
127954
  this.Name; //板块名称
127921
127955
  this.NetworkFilter; //数据回调接口
127922
- this.Data={ XOffset:0, YOffset:0, Data:[] }; //股票列表
127956
+ this.Data={ XOffset:0, YOffset:0, Data:[], Virtual:{ Enable:false, Count:0 } }; //股票列表 (Virtual 虚拟表)
127923
127957
  this.SourceData={ Data:[] } ; //原始股票顺序(排序还原用)
127924
127958
  this.BlockData=new Map(); //当前板块数据
127925
127959
  this.MapStockData=new Map(); //原始股票数据
@@ -128288,6 +128322,7 @@ function JSReportChartContainer(uielement)
128288
128322
  {
128289
128323
  this.SourceData.Data=[];
128290
128324
  this.Data.Data=[];
128325
+ this.Data.Virtual.Count=0;
128291
128326
  this.BlockData=new Map();
128292
128327
  }
128293
128328
 
@@ -128544,6 +128579,12 @@ function JSReportChartContainer(uielement)
128544
128579
  }
128545
128580
  }
128546
128581
 
128582
+ if (recvData.Virtual) //虚拟表设置
128583
+ {
128584
+ var item=recvData.Virtual;
128585
+ if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
128586
+ }
128587
+
128547
128588
  this.Draw();
128548
128589
  this.UpdateStockData();
128549
128590
  }
@@ -128769,6 +128810,12 @@ function JSReportChartContainer(uielement)
128769
128810
  var chart=this.ChartPaint[0];
128770
128811
  if (!chart) return;
128771
128812
 
128813
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
128814
+ {
128815
+ this.RequestVirtualStockData(); //虚拟表格 全部取后台
128816
+ return;
128817
+ }
128818
+
128772
128819
  if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0)
128773
128820
  {
128774
128821
  var column=chart.Column[this.SortInfo.Field];
@@ -130124,8 +130171,9 @@ function JSReportChartContainer(uielement)
130124
130171
  if (!chart) return false;
130125
130172
 
130126
130173
  var pageSize=chart.GetPageSize();
130127
- if (pageSize>this.Data.Data.length) return false;
130128
- if (this.Data.YOffset+pageSize>=this.Data.Data.length)
130174
+ var dataCount=chart.GetAllRowCount();
130175
+ if (pageSize>dataCount) return false;
130176
+ if (this.Data.YOffset+pageSize>=dataCount)
130129
130177
  {
130130
130178
  if (bCycle===true)
130131
130179
  {
@@ -130139,7 +130187,7 @@ function JSReportChartContainer(uielement)
130139
130187
  }
130140
130188
 
130141
130189
  this.Data.YOffset+=pageSize;
130142
- var showDataCount=this.Data.Data.length-this.Data.YOffset;
130190
+ var showDataCount=dataCount-this.Data.YOffset;
130143
130191
 
130144
130192
  if (chart.SelectedModel==0)
130145
130193
  {
@@ -130155,13 +130203,14 @@ function JSReportChartContainer(uielement)
130155
130203
  var chart=this.ChartPaint[0];
130156
130204
  if (!chart) return false;
130157
130205
  var pageSize=chart.GetPageSize();
130158
- if (pageSize>this.Data.Data.length) return false;
130206
+ var dataCount=chart.GetAllRowCount();
130207
+ if (pageSize>dataCount) return false;
130159
130208
 
130160
130209
  if (this.Data.YOffset<=0)
130161
130210
  {
130162
130211
  if (bCycle===true)
130163
130212
  {
130164
- this.Data.YOffset=this.Data.Data.length-pageSize; //循环到最后一页
130213
+ this.Data.YOffset=dataCount-pageSize; //循环到最后一页
130165
130214
  return true;
130166
130215
  }
130167
130216
  else
@@ -130599,7 +130648,16 @@ function JSReportChartContainer(uielement)
130599
130648
  if (column.Sort!=1 && column.Sort!=2) return false;
130600
130649
 
130601
130650
  var sortInfo={ Field:index, Sort:sortType };
130602
- if (sortInfo.Sort==0) //不排序还原
130651
+ if (this.Data.Virtual && this.Data.Virtual.Enable)
130652
+ {
130653
+ this.SortInfo.Field=sortInfo.Field;
130654
+ this.SortInfo.Sort=sortInfo.Sort;
130655
+ this.Data.YOffset=0;
130656
+ this.ResetReportSelectStatus();
130657
+ this.RequestVirtualStockData(); //虚拟表格
130658
+ return true;
130659
+ }
130660
+ else if (sortInfo.Sort==0) //不排序还原
130603
130661
  {
130604
130662
  this.Data.Data=[];
130605
130663
  if (IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
@@ -131317,6 +131375,12 @@ function JSReportChartContainer(uielement)
131317
131375
  }
131318
131376
  }
131319
131377
 
131378
+ if (data.Virtual)
131379
+ {
131380
+ var item=data.Virtual;
131381
+ if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
131382
+ }
131383
+
131320
131384
  var chart=this.ChartPaint[0];
131321
131385
  if (!chart) return;
131322
131386
 
@@ -131325,6 +131389,70 @@ function JSReportChartContainer(uielement)
131325
131389
  if (bUpdate) this.Draw();
131326
131390
  }
131327
131391
 
131392
+ //虚拟表格 请求序号 所有数据后台返回
131393
+ this.RequestVirtualStockData=function()
131394
+ {
131395
+ var chart=this.ChartPaint[0];
131396
+ if (!chart) return;
131397
+
131398
+ var self=this;
131399
+ var startIndex=this.Data.YOffset;
131400
+ var pageSize=chart.GetPageSize();
131401
+ var endIndex=startIndex+pageSize;
131402
+ var dataCount=chart.GetAllRowCount();
131403
+ if (endIndex>=dataCount) endIndex=dataCount-1;
131404
+
131405
+ if (!this.NetworkFilter) return;
131406
+
131407
+ var requestData=
131408
+ {
131409
+ range:{ start:startIndex, end:endIndex, count:chart.GetAllRowCount() },
131410
+ column:null,
131411
+ sort:0, symbol:this.Symbol, name:this.Name,
131412
+ pageSize:pageSize
131413
+ }
131414
+
131415
+ if (this.SortInfo && this.SortInfo.Field>=0 && this.SortInfo.Sort>0) //排序
131416
+ {
131417
+ var column=chart.Column[this.SortInfo.Field];
131418
+ requestData.column={ name: column.Title, type: column.Type, index:this.SortInfo.Field, ID:column.ID };
131419
+ requestData.sort=this.SortInfo.Sort;
131420
+ }
131421
+
131422
+ var obj=
131423
+ {
131424
+ Name:'JSDealChartContainer::RequestVirtualStockData', //类名::函数名
131425
+ Explain:'报价列表股票数据(虚拟表格)',
131426
+ Request:
131427
+ {
131428
+ Data: requestData
131429
+ },
131430
+ Self:this,
131431
+ PreventDefault:false
131432
+ };
131433
+
131434
+ if (chart.FixedRowCount>0 && chart.FixedRowData.Type==1)
131435
+ {
131436
+ var arySymbol=[];
131437
+ for(var i=0;i<chart.FixedRowData.Symbol.length;++i)
131438
+ {
131439
+ var item=chart.FixedRowData.Symbol[i];
131440
+ if (item) arySymbol.push(item);
131441
+ }
131442
+
131443
+ obj.Request.FixedSymbol=arySymbol;
131444
+ }
131445
+
131446
+ this.NetworkFilter(obj, function(data)
131447
+ {
131448
+ self.RecvStockSortData(data);
131449
+ self.AutoUpdate();
131450
+ });
131451
+
131452
+ if (obj.PreventDefault==true) return;
131453
+
131454
+ }
131455
+
131328
131456
  //底部标签
131329
131457
  this.ShowPageInfo=function(bShow)
131330
131458
  {
@@ -132004,8 +132132,9 @@ function ChartReport()
132004
132132
  this.GetYScrollRange=function()
132005
132133
  {
132006
132134
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return 0;
132135
+ var dataCount=this.GetAllRowCount();
132007
132136
 
132008
- var maxOffset=this.Data.Data.length-this.RowCount;
132137
+ var maxOffset=dataCount-this.RowCount;
132009
132138
 
132010
132139
  return maxOffset;
132011
132140
  }
@@ -132581,6 +132710,14 @@ function ChartReport()
132581
132710
  this.Canvas.stroke();
132582
132711
  }
132583
132712
 
132713
+ //获取一共多少行
132714
+ this.GetAllRowCount=function()
132715
+ {
132716
+ var count=this.Data.Data.length;
132717
+ if (this.Data.Virtual && this.Data.Virtual.Enable) count=this.Data.Virtual.Count;
132718
+ return count;
132719
+ }
132720
+
132584
132721
  this.DrawBody=function()
132585
132722
  {
132586
132723
  if (!this.Data) return;
@@ -132620,7 +132757,8 @@ function ChartReport()
132620
132757
  var setSelected;
132621
132758
  if (this.MultiSelectModel==1) setSelected=new Set(this.MultiSelectedRow);
132622
132759
 
132623
- for(var i=this.Data.YOffset, j=0; i<this.Data.Data.length && j<this.RowCount ;++i, ++j)
132760
+ var dataCount=this.GetAllRowCount();
132761
+ for(var i=this.Data.YOffset, j=0; i<dataCount && j<this.RowCount ;++i, ++j)
132624
132762
  {
132625
132763
  var symbol=this.Data.Data[i];
132626
132764
 
@@ -136355,6 +136493,8 @@ function JSTReportChartContainer(uielement)
136355
136493
  this.SourceData.Data=[];
136356
136494
  this.Data.Data=[];
136357
136495
  this.Data.Price=null;
136496
+ this.Data.XOffset=0; //清空偏移
136497
+ this.Data.YOffset=0;
136358
136498
  this.MapStockData=null;
136359
136499
  this.MapExePriceData=null;
136360
136500
  this.BorderData.MapData=null;
@@ -144582,7 +144722,7 @@ function HQChartScriptWorker()
144582
144722
 
144583
144723
 
144584
144724
 
144585
- var HQCHART_VERSION="1.1.13962";
144725
+ var HQCHART_VERSION="1.1.13968";
144586
144726
 
144587
144727
  function PrintHQChartVersion()
144588
144728
  {