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
|
@@ -48760,6 +48760,22 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
48760
48760
|
case "TradeDetail::RequestData":
|
|
48761
48761
|
HQData.TradeDetail_RequestData(data,callback);
|
|
48762
48762
|
break;
|
|
48763
|
+
|
|
48764
|
+
//////////////////////////////////////////////////////
|
|
48765
|
+
//报价列表数据
|
|
48766
|
+
case "JSReportChartContainer::RequestStockListData":
|
|
48767
|
+
HQData.Report_RequestStockListData(data, callback); //码表
|
|
48768
|
+
break;
|
|
48769
|
+
|
|
48770
|
+
case "JSReportChartContainer::RequestMemberListData": //板块成分
|
|
48771
|
+
HQData.Report_RequestMemberListDat(data, callback);
|
|
48772
|
+
break;
|
|
48773
|
+
case "JSDealChartContainer::RequestStockData": //股票数据更新
|
|
48774
|
+
HQData.Report_RequestStockData(data, callback);
|
|
48775
|
+
break;
|
|
48776
|
+
case "JSDealChartContainer::RequestStockSortData": //股票排序数据
|
|
48777
|
+
HQData.Report_RequestStockSortData(data, callback);
|
|
48778
|
+
break;
|
|
48763
48779
|
}
|
|
48764
48780
|
}
|
|
48765
48781
|
|
|
@@ -49170,6 +49186,287 @@ HQData.RequestOverlayHistoryMinuteData=function(data, callback)
|
|
|
49170
49186
|
}
|
|
49171
49187
|
|
|
49172
49188
|
|
|
49189
|
+
//////////////////////////////////////////////////////////////////////////////////////
|
|
49190
|
+
// 报价列表
|
|
49191
|
+
//
|
|
49192
|
+
//
|
|
49193
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
49194
|
+
|
|
49195
|
+
//码表
|
|
49196
|
+
HQData.Report_RequestStockListData=function(data, callback)
|
|
49197
|
+
{
|
|
49198
|
+
data.PreventDefault=true;
|
|
49199
|
+
|
|
49200
|
+
var hqchartData={ data:[] };
|
|
49201
|
+
|
|
49202
|
+
if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
|
|
49203
|
+
{
|
|
49204
|
+
//0=证券代码 1=股票名称
|
|
49205
|
+
for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
|
|
49206
|
+
{
|
|
49207
|
+
var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
|
|
49208
|
+
var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
|
|
49209
|
+
|
|
49210
|
+
hqchartData.data.push([symbol,name]);
|
|
49211
|
+
}
|
|
49212
|
+
}
|
|
49213
|
+
|
|
49214
|
+
console.log("[HQData.Report_RequestStockListData] hqchartData",hqchartData);
|
|
49215
|
+
callback(hqchartData);
|
|
49216
|
+
|
|
49217
|
+
}
|
|
49218
|
+
|
|
49219
|
+
//板块|行业等成分列表
|
|
49220
|
+
HQData.Report_RequestMemberListDat=function(data, callback)
|
|
49221
|
+
{
|
|
49222
|
+
var symbol=data.Request.Data.symbol; //板块代码
|
|
49223
|
+
data.PreventDefault=true;
|
|
49224
|
+
|
|
49225
|
+
var hqchartData= { symbol:symbol , name:symbol, data:[] , code:0 };
|
|
49226
|
+
var testDataCount=SHSZ_STOCK_LIST_TEST_DATA.symbol.length;
|
|
49227
|
+
var testIndex=Math.round(Math.random()*(testDataCount-100));
|
|
49228
|
+
var count=parseInt(Math.random()*(200)+100); ;
|
|
49229
|
+
|
|
49230
|
+
for(var i=testIndex, j=0; i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length && j<count; ++i, ++j)
|
|
49231
|
+
{
|
|
49232
|
+
hqchartData.data.push(SHSZ_STOCK_LIST_TEST_DATA.symbol[i]);
|
|
49233
|
+
}
|
|
49234
|
+
|
|
49235
|
+
callback(hqchartData);
|
|
49236
|
+
}
|
|
49237
|
+
|
|
49238
|
+
HQData.Report_RequestStockData=function(data, callback)
|
|
49239
|
+
{
|
|
49240
|
+
var stocks=data.Request.Data.stocks; //股票列表
|
|
49241
|
+
data.PreventDefault=true;
|
|
49242
|
+
|
|
49243
|
+
var mapStock=new Map();
|
|
49244
|
+
for(var i=0;i<stocks.length;++i)
|
|
49245
|
+
{
|
|
49246
|
+
var item=stocks[i];
|
|
49247
|
+
mapStock.set(item.Symbol,{ Symbol:item.Symbol, Data:null });
|
|
49248
|
+
}
|
|
49249
|
+
|
|
49250
|
+
if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
|
|
49251
|
+
{
|
|
49252
|
+
for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
|
|
49253
|
+
{
|
|
49254
|
+
var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
|
|
49255
|
+
if (!mapStock.has(symbol)) continue;
|
|
49256
|
+
var item=mapStock.get(symbol);
|
|
49257
|
+
var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
|
|
49258
|
+
var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
|
|
49259
|
+
var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
|
|
49260
|
+
var newItem=
|
|
49261
|
+
[
|
|
49262
|
+
symbol,
|
|
49263
|
+
name,
|
|
49264
|
+
SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
|
|
49265
|
+
SHSZ_STOCK_LIST_TEST_DATA.open[i],
|
|
49266
|
+
SHSZ_STOCK_LIST_TEST_DATA.high[i],
|
|
49267
|
+
SHSZ_STOCK_LIST_TEST_DATA.low[i],
|
|
49268
|
+
price,
|
|
49269
|
+
vol,
|
|
49270
|
+
SHSZ_STOCK_LIST_TEST_DATA.amount[i],
|
|
49271
|
+
];
|
|
49272
|
+
|
|
49273
|
+
//买价 量
|
|
49274
|
+
newItem[9]=price+0.05;
|
|
49275
|
+
newItem[10]=10;
|
|
49276
|
+
|
|
49277
|
+
//卖价 量
|
|
49278
|
+
newItem[11]=price-0.06;
|
|
49279
|
+
newItem[12]=5;
|
|
49280
|
+
|
|
49281
|
+
//均价
|
|
49282
|
+
newItem[13]=price-0.03;
|
|
49283
|
+
|
|
49284
|
+
//内盘
|
|
49285
|
+
newItem[18]=vol/4;
|
|
49286
|
+
//外盘
|
|
49287
|
+
newItem[19]=vol/5;
|
|
49288
|
+
|
|
49289
|
+
newItem[14]=vol*1.5; //流通股本
|
|
49290
|
+
newItem[15]=vol*1.8; //总股本
|
|
49291
|
+
|
|
49292
|
+
//换手率
|
|
49293
|
+
newItem[23]=(Math.round(Math.random()*60))/100;
|
|
49294
|
+
|
|
49295
|
+
//名字字段
|
|
49296
|
+
var symbolEx={ Text:name };
|
|
49297
|
+
if (i%20==5)
|
|
49298
|
+
symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
|
|
49299
|
+
else if (i%20==9)
|
|
49300
|
+
symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
|
|
49301
|
+
else if (i%20==18)
|
|
49302
|
+
symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
|
|
49303
|
+
|
|
49304
|
+
newItem[27]=symbolEx;
|
|
49305
|
+
|
|
49306
|
+
|
|
49307
|
+
//扩展数据 (定制数据)
|
|
49308
|
+
var extendData=[];
|
|
49309
|
+
newItem[30]=extendData;
|
|
49310
|
+
|
|
49311
|
+
//行业
|
|
49312
|
+
extendData[0]="行业X";
|
|
49313
|
+
//地区
|
|
49314
|
+
extendData[1]="地区X";
|
|
49315
|
+
|
|
49316
|
+
//PE|PB
|
|
49317
|
+
extendData[2]=(Math.round(Math.random()*60))/100;
|
|
49318
|
+
extendData[3]=(Math.round(Math.random()*60))/100;
|
|
49319
|
+
extendData[4]=(Math.round(Math.random()*60))/100;
|
|
49320
|
+
extendData[5]=(Math.round(Math.random()*60))/100;
|
|
49321
|
+
|
|
49322
|
+
|
|
49323
|
+
//周涨幅
|
|
49324
|
+
extendData[6]=(Math.round(Math.random()*60))/100;
|
|
49325
|
+
extendData[7]=(Math.round(Math.random()*60))/100;
|
|
49326
|
+
extendData[8]=(Math.round(Math.random()*60))/100;
|
|
49327
|
+
|
|
49328
|
+
|
|
49329
|
+
item.Data=newItem;
|
|
49330
|
+
}
|
|
49331
|
+
}
|
|
49332
|
+
|
|
49333
|
+
var hqchartData={ data:[], code:0 };
|
|
49334
|
+
|
|
49335
|
+
for(var mapItem of mapStock)
|
|
49336
|
+
{
|
|
49337
|
+
var item=mapItem[1];
|
|
49338
|
+
if (!item.Data) continue;
|
|
49339
|
+
|
|
49340
|
+
hqchartData.data.push(item.Data);
|
|
49341
|
+
}
|
|
49342
|
+
|
|
49343
|
+
callback(hqchartData);
|
|
49344
|
+
}
|
|
49345
|
+
|
|
49346
|
+
HQData.Report_RequestStockSortData=function(data, callback)
|
|
49347
|
+
{
|
|
49348
|
+
var blockID=data.Request.Data.symbol; //板块代码
|
|
49349
|
+
var range=data.Request.Data.range; //排序范围
|
|
49350
|
+
var column=data.Request.Data.column; //排序列信息
|
|
49351
|
+
var sortType=data.Request.Data.sort; //排序方向
|
|
49352
|
+
var pageSize=data.Request.Data.pageSize;
|
|
49353
|
+
data.PreventDefault=true;
|
|
49354
|
+
|
|
49355
|
+
var start=range.start;
|
|
49356
|
+
var end=range.end;
|
|
49357
|
+
if (start>0) start-=pageSize;
|
|
49358
|
+
if (start<0) start=0;
|
|
49359
|
+
end+=pageSize;
|
|
49360
|
+
|
|
49361
|
+
var aryData=data.Self.Data.Data.slice(); //所有的股票
|
|
49362
|
+
var mapStock=new Map();
|
|
49363
|
+
var count=end-start+1;
|
|
49364
|
+
for(var i = 0; i < count; i++)
|
|
49365
|
+
{
|
|
49366
|
+
var index = Math.floor(Math.random()*(aryData.length-1));
|
|
49367
|
+
var symbol = aryData[index];
|
|
49368
|
+
mapStock.set(symbol, { Symbol:symbol, Index:i+start, Data:null });
|
|
49369
|
+
aryData.splice(index, 1);
|
|
49370
|
+
}
|
|
49371
|
+
|
|
49372
|
+
if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
|
|
49373
|
+
{
|
|
49374
|
+
for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
|
|
49375
|
+
{
|
|
49376
|
+
var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
|
|
49377
|
+
if (!mapStock.has(symbol)) continue;
|
|
49378
|
+
var item=mapStock.get(symbol);
|
|
49379
|
+
var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
|
|
49380
|
+
var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
|
|
49381
|
+
var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
|
|
49382
|
+
var newItem=
|
|
49383
|
+
[
|
|
49384
|
+
symbol,
|
|
49385
|
+
name,
|
|
49386
|
+
SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
|
|
49387
|
+
SHSZ_STOCK_LIST_TEST_DATA.open[i],
|
|
49388
|
+
SHSZ_STOCK_LIST_TEST_DATA.high[i],
|
|
49389
|
+
SHSZ_STOCK_LIST_TEST_DATA.low[i],
|
|
49390
|
+
price,
|
|
49391
|
+
vol,
|
|
49392
|
+
SHSZ_STOCK_LIST_TEST_DATA.amount[i],
|
|
49393
|
+
];
|
|
49394
|
+
|
|
49395
|
+
//买价 量
|
|
49396
|
+
newItem[9]=price+0.05;
|
|
49397
|
+
newItem[10]=10;
|
|
49398
|
+
|
|
49399
|
+
//卖价 量
|
|
49400
|
+
newItem[11]=price-0.06;
|
|
49401
|
+
newItem[12]=5;
|
|
49402
|
+
|
|
49403
|
+
//均价
|
|
49404
|
+
newItem[13]=price-0.03;
|
|
49405
|
+
|
|
49406
|
+
//内盘
|
|
49407
|
+
newItem[18]=vol/4;
|
|
49408
|
+
//外盘
|
|
49409
|
+
newItem[19]=vol/5;
|
|
49410
|
+
|
|
49411
|
+
newItem[14]=vol*1.5; //流通股本
|
|
49412
|
+
newItem[15]=vol*1.8; //总股本
|
|
49413
|
+
|
|
49414
|
+
//换手率
|
|
49415
|
+
newItem[23]=(Math.round(Math.random()*60))/100;
|
|
49416
|
+
|
|
49417
|
+
//名字字段
|
|
49418
|
+
var symbolEx={ Text:name };
|
|
49419
|
+
if (i%20==5)
|
|
49420
|
+
symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
|
|
49421
|
+
else if (i%20==9)
|
|
49422
|
+
symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
|
|
49423
|
+
else if (i%20==18)
|
|
49424
|
+
symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
|
|
49425
|
+
|
|
49426
|
+
newItem[27]=symbolEx;
|
|
49427
|
+
|
|
49428
|
+
|
|
49429
|
+
//扩展数据 (定制数据)
|
|
49430
|
+
var extendData=[];
|
|
49431
|
+
newItem[30]=extendData;
|
|
49432
|
+
|
|
49433
|
+
//行业
|
|
49434
|
+
extendData[0]="行业X";
|
|
49435
|
+
//地区
|
|
49436
|
+
extendData[1]="地区X";
|
|
49437
|
+
|
|
49438
|
+
//PE|PB
|
|
49439
|
+
extendData[2]=(Math.round(Math.random()*60))/100;
|
|
49440
|
+
extendData[3]=(Math.round(Math.random()*60))/100;
|
|
49441
|
+
extendData[4]=(Math.round(Math.random()*60))/100;
|
|
49442
|
+
extendData[5]=(Math.round(Math.random()*60))/100;
|
|
49443
|
+
|
|
49444
|
+
|
|
49445
|
+
//周涨幅
|
|
49446
|
+
extendData[6]=(Math.round(Math.random()*60))/100;
|
|
49447
|
+
extendData[7]=(Math.round(Math.random()*60))/100;
|
|
49448
|
+
extendData[8]=(Math.round(Math.random()*60))/100;
|
|
49449
|
+
|
|
49450
|
+
|
|
49451
|
+
item.Data=newItem;
|
|
49452
|
+
}
|
|
49453
|
+
}
|
|
49454
|
+
|
|
49455
|
+
var hqchartData={ data:[], index:[], filedindex:column.index, sort:sortType, symbol:blockID };
|
|
49456
|
+
|
|
49457
|
+
for(var mapItem of mapStock)
|
|
49458
|
+
{
|
|
49459
|
+
var item=mapItem[1];
|
|
49460
|
+
if (!item.Data) continue;
|
|
49461
|
+
|
|
49462
|
+
hqchartData.data.push(item.Data);
|
|
49463
|
+
hqchartData.index.push(item.Index);
|
|
49464
|
+
}
|
|
49465
|
+
|
|
49466
|
+
callback(hqchartData);
|
|
49467
|
+
}
|
|
49468
|
+
|
|
49469
|
+
|
|
49173
49470
|
|
|
49174
49471
|
|
|
49175
49472
|
/*暴露外部用的方法*/
|
|
@@ -6722,6 +6722,9 @@ var JSCHART_MENU_ID=
|
|
|
6722
6722
|
CMD_CHANGE_LANGUAGE_ID:37, //语言切换
|
|
6723
6723
|
|
|
6724
6724
|
CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:38,
|
|
6725
|
+
|
|
6726
|
+
|
|
6727
|
+
CMD_REPORT_CHANGE_BLOCK_ID:60, //报价列表 切换板块ID
|
|
6725
6728
|
}
|
|
6726
6729
|
|
|
6727
6730
|
|
|
@@ -125132,13 +125135,23 @@ function JSReportChart(divElement)
|
|
|
125132
125135
|
this.JSChartContainer=chart;
|
|
125133
125136
|
this.DivElement.JSChart=this; //div中保存一份
|
|
125134
125137
|
|
|
125138
|
+
if (option.EnablePopMenuV2===true) chart.InitalPopMenu();
|
|
125139
|
+
|
|
125135
125140
|
if (option.Symbol) chart.Symbol=option.Symbol;
|
|
125136
125141
|
if (option.Name) chart.Name=option.Name;
|
|
125137
125142
|
|
|
125138
125143
|
var requestOption={ Callback:null };
|
|
125139
125144
|
if (chart.Symbol) requestOption.Callback=function(){ chart.RequestMemberListData(); };
|
|
125140
|
-
|
|
125141
|
-
|
|
125145
|
+
|
|
125146
|
+
if (option.LoadStockList===false)
|
|
125147
|
+
{
|
|
125148
|
+
chart.ChartSplashPaint.IsEnableSplash=false;
|
|
125149
|
+
chart.Draw();
|
|
125150
|
+
}
|
|
125151
|
+
else
|
|
125152
|
+
{
|
|
125153
|
+
chart.RequestStockListData(requestOption); //下载码表
|
|
125154
|
+
}
|
|
125142
125155
|
}
|
|
125143
125156
|
|
|
125144
125157
|
this.CreateJSReportChartContainer=function(option)
|
|
@@ -125406,6 +125419,8 @@ function JSReportChartContainer(uielement)
|
|
|
125406
125419
|
|
|
125407
125420
|
this.IsDestroy=false; //是否已经销毁了
|
|
125408
125421
|
|
|
125422
|
+
this.JSPopMenu; //内置菜单
|
|
125423
|
+
|
|
125409
125424
|
this.ChartDestory=function() //销毁
|
|
125410
125425
|
{
|
|
125411
125426
|
this.IsDestroy=true;
|
|
@@ -125423,6 +125438,14 @@ function JSReportChartContainer(uielement)
|
|
|
125423
125438
|
}
|
|
125424
125439
|
}
|
|
125425
125440
|
|
|
125441
|
+
this.InitalPopMenu=function() //初始化弹出窗口
|
|
125442
|
+
{
|
|
125443
|
+
if (this.JSPopMenu) return;
|
|
125444
|
+
|
|
125445
|
+
this.JSPopMenu=new JSPopMenu(); //内置菜单
|
|
125446
|
+
this.JSPopMenu.Inital();
|
|
125447
|
+
}
|
|
125448
|
+
|
|
125426
125449
|
this.AutoScrollPage=function(step)
|
|
125427
125450
|
{
|
|
125428
125451
|
this.AutoDragScrollTimer=setTimeout(() =>
|
|
@@ -125866,7 +125889,7 @@ function JSReportChartContainer(uielement)
|
|
|
125866
125889
|
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
125867
125890
|
}
|
|
125868
125891
|
|
|
125869
|
-
throw { Name:'JSReportChartContainer::RequestMemberListData', Error:'(板块成分数据)不提供内置测试数据' };
|
|
125892
|
+
//throw { Name:'JSReportChartContainer::RequestMemberListData', Error:'(板块成分数据)不提供内置测试数据' };
|
|
125870
125893
|
}
|
|
125871
125894
|
|
|
125872
125895
|
this.RecvMemberListData=function(recvData)
|
|
@@ -125931,7 +125954,7 @@ function JSReportChartContainer(uielement)
|
|
|
125931
125954
|
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
125932
125955
|
}
|
|
125933
125956
|
|
|
125934
|
-
throw { Name:'JSReportChartContainer::RequestStockListData', Error:'(码表数据)不提供内置测试数据' };
|
|
125957
|
+
//throw { Name:'JSReportChartContainer::RequestStockListData', Error:'(码表数据)不提供内置测试数据' };
|
|
125935
125958
|
}
|
|
125936
125959
|
|
|
125937
125960
|
this.RecvStockListData=function(data, option)
|
|
@@ -126145,7 +126168,7 @@ function JSReportChartContainer(uielement)
|
|
|
126145
126168
|
if (obj.PreventDefault==true) return;
|
|
126146
126169
|
}
|
|
126147
126170
|
|
|
126148
|
-
throw { Name:'JSReportChartContainer::RequestStockData', Error:'(报价列表股票数据)不提供内置测试数据' };
|
|
126171
|
+
//throw { Name:'JSReportChartContainer::RequestStockData', Error:'(报价列表股票数据)不提供内置测试数据' };
|
|
126149
126172
|
}
|
|
126150
126173
|
|
|
126151
126174
|
this.RecvStockData=function(data)
|
|
@@ -127745,6 +127768,52 @@ function JSReportChartContainer(uielement)
|
|
|
127745
127768
|
}
|
|
127746
127769
|
}
|
|
127747
127770
|
|
|
127771
|
+
this.GetTabPopMenu=function(tabItem)
|
|
127772
|
+
{
|
|
127773
|
+
var aryMenu=[ ];
|
|
127774
|
+
|
|
127775
|
+
if (IFrameSplitOperator.IsNonEmptyArray(tabItem.ArySubMenu))
|
|
127776
|
+
{
|
|
127777
|
+
for(var i=0;i<tabItem.ArySubMenu.length;++i)
|
|
127778
|
+
{
|
|
127779
|
+
var item=tabItem.ArySubMenu[i];
|
|
127780
|
+
var menuItem={ Name:item.Title, Data:{ ID:item.CommandID, Args:[item.ID]} };
|
|
127781
|
+
|
|
127782
|
+
aryMenu.push(menuItem);
|
|
127783
|
+
}
|
|
127784
|
+
}
|
|
127785
|
+
|
|
127786
|
+
|
|
127787
|
+
return aryMenu;
|
|
127788
|
+
}
|
|
127789
|
+
|
|
127790
|
+
this.PopupTabMenu=function(menuData, tab, e)
|
|
127791
|
+
{
|
|
127792
|
+
if (!this.JSPopMenu) return;
|
|
127793
|
+
|
|
127794
|
+
var rtTab=tab.Rect;
|
|
127795
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
127796
|
+
var rtCell={ Left:rtTab.Left/pixelRatio, Right:rtTab.Right/pixelRatio, Bottom:rtTab.Bottom/pixelRatio, Top:rtTab.Top/pixelRatio };
|
|
127797
|
+
rtCell.Width=rtCell.Right-rtCell.Left;
|
|
127798
|
+
rtCell.Height=rtCell.Bottom-rtCell.Top;
|
|
127799
|
+
|
|
127800
|
+
var rtClient=this.UIElement.getBoundingClientRect();
|
|
127801
|
+
var rtScroll=GetScrollPosition();
|
|
127802
|
+
|
|
127803
|
+
var offsetLeft=rtClient.left+rtScroll.Left;
|
|
127804
|
+
var offsetTop=rtClient.top+rtScroll.Top;
|
|
127805
|
+
rtCell.Left+=offsetLeft;
|
|
127806
|
+
rtCell.Right+=offsetLeft;
|
|
127807
|
+
rtCell.Top+=offsetTop;
|
|
127808
|
+
rtCell.Bottom+=offsetTop;
|
|
127809
|
+
|
|
127810
|
+
this.JSPopMenu.CreatePopMenu(menuData);
|
|
127811
|
+
this.JSPopMenu.PopupMenuByTab(rtCell);
|
|
127812
|
+
|
|
127813
|
+
if(e.preventDefault) e.preventDefault();
|
|
127814
|
+
if(e.stopPropagation) e.stopPropagation();
|
|
127815
|
+
}
|
|
127816
|
+
|
|
127748
127817
|
//点击标签
|
|
127749
127818
|
this.OnClickTab=function(tabData, e)
|
|
127750
127819
|
{
|
|
@@ -127758,36 +127827,80 @@ function JSReportChartContainer(uielement)
|
|
|
127758
127827
|
|
|
127759
127828
|
if (tabData.Tab.IsMenu)
|
|
127760
127829
|
{
|
|
127830
|
+
var menuData={ Menu:this.GetTabPopMenu(tabData.Tab), Position:JSPopMenu.POSITION_ID.TAB_MENU_ID };
|
|
127831
|
+
menuData.ClickCallback=(data)=>{ this.OnClickTabPopMenu(tabData, data); }
|
|
127832
|
+
|
|
127761
127833
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TABMENU);
|
|
127762
127834
|
if (event && event.Callback)
|
|
127763
127835
|
{
|
|
127764
|
-
|
|
127765
|
-
var rtItem=tabData.Rect;
|
|
127766
|
-
var rtDOM={ Left: rtItem.Left/pixelTatio, Right:rtItem.Right/pixelTatio, Top:rtItem.Top/pixelTatio, Bottom:rtItem.Bottom/pixelTatio };
|
|
127767
|
-
|
|
127768
|
-
var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, Rect:rtDOM, e:e , Redraw:redraw };
|
|
127836
|
+
var sendData={ MenuData:menuData, Tab:tabData, PreventDefault:false, e:e };
|
|
127769
127837
|
event.Callback(event, sendData, this);
|
|
127770
|
-
if (
|
|
127838
|
+
if (sendData.PreventDefault==true) return;
|
|
127771
127839
|
}
|
|
127772
127840
|
|
|
127773
|
-
this.
|
|
127841
|
+
this.PopupTabMenu(menuData, tabData.Tab, e);
|
|
127774
127842
|
}
|
|
127775
127843
|
else
|
|
127776
127844
|
{
|
|
127777
127845
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TAB);
|
|
127778
127846
|
if (event && event.Callback)
|
|
127779
127847
|
{
|
|
127780
|
-
var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, e:e , Redraw:redraw };
|
|
127848
|
+
var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, e:e , Redraw:redraw, PreventDefault:false };
|
|
127781
127849
|
event.Callback(event, sendData, this);
|
|
127782
127850
|
if (IFrameSplitOperator.IsBool(sendData.Redraw)) redraw=sendData.Redraw;
|
|
127851
|
+
if (sendData.PreventDefault==true) return;
|
|
127783
127852
|
}
|
|
127784
127853
|
|
|
127785
|
-
|
|
127854
|
+
if (tabData.Tab.CommandID==JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID)
|
|
127855
|
+
{
|
|
127856
|
+
this.ExecuteMenuCommand(tabData.Tab.CommandID, [tabData.Tab.ID]);
|
|
127857
|
+
this.SetSelectedTab(tabData.Index);
|
|
127858
|
+
}
|
|
127786
127859
|
}
|
|
127787
127860
|
|
|
127788
127861
|
if (redraw) this.Draw();
|
|
127789
127862
|
}
|
|
127790
127863
|
|
|
127864
|
+
this.OnClickTabPopMenu=function(tabData, data)
|
|
127865
|
+
{
|
|
127866
|
+
JSConsole.Chart.Log('[JSReportChartContainer::OnClickTabPopMenu] ',tabData, data);
|
|
127867
|
+
|
|
127868
|
+
var cmdID=data.Data.ID; //命令ID
|
|
127869
|
+
var aryArgs=data.Data.Args; //参数
|
|
127870
|
+
|
|
127871
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND); //回调通知外部
|
|
127872
|
+
if (event && event.Callback)
|
|
127873
|
+
{
|
|
127874
|
+
var data={ PreventDefault:false, CommandID:cmdID, Args:aryArgs, SrcData:data, TabData:tabData };
|
|
127875
|
+
event.Callback(event,data,this);
|
|
127876
|
+
if (data.PreventDefault) return;
|
|
127877
|
+
}
|
|
127878
|
+
|
|
127879
|
+
this.ExecuteMenuCommand(cmdID,aryArgs);
|
|
127880
|
+
|
|
127881
|
+
this.SetSelectedTab(tabData.Index);
|
|
127882
|
+
this.Draw();
|
|
127883
|
+
}
|
|
127884
|
+
|
|
127885
|
+
this.ExecuteMenuCommand=function(cmdID, aryArgs)
|
|
127886
|
+
{
|
|
127887
|
+
JSConsole.Chart.Log('[JSReportChartContainer::ExecuteMenuCommand] cmdID=, aryArgs=', cmdID,aryArgs);
|
|
127888
|
+
|
|
127889
|
+
var param=null, srcParam=null; //原始值
|
|
127890
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryArgs))
|
|
127891
|
+
{
|
|
127892
|
+
srcParam=aryArgs[0];
|
|
127893
|
+
if (IFrameSplitOperator.IsNumber(aryArgs[0])) param=aryArgs[0];
|
|
127894
|
+
}
|
|
127895
|
+
|
|
127896
|
+
switch(cmdID)
|
|
127897
|
+
{
|
|
127898
|
+
case JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID:
|
|
127899
|
+
if (srcParam) this.ChangeSymbol(param);
|
|
127900
|
+
break;
|
|
127901
|
+
}
|
|
127902
|
+
}
|
|
127903
|
+
|
|
127791
127904
|
this.SwapColumn=function(leftIndex, rightIndex, option)
|
|
127792
127905
|
{
|
|
127793
127906
|
var reportChart=this.GetReportChart();
|
|
@@ -128066,7 +128179,7 @@ function JSReportChartContainer(uielement)
|
|
|
128066
128179
|
if (obj.PreventDefault==true) return;
|
|
128067
128180
|
}
|
|
128068
128181
|
|
|
128069
|
-
throw { Name:'JSReportChartContainer::RequestStockSortData', Error:'(报价列表股票排序数据)不提供内置测试数据' };
|
|
128182
|
+
//throw { Name:'JSReportChartContainer::RequestStockSortData', Error:'(报价列表股票排序数据)不提供内置测试数据' };
|
|
128070
128183
|
}
|
|
128071
128184
|
|
|
128072
128185
|
this.RecvStockSortData=function(data)
|
|
@@ -130863,7 +130976,7 @@ function ChartReportTab()
|
|
|
130863
130976
|
this.IsShow=true; //是否显示
|
|
130864
130977
|
|
|
130865
130978
|
//Tab
|
|
130866
|
-
this.TabList=[]; //{ Title:标题, ID:, IsMenu:
|
|
130979
|
+
this.TabList=[]; //{ Title:标题, ID:, IsMenu: 是否菜单, ArySubMenu:[ { Title:, ID: }] }
|
|
130867
130980
|
this.SelectedTabIndex=-1;
|
|
130868
130981
|
this.MoveOnTabIndex=-1;
|
|
130869
130982
|
|
|
@@ -130932,7 +131045,7 @@ function ChartReportTab()
|
|
|
130932
131045
|
|
|
130933
131046
|
var tabItem={ Title:item.Title, IsMenu:false, FixedSymbol:[], FixedRowCount:0 };
|
|
130934
131047
|
if (item.ID) tabItem.ID=item.ID;
|
|
130935
|
-
if (item.
|
|
131048
|
+
if (item.CommandID) tabItem.CommandID=item.CommandID;
|
|
130936
131049
|
if (IFrameSplitOperator.IsBool(item.IsMenu)) tabItem.IsMenu=item.IsMenu;
|
|
130937
131050
|
if (IFrameSplitOperator.IsNonEmptyArray(item.FixedSymbol))
|
|
130938
131051
|
{
|
|
@@ -130944,6 +131057,10 @@ function ChartReportTab()
|
|
|
130944
131057
|
++tabItem.FixedRowCount;
|
|
130945
131058
|
}
|
|
130946
131059
|
}
|
|
131060
|
+
|
|
131061
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.ArySubMenu))
|
|
131062
|
+
tabItem.ArySubMenu=item.ArySubMenu.slice();
|
|
131063
|
+
|
|
130947
131064
|
this.TabList.push(tabItem);
|
|
130948
131065
|
}
|
|
130949
131066
|
}
|
|
@@ -138350,7 +138467,7 @@ function HQChartScriptWorker()
|
|
|
138350
138467
|
|
|
138351
138468
|
|
|
138352
138469
|
|
|
138353
|
-
var HQCHART_VERSION="1.1.
|
|
138470
|
+
var HQCHART_VERSION="1.1.13496";
|
|
138354
138471
|
|
|
138355
138472
|
function PrintHQChartVersion()
|
|
138356
138473
|
{
|