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
|
@@ -48814,6 +48814,12 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
48814
48814
|
case "JSSymbolData::GetBKJYOne":
|
|
48815
48815
|
HQData.BKJYOne_RequestData(data,callback);
|
|
48816
48816
|
break;
|
|
48817
|
+
case "JSSymbolData::GetFinValue":
|
|
48818
|
+
HQData.FinValue_RequestData(data,callback);
|
|
48819
|
+
break;
|
|
48820
|
+
case "JSSymbolData::GetFinOne":
|
|
48821
|
+
HQData.FinOne_RequestData(data,callback);
|
|
48822
|
+
break;
|
|
48817
48823
|
|
|
48818
48824
|
//////////////////////////////////////////////////////
|
|
48819
48825
|
//报价列表数据
|
|
@@ -49570,6 +49576,39 @@ HQData.BKJYOne_RequestData=function(data,callback)
|
|
|
49570
49576
|
callback({ Date:20230509, Value:value});
|
|
49571
49577
|
}
|
|
49572
49578
|
|
|
49579
|
+
HQData.FinValue_RequestData=function(data,callback)
|
|
49580
|
+
{
|
|
49581
|
+
data.PreventDefault=true;
|
|
49582
|
+
var symbol=data.Request.Data.symbol;
|
|
49583
|
+
var id=data.Request.Data.Args[0];
|
|
49584
|
+
|
|
49585
|
+
var aryData=[];
|
|
49586
|
+
var kData=data.Self.Data;
|
|
49587
|
+
for(var i=0;i<kData.Data.length;++i)
|
|
49588
|
+
{
|
|
49589
|
+
var kItem=kData.Data[i];
|
|
49590
|
+
if (i%60==21)
|
|
49591
|
+
{
|
|
49592
|
+
var value=HQData.GetRandomTestData(10,20)
|
|
49593
|
+
aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
|
|
49594
|
+
}
|
|
49595
|
+
}
|
|
49596
|
+
|
|
49597
|
+
callback(aryData);
|
|
49598
|
+
}
|
|
49599
|
+
|
|
49600
|
+
HQData.FinOne_RequestData=function(data,callback)
|
|
49601
|
+
{
|
|
49602
|
+
data.PreventDefault=true;
|
|
49603
|
+
var symbol=data.Request.Data.symbol;
|
|
49604
|
+
var id=data.Request.Data.Args[0];
|
|
49605
|
+
var year=data.Request.Data.Args[1];
|
|
49606
|
+
var day=data.Request.Data.Args[2];
|
|
49607
|
+
|
|
49608
|
+
var value=HQData.GetRandomTestData(80,90);
|
|
49609
|
+
callback({ Date:20230509, Value:value});
|
|
49610
|
+
}
|
|
49611
|
+
|
|
49573
49612
|
|
|
49574
49613
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
49575
49614
|
// 报价列表
|
|
@@ -47985,6 +47985,17 @@ function RectSelectPaint()
|
|
|
47985
47985
|
this.AreaColor=g_JSChartResource.RectSelect.AreaColor; //面积
|
|
47986
47986
|
this.SubAreaColor=g_JSChartResource.RectSelect.SubAreaColor;
|
|
47987
47987
|
|
|
47988
|
+
//标记图标
|
|
47989
|
+
this.MarkConfig=
|
|
47990
|
+
{
|
|
47991
|
+
Family:g_JSChartResource.RectSelect.Mark.Family,
|
|
47992
|
+
Text:g_JSChartResource.RectSelect.Mark.Text,
|
|
47993
|
+
Color:g_JSChartResource.RectSelect.Mark.Color,
|
|
47994
|
+
Size:g_JSChartResource.RectSelect.Mark.Size,
|
|
47995
|
+
IsShow:false,
|
|
47996
|
+
Position: { Index:g_JSChartResource.RectSelect.Mark.Position.Index, Top:g_JSChartResource.RectSelect.Mark.Position.Top }
|
|
47997
|
+
}
|
|
47998
|
+
|
|
47988
47999
|
this.FirstPoint;
|
|
47989
48000
|
this.SecondPoint;
|
|
47990
48001
|
this.CenterPoint;
|
|
@@ -48032,6 +48043,17 @@ function RectSelectPaint()
|
|
|
48032
48043
|
if (IFrameSplitOperator.IsNumber(item.Position)) this.ShowRangeText.Position=item.Position;
|
|
48033
48044
|
if (IFrameSplitOperator.IsNumber(item.SubPosition)) this.ShowRangeText.SubPosition=item.SubPosition;
|
|
48034
48045
|
}
|
|
48046
|
+
|
|
48047
|
+
if (option.Mark)
|
|
48048
|
+
{
|
|
48049
|
+
var item=option.Mark;
|
|
48050
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) this.MarkConfig.IsShow=item.IsShow;
|
|
48051
|
+
if (item.Position)
|
|
48052
|
+
{
|
|
48053
|
+
if (IFrameSplitOperator.IsNumber(item.Position.Index)) this.MarkConfig.Position.Index=item.Position.Index;
|
|
48054
|
+
if (item.Position.Top) this.MarkConfig.Position.Top=item.Position.Top;
|
|
48055
|
+
}
|
|
48056
|
+
}
|
|
48035
48057
|
}
|
|
48036
48058
|
}
|
|
48037
48059
|
|
|
@@ -48504,6 +48526,7 @@ function RectSelectPaint()
|
|
|
48504
48526
|
|
|
48505
48527
|
this.DrawLines(aryLines);
|
|
48506
48528
|
this.DrawArea(startPoint, endPoint, startDate, startEnd, this.AreaColor);
|
|
48529
|
+
this.DrawMark(startPoint, endPoint);
|
|
48507
48530
|
|
|
48508
48531
|
if (this.SubClient && this.SubClient.Start && this.SubClient.End)
|
|
48509
48532
|
{
|
|
@@ -48737,6 +48760,45 @@ function RectSelectPaint()
|
|
|
48737
48760
|
if (IFrameSplitOperator.IsNumber(type)) this.DragRect.push( {Rect:rtArea, Type:type} );
|
|
48738
48761
|
}
|
|
48739
48762
|
}
|
|
48763
|
+
|
|
48764
|
+
this.DrawMark=function(startPoint,endPoint)
|
|
48765
|
+
{
|
|
48766
|
+
if (!startPoint ||!endPoint) return;
|
|
48767
|
+
|
|
48768
|
+
if (!this.ChartFrame || !this.ChartFrame.SubFrame) return;
|
|
48769
|
+
var subFrame=this.ChartFrame.SubFrame[0].Frame;
|
|
48770
|
+
if (!subFrame) return;
|
|
48771
|
+
|
|
48772
|
+
if (!this.MarkConfig) return;
|
|
48773
|
+
var config=this.MarkConfig;
|
|
48774
|
+
if (!config.IsShow) return;
|
|
48775
|
+
|
|
48776
|
+
var font=`${config.Size}px ${config.Family}`;
|
|
48777
|
+
this.Canvas.font=font;
|
|
48778
|
+
var top=null;
|
|
48779
|
+
switch(config.Position.Top)
|
|
48780
|
+
{
|
|
48781
|
+
case "TopEx":
|
|
48782
|
+
top=subFrame.ChartBorder.GetTopEx();
|
|
48783
|
+
break;
|
|
48784
|
+
case "Top":
|
|
48785
|
+
top=subFrame.ChartBorder.GetTop();
|
|
48786
|
+
break;
|
|
48787
|
+
case "TopTitle":
|
|
48788
|
+
top=subFrame.ChartBorder.GetTopTitle();
|
|
48789
|
+
break;
|
|
48790
|
+
default:
|
|
48791
|
+
return;
|
|
48792
|
+
}
|
|
48793
|
+
|
|
48794
|
+
var xText=startPoint.X;
|
|
48795
|
+
var yText=top;
|
|
48796
|
+
|
|
48797
|
+
this.Canvas.textAlign="center";
|
|
48798
|
+
this.Canvas.textBaseline="bottom";
|
|
48799
|
+
this.Canvas.fillStyle=config.Color;
|
|
48800
|
+
this.Canvas.fillText(config.Text,xText,yText);
|
|
48801
|
+
}
|
|
48740
48802
|
}
|
|
48741
48803
|
|
|
48742
48804
|
//鼠标拖动选中区域
|
|
@@ -72865,6 +72927,8 @@ function JSChartResource()
|
|
|
72865
72927
|
RangeTextSubColor:"rgb(255,255,255)",
|
|
72866
72928
|
RangeTextSubFont:12*GetDevicePixelRatio() +"px 微软雅黑",
|
|
72867
72929
|
RangeTextSubBGColor:'rgb(54,54,54)',
|
|
72930
|
+
|
|
72931
|
+
Mark:{ Family:'iconfont', Text:'\ue695' , Color:'rgb(250,0,0)', Size:15*GetDevicePixelRatio(), Position:{ Index:0, Top:"TopEx" } }
|
|
72868
72932
|
}
|
|
72869
72933
|
|
|
72870
72934
|
//选中图形
|
|
@@ -73721,6 +73785,20 @@ function JSChartResource()
|
|
|
73721
73785
|
if (item.RangeTextSubColor) this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;
|
|
73722
73786
|
if (item.RangeTextSubFont) this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;
|
|
73723
73787
|
if (item.RangeTextSubBGColor) this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;
|
|
73788
|
+
|
|
73789
|
+
if (item.Mark)
|
|
73790
|
+
{
|
|
73791
|
+
var subItem=item.Mark;
|
|
73792
|
+
if (subItem.Family) this.RectSelect.Mark.Family=subItem.Family;
|
|
73793
|
+
if (subItem.Text) this.RectSelect.Mark.Text=subItem.Text;
|
|
73794
|
+
if (subItem.Color) this.RectSelect.Mark.Color=subItem.Color;
|
|
73795
|
+
if (IFrameSplitOperator.IsNumber(subItem.Size)) this.RectSelect.Mark.Size=subItem.Size;
|
|
73796
|
+
if (subItem.Position)
|
|
73797
|
+
{
|
|
73798
|
+
if (subItem.Position.Top) this.RectSelect.Mark.Position.Top=subItem.Position.Top;
|
|
73799
|
+
if (IFrameSplitOperator.IsNumber(subItem.Position.Index)) this.RectSelect.Mark.Position.Index=subItem.Position.Index;
|
|
73800
|
+
}
|
|
73801
|
+
}
|
|
73724
73802
|
}
|
|
73725
73803
|
|
|
73726
73804
|
if (style.RectDrag)
|
|
@@ -76296,6 +76374,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76296
76374
|
if (!this.PopMinuteChart) return;
|
|
76297
76375
|
if (!data.Tooltip || !data.Chart) return;
|
|
76298
76376
|
|
|
76377
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
76299
76378
|
var rtClient=this.UIElement.getBoundingClientRect();
|
|
76300
76379
|
var rtScroll=GetScrollPosition();
|
|
76301
76380
|
|
|
@@ -76305,7 +76384,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76305
76384
|
var date=data.Tooltip.Data.Date;
|
|
76306
76385
|
var symbol=data.Chart.Symbol;
|
|
76307
76386
|
|
|
76308
|
-
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x,y);
|
|
76387
|
+
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x/pixelRatio,y/pixelRatio);
|
|
76309
76388
|
}
|
|
76310
76389
|
|
|
76311
76390
|
|
|
@@ -113021,54 +113100,6 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
113021
113100
|
return financeData.get(id);
|
|
113022
113101
|
}
|
|
113023
113102
|
|
|
113024
|
-
this.GetFinOne=function(jobItem)
|
|
113025
|
-
{
|
|
113026
|
-
var aryArgs=this.JobArgumentsToArray(jobItem, 3);
|
|
113027
|
-
var key=this.GetStockDataKey(jobItem,aryArgs);
|
|
113028
|
-
if (this.StockData.has(key)) return this.Execute.RunNextJob();
|
|
113029
|
-
var self=this;
|
|
113030
|
-
if (this.NetworkFilter)
|
|
113031
|
-
{
|
|
113032
|
-
var dateRange=this.Data.GetDateRange();
|
|
113033
|
-
var obj=
|
|
113034
|
-
{
|
|
113035
|
-
Name:'JSSymbolData::GetFinOne', //类名::
|
|
113036
|
-
Explain:'财务数据FINONE(ID,Y,MMDD)',
|
|
113037
|
-
JobID:jobItem.ID,
|
|
113038
|
-
Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ Args:aryArgs, symbol: this.Symbol, daterange:dateRange } },
|
|
113039
|
-
Self:this,
|
|
113040
|
-
PreventDefault:false
|
|
113041
|
-
};
|
|
113042
|
-
this.NetworkFilter(obj, function(recvData)
|
|
113043
|
-
{
|
|
113044
|
-
self.RecvStockValue(recvData,jobItem,key,1);
|
|
113045
|
-
self.Execute.RunNextJob();
|
|
113046
|
-
});
|
|
113047
|
-
|
|
113048
|
-
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
113049
|
-
}
|
|
113050
|
-
|
|
113051
|
-
var apiDownload=new DownloadFinOneData(
|
|
113052
|
-
{
|
|
113053
|
-
Job:jobItem,
|
|
113054
|
-
Symbol:this.Symbol,
|
|
113055
|
-
Url:this.StockHistoryDayApiUrl,
|
|
113056
|
-
Args:aryArgs,
|
|
113057
|
-
DataKey:key,
|
|
113058
|
-
Callback:function(recvData, jobItem, key)
|
|
113059
|
-
{
|
|
113060
|
-
self.RecvStockValue(recvData, jobItem, key,1);
|
|
113061
|
-
self.Execute.RunNextJob();
|
|
113062
|
-
},
|
|
113063
|
-
ErrorCallback:function(strError)
|
|
113064
|
-
{
|
|
113065
|
-
self.AddStockValueError(key,strError);
|
|
113066
|
-
}
|
|
113067
|
-
});
|
|
113068
|
-
|
|
113069
|
-
apiDownload.Download();
|
|
113070
|
-
}
|
|
113071
|
-
|
|
113072
113103
|
this.GetStockDataKey=function(jobItem, aryArgs)
|
|
113073
113104
|
{
|
|
113074
113105
|
var key=jobItem.FunctionName;
|
|
@@ -113086,55 +113117,6 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
113086
113117
|
return key;
|
|
113087
113118
|
}
|
|
113088
113119
|
|
|
113089
|
-
this.GetFinValue=function(jobItem)
|
|
113090
|
-
{
|
|
113091
|
-
var aryArgs=this.JobArgumentsToArray(jobItem, 1);
|
|
113092
|
-
var lID=aryArgs[0];
|
|
113093
|
-
var key=this.GetStockDataKey(jobItem,aryArgs);
|
|
113094
|
-
if (this.StockData.has(key)) return this.Execute.RunNextJob();
|
|
113095
|
-
var self=this;
|
|
113096
|
-
if (this.NetworkFilter)
|
|
113097
|
-
{
|
|
113098
|
-
var dateRange=this.Data.GetDateRange();
|
|
113099
|
-
var obj=
|
|
113100
|
-
{
|
|
113101
|
-
Name:'JSSymbolData::GetFinValue', //类名::
|
|
113102
|
-
Explain:'财务数据FINVALUE(ID)',
|
|
113103
|
-
JobID:jobItem.ID,
|
|
113104
|
-
Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ id:lID, symbol: this.Symbol, daterange:dateRange } },
|
|
113105
|
-
Self:this,
|
|
113106
|
-
PreventDefault:false
|
|
113107
|
-
};
|
|
113108
|
-
this.NetworkFilter(obj, function(recvData)
|
|
113109
|
-
{
|
|
113110
|
-
self.RecvStockValue(recvData,jobItem,key,0);
|
|
113111
|
-
self.Execute.RunNextJob();
|
|
113112
|
-
});
|
|
113113
|
-
|
|
113114
|
-
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
113115
|
-
}
|
|
113116
|
-
|
|
113117
|
-
var apiDownload=new DownloadFinValueData(
|
|
113118
|
-
{
|
|
113119
|
-
Job:jobItem,
|
|
113120
|
-
Symbol:this.Symbol,
|
|
113121
|
-
Url:this.StockHistoryDayApiUrl,
|
|
113122
|
-
Args:aryArgs,
|
|
113123
|
-
DataKey:key,
|
|
113124
|
-
Callback:function(recvData, jobItem, key)
|
|
113125
|
-
{
|
|
113126
|
-
self.RecvStockValue(recvData, jobItem, key,0);
|
|
113127
|
-
self.Execute.RunNextJob();
|
|
113128
|
-
},
|
|
113129
|
-
ErrorCallback:function(strError)
|
|
113130
|
-
{
|
|
113131
|
-
self.AddStockValueError(key,strError);
|
|
113132
|
-
}
|
|
113133
|
-
});
|
|
113134
|
-
|
|
113135
|
-
apiDownload.Download();
|
|
113136
|
-
}
|
|
113137
|
-
|
|
113138
113120
|
this.GetFinance=function(jobItem)
|
|
113139
113121
|
{
|
|
113140
113122
|
var aryArgs=this.JobArgumentsToArray(jobItem, 1);
|
|
@@ -115464,6 +115446,16 @@ var JS_ARRAY_PROFESSIONAL_FINANCE=
|
|
|
115464
115446
|
Name:"BKJYONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE,
|
|
115465
115447
|
Explain:"板块交易类数据BKJYONE(ID,N,Y,MMDD)", FuncName:"JSSymbolData::GetBKJYOne",ArgCount:4
|
|
115466
115448
|
},
|
|
115449
|
+
{
|
|
115450
|
+
Name:"FINVALUE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,
|
|
115451
|
+
Explain:"财务数据FINVALUE(ID)", FuncName:"JSSymbolData::GetFinValue",ArgCount:1
|
|
115452
|
+
},
|
|
115453
|
+
{
|
|
115454
|
+
Name:"FINONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,
|
|
115455
|
+
Explain:"财务数据FINONE(ID,Y,MMDD)", FuncName:"JSSymbolData::GetFinOne",ArgCount:3
|
|
115456
|
+
}
|
|
115457
|
+
|
|
115458
|
+
|
|
115467
115459
|
];
|
|
115468
115460
|
|
|
115469
115461
|
function JSExecute(ast,option)
|
|
@@ -115672,14 +115664,12 @@ function JSExecute(ast,option)
|
|
|
115672
115664
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF:
|
|
115673
115665
|
return this.SymbolData.GetSectionFinanceData(jobItem); //财务截面报告数据
|
|
115674
115666
|
|
|
115675
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
|
|
115676
|
-
return this.SymbolData.GetFinOne(jobItem);
|
|
115677
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
|
|
115678
|
-
return this.SymbolData.GetFinValue(jobItem);
|
|
115679
115667
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:
|
|
115680
115668
|
return this.SymbolData.GetFinance(jobItem);
|
|
115681
115669
|
|
|
115682
115670
|
//专业财务数据
|
|
115671
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
|
|
115672
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
|
|
115683
115673
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE:
|
|
115684
115674
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE:
|
|
115685
115675
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE:
|
|
@@ -124049,349 +124039,6 @@ ScriptIndexConsole.SetDomain = function (domain, cacheDomain) //修改API地
|
|
|
124049
124039
|
JSComplier.SetDomain(domain,cacheDomain);
|
|
124050
124040
|
}
|
|
124051
124041
|
|
|
124052
|
-
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
124053
|
-
//内置财务数据下载
|
|
124054
|
-
//
|
|
124055
|
-
function DownloadFinValueData(obj)
|
|
124056
|
-
{
|
|
124057
|
-
this.Url=obj.Url;
|
|
124058
|
-
this.Job=obj.Job;
|
|
124059
|
-
this.Symbol=obj.Symbol;
|
|
124060
|
-
this.Args=obj.Args;
|
|
124061
|
-
this.DataKey=obj.DataKey;
|
|
124062
|
-
this.RecvCallback=obj.Callback;
|
|
124063
|
-
this.ErrorCallback=obj.ErrorCallback;
|
|
124064
|
-
|
|
124065
|
-
this.Download=function()
|
|
124066
|
-
{
|
|
124067
|
-
var self=this;
|
|
124068
|
-
var fieldList=this.GetFieldList();
|
|
124069
|
-
if (!fieldList)
|
|
124070
|
-
{
|
|
124071
|
-
message=`${this.Job.FunctionName}(${this.Args[0]}) can't support.`;
|
|
124072
|
-
this.ErrorCallback(message);
|
|
124073
|
-
self.RecvCallback(null, self.Job, self.DataKey);
|
|
124074
|
-
return;
|
|
124075
|
-
}
|
|
124076
|
-
|
|
124077
|
-
//请求数据
|
|
124078
|
-
JSNetwork.HttpRequest({
|
|
124079
|
-
url: this.Url,
|
|
124080
|
-
data:
|
|
124081
|
-
{
|
|
124082
|
-
"field": fieldList,
|
|
124083
|
-
"symbol": [this.Symbol],
|
|
124084
|
-
"condition":[ {"item":["finance","doc","exists","true"]}] ,
|
|
124085
|
-
"start": 0,
|
|
124086
|
-
"end": 200
|
|
124087
|
-
},
|
|
124088
|
-
type:"post",
|
|
124089
|
-
dataType: "json",
|
|
124090
|
-
async:true,
|
|
124091
|
-
success: function (recvData)
|
|
124092
|
-
{
|
|
124093
|
-
var data=self.ToHQChartData(recvData);
|
|
124094
|
-
if (data) //排序
|
|
124095
|
-
data.sort(function (a, b) { return (a.Date - b.Date) });
|
|
124096
|
-
|
|
124097
|
-
self.RecvCallback(data, self.Job, self.DataKey);
|
|
124098
|
-
}
|
|
124099
|
-
});
|
|
124100
|
-
}
|
|
124101
|
-
|
|
124102
|
-
this.ToHQChartData=function(recvData)
|
|
124103
|
-
{
|
|
124104
|
-
if (!recvData.stock || recvData.stock.length!=1) return null;
|
|
124105
|
-
|
|
124106
|
-
var aryData=[];
|
|
124107
|
-
var setDate=new Set(); //有重复数据 去掉
|
|
124108
|
-
var stock=recvData.stock[0];
|
|
124109
|
-
for(var i in stock.stockday)
|
|
124110
|
-
{
|
|
124111
|
-
var item=stock.stockday[i];
|
|
124112
|
-
if (item.announcement1)
|
|
124113
|
-
{
|
|
124114
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement1, item.finance1, item);
|
|
124115
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124116
|
-
{
|
|
124117
|
-
aryData.push(hqchartItem);
|
|
124118
|
-
setDate.add(hqchartItem.Date);
|
|
124119
|
-
}
|
|
124120
|
-
}
|
|
124121
|
-
|
|
124122
|
-
if (item.announcement2)
|
|
124123
|
-
{
|
|
124124
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement2, item.finance2, item);
|
|
124125
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124126
|
-
{
|
|
124127
|
-
aryData.push(hqchartItem);
|
|
124128
|
-
setDate.add(hqchartItem.Date);
|
|
124129
|
-
}
|
|
124130
|
-
}
|
|
124131
|
-
|
|
124132
|
-
if (item.announcement3)
|
|
124133
|
-
{
|
|
124134
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement3, item.finance3, item);
|
|
124135
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124136
|
-
{
|
|
124137
|
-
aryData.push(hqchartItem);
|
|
124138
|
-
setDate.add(hqchartItem.Date);
|
|
124139
|
-
}
|
|
124140
|
-
}
|
|
124141
|
-
|
|
124142
|
-
if (item.announcement4)
|
|
124143
|
-
{
|
|
124144
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement4, item.finance4, item);
|
|
124145
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124146
|
-
{
|
|
124147
|
-
aryData.push(hqchartItem);
|
|
124148
|
-
setDate.add(hqchartItem.Date);
|
|
124149
|
-
}
|
|
124150
|
-
}
|
|
124151
|
-
}
|
|
124152
|
-
|
|
124153
|
-
return aryData;
|
|
124154
|
-
}
|
|
124155
|
-
|
|
124156
|
-
//{ Date:日期 , Value:数值 }
|
|
124157
|
-
this.ToHQChartItemData=function(announcement, finance, sourceItem)
|
|
124158
|
-
{
|
|
124159
|
-
var id=this.Args[0];
|
|
124160
|
-
var date=announcement.year*10000;
|
|
124161
|
-
var quarter=announcement.quarter;
|
|
124162
|
-
switch(quarter)
|
|
124163
|
-
{
|
|
124164
|
-
case 1:
|
|
124165
|
-
date+=331;
|
|
124166
|
-
break;
|
|
124167
|
-
case 2:
|
|
124168
|
-
date+=630;
|
|
124169
|
-
break;
|
|
124170
|
-
case 3:
|
|
124171
|
-
date+=930;
|
|
124172
|
-
break;
|
|
124173
|
-
case 4:
|
|
124174
|
-
date+=1231;
|
|
124175
|
-
break;
|
|
124176
|
-
default:
|
|
124177
|
-
return null;
|
|
124178
|
-
}
|
|
124179
|
-
|
|
124180
|
-
var result={ Date:date, Value:0 };
|
|
124181
|
-
switch(id)
|
|
124182
|
-
{
|
|
124183
|
-
case 0:
|
|
124184
|
-
result.Value=date%1000000; //0--返回报告期(YYMMDD格式),150930表示为2015年第三季
|
|
124185
|
-
break;
|
|
124186
|
-
case 1:
|
|
124187
|
-
result.Value=finance.persearning;
|
|
124188
|
-
break;
|
|
124189
|
-
case 3:
|
|
124190
|
-
result.Value=finance.peruprofit;
|
|
124191
|
-
break;
|
|
124192
|
-
case 4:
|
|
124193
|
-
result.Value=finance.pernetasset;
|
|
124194
|
-
break;
|
|
124195
|
-
case 5:
|
|
124196
|
-
result.Value=finance.percreserve;
|
|
124197
|
-
break;
|
|
124198
|
-
case 6:
|
|
124199
|
-
result.Value=finance.woewa;
|
|
124200
|
-
break;
|
|
124201
|
-
case 7:
|
|
124202
|
-
result.Value=finance.perccfo;
|
|
124203
|
-
break;
|
|
124204
|
-
case 8:
|
|
124205
|
-
result.Value=finance.monetaryfunds;
|
|
124206
|
-
break;
|
|
124207
|
-
case 11:
|
|
124208
|
-
result.Value=finance.areceivable;
|
|
124209
|
-
break;
|
|
124210
|
-
}
|
|
124211
|
-
|
|
124212
|
-
return result;
|
|
124213
|
-
}
|
|
124214
|
-
|
|
124215
|
-
this.GetFieldList=function()
|
|
124216
|
-
{
|
|
124217
|
-
var id=this.Args[0];
|
|
124218
|
-
switch(id)
|
|
124219
|
-
{
|
|
124220
|
-
case 0:
|
|
124221
|
-
return ["finance.date"];
|
|
124222
|
-
case 1: //persearning 每股收益
|
|
124223
|
-
return ["finance.persearning"];
|
|
124224
|
-
case 3: //peruprofit 每股未分配利润
|
|
124225
|
-
return ["finance.peruprofit"];
|
|
124226
|
-
case 4: //pernetasset 每股净资产
|
|
124227
|
-
return ["finance.pernetasset"];
|
|
124228
|
-
case 5: //percreserve 每股资本公积金
|
|
124229
|
-
return ["finance.percreserve"];
|
|
124230
|
-
case 6: //woewa 加权平均净资产收益
|
|
124231
|
-
return ["finance.woewa"];
|
|
124232
|
-
case 7: //perccfo 每股经营性现金流
|
|
124233
|
-
return ["finance.perccfo"];
|
|
124234
|
-
case 8: //monetaryfunds 货币资金
|
|
124235
|
-
return ["finance.monetaryfunds"];
|
|
124236
|
-
case 11: //areceivable 应收账款
|
|
124237
|
-
return ["finance.areceivable"];
|
|
124238
|
-
default:
|
|
124239
|
-
return null;
|
|
124240
|
-
}
|
|
124241
|
-
}
|
|
124242
|
-
}
|
|
124243
|
-
|
|
124244
|
-
/////////////////////////////////////////////////////////
|
|
124245
|
-
// 内置财务数据下载 某一期的数据
|
|
124246
|
-
//
|
|
124247
|
-
function DownloadFinOneData(obj)
|
|
124248
|
-
{
|
|
124249
|
-
this.newMethod=DownloadFinValueData; //派生
|
|
124250
|
-
this.newMethod(obj);
|
|
124251
|
-
delete this.newMethod;
|
|
124252
|
-
|
|
124253
|
-
this.Download=function()
|
|
124254
|
-
{
|
|
124255
|
-
var self=this;
|
|
124256
|
-
var fieldList=this.GetFieldList();
|
|
124257
|
-
if (!fieldList)
|
|
124258
|
-
{
|
|
124259
|
-
message=`${this.Job.FunctionName}(${this.Args[0]}, ${this.Args[1]}, ${this.Args[2]}) can't support.`;
|
|
124260
|
-
this.ErrorCallback(message);
|
|
124261
|
-
self.RecvCallback(null, self.Job, self.DataKey);
|
|
124262
|
-
return;
|
|
124263
|
-
}
|
|
124264
|
-
|
|
124265
|
-
var aryCondition=[ {"item":["finance","doc","exists","true"] } ];
|
|
124266
|
-
|
|
124267
|
-
var year=this.Args[1];
|
|
124268
|
-
var month=this.Args[2];
|
|
124269
|
-
var dataIndex=0;
|
|
124270
|
-
var dataEnd=3;
|
|
124271
|
-
var preYear=null;
|
|
124272
|
-
if (year==0 && month==0) //如果Y和MMDD都为0,表示最新的财报;
|
|
124273
|
-
{
|
|
124274
|
-
|
|
124275
|
-
}
|
|
124276
|
-
else if (year==0 && month<300) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
124277
|
-
{
|
|
124278
|
-
dataIndex=month;
|
|
124279
|
-
dataEnd=200;
|
|
124280
|
-
}
|
|
124281
|
-
else if (month==0 && year<1000) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
124282
|
-
{
|
|
124283
|
-
preYear=year;
|
|
124284
|
-
}
|
|
124285
|
-
else if (year>1909)
|
|
124286
|
-
{
|
|
124287
|
-
if (month==331)
|
|
124288
|
-
{
|
|
124289
|
-
aryCondition=
|
|
124290
|
-
[
|
|
124291
|
-
{"item":["announcement1.year","int32","eq",year]},
|
|
124292
|
-
{"item":["finance1","doc","exists","true"]}
|
|
124293
|
-
];
|
|
124294
|
-
|
|
124295
|
-
fieldList.push("announcement1.year");
|
|
124296
|
-
fieldList.push("announcement1.quarter");
|
|
124297
|
-
}
|
|
124298
|
-
else if (month==630)
|
|
124299
|
-
{
|
|
124300
|
-
aryCondition=
|
|
124301
|
-
[
|
|
124302
|
-
{"item":["announcement2.year","int32","eq",year]},
|
|
124303
|
-
{"item":["finance2","doc","exists","true"]}
|
|
124304
|
-
];
|
|
124305
|
-
|
|
124306
|
-
fieldList.push("announcement2.year");
|
|
124307
|
-
fieldList.push("announcement2.quarter");
|
|
124308
|
-
}
|
|
124309
|
-
else if (month==930)
|
|
124310
|
-
{
|
|
124311
|
-
aryCondition=
|
|
124312
|
-
[
|
|
124313
|
-
{"item":["announcement3.year","int32","eq",year]},
|
|
124314
|
-
{"item":["finance3","doc","exists","true"]}
|
|
124315
|
-
];
|
|
124316
|
-
|
|
124317
|
-
fieldList.push("announcement4.year");
|
|
124318
|
-
fieldList.push("announcement4.quarter");
|
|
124319
|
-
}
|
|
124320
|
-
else
|
|
124321
|
-
{
|
|
124322
|
-
aryCondition=
|
|
124323
|
-
[
|
|
124324
|
-
{"item":["announcement4.year","int32","eq",year]},
|
|
124325
|
-
{"item":["finance4","doc","exists","true"]}
|
|
124326
|
-
];
|
|
124327
|
-
|
|
124328
|
-
fieldList.push("announcement4.year");
|
|
124329
|
-
fieldList.push("announcement4.quarter");
|
|
124330
|
-
}
|
|
124331
|
-
}
|
|
124332
|
-
|
|
124333
|
-
//请求数据
|
|
124334
|
-
JSNetwork.HttpRequest({
|
|
124335
|
-
url: this.Url,
|
|
124336
|
-
data:
|
|
124337
|
-
{
|
|
124338
|
-
"field": fieldList,
|
|
124339
|
-
"symbol": [this.Symbol],
|
|
124340
|
-
"condition":aryCondition,
|
|
124341
|
-
"start": 0,
|
|
124342
|
-
"end": dataEnd
|
|
124343
|
-
},
|
|
124344
|
-
type:"post",
|
|
124345
|
-
dataType: "json",
|
|
124346
|
-
async:true,
|
|
124347
|
-
success: function (recvData)
|
|
124348
|
-
{
|
|
124349
|
-
var data=self.ToHQChartData(recvData);
|
|
124350
|
-
var result=null;
|
|
124351
|
-
if (data && data.length>0)
|
|
124352
|
-
{
|
|
124353
|
-
data.sort(function (a, b) { return (b.Date-a.Date) });
|
|
124354
|
-
if (preYear==null)
|
|
124355
|
-
result=data[dataIndex]; //返回一个数据
|
|
124356
|
-
else
|
|
124357
|
-
result=self.GetPreYearData(data, preYear);
|
|
124358
|
-
}
|
|
124359
|
-
self.RecvCallback(result, self.Job, self.DataKey);
|
|
124360
|
-
}
|
|
124361
|
-
});
|
|
124362
|
-
}
|
|
124363
|
-
|
|
124364
|
-
this.GetPreYearData=function(data, preYear)
|
|
124365
|
-
{
|
|
124366
|
-
//331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
124367
|
-
if (preYear==331 || preYear==630|| preYear==930 || preYear==1231)
|
|
124368
|
-
{
|
|
124369
|
-
for(var i in data)
|
|
124370
|
-
{
|
|
124371
|
-
var item=data[i];
|
|
124372
|
-
if (item.Date%10000==preYear) return item;
|
|
124373
|
-
}
|
|
124374
|
-
}
|
|
124375
|
-
else
|
|
124376
|
-
{
|
|
124377
|
-
//如果MMDD为0,Y为一数字,表示最近一期向前推Y年的同期数据;
|
|
124378
|
-
var month=data[0].Date%1000;
|
|
124379
|
-
for(var i=1, j=0; i<data.length ;++i)
|
|
124380
|
-
{
|
|
124381
|
-
var item=data[i];
|
|
124382
|
-
if (item.Date%10000==month)
|
|
124383
|
-
{
|
|
124384
|
-
++j;
|
|
124385
|
-
if (j==preYear) return item;
|
|
124386
|
-
}
|
|
124387
|
-
}
|
|
124388
|
-
|
|
124389
|
-
return null;
|
|
124390
|
-
}
|
|
124391
|
-
}
|
|
124392
|
-
}
|
|
124393
|
-
|
|
124394
|
-
|
|
124395
124042
|
function DownloadFinanceData(obj)
|
|
124396
124043
|
{
|
|
124397
124044
|
this.Url=obj.Url;
|
|
@@ -143147,7 +142794,7 @@ function HQChartScriptWorker()
|
|
|
143147
142794
|
|
|
143148
142795
|
|
|
143149
142796
|
|
|
143150
|
-
var HQCHART_VERSION="1.1.
|
|
142797
|
+
var HQCHART_VERSION="1.1.13815";
|
|
143151
142798
|
|
|
143152
142799
|
function PrintHQChartVersion()
|
|
143153
142800
|
{
|