hqchart 1.1.13490 → 1.1.13497

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.
@@ -85,6 +85,22 @@ HQData.NetworkFilter=function(data, callback)
85
85
  case "TradeDetail::RequestData":
86
86
  HQData.TradeDetail_RequestData(data,callback);
87
87
  break;
88
+
89
+ //////////////////////////////////////////////////////
90
+ //报价列表数据
91
+ case "JSReportChartContainer::RequestStockListData":
92
+ HQData.Report_RequestStockListData(data, callback); //码表
93
+ break;
94
+
95
+ case "JSReportChartContainer::RequestMemberListData": //板块成分
96
+ HQData.Report_RequestMemberListDat(data, callback);
97
+ break;
98
+ case "JSDealChartContainer::RequestStockData": //股票数据更新
99
+ HQData.Report_RequestStockData(data, callback);
100
+ break;
101
+ case "JSDealChartContainer::RequestStockSortData": //股票排序数据
102
+ HQData.Report_RequestStockSortData(data, callback);
103
+ break;
88
104
  }
89
105
  }
90
106
 
@@ -495,3 +511,284 @@ HQData.RequestOverlayHistoryMinuteData=function(data, callback)
495
511
  }
496
512
 
497
513
 
514
+ //////////////////////////////////////////////////////////////////////////////////////
515
+ // 报价列表
516
+ //
517
+ //
518
+ /////////////////////////////////////////////////////////////////////////////////////
519
+
520
+ //码表
521
+ HQData.Report_RequestStockListData=function(data, callback)
522
+ {
523
+ data.PreventDefault=true;
524
+
525
+ var hqchartData={ data:[] };
526
+
527
+ if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
528
+ {
529
+ //0=证券代码 1=股票名称
530
+ for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
531
+ {
532
+ var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
533
+ var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
534
+
535
+ hqchartData.data.push([symbol,name]);
536
+ }
537
+ }
538
+
539
+ console.log("[HQData.Report_RequestStockListData] hqchartData",hqchartData);
540
+ callback(hqchartData);
541
+
542
+ }
543
+
544
+ //板块|行业等成分列表
545
+ HQData.Report_RequestMemberListDat=function(data, callback)
546
+ {
547
+ var symbol=data.Request.Data.symbol; //板块代码
548
+ data.PreventDefault=true;
549
+
550
+ var hqchartData= { symbol:symbol , name:symbol, data:[] , code:0 };
551
+ var testDataCount=SHSZ_STOCK_LIST_TEST_DATA.symbol.length;
552
+ var testIndex=Math.round(Math.random()*(testDataCount-100));
553
+ var count=parseInt(Math.random()*(200)+100); ;
554
+
555
+ for(var i=testIndex, j=0; i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length && j<count; ++i, ++j)
556
+ {
557
+ hqchartData.data.push(SHSZ_STOCK_LIST_TEST_DATA.symbol[i]);
558
+ }
559
+
560
+ callback(hqchartData);
561
+ }
562
+
563
+ HQData.Report_RequestStockData=function(data, callback)
564
+ {
565
+ var stocks=data.Request.Data.stocks; //股票列表
566
+ data.PreventDefault=true;
567
+
568
+ var mapStock=new Map();
569
+ for(var i=0;i<stocks.length;++i)
570
+ {
571
+ var item=stocks[i];
572
+ mapStock.set(item.Symbol,{ Symbol:item.Symbol, Data:null });
573
+ }
574
+
575
+ if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
576
+ {
577
+ for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
578
+ {
579
+ var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
580
+ if (!mapStock.has(symbol)) continue;
581
+ var item=mapStock.get(symbol);
582
+ var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
583
+ var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
584
+ var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
585
+ var newItem=
586
+ [
587
+ symbol,
588
+ name,
589
+ SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
590
+ SHSZ_STOCK_LIST_TEST_DATA.open[i],
591
+ SHSZ_STOCK_LIST_TEST_DATA.high[i],
592
+ SHSZ_STOCK_LIST_TEST_DATA.low[i],
593
+ price,
594
+ vol,
595
+ SHSZ_STOCK_LIST_TEST_DATA.amount[i],
596
+ ];
597
+
598
+ //买价 量
599
+ newItem[9]=price+0.05;
600
+ newItem[10]=10;
601
+
602
+ //卖价 量
603
+ newItem[11]=price-0.06;
604
+ newItem[12]=5;
605
+
606
+ //均价
607
+ newItem[13]=price-0.03;
608
+
609
+ //内盘
610
+ newItem[18]=vol/4;
611
+ //外盘
612
+ newItem[19]=vol/5;
613
+
614
+ newItem[14]=vol*1.5; //流通股本
615
+ newItem[15]=vol*1.8; //总股本
616
+
617
+ //换手率
618
+ newItem[23]=(Math.round(Math.random()*60))/100;
619
+
620
+ //名字字段
621
+ var symbolEx={ Text:name };
622
+ if (i%20==5)
623
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
624
+ else if (i%20==9)
625
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
626
+ else if (i%20==18)
627
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
628
+
629
+ newItem[27]=symbolEx;
630
+
631
+
632
+ //扩展数据 (定制数据)
633
+ var extendData=[];
634
+ newItem[30]=extendData;
635
+
636
+ //行业
637
+ extendData[0]="行业X";
638
+ //地区
639
+ extendData[1]="地区X";
640
+
641
+ //PE|PB
642
+ extendData[2]=(Math.round(Math.random()*60))/100;
643
+ extendData[3]=(Math.round(Math.random()*60))/100;
644
+ extendData[4]=(Math.round(Math.random()*60))/100;
645
+ extendData[5]=(Math.round(Math.random()*60))/100;
646
+
647
+
648
+ //周涨幅
649
+ extendData[6]=(Math.round(Math.random()*60))/100;
650
+ extendData[7]=(Math.round(Math.random()*60))/100;
651
+ extendData[8]=(Math.round(Math.random()*60))/100;
652
+
653
+
654
+ item.Data=newItem;
655
+ }
656
+ }
657
+
658
+ var hqchartData={ data:[], code:0 };
659
+
660
+ for(var mapItem of mapStock)
661
+ {
662
+ var item=mapItem[1];
663
+ if (!item.Data) continue;
664
+
665
+ hqchartData.data.push(item.Data);
666
+ }
667
+
668
+ callback(hqchartData);
669
+ }
670
+
671
+ HQData.Report_RequestStockSortData=function(data, callback)
672
+ {
673
+ var blockID=data.Request.Data.symbol; //板块代码
674
+ var range=data.Request.Data.range; //排序范围
675
+ var column=data.Request.Data.column; //排序列信息
676
+ var sortType=data.Request.Data.sort; //排序方向
677
+ var pageSize=data.Request.Data.pageSize;
678
+ data.PreventDefault=true;
679
+
680
+ var start=range.start;
681
+ var end=range.end;
682
+ if (start>0) start-=pageSize;
683
+ if (start<0) start=0;
684
+ end+=pageSize;
685
+
686
+ var aryData=data.Self.Data.Data.slice(); //所有的股票
687
+ var mapStock=new Map();
688
+ var count=end-start+1;
689
+ for(var i = 0; i < count; i++)
690
+ {
691
+ var index = Math.floor(Math.random()*(aryData.length-1));
692
+ var symbol = aryData[index];
693
+ mapStock.set(symbol, { Symbol:symbol, Index:i+start, Data:null });
694
+ aryData.splice(index, 1);
695
+ }
696
+
697
+ if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
698
+ {
699
+ for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
700
+ {
701
+ var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
702
+ if (!mapStock.has(symbol)) continue;
703
+ var item=mapStock.get(symbol);
704
+ var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
705
+ var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
706
+ var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
707
+ var newItem=
708
+ [
709
+ symbol,
710
+ name,
711
+ SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
712
+ SHSZ_STOCK_LIST_TEST_DATA.open[i],
713
+ SHSZ_STOCK_LIST_TEST_DATA.high[i],
714
+ SHSZ_STOCK_LIST_TEST_DATA.low[i],
715
+ price,
716
+ vol,
717
+ SHSZ_STOCK_LIST_TEST_DATA.amount[i],
718
+ ];
719
+
720
+ //买价 量
721
+ newItem[9]=price+0.05;
722
+ newItem[10]=10;
723
+
724
+ //卖价 量
725
+ newItem[11]=price-0.06;
726
+ newItem[12]=5;
727
+
728
+ //均价
729
+ newItem[13]=price-0.03;
730
+
731
+ //内盘
732
+ newItem[18]=vol/4;
733
+ //外盘
734
+ newItem[19]=vol/5;
735
+
736
+ newItem[14]=vol*1.5; //流通股本
737
+ newItem[15]=vol*1.8; //总股本
738
+
739
+ //换手率
740
+ newItem[23]=(Math.round(Math.random()*60))/100;
741
+
742
+ //名字字段
743
+ var symbolEx={ Text:name };
744
+ if (i%20==5)
745
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
746
+ else if (i%20==9)
747
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
748
+ else if (i%20==18)
749
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
750
+
751
+ newItem[27]=symbolEx;
752
+
753
+
754
+ //扩展数据 (定制数据)
755
+ var extendData=[];
756
+ newItem[30]=extendData;
757
+
758
+ //行业
759
+ extendData[0]="行业X";
760
+ //地区
761
+ extendData[1]="地区X";
762
+
763
+ //PE|PB
764
+ extendData[2]=(Math.round(Math.random()*60))/100;
765
+ extendData[3]=(Math.round(Math.random()*60))/100;
766
+ extendData[4]=(Math.round(Math.random()*60))/100;
767
+ extendData[5]=(Math.round(Math.random()*60))/100;
768
+
769
+
770
+ //周涨幅
771
+ extendData[6]=(Math.round(Math.random()*60))/100;
772
+ extendData[7]=(Math.round(Math.random()*60))/100;
773
+ extendData[8]=(Math.round(Math.random()*60))/100;
774
+
775
+
776
+ item.Data=newItem;
777
+ }
778
+ }
779
+
780
+ var hqchartData={ data:[], index:[], filedindex:column.index, sort:sortType, symbol:blockID };
781
+
782
+ for(var mapItem of mapStock)
783
+ {
784
+ var item=mapItem[1];
785
+ if (!item.Data) continue;
786
+
787
+ hqchartData.data.push(item.Data);
788
+ hqchartData.index.push(item.Index);
789
+ }
790
+
791
+ callback(hqchartData);
792
+ }
793
+
794
+
@@ -6678,6 +6678,9 @@ var JSCHART_MENU_ID=
6678
6678
  CMD_CHANGE_LANGUAGE_ID:37, //语言切换
6679
6679
 
6680
6680
  CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:38,
6681
+
6682
+
6683
+ CMD_REPORT_CHANGE_BLOCK_ID:60, //报价列表 切换板块ID
6681
6684
  }
6682
6685
 
6683
6686
 
@@ -125088,13 +125091,23 @@ function JSReportChart(divElement)
125088
125091
  this.JSChartContainer=chart;
125089
125092
  this.DivElement.JSChart=this; //div中保存一份
125090
125093
 
125094
+ if (option.EnablePopMenuV2===true) chart.InitalPopMenu();
125095
+
125091
125096
  if (option.Symbol) chart.Symbol=option.Symbol;
125092
125097
  if (option.Name) chart.Name=option.Name;
125093
125098
 
125094
125099
  var requestOption={ Callback:null };
125095
125100
  if (chart.Symbol) requestOption.Callback=function(){ chart.RequestMemberListData(); };
125096
-
125097
- chart.RequestStockListData(requestOption); //下载码表
125101
+
125102
+ if (option.LoadStockList===false)
125103
+ {
125104
+ chart.ChartSplashPaint.IsEnableSplash=false;
125105
+ chart.Draw();
125106
+ }
125107
+ else
125108
+ {
125109
+ chart.RequestStockListData(requestOption); //下载码表
125110
+ }
125098
125111
  }
125099
125112
 
125100
125113
  this.CreateJSReportChartContainer=function(option)
@@ -125362,6 +125375,8 @@ function JSReportChartContainer(uielement)
125362
125375
 
125363
125376
  this.IsDestroy=false; //是否已经销毁了
125364
125377
 
125378
+ this.JSPopMenu; //内置菜单
125379
+
125365
125380
  this.ChartDestory=function() //销毁
125366
125381
  {
125367
125382
  this.IsDestroy=true;
@@ -125379,6 +125394,14 @@ function JSReportChartContainer(uielement)
125379
125394
  }
125380
125395
  }
125381
125396
 
125397
+ this.InitalPopMenu=function() //初始化弹出窗口
125398
+ {
125399
+ if (this.JSPopMenu) return;
125400
+
125401
+ this.JSPopMenu=new JSPopMenu(); //内置菜单
125402
+ this.JSPopMenu.Inital();
125403
+ }
125404
+
125382
125405
  this.AutoScrollPage=function(step)
125383
125406
  {
125384
125407
  this.AutoDragScrollTimer=setTimeout(() =>
@@ -125822,7 +125845,7 @@ function JSReportChartContainer(uielement)
125822
125845
  if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
125823
125846
  }
125824
125847
 
125825
- throw { Name:'JSReportChartContainer::RequestMemberListData', Error:'(板块成分数据)不提供内置测试数据' };
125848
+ //throw { Name:'JSReportChartContainer::RequestMemberListData', Error:'(板块成分数据)不提供内置测试数据' };
125826
125849
  }
125827
125850
 
125828
125851
  this.RecvMemberListData=function(recvData)
@@ -125887,7 +125910,7 @@ function JSReportChartContainer(uielement)
125887
125910
  if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
125888
125911
  }
125889
125912
 
125890
- throw { Name:'JSReportChartContainer::RequestStockListData', Error:'(码表数据)不提供内置测试数据' };
125913
+ //throw { Name:'JSReportChartContainer::RequestStockListData', Error:'(码表数据)不提供内置测试数据' };
125891
125914
  }
125892
125915
 
125893
125916
  this.RecvStockListData=function(data, option)
@@ -126101,7 +126124,7 @@ function JSReportChartContainer(uielement)
126101
126124
  if (obj.PreventDefault==true) return;
126102
126125
  }
126103
126126
 
126104
- throw { Name:'JSReportChartContainer::RequestStockData', Error:'(报价列表股票数据)不提供内置测试数据' };
126127
+ //throw { Name:'JSReportChartContainer::RequestStockData', Error:'(报价列表股票数据)不提供内置测试数据' };
126105
126128
  }
126106
126129
 
126107
126130
  this.RecvStockData=function(data)
@@ -127701,6 +127724,52 @@ function JSReportChartContainer(uielement)
127701
127724
  }
127702
127725
  }
127703
127726
 
127727
+ this.GetTabPopMenu=function(tabItem)
127728
+ {
127729
+ var aryMenu=[ ];
127730
+
127731
+ if (IFrameSplitOperator.IsNonEmptyArray(tabItem.ArySubMenu))
127732
+ {
127733
+ for(var i=0;i<tabItem.ArySubMenu.length;++i)
127734
+ {
127735
+ var item=tabItem.ArySubMenu[i];
127736
+ var menuItem={ Name:item.Title, Data:{ ID:item.CommandID, Args:[item.ID]} };
127737
+
127738
+ aryMenu.push(menuItem);
127739
+ }
127740
+ }
127741
+
127742
+
127743
+ return aryMenu;
127744
+ }
127745
+
127746
+ this.PopupTabMenu=function(menuData, tab, e)
127747
+ {
127748
+ if (!this.JSPopMenu) return;
127749
+
127750
+ var rtTab=tab.Rect;
127751
+ var pixelRatio=GetDevicePixelRatio();
127752
+ var rtCell={ Left:rtTab.Left/pixelRatio, Right:rtTab.Right/pixelRatio, Bottom:rtTab.Bottom/pixelRatio, Top:rtTab.Top/pixelRatio };
127753
+ rtCell.Width=rtCell.Right-rtCell.Left;
127754
+ rtCell.Height=rtCell.Bottom-rtCell.Top;
127755
+
127756
+ var rtClient=this.UIElement.getBoundingClientRect();
127757
+ var rtScroll=GetScrollPosition();
127758
+
127759
+ var offsetLeft=rtClient.left+rtScroll.Left;
127760
+ var offsetTop=rtClient.top+rtScroll.Top;
127761
+ rtCell.Left+=offsetLeft;
127762
+ rtCell.Right+=offsetLeft;
127763
+ rtCell.Top+=offsetTop;
127764
+ rtCell.Bottom+=offsetTop;
127765
+
127766
+ this.JSPopMenu.CreatePopMenu(menuData);
127767
+ this.JSPopMenu.PopupMenuByTab(rtCell);
127768
+
127769
+ if(e.preventDefault) e.preventDefault();
127770
+ if(e.stopPropagation) e.stopPropagation();
127771
+ }
127772
+
127704
127773
  //点击标签
127705
127774
  this.OnClickTab=function(tabData, e)
127706
127775
  {
@@ -127714,36 +127783,80 @@ function JSReportChartContainer(uielement)
127714
127783
 
127715
127784
  if (tabData.Tab.IsMenu)
127716
127785
  {
127786
+ var menuData={ Menu:this.GetTabPopMenu(tabData.Tab), Position:JSPopMenu.POSITION_ID.TAB_MENU_ID };
127787
+ menuData.ClickCallback=(data)=>{ this.OnClickTabPopMenu(tabData, data); }
127788
+
127717
127789
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TABMENU);
127718
127790
  if (event && event.Callback)
127719
127791
  {
127720
- redraw=true;
127721
- var rtItem=tabData.Rect;
127722
- var rtDOM={ Left: rtItem.Left/pixelTatio, Right:rtItem.Right/pixelTatio, Top:rtItem.Top/pixelTatio, Bottom:rtItem.Bottom/pixelTatio };
127723
-
127724
- var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, Rect:rtDOM, e:e , Redraw:redraw };
127792
+ var sendData={ MenuData:menuData, Tab:tabData, PreventDefault:false, e:e };
127725
127793
  event.Callback(event, sendData, this);
127726
- if (IFrameSplitOperator.IsBool(sendData.Redraw)) redraw=sendData.Redraw;
127794
+ if (sendData.PreventDefault==true) return;
127727
127795
  }
127728
127796
 
127729
- this.SetSelectedTab(tabData.Index); //选中tab
127797
+ this.PopupTabMenu(menuData, tabData.Tab, e);
127730
127798
  }
127731
127799
  else
127732
127800
  {
127733
127801
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TAB);
127734
127802
  if (event && event.Callback)
127735
127803
  {
127736
- var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, e:e , Redraw:redraw };
127804
+ var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, e:e , Redraw:redraw, PreventDefault:false };
127737
127805
  event.Callback(event, sendData, this);
127738
127806
  if (IFrameSplitOperator.IsBool(sendData.Redraw)) redraw=sendData.Redraw;
127807
+ if (sendData.PreventDefault==true) return;
127739
127808
  }
127740
127809
 
127741
- this.SetSelectedTab(tabData.Index);
127810
+ if (tabData.Tab.CommandID==JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID)
127811
+ {
127812
+ this.ExecuteMenuCommand(tabData.Tab.CommandID, [tabData.Tab.ID]);
127813
+ this.SetSelectedTab(tabData.Index);
127814
+ }
127742
127815
  }
127743
127816
 
127744
127817
  if (redraw) this.Draw();
127745
127818
  }
127746
127819
 
127820
+ this.OnClickTabPopMenu=function(tabData, data)
127821
+ {
127822
+ JSConsole.Chart.Log('[JSReportChartContainer::OnClickTabPopMenu] ',tabData, data);
127823
+
127824
+ var cmdID=data.Data.ID; //命令ID
127825
+ var aryArgs=data.Data.Args; //参数
127826
+
127827
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND); //回调通知外部
127828
+ if (event && event.Callback)
127829
+ {
127830
+ var data={ PreventDefault:false, CommandID:cmdID, Args:aryArgs, SrcData:data, TabData:tabData };
127831
+ event.Callback(event,data,this);
127832
+ if (data.PreventDefault) return;
127833
+ }
127834
+
127835
+ this.ExecuteMenuCommand(cmdID,aryArgs);
127836
+
127837
+ this.SetSelectedTab(tabData.Index);
127838
+ this.Draw();
127839
+ }
127840
+
127841
+ this.ExecuteMenuCommand=function(cmdID, aryArgs)
127842
+ {
127843
+ JSConsole.Chart.Log('[JSReportChartContainer::ExecuteMenuCommand] cmdID=, aryArgs=', cmdID,aryArgs);
127844
+
127845
+ var param=null, srcParam=null; //原始值
127846
+ if (IFrameSplitOperator.IsNonEmptyArray(aryArgs))
127847
+ {
127848
+ srcParam=aryArgs[0];
127849
+ if (IFrameSplitOperator.IsNumber(aryArgs[0])) param=aryArgs[0];
127850
+ }
127851
+
127852
+ switch(cmdID)
127853
+ {
127854
+ case JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID:
127855
+ if (srcParam) this.ChangeSymbol(param);
127856
+ break;
127857
+ }
127858
+ }
127859
+
127747
127860
  this.SwapColumn=function(leftIndex, rightIndex, option)
127748
127861
  {
127749
127862
  var reportChart=this.GetReportChart();
@@ -128022,7 +128135,7 @@ function JSReportChartContainer(uielement)
128022
128135
  if (obj.PreventDefault==true) return;
128023
128136
  }
128024
128137
 
128025
- throw { Name:'JSReportChartContainer::RequestStockSortData', Error:'(报价列表股票排序数据)不提供内置测试数据' };
128138
+ //throw { Name:'JSReportChartContainer::RequestStockSortData', Error:'(报价列表股票排序数据)不提供内置测试数据' };
128026
128139
  }
128027
128140
 
128028
128141
  this.RecvStockSortData=function(data)
@@ -130819,7 +130932,7 @@ function ChartReportTab()
130819
130932
  this.IsShow=true; //是否显示
130820
130933
 
130821
130934
  //Tab
130822
- this.TabList=[]; //{ Title:标题, ID:, IsMenu: 是否菜单 }
130935
+ this.TabList=[]; //{ Title:标题, ID:, IsMenu: 是否菜单, ArySubMenu:[ { Title:, ID: }] }
130823
130936
  this.SelectedTabIndex=-1;
130824
130937
  this.MoveOnTabIndex=-1;
130825
130938
 
@@ -130888,7 +131001,7 @@ function ChartReportTab()
130888
131001
 
130889
131002
  var tabItem={ Title:item.Title, IsMenu:false, FixedSymbol:[], FixedRowCount:0 };
130890
131003
  if (item.ID) tabItem.ID=item.ID;
130891
- if (item.MenuID) tabItem.MenuID=item.MenuID;
131004
+ if (item.CommandID) tabItem.CommandID=item.CommandID;
130892
131005
  if (IFrameSplitOperator.IsBool(item.IsMenu)) tabItem.IsMenu=item.IsMenu;
130893
131006
  if (IFrameSplitOperator.IsNonEmptyArray(item.FixedSymbol))
130894
131007
  {
@@ -130900,6 +131013,10 @@ function ChartReportTab()
130900
131013
  ++tabItem.FixedRowCount;
130901
131014
  }
130902
131015
  }
131016
+
131017
+ if (IFrameSplitOperator.IsNonEmptyArray(item.ArySubMenu))
131018
+ tabItem.ArySubMenu=item.ArySubMenu.slice();
131019
+
130903
131020
  this.TabList.push(tabItem);
130904
131021
  }
130905
131022
  }
@@ -134409,7 +134526,7 @@ function ScrollBarBGChart()
134409
134526
 
134410
134527
 
134411
134528
 
134412
- var HQCHART_VERSION="1.1.13489";
134529
+ var HQCHART_VERSION="1.1.13496";
134413
134530
 
134414
134531
  function PrintHQChartVersion()
134415
134532
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13489";
8
+ var HQCHART_VERSION="1.1.13496";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {