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
|
@@ -139,6 +139,12 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
139
139
|
case "JSSymbolData::GetBKJYOne":
|
|
140
140
|
HQData.BKJYOne_RequestData(data,callback);
|
|
141
141
|
break;
|
|
142
|
+
case "JSSymbolData::GetFinValue":
|
|
143
|
+
HQData.FinValue_RequestData(data,callback);
|
|
144
|
+
break;
|
|
145
|
+
case "JSSymbolData::GetFinOne":
|
|
146
|
+
HQData.FinOne_RequestData(data,callback);
|
|
147
|
+
break;
|
|
142
148
|
|
|
143
149
|
//////////////////////////////////////////////////////
|
|
144
150
|
//报价列表数据
|
|
@@ -895,6 +901,39 @@ HQData.BKJYOne_RequestData=function(data,callback)
|
|
|
895
901
|
callback({ Date:20230509, Value:value});
|
|
896
902
|
}
|
|
897
903
|
|
|
904
|
+
HQData.FinValue_RequestData=function(data,callback)
|
|
905
|
+
{
|
|
906
|
+
data.PreventDefault=true;
|
|
907
|
+
var symbol=data.Request.Data.symbol;
|
|
908
|
+
var id=data.Request.Data.Args[0];
|
|
909
|
+
|
|
910
|
+
var aryData=[];
|
|
911
|
+
var kData=data.Self.Data;
|
|
912
|
+
for(var i=0;i<kData.Data.length;++i)
|
|
913
|
+
{
|
|
914
|
+
var kItem=kData.Data[i];
|
|
915
|
+
if (i%60==21)
|
|
916
|
+
{
|
|
917
|
+
var value=HQData.GetRandomTestData(10,20)
|
|
918
|
+
aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
callback(aryData);
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
HQData.FinOne_RequestData=function(data,callback)
|
|
926
|
+
{
|
|
927
|
+
data.PreventDefault=true;
|
|
928
|
+
var symbol=data.Request.Data.symbol;
|
|
929
|
+
var id=data.Request.Data.Args[0];
|
|
930
|
+
var year=data.Request.Data.Args[1];
|
|
931
|
+
var day=data.Request.Data.Args[2];
|
|
932
|
+
|
|
933
|
+
var value=HQData.GetRandomTestData(80,90);
|
|
934
|
+
callback({ Date:20230509, Value:value});
|
|
935
|
+
}
|
|
936
|
+
|
|
898
937
|
|
|
899
938
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
900
939
|
// 报价列表
|
|
@@ -47941,6 +47941,17 @@ function RectSelectPaint()
|
|
|
47941
47941
|
this.AreaColor=g_JSChartResource.RectSelect.AreaColor; //面积
|
|
47942
47942
|
this.SubAreaColor=g_JSChartResource.RectSelect.SubAreaColor;
|
|
47943
47943
|
|
|
47944
|
+
//标记图标
|
|
47945
|
+
this.MarkConfig=
|
|
47946
|
+
{
|
|
47947
|
+
Family:g_JSChartResource.RectSelect.Mark.Family,
|
|
47948
|
+
Text:g_JSChartResource.RectSelect.Mark.Text,
|
|
47949
|
+
Color:g_JSChartResource.RectSelect.Mark.Color,
|
|
47950
|
+
Size:g_JSChartResource.RectSelect.Mark.Size,
|
|
47951
|
+
IsShow:false,
|
|
47952
|
+
Position: { Index:g_JSChartResource.RectSelect.Mark.Position.Index, Top:g_JSChartResource.RectSelect.Mark.Position.Top }
|
|
47953
|
+
}
|
|
47954
|
+
|
|
47944
47955
|
this.FirstPoint;
|
|
47945
47956
|
this.SecondPoint;
|
|
47946
47957
|
this.CenterPoint;
|
|
@@ -47988,6 +47999,17 @@ function RectSelectPaint()
|
|
|
47988
47999
|
if (IFrameSplitOperator.IsNumber(item.Position)) this.ShowRangeText.Position=item.Position;
|
|
47989
48000
|
if (IFrameSplitOperator.IsNumber(item.SubPosition)) this.ShowRangeText.SubPosition=item.SubPosition;
|
|
47990
48001
|
}
|
|
48002
|
+
|
|
48003
|
+
if (option.Mark)
|
|
48004
|
+
{
|
|
48005
|
+
var item=option.Mark;
|
|
48006
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) this.MarkConfig.IsShow=item.IsShow;
|
|
48007
|
+
if (item.Position)
|
|
48008
|
+
{
|
|
48009
|
+
if (IFrameSplitOperator.IsNumber(item.Position.Index)) this.MarkConfig.Position.Index=item.Position.Index;
|
|
48010
|
+
if (item.Position.Top) this.MarkConfig.Position.Top=item.Position.Top;
|
|
48011
|
+
}
|
|
48012
|
+
}
|
|
47991
48013
|
}
|
|
47992
48014
|
}
|
|
47993
48015
|
|
|
@@ -48460,6 +48482,7 @@ function RectSelectPaint()
|
|
|
48460
48482
|
|
|
48461
48483
|
this.DrawLines(aryLines);
|
|
48462
48484
|
this.DrawArea(startPoint, endPoint, startDate, startEnd, this.AreaColor);
|
|
48485
|
+
this.DrawMark(startPoint, endPoint);
|
|
48463
48486
|
|
|
48464
48487
|
if (this.SubClient && this.SubClient.Start && this.SubClient.End)
|
|
48465
48488
|
{
|
|
@@ -48693,6 +48716,45 @@ function RectSelectPaint()
|
|
|
48693
48716
|
if (IFrameSplitOperator.IsNumber(type)) this.DragRect.push( {Rect:rtArea, Type:type} );
|
|
48694
48717
|
}
|
|
48695
48718
|
}
|
|
48719
|
+
|
|
48720
|
+
this.DrawMark=function(startPoint,endPoint)
|
|
48721
|
+
{
|
|
48722
|
+
if (!startPoint ||!endPoint) return;
|
|
48723
|
+
|
|
48724
|
+
if (!this.ChartFrame || !this.ChartFrame.SubFrame) return;
|
|
48725
|
+
var subFrame=this.ChartFrame.SubFrame[0].Frame;
|
|
48726
|
+
if (!subFrame) return;
|
|
48727
|
+
|
|
48728
|
+
if (!this.MarkConfig) return;
|
|
48729
|
+
var config=this.MarkConfig;
|
|
48730
|
+
if (!config.IsShow) return;
|
|
48731
|
+
|
|
48732
|
+
var font=`${config.Size}px ${config.Family}`;
|
|
48733
|
+
this.Canvas.font=font;
|
|
48734
|
+
var top=null;
|
|
48735
|
+
switch(config.Position.Top)
|
|
48736
|
+
{
|
|
48737
|
+
case "TopEx":
|
|
48738
|
+
top=subFrame.ChartBorder.GetTopEx();
|
|
48739
|
+
break;
|
|
48740
|
+
case "Top":
|
|
48741
|
+
top=subFrame.ChartBorder.GetTop();
|
|
48742
|
+
break;
|
|
48743
|
+
case "TopTitle":
|
|
48744
|
+
top=subFrame.ChartBorder.GetTopTitle();
|
|
48745
|
+
break;
|
|
48746
|
+
default:
|
|
48747
|
+
return;
|
|
48748
|
+
}
|
|
48749
|
+
|
|
48750
|
+
var xText=startPoint.X;
|
|
48751
|
+
var yText=top;
|
|
48752
|
+
|
|
48753
|
+
this.Canvas.textAlign="center";
|
|
48754
|
+
this.Canvas.textBaseline="bottom";
|
|
48755
|
+
this.Canvas.fillStyle=config.Color;
|
|
48756
|
+
this.Canvas.fillText(config.Text,xText,yText);
|
|
48757
|
+
}
|
|
48696
48758
|
}
|
|
48697
48759
|
|
|
48698
48760
|
//鼠标拖动选中区域
|
|
@@ -72821,6 +72883,8 @@ function JSChartResource()
|
|
|
72821
72883
|
RangeTextSubColor:"rgb(255,255,255)",
|
|
72822
72884
|
RangeTextSubFont:12*GetDevicePixelRatio() +"px 微软雅黑",
|
|
72823
72885
|
RangeTextSubBGColor:'rgb(54,54,54)',
|
|
72886
|
+
|
|
72887
|
+
Mark:{ Family:'iconfont', Text:'\ue695' , Color:'rgb(250,0,0)', Size:15*GetDevicePixelRatio(), Position:{ Index:0, Top:"TopEx" } }
|
|
72824
72888
|
}
|
|
72825
72889
|
|
|
72826
72890
|
//选中图形
|
|
@@ -73677,6 +73741,20 @@ function JSChartResource()
|
|
|
73677
73741
|
if (item.RangeTextSubColor) this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;
|
|
73678
73742
|
if (item.RangeTextSubFont) this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;
|
|
73679
73743
|
if (item.RangeTextSubBGColor) this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;
|
|
73744
|
+
|
|
73745
|
+
if (item.Mark)
|
|
73746
|
+
{
|
|
73747
|
+
var subItem=item.Mark;
|
|
73748
|
+
if (subItem.Family) this.RectSelect.Mark.Family=subItem.Family;
|
|
73749
|
+
if (subItem.Text) this.RectSelect.Mark.Text=subItem.Text;
|
|
73750
|
+
if (subItem.Color) this.RectSelect.Mark.Color=subItem.Color;
|
|
73751
|
+
if (IFrameSplitOperator.IsNumber(subItem.Size)) this.RectSelect.Mark.Size=subItem.Size;
|
|
73752
|
+
if (subItem.Position)
|
|
73753
|
+
{
|
|
73754
|
+
if (subItem.Position.Top) this.RectSelect.Mark.Position.Top=subItem.Position.Top;
|
|
73755
|
+
if (IFrameSplitOperator.IsNumber(subItem.Position.Index)) this.RectSelect.Mark.Position.Index=subItem.Position.Index;
|
|
73756
|
+
}
|
|
73757
|
+
}
|
|
73680
73758
|
}
|
|
73681
73759
|
|
|
73682
73760
|
if (style.RectDrag)
|
|
@@ -76252,6 +76330,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76252
76330
|
if (!this.PopMinuteChart) return;
|
|
76253
76331
|
if (!data.Tooltip || !data.Chart) return;
|
|
76254
76332
|
|
|
76333
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
76255
76334
|
var rtClient=this.UIElement.getBoundingClientRect();
|
|
76256
76335
|
var rtScroll=GetScrollPosition();
|
|
76257
76336
|
|
|
@@ -76261,7 +76340,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76261
76340
|
var date=data.Tooltip.Data.Date;
|
|
76262
76341
|
var symbol=data.Chart.Symbol;
|
|
76263
76342
|
|
|
76264
|
-
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x,y);
|
|
76343
|
+
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x/pixelRatio,y/pixelRatio);
|
|
76265
76344
|
}
|
|
76266
76345
|
|
|
76267
76346
|
|
|
@@ -112977,54 +113056,6 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
112977
113056
|
return financeData.get(id);
|
|
112978
113057
|
}
|
|
112979
113058
|
|
|
112980
|
-
this.GetFinOne=function(jobItem)
|
|
112981
|
-
{
|
|
112982
|
-
var aryArgs=this.JobArgumentsToArray(jobItem, 3);
|
|
112983
|
-
var key=this.GetStockDataKey(jobItem,aryArgs);
|
|
112984
|
-
if (this.StockData.has(key)) return this.Execute.RunNextJob();
|
|
112985
|
-
var self=this;
|
|
112986
|
-
if (this.NetworkFilter)
|
|
112987
|
-
{
|
|
112988
|
-
var dateRange=this.Data.GetDateRange();
|
|
112989
|
-
var obj=
|
|
112990
|
-
{
|
|
112991
|
-
Name:'JSSymbolData::GetFinOne', //类名::
|
|
112992
|
-
Explain:'财务数据FINONE(ID,Y,MMDD)',
|
|
112993
|
-
JobID:jobItem.ID,
|
|
112994
|
-
Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ Args:aryArgs, symbol: this.Symbol, daterange:dateRange } },
|
|
112995
|
-
Self:this,
|
|
112996
|
-
PreventDefault:false
|
|
112997
|
-
};
|
|
112998
|
-
this.NetworkFilter(obj, function(recvData)
|
|
112999
|
-
{
|
|
113000
|
-
self.RecvStockValue(recvData,jobItem,key,1);
|
|
113001
|
-
self.Execute.RunNextJob();
|
|
113002
|
-
});
|
|
113003
|
-
|
|
113004
|
-
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
113005
|
-
}
|
|
113006
|
-
|
|
113007
|
-
var apiDownload=new DownloadFinOneData(
|
|
113008
|
-
{
|
|
113009
|
-
Job:jobItem,
|
|
113010
|
-
Symbol:this.Symbol,
|
|
113011
|
-
Url:this.StockHistoryDayApiUrl,
|
|
113012
|
-
Args:aryArgs,
|
|
113013
|
-
DataKey:key,
|
|
113014
|
-
Callback:function(recvData, jobItem, key)
|
|
113015
|
-
{
|
|
113016
|
-
self.RecvStockValue(recvData, jobItem, key,1);
|
|
113017
|
-
self.Execute.RunNextJob();
|
|
113018
|
-
},
|
|
113019
|
-
ErrorCallback:function(strError)
|
|
113020
|
-
{
|
|
113021
|
-
self.AddStockValueError(key,strError);
|
|
113022
|
-
}
|
|
113023
|
-
});
|
|
113024
|
-
|
|
113025
|
-
apiDownload.Download();
|
|
113026
|
-
}
|
|
113027
|
-
|
|
113028
113059
|
this.GetStockDataKey=function(jobItem, aryArgs)
|
|
113029
113060
|
{
|
|
113030
113061
|
var key=jobItem.FunctionName;
|
|
@@ -113042,55 +113073,6 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
113042
113073
|
return key;
|
|
113043
113074
|
}
|
|
113044
113075
|
|
|
113045
|
-
this.GetFinValue=function(jobItem)
|
|
113046
|
-
{
|
|
113047
|
-
var aryArgs=this.JobArgumentsToArray(jobItem, 1);
|
|
113048
|
-
var lID=aryArgs[0];
|
|
113049
|
-
var key=this.GetStockDataKey(jobItem,aryArgs);
|
|
113050
|
-
if (this.StockData.has(key)) return this.Execute.RunNextJob();
|
|
113051
|
-
var self=this;
|
|
113052
|
-
if (this.NetworkFilter)
|
|
113053
|
-
{
|
|
113054
|
-
var dateRange=this.Data.GetDateRange();
|
|
113055
|
-
var obj=
|
|
113056
|
-
{
|
|
113057
|
-
Name:'JSSymbolData::GetFinValue', //类名::
|
|
113058
|
-
Explain:'财务数据FINVALUE(ID)',
|
|
113059
|
-
JobID:jobItem.ID,
|
|
113060
|
-
Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ id:lID, symbol: this.Symbol, daterange:dateRange } },
|
|
113061
|
-
Self:this,
|
|
113062
|
-
PreventDefault:false
|
|
113063
|
-
};
|
|
113064
|
-
this.NetworkFilter(obj, function(recvData)
|
|
113065
|
-
{
|
|
113066
|
-
self.RecvStockValue(recvData,jobItem,key,0);
|
|
113067
|
-
self.Execute.RunNextJob();
|
|
113068
|
-
});
|
|
113069
|
-
|
|
113070
|
-
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
113071
|
-
}
|
|
113072
|
-
|
|
113073
|
-
var apiDownload=new DownloadFinValueData(
|
|
113074
|
-
{
|
|
113075
|
-
Job:jobItem,
|
|
113076
|
-
Symbol:this.Symbol,
|
|
113077
|
-
Url:this.StockHistoryDayApiUrl,
|
|
113078
|
-
Args:aryArgs,
|
|
113079
|
-
DataKey:key,
|
|
113080
|
-
Callback:function(recvData, jobItem, key)
|
|
113081
|
-
{
|
|
113082
|
-
self.RecvStockValue(recvData, jobItem, key,0);
|
|
113083
|
-
self.Execute.RunNextJob();
|
|
113084
|
-
},
|
|
113085
|
-
ErrorCallback:function(strError)
|
|
113086
|
-
{
|
|
113087
|
-
self.AddStockValueError(key,strError);
|
|
113088
|
-
}
|
|
113089
|
-
});
|
|
113090
|
-
|
|
113091
|
-
apiDownload.Download();
|
|
113092
|
-
}
|
|
113093
|
-
|
|
113094
113076
|
this.GetFinance=function(jobItem)
|
|
113095
113077
|
{
|
|
113096
113078
|
var aryArgs=this.JobArgumentsToArray(jobItem, 1);
|
|
@@ -115420,6 +115402,16 @@ var JS_ARRAY_PROFESSIONAL_FINANCE=
|
|
|
115420
115402
|
Name:"BKJYONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE,
|
|
115421
115403
|
Explain:"板块交易类数据BKJYONE(ID,N,Y,MMDD)", FuncName:"JSSymbolData::GetBKJYOne",ArgCount:4
|
|
115422
115404
|
},
|
|
115405
|
+
{
|
|
115406
|
+
Name:"FINVALUE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,
|
|
115407
|
+
Explain:"财务数据FINVALUE(ID)", FuncName:"JSSymbolData::GetFinValue",ArgCount:1
|
|
115408
|
+
},
|
|
115409
|
+
{
|
|
115410
|
+
Name:"FINONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,
|
|
115411
|
+
Explain:"财务数据FINONE(ID,Y,MMDD)", FuncName:"JSSymbolData::GetFinOne",ArgCount:3
|
|
115412
|
+
}
|
|
115413
|
+
|
|
115414
|
+
|
|
115423
115415
|
];
|
|
115424
115416
|
|
|
115425
115417
|
function JSExecute(ast,option)
|
|
@@ -115628,14 +115620,12 @@ function JSExecute(ast,option)
|
|
|
115628
115620
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF:
|
|
115629
115621
|
return this.SymbolData.GetSectionFinanceData(jobItem); //财务截面报告数据
|
|
115630
115622
|
|
|
115631
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
|
|
115632
|
-
return this.SymbolData.GetFinOne(jobItem);
|
|
115633
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
|
|
115634
|
-
return this.SymbolData.GetFinValue(jobItem);
|
|
115635
115623
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:
|
|
115636
115624
|
return this.SymbolData.GetFinance(jobItem);
|
|
115637
115625
|
|
|
115638
115626
|
//专业财务数据
|
|
115627
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
|
|
115628
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
|
|
115639
115629
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE:
|
|
115640
115630
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE:
|
|
115641
115631
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE:
|
|
@@ -124005,349 +123995,6 @@ ScriptIndexConsole.SetDomain = function (domain, cacheDomain) //修改API地
|
|
|
124005
123995
|
JSComplier.SetDomain(domain,cacheDomain);
|
|
124006
123996
|
}
|
|
124007
123997
|
|
|
124008
|
-
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
124009
|
-
//内置财务数据下载
|
|
124010
|
-
//
|
|
124011
|
-
function DownloadFinValueData(obj)
|
|
124012
|
-
{
|
|
124013
|
-
this.Url=obj.Url;
|
|
124014
|
-
this.Job=obj.Job;
|
|
124015
|
-
this.Symbol=obj.Symbol;
|
|
124016
|
-
this.Args=obj.Args;
|
|
124017
|
-
this.DataKey=obj.DataKey;
|
|
124018
|
-
this.RecvCallback=obj.Callback;
|
|
124019
|
-
this.ErrorCallback=obj.ErrorCallback;
|
|
124020
|
-
|
|
124021
|
-
this.Download=function()
|
|
124022
|
-
{
|
|
124023
|
-
var self=this;
|
|
124024
|
-
var fieldList=this.GetFieldList();
|
|
124025
|
-
if (!fieldList)
|
|
124026
|
-
{
|
|
124027
|
-
message=`${this.Job.FunctionName}(${this.Args[0]}) can't support.`;
|
|
124028
|
-
this.ErrorCallback(message);
|
|
124029
|
-
self.RecvCallback(null, self.Job, self.DataKey);
|
|
124030
|
-
return;
|
|
124031
|
-
}
|
|
124032
|
-
|
|
124033
|
-
//请求数据
|
|
124034
|
-
JSNetwork.HttpRequest({
|
|
124035
|
-
url: this.Url,
|
|
124036
|
-
data:
|
|
124037
|
-
{
|
|
124038
|
-
"field": fieldList,
|
|
124039
|
-
"symbol": [this.Symbol],
|
|
124040
|
-
"condition":[ {"item":["finance","doc","exists","true"]}] ,
|
|
124041
|
-
"start": 0,
|
|
124042
|
-
"end": 200
|
|
124043
|
-
},
|
|
124044
|
-
type:"post",
|
|
124045
|
-
dataType: "json",
|
|
124046
|
-
async:true,
|
|
124047
|
-
success: function (recvData)
|
|
124048
|
-
{
|
|
124049
|
-
var data=self.ToHQChartData(recvData);
|
|
124050
|
-
if (data) //排序
|
|
124051
|
-
data.sort(function (a, b) { return (a.Date - b.Date) });
|
|
124052
|
-
|
|
124053
|
-
self.RecvCallback(data, self.Job, self.DataKey);
|
|
124054
|
-
}
|
|
124055
|
-
});
|
|
124056
|
-
}
|
|
124057
|
-
|
|
124058
|
-
this.ToHQChartData=function(recvData)
|
|
124059
|
-
{
|
|
124060
|
-
if (!recvData.stock || recvData.stock.length!=1) return null;
|
|
124061
|
-
|
|
124062
|
-
var aryData=[];
|
|
124063
|
-
var setDate=new Set(); //有重复数据 去掉
|
|
124064
|
-
var stock=recvData.stock[0];
|
|
124065
|
-
for(var i in stock.stockday)
|
|
124066
|
-
{
|
|
124067
|
-
var item=stock.stockday[i];
|
|
124068
|
-
if (item.announcement1)
|
|
124069
|
-
{
|
|
124070
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement1, item.finance1, item);
|
|
124071
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124072
|
-
{
|
|
124073
|
-
aryData.push(hqchartItem);
|
|
124074
|
-
setDate.add(hqchartItem.Date);
|
|
124075
|
-
}
|
|
124076
|
-
}
|
|
124077
|
-
|
|
124078
|
-
if (item.announcement2)
|
|
124079
|
-
{
|
|
124080
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement2, item.finance2, item);
|
|
124081
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124082
|
-
{
|
|
124083
|
-
aryData.push(hqchartItem);
|
|
124084
|
-
setDate.add(hqchartItem.Date);
|
|
124085
|
-
}
|
|
124086
|
-
}
|
|
124087
|
-
|
|
124088
|
-
if (item.announcement3)
|
|
124089
|
-
{
|
|
124090
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement3, item.finance3, item);
|
|
124091
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124092
|
-
{
|
|
124093
|
-
aryData.push(hqchartItem);
|
|
124094
|
-
setDate.add(hqchartItem.Date);
|
|
124095
|
-
}
|
|
124096
|
-
}
|
|
124097
|
-
|
|
124098
|
-
if (item.announcement4)
|
|
124099
|
-
{
|
|
124100
|
-
var hqchartItem=this.ToHQChartItemData(item.announcement4, item.finance4, item);
|
|
124101
|
-
if (hqchartItem && !setDate.has(hqchartItem.Date))
|
|
124102
|
-
{
|
|
124103
|
-
aryData.push(hqchartItem);
|
|
124104
|
-
setDate.add(hqchartItem.Date);
|
|
124105
|
-
}
|
|
124106
|
-
}
|
|
124107
|
-
}
|
|
124108
|
-
|
|
124109
|
-
return aryData;
|
|
124110
|
-
}
|
|
124111
|
-
|
|
124112
|
-
//{ Date:日期 , Value:数值 }
|
|
124113
|
-
this.ToHQChartItemData=function(announcement, finance, sourceItem)
|
|
124114
|
-
{
|
|
124115
|
-
var id=this.Args[0];
|
|
124116
|
-
var date=announcement.year*10000;
|
|
124117
|
-
var quarter=announcement.quarter;
|
|
124118
|
-
switch(quarter)
|
|
124119
|
-
{
|
|
124120
|
-
case 1:
|
|
124121
|
-
date+=331;
|
|
124122
|
-
break;
|
|
124123
|
-
case 2:
|
|
124124
|
-
date+=630;
|
|
124125
|
-
break;
|
|
124126
|
-
case 3:
|
|
124127
|
-
date+=930;
|
|
124128
|
-
break;
|
|
124129
|
-
case 4:
|
|
124130
|
-
date+=1231;
|
|
124131
|
-
break;
|
|
124132
|
-
default:
|
|
124133
|
-
return null;
|
|
124134
|
-
}
|
|
124135
|
-
|
|
124136
|
-
var result={ Date:date, Value:0 };
|
|
124137
|
-
switch(id)
|
|
124138
|
-
{
|
|
124139
|
-
case 0:
|
|
124140
|
-
result.Value=date%1000000; //0--返回报告期(YYMMDD格式),150930表示为2015年第三季
|
|
124141
|
-
break;
|
|
124142
|
-
case 1:
|
|
124143
|
-
result.Value=finance.persearning;
|
|
124144
|
-
break;
|
|
124145
|
-
case 3:
|
|
124146
|
-
result.Value=finance.peruprofit;
|
|
124147
|
-
break;
|
|
124148
|
-
case 4:
|
|
124149
|
-
result.Value=finance.pernetasset;
|
|
124150
|
-
break;
|
|
124151
|
-
case 5:
|
|
124152
|
-
result.Value=finance.percreserve;
|
|
124153
|
-
break;
|
|
124154
|
-
case 6:
|
|
124155
|
-
result.Value=finance.woewa;
|
|
124156
|
-
break;
|
|
124157
|
-
case 7:
|
|
124158
|
-
result.Value=finance.perccfo;
|
|
124159
|
-
break;
|
|
124160
|
-
case 8:
|
|
124161
|
-
result.Value=finance.monetaryfunds;
|
|
124162
|
-
break;
|
|
124163
|
-
case 11:
|
|
124164
|
-
result.Value=finance.areceivable;
|
|
124165
|
-
break;
|
|
124166
|
-
}
|
|
124167
|
-
|
|
124168
|
-
return result;
|
|
124169
|
-
}
|
|
124170
|
-
|
|
124171
|
-
this.GetFieldList=function()
|
|
124172
|
-
{
|
|
124173
|
-
var id=this.Args[0];
|
|
124174
|
-
switch(id)
|
|
124175
|
-
{
|
|
124176
|
-
case 0:
|
|
124177
|
-
return ["finance.date"];
|
|
124178
|
-
case 1: //persearning 每股收益
|
|
124179
|
-
return ["finance.persearning"];
|
|
124180
|
-
case 3: //peruprofit 每股未分配利润
|
|
124181
|
-
return ["finance.peruprofit"];
|
|
124182
|
-
case 4: //pernetasset 每股净资产
|
|
124183
|
-
return ["finance.pernetasset"];
|
|
124184
|
-
case 5: //percreserve 每股资本公积金
|
|
124185
|
-
return ["finance.percreserve"];
|
|
124186
|
-
case 6: //woewa 加权平均净资产收益
|
|
124187
|
-
return ["finance.woewa"];
|
|
124188
|
-
case 7: //perccfo 每股经营性现金流
|
|
124189
|
-
return ["finance.perccfo"];
|
|
124190
|
-
case 8: //monetaryfunds 货币资金
|
|
124191
|
-
return ["finance.monetaryfunds"];
|
|
124192
|
-
case 11: //areceivable 应收账款
|
|
124193
|
-
return ["finance.areceivable"];
|
|
124194
|
-
default:
|
|
124195
|
-
return null;
|
|
124196
|
-
}
|
|
124197
|
-
}
|
|
124198
|
-
}
|
|
124199
|
-
|
|
124200
|
-
/////////////////////////////////////////////////////////
|
|
124201
|
-
// 内置财务数据下载 某一期的数据
|
|
124202
|
-
//
|
|
124203
|
-
function DownloadFinOneData(obj)
|
|
124204
|
-
{
|
|
124205
|
-
this.newMethod=DownloadFinValueData; //派生
|
|
124206
|
-
this.newMethod(obj);
|
|
124207
|
-
delete this.newMethod;
|
|
124208
|
-
|
|
124209
|
-
this.Download=function()
|
|
124210
|
-
{
|
|
124211
|
-
var self=this;
|
|
124212
|
-
var fieldList=this.GetFieldList();
|
|
124213
|
-
if (!fieldList)
|
|
124214
|
-
{
|
|
124215
|
-
message=`${this.Job.FunctionName}(${this.Args[0]}, ${this.Args[1]}, ${this.Args[2]}) can't support.`;
|
|
124216
|
-
this.ErrorCallback(message);
|
|
124217
|
-
self.RecvCallback(null, self.Job, self.DataKey);
|
|
124218
|
-
return;
|
|
124219
|
-
}
|
|
124220
|
-
|
|
124221
|
-
var aryCondition=[ {"item":["finance","doc","exists","true"] } ];
|
|
124222
|
-
|
|
124223
|
-
var year=this.Args[1];
|
|
124224
|
-
var month=this.Args[2];
|
|
124225
|
-
var dataIndex=0;
|
|
124226
|
-
var dataEnd=3;
|
|
124227
|
-
var preYear=null;
|
|
124228
|
-
if (year==0 && month==0) //如果Y和MMDD都为0,表示最新的财报;
|
|
124229
|
-
{
|
|
124230
|
-
|
|
124231
|
-
}
|
|
124232
|
-
else if (year==0 && month<300) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
124233
|
-
{
|
|
124234
|
-
dataIndex=month;
|
|
124235
|
-
dataEnd=200;
|
|
124236
|
-
}
|
|
124237
|
-
else if (month==0 && year<1000) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
124238
|
-
{
|
|
124239
|
-
preYear=year;
|
|
124240
|
-
}
|
|
124241
|
-
else if (year>1909)
|
|
124242
|
-
{
|
|
124243
|
-
if (month==331)
|
|
124244
|
-
{
|
|
124245
|
-
aryCondition=
|
|
124246
|
-
[
|
|
124247
|
-
{"item":["announcement1.year","int32","eq",year]},
|
|
124248
|
-
{"item":["finance1","doc","exists","true"]}
|
|
124249
|
-
];
|
|
124250
|
-
|
|
124251
|
-
fieldList.push("announcement1.year");
|
|
124252
|
-
fieldList.push("announcement1.quarter");
|
|
124253
|
-
}
|
|
124254
|
-
else if (month==630)
|
|
124255
|
-
{
|
|
124256
|
-
aryCondition=
|
|
124257
|
-
[
|
|
124258
|
-
{"item":["announcement2.year","int32","eq",year]},
|
|
124259
|
-
{"item":["finance2","doc","exists","true"]}
|
|
124260
|
-
];
|
|
124261
|
-
|
|
124262
|
-
fieldList.push("announcement2.year");
|
|
124263
|
-
fieldList.push("announcement2.quarter");
|
|
124264
|
-
}
|
|
124265
|
-
else if (month==930)
|
|
124266
|
-
{
|
|
124267
|
-
aryCondition=
|
|
124268
|
-
[
|
|
124269
|
-
{"item":["announcement3.year","int32","eq",year]},
|
|
124270
|
-
{"item":["finance3","doc","exists","true"]}
|
|
124271
|
-
];
|
|
124272
|
-
|
|
124273
|
-
fieldList.push("announcement4.year");
|
|
124274
|
-
fieldList.push("announcement4.quarter");
|
|
124275
|
-
}
|
|
124276
|
-
else
|
|
124277
|
-
{
|
|
124278
|
-
aryCondition=
|
|
124279
|
-
[
|
|
124280
|
-
{"item":["announcement4.year","int32","eq",year]},
|
|
124281
|
-
{"item":["finance4","doc","exists","true"]}
|
|
124282
|
-
];
|
|
124283
|
-
|
|
124284
|
-
fieldList.push("announcement4.year");
|
|
124285
|
-
fieldList.push("announcement4.quarter");
|
|
124286
|
-
}
|
|
124287
|
-
}
|
|
124288
|
-
|
|
124289
|
-
//请求数据
|
|
124290
|
-
JSNetwork.HttpRequest({
|
|
124291
|
-
url: this.Url,
|
|
124292
|
-
data:
|
|
124293
|
-
{
|
|
124294
|
-
"field": fieldList,
|
|
124295
|
-
"symbol": [this.Symbol],
|
|
124296
|
-
"condition":aryCondition,
|
|
124297
|
-
"start": 0,
|
|
124298
|
-
"end": dataEnd
|
|
124299
|
-
},
|
|
124300
|
-
type:"post",
|
|
124301
|
-
dataType: "json",
|
|
124302
|
-
async:true,
|
|
124303
|
-
success: function (recvData)
|
|
124304
|
-
{
|
|
124305
|
-
var data=self.ToHQChartData(recvData);
|
|
124306
|
-
var result=null;
|
|
124307
|
-
if (data && data.length>0)
|
|
124308
|
-
{
|
|
124309
|
-
data.sort(function (a, b) { return (b.Date-a.Date) });
|
|
124310
|
-
if (preYear==null)
|
|
124311
|
-
result=data[dataIndex]; //返回一个数据
|
|
124312
|
-
else
|
|
124313
|
-
result=self.GetPreYearData(data, preYear);
|
|
124314
|
-
}
|
|
124315
|
-
self.RecvCallback(result, self.Job, self.DataKey);
|
|
124316
|
-
}
|
|
124317
|
-
});
|
|
124318
|
-
}
|
|
124319
|
-
|
|
124320
|
-
this.GetPreYearData=function(data, preYear)
|
|
124321
|
-
{
|
|
124322
|
-
//331,630,930,1231这些,表示最近一期的对应季报的数据;
|
|
124323
|
-
if (preYear==331 || preYear==630|| preYear==930 || preYear==1231)
|
|
124324
|
-
{
|
|
124325
|
-
for(var i in data)
|
|
124326
|
-
{
|
|
124327
|
-
var item=data[i];
|
|
124328
|
-
if (item.Date%10000==preYear) return item;
|
|
124329
|
-
}
|
|
124330
|
-
}
|
|
124331
|
-
else
|
|
124332
|
-
{
|
|
124333
|
-
//如果MMDD为0,Y为一数字,表示最近一期向前推Y年的同期数据;
|
|
124334
|
-
var month=data[0].Date%1000;
|
|
124335
|
-
for(var i=1, j=0; i<data.length ;++i)
|
|
124336
|
-
{
|
|
124337
|
-
var item=data[i];
|
|
124338
|
-
if (item.Date%10000==month)
|
|
124339
|
-
{
|
|
124340
|
-
++j;
|
|
124341
|
-
if (j==preYear) return item;
|
|
124342
|
-
}
|
|
124343
|
-
}
|
|
124344
|
-
|
|
124345
|
-
return null;
|
|
124346
|
-
}
|
|
124347
|
-
}
|
|
124348
|
-
}
|
|
124349
|
-
|
|
124350
|
-
|
|
124351
123998
|
function DownloadFinanceData(obj)
|
|
124352
123999
|
{
|
|
124353
124000
|
this.Url=obj.Url;
|
|
@@ -138591,7 +138238,7 @@ function ScrollBarBGChart()
|
|
|
138591
138238
|
|
|
138592
138239
|
|
|
138593
138240
|
|
|
138594
|
-
var HQCHART_VERSION="1.1.
|
|
138241
|
+
var HQCHART_VERSION="1.1.13815";
|
|
138595
138242
|
|
|
138596
138243
|
function PrintHQChartVersion()
|
|
138597
138244
|
{
|