hqchart 1.1.14219 → 1.1.14224

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.
@@ -6807,18 +6807,19 @@ var JSCHART_MENU_ID=
6807
6807
  CMD_CHANGE_INFO_POSITION_ID:41, //修改信息地雷位置
6808
6808
  CMD_CHIP_CHART_SETTING_ID:42, //筹码图设置
6809
6809
 
6810
+ CMD_DIALOG_TOOLTIP_ATTRIBUTE:43, //修改K线信息框属性 Ary:[{ Enable:, Style:}, ]
6811
+ CMD_KLINE_TOOLTIP_ATTRIBUTE:44, //修改K线提示框属性 Ary:[{ Enable:true/false, EnableKeyDown:true/false}]
6810
6812
 
6811
- CMD_REPORT_CHANGE_BLOCK_ID:60, //报价列表 切换板块ID
6812
- CMD_REPORT_COLUMN_SORT_ID:61, //报价列表 表头排序 Arg[列序号, 排序方向]
6813
- CMD_REPORT_COLUMN_DEL_ID:62, //报价列表 删除列
6814
- CMD_REPORT_COLUMN_MOVE_ID:63, //报价列表 列移动
6815
- CMD_REPORT_COLUMN_FILTER_ID:64, //报价列表 筛选
6813
+ CMD_MODIFY_INDEX_PARAM:45, //指标删除修改 [windowIndex, ]
6814
+ CMD_MODIFY_OVERLAY_INDEX_PARAM:46, //叠加指标修改 [windowIndex, ID ]
6816
6815
 
6817
- CMD_DIALOG_TOOLTIP_ATTRIBUTE:65, //修改K线信息框属性 Ary:[{ Enable:, Style:}, ]
6818
- CMD_KLINE_TOOLTIP_ATTRIBUTE:66, //修改K线提示框属性 Ary:[{ Enable:true/false, EnableKeyDown:true/false}]
6819
6816
 
6820
- CMD_MODIFY_INDEX_PARAM:67, //指标删除修改 [windowIndex, ]
6821
- CMD_MODIFY_OVERLAY_INDEX_PARAM:68, //叠加指标修改 [windowIndex, ID ]
6817
+ CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
6818
+ CMD_REPORT_COLUMN_SORT_ID:101, //报价列表 表头排序 Arg[列序号, 排序方向]
6819
+ CMD_REPORT_COLUMN_DEL_ID:102, //报价列表 删除列
6820
+ CMD_REPORT_COLUMN_MOVE_ID:103, //报价列表 列移动
6821
+ CMD_REPORT_COLUMN_FILTER_ID:104, //报价列表 筛选
6822
+ CMD_REPORT_CHANGE_COLUMN_ID:105, //报价列表 切换列 Arg[Column, ]
6822
6823
  }
6823
6824
 
6824
6825
 
@@ -129717,25 +129718,31 @@ function JSReportChartContainer(uielement)
129717
129718
  this.PopupRightMenu(x,y,e);
129718
129719
  }
129719
129720
 
129720
- this.PopupRightMenu=function(x,y, e)
129721
+
129722
+ this.PtInReportChart=function(x,y) //Type: 2=行 3=表头 4=固定行
129721
129723
  {
129722
129724
  var chart=this.GetReportChart();
129723
- if (!chart) return;
129725
+ if (!chart) return null;
129724
129726
 
129725
- var row=chart.PtInFixedBody(x,y);
129726
- if (row)
129727
- {
129728
- row.Type=1;
129729
- }
129730
- else
129731
- {
129732
- row=chart.PtInBody(x,y);
129733
- if (row) row.Type=2;
129734
- }
129727
+ var row=chart.PtInHeader(x,y);
129728
+ if (row) return { Type:3, Row:row, X:x, Y:y };
129729
+
129730
+ row=chart.PtInFixedBody(x,y);
129731
+ if (row) return { Type:4, Row:row , X:x, Y:y };
129735
129732
 
129733
+ row=chart.PtInBody(x,y);
129734
+ if (row) return { Type:2, Row:row , X:x, Y:y };
129735
+
129736
+ return { Type:-1, Row:null, X:x, Y:y };
129737
+ }
129738
+
129739
+ this.PopupRightMenu=function(x,y, e)
129740
+ {
129741
+ var data=this.PtInReportChart(x,y);
129742
+ if (!data) return;
129736
129743
  if (!this.JSPopMenu) return;
129737
129744
 
129738
- var data={ Row:row, X:x, Y:y };
129745
+ data.e=e;
129739
129746
  var menuData={ Menu:null, Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID };
129740
129747
  menuData.ClickCallback=(data)=>{ this.OnClickRightMenu(data); }
129741
129748
 
@@ -131400,6 +131407,36 @@ function JSReportChartContainer(uielement)
131400
131407
  if (IFrameSplitOperator.IsNumber(param))
131401
131408
  this.DeleteColumn(param, {Redraw:true});
131402
131409
  break;
131410
+ case JSCHART_MENU_ID.CMD_REPORT_CHANGE_COLUMN_ID:
131411
+ if (param!=null && aryArgs[1]) this.ChangeColumn(param, aryArgs[1], { Redraw:true})
131412
+ break;
131413
+ }
131414
+ }
131415
+
131416
+
131417
+ this.ChangeColumn=function(index, newColumn, option)
131418
+ {
131419
+ if (index<0) return;
131420
+ if (!newColumn) return;
131421
+
131422
+ var reportChart=this.GetReportChart();
131423
+ if (!reportChart) return;
131424
+
131425
+ if (!reportChart.ChangeColumn(index, newColumn)) return;
131426
+
131427
+ if (this.SortInfo && this.SortInfo.Field==index && this.SortInfo.Sort>0) //去掉排序
131428
+ {
131429
+ this.SortInfo.Field=-1;
131430
+ this.SortInfo.Sort=0;
131431
+ this.Data.Data=[];
131432
+ if (IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
131433
+ this.Data.Data=this.SourceData.Data.slice();
131434
+ }
131435
+
131436
+ if (option && option.Redraw)
131437
+ {
131438
+ this.SetSizeChange(true);
131439
+ this.Draw();
131403
131440
  }
131404
131441
  }
131405
131442
 
@@ -132482,6 +132519,134 @@ function ChartReport()
132482
132519
  this.ProgressBarConfig=CloneData(g_JSChartResource.Report.ProgressBar);
132483
132520
  }
132484
132521
 
132522
+ this.CreateColumnItem=function(item)
132523
+ {
132524
+ var colItem=this.GetDefaultColunm(item.Type);
132525
+ if (!colItem) return null;
132526
+
132527
+ if (item.Title) colItem.Title=item.Title;
132528
+ if (item.TextAlign) colItem.TextAlign=item.TextAlign;
132529
+ if (item.TextColor) colItem.TextColor=item.TextColor;
132530
+ if (item.HeaderColor) colItem.HeaderColor=item.HeaderColor;
132531
+ if (item.MaxText) colItem.MaxText=item.MaxText;
132532
+ if (item.MaxText2) colItem.MaxText=item.MaxText2;
132533
+ if (IFrameSplitOperator.IsNumber(item.Space)) colItem.Space=item.Space;
132534
+ if (item.ID) colItem.ID=item.ID;
132535
+ if (item.FullColBGColor) colItem.FullColBGColor=item.FullColBGColor; //整列背景色
132536
+ if (item.HeaderBGColor) colItem.HeaderBGColor=item.HeaderBGColor; //表头背景色
132537
+ if (IFrameSplitOperator.IsNumber(item.Sort)) colItem.Sort=item.Sort;
132538
+ if (IFrameSplitOperator.IsNumber(item.FixedWidth)) colItem.FixedWidth=item.FixedWidth;
132539
+ if (IFrameSplitOperator.IsBool(item.EnableDragWidth)) colItem.EnableDragWidth=item.EnableDragWidth;
132540
+ if (IFrameSplitOperator.IsBool(item.IsDrawCallback)) colItem.IsDrawCallback=item.IsDrawCallback;
132541
+ else colItem.IsDrawCallback=false;
132542
+
132543
+ if (IFrameSplitOperator.IsNumber(item.FloatPrecision)) colItem.FloatPrecision=item.FloatPrecision; //小数位数
132544
+ if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //0=默认 1=(>0, =0, <0) 2=(>=0, <0)
132545
+ if (item.Icon) colItem.Icon=item.Icon;
132546
+ if (IFrameSplitOperator.IsBool(item.EnableChartTooltip)) colItem.EnableChartTooltip=item.EnableChartTooltip;
132547
+
132548
+ //点击表头弹出菜单
132549
+ if (IFrameSplitOperator.IsBool(item.EnablePopupHeaderMenu)) colItem.EnablePopupHeaderMenu=item.EnablePopupHeaderMenu;
132550
+
132551
+ if (item.Sort==1 || item.Sort==2) //1本地排序 2=远程排序
132552
+ {
132553
+ colItem.SortType=[1,2]; //默认 降序 ,升序
132554
+ if (IFrameSplitOperator.IsNonEmptyArray(item.SortType)) colItem.SortType=item.SortType.slice();
132555
+ }
132556
+
132557
+ if (item.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)
132558
+ {
132559
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
132560
+ colItem.FormatType=0; //0=默认格式 1=长度不够使用...
132561
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132562
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132563
+ if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType; //输出样式
132564
+ }
132565
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID)
132566
+ {
132567
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
132568
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132569
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132570
+ colItem.Decimal=2;
132571
+ colItem.FormatType=0; //0=默认格式化 1=原始输出 2=科学计数 3=成交量格式化
132572
+ colItem.ColorType=0; //0=默认使用TextColor, 1=(>0涨,<0跌)2=(>昨收涨,<昨收跌)
132573
+ if (IFrameSplitOperator.IsNumber(item.Decimal)) colItem.Decimal=item.Decimal; //小数位数
132574
+ if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType; //输出样式
132575
+ if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //颜色属性
132576
+ }
132577
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID)
132578
+ {
132579
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
132580
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132581
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132582
+ colItem.FormatType=0; //0=yyyy-mm-dd 1=YYYY/MM/DD
132583
+ colItem.ValueType=0; //0=yyyymmdd 1=hhmmss
132584
+ if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType; //输出样式
132585
+ if (IFrameSplitOperator.IsNumber(item.ValueType)) colItem.FormatType=item.ValueType; //输出样式
132586
+
132587
+ }
132588
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
132589
+ {
132590
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
132591
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132592
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132593
+ if (item.CheckBox) colItem.CheckBox=CloneData(item.CheckBox);
132594
+ else colItem.CheckBox=this.CheckBoxConfig;
132595
+ }
132596
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID)
132597
+ {
132598
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
132599
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132600
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132601
+ if (item.Button) colItem.Button=CloneData(item.Button);
132602
+ else colItem.Button=this.ButtonConfig;
132603
+ }
132604
+ else if (this.IsReserveButtonColumn(item.Type))
132605
+ {
132606
+ if (item.Button) colItem.Button=CloneData(item.Button);
132607
+ else colItem.Button=this.ButtonConfig;
132608
+ }
132609
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID)
132610
+ {
132611
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
132612
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132613
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132614
+ if (item.ProgressBar) colItem.ProgressBar=CloneData(item.ProgressBar);
132615
+ else colItem.ProgressBar=this.ProgressBarConfig;
132616
+ }
132617
+ else if (this.IsReserveProgressBarColumn(item.Type))
132618
+ {
132619
+ if (item.ProgressBar) colItem.ProgressBar=CloneData(item.ProgressBar);
132620
+ else colItem.ProgressBar=this.ProgressBarConfig;
132621
+ }
132622
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID)
132623
+ {
132624
+ if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
132625
+ if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132626
+ if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132627
+ if (item.Link) colItem.Link=CloneData(item.Link);
132628
+ else colItem.Link=this.LinkConfig;
132629
+ }
132630
+ else if (item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID)
132631
+ {
132632
+
132633
+ }
132634
+ else if (item.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID)
132635
+ {
132636
+ if (IFrameSplitOperator.IsBool(item.IsDrawArea)) colItem.IsDrawArea=item.IsDrawArea;
132637
+ }
132638
+ else if(item.Type==REPORT_COLUMN_ID.TIME_ID)
132639
+ {
132640
+ if (IFrameSplitOperator.IsNumber(item.ValueType)) colItem.ValueType=item.ValueType;
132641
+ }
132642
+ else if (item.Type==REPORT_COLUMN_ID.DATE_ID)
132643
+ {
132644
+ if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType;
132645
+ }
132646
+
132647
+ return colItem;
132648
+ }
132649
+
132485
132650
  this.SetColumn=function(aryColumn)
132486
132651
  {
132487
132652
  if (!IFrameSplitOperator.IsNonEmptyArray(aryColumn)) return;
@@ -132490,130 +132655,9 @@ function ChartReport()
132490
132655
  for(var i=0;i<aryColumn.length;++i)
132491
132656
  {
132492
132657
  var item=aryColumn[i];
132493
- var colItem=this.GetDefaultColunm(item.Type);
132658
+ var colItem=this.CreateColumnItem(item);
132494
132659
  if (!colItem) continue;
132495
132660
 
132496
- if (item.Title) colItem.Title=item.Title;
132497
- if (item.TextAlign) colItem.TextAlign=item.TextAlign;
132498
- if (item.TextColor) colItem.TextColor=item.TextColor;
132499
- if (item.HeaderColor) colItem.HeaderColor=item.HeaderColor;
132500
- if (item.MaxText) colItem.MaxText=item.MaxText;
132501
- if (item.MaxText2) colItem.MaxText=item.MaxText2;
132502
- if (IFrameSplitOperator.IsNumber(item.Space)) colItem.Space=item.Space;
132503
- if (item.ID) colItem.ID=item.ID;
132504
- if (item.FullColBGColor) colItem.FullColBGColor=item.FullColBGColor; //整列背景色
132505
- if (item.HeaderBGColor) colItem.HeaderBGColor=item.HeaderBGColor; //表头背景色
132506
- if (IFrameSplitOperator.IsNumber(item.Sort)) colItem.Sort=item.Sort;
132507
- if (IFrameSplitOperator.IsNumber(item.FixedWidth)) colItem.FixedWidth=item.FixedWidth;
132508
- if (IFrameSplitOperator.IsBool(item.EnableDragWidth)) colItem.EnableDragWidth=item.EnableDragWidth;
132509
- if (IFrameSplitOperator.IsBool(item.IsDrawCallback)) colItem.IsDrawCallback=item.IsDrawCallback;
132510
- else colItem.IsDrawCallback=false;
132511
-
132512
- if (IFrameSplitOperator.IsNumber(item.FloatPrecision)) colItem.FloatPrecision=item.FloatPrecision; //小数位数
132513
- if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //0=默认 1=(>0, =0, <0) 2=(>=0, <0)
132514
- if (item.Icon) colItem.Icon=item.Icon;
132515
- if (IFrameSplitOperator.IsBool(item.EnableChartTooltip)) colItem.EnableChartTooltip=item.EnableChartTooltip;
132516
-
132517
- //点击表头弹出菜单
132518
- if (IFrameSplitOperator.IsBool(item.EnablePopupHeaderMenu)) colItem.EnablePopupHeaderMenu=item.EnablePopupHeaderMenu;
132519
-
132520
- if (item.Sort==1 || item.Sort==2) //1本地排序 2=远程排序
132521
- {
132522
- colItem.SortType=[1,2]; //默认 降序 ,升序
132523
- if (IFrameSplitOperator.IsNonEmptyArray(item.SortType)) colItem.SortType=item.SortType.slice();
132524
- }
132525
-
132526
- if (item.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)
132527
- {
132528
- if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
132529
- colItem.FormatType=0; //0=默认格式 1=长度不够使用...
132530
- if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132531
- if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132532
- if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType; //输出样式
132533
- }
132534
- else if (item.Type==REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID)
132535
- {
132536
- if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
132537
- if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132538
- if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132539
- colItem.Decimal=2;
132540
- colItem.FormatType=0; //0=默认格式化 1=原始输出 2=科学计数 3=成交量格式化
132541
- colItem.ColorType=0; //0=默认使用TextColor, 1=(>0涨,<0跌)2=(>昨收涨,<昨收跌)
132542
- if (IFrameSplitOperator.IsNumber(item.Decimal)) colItem.Decimal=item.Decimal; //小数位数
132543
- if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType; //输出样式
132544
- if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //颜色属性
132545
- }
132546
- else if (item.Type==REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID)
132547
- {
132548
- if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
132549
- if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132550
- if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132551
- colItem.FormatType=0; //0=yyyy-mm-dd 1=YYYY/MM/DD
132552
- colItem.ValueType=0; //0=yyyymmdd 1=hhmmss
132553
- if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType; //输出样式
132554
- if (IFrameSplitOperator.IsNumber(item.ValueType)) colItem.FormatType=item.ValueType; //输出样式
132555
-
132556
- }
132557
- else if (item.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID)
132558
- {
132559
- if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
132560
- if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132561
- if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132562
- if (item.CheckBox) colItem.CheckBox=CloneData(item.CheckBox);
132563
- else colItem.CheckBox=this.CheckBoxConfig;
132564
- }
132565
- else if (item.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID)
132566
- {
132567
- if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
132568
- if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132569
- if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132570
- if (item.Button) colItem.Button=CloneData(item.Button);
132571
- else colItem.Button=this.ButtonConfig;
132572
- }
132573
- else if (this.IsReserveButtonColumn(item.Type))
132574
- {
132575
- if (item.Button) colItem.Button=CloneData(item.Button);
132576
- else colItem.Button=this.ButtonConfig;
132577
- }
132578
- else if (item.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID)
132579
- {
132580
- if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
132581
- if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132582
- if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132583
- if (item.ProgressBar) colItem.ProgressBar=CloneData(item.ProgressBar);
132584
- else colItem.ProgressBar=this.ProgressBarConfig;
132585
- }
132586
- else if (this.IsReserveProgressBarColumn(item.Type))
132587
- {
132588
- if (item.ProgressBar) colItem.ProgressBar=CloneData(item.ProgressBar);
132589
- else colItem.ProgressBar=this.ProgressBarConfig;
132590
- }
132591
- else if (item.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID)
132592
- {
132593
- if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
132594
- if (IFrameSplitOperator.IsNumber(item.DataIndex)) colItem.DataIndex=item.DataIndex; //数据在扩展数据索引列
132595
- if (IFrameSplitOperator.IsNumber(item.BlockIndex)) colItem.BlockIndex=item.BlockIndex;
132596
- if (item.Link) colItem.Link=CloneData(item.Link);
132597
- else colItem.Link=this.LinkConfig;
132598
- }
132599
- else if (item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID)
132600
- {
132601
-
132602
- }
132603
- else if (item.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID)
132604
- {
132605
- if (IFrameSplitOperator.IsBool(item.IsDrawArea)) colItem.IsDrawArea=item.IsDrawArea;
132606
- }
132607
- else if(item.Type==REPORT_COLUMN_ID.TIME_ID)
132608
- {
132609
- if (IFrameSplitOperator.IsNumber(item.ValueType)) colItem.ValueType=item.ValueType;
132610
- }
132611
- else if (item.Type==REPORT_COLUMN_ID.DATE_ID)
132612
- {
132613
- if (IFrameSplitOperator.IsNumber(item.FormatType)) colItem.FormatType=item.FormatType;
132614
- }
132615
-
132616
-
132617
132661
  this.Column.push(colItem);
132618
132662
  }
132619
132663
  }
@@ -132643,6 +132687,17 @@ function ChartReport()
132643
132687
  return true;
132644
132688
  }
132645
132689
 
132690
+ this.ChangeColumn=function(index, newColumn)
132691
+ {
132692
+ if (index<0 || index>=this.Column.length) return false;
132693
+
132694
+ var colItem=this.CreateColumnItem(newColumn);
132695
+ if (!colItem) return false;
132696
+ this.Column[index]=colItem;
132697
+
132698
+ return true;
132699
+ }
132700
+
132646
132701
  this.GetXScrollPos=function()
132647
132702
  {
132648
132703
  return this.Data.XOffset;
@@ -135227,7 +135282,9 @@ function ChartReport()
135227
135282
  this.Canvas.lineTo(x,yCenter);
135228
135283
  this.Canvas.lineTo(ptFirst.X,yCenter);
135229
135284
  this.Canvas.closePath();
135230
- this.SetFillStyle(this.CloseLineConfig.AreaColor,left,top, left,bottom);
135285
+ var areaColor=this.CloseLineConfig.AreaColor;
135286
+ if (lineData.AreaColor) areaColor=lineData.AreaColor;
135287
+ this.SetFillStyle(areaColor,left,top, left,bottom);
135231
135288
  this.Canvas.fill();
135232
135289
  }
135233
135290
  }
@@ -149782,7 +149839,7 @@ function HQChartScriptWorker()
149782
149839
 
149783
149840
 
149784
149841
 
149785
- var HQCHART_VERSION="1.1.14218";
149842
+ var HQCHART_VERSION="1.1.14222";
149786
149843
 
149787
149844
  function PrintHQChartVersion()
149788
149845
  {
@@ -259,6 +259,10 @@ HQData.NetworkFilter = function (data, callback) {
259
259
  HQData.FinOne_RequestData(data, callback);
260
260
  break;
261
261
 
262
+ case "JSSymbolData::GetIndexData":
263
+ HQData.INDEX_RequestData(data, callback);
264
+ break;
265
+
262
266
  //////////////////////////////////////////////////////
263
267
  //报价列表数据
264
268
  case "JSReportChartContainer::RequestStockListData":
@@ -982,6 +986,26 @@ HQData.FinOne_RequestData = function (data, callback) {
982
986
  callback({ Date: 20230509, Value: value });
983
987
  };
984
988
 
989
+ HQData.INDEX_RequestData = function (data, callback) {
990
+ data.PreventDefault = true;
991
+ var period = data.Period;
992
+ var symbol = data.Request.Data.symbol;
993
+ var indexSymbol = "000001.sh";
994
+ var dateRange = data.Request.Data.dateRange;
995
+ var aryData = [];
996
+ if (ChartData.IsMinutePeriod(period, true)) {
997
+ var fullData = HQData.GetM1KLineDataBySymbol(symbol);
998
+ if (fullData) aryData = HQData.GetKLineDataByDateTime(fullData, dateRange.Start.Date, dateRange.Start.Time, dateRange.End.Date, dateRange.End.Time);
999
+ } else if (ChartData.IsDayPeriod(period, true)) {
1000
+ var fullData = HQData.GetDayKLineDataBySymbol(indexSymbol);
1001
+ if (fullData) aryData = HQData.GetKLineDataByDate(fullData, dateRange.Start.Date, dateRange.End.Date);
1002
+ }
1003
+
1004
+ var hqchartData = { name: indexSymbol, symbol: indexSymbol, data: aryData, ver: 2.0 };
1005
+
1006
+ callback(hqchartData);
1007
+ };
1008
+
985
1009
  //////////////////////////////////////////////////////////////////////////////////////
986
1010
  // 报价列表
987
1011
  //
@@ -1129,6 +1153,12 @@ HQData.Report_RequestStockData = function (data, callback) {
1129
1153
  extendData[7] = Math.round(Math.random() * 60) / 100;
1130
1154
  extendData[8] = Math.round(Math.random() * 60) / 100;
1131
1155
 
1156
+ newItem[32] = HQData.Report_CreateMinuteData(newItem[2]);
1157
+
1158
+ //K线
1159
+ var kData = { Data: [newItem[3], newItem[4], newItem[5], newItem[6]] };
1160
+ newItem[33] = kData;
1161
+
1132
1162
  newItem[101] = 105.0;
1133
1163
  newItem[201] = "A-[" + HQData.GetRandomTestData(-90, 90) + "]-B";
1134
1164
 
@@ -1173,6 +1203,31 @@ HQData.Report_RequestStockData = function (data, callback) {
1173
1203
  }, 500);
1174
1204
  };
1175
1205
 
1206
+ HQData.Report_CreateMinuteData = function (yClose) {
1207
+ var minuteData = { Data: [], Max: null, Min: null, Count: 242, YClose: yClose };
1208
+ var TEST_DATA = [0.01, -0.02, 0.03, -0.05, -0.01, 0.02, 0.05, 0.01, 0.04, -0.04];
1209
+ var value = yClose;
1210
+ for (var i = 0; i < minuteData.Count; ++i) {
1211
+ var index = Math.ceil(Math.random() * 10);
1212
+
1213
+ value += yClose * TEST_DATA[index % TEST_DATA.length]; //生成模拟的数据
1214
+ minuteData.Data[i] = value;
1215
+
1216
+ if (minuteData.Max == null || minuteData.Max < value) minuteData.Max = value;
1217
+ if (minuteData.Min == null || minuteData.Min > value) minuteData.Min = value;
1218
+ }
1219
+
1220
+ if (value > yClose) {
1221
+ minuteData.Color = "rgb(255,0,0)";
1222
+ minuteData.AreaColor = "rgba(255,0,0,0.2)";
1223
+ } else if (value < yClose) {
1224
+ minuteData.Color = "rgb(4,139,34)";
1225
+ minuteData.AreaColor = "rgba(4,139,34,0.2)";
1226
+ }
1227
+
1228
+ return minuteData;
1229
+ };
1230
+
1176
1231
  HQData.Report_RequestStockSortData = function (data, callback) {
1177
1232
  var blockID = data.Request.Data.symbol; //板块代码
1178
1233
  var range = data.Request.Data.range; //排序范围