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.
- package/lib/umychart.NetworkFilterTest.vue.js +52 -3
- package/lib/umychart.vue.js +66 -55
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +297 -0
- package/src/jscommon/umychart.js +3 -0
- package/src/jscommon/umychart.report.js +131 -17
- package/src/jscommon/umychart.testdata/shsz_stock_data.js +45482 -0
- package/src/jscommon/umychart.testdata.js +297 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +135 -18
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +297 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +135 -18
|
@@ -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
|
-
|
|
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
|
-
|
|
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 (
|
|
127794
|
+
if (sendData.PreventDefault==true) return;
|
|
127727
127795
|
}
|
|
127728
127796
|
|
|
127729
|
-
this.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
134529
|
+
var HQCHART_VERSION="1.1.13496";
|
|
134413
134530
|
|
|
134414
134531
|
function PrintHQChartVersion()
|
|
134415
134532
|
{
|