hqchart 1.1.15382 → 1.1.15428
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.vue.js +91 -43
- package/package.json +1 -1
- package/src/jscommon/umychart.StockInfo.js +1192 -0
- package/src/jscommon/umychart.TReport.js +11 -11
- package/src/jscommon/umychart.complier.js +101 -27
- package/src/jscommon/umychart.deal.js +71 -21
- package/src/jscommon/umychart.js +288 -12
- package/src/jscommon/umychart.report.js +84 -7
- package/src/jscommon/umychart.style.js +61 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +606 -68
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +617 -79
|
@@ -17,17 +17,17 @@ function JSTReportChart(divElement)
|
|
|
17
17
|
this.JSChartContainer; //表格控件
|
|
18
18
|
this.ResizeListener; //大小变动监听
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
//h5 canvas
|
|
21
|
+
this.CanvasElement=document.createElement("canvas");
|
|
22
|
+
this.CanvasElement.className='jstreport-drawing';
|
|
23
|
+
this.CanvasElement.id=Guid();
|
|
24
|
+
this.CanvasElement.setAttribute("tabindex",0);
|
|
25
|
+
if (this.CanvasElement.style) this.CanvasElement.style.outline='none';
|
|
26
|
+
if(divElement.hasChildNodes())
|
|
27
|
+
{
|
|
28
|
+
JSConsole.Chart.Log("[JSTReportChart::JSReportChart] divElement hasChildNodes", divElement.childNodes);
|
|
29
|
+
}
|
|
30
|
+
divElement.appendChild(this.CanvasElement);
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
this.OnSize=function()
|
|
@@ -441,6 +441,24 @@ JSComplierHelper.GetConvertValueName=function(funcName)
|
|
|
441
441
|
|
|
442
442
|
return valueName;
|
|
443
443
|
}
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
//DYNAINFO() 转换
|
|
447
|
+
//["DYNA_NOW",null], //DYNA_NOW 现价 DYNAINFO(7) 即时行情数据 没有现价时(比如在开盘前),返回昨收盘价
|
|
448
|
+
//["DYNA_ZAF",null], //DYNA_ZAF 涨幅 DYNAINFO(14) 即时行情数据(沪深京早盘竞价期间使用匹配价的涨幅) 转换成幅度需要乘100
|
|
449
|
+
//["DYNA_LB", null], //DYNA_LB DYNAINFO(17) 量比 即时行情数据
|
|
450
|
+
//["DYNA_ZAS",null], //DYNA_ZAS DYNAINFO(24) 返回涨速 报价界面行情数据 转换成幅度需要乘100
|
|
451
|
+
//["SELLVOL", null], //返回内盘,即DYNAINFO(22) 即时行情数据
|
|
452
|
+
//["BUYVOL", null], //返回外盘,即DYNAINFO(21) 即时行情数据
|
|
453
|
+
const MAP_DYNAINFO_SHORTCUT=new Map(
|
|
454
|
+
[
|
|
455
|
+
['DYNA_NOW', { Name:"DYNA_NOW", ID:7 } ],
|
|
456
|
+
['DYNA_LB', { Name:"DYNA_LB", ID:17 } ],
|
|
457
|
+
['DYNA_ZAS', { Name:"DYNA_ZAS", ID:24 } ],
|
|
458
|
+
['SELLVOL', { Name:"SELLVOL", ID:22 }],
|
|
459
|
+
['BUYVOL', { Name:"BUYVOL", ID:21 } ],
|
|
460
|
+
]
|
|
461
|
+
);
|
|
444
462
|
|
|
445
463
|
|
|
446
464
|
|
|
@@ -1380,6 +1398,14 @@ function Node(ErrorHandler)
|
|
|
1380
1398
|
return;
|
|
1381
1399
|
}
|
|
1382
1400
|
|
|
1401
|
+
if (MAP_DYNAINFO_SHORTCUT.has(varName))
|
|
1402
|
+
{
|
|
1403
|
+
var item=MAP_DYNAINFO_SHORTCUT.get(varName);
|
|
1404
|
+
var item={ ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_LATEST_DATA, Args:[item.ID], FunctionName:varName };
|
|
1405
|
+
this.Dynainfo.push(item);
|
|
1406
|
+
return;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1383
1409
|
if (varName.indexOf('#')>0)
|
|
1384
1410
|
{
|
|
1385
1411
|
var aryWrods = varName.split('#');
|
|
@@ -12135,8 +12161,10 @@ var DYNAINFO_ARGUMENT_ID=
|
|
|
12135
12161
|
CLOSE:7,
|
|
12136
12162
|
VOL:8,
|
|
12137
12163
|
AMOUNT:10,
|
|
12164
|
+
UPDOWN:12, //DYNAINFO(12) 日涨跌 即时行情数据
|
|
12138
12165
|
AMPLITUDE:13, //振幅
|
|
12139
12166
|
INCREASE:14, //涨幅
|
|
12167
|
+
|
|
12140
12168
|
EXCHANGERATE:37, //换手率
|
|
12141
12169
|
};
|
|
12142
12170
|
|
|
@@ -12315,16 +12343,18 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
12315
12343
|
let stock=data.stock[0];
|
|
12316
12344
|
if (!stock) return;
|
|
12317
12345
|
|
|
12318
|
-
if (IFrameSplitOperator.IsNumber(stock.yclose)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.YCLOSE,stock.yclose);
|
|
12319
|
-
if (IFrameSplitOperator.IsNumber(stock.open)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.OPEN,stock.open);
|
|
12320
|
-
if (IFrameSplitOperator.IsNumber(stock.high)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.HIGH,stock.high);
|
|
12321
|
-
if (IFrameSplitOperator.IsNumber(stock.low)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.LOW,stock.low);
|
|
12322
|
-
if (IFrameSplitOperator.IsNumber(stock.price)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.CLOSE,stock.price);
|
|
12323
|
-
if (IFrameSplitOperator.IsNumber(stock.vol)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.VOL,stock.vol);
|
|
12324
|
-
if (IFrameSplitOperator.IsNumber(stock.amount)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.AMOUNT,stock.amount);
|
|
12325
|
-
if (IFrameSplitOperator.IsNumber(stock.increase)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.INCREASE,stock.increase);
|
|
12326
|
-
if (IFrameSplitOperator.IsNumber(stock.exchangerate)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.EXCHANGERATE,stock.exchangerate);
|
|
12327
|
-
if (IFrameSplitOperator.IsNumber(stock.amplitude)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.AMPLITUDE,stock.amplitude);
|
|
12346
|
+
if (IFrameSplitOperator.IsNumber(stock.yclose)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.YCLOSE),stock.yclose);
|
|
12347
|
+
if (IFrameSplitOperator.IsNumber(stock.open)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.OPEN),stock.open);
|
|
12348
|
+
if (IFrameSplitOperator.IsNumber(stock.high)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.HIGH),stock.high);
|
|
12349
|
+
if (IFrameSplitOperator.IsNumber(stock.low)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.LOW),stock.low);
|
|
12350
|
+
if (IFrameSplitOperator.IsNumber(stock.price)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.CLOSE),stock.price);
|
|
12351
|
+
if (IFrameSplitOperator.IsNumber(stock.vol)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.VOL),stock.vol);
|
|
12352
|
+
if (IFrameSplitOperator.IsNumber(stock.amount)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.AMOUNT),stock.amount);
|
|
12353
|
+
if (IFrameSplitOperator.IsNumber(stock.increase)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.INCREASE),stock.increase);
|
|
12354
|
+
if (IFrameSplitOperator.IsNumber(stock.exchangerate)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.EXCHANGERATE),stock.exchangerate);
|
|
12355
|
+
if (IFrameSplitOperator.IsNumber(stock.amplitude)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.AMPLITUDE),stock.amplitude);
|
|
12356
|
+
if (IFrameSplitOperator.IsNumber(stock.updown)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.UPDOWN),stock.updown);
|
|
12357
|
+
|
|
12328
12358
|
|
|
12329
12359
|
/*
|
|
12330
12360
|
this.LatestData={ Symbol:stock.symbol, Name:stock.name, Date:stock.date, Time:stock.time,
|
|
@@ -12349,7 +12379,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
12349
12379
|
if (IFrameSplitOperator.IsNumber(item.value) || IFrameSplitOperator.IsString(item.value))
|
|
12350
12380
|
{
|
|
12351
12381
|
JSConsole.Complier.Log(`[JSSymbolData::RecvLatestDataVer2] symbol=${symbol} DYNAINFO(${item.id})=${item.value}.`);
|
|
12352
|
-
this.LatestData.set(item.id, item.value);
|
|
12382
|
+
this.LatestData.set(this.GetLatestDataKey(item.id), item.value);
|
|
12353
12383
|
}
|
|
12354
12384
|
|
|
12355
12385
|
}
|
|
@@ -12357,11 +12387,50 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
12357
12387
|
JSConsole.Complier.Log('[JSSymbolData::RecvLatestDataVer2]', this.LatestData);
|
|
12358
12388
|
}
|
|
12359
12389
|
|
|
12360
|
-
this.GetLatestCacheData=function(
|
|
12390
|
+
this.GetLatestCacheData=function(dataID)
|
|
12361
12391
|
{
|
|
12362
|
-
|
|
12392
|
+
var key=this.GetLatestDataKey(dataID);
|
|
12393
|
+
if (!this.LatestData.has(key)) return null;
|
|
12363
12394
|
|
|
12364
|
-
|
|
12395
|
+
var data=this.LatestData.get(key);
|
|
12396
|
+
|
|
12397
|
+
//DYNAINFO(36) 自由流通换手率(序列数据,每个周期的数据不同,使用最新的自由流通股本) 转换成幅度需要乘100 比如DYNAINFO(36)>0.25表示换手超过25%
|
|
12398
|
+
//DYNAINFO(37) 换手率(序列数据,每个周期的数据不同,使用的流通股本为最近数据) 转换成幅度需要乘100 比如DYNAINFO(37)>0.1表示换手超过10%
|
|
12399
|
+
if (dataID==37 || dataID==36)
|
|
12400
|
+
{
|
|
12401
|
+
var value=null;
|
|
12402
|
+
if (IFrameSplitOperator.IsNumber(data)) value=data;
|
|
12403
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(data) && IFrameSplitOperator.IsNumber(data[0])) value=data[0];
|
|
12404
|
+
else return null;
|
|
12405
|
+
|
|
12406
|
+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
12407
|
+
|
|
12408
|
+
var aryData=[];
|
|
12409
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
12410
|
+
{
|
|
12411
|
+
var kItem=this.Data.Data[i];
|
|
12412
|
+
aryData[i]=null;
|
|
12413
|
+
if (!kItem || !IFrameSplitOperator.IsNumber(kItem.Vol)) continue;
|
|
12414
|
+
|
|
12415
|
+
aryData[i]=kItem.Vol/value*100.0;// 换手率
|
|
12416
|
+
}
|
|
12417
|
+
|
|
12418
|
+
return aryData;
|
|
12419
|
+
}
|
|
12420
|
+
|
|
12421
|
+
|
|
12422
|
+
return data;
|
|
12423
|
+
}
|
|
12424
|
+
|
|
12425
|
+
this.GetDynaCacheData=function(name)
|
|
12426
|
+
{
|
|
12427
|
+
var data=null;
|
|
12428
|
+
if (MAP_DYNAINFO_SHORTCUT.has(name))
|
|
12429
|
+
{
|
|
12430
|
+
var item=MAP_DYNAINFO_SHORTCUT.get(name);
|
|
12431
|
+
data=this.GetLatestCacheData(item.ID);
|
|
12432
|
+
}
|
|
12433
|
+
return data;
|
|
12365
12434
|
}
|
|
12366
12435
|
|
|
12367
12436
|
this.GetLatestIndexData=function()
|
|
@@ -13437,12 +13506,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
13437
13506
|
{ Url:self.RealtimeApiUrl, Type:'POST' ,
|
|
13438
13507
|
Data:
|
|
13439
13508
|
{
|
|
13440
|
-
|
|
13441
|
-
"symbol": self.Symbol,
|
|
13442
|
-
"start": -1,
|
|
13443
|
-
"count": self.MaxRequestDataCount,
|
|
13444
|
-
"period":this.Period,
|
|
13445
|
-
"right":this.Right
|
|
13509
|
+
symbol: self.Symbol,count: self.MaxRequestDataCount, period:this.Period,right:this.Right
|
|
13446
13510
|
}
|
|
13447
13511
|
},
|
|
13448
13512
|
Self:this,
|
|
@@ -13454,6 +13518,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
13454
13518
|
obj.Request.KLineDataTimeRange={Start:{ Date:this.KLineDateTimeRange.Start.Date}, End:{ Date:this.KLineDateTimeRange.End.Date} };
|
|
13455
13519
|
if (this.IsNumber(this.KLineDateTimeRange.Start.Time)) obj.Request.KLineDataTimeRange.Start.Time=this.KLineDateTimeRange.Start.Time;
|
|
13456
13520
|
if (this.IsNumber(this.KLineDateTimeRange.End.Time)) obj.Request.KLineDataTimeRange.End.Time=this.KLineDateTimeRange.End.Time;
|
|
13521
|
+
obj.Request.Data.dateRange=obj.Request.KLineDataTimeRange;
|
|
13457
13522
|
}
|
|
13458
13523
|
|
|
13459
13524
|
this.NetworkFilter(obj, function(data)
|
|
@@ -15815,13 +15880,14 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
15815
15880
|
if (readArgument.Value=='') readArgument.Value=this.Symbol; //缺省使用股票代码
|
|
15816
15881
|
|
|
15817
15882
|
var symbol=readArgument.Value;
|
|
15883
|
+
var upperSymbol=symbol.toUpperCase();
|
|
15818
15884
|
|
|
15819
15885
|
//支持 SH60000, SZ000001
|
|
15820
15886
|
//A股后缀小写
|
|
15821
|
-
if (
|
|
15822
|
-
else if (
|
|
15823
|
-
else if (
|
|
15824
|
-
else if (
|
|
15887
|
+
if (upperSymbol.indexOf('.SH')>0) result.Symbol=symbol.replace('.SH', ".sh");
|
|
15888
|
+
else if (upperSymbol.indexOf('.SZ')>0) result.Symbol=symbol.replace('.SZ', ".sz");
|
|
15889
|
+
else if (upperSymbol.indexOf("SH")==0) result.Symbol=symbol.slice(2)+".sh";
|
|
15890
|
+
else if (upperSymbol.indexOf("SZ")==0) result.Symbol=symbol.slice(2)+".sz";
|
|
15825
15891
|
else result.Symbol=symbol;
|
|
15826
15892
|
|
|
15827
15893
|
return true;
|
|
@@ -17346,6 +17412,13 @@ function JSExecute(ast,option)
|
|
|
17346
17412
|
["TR", null], //真实波幅
|
|
17347
17413
|
["AUTOFILTER", null],
|
|
17348
17414
|
|
|
17415
|
+
["DYNA_NOW",null], //DYNA_NOW 现价 DYNAINFO(7) 即时行情数据 没有现价时(比如在开盘前),返回昨收盘价
|
|
17416
|
+
["DYNA_ZAF",null], //DYNA_ZAF 涨幅 DYNAINFO(14) 即时行情数据(沪深京早盘竞价期间使用匹配价的涨幅) 转换成幅度需要乘100
|
|
17417
|
+
["DYNA_LB", null], //DYNA_LB DYNAINFO(17) 量比 即时行情数据
|
|
17418
|
+
["DYNA_ZAS",null], //DYNA_ZAS DYNAINFO(24) 返回涨速 报价界面行情数据 转换成幅度需要乘100
|
|
17419
|
+
["SELLVOL", null], //返回内盘,即DYNAINFO(22) 即时行情数据
|
|
17420
|
+
["BUYVOL", null], //返回外盘,即DYNAINFO(21) 即时行情数据
|
|
17421
|
+
|
|
17349
17422
|
['LARGEINTRDVOL', null], //逐笔买入大单成交量,相当于L2_VOL(0,0)+L2_VOL(1,0),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
17350
17423
|
['LARGEOUTTRDVOL', null], //逐笔卖出大单成交量,相当于L2_VOL(0,1)+L2_VOL(1,1),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
17351
17424
|
["TRADENUM", null], //逐笔成交总单数,沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
@@ -17510,6 +17583,8 @@ function JSExecute(ast,option)
|
|
|
17510
17583
|
|
|
17511
17584
|
this.ReadSymbolData=function(name,node)
|
|
17512
17585
|
{
|
|
17586
|
+
if (MAP_DYNAINFO_SHORTCUT.has(name)) return this.SymbolData.GetDynaCacheData(name);
|
|
17587
|
+
|
|
17513
17588
|
switch(name)
|
|
17514
17589
|
{
|
|
17515
17590
|
case 'CLOSE':
|
|
@@ -17577,7 +17652,6 @@ function JSExecute(ast,option)
|
|
|
17577
17652
|
case 'CAPITAL':
|
|
17578
17653
|
case 'EXCHANGE':
|
|
17579
17654
|
case "HSL":
|
|
17580
|
-
|
|
17581
17655
|
case "HYBLOCK":
|
|
17582
17656
|
case "DYBLOCK":
|
|
17583
17657
|
case "GNBLOCK":
|
|
@@ -27036,8 +27110,8 @@ function DownloadFinanceData(obj)
|
|
|
27036
27110
|
{
|
|
27037
27111
|
case 1: //FINANCE(1) 总股本(随时间可能有变化) 股
|
|
27038
27112
|
case 7: //FINANCE(7) 流通股本(随时间可能有变化) 股
|
|
27039
|
-
case "EXCHANGE": //换手率
|
|
27040
27113
|
case "HSL"://换手率
|
|
27114
|
+
case "EXCHANGE": //换手率
|
|
27041
27115
|
this.DownloadHistoryData(id);
|
|
27042
27116
|
break;
|
|
27043
27117
|
case 3:
|
|
@@ -27298,7 +27372,7 @@ function DownloadFinanceData(obj)
|
|
|
27298
27372
|
if (!item.capital) return null;
|
|
27299
27373
|
return { Date:date, Value:item.capital.total };
|
|
27300
27374
|
case 7:
|
|
27301
|
-
case "HSL":
|
|
27375
|
+
case "HSL":
|
|
27302
27376
|
case "EXCHANGE": //换手率 历史流通股本
|
|
27303
27377
|
if (!item.capital) return null;
|
|
27304
27378
|
return { Date:date, Value:item.capital.a };
|
|
@@ -33,9 +33,18 @@ function JSDealChart(divElement)
|
|
|
33
33
|
this.OnSize=function()
|
|
34
34
|
{
|
|
35
35
|
//画布大小通过div获取
|
|
36
|
-
var height=
|
|
36
|
+
var height=this.DivElement.offsetHeight;
|
|
37
|
+
var width=this.DivElement.offsetWidth;
|
|
38
|
+
if (this.DivElement.style.height && this.DivElement.style.width)
|
|
39
|
+
{
|
|
40
|
+
if (this.DivElement.style.height.includes("px"))
|
|
41
|
+
height=parseInt(this.DivElement.style.height.replace("px",""));
|
|
42
|
+
if (this.DivElement.style.width.includes("px"))
|
|
43
|
+
width=parseInt(this.DivElement.style.width.replace("px",""));
|
|
44
|
+
}
|
|
45
|
+
|
|
37
46
|
this.CanvasElement.height=height;
|
|
38
|
-
this.CanvasElement.width=
|
|
47
|
+
this.CanvasElement.width=width;
|
|
39
48
|
this.CanvasElement.style.width=this.CanvasElement.width+'px';
|
|
40
49
|
this.CanvasElement.style.height=this.CanvasElement.height+'px';
|
|
41
50
|
|
|
@@ -500,8 +509,8 @@ function JSDealChartContainer(uielement)
|
|
|
500
509
|
this.ChangeSymbol=function(symbol, option)
|
|
501
510
|
{
|
|
502
511
|
this.Symbol=symbol;
|
|
503
|
-
this.Data=
|
|
504
|
-
this.SourceData=
|
|
512
|
+
this.Data={ DataOffset:0, Data:[] }; //分笔数据
|
|
513
|
+
this.SourceData={DataOffset:0, Data:[] }; //原始分笔数据
|
|
505
514
|
|
|
506
515
|
var chart=this.ChartPaint[0];
|
|
507
516
|
if (chart) chart.Data=null;
|
|
@@ -1148,17 +1157,23 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
1148
1157
|
|
|
1149
1158
|
if (item[100]) dealItem.Guid=item[100];
|
|
1150
1159
|
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1160
|
+
//柱子类型
|
|
1161
|
+
if (item[50]) dealItem.MultiBar1=item[50];
|
|
1162
|
+
if (item[51]) dealItem.MultiBar2=item[51];
|
|
1163
|
+
if (item[52]) dealItem.MultiBar3=item[52];
|
|
1164
|
+
if (item[53]) dealItem.MultiBar4=item[53];
|
|
1165
|
+
|
|
1166
|
+
//10个数值型 101-199
|
|
1167
|
+
if (IFrameSplitOperator.IsNumber(item[101])) dealItem.ReserveNumber1=item[101];
|
|
1168
|
+
if (IFrameSplitOperator.IsNumber(item[102])) dealItem.ReserveNumber2=item[102];
|
|
1169
|
+
if (IFrameSplitOperator.IsNumber(item[103])) dealItem.ReserveNumber3=item[103];
|
|
1170
|
+
if (IFrameSplitOperator.IsNumber(item[104])) dealItem.ReserveNumber4=item[104];
|
|
1171
|
+
if (IFrameSplitOperator.IsNumber(item[105])) dealItem.ReserveNumber5=item[105];
|
|
1172
|
+
if (IFrameSplitOperator.IsNumber(item[106])) dealItem.ReserveNumber6=item[106];
|
|
1173
|
+
if (IFrameSplitOperator.IsNumber(item[107])) dealItem.ReserveNumber7=item[107];
|
|
1174
|
+
if (IFrameSplitOperator.IsNumber(item[108])) dealItem.ReserveNumber8=item[108];
|
|
1175
|
+
if (IFrameSplitOperator.IsNumber(item[109])) dealItem.ReserveNumber9=item[109];
|
|
1176
|
+
if (IFrameSplitOperator.IsNumber(item[110])) dealItem.ReserveNumber10=item[110];
|
|
1162
1177
|
|
|
1163
1178
|
//10个字符型 201-299
|
|
1164
1179
|
if (IFrameSplitOperator.IsString(item[201]) || IFrameSplitOperator.IsObject(item[201])) dealItem.ReserveString1=item[201];
|
|
@@ -1269,13 +1284,14 @@ var DEAL_COLUMN_ID=
|
|
|
1269
1284
|
UPDOWN_ID:5, //涨跌
|
|
1270
1285
|
STRING_TIME_ID:6, //字符串时间
|
|
1271
1286
|
INDEX_ID:7, //序号 从1开始
|
|
1272
|
-
|
|
1287
|
+
|
|
1273
1288
|
CENTER_BAR_ID:9, //中心柱子
|
|
1274
1289
|
CUSTOM_TEXT_ID:10, //自定义文本
|
|
1275
1290
|
|
|
1276
1291
|
SYMBOL_ID:11, //股票代码
|
|
1277
1292
|
NAME_ID:12, //股票名称
|
|
1278
1293
|
|
|
1294
|
+
|
|
1279
1295
|
|
|
1280
1296
|
//预留数值类型 10个
|
|
1281
1297
|
RESERVE_NUMBER1_ID:201, //ReserveNumber1:
|
|
@@ -1300,6 +1316,11 @@ var DEAL_COLUMN_ID=
|
|
|
1300
1316
|
RESERVE_STRING8_ID:308,
|
|
1301
1317
|
RESERVE_STRING9_ID:309,
|
|
1302
1318
|
RESERVE_STRING10_ID:310,
|
|
1319
|
+
|
|
1320
|
+
MULTI_BAR_ID:50, //多颜色柱子
|
|
1321
|
+
MULTI_BAR2_ID:51,
|
|
1322
|
+
MULTI_BAR3_ID:52,
|
|
1323
|
+
MULTI_BAR4_ID:53
|
|
1303
1324
|
}
|
|
1304
1325
|
|
|
1305
1326
|
var MAP_DEAL_COLUMN_FIELD=new Map(
|
|
@@ -1308,6 +1329,11 @@ var MAP_DEAL_COLUMN_FIELD=new Map(
|
|
|
1308
1329
|
[DEAL_COLUMN_ID.NAME_ID, "Name"],
|
|
1309
1330
|
[DEAL_COLUMN_ID.PRICE_ID, "Price"],
|
|
1310
1331
|
|
|
1332
|
+
[DEAL_COLUMN_ID.MULTI_BAR_ID, "MultiBar1"],
|
|
1333
|
+
[DEAL_COLUMN_ID.MULTI_BAR2_ID, "MultiBar2"],
|
|
1334
|
+
[DEAL_COLUMN_ID.MULTI_BAR3_ID, "MultiBar3"],
|
|
1335
|
+
[DEAL_COLUMN_ID.MULTI_BAR4_ID, "MultiBar4"],
|
|
1336
|
+
|
|
1311
1337
|
[DEAL_COLUMN_ID.RESERVE_NUMBER1_ID,"ReserveNumber1"],
|
|
1312
1338
|
[DEAL_COLUMN_ID.RESERVE_NUMBER2_ID,"ReserveNumber2"],
|
|
1313
1339
|
[DEAL_COLUMN_ID.RESERVE_NUMBER3_ID,"ReserveNumber3"],
|
|
@@ -1464,7 +1490,7 @@ function ChartDealList()
|
|
|
1464
1490
|
|
|
1465
1491
|
if (item.ChartTooltip) colItem.ChartTooltip={ Enable:item.ChartTooltip.Enable, Type:item.ChartTooltip.Type }; //图形提示信息
|
|
1466
1492
|
|
|
1467
|
-
if (item.Type==DEAL_COLUMN_ID.
|
|
1493
|
+
if (item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID)
|
|
1468
1494
|
{
|
|
1469
1495
|
if (!IFrameSplitOperator.IsNumber(item.DataIndex)) continue;
|
|
1470
1496
|
colItem.DataIndex=item.DataIndex; //柱子数据所在原始数据索引列
|
|
@@ -1477,6 +1503,8 @@ function ChartDealList()
|
|
|
1477
1503
|
{
|
|
1478
1504
|
if (item.Format) colItem.Format=item.Format; //数据格式化设置{ Type:1=原始 2=千分位分割 3=万亿转换, ExFloatPrecision:万亿转换以后的小数位数 }
|
|
1479
1505
|
if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //0=默认 1=(>0, =0, <0) 2=(>=0, <0)
|
|
1506
|
+
if (IFrameSplitOperator.IsNumber(item.FloatPrecision)) colItem.FloatPrecision=item.FloatPrecision;
|
|
1507
|
+
if (item.StringFormat) colItem.StringFormat=item.StringFormat; //"{0}%" 输出增加固定字符
|
|
1480
1508
|
}
|
|
1481
1509
|
|
|
1482
1510
|
this.Column.push(colItem);
|
|
@@ -1496,7 +1524,7 @@ function ChartDealList()
|
|
|
1496
1524
|
{ Type:DEAL_COLUMN_ID.STRING_TIME_ID, Title:"时间", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Time, MaxText:"88:88:88" },
|
|
1497
1525
|
{ Type:DEAL_COLUMN_ID.INDEX_ID, Title:"序号", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Index, MaxText:"88888" },
|
|
1498
1526
|
|
|
1499
|
-
|
|
1527
|
+
|
|
1500
1528
|
{ Type:DEAL_COLUMN_ID.CENTER_BAR_ID, Title:"柱子2", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
|
|
1501
1529
|
{ Type:DEAL_COLUMN_ID.CUSTOM_TEXT_ID, Title:"自定义", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Text, MaxText:"擎擎擎擎擎" },
|
|
1502
1530
|
|
|
@@ -1524,6 +1552,11 @@ function ChartDealList()
|
|
|
1524
1552
|
{ Type:DEAL_COLUMN_ID.RESERVE_STRING8_ID, Title:"文字8", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"擎擎擎擎擎擎" },
|
|
1525
1553
|
{ Type:DEAL_COLUMN_ID.RESERVE_STRING9_ID, Title:"文字9", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"擎擎擎擎擎擎" },
|
|
1526
1554
|
{ Type:DEAL_COLUMN_ID.RESERVE_STRING10_ID, Title:"文字10", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"擎擎擎擎擎擎" },
|
|
1555
|
+
|
|
1556
|
+
{ Type:DEAL_COLUMN_ID.MULTI_BAR_ID, Title:"柱子", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
|
|
1557
|
+
{ Type:DEAL_COLUMN_ID.MULTI_BAR2_ID, Title:"柱子2", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
|
|
1558
|
+
{ Type:DEAL_COLUMN_ID.MULTI_BAR3_ID, Title:"柱子3", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
|
|
1559
|
+
{ Type:DEAL_COLUMN_ID.MULTI_BAR4_ID, Title:"柱子4", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
|
|
1527
1560
|
|
|
1528
1561
|
];
|
|
1529
1562
|
|
|
@@ -1864,7 +1897,7 @@ function ChartDealList()
|
|
|
1864
1897
|
{
|
|
1865
1898
|
text=(dataIndex+1).toString();
|
|
1866
1899
|
}
|
|
1867
|
-
else if (item.Type
|
|
1900
|
+
else if (this.IsMulitBar(item.Type))
|
|
1868
1901
|
{
|
|
1869
1902
|
var rtItem={Left:left, Top:top, Width:itemWidth, Height:this.RowHeight};
|
|
1870
1903
|
this.DrawMultiBar(item, data, rtItem);
|
|
@@ -1965,6 +1998,11 @@ function ChartDealList()
|
|
|
1965
1998
|
break;
|
|
1966
1999
|
}
|
|
1967
2000
|
}
|
|
2001
|
+
|
|
2002
|
+
if (column.StringFormat && text)
|
|
2003
|
+
{
|
|
2004
|
+
text=column.StringFormat.replace("{0}", text);
|
|
2005
|
+
}
|
|
1968
2006
|
|
|
1969
2007
|
drawInfo.Text=text;
|
|
1970
2008
|
}
|
|
@@ -2086,8 +2124,10 @@ function ChartDealList()
|
|
|
2086
2124
|
|
|
2087
2125
|
this.DrawMultiBar=function(colunmInfo, data, rtItem)
|
|
2088
2126
|
{
|
|
2089
|
-
|
|
2090
|
-
|
|
2127
|
+
var fieldName=MAP_DEAL_COLUMN_FIELD.get(colunmInfo.Type);
|
|
2128
|
+
if (!data || !fieldName) return;
|
|
2129
|
+
|
|
2130
|
+
var barData=data[fieldName]; //{ Value:[0.4,0,2], Color:[0,1] };
|
|
2091
2131
|
if (!barData) return false;
|
|
2092
2132
|
if (!IFrameSplitOperator.IsNonEmptyArray(barData.Value)) return false;
|
|
2093
2133
|
|
|
@@ -2275,6 +2315,16 @@ function ChartDealList()
|
|
|
2275
2315
|
return ARARY_TYPE.includes(value);
|
|
2276
2316
|
}
|
|
2277
2317
|
|
|
2318
|
+
this.IsMulitBar=function(value)
|
|
2319
|
+
{
|
|
2320
|
+
var ARARY_TYPE=
|
|
2321
|
+
[
|
|
2322
|
+
DEAL_COLUMN_ID.MULTI_BAR_ID,DEAL_COLUMN_ID.MULTI_BAR2_ID,DEAL_COLUMN_ID.MULTI_BAR3_ID,DEAL_COLUMN_ID.MULTI_BAR4_ID,
|
|
2323
|
+
];
|
|
2324
|
+
|
|
2325
|
+
return ARARY_TYPE.includes(value);
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2278
2328
|
this.IsReserveNumber=function(value)
|
|
2279
2329
|
{
|
|
2280
2330
|
var ARARY_TYPE=
|