hqchart 1.1.13804 → 1.1.13816
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 +2 -2
- package/lib/umychart.vue.js +14 -44
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +39 -0
- package/src/jscommon/umychart.complier.js +12 -444
- package/src/jscommon/umychart.js +80 -1
- package/src/jscommon/umychart.node/umychart.node.js +774 -1268
- package/src/jscommon/umychart.testdata.js +39 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +93 -446
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +39 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +93 -446
|
@@ -14264,54 +14264,6 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
14264
14264
|
return financeData.get(id);
|
|
14265
14265
|
}
|
|
14266
14266
|
|
|
14267
|
-
this.GetFinOne=function(jobItem)
|
|
14268
|
-
{
|
|
14269
|
-
var aryArgs=this.JobArgumentsToArray(jobItem, 3);
|
|
14270
|
-
var key=this.GetStockDataKey(jobItem,aryArgs);
|
|
14271
|
-
if (this.StockData.has(key)) return this.Execute.RunNextJob();
|
|
14272
|
-
var self=this;
|
|
14273
|
-
if (this.NetworkFilter)
|
|
14274
|
-
{
|
|
14275
|
-
var dateRange=this.Data.GetDateRange();
|
|
14276
|
-
var obj=
|
|
14277
|
-
{
|
|
14278
|
-
Name:'JSSymbolData::GetFinOne', //类名::
|
|
14279
|
-
Explain:'财务数据FINONE(ID,Y,MMDD)',
|
|
14280
|
-
JobID:jobItem.ID,
|
|
14281
|
-
Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ Args:aryArgs, symbol: this.Symbol, daterange:dateRange } },
|
|
14282
|
-
Self:this,
|
|
14283
|
-
PreventDefault:false
|
|
14284
|
-
};
|
|
14285
|
-
this.NetworkFilter(obj, function(recvData)
|
|
14286
|
-
{
|
|
14287
|
-
self.RecvStockValue(recvData,jobItem,key,1);
|
|
14288
|
-
self.Execute.RunNextJob();
|
|
14289
|
-
});
|
|
14290
|
-
|
|
14291
|
-
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
14292
|
-
}
|
|
14293
|
-
|
|
14294
|
-
var apiDownload=new DownloadFinOneData(
|
|
14295
|
-
{
|
|
14296
|
-
Job:jobItem,
|
|
14297
|
-
Symbol:this.Symbol,
|
|
14298
|
-
Url:this.StockHistoryDayApiUrl,
|
|
14299
|
-
Args:aryArgs,
|
|
14300
|
-
DataKey:key,
|
|
14301
|
-
Callback:function(recvData, jobItem, key)
|
|
14302
|
-
{
|
|
14303
|
-
self.RecvStockValue(recvData, jobItem, key,1);
|
|
14304
|
-
self.Execute.RunNextJob();
|
|
14305
|
-
},
|
|
14306
|
-
ErrorCallback:function(strError)
|
|
14307
|
-
{
|
|
14308
|
-
self.AddStockValueError(key,strError);
|
|
14309
|
-
}
|
|
14310
|
-
});
|
|
14311
|
-
|
|
14312
|
-
apiDownload.Download();
|
|
14313
|
-
}
|
|
14314
|
-
|
|
14315
14267
|
this.GetStockDataKey=function(jobItem, aryArgs)
|
|
14316
14268
|
{
|
|
14317
14269
|
var key=jobItem.FunctionName;
|
|
@@ -14329,55 +14281,6 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
14329
14281
|
return key;
|
|
14330
14282
|
}
|
|
14331
14283
|
|
|
14332
|
-
this.GetFinValue=function(jobItem)
|
|
14333
|
-
{
|
|
14334
|
-
var aryArgs=this.JobArgumentsToArray(jobItem, 1);
|
|
14335
|
-
var lID=aryArgs[0];
|
|
14336
|
-
var key=this.GetStockDataKey(jobItem,aryArgs);
|
|
14337
|
-
if (this.StockData.has(key)) return this.Execute.RunNextJob();
|
|
14338
|
-
var self=this;
|
|
14339
|
-
if (this.NetworkFilter)
|
|
14340
|
-
{
|
|
14341
|
-
var dateRange=this.Data.GetDateRange();
|
|
14342
|
-
var obj=
|
|
14343
|
-
{
|
|
14344
|
-
Name:'JSSymbolData::GetFinValue', //类名::
|
|
14345
|
-
Explain:'财务数据FINVALUE(ID)',
|
|
14346
|
-
JobID:jobItem.ID,
|
|
14347
|
-
Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ id:lID, symbol: this.Symbol, daterange:dateRange } },
|
|
14348
|
-
Self:this,
|
|
14349
|
-
PreventDefault:false
|
|
14350
|
-
};
|
|
14351
|
-
this.NetworkFilter(obj, function(recvData)
|
|
14352
|
-
{
|
|
14353
|
-
self.RecvStockValue(recvData,jobItem,key,0);
|
|
14354
|
-
self.Execute.RunNextJob();
|
|
14355
|
-
});
|
|
14356
|
-
|
|
14357
|
-
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
14358
|
-
}
|
|
14359
|
-
|
|
14360
|
-
var apiDownload=new DownloadFinValueData(
|
|
14361
|
-
{
|
|
14362
|
-
Job:jobItem,
|
|
14363
|
-
Symbol:this.Symbol,
|
|
14364
|
-
Url:this.StockHistoryDayApiUrl,
|
|
14365
|
-
Args:aryArgs,
|
|
14366
|
-
DataKey:key,
|
|
14367
|
-
Callback:function(recvData, jobItem, key)
|
|
14368
|
-
{
|
|
14369
|
-
self.RecvStockValue(recvData, jobItem, key,0);
|
|
14370
|
-
self.Execute.RunNextJob();
|
|
14371
|
-
},
|
|
14372
|
-
ErrorCallback:function(strError)
|
|
14373
|
-
{
|
|
14374
|
-
self.AddStockValueError(key,strError);
|
|
14375
|
-
}
|
|
14376
|
-
});
|
|
14377
|
-
|
|
14378
|
-
apiDownload.Download();
|
|
14379
|
-
}
|
|
14380
|
-
|
|
14381
14284
|
this.GetFinance=function(jobItem)
|
|
14382
14285
|
{
|
|
14383
14286
|
var aryArgs=this.JobArgumentsToArray(jobItem, 1);
|
|
@@ -16707,6 +16610,16 @@ var JS_ARRAY_PROFESSIONAL_FINANCE=
|
|
|
16707
16610
|
Name:"BKJYONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE,
|
|
16708
16611
|
Explain:"板块交易类数据BKJYONE(ID,N,Y,MMDD)", FuncName:"JSSymbolData::GetBKJYOne",ArgCount:4
|
|
16709
16612
|
},
|
|
16613
|
+
{
|
|
16614
|
+
Name:"FINVALUE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,
|
|
16615
|
+
Explain:"财务数据FINVALUE(ID)", FuncName:"JSSymbolData::GetFinValue",ArgCount:1
|
|
16616
|
+
},
|
|
16617
|
+
{
|
|
16618
|
+
Name:"FINONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,
|
|
16619
|
+
Explain:"财务数据FINONE(ID,Y,MMDD)", FuncName:"JSSymbolData::GetFinOne",ArgCount:3
|
|
16620
|
+
}
|
|
16621
|
+
|
|
16622
|
+
|
|
16710
16623
|
];
|
|
16711
16624
|
|
|
16712
16625
|
function JSExecute(ast,option)
|
|
@@ -16915,14 +16828,12 @@ function JSExecute(ast,option)
|
|
|
16915
16828
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF:
|
|
16916
16829
|
return this.SymbolData.GetSectionFinanceData(jobItem); //财务截面报告数据
|
|
16917
16830
|
|
|
16918
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
|
|
16919
|
-
return this.SymbolData.GetFinOne(jobItem);
|
|
16920
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
|
|
16921
|
-
return this.SymbolData.GetFinValue(jobItem);
|
|
16922
16831
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:
|
|
16923
16832
|
return this.SymbolData.GetFinance(jobItem);
|
|
16924
16833
|
|
|
16925
16834
|
//专业财务数据
|
|
16835
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
|
|
16836
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
|
|
16926
16837
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE:
|
|
16927
16838
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE:
|
|
16928
16839
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE:
|
|
@@ -25292,349 +25203,6 @@ ScriptIndexConsole.SetDomain = function (domain, cacheDomain) //修改API地
|
|
|
25292
25203
|
JSComplier.SetDomain(domain,cacheDomain);
|
|
25293
25204
|
}
|
|
25294
25205
|
|
|
25295
|
-
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
25296
|
-
//内置财务数据下载
|
|
25297
|
-
//
|
|
25298
|
-
function DownloadFinValueData(obj)
|
|
25299
|
-
{
|
|
25300
|
-
this.Url=obj.Url;
|
|
25301
|
-
this.Job=obj.Job;
|
|
25302
|
-
this.Symbol=obj.Symbol;
|
|
25303
|
-
this.Args=obj.Args;
|
|
25304
|
-
this.DataKey=obj.DataKey;
|
|
25305
|
-
this.RecvCallback=obj.Callback;
|
|
25306
|
-
this.ErrorCallback=obj.ErrorCallback;
|
|
25307
|
-
|
|
25308
|
-
this.Download=function()
|
|
25309
|
-
{
|
|
25310
|
-
var self=this;
|
|
25311
|
-
var fieldList=this.GetFieldList();
|
|
25312
|
-
if (!fieldList)
|
|
25313
|
-
{
|
|
25314
|
-
message=`${this.Job.FunctionName}(${this.Args[0]}) can't support.`;
|
|
25315
|
-
this.ErrorCallback(message);
|
|
25316
|
-
self.RecvCallback(null, self.Job, self.DataKey);
|
|
25317
|
-
return;
|
|
25318
|
-
}
|
|
25319
|
-
|
|
25320
|
-
//请求数据
|
|
25321
|
-
JSNetwork.HttpRequest({
|
|
25322
|
-
url: this.Url,
|
|
25323
|
-
data:
|
|
25324
|
-
{
|
|
25325
|
-
"field": fieldList,
|
|
25326
|
-
"symbol": [this.Symbol],
|
|
25327
|
-
"condition":[ {"item":["finance","doc","exists","true"]}] ,
|
|
25328
|
-
"start": 0,
|
|
25329
|
-
"end": 200
|
|
25330
|
-
},
|
|
25331
|
-
type:"post",
|
|
25332
|
-
dataType: "json",
|
|
25333
|
-
async:true,
|
|
25334
|
-
success: function (recvData)
|
|
25335
|
-
{
|
|
25336
|
-
var data=self.ToHQChartData(recvData);
|
|
25337
|
-
if (data) //排序
|
|
25338
|
-
data.sort(function (a, b) { return (a.Date - b.Date) });
|
|
25339
|
-
|
|
25340
|
-
self.RecvCallback(data, self.Job, self.DataKey);
|
|
25341
|
-
}
|
|
25342
|
-
});
|
|
25343
|
-
}
|
|
25344
|
-
|
|
25345
|
-
this.ToHQChartData=function(recvData)
|
|
25346
|
-
{
|
|
25347
|
-
if (!recvData.stock || recvData.stock.length!=1) return null;
|
|
25348
|
-
|
|
25349
|
-
var aryData=[];
|
|
25350
|
-
var setDate=new Set(); //有重复数据 去掉
|
|
25351
|
-
var stock=recvData.stock[0];
|
|
25352
|
-
for(var i in stock.stockday)
|
|
25353
|
-
{
|
|
25354
|
-
var item=stock.stockday[i];
|
|
25355
|
-
if (item.announcement1)
|
|
25356
|
-
{
|
|
25357
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement1, item.finance1, item);
|
|
25358
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
25359
|
-
{
|
|
25360
|
-
aryData.push(hqchartItem);
|
|
25361
|
-
setDate.add(hqchartItem.Date);
|
|
25362
|
-
}
|
|
25363
|
-
}
|
|
25364
|
-
|
|
25365
|
-
if (item.announcement2)
|
|
25366
|
-
{
|
|
25367
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement2, item.finance2, item);
|
|
25368
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
25369
|
-
{
|
|
25370
|
-
aryData.push(hqchartItem);
|
|
25371
|
-
setDate.add(hqchartItem.Date);
|
|
25372
|
-
}
|
|
25373
|
-
}
|
|
25374
|
-
|
|
25375
|
-
if (item.announcement3)
|
|
25376
|
-
{
|
|
25377
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement3, item.finance3, item);
|
|
25378
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
25379
|
-
{
|
|
25380
|
-
aryData.push(hqchartItem);
|
|
25381
|
-
setDate.add(hqchartItem.Date);
|
|
25382
|
-
}
|
|
25383
|
-
}
|
|
25384
|
-
|
|
25385
|
-
if (item.announcement4)
|
|
25386
|
-
{
|
|
25387
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement4, item.finance4, item);
|
|
25388
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
25389
|
-
{
|
|
25390
|
-
aryData.push(hqchartItem);
|
|
25391
|
-
setDate.add(hqchartItem.Date);
|
|
25392
|
-
}
|
|
25393
|
-
}
|
|
25394
|
-
}
|
|
25395
|
-
|
|
25396
|
-
return aryData;
|
|
25397
|
-
}
|
|
25398
|
-
|
|
25399
|
-
//{ Date:日期 , Value:数值 }
|
|
25400
|
-
this.ToHQChartItemData=function(announcement, finance, sourceItem)
|
|
25401
|
-
{
|
|
25402
|
-
var id=this.Args[0];
|
|
25403
|
-
var date=announcement.year*10000;
|
|
25404
|
-
var quarter=announcement.quarter;
|
|
25405
|
-
switch(quarter)
|
|
25406
|
-
{
|
|
25407
|
-
case 1:
|
|
25408
|
-
date+=331;
|
|
25409
|
-
break;
|
|
25410
|
-
case 2:
|
|
25411
|
-
date+=630;
|
|
25412
|
-
break;
|
|
25413
|
-
case 3:
|
|
25414
|
-
date+=930;
|
|
25415
|
-
break;
|
|
25416
|
-
case 4:
|
|
25417
|
-
date+=1231;
|
|
25418
|
-
break;
|
|
25419
|
-
default:
|
|
25420
|
-
return null;
|
|
25421
|
-
}
|
|
25422
|
-
|
|
25423
|
-
var result={ Date:date, Value:0 };
|
|
25424
|
-
switch(id)
|
|
25425
|
-
{
|
|
25426
|
-
case 0:
|
|
25427
|
-
result.Value=date%1000000; //0--返回报告期(YYMMDD格式),150930表示为2015年第三季
|
|
25428
|
-
break;
|
|
25429
|
-
case 1:
|
|
25430
|
-
result.Value=finance.persearning;
|
|
25431
|
-
break;
|
|
25432
|
-
case 3:
|
|
25433
|
-
result.Value=finance.peruprofit;
|
|
25434
|
-
break;
|
|
25435
|
-
case 4:
|
|
25436
|
-
result.Value=finance.pernetasset;
|
|
25437
|
-
break;
|
|
25438
|
-
case 5:
|
|
25439
|
-
result.Value=finance.percreserve;
|
|
25440
|
-
break;
|
|
25441
|
-
case 6:
|
|
25442
|
-
result.Value=finance.woewa;
|
|
25443
|
-
break;
|
|
25444
|
-
case 7:
|
|
25445
|
-
result.Value=finance.perccfo;
|
|
25446
|
-
break;
|
|
25447
|
-
case 8:
|
|
25448
|
-
result.Value=finance.monetaryfunds;
|
|
25449
|
-
break;
|
|
25450
|
-
case 11:
|
|
25451
|
-
result.Value=finance.areceivable;
|
|
25452
|
-
break;
|
|
25453
|
-
}
|
|
25454
|
-
|
|
25455
|
-
return result;
|
|
25456
|
-
}
|
|
25457
|
-
|
|
25458
|
-
this.GetFieldList=function()
|
|
25459
|
-
{
|
|
25460
|
-
var id=this.Args[0];
|
|
25461
|
-
switch(id)
|
|
25462
|
-
{
|
|
25463
|
-
case 0:
|
|
25464
|
-
return ["finance.date"];
|
|
25465
|
-
case 1: //persearning 每股收益
|
|
25466
|
-
return ["finance.persearning"];
|
|
25467
|
-
case 3: //peruprofit 每股未分配利润
|
|
25468
|
-
return ["finance.peruprofit"];
|
|
25469
|
-
case 4: //pernetasset 每股净资产
|
|
25470
|
-
return ["finance.pernetasset"];
|
|
25471
|
-
case 5: //percreserve 每股资本公积金
|
|
25472
|
-
return ["finance.percreserve"];
|
|
25473
|
-
case 6: //woewa 加权平均净资产收益
|
|
25474
|
-
return ["finance.woewa"];
|
|
25475
|
-
case 7: //perccfo 每股经营性现金流
|
|
25476
|
-
return ["finance.perccfo"];
|
|
25477
|
-
case 8: //monetaryfunds 货币资金
|
|
25478
|
-
return ["finance.monetaryfunds"];
|
|
25479
|
-
case 11: //areceivable 应收账款
|
|
25480
|
-
return ["finance.areceivable"];
|
|
25481
|
-
default:
|
|
25482
|
-
return null;
|
|
25483
|
-
}
|
|
25484
|
-
}
|
|
25485
|
-
}
|
|
25486
|
-
|
|
25487
|
-
/////////////////////////////////////////////////////////
|
|
25488
|
-
// 内置财务数据下载 某一期的数据
|
|
25489
|
-
//
|
|
25490
|
-
function DownloadFinOneData(obj)
|
|
25491
|
-
{
|
|
25492
|
-
this.newMethod=DownloadFinValueData; //派生
|
|
25493
|
-
this.newMethod(obj);
|
|
25494
|
-
delete this.newMethod;
|
|
25495
|
-
|
|
25496
|
-
this.Download=function()
|
|
25497
|
-
{
|
|
25498
|
-
var self=this;
|
|
25499
|
-
var fieldList=this.GetFieldList();
|
|
25500
|
-
if (!fieldList)
|
|
25501
|
-
{
|
|
25502
|
-
message=`${this.Job.FunctionName}(${this.Args[0]}, ${this.Args[1]}, ${this.Args[2]}) can't support.`;
|
|
25503
|
-
this.ErrorCallback(message);
|
|
25504
|
-
self.RecvCallback(null, self.Job, self.DataKey);
|
|
25505
|
-
return;
|
|
25506
|
-
}
|
|
25507
|
-
|
|
25508
|
-
var aryCondition=[ {"item":["finance","doc","exists","true"] } ];
|
|
25509
|
-
|
|
25510
|
-
var year=this.Args[1];
|
|
25511
|
-
var month=this.Args[2];
|
|
25512
|
-
var dataIndex=0;
|
|
25513
|
-
var dataEnd=3;
|
|
25514
|
-
var preYear=null;
|
|
25515
|
-
if (year==0 && month==0) //如果Y和MMDD都为0,表示最新的财报;
|
|
25516
|
-
{
|
|
25517
|
-
|
|
25518
|
-
}
|
|
25519
|
-
else if (year==0 && month<300) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
25520
|
-
{
|
|
25521
|
-
dataIndex=month;
|
|
25522
|
-
dataEnd=200;
|
|
25523
|
-
}
|
|
25524
|
-
else if (month==0 && year<1000) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
25525
|
-
{
|
|
25526
|
-
preYear=year;
|
|
25527
|
-
}
|
|
25528
|
-
else if (year>1909)
|
|
25529
|
-
{
|
|
25530
|
-
if (month==331)
|
|
25531
|
-
{
|
|
25532
|
-
aryCondition=
|
|
25533
|
-
[
|
|
25534
|
-
{"item":["announcement1.year","int32","eq",year]},
|
|
25535
|
-
{"item":["finance1","doc","exists","true"]}
|
|
25536
|
-
];
|
|
25537
|
-
|
|
25538
|
-
fieldList.push("announcement1.year");
|
|
25539
|
-
fieldList.push("announcement1.quarter");
|
|
25540
|
-
}
|
|
25541
|
-
else if (month==630)
|
|
25542
|
-
{
|
|
25543
|
-
aryCondition=
|
|
25544
|
-
[
|
|
25545
|
-
{"item":["announcement2.year","int32","eq",year]},
|
|
25546
|
-
{"item":["finance2","doc","exists","true"]}
|
|
25547
|
-
];
|
|
25548
|
-
|
|
25549
|
-
fieldList.push("announcement2.year");
|
|
25550
|
-
fieldList.push("announcement2.quarter");
|
|
25551
|
-
}
|
|
25552
|
-
else if (month==930)
|
|
25553
|
-
{
|
|
25554
|
-
aryCondition=
|
|
25555
|
-
[
|
|
25556
|
-
{"item":["announcement3.year","int32","eq",year]},
|
|
25557
|
-
{"item":["finance3","doc","exists","true"]}
|
|
25558
|
-
];
|
|
25559
|
-
|
|
25560
|
-
fieldList.push("announcement4.year");
|
|
25561
|
-
fieldList.push("announcement4.quarter");
|
|
25562
|
-
}
|
|
25563
|
-
else
|
|
25564
|
-
{
|
|
25565
|
-
aryCondition=
|
|
25566
|
-
[
|
|
25567
|
-
{"item":["announcement4.year","int32","eq",year]},
|
|
25568
|
-
{"item":["finance4","doc","exists","true"]}
|
|
25569
|
-
];
|
|
25570
|
-
|
|
25571
|
-
fieldList.push("announcement4.year");
|
|
25572
|
-
fieldList.push("announcement4.quarter");
|
|
25573
|
-
}
|
|
25574
|
-
}
|
|
25575
|
-
|
|
25576
|
-
//请求数据
|
|
25577
|
-
JSNetwork.HttpRequest({
|
|
25578
|
-
url: this.Url,
|
|
25579
|
-
data:
|
|
25580
|
-
{
|
|
25581
|
-
"field": fieldList,
|
|
25582
|
-
"symbol": [this.Symbol],
|
|
25583
|
-
"condition":aryCondition,
|
|
25584
|
-
"start": 0,
|
|
25585
|
-
"end": dataEnd
|
|
25586
|
-
},
|
|
25587
|
-
type:"post",
|
|
25588
|
-
dataType: "json",
|
|
25589
|
-
async:true,
|
|
25590
|
-
success: function (recvData)
|
|
25591
|
-
{
|
|
25592
|
-
var data=self.ToHQChartData(recvData);
|
|
25593
|
-
var result=null;
|
|
25594
|
-
if (data && data.length>0)
|
|
25595
|
-
{
|
|
25596
|
-
data.sort(function (a, b) { return (b.Date-a.Date) });
|
|
25597
|
-
if (preYear==null)
|
|
25598
|
-
result=data[dataIndex]; //返回一个数据
|
|
25599
|
-
else
|
|
25600
|
-
result=self.GetPreYearData(data, preYear);
|
|
25601
|
-
}
|
|
25602
|
-
self.RecvCallback(result, self.Job, self.DataKey);
|
|
25603
|
-
}
|
|
25604
|
-
});
|
|
25605
|
-
}
|
|
25606
|
-
|
|
25607
|
-
this.GetPreYearData=function(data, preYear)
|
|
25608
|
-
{
|
|
25609
|
-
//331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
25610
|
-
if (preYear==331 || preYear==630|| preYear==930 || preYear==1231)
|
|
25611
|
-
{
|
|
25612
|
-
for(var i in data)
|
|
25613
|
-
{
|
|
25614
|
-
var item=data[i];
|
|
25615
|
-
if (item.Date%10000==preYear) return item;
|
|
25616
|
-
}
|
|
25617
|
-
}
|
|
25618
|
-
else
|
|
25619
|
-
{
|
|
25620
|
-
//如果MMDD为0,Y为一数字,表示最近一期向前推Y年的同期数据;
|
|
25621
|
-
var month=data[0].Date%1000;
|
|
25622
|
-
for(var i=1, j=0; i<data.length ;++i)
|
|
25623
|
-
{
|
|
25624
|
-
var item=data[i];
|
|
25625
|
-
if (item.Date%10000==month)
|
|
25626
|
-
{
|
|
25627
|
-
++j;
|
|
25628
|
-
if (j==preYear) return item;
|
|
25629
|
-
}
|
|
25630
|
-
}
|
|
25631
|
-
|
|
25632
|
-
return null;
|
|
25633
|
-
}
|
|
25634
|
-
}
|
|
25635
|
-
}
|
|
25636
|
-
|
|
25637
|
-
|
|
25638
25206
|
function DownloadFinanceData(obj)
|
|
25639
25207
|
{
|
|
25640
25208
|
this.Url=obj.Url;
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -44016,6 +44016,17 @@ function RectSelectPaint()
|
|
|
44016
44016
|
this.AreaColor=g_JSChartResource.RectSelect.AreaColor; //面积
|
|
44017
44017
|
this.SubAreaColor=g_JSChartResource.RectSelect.SubAreaColor;
|
|
44018
44018
|
|
|
44019
|
+
//标记图标
|
|
44020
|
+
this.MarkConfig=
|
|
44021
|
+
{
|
|
44022
|
+
Family:g_JSChartResource.RectSelect.Mark.Family,
|
|
44023
|
+
Text:g_JSChartResource.RectSelect.Mark.Text,
|
|
44024
|
+
Color:g_JSChartResource.RectSelect.Mark.Color,
|
|
44025
|
+
Size:g_JSChartResource.RectSelect.Mark.Size,
|
|
44026
|
+
IsShow:false,
|
|
44027
|
+
Position: { Index:g_JSChartResource.RectSelect.Mark.Position.Index, Top:g_JSChartResource.RectSelect.Mark.Position.Top }
|
|
44028
|
+
}
|
|
44029
|
+
|
|
44019
44030
|
this.FirstPoint;
|
|
44020
44031
|
this.SecondPoint;
|
|
44021
44032
|
this.CenterPoint;
|
|
@@ -44063,6 +44074,17 @@ function RectSelectPaint()
|
|
|
44063
44074
|
if (IFrameSplitOperator.IsNumber(item.Position)) this.ShowRangeText.Position=item.Position;
|
|
44064
44075
|
if (IFrameSplitOperator.IsNumber(item.SubPosition)) this.ShowRangeText.SubPosition=item.SubPosition;
|
|
44065
44076
|
}
|
|
44077
|
+
|
|
44078
|
+
if (option.Mark)
|
|
44079
|
+
{
|
|
44080
|
+
var item=option.Mark;
|
|
44081
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) this.MarkConfig.IsShow=item.IsShow;
|
|
44082
|
+
if (item.Position)
|
|
44083
|
+
{
|
|
44084
|
+
if (IFrameSplitOperator.IsNumber(item.Position.Index)) this.MarkConfig.Position.Index=item.Position.Index;
|
|
44085
|
+
if (item.Position.Top) this.MarkConfig.Position.Top=item.Position.Top;
|
|
44086
|
+
}
|
|
44087
|
+
}
|
|
44066
44088
|
}
|
|
44067
44089
|
}
|
|
44068
44090
|
|
|
@@ -44535,6 +44557,7 @@ function RectSelectPaint()
|
|
|
44535
44557
|
|
|
44536
44558
|
this.DrawLines(aryLines);
|
|
44537
44559
|
this.DrawArea(startPoint, endPoint, startDate, startEnd, this.AreaColor);
|
|
44560
|
+
this.DrawMark(startPoint, endPoint);
|
|
44538
44561
|
|
|
44539
44562
|
if (this.SubClient && this.SubClient.Start && this.SubClient.End)
|
|
44540
44563
|
{
|
|
@@ -44768,6 +44791,45 @@ function RectSelectPaint()
|
|
|
44768
44791
|
if (IFrameSplitOperator.IsNumber(type)) this.DragRect.push( {Rect:rtArea, Type:type} );
|
|
44769
44792
|
}
|
|
44770
44793
|
}
|
|
44794
|
+
|
|
44795
|
+
this.DrawMark=function(startPoint,endPoint)
|
|
44796
|
+
{
|
|
44797
|
+
if (!startPoint ||!endPoint) return;
|
|
44798
|
+
|
|
44799
|
+
if (!this.ChartFrame || !this.ChartFrame.SubFrame) return;
|
|
44800
|
+
var subFrame=this.ChartFrame.SubFrame[0].Frame;
|
|
44801
|
+
if (!subFrame) return;
|
|
44802
|
+
|
|
44803
|
+
if (!this.MarkConfig) return;
|
|
44804
|
+
var config=this.MarkConfig;
|
|
44805
|
+
if (!config.IsShow) return;
|
|
44806
|
+
|
|
44807
|
+
var font=`${config.Size}px ${config.Family}`;
|
|
44808
|
+
this.Canvas.font=font;
|
|
44809
|
+
var top=null;
|
|
44810
|
+
switch(config.Position.Top)
|
|
44811
|
+
{
|
|
44812
|
+
case "TopEx":
|
|
44813
|
+
top=subFrame.ChartBorder.GetTopEx();
|
|
44814
|
+
break;
|
|
44815
|
+
case "Top":
|
|
44816
|
+
top=subFrame.ChartBorder.GetTop();
|
|
44817
|
+
break;
|
|
44818
|
+
case "TopTitle":
|
|
44819
|
+
top=subFrame.ChartBorder.GetTopTitle();
|
|
44820
|
+
break;
|
|
44821
|
+
default:
|
|
44822
|
+
return;
|
|
44823
|
+
}
|
|
44824
|
+
|
|
44825
|
+
var xText=startPoint.X;
|
|
44826
|
+
var yText=top;
|
|
44827
|
+
|
|
44828
|
+
this.Canvas.textAlign="center";
|
|
44829
|
+
this.Canvas.textBaseline="bottom";
|
|
44830
|
+
this.Canvas.fillStyle=config.Color;
|
|
44831
|
+
this.Canvas.fillText(config.Text,xText,yText);
|
|
44832
|
+
}
|
|
44771
44833
|
}
|
|
44772
44834
|
|
|
44773
44835
|
//鼠标拖动选中区域
|
|
@@ -68896,6 +68958,8 @@ function JSChartResource()
|
|
|
68896
68958
|
RangeTextSubColor:"rgb(255,255,255)",
|
|
68897
68959
|
RangeTextSubFont:12*GetDevicePixelRatio() +"px 微软雅黑",
|
|
68898
68960
|
RangeTextSubBGColor:'rgb(54,54,54)',
|
|
68961
|
+
|
|
68962
|
+
Mark:{ Family:'iconfont', Text:'\ue695' , Color:'rgb(250,0,0)', Size:15*GetDevicePixelRatio(), Position:{ Index:0, Top:"TopEx" } }
|
|
68899
68963
|
}
|
|
68900
68964
|
|
|
68901
68965
|
//选中图形
|
|
@@ -69752,6 +69816,20 @@ function JSChartResource()
|
|
|
69752
69816
|
if (item.RangeTextSubColor) this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;
|
|
69753
69817
|
if (item.RangeTextSubFont) this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;
|
|
69754
69818
|
if (item.RangeTextSubBGColor) this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;
|
|
69819
|
+
|
|
69820
|
+
if (item.Mark)
|
|
69821
|
+
{
|
|
69822
|
+
var subItem=item.Mark;
|
|
69823
|
+
if (subItem.Family) this.RectSelect.Mark.Family=subItem.Family;
|
|
69824
|
+
if (subItem.Text) this.RectSelect.Mark.Text=subItem.Text;
|
|
69825
|
+
if (subItem.Color) this.RectSelect.Mark.Color=subItem.Color;
|
|
69826
|
+
if (IFrameSplitOperator.IsNumber(subItem.Size)) this.RectSelect.Mark.Size=subItem.Size;
|
|
69827
|
+
if (subItem.Position)
|
|
69828
|
+
{
|
|
69829
|
+
if (subItem.Position.Top) this.RectSelect.Mark.Position.Top=subItem.Position.Top;
|
|
69830
|
+
if (IFrameSplitOperator.IsNumber(subItem.Position.Index)) this.RectSelect.Mark.Position.Index=subItem.Position.Index;
|
|
69831
|
+
}
|
|
69832
|
+
}
|
|
69755
69833
|
}
|
|
69756
69834
|
|
|
69757
69835
|
if (style.RectDrag)
|
|
@@ -72327,6 +72405,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
72327
72405
|
if (!this.PopMinuteChart) return;
|
|
72328
72406
|
if (!data.Tooltip || !data.Chart) return;
|
|
72329
72407
|
|
|
72408
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
72330
72409
|
var rtClient=this.UIElement.getBoundingClientRect();
|
|
72331
72410
|
var rtScroll=GetScrollPosition();
|
|
72332
72411
|
|
|
@@ -72336,7 +72415,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
72336
72415
|
var date=data.Tooltip.Data.Date;
|
|
72337
72416
|
var symbol=data.Chart.Symbol;
|
|
72338
72417
|
|
|
72339
|
-
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x,y);
|
|
72418
|
+
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x/pixelRatio,y/pixelRatio);
|
|
72340
72419
|
}
|
|
72341
72420
|
|
|
72342
72421
|
|