hqchart 1.1.13771 → 1.1.13776

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
 
@@ -10017,6 +10026,9 @@ function CoordinateInfo()
10017
10026
  //百分比 { PriceColor:, PercentageColor:, SplitColor:, Font: }
10018
10027
  //自定义刻度 { Custom:{ Position: 1=强制内部 }}
10019
10028
  this.AreaData; //区域: { Start:, End:, BGColor:, Position:[0=左, 1=右] }
10029
+
10030
+ //不在当前屏范围
10031
+ //this.OutRange={ BGColor:"", TextColor:, BorderColor: TopYOffset:, BottomYOffset: }
10020
10032
  }
10021
10033
 
10022
10034
 
@@ -12201,11 +12213,117 @@ function AverageWidthFrame()
12201
12213
  return { MaxWidth:width, Text:aryText };
12202
12214
  }
12203
12215
 
12216
+ this.DrawOutRangeCustomItem=function(item, mapTextRect)
12217
+ {
12218
+ if (this.IsHScreen===true) return;
12219
+ if (!this.IsShow && !this.IsYDrawMainFrame) return;
12220
+ if (!item.Message[1] && !item.Message[0]) return;
12221
+ if (!item.OutRange) return;
12222
+ var position=0; //1=top 2=bottom
12223
+ if (item.Value>this.HorizontalMax) position=1;
12224
+ else if (item.Value<this.HorizontalMin) position=2;
12225
+ else return;
12226
+
12227
+ this.Canvas.save();
12228
+ var outRange=item.OutRange;
12229
+ var border=this.GetBorder();
12230
+ var left=border.Left;
12231
+ var right=border.Right;
12232
+ var bottom=border.Bottom;
12233
+ var top=border.Top;
12234
+ var borderRight = this.ChartBorder.Right;
12235
+ var borderLeft = this.ChartBorder.Left;
12236
+ var titleHeight = this.ChartBorder.TitleHeight;
12237
+
12238
+ if (this.IsHScreen)
12239
+ {
12240
+ borderLeft=this.ChartBorder.Top;
12241
+ borderRight=this.ChartBorder.Bottom;
12242
+ top=border.Top;
12243
+ bottom=border.Bottom;
12244
+ }
12245
+
12246
+ var pixelTatio = GetDevicePixelRatio();
12247
+ var defaultTextHeight=18*pixelTatio;
12248
+ var textHeight=defaultTextHeight;
12249
+
12250
+ if (item.Message[0] && borderLeft>=10)
12251
+ {
12252
+
12253
+ }
12254
+ else if (item.Message[1] && borderRight>=10)
12255
+ {
12256
+ if (item.Font != null) this.Canvas.font = item.Font;
12257
+ var textInfo=this.GetCustomItemTextInfo(item,false,pixelTatio);
12258
+ var textWidth=textInfo.MaxWidth;
12259
+ var itemRight=right+textWidth;
12260
+ var fontHeight=this.GetFontHeight();
12261
+ var textHeight=fontHeight>defaultTextHeight? fontHeight:defaultTextHeight;
12262
+ this.Canvas.textAlign = "left";
12263
+ this.Canvas.textBaseline = "middle";
12264
+
12265
+ var yText=null;
12266
+ if (position==1)
12267
+ {
12268
+ yText=border.TopEx;
12269
+ if (IFrameSplitOperator.IsNumber(outRange.TopYOffset)) yText+=outRange.TopYOffset;
12270
+ }
12271
+ else if (position==2)
12272
+ {
12273
+ yText=border.BottomEx+textHeight;
12274
+ if (IFrameSplitOperator.IsNumber(outRange.BottomYOffset)) yText+=outRange.BottomYOffset;
12275
+ }
12276
+
12277
+ for(var i=0;i<textInfo.Text.length;++i)
12278
+ {
12279
+ var itemText=textInfo.Text[i];
12280
+ var rtBG={ Right:itemRight, Width:itemText.Width, Bottom:yText, Height:textHeight };
12281
+ rtBG.Top=rtBG.Bottom-rtBG.Height;
12282
+ rtBG.Left=rtBG.Right-rtBG.Width;
12283
+
12284
+ if (item.ExtendLine && item.ExtendLine[1]) //右侧延长线
12285
+ {
12286
+ var exLine=item.ExtendLine[1];
12287
+ if (IFrameSplitOperator.IsNumber(exLine.Width))
12288
+ {
12289
+ var yLine=rtBG.Bottom;
12290
+ if (position==2) yLine=rtBG.Top;
12291
+ var lineType=item.LineType;
12292
+ if (IFrameSplitOperator.IsNumber(outRange.ExtendLine.Type)) lineType=outRange.ExtendLine.Type;
12293
+ if (i==0) this.DrawLine(right,right+exLine.Width,yLine,item.LineColor,lineType,item);
12294
+
12295
+ rtBG.Left+=exLine.Width;
12296
+ rtBG.Right+=exLine.Width;
12297
+ }
12298
+ }
12299
+
12300
+ this.Canvas.fillStyle=outRange.BGColor;
12301
+ this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
12302
+ if (outRange.Border && outRange.Border.Color)
12303
+ {
12304
+ if (IFrameSplitOperator.IsNonEmptyArray(outRange.Border.LineDash))
12305
+ this.Canvas.setLineDash(outRange.Border.LineDash); //虚线
12306
+
12307
+ this.Canvas.strokeStyle = outRange.Border.Color;
12308
+ this.Canvas.strokeRect(ToFixedPoint(rtBG.Left), ToFixedPoint(rtBG.Top), ToFixedRect(rtBG.Width), ToFixedRect(rtBG.Height));
12309
+ }
12310
+
12311
+ this.Canvas.fillStyle = outRange.TextColor;
12312
+ this.Canvas.fillText(itemText.Text, rtBG.Left + 1*pixelTatio, rtBG.Top+rtBG.Height/2+1*pixelTatio);
12313
+
12314
+ yText+=textHeight+1;
12315
+ }
12316
+ }
12317
+
12318
+ this.Canvas.restore();
12319
+ }
12320
+
12204
12321
  this.DrawCustomItem=function(item, mapTextRect) //显示自定义Y刻度
12205
12322
  {
12206
12323
  if (!item.Message[1] && !item.Message[0]) return;
12207
12324
  if (item.Value>this.HorizontalMax || item.Value<this.HorizontalMin)
12208
12325
  {
12326
+ this.DrawOutRangeCustomItem(item, mapTextRect);
12209
12327
  this.SendDrawCountDownEvent( { IsShow:false } );
12210
12328
  return;
12211
12329
  }
@@ -17058,6 +17176,7 @@ function OverlayKLineFrame()
17058
17176
  if (!item.Message[1] && !item.Message[0]) return;
17059
17177
  if (item.Value>this.HorizontalMax || item.Value<this.HorizontalMin)
17060
17178
  {
17179
+ //this.DrawOutRangeCustomItem(item, mapTextRect);
17061
17180
  this.SendDrawCountDownEvent( { IsShow:false } );
17062
17181
  return;
17063
17182
  }
@@ -76616,6 +76735,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76616
76735
  var klineType=klineChart.DrawType;
76617
76736
  var bThinAKBar=klineChart.IsThinAKBar;
76618
76737
  var priceGap=klineChart.PriceGap; //缺口配置信息
76738
+ var infoPosition=klineChart.InfoPosition;
76619
76739
  var coordinateType=null, yCoordinateType=null; //坐标类型
76620
76740
  var mainFrame=null;
76621
76741
  if (this.Frame.SubFrame[0] && this.Frame.SubFrame[0].Frame) mainFrame=this.Frame.SubFrame[0].Frame;
@@ -76725,6 +76845,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76725
76845
  { Name:"大宗交易", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["大宗交易", !aryKLineInfo.includes("BlockTrading")]}, Checked:aryKLineInfo.includes("BlockTrading") },
76726
76846
  { Name:"龙虎榜", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["龙虎榜", !aryKLineInfo.includes("TradeDetail")]}, Checked:aryKLineInfo.includes("TradeDetail") },
76727
76847
  { Name:"互动易", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["互动易", !aryKLineInfo.includes("InvestorInfo")]}, Checked:aryKLineInfo.includes("InvestorInfo") },
76848
+ { Name:JSPopMenu.SEPARATOR_LINE_NAME },
76849
+ {
76850
+ Name:"显示位置",
76851
+ SubMenu:
76852
+ [
76853
+ { Name:"底部", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID, Args:[1]}, Checked:infoPosition===1 },
76854
+ { Name:"K线上", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID, Args:[0]}, Checked:infoPosition===0 },
76855
+ ]
76856
+ },
76857
+
76728
76858
  ]
76729
76859
  },
76730
76860
  {
@@ -88372,56 +88502,29 @@ function PforecastInfo()
88372
88502
 
88373
88503
  if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
88374
88504
 
88375
- //请求数据
88376
- JSNetwork.HttpRequest({
88377
- url: url,
88378
- data:
88379
- {
88380
- "field": ["pforecast.type","pforecast.reportdate","fweek"],
88381
- "condition":
88382
- [
88383
- {"item":["pforecast.reportdate","int32","gte",this.StartDate]}
88384
- ],
88385
- "symbol": [param.HQChart.Symbol],
88386
- "start":0,
88387
- "end":this.MaxRequestDataCount,
88388
- },
88389
- type:"post",
88390
- dataType: "json",
88391
- async:true,
88392
- success: function (recvData)
88393
- {
88394
- self.RecvData(recvData,param);
88395
- }
88396
- });
88397
-
88505
+ console.warn("[PforecastInfo::RequestData] NetworkFilter error.");
88398
88506
  return true;
88399
88507
  }
88400
88508
 
88401
88509
  this.RecvData=function(recvData,param)
88402
88510
  {
88403
- if (recvData.stock.length!=1) return;
88404
- if (recvData.stock[0].stockday.length<=0) return;
88511
+ if (!IFrameSplitOperator.IsNonEmptyArray(recvData.report)) return;
88405
88512
 
88406
- for(var i in recvData.stock[0].stockday)
88513
+ for(var i=0; i<recvData.report.length; ++i)
88407
88514
  {
88408
- var item=recvData.stock[0].stockday[i];
88409
- if (item.pforecast.length>0)
88515
+ var item=recvData.report[i];
88516
+ var infoData=new KLineInfoData();
88517
+ infoData.Date= item.date;
88518
+ infoData.Title=item.title;
88519
+ infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;
88520
+ infoData.ExtendData={ Type:item.title, ReportDate:item.reportdate}
88521
+ if(item.fweek) //未来周涨幅
88410
88522
  {
88411
- var dataItem=item.pforecast[0];
88412
- var infoData=new KLineInfoData();
88413
- infoData.Date= item.date;
88414
- infoData.Title=dataItem.type;
88415
- infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;
88416
- infoData.ExtendData={ Type:dataItem.type, ReportDate:dataItem.reportdate}
88417
- if(item.fweek) //未来周涨幅
88418
- {
88419
- infoData.ExtendData.FWeek={};
88420
- if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
88421
- if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
88422
- }
88423
- this.Data.push(infoData);
88523
+ infoData.ExtendData.FWeek={};
88524
+ if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
88525
+ if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
88424
88526
  }
88527
+ this.Data.push(infoData);
88425
88528
  }
88426
88529
 
88427
88530
  param.HQChart.UpdataChartInfo();
@@ -88453,34 +88556,15 @@ function ResearchInfo()
88453
88556
 
88454
88557
  if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
88455
88558
 
88456
- //请求数据
88457
- JSNetwork.HttpRequest({
88458
- url: url,
88459
- data:
88460
- {
88461
- "filed": ["releasedate","researchdate","level","symbol","id",'type'],
88462
- "querydate":{"StartDate":this.StartDate,"EndDate":this.GetToday()},
88463
- "symbol": [param.HQChart.Symbol],
88464
- "start":0,
88465
- "end":this.MaxRequestDataCount,
88466
- },
88467
- type:"post",
88468
- dataType: "json",
88469
- async:true,
88470
- success: function (recvData)
88471
- {
88472
- self.RecvData(recvData,param);
88473
- }
88474
- });
88475
-
88559
+ console.warn("[ResearchInfo::RequestData] NetworkFilter error.");
88476
88560
  return true;
88477
88561
  }
88478
88562
 
88479
88563
  this.RecvData=function(recvData,param)
88480
88564
  {
88481
- if (recvData.list.length<=0) return;
88565
+ if (!IFrameSplitOperator.IsNonEmptyArray(recvData.list)) return;
88482
88566
 
88483
- for(var i in recvData.list)
88567
+ for(var i=0;i<recvData.list.length; ++i)
88484
88568
  {
88485
88569
  var item=recvData.list[i];
88486
88570
  var infoData=new KLineInfoData();
@@ -89374,203 +89458,6 @@ function ChangeIndexDialog(divElement)
89374
89458
  }
89375
89459
  }
89376
89460
 
89377
- //信息地理tooltip
89378
- function KLineInfoTooltip(divElement)
89379
- {
89380
- this.newMethod=IDivDialog; //派生
89381
- this.newMethod(divElement);
89382
- delete this.newMethod;
89383
-
89384
- this.UpColor=g_JSChartResource.UpTextColor;
89385
- this.DownColor=g_JSChartResource.DownTextColor;
89386
- this.UnchagneColor=g_JSChartResource.UnchagneTextColor;
89387
-
89388
- this.Create=function()
89389
- {
89390
- this.ID=Guid();
89391
-
89392
- var div=document.createElement('div');
89393
- div.className='jchart-klineinfo-tooltip';
89394
- div.id=this.ID;
89395
- div.innerHTML="<div class='title-length'></div>";
89396
- this.DivElement.appendChild(div);
89397
- }
89398
-
89399
-
89400
- this.BindInfoList=function(infoType,infoList)
89401
- {
89402
- var strBox="<div class='total-list'>共"+infoList.length+"条</div>";
89403
- var strText=[];
89404
- for(var i in infoList)
89405
- {
89406
- var item=infoList[i];
89407
- var strOld=item.Date;
89408
- if(infoType==KLINE_INFO_TYPE.PFORECAST)
89409
- {
89410
- var reportDate=item.ExtendData.ReportDate;
89411
- var year=parseInt(reportDate/10000); //年份
89412
- var day=reportDate%10000; //比较 这个去掉年份的日期
89413
- var reportType;
89414
- if(day == 1231){
89415
- reportType = "年报"
89416
- }else if(day == 331){
89417
- reportType = "一季度报"
89418
- }else if(day == 630){
89419
- reportType = "半年度报"
89420
- }else if(day == 930){
89421
- reportType = "三季度报"
89422
- }
89423
-
89424
- var weekData="";
89425
- if (item.ExtendData.FWeek)
89426
- {
89427
- 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>";
89428
- 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>";
89429
- if (weekData.length>0) weekData="<br/>&nbsp;&nbsp;<i class='prorecast-week'>"+weekData+"</i>";
89430
- }
89431
- var strDate=item.Date.toString();
89432
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
89433
- strText+="<span>"+strNew+"&nbsp;&nbsp;"+year+reportType+item.Title+"&nbsp;"+weekData+"</span>";
89434
-
89435
- }
89436
- else if (infoType==KLINE_INFO_TYPE.RESEARCH) //调研单独处理
89437
- {
89438
- var levels=item.ExtendData.Level;
89439
- var recPerson=[];
89440
- if(levels.length==0){
89441
- recPerson = "<i>无</i>"
89442
- }else{
89443
- for(var j in levels)
89444
- {
89445
- if(levels[j]==0){
89446
- recPerson+="<i style='color:#00a0e9'>证券代表&nbsp;&nbsp;&nbsp;</i>";
89447
- }else if(levels[j]==1){
89448
- recPerson+="<i>董秘&nbsp;&nbsp;&nbsp;</i>";
89449
- }else if(levels[j]==2){
89450
- recPerson+="<i style='color:#00a0e9'>总经理&nbsp;&nbsp;&nbsp;</i>";
89451
- }else if(levels[j]==3){
89452
- recPerson+="<i style='color:#00a0e9'>董事长&nbsp;&nbsp;&nbsp;</i>";
89453
- }
89454
- }
89455
- }
89456
- var strDate=item.Date.toString();
89457
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
89458
- strText+="<span>"+strNew+"&nbsp;&nbsp;&nbsp;接待:&nbsp;&nbsp;&nbsp;"+recPerson+"</span>";
89459
- }else if(infoType==KLINE_INFO_TYPE.BLOCKTRADING)
89460
- {
89461
- var showPriceInfo = item.ExtendData;
89462
- var strDate=item.Date.toString();
89463
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
89464
- 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)+
89465
- "</i><br/><i class='rate-discount tipBoxTitle'>溢折价率:&nbsp;<strong style='color:"+ this.GetColor(showPriceInfo.Premium.toFixed(2))+"'>"+
89466
- showPriceInfo.Premium.toFixed(2)+"%</strong></i><i class='tipBoxTitle'>成交量(万股):&nbsp;"+showPriceInfo.Vol.toFixed(2)+"</i></span>";
89467
- }
89468
- else if (infoType==KLINE_INFO_TYPE.TRADEDETAIL) //龙虎榜
89469
- {
89470
- /*var detail=[
89471
- "日价格涨幅偏离值达到9.89%",
89472
- "日价格涨幅偏离值达格涨幅偏离值达格涨幅偏离值达到9.89%"
89473
- ]*/
89474
- var detail=item.ExtendData.Detail;
89475
- //格式:日期 上榜原因: detail[0].TypeExplain
89476
- // detail[1].TypeExplain
89477
- // 一周后涨幅: xx 四周后涨幅: xx
89478
- var str=strOld.toString();
89479
- var strNew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8); //转换时间格式
89480
- var reasons = [];
89481
- for(var i in detail){
89482
- reasons += "<i>"+detail[i].TypeExplain+"</i><br/>"
89483
- // reasons += detail[i] + "<br/>"
89484
- }
89485
-
89486
- 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:"+
89487
- this.GetColor(item.ExtendData.FWeek.Week1.toFixed(2))+"'>"+ item.ExtendData.FWeek.Week1.toFixed(2)+
89488
- "%</strong>&nbsp;&nbsp;&nbsp;四周后涨幅:&nbsp;<strong style='color:"+this.GetColor(item.ExtendData.FWeek.Week4.toFixed(2))+";'>"+
89489
- item.ExtendData.FWeek.Week4.toFixed(2)+"%</strong></i></span>";
89490
- }
89491
- else
89492
- {
89493
- var str=strOld.toString();
89494
- var strNew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8); //转换时间格式
89495
- strText+="<span>"+strNew+"&nbsp;&nbsp;&nbsp;"+item.Title+"</span>";
89496
- }
89497
- }
89498
- var titleInnerBox = $(".title-length").html(strText);
89499
-
89500
- $("#"+this.ID).html(titleInnerBox);
89501
-
89502
- //当信息超过8条时,添加“共XX条”统计总数
89503
- if(infoList.length > 8){
89504
- $("#"+this.ID).append(strBox);
89505
- }
89506
- }
89507
-
89508
-
89509
- this.GetColor=function(price)
89510
- {
89511
- if(price>0) return this.UpColor;
89512
- else if (price<0) return this.DownColor;
89513
- else return this.UnchagneColor;
89514
- }
89515
-
89516
- //显示窗口,改函数仅为KLineInfoTooltip使用
89517
- this.Show=function(left,top,width,height,tooltip,times)
89518
- {
89519
- //显示位置
89520
- $("#"+this.ID).css({'display':'block','top':top+'px', "left":left+'px', "width":width+'px', "height":height+'px' });
89521
-
89522
- function toolHide() {
89523
- tooltip.Hide();
89524
- }
89525
-
89526
- if (this.TimeOut!=null)
89527
- clearTimeout(this.TimeOut); //清空上一次的定时器,防止定时器不停的被调用
89528
-
89529
- //设置窗口定时隐藏
89530
- this.TimeOut=setTimeout(toolHide,times);
89531
-
89532
- }
89533
-
89534
-
89535
- this.DoModal=function(event)
89536
- {
89537
- var chart=event.data.Chart;
89538
- var infoType=event.data.InfoType; //信息地雷类型
89539
- var infoList=event.data.InfoList; //信息数据列表
89540
- var tooltip=chart.KLineInfoTooltip;
89541
-
89542
- if(!tooltip) return;
89543
- if (tooltip.ID==null) tooltip.Create(); //第1次 需要创建div
89544
-
89545
- tooltip.BindInfoList(infoType,infoList);
89546
-
89547
- var left=event.pageX;
89548
- var top=event.pageY+10;
89549
- var widthTool=380;
89550
- var heightTool=$("#"+tooltip.ID).height();
89551
-
89552
- if((left + widthTool) > chart.UIElement.getBoundingClientRect().width){
89553
- left = left - widthTool;
89554
- }
89555
- /*if(top+heightTool>chart.UIElement.getBoundingClientRect().height){
89556
- top=top-heightTool-45;
89557
- }*/
89558
-
89559
- tooltip.Show(left,top,widthTool,"auto",tooltip,8000);
89560
- }
89561
-
89562
- //鼠标离开
89563
- this.Leave=function(event)
89564
- {
89565
- var chart=event.data.Chart;
89566
- var tooltip=chart.KLineInfoTooltip;
89567
-
89568
- if(!tooltip || tooltip.ID==null) return;
89569
-
89570
- tooltip.Hide();
89571
- }
89572
- }
89573
-
89574
89461
  function MinuteSelectRectDialog(divElement)
89575
89462
  {
89576
89463
  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;