hqchart 1.1.13773 → 1.1.13778

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.
@@ -2780,6 +2780,8 @@ var JSCHART_MENU_ID=
2780
2780
  CMD_SHOW_CORSS_LINE_ID:39, //显示十字光标线
2781
2781
  CMD_ENABLE_POP_MINUTE_CHART_ID:40, //双击弹分时图
2782
2782
 
2783
+ CMD_CHANGE_INFO_POSITION_ID:41, //修改信息地雷位置
2784
+
2783
2785
 
2784
2786
  CMD_REPORT_CHANGE_BLOCK_ID:60, //报价列表 切换板块ID
2785
2787
  CMD_REPORT_COLUMN_SORT_ID:61, //报价列表 表头排序 Arg[列序号, 排序方向]
@@ -9607,6 +9609,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9607
9609
  }
9608
9610
  }
9609
9611
  break;
9612
+ case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:
9613
+ if (param==null) return false;
9614
+ var klineChart=this.ChartPaint[0];
9615
+ if (!klineChart) return false;
9616
+ klineChart.InfoPosition=param;
9617
+ this.Draw();
9618
+ break;
9610
9619
  }
9611
9620
  }
9612
9621
 
@@ -12240,7 +12249,66 @@ function AverageWidthFrame()
12240
12249
 
12241
12250
  if (item.Message[0] && borderLeft>=10)
12242
12251
  {
12252
+ if (item.Font != null) this.Canvas.font = item.Font;
12253
+ var textInfo=this.GetCustomItemTextInfo(item,true,pixelTatio);
12254
+ var textWidth=textInfo.MaxWidth;
12255
+ var itemLeft=left-textWidth;
12256
+ var fontHeight=this.GetFontHeight();
12257
+ var textHeight=fontHeight>defaultTextHeight? fontHeight:defaultTextHeight;
12258
+ this.Canvas.textAlign = "right";
12259
+ this.Canvas.textBaseline = "middle";
12260
+
12261
+ var yText=null;
12262
+ if (position==1)
12263
+ {
12264
+ yText=border.TopEx;
12265
+ if (IFrameSplitOperator.IsNumber(outRange.TopYOffset)) yText+=outRange.TopYOffset;
12266
+ }
12267
+ else if (position==2)
12268
+ {
12269
+ yText=border.BottomEx+textHeight;
12270
+ if (IFrameSplitOperator.IsNumber(outRange.BottomYOffset)) yText+=outRange.BottomYOffset;
12271
+ }
12243
12272
 
12273
+ for(var i=0;i<textInfo.Text.length;++i)
12274
+ {
12275
+ var itemText=textInfo.Text[i];
12276
+ var rtBG={ Left:itemLeft, Width:itemText.Width, Bottom:yText, Height:textHeight };
12277
+ rtBG.Top=rtBG.Bottom-rtBG.Height;
12278
+ rtBG.Right=rtBG.Left+rtBG.Width;
12279
+
12280
+ if (item.ExtendLine && item.ExtendLine[0]) //右侧延长线
12281
+ {
12282
+ var exLine=item.ExtendLine[0];
12283
+ if (IFrameSplitOperator.IsNumber(exLine.Width))
12284
+ {
12285
+ var yLine=rtBG.Bottom;
12286
+ if (position==2) yLine=rtBG.Top;
12287
+ var lineType=item.LineType;
12288
+ if (IFrameSplitOperator.IsNumber(outRange.ExtendLine.Type)) lineType=outRange.ExtendLine.Type;
12289
+ if (i==0) this.DrawLine(left,left-exLine.Width,yLine,item.LineColor,lineType,item);
12290
+
12291
+ rtBG.Left-=exLine.Width;
12292
+ rtBG.Right-=exLine.Width;
12293
+ }
12294
+
12295
+ this.Canvas.fillStyle=outRange.BGColor;
12296
+ this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
12297
+ if (outRange.Border && outRange.Border.Color)
12298
+ {
12299
+ if (IFrameSplitOperator.IsNonEmptyArray(outRange.Border.LineDash))
12300
+ this.Canvas.setLineDash(outRange.Border.LineDash); //虚线
12301
+
12302
+ this.Canvas.strokeStyle = outRange.Border.Color;
12303
+ this.Canvas.strokeRect(ToFixedPoint(rtBG.Left), ToFixedPoint(rtBG.Top), ToFixedRect(rtBG.Width), ToFixedRect(rtBG.Height));
12304
+ }
12305
+
12306
+ this.Canvas.fillStyle = outRange.TextColor;
12307
+ this.Canvas.fillText(itemText.Text, rtBG.Right - 1*pixelTatio, rtBG.Top+rtBG.Height/2+1*pixelTatio);
12308
+
12309
+ yText+=textHeight+1;
12310
+ }
12311
+ }
12244
12312
  }
12245
12313
  else if (item.Message[1] && borderRight>=10)
12246
12314
  {
@@ -12451,6 +12519,18 @@ function AverageWidthFrame()
12451
12519
  var textLeft=left-(textWidth-itemText.Width);
12452
12520
  }
12453
12521
 
12522
+
12523
+ if (item.ExtendLine && item.ExtendLine[0]) //右侧延长线
12524
+ {
12525
+ var exLine=item.ExtendLine[0];
12526
+ if (IFrameSplitOperator.IsNumber(exLine.Width))
12527
+ {
12528
+ if (i==0) this.DrawLine(left,left-exLine.Width,y,item.LineColor,item.LineType,item);
12529
+ textLeft-=exLine.Width;
12530
+ rectLeft-=exLine.Width
12531
+ }
12532
+ }
12533
+
12454
12534
  if (emptyBGColor)
12455
12535
  {
12456
12536
  this.Canvas.fillStyle=emptyBGColor;
@@ -76726,6 +76806,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76726
76806
  var klineType=klineChart.DrawType;
76727
76807
  var bThinAKBar=klineChart.IsThinAKBar;
76728
76808
  var priceGap=klineChart.PriceGap; //缺口配置信息
76809
+ var infoPosition=klineChart.InfoPosition;
76729
76810
  var coordinateType=null, yCoordinateType=null; //坐标类型
76730
76811
  var mainFrame=null;
76731
76812
  if (this.Frame.SubFrame[0] && this.Frame.SubFrame[0].Frame) mainFrame=this.Frame.SubFrame[0].Frame;
@@ -76835,6 +76916,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76835
76916
  { Name:"大宗交易", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["大宗交易", !aryKLineInfo.includes("BlockTrading")]}, Checked:aryKLineInfo.includes("BlockTrading") },
76836
76917
  { Name:"龙虎榜", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["龙虎榜", !aryKLineInfo.includes("TradeDetail")]}, Checked:aryKLineInfo.includes("TradeDetail") },
76837
76918
  { Name:"互动易", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["互动易", !aryKLineInfo.includes("InvestorInfo")]}, Checked:aryKLineInfo.includes("InvestorInfo") },
76919
+ { Name:JSPopMenu.SEPARATOR_LINE_NAME },
76920
+ {
76921
+ Name:"显示位置",
76922
+ SubMenu:
76923
+ [
76924
+ { Name:"底部", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID, Args:[1]}, Checked:infoPosition===1 },
76925
+ { Name:"K线上", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID, Args:[0]}, Checked:infoPosition===0 },
76926
+ ]
76927
+ },
76928
+
76838
76929
  ]
76839
76930
  },
76840
76931
  {
@@ -88482,56 +88573,29 @@ function PforecastInfo()
88482
88573
 
88483
88574
  if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
88484
88575
 
88485
- //请求数据
88486
- JSNetwork.HttpRequest({
88487
- url: url,
88488
- data:
88489
- {
88490
- "field": ["pforecast.type","pforecast.reportdate","fweek"],
88491
- "condition":
88492
- [
88493
- {"item":["pforecast.reportdate","int32","gte",this.StartDate]}
88494
- ],
88495
- "symbol": [param.HQChart.Symbol],
88496
- "start":0,
88497
- "end":this.MaxRequestDataCount,
88498
- },
88499
- type:"post",
88500
- dataType: "json",
88501
- async:true,
88502
- success: function (recvData)
88503
- {
88504
- self.RecvData(recvData,param);
88505
- }
88506
- });
88507
-
88576
+ console.warn("[PforecastInfo::RequestData] NetworkFilter error.");
88508
88577
  return true;
88509
88578
  }
88510
88579
 
88511
88580
  this.RecvData=function(recvData,param)
88512
88581
  {
88513
- if (recvData.stock.length!=1) return;
88514
- if (recvData.stock[0].stockday.length<=0) return;
88582
+ if (!IFrameSplitOperator.IsNonEmptyArray(recvData.report)) return;
88515
88583
 
88516
- for(var i in recvData.stock[0].stockday)
88584
+ for(var i=0; i<recvData.report.length; ++i)
88517
88585
  {
88518
- var item=recvData.stock[0].stockday[i];
88519
- if (item.pforecast.length>0)
88586
+ var item=recvData.report[i];
88587
+ var infoData=new KLineInfoData();
88588
+ infoData.Date= item.date;
88589
+ infoData.Title=item.title;
88590
+ infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;
88591
+ infoData.ExtendData={ Type:item.title, ReportDate:item.reportdate}
88592
+ if(item.fweek) //未来周涨幅
88520
88593
  {
88521
- var dataItem=item.pforecast[0];
88522
- var infoData=new KLineInfoData();
88523
- infoData.Date= item.date;
88524
- infoData.Title=dataItem.type;
88525
- infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;
88526
- infoData.ExtendData={ Type:dataItem.type, ReportDate:dataItem.reportdate}
88527
- if(item.fweek) //未来周涨幅
88528
- {
88529
- infoData.ExtendData.FWeek={};
88530
- if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
88531
- if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
88532
- }
88533
- this.Data.push(infoData);
88594
+ infoData.ExtendData.FWeek={};
88595
+ if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
88596
+ if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
88534
88597
  }
88598
+ this.Data.push(infoData);
88535
88599
  }
88536
88600
 
88537
88601
  param.HQChart.UpdataChartInfo();
@@ -88563,34 +88627,15 @@ function ResearchInfo()
88563
88627
 
88564
88628
  if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
88565
88629
 
88566
- //请求数据
88567
- JSNetwork.HttpRequest({
88568
- url: url,
88569
- data:
88570
- {
88571
- "filed": ["releasedate","researchdate","level","symbol","id",'type'],
88572
- "querydate":{"StartDate":this.StartDate,"EndDate":this.GetToday()},
88573
- "symbol": [param.HQChart.Symbol],
88574
- "start":0,
88575
- "end":this.MaxRequestDataCount,
88576
- },
88577
- type:"post",
88578
- dataType: "json",
88579
- async:true,
88580
- success: function (recvData)
88581
- {
88582
- self.RecvData(recvData,param);
88583
- }
88584
- });
88585
-
88630
+ console.warn("[ResearchInfo::RequestData] NetworkFilter error.");
88586
88631
  return true;
88587
88632
  }
88588
88633
 
88589
88634
  this.RecvData=function(recvData,param)
88590
88635
  {
88591
- if (recvData.list.length<=0) return;
88636
+ if (!IFrameSplitOperator.IsNonEmptyArray(recvData.list)) return;
88592
88637
 
88593
- for(var i in recvData.list)
88638
+ for(var i=0;i<recvData.list.length; ++i)
88594
88639
  {
88595
88640
  var item=recvData.list[i];
88596
88641
  var infoData=new KLineInfoData();
@@ -89484,203 +89529,6 @@ function ChangeIndexDialog(divElement)
89484
89529
  }
89485
89530
  }
89486
89531
 
89487
- //信息地理tooltip
89488
- function KLineInfoTooltip(divElement)
89489
- {
89490
- this.newMethod=IDivDialog; //派生
89491
- this.newMethod(divElement);
89492
- delete this.newMethod;
89493
-
89494
- this.UpColor=g_JSChartResource.UpTextColor;
89495
- this.DownColor=g_JSChartResource.DownTextColor;
89496
- this.UnchagneColor=g_JSChartResource.UnchagneTextColor;
89497
-
89498
- this.Create=function()
89499
- {
89500
- this.ID=Guid();
89501
-
89502
- var div=document.createElement('div');
89503
- div.className='jchart-klineinfo-tooltip';
89504
- div.id=this.ID;
89505
- div.innerHTML="<div class='title-length'></div>";
89506
- this.DivElement.appendChild(div);
89507
- }
89508
-
89509
-
89510
- this.BindInfoList=function(infoType,infoList)
89511
- {
89512
- var strBox="<div class='total-list'>共"+infoList.length+"条</div>";
89513
- var strText=[];
89514
- for(var i in infoList)
89515
- {
89516
- var item=infoList[i];
89517
- var strOld=item.Date;
89518
- if(infoType==KLINE_INFO_TYPE.PFORECAST)
89519
- {
89520
- var reportDate=item.ExtendData.ReportDate;
89521
- var year=parseInt(reportDate/10000); //年份
89522
- var day=reportDate%10000; //比较 这个去掉年份的日期
89523
- var reportType;
89524
- if(day == 1231){
89525
- reportType = "年报"
89526
- }else if(day == 331){
89527
- reportType = "一季度报"
89528
- }else if(day == 630){
89529
- reportType = "半年度报"
89530
- }else if(day == 930){
89531
- reportType = "三季度报"
89532
- }
89533
-
89534
- var weekData="";
89535
- if (item.ExtendData.FWeek)
89536
- {
89537
- if (item.ExtendData.FWeek.Week1!=null) weekData+="一周后涨幅:<i class='increase' style='color:"+this.GetColor(item.ExtendData.FWeek.Week1.toFixed(2))+"'>"+ item.ExtendData.FWeek.Week1.toFixed(2)+"%</i>";
89538
- if (item.ExtendData.FWeek.Week4!=null) weekData+="&nbsp;四周后涨幅:<i class='increase' style='color:"+this.GetColor(item.ExtendData.FWeek.Week4.toFixed(2))+"'>"+ item.ExtendData.FWeek.Week4.toFixed(2)+"%</i>";
89539
- if (weekData.length>0) weekData="<br/>&nbsp;&nbsp;<i class='prorecast-week'>"+weekData+"</i>";
89540
- }
89541
- var strDate=item.Date.toString();
89542
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
89543
- strText+="<span>"+strNew+"&nbsp;&nbsp;"+year+reportType+item.Title+"&nbsp;"+weekData+"</span>";
89544
-
89545
- }
89546
- else if (infoType==KLINE_INFO_TYPE.RESEARCH) //调研单独处理
89547
- {
89548
- var levels=item.ExtendData.Level;
89549
- var recPerson=[];
89550
- if(levels.length==0){
89551
- recPerson = "<i>无</i>"
89552
- }else{
89553
- for(var j in levels)
89554
- {
89555
- if(levels[j]==0){
89556
- recPerson+="<i style='color:#00a0e9'>证券代表&nbsp;&nbsp;&nbsp;</i>";
89557
- }else if(levels[j]==1){
89558
- recPerson+="<i>董秘&nbsp;&nbsp;&nbsp;</i>";
89559
- }else if(levels[j]==2){
89560
- recPerson+="<i style='color:#00a0e9'>总经理&nbsp;&nbsp;&nbsp;</i>";
89561
- }else if(levels[j]==3){
89562
- recPerson+="<i style='color:#00a0e9'>董事长&nbsp;&nbsp;&nbsp;</i>";
89563
- }
89564
- }
89565
- }
89566
- var strDate=item.Date.toString();
89567
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
89568
- strText+="<span>"+strNew+"&nbsp;&nbsp;&nbsp;接待:&nbsp;&nbsp;&nbsp;"+recPerson+"</span>";
89569
- }else if(infoType==KLINE_INFO_TYPE.BLOCKTRADING)
89570
- {
89571
- var showPriceInfo = item.ExtendData;
89572
- var strDate=item.Date.toString();
89573
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
89574
- strText+="<span><i class='date-tipbox'>"+strNew+"</i>&nbsp;&nbsp;<i class='tipBoxTitle'>成交价:&nbsp;"+showPriceInfo.Price.toFixed(2)+"</i><i class='tipBoxTitle'>收盘价:&nbsp;"+showPriceInfo.ClosePrice.toFixed(2)+
89575
- "</i><br/><i class='rate-discount tipBoxTitle'>溢折价率:&nbsp;<strong style='color:"+ this.GetColor(showPriceInfo.Premium.toFixed(2))+"'>"+
89576
- showPriceInfo.Premium.toFixed(2)+"%</strong></i><i class='tipBoxTitle'>成交量(万股):&nbsp;"+showPriceInfo.Vol.toFixed(2)+"</i></span>";
89577
- }
89578
- else if (infoType==KLINE_INFO_TYPE.TRADEDETAIL) //龙虎榜
89579
- {
89580
- /*var detail=[
89581
- "日价格涨幅偏离值达到9.89%",
89582
- "日价格涨幅偏离值达格涨幅偏离值达格涨幅偏离值达到9.89%"
89583
- ]*/
89584
- var detail=item.ExtendData.Detail;
89585
- //格式:日期 上榜原因: detail[0].TypeExplain
89586
- // detail[1].TypeExplain
89587
- // 一周后涨幅: xx 四周后涨幅: xx
89588
- var str=strOld.toString();
89589
- var strNew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8); //转换时间格式
89590
- var reasons = [];
89591
- for(var i in detail){
89592
- reasons += "<i>"+detail[i].TypeExplain+"</i><br/>"
89593
- // reasons += detail[i] + "<br/>"
89594
- }
89595
-
89596
- strText = "<span><i class='trade-time'>"+strNew+"&nbsp;&nbsp;&nbsp;上榜原因:&nbsp;&nbsp;</i><i class='reason-list'>"+reasons+"</i><br/><i class='trade-detall'>一周后涨幅:&nbsp;<strong style='color:"+
89597
- this.GetColor(item.ExtendData.FWeek.Week1.toFixed(2))+"'>"+ item.ExtendData.FWeek.Week1.toFixed(2)+
89598
- "%</strong>&nbsp;&nbsp;&nbsp;四周后涨幅:&nbsp;<strong style='color:"+this.GetColor(item.ExtendData.FWeek.Week4.toFixed(2))+";'>"+
89599
- item.ExtendData.FWeek.Week4.toFixed(2)+"%</strong></i></span>";
89600
- }
89601
- else
89602
- {
89603
- var str=strOld.toString();
89604
- var strNew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8); //转换时间格式
89605
- strText+="<span>"+strNew+"&nbsp;&nbsp;&nbsp;"+item.Title+"</span>";
89606
- }
89607
- }
89608
- var titleInnerBox = $(".title-length").html(strText);
89609
-
89610
- $("#"+this.ID).html(titleInnerBox);
89611
-
89612
- //当信息超过8条时,添加“共XX条”统计总数
89613
- if(infoList.length > 8){
89614
- $("#"+this.ID).append(strBox);
89615
- }
89616
- }
89617
-
89618
-
89619
- this.GetColor=function(price)
89620
- {
89621
- if(price>0) return this.UpColor;
89622
- else if (price<0) return this.DownColor;
89623
- else return this.UnchagneColor;
89624
- }
89625
-
89626
- //显示窗口,改函数仅为KLineInfoTooltip使用
89627
- this.Show=function(left,top,width,height,tooltip,times)
89628
- {
89629
- //显示位置
89630
- $("#"+this.ID).css({'display':'block','top':top+'px', "left":left+'px', "width":width+'px', "height":height+'px' });
89631
-
89632
- function toolHide() {
89633
- tooltip.Hide();
89634
- }
89635
-
89636
- if (this.TimeOut!=null)
89637
- clearTimeout(this.TimeOut); //清空上一次的定时器,防止定时器不停的被调用
89638
-
89639
- //设置窗口定时隐藏
89640
- this.TimeOut=setTimeout(toolHide,times);
89641
-
89642
- }
89643
-
89644
-
89645
- this.DoModal=function(event)
89646
- {
89647
- var chart=event.data.Chart;
89648
- var infoType=event.data.InfoType; //信息地雷类型
89649
- var infoList=event.data.InfoList; //信息数据列表
89650
- var tooltip=chart.KLineInfoTooltip;
89651
-
89652
- if(!tooltip) return;
89653
- if (tooltip.ID==null) tooltip.Create(); //第1次 需要创建div
89654
-
89655
- tooltip.BindInfoList(infoType,infoList);
89656
-
89657
- var left=event.pageX;
89658
- var top=event.pageY+10;
89659
- var widthTool=380;
89660
- var heightTool=$("#"+tooltip.ID).height();
89661
-
89662
- if((left + widthTool) > chart.UIElement.getBoundingClientRect().width){
89663
- left = left - widthTool;
89664
- }
89665
- /*if(top+heightTool>chart.UIElement.getBoundingClientRect().height){
89666
- top=top-heightTool-45;
89667
- }*/
89668
-
89669
- tooltip.Show(left,top,widthTool,"auto",tooltip,8000);
89670
- }
89671
-
89672
- //鼠标离开
89673
- this.Leave=function(event)
89674
- {
89675
- var chart=event.data.Chart;
89676
- var tooltip=chart.KLineInfoTooltip;
89677
-
89678
- if(!tooltip || tooltip.ID==null) return;
89679
-
89680
- tooltip.Hide();
89681
- }
89682
- }
89683
-
89684
89532
  function MinuteSelectRectDialog(divElement)
89685
89533
  {
89686
89534
  this.newMethod=IDivDialog; //派生
@@ -105,6 +105,7 @@ HQData.NetworkFilter=function(data, callback)
105
105
  break;
106
106
 
107
107
  case "ResearchInfo::RequestData":
108
+ HQData.ResearchInfo_RequestData(data,callback);
108
109
  break;
109
110
 
110
111
  case "BlockTrading::RequestData":
@@ -624,7 +625,15 @@ HQData.PforecastInfo_RequestData=function(data,callback)
624
625
  var kItem=kData.Data[i];
625
626
  if (i%10!=4) continue;
626
627
 
627
- var itemReport={ date:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
628
+ var year=parseInt(kItem.Date/10000); //年份
629
+ var month=parseInt(kItem.Date/100)%100;
630
+ var reprotDate=0;
631
+ if (month>10) reprotDate=year*10000+1231;
632
+ else if (month>6) reprotDate=year*10000+930;
633
+ else if (month>3) reprotDate=year*10000+630;
634
+ else reprotDate=year*10000+331;
635
+
636
+ var itemReport={ date:kItem.Date, time:kItem.Time, title:`业绩预增`, reportdate:reprotDate, fweek:{ week1:0.04, week4:0.02 } }
628
637
 
629
638
  hqchartData.report.push(itemReport);
630
639
 
@@ -642,6 +651,29 @@ HQData.InvestorInfo_RequestData=function(data,callback)
642
651
  callback(TEST_NEWSINTERACT_DATA);
643
652
  }
644
653
 
654
+ HQData.ResearchInfo_RequestData=function(data,callback)
655
+ {
656
+ data.PreventDefault=true;
657
+ var symbol=data.Request.Symbol;
658
+
659
+ var hqchartData={ symbol:symbol, list:[] };
660
+
661
+ var kData=data.HQChart.ChartPaint[0].Data;
662
+ for(var i=0, j=1;i<kData.Data.length;++i)
663
+ {
664
+ var kItem=kData.Data[i];
665
+ if (i%20!=4) continue;
666
+
667
+ var itemReport={ researchdate:kItem.Date, id:i, level:[j%4], type:"xxx调研。" };
668
+
669
+ hqchartData.list.push(itemReport);
670
+
671
+ ++j;
672
+ }
673
+
674
+ callback(hqchartData);
675
+ }
676
+
645
677
  HQData.BlockTrading_RequestData=function(data,callback)
646
678
  {
647
679
  data.PreventDefault=true;