hqchart 1.1.13773 → 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.
@@ -6705,6 +6705,8 @@ var JSCHART_MENU_ID=
6705
6705
  CMD_SHOW_CORSS_LINE_ID:39, //显示十字光标线
6706
6706
  CMD_ENABLE_POP_MINUTE_CHART_ID:40, //双击弹分时图
6707
6707
 
6708
+ CMD_CHANGE_INFO_POSITION_ID:41, //修改信息地雷位置
6709
+
6708
6710
 
6709
6711
  CMD_REPORT_CHANGE_BLOCK_ID:60, //报价列表 切换板块ID
6710
6712
  CMD_REPORT_COLUMN_SORT_ID:61, //报价列表 表头排序 Arg[列序号, 排序方向]
@@ -13532,6 +13534,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13532
13534
  }
13533
13535
  }
13534
13536
  break;
13537
+ case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:
13538
+ if (param==null) return false;
13539
+ var klineChart=this.ChartPaint[0];
13540
+ if (!klineChart) return false;
13541
+ klineChart.InfoPosition=param;
13542
+ this.Draw();
13543
+ break;
13535
13544
  }
13536
13545
  }
13537
13546
 
@@ -80651,6 +80660,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
80651
80660
  var klineType=klineChart.DrawType;
80652
80661
  var bThinAKBar=klineChart.IsThinAKBar;
80653
80662
  var priceGap=klineChart.PriceGap; //缺口配置信息
80663
+ var infoPosition=klineChart.InfoPosition;
80654
80664
  var coordinateType=null, yCoordinateType=null; //坐标类型
80655
80665
  var mainFrame=null;
80656
80666
  if (this.Frame.SubFrame[0] && this.Frame.SubFrame[0].Frame) mainFrame=this.Frame.SubFrame[0].Frame;
@@ -80760,6 +80770,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
80760
80770
  { Name:"大宗交易", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["大宗交易", !aryKLineInfo.includes("BlockTrading")]}, Checked:aryKLineInfo.includes("BlockTrading") },
80761
80771
  { Name:"龙虎榜", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["龙虎榜", !aryKLineInfo.includes("TradeDetail")]}, Checked:aryKLineInfo.includes("TradeDetail") },
80762
80772
  { Name:"互动易", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID, Args:["互动易", !aryKLineInfo.includes("InvestorInfo")]}, Checked:aryKLineInfo.includes("InvestorInfo") },
80773
+ { Name:JSPopMenu.SEPARATOR_LINE_NAME },
80774
+ {
80775
+ Name:"显示位置",
80776
+ SubMenu:
80777
+ [
80778
+ { Name:"底部", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID, Args:[1]}, Checked:infoPosition===1 },
80779
+ { Name:"K线上", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID, Args:[0]}, Checked:infoPosition===0 },
80780
+ ]
80781
+ },
80782
+
80763
80783
  ]
80764
80784
  },
80765
80785
  {
@@ -92407,56 +92427,29 @@ function PforecastInfo()
92407
92427
 
92408
92428
  if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
92409
92429
 
92410
- //请求数据
92411
- JSNetwork.HttpRequest({
92412
- url: url,
92413
- data:
92414
- {
92415
- "field": ["pforecast.type","pforecast.reportdate","fweek"],
92416
- "condition":
92417
- [
92418
- {"item":["pforecast.reportdate","int32","gte",this.StartDate]}
92419
- ],
92420
- "symbol": [param.HQChart.Symbol],
92421
- "start":0,
92422
- "end":this.MaxRequestDataCount,
92423
- },
92424
- type:"post",
92425
- dataType: "json",
92426
- async:true,
92427
- success: function (recvData)
92428
- {
92429
- self.RecvData(recvData,param);
92430
- }
92431
- });
92432
-
92430
+ console.warn("[PforecastInfo::RequestData] NetworkFilter error.");
92433
92431
  return true;
92434
92432
  }
92435
92433
 
92436
92434
  this.RecvData=function(recvData,param)
92437
92435
  {
92438
- if (recvData.stock.length!=1) return;
92439
- if (recvData.stock[0].stockday.length<=0) return;
92436
+ if (!IFrameSplitOperator.IsNonEmptyArray(recvData.report)) return;
92440
92437
 
92441
- for(var i in recvData.stock[0].stockday)
92438
+ for(var i=0; i<recvData.report.length; ++i)
92442
92439
  {
92443
- var item=recvData.stock[0].stockday[i];
92444
- if (item.pforecast.length>0)
92440
+ var item=recvData.report[i];
92441
+ var infoData=new KLineInfoData();
92442
+ infoData.Date= item.date;
92443
+ infoData.Title=item.title;
92444
+ infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;
92445
+ infoData.ExtendData={ Type:item.title, ReportDate:item.reportdate}
92446
+ if(item.fweek) //未来周涨幅
92445
92447
  {
92446
- var dataItem=item.pforecast[0];
92447
- var infoData=new KLineInfoData();
92448
- infoData.Date= item.date;
92449
- infoData.Title=dataItem.type;
92450
- infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;
92451
- infoData.ExtendData={ Type:dataItem.type, ReportDate:dataItem.reportdate}
92452
- if(item.fweek) //未来周涨幅
92453
- {
92454
- infoData.ExtendData.FWeek={};
92455
- if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
92456
- if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
92457
- }
92458
- this.Data.push(infoData);
92448
+ infoData.ExtendData.FWeek={};
92449
+ if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
92450
+ if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
92459
92451
  }
92452
+ this.Data.push(infoData);
92460
92453
  }
92461
92454
 
92462
92455
  param.HQChart.UpdataChartInfo();
@@ -92488,34 +92481,15 @@ function ResearchInfo()
92488
92481
 
92489
92482
  if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
92490
92483
 
92491
- //请求数据
92492
- JSNetwork.HttpRequest({
92493
- url: url,
92494
- data:
92495
- {
92496
- "filed": ["releasedate","researchdate","level","symbol","id",'type'],
92497
- "querydate":{"StartDate":this.StartDate,"EndDate":this.GetToday()},
92498
- "symbol": [param.HQChart.Symbol],
92499
- "start":0,
92500
- "end":this.MaxRequestDataCount,
92501
- },
92502
- type:"post",
92503
- dataType: "json",
92504
- async:true,
92505
- success: function (recvData)
92506
- {
92507
- self.RecvData(recvData,param);
92508
- }
92509
- });
92510
-
92484
+ console.warn("[ResearchInfo::RequestData] NetworkFilter error.");
92511
92485
  return true;
92512
92486
  }
92513
92487
 
92514
92488
  this.RecvData=function(recvData,param)
92515
92489
  {
92516
- if (recvData.list.length<=0) return;
92490
+ if (!IFrameSplitOperator.IsNonEmptyArray(recvData.list)) return;
92517
92491
 
92518
- for(var i in recvData.list)
92492
+ for(var i=0;i<recvData.list.length; ++i)
92519
92493
  {
92520
92494
  var item=recvData.list[i];
92521
92495
  var infoData=new KLineInfoData();
@@ -93409,203 +93383,6 @@ function ChangeIndexDialog(divElement)
93409
93383
  }
93410
93384
  }
93411
93385
 
93412
- //信息地理tooltip
93413
- function KLineInfoTooltip(divElement)
93414
- {
93415
- this.newMethod=IDivDialog; //派生
93416
- this.newMethod(divElement);
93417
- delete this.newMethod;
93418
-
93419
- this.UpColor=g_JSChartResource.UpTextColor;
93420
- this.DownColor=g_JSChartResource.DownTextColor;
93421
- this.UnchagneColor=g_JSChartResource.UnchagneTextColor;
93422
-
93423
- this.Create=function()
93424
- {
93425
- this.ID=Guid();
93426
-
93427
- var div=document.createElement('div');
93428
- div.className='jchart-klineinfo-tooltip';
93429
- div.id=this.ID;
93430
- div.innerHTML="<div class='title-length'></div>";
93431
- this.DivElement.appendChild(div);
93432
- }
93433
-
93434
-
93435
- this.BindInfoList=function(infoType,infoList)
93436
- {
93437
- var strBox="<div class='total-list'>共"+infoList.length+"条</div>";
93438
- var strText=[];
93439
- for(var i in infoList)
93440
- {
93441
- var item=infoList[i];
93442
- var strOld=item.Date;
93443
- if(infoType==KLINE_INFO_TYPE.PFORECAST)
93444
- {
93445
- var reportDate=item.ExtendData.ReportDate;
93446
- var year=parseInt(reportDate/10000); //年份
93447
- var day=reportDate%10000; //比较 这个去掉年份的日期
93448
- var reportType;
93449
- if(day == 1231){
93450
- reportType = "年报"
93451
- }else if(day == 331){
93452
- reportType = "一季度报"
93453
- }else if(day == 630){
93454
- reportType = "半年度报"
93455
- }else if(day == 930){
93456
- reportType = "三季度报"
93457
- }
93458
-
93459
- var weekData="";
93460
- if (item.ExtendData.FWeek)
93461
- {
93462
- 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>";
93463
- 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>";
93464
- if (weekData.length>0) weekData="<br/>&nbsp;&nbsp;<i class='prorecast-week'>"+weekData+"</i>";
93465
- }
93466
- var strDate=item.Date.toString();
93467
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
93468
- strText+="<span>"+strNew+"&nbsp;&nbsp;"+year+reportType+item.Title+"&nbsp;"+weekData+"</span>";
93469
-
93470
- }
93471
- else if (infoType==KLINE_INFO_TYPE.RESEARCH) //调研单独处理
93472
- {
93473
- var levels=item.ExtendData.Level;
93474
- var recPerson=[];
93475
- if(levels.length==0){
93476
- recPerson = "<i>无</i>"
93477
- }else{
93478
- for(var j in levels)
93479
- {
93480
- if(levels[j]==0){
93481
- recPerson+="<i style='color:#00a0e9'>证券代表&nbsp;&nbsp;&nbsp;</i>";
93482
- }else if(levels[j]==1){
93483
- recPerson+="<i>董秘&nbsp;&nbsp;&nbsp;</i>";
93484
- }else if(levels[j]==2){
93485
- recPerson+="<i style='color:#00a0e9'>总经理&nbsp;&nbsp;&nbsp;</i>";
93486
- }else if(levels[j]==3){
93487
- recPerson+="<i style='color:#00a0e9'>董事长&nbsp;&nbsp;&nbsp;</i>";
93488
- }
93489
- }
93490
- }
93491
- var strDate=item.Date.toString();
93492
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
93493
- strText+="<span>"+strNew+"&nbsp;&nbsp;&nbsp;接待:&nbsp;&nbsp;&nbsp;"+recPerson+"</span>";
93494
- }else if(infoType==KLINE_INFO_TYPE.BLOCKTRADING)
93495
- {
93496
- var showPriceInfo = item.ExtendData;
93497
- var strDate=item.Date.toString();
93498
- var strNew=strDate.substring(0,4)+"-"+strDate.substring(4,6)+"-"+strDate.substring(6,8); //转换时间格式
93499
- 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)+
93500
- "</i><br/><i class='rate-discount tipBoxTitle'>溢折价率:&nbsp;<strong style='color:"+ this.GetColor(showPriceInfo.Premium.toFixed(2))+"'>"+
93501
- showPriceInfo.Premium.toFixed(2)+"%</strong></i><i class='tipBoxTitle'>成交量(万股):&nbsp;"+showPriceInfo.Vol.toFixed(2)+"</i></span>";
93502
- }
93503
- else if (infoType==KLINE_INFO_TYPE.TRADEDETAIL) //龙虎榜
93504
- {
93505
- /*var detail=[
93506
- "日价格涨幅偏离值达到9.89%",
93507
- "日价格涨幅偏离值达格涨幅偏离值达格涨幅偏离值达到9.89%"
93508
- ]*/
93509
- var detail=item.ExtendData.Detail;
93510
- //格式:日期 上榜原因: detail[0].TypeExplain
93511
- // detail[1].TypeExplain
93512
- // 一周后涨幅: xx 四周后涨幅: xx
93513
- var str=strOld.toString();
93514
- var strNew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8); //转换时间格式
93515
- var reasons = [];
93516
- for(var i in detail){
93517
- reasons += "<i>"+detail[i].TypeExplain+"</i><br/>"
93518
- // reasons += detail[i] + "<br/>"
93519
- }
93520
-
93521
- 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:"+
93522
- this.GetColor(item.ExtendData.FWeek.Week1.toFixed(2))+"'>"+ item.ExtendData.FWeek.Week1.toFixed(2)+
93523
- "%</strong>&nbsp;&nbsp;&nbsp;四周后涨幅:&nbsp;<strong style='color:"+this.GetColor(item.ExtendData.FWeek.Week4.toFixed(2))+";'>"+
93524
- item.ExtendData.FWeek.Week4.toFixed(2)+"%</strong></i></span>";
93525
- }
93526
- else
93527
- {
93528
- var str=strOld.toString();
93529
- var strNew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8); //转换时间格式
93530
- strText+="<span>"+strNew+"&nbsp;&nbsp;&nbsp;"+item.Title+"</span>";
93531
- }
93532
- }
93533
- var titleInnerBox = $(".title-length").html(strText);
93534
-
93535
- $("#"+this.ID).html(titleInnerBox);
93536
-
93537
- //当信息超过8条时,添加“共XX条”统计总数
93538
- if(infoList.length > 8){
93539
- $("#"+this.ID).append(strBox);
93540
- }
93541
- }
93542
-
93543
-
93544
- this.GetColor=function(price)
93545
- {
93546
- if(price>0) return this.UpColor;
93547
- else if (price<0) return this.DownColor;
93548
- else return this.UnchagneColor;
93549
- }
93550
-
93551
- //显示窗口,改函数仅为KLineInfoTooltip使用
93552
- this.Show=function(left,top,width,height,tooltip,times)
93553
- {
93554
- //显示位置
93555
- $("#"+this.ID).css({'display':'block','top':top+'px', "left":left+'px', "width":width+'px', "height":height+'px' });
93556
-
93557
- function toolHide() {
93558
- tooltip.Hide();
93559
- }
93560
-
93561
- if (this.TimeOut!=null)
93562
- clearTimeout(this.TimeOut); //清空上一次的定时器,防止定时器不停的被调用
93563
-
93564
- //设置窗口定时隐藏
93565
- this.TimeOut=setTimeout(toolHide,times);
93566
-
93567
- }
93568
-
93569
-
93570
- this.DoModal=function(event)
93571
- {
93572
- var chart=event.data.Chart;
93573
- var infoType=event.data.InfoType; //信息地雷类型
93574
- var infoList=event.data.InfoList; //信息数据列表
93575
- var tooltip=chart.KLineInfoTooltip;
93576
-
93577
- if(!tooltip) return;
93578
- if (tooltip.ID==null) tooltip.Create(); //第1次 需要创建div
93579
-
93580
- tooltip.BindInfoList(infoType,infoList);
93581
-
93582
- var left=event.pageX;
93583
- var top=event.pageY+10;
93584
- var widthTool=380;
93585
- var heightTool=$("#"+tooltip.ID).height();
93586
-
93587
- if((left + widthTool) > chart.UIElement.getBoundingClientRect().width){
93588
- left = left - widthTool;
93589
- }
93590
- /*if(top+heightTool>chart.UIElement.getBoundingClientRect().height){
93591
- top=top-heightTool-45;
93592
- }*/
93593
-
93594
- tooltip.Show(left,top,widthTool,"auto",tooltip,8000);
93595
- }
93596
-
93597
- //鼠标离开
93598
- this.Leave=function(event)
93599
- {
93600
- var chart=event.data.Chart;
93601
- var tooltip=chart.KLineInfoTooltip;
93602
-
93603
- if(!tooltip || tooltip.ID==null) return;
93604
-
93605
- tooltip.Hide();
93606
- }
93607
- }
93608
-
93609
93386
  function MinuteSelectRectDialog(divElement)
93610
93387
  {
93611
93388
  this.newMethod=IDivDialog; //派生
@@ -138831,7 +138608,7 @@ function ScrollBarBGChart()
138831
138608
 
138832
138609
 
138833
138610
 
138834
- var HQCHART_VERSION="1.1.13770";
138611
+ var HQCHART_VERSION="1.1.13775";
138835
138612
 
138836
138613
  function PrintHQChartVersion()
138837
138614
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13770";
8
+ var HQCHART_VERSION="1.1.13775";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -48780,6 +48780,7 @@ HQData.NetworkFilter=function(data, callback)
48780
48780
  break;
48781
48781
 
48782
48782
  case "ResearchInfo::RequestData":
48783
+ HQData.ResearchInfo_RequestData(data,callback);
48783
48784
  break;
48784
48785
 
48785
48786
  case "BlockTrading::RequestData":
@@ -49299,7 +49300,15 @@ HQData.PforecastInfo_RequestData=function(data,callback)
49299
49300
  var kItem=kData.Data[i];
49300
49301
  if (i%10!=4) continue;
49301
49302
 
49302
- var itemReport={ date:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
49303
+ var year=parseInt(kItem.Date/10000); //年份
49304
+ var month=parseInt(kItem.Date/100)%100;
49305
+ var reprotDate=0;
49306
+ if (month>10) reprotDate=year*10000+1231;
49307
+ else if (month>6) reprotDate=year*10000+930;
49308
+ else if (month>3) reprotDate=year*10000+630;
49309
+ else reprotDate=year*10000+331;
49310
+
49311
+ var itemReport={ date:kItem.Date, time:kItem.Time, title:`业绩预增`, reportdate:reprotDate, fweek:{ week1:0.04, week4:0.02 } }
49303
49312
 
49304
49313
  hqchartData.report.push(itemReport);
49305
49314
 
@@ -49317,6 +49326,29 @@ HQData.InvestorInfo_RequestData=function(data,callback)
49317
49326
  callback(TEST_NEWSINTERACT_DATA);
49318
49327
  }
49319
49328
 
49329
+ HQData.ResearchInfo_RequestData=function(data,callback)
49330
+ {
49331
+ data.PreventDefault=true;
49332
+ var symbol=data.Request.Symbol;
49333
+
49334
+ var hqchartData={ symbol:symbol, list:[] };
49335
+
49336
+ var kData=data.HQChart.ChartPaint[0].Data;
49337
+ for(var i=0, j=1;i<kData.Data.length;++i)
49338
+ {
49339
+ var kItem=kData.Data[i];
49340
+ if (i%20!=4) continue;
49341
+
49342
+ var itemReport={ researchdate:kItem.Date, id:i, level:[j%4], type:"xxx调研。" };
49343
+
49344
+ hqchartData.list.push(itemReport);
49345
+
49346
+ ++j;
49347
+ }
49348
+
49349
+ callback(hqchartData);
49350
+ }
49351
+
49320
49352
  HQData.BlockTrading_RequestData=function(data,callback)
49321
49353
  {
49322
49354
  data.PreventDefault=true;