hqchart 1.1.13492 → 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 +57 -50
- 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 +117 -11
- 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 +121 -12
- 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 +121 -12
|
@@ -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,3 +49186,284 @@ 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
|
+
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -61,6 +61,8 @@ function JSReportChart(divElement)
|
|
|
61
61
|
this.JSChartContainer=chart;
|
|
62
62
|
this.DivElement.JSChart=this; //div中保存一份
|
|
63
63
|
|
|
64
|
+
if (option.EnablePopMenuV2===true) chart.InitalPopMenu();
|
|
65
|
+
|
|
64
66
|
if (option.Symbol) chart.Symbol=option.Symbol;
|
|
65
67
|
if (option.Name) chart.Name=option.Name;
|
|
66
68
|
|
|
@@ -343,6 +345,8 @@ function JSReportChartContainer(uielement)
|
|
|
343
345
|
|
|
344
346
|
this.IsDestroy=false; //是否已经销毁了
|
|
345
347
|
|
|
348
|
+
this.JSPopMenu; //内置菜单
|
|
349
|
+
|
|
346
350
|
this.ChartDestory=function() //销毁
|
|
347
351
|
{
|
|
348
352
|
this.IsDestroy=true;
|
|
@@ -360,6 +364,14 @@ function JSReportChartContainer(uielement)
|
|
|
360
364
|
}
|
|
361
365
|
}
|
|
362
366
|
|
|
367
|
+
this.InitalPopMenu=function() //初始化弹出窗口
|
|
368
|
+
{
|
|
369
|
+
if (this.JSPopMenu) return;
|
|
370
|
+
|
|
371
|
+
this.JSPopMenu=new JSPopMenu(); //内置菜单
|
|
372
|
+
this.JSPopMenu.Inital();
|
|
373
|
+
}
|
|
374
|
+
|
|
363
375
|
this.AutoScrollPage=function(step)
|
|
364
376
|
{
|
|
365
377
|
this.AutoDragScrollTimer=setTimeout(() =>
|
|
@@ -2682,6 +2694,52 @@ function JSReportChartContainer(uielement)
|
|
|
2682
2694
|
}
|
|
2683
2695
|
}
|
|
2684
2696
|
|
|
2697
|
+
this.GetTabPopMenu=function(tabItem)
|
|
2698
|
+
{
|
|
2699
|
+
var aryMenu=[ ];
|
|
2700
|
+
|
|
2701
|
+
if (IFrameSplitOperator.IsNonEmptyArray(tabItem.ArySubMenu))
|
|
2702
|
+
{
|
|
2703
|
+
for(var i=0;i<tabItem.ArySubMenu.length;++i)
|
|
2704
|
+
{
|
|
2705
|
+
var item=tabItem.ArySubMenu[i];
|
|
2706
|
+
var menuItem={ Name:item.Title, Data:{ ID:item.CommandID, Args:[item.ID]} };
|
|
2707
|
+
|
|
2708
|
+
aryMenu.push(menuItem);
|
|
2709
|
+
}
|
|
2710
|
+
}
|
|
2711
|
+
|
|
2712
|
+
|
|
2713
|
+
return aryMenu;
|
|
2714
|
+
}
|
|
2715
|
+
|
|
2716
|
+
this.PopupTabMenu=function(menuData, tab, e)
|
|
2717
|
+
{
|
|
2718
|
+
if (!this.JSPopMenu) return;
|
|
2719
|
+
|
|
2720
|
+
var rtTab=tab.Rect;
|
|
2721
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
2722
|
+
var rtCell={ Left:rtTab.Left/pixelRatio, Right:rtTab.Right/pixelRatio, Bottom:rtTab.Bottom/pixelRatio, Top:rtTab.Top/pixelRatio };
|
|
2723
|
+
rtCell.Width=rtCell.Right-rtCell.Left;
|
|
2724
|
+
rtCell.Height=rtCell.Bottom-rtCell.Top;
|
|
2725
|
+
|
|
2726
|
+
var rtClient=this.UIElement.getBoundingClientRect();
|
|
2727
|
+
var rtScroll=GetScrollPosition();
|
|
2728
|
+
|
|
2729
|
+
var offsetLeft=rtClient.left+rtScroll.Left;
|
|
2730
|
+
var offsetTop=rtClient.top+rtScroll.Top;
|
|
2731
|
+
rtCell.Left+=offsetLeft;
|
|
2732
|
+
rtCell.Right+=offsetLeft;
|
|
2733
|
+
rtCell.Top+=offsetTop;
|
|
2734
|
+
rtCell.Bottom+=offsetTop;
|
|
2735
|
+
|
|
2736
|
+
this.JSPopMenu.CreatePopMenu(menuData);
|
|
2737
|
+
this.JSPopMenu.PopupMenuByTab(rtCell);
|
|
2738
|
+
|
|
2739
|
+
if(e.preventDefault) e.preventDefault();
|
|
2740
|
+
if(e.stopPropagation) e.stopPropagation();
|
|
2741
|
+
}
|
|
2742
|
+
|
|
2685
2743
|
//点击标签
|
|
2686
2744
|
this.OnClickTab=function(tabData, e)
|
|
2687
2745
|
{
|
|
@@ -2695,36 +2753,80 @@ function JSReportChartContainer(uielement)
|
|
|
2695
2753
|
|
|
2696
2754
|
if (tabData.Tab.IsMenu)
|
|
2697
2755
|
{
|
|
2756
|
+
var menuData={ Menu:this.GetTabPopMenu(tabData.Tab), Position:JSPopMenu.POSITION_ID.TAB_MENU_ID };
|
|
2757
|
+
menuData.ClickCallback=(data)=>{ this.OnClickTabPopMenu(tabData, data); }
|
|
2758
|
+
|
|
2698
2759
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TABMENU);
|
|
2699
2760
|
if (event && event.Callback)
|
|
2700
2761
|
{
|
|
2701
|
-
|
|
2702
|
-
var rtItem=tabData.Rect;
|
|
2703
|
-
var rtDOM={ Left: rtItem.Left/pixelTatio, Right:rtItem.Right/pixelTatio, Top:rtItem.Top/pixelTatio, Bottom:rtItem.Bottom/pixelTatio };
|
|
2704
|
-
|
|
2705
|
-
var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, Rect:rtDOM, e:e , Redraw:redraw };
|
|
2762
|
+
var sendData={ MenuData:menuData, Tab:tabData, PreventDefault:false, e:e };
|
|
2706
2763
|
event.Callback(event, sendData, this);
|
|
2707
|
-
if (
|
|
2764
|
+
if (sendData.PreventDefault==true) return;
|
|
2708
2765
|
}
|
|
2709
2766
|
|
|
2710
|
-
this.
|
|
2767
|
+
this.PopupTabMenu(menuData, tabData.Tab, e);
|
|
2711
2768
|
}
|
|
2712
2769
|
else
|
|
2713
2770
|
{
|
|
2714
2771
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TAB);
|
|
2715
2772
|
if (event && event.Callback)
|
|
2716
2773
|
{
|
|
2717
|
-
var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, e:e , Redraw:redraw };
|
|
2774
|
+
var sendData={ Data:tabData, IsSide:{X:x, Y:x}, UIElement:uiElement, e:e , Redraw:redraw, PreventDefault:false };
|
|
2718
2775
|
event.Callback(event, sendData, this);
|
|
2719
2776
|
if (IFrameSplitOperator.IsBool(sendData.Redraw)) redraw=sendData.Redraw;
|
|
2777
|
+
if (sendData.PreventDefault==true) return;
|
|
2720
2778
|
}
|
|
2721
2779
|
|
|
2722
|
-
|
|
2780
|
+
if (tabData.Tab.CommandID==JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID)
|
|
2781
|
+
{
|
|
2782
|
+
this.ExecuteMenuCommand(tabData.Tab.CommandID, [tabData.Tab.ID]);
|
|
2783
|
+
this.SetSelectedTab(tabData.Index);
|
|
2784
|
+
}
|
|
2723
2785
|
}
|
|
2724
2786
|
|
|
2725
2787
|
if (redraw) this.Draw();
|
|
2726
2788
|
}
|
|
2727
2789
|
|
|
2790
|
+
this.OnClickTabPopMenu=function(tabData, data)
|
|
2791
|
+
{
|
|
2792
|
+
JSConsole.Chart.Log('[JSReportChartContainer::OnClickTabPopMenu] ',tabData, data);
|
|
2793
|
+
|
|
2794
|
+
var cmdID=data.Data.ID; //命令ID
|
|
2795
|
+
var aryArgs=data.Data.Args; //参数
|
|
2796
|
+
|
|
2797
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND); //回调通知外部
|
|
2798
|
+
if (event && event.Callback)
|
|
2799
|
+
{
|
|
2800
|
+
var data={ PreventDefault:false, CommandID:cmdID, Args:aryArgs, SrcData:data, TabData:tabData };
|
|
2801
|
+
event.Callback(event,data,this);
|
|
2802
|
+
if (data.PreventDefault) return;
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2805
|
+
this.ExecuteMenuCommand(cmdID,aryArgs);
|
|
2806
|
+
|
|
2807
|
+
this.SetSelectedTab(tabData.Index);
|
|
2808
|
+
this.Draw();
|
|
2809
|
+
}
|
|
2810
|
+
|
|
2811
|
+
this.ExecuteMenuCommand=function(cmdID, aryArgs)
|
|
2812
|
+
{
|
|
2813
|
+
JSConsole.Chart.Log('[JSReportChartContainer::ExecuteMenuCommand] cmdID=, aryArgs=', cmdID,aryArgs);
|
|
2814
|
+
|
|
2815
|
+
var param=null, srcParam=null; //原始值
|
|
2816
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryArgs))
|
|
2817
|
+
{
|
|
2818
|
+
srcParam=aryArgs[0];
|
|
2819
|
+
if (IFrameSplitOperator.IsNumber(aryArgs[0])) param=aryArgs[0];
|
|
2820
|
+
}
|
|
2821
|
+
|
|
2822
|
+
switch(cmdID)
|
|
2823
|
+
{
|
|
2824
|
+
case JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID:
|
|
2825
|
+
if (srcParam) this.ChangeSymbol(param);
|
|
2826
|
+
break;
|
|
2827
|
+
}
|
|
2828
|
+
}
|
|
2829
|
+
|
|
2728
2830
|
this.SwapColumn=function(leftIndex, rightIndex, option)
|
|
2729
2831
|
{
|
|
2730
2832
|
var reportChart=this.GetReportChart();
|
|
@@ -5800,7 +5902,7 @@ function ChartReportTab()
|
|
|
5800
5902
|
this.IsShow=true; //是否显示
|
|
5801
5903
|
|
|
5802
5904
|
//Tab
|
|
5803
|
-
this.TabList=[]; //{ Title:标题, ID:, IsMenu:
|
|
5905
|
+
this.TabList=[]; //{ Title:标题, ID:, IsMenu: 是否菜单, ArySubMenu:[ { Title:, ID: }] }
|
|
5804
5906
|
this.SelectedTabIndex=-1;
|
|
5805
5907
|
this.MoveOnTabIndex=-1;
|
|
5806
5908
|
|
|
@@ -5869,7 +5971,7 @@ function ChartReportTab()
|
|
|
5869
5971
|
|
|
5870
5972
|
var tabItem={ Title:item.Title, IsMenu:false, FixedSymbol:[], FixedRowCount:0 };
|
|
5871
5973
|
if (item.ID) tabItem.ID=item.ID;
|
|
5872
|
-
if (item.
|
|
5974
|
+
if (item.CommandID) tabItem.CommandID=item.CommandID;
|
|
5873
5975
|
if (IFrameSplitOperator.IsBool(item.IsMenu)) tabItem.IsMenu=item.IsMenu;
|
|
5874
5976
|
if (IFrameSplitOperator.IsNonEmptyArray(item.FixedSymbol))
|
|
5875
5977
|
{
|
|
@@ -5881,6 +5983,10 @@ function ChartReportTab()
|
|
|
5881
5983
|
++tabItem.FixedRowCount;
|
|
5882
5984
|
}
|
|
5883
5985
|
}
|
|
5986
|
+
|
|
5987
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.ArySubMenu))
|
|
5988
|
+
tabItem.ArySubMenu=item.ArySubMenu.slice();
|
|
5989
|
+
|
|
5884
5990
|
this.TabList.push(tabItem);
|
|
5885
5991
|
}
|
|
5886
5992
|
}
|