hqchart 1.1.14104 → 1.1.14115

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.
@@ -160,6 +160,11 @@ function JSReportChart(divElement)
160
160
  this.CreateExtraCanvasElement(JSReportChart.TooltipCursorCanvasKey, { ZIndex:99 });
161
161
  }
162
162
 
163
+ if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable)
164
+ {
165
+ chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
166
+ }
167
+
163
168
  if (option.Symbol) chart.Symbol=option.Symbol;
164
169
  if (option.Name) chart.Name=option.Name;
165
170
 
@@ -482,6 +487,9 @@ function JSReportChartContainer(uielement)
482
487
  this.JSPopMenu; //内置菜单
483
488
  this.IsShowRightMenu=true;
484
489
 
490
+ //
491
+ this.TooltipMinuteChart; //分时图
492
+
485
493
  //MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
486
494
  this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
487
495
 
@@ -489,6 +497,8 @@ function JSReportChartContainer(uielement)
489
497
  {
490
498
  this.IsDestroy=true;
491
499
  this.StopAutoUpdate();
500
+
501
+ this.DestroyMinuteChartTooltip();
492
502
  }
493
503
 
494
504
  this.StopAutoDragScrollTimer=function()
@@ -510,6 +520,48 @@ function JSReportChartContainer(uielement)
510
520
  this.JSPopMenu.Inital();
511
521
  }
512
522
 
523
+ this.InitalMinuteChartTooltip=function(option)
524
+ {
525
+ if (this.TooltipMinuteChart) return;
526
+
527
+ this.TooltipMinuteChart=new JSTooltipMinuteChart();
528
+ this.TooltipMinuteChart.Inital(this, option);
529
+ this.TooltipMinuteChart.Create();
530
+ }
531
+
532
+ this.DestroyMinuteChartTooltip=function()
533
+ {
534
+ if (!this.TooltipMinuteChart) return;
535
+
536
+ this.TooltipMinuteChart.Destroy();
537
+ this.TooltipMinuteChart=null;
538
+ }
539
+
540
+ //data={ Symbol }
541
+ this.ShowMinuteChartTooltip=function(x,y, data)
542
+ {
543
+ if (!this.TooltipMinuteChart) return;
544
+
545
+ var rtClient=this.UIElement.getBoundingClientRect();
546
+ var rtScroll=GetScrollPosition();
547
+
548
+ var offsetLeft=rtClient.left+rtScroll.Left;
549
+ var offsetTop=rtClient.top+rtScroll.Top;
550
+
551
+ data.Offset={ Left:offsetLeft, Top:offsetTop };
552
+
553
+ this.TooltipMinuteChart.Show(data, x,y);
554
+ }
555
+
556
+ this.HideMinuteChartTooltip=function()
557
+ {
558
+ if (!this.TooltipMinuteChart) return;
559
+
560
+ this.TooltipMinuteChart.Hide();
561
+ }
562
+
563
+
564
+
513
565
  this.AutoScrollPage=function(step)
514
566
  {
515
567
  this.AutoDragScrollTimer=setTimeout(() =>
@@ -1537,6 +1589,19 @@ function JSReportChartContainer(uielement)
1537
1589
  if (IFrameSplitOperator.IsNumber(item[308]) || IFrameSplitOperator.IsObject(item[308])) stock.ReserveProgressBar8=item[308];
1538
1590
  if (IFrameSplitOperator.IsNumber(item[309]) || IFrameSplitOperator.IsObject(item[309])) stock.ReserveProgressBar9=item[309];
1539
1591
  if (IFrameSplitOperator.IsNumber(item[310]) || IFrameSplitOperator.IsObject(item[310])) stock.ReserveProgressBar10=item[310];
1592
+
1593
+ //10个按钮 351-400 { Title, Enable:, BGColor, TextColor: }
1594
+ if (IFrameSplitOperator.IsObject(item[351])) stock.ReserveButton1=item[351];
1595
+ if (IFrameSplitOperator.IsObject(item[352])) stock.ReserveButton2=item[352];
1596
+ if (IFrameSplitOperator.IsObject(item[353])) stock.ReserveButton3=item[353];
1597
+ if (IFrameSplitOperator.IsObject(item[354])) stock.ReserveButton4=item[354];
1598
+ if (IFrameSplitOperator.IsObject(item[355])) stock.ReserveButton5=item[355];
1599
+ if (IFrameSplitOperator.IsObject(item[356])) stock.ReserveButton6=item[356];
1600
+ if (IFrameSplitOperator.IsObject(item[357])) stock.ReserveButton7=item[357];
1601
+ if (IFrameSplitOperator.IsObject(item[358])) stock.ReserveButton8=item[358];
1602
+ if (IFrameSplitOperator.IsObject(item[359])) stock.ReserveButton9=item[359];
1603
+ if (IFrameSplitOperator.IsObject(item[360])) stock.ReserveButton10=item[360];
1604
+
1540
1605
  }
1541
1606
 
1542
1607
 
@@ -1932,6 +1997,9 @@ function JSReportChartContainer(uielement)
1932
1997
  var bDrawTooltip=false;
1933
1998
  if (this.LastMouseStatus.TooltipStatus) bDrawTooltip=true;
1934
1999
  this.LastMouseStatus.TooltipStatus=null;
2000
+
2001
+ var bShowChartTooltip=false;
2002
+ var chartTooltipData=null;
1935
2003
 
1936
2004
  if (this.DragRow) return;
1937
2005
  if (this.DrawHeader) return;
@@ -2002,8 +2070,19 @@ function JSReportChartContainer(uielement)
2002
2070
  var tooltipData=report.GetTooltipData(x,y); //单元格提示信息
2003
2071
  if (tooltipData)
2004
2072
  {
2005
- this.LastMouseStatus.TooltipStatus={ X:e.clientX, Y:e.clientY, Data:tooltipData };
2006
- bDrawTooltip=true;
2073
+ if (tooltipData.Type==20)
2074
+ {
2075
+ if (tooltipData.Stock && tooltipData.Stock.Symbol)
2076
+ {
2077
+ bShowChartTooltip=true;
2078
+ chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
2079
+ }
2080
+ }
2081
+ else
2082
+ {
2083
+ this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
2084
+ bDrawTooltip=true;
2085
+ }
2007
2086
  }
2008
2087
  }
2009
2088
 
@@ -2034,6 +2113,15 @@ function JSReportChartContainer(uielement)
2034
2113
 
2035
2114
  if (bDraw || bDrawTab) this.Draw();
2036
2115
  else if (bDrawTooltip) this.DrawTooltip(this.LastMouseStatus.TooltipStatus);
2116
+
2117
+ if (bShowChartTooltip)
2118
+ {
2119
+ this.ShowMinuteChartTooltip(null, null, chartTooltipData);
2120
+ }
2121
+ else
2122
+ {
2123
+ this.HideMinuteChartTooltip();
2124
+ }
2037
2125
  }
2038
2126
 
2039
2127
  this.UIOnMounseOut=function(e)
@@ -4194,6 +4282,18 @@ var REPORT_COLUMN_ID=
4194
4282
  RESERVE_PROGRESS_BAR9_ID:409,
4195
4283
  RESERVE_PROGRESS_BAR10_ID:410,
4196
4284
 
4285
+ //留按钮类型 10个 451-500
4286
+ RESERVE_BUTTON1_ID:451, //ReserveButton1:
4287
+ RESERVE_BUTTON2_ID:452, //ReserveButton2:
4288
+ RESERVE_BUTTON3_ID:453, //ReserveButton3:
4289
+ RESERVE_BUTTON4_ID:454, //ReserveButton4:
4290
+ RESERVE_BUTTON5_ID:455, //ReserveButton5:
4291
+ RESERVE_BUTTON6_ID:456, //ReserveButton6:
4292
+ RESERVE_BUTTON7_ID:457, //ReserveButton7:
4293
+ RESERVE_BUTTON8_ID:458, //ReserveButton8:
4294
+ RESERVE_BUTTON9_ID:459, //ReserveButton9:
4295
+ RESERVE_BUTTON10_ID:460, //ReserveButton10:
4296
+
4197
4297
  }
4198
4298
 
4199
4299
 
@@ -4278,6 +4378,18 @@ var MAP_COLUMN_FIELD=new Map([
4278
4378
  [REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR8_ID,"ReserveProgressBar8"],
4279
4379
  [REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR9_ID,"ReserveProgressBar9"],
4280
4380
  [REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR10_ID,"ReserveProgressBar10"],
4381
+
4382
+
4383
+ [REPORT_COLUMN_ID.RESERVE_BUTTON1_ID,"ReserveButton1"],
4384
+ [REPORT_COLUMN_ID.RESERVE_BUTTON2_ID,"ReserveButton2"],
4385
+ [REPORT_COLUMN_ID.RESERVE_BUTTON3_ID,"ReserveButton3"],
4386
+ [REPORT_COLUMN_ID.RESERVE_BUTTON4_ID,"ReserveButton4"],
4387
+ [REPORT_COLUMN_ID.RESERVE_BUTTON5_ID,"ReserveButton5"],
4388
+ [REPORT_COLUMN_ID.RESERVE_BUTTON6_ID,"ReserveButton6"],
4389
+ [REPORT_COLUMN_ID.RESERVE_BUTTON7_ID,"ReserveButton7"],
4390
+ [REPORT_COLUMN_ID.RESERVE_BUTTON8_ID,"ReserveButton8"],
4391
+ [REPORT_COLUMN_ID.RESERVE_BUTTON9_ID,"ReserveButton9"],
4392
+ [REPORT_COLUMN_ID.RESERVE_BUTTON10_ID,"ReserveButton10"],
4281
4393
  ]);
4282
4394
 
4283
4395
  function ChartReport()
@@ -4460,7 +4572,7 @@ function ChartReport()
4460
4572
  this.RectClient={};
4461
4573
 
4462
4574
  //{ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:{ AryText:[ {Text:xx} ]} };
4463
- //Type:1=数据截断
4575
+ //Type:1=数据截断 2=表头提示信息 20=分时图
4464
4576
  // { Text, Color, Title:, TitleColor, Space, Margin:{ Left, Top, Right, Bottom }}
4465
4577
  this.TooltipRect=[];
4466
4578
 
@@ -4594,6 +4706,7 @@ function ChartReport()
4594
4706
  if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //0=默认 1=(>0, =0, <0) 2=(>=0, <0)
4595
4707
  else colItem.IsDrawCallback=false;
4596
4708
  if (item.Icon) colItem.Icon=item.Icon;
4709
+ if (IFrameSplitOperator.IsBool(item.EnableChartTooltip)) colItem.EnableChartTooltip=item.EnableChartTooltip;
4597
4710
 
4598
4711
  //点击表头弹出菜单
4599
4712
  if (IFrameSplitOperator.IsBool(item.EnablePopupHeaderMenu)) colItem.EnablePopupHeaderMenu=item.EnablePopupHeaderMenu;
@@ -4651,6 +4764,11 @@ function ChartReport()
4651
4764
  if (item.Button) colItem.Button=CloneData(item.Button);
4652
4765
  else colItem.Button=this.ButtonConfig;
4653
4766
  }
4767
+ else if (this.IsReserveButtonColumn(item.Type))
4768
+ {
4769
+ if (item.Button) colItem.Button=CloneData(item.Button);
4770
+ else colItem.Button=this.ButtonConfig;
4771
+ }
4654
4772
  else if (item.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID)
4655
4773
  {
4656
4774
  if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) continue;
@@ -4849,6 +4967,17 @@ function ChartReport()
4849
4967
  { Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR8_ID, Title:"进度条8", TextAlign:"center", FixedWidth:100*GetDevicePixelRatio() },
4850
4968
  { Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR9_ID, Title:"进度条9", TextAlign:"center", FixedWidth:100*GetDevicePixelRatio() },
4851
4969
  { Type:REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR10_ID, Title:"进度条10", TextAlign:"center", FixedWidth:100*GetDevicePixelRatio() },
4970
+
4971
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON1_ID, Title:"按钮1", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4972
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON2_ID, Title:"按钮2", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4973
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON3_ID, Title:"按钮3", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4974
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON4_ID, Title:"按钮4", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4975
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON5_ID, Title:"按钮5", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4976
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON6_ID, Title:"按钮6", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4977
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON7_ID, Title:"按钮7", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4978
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON8_ID, Title:"按钮8", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4979
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON9_ID, Title:"按钮9", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4980
+ { Type:REPORT_COLUMN_ID.RESERVE_BUTTON10_ID, Title:"按钮10", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4852
4981
 
4853
4982
  ];
4854
4983
 
@@ -5953,6 +6082,10 @@ function ChartReport()
5953
6082
  {
5954
6083
  this.FormatReserveProgressBar(column, stock, drawInfo);
5955
6084
  }
6085
+ else if (this.IsReserveButtonColumn(column.Type))
6086
+ {
6087
+ this.FormatReserveButton(column, stock, drawInfo);
6088
+ }
5956
6089
 
5957
6090
 
5958
6091
  //拖拽行颜色
@@ -5971,7 +6104,7 @@ function ChartReport()
5971
6104
  {
5972
6105
  this.DrawCheckbox(drawInfo, left, top, itemWidth);
5973
6106
  }
5974
- else if (column.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID)
6107
+ else if (column.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID || this.IsReserveButtonColumn(column.Type))
5975
6108
  {
5976
6109
  this.DrawButton(drawInfo, left, top, itemWidth);
5977
6110
  }
@@ -6013,12 +6146,19 @@ function ChartReport()
6013
6146
  var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
6014
6147
  this.TooltipRect.push(tooltipData);
6015
6148
  }
6149
+ else if (column.EnableChartTooltip)
6150
+ {
6151
+ var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:20 };
6152
+ this.TooltipRect.push(tooltipData);
6153
+ }
6016
6154
 
6017
6155
  if (drawInfo.Botton)
6018
6156
  {
6019
6157
  var buttonData={ Stock:stock, Index:index, ColumnIndex:columnIndex, Column:column, Rect:drawInfo.Botton.Rect, Type:drawInfo.Botton.Type, Data:drawInfo.Data };
6020
6158
  this.ButtonRect.push(buttonData);
6021
6159
  }
6160
+
6161
+
6022
6162
  }
6023
6163
 
6024
6164
  this.IsReserveProgressBarColumn=function(value)
@@ -6033,6 +6173,18 @@ function ChartReport()
6033
6173
  return ARARY_TYPE.includes(value);
6034
6174
  }
6035
6175
 
6176
+ this.IsReserveButtonColumn=function(value)
6177
+ {
6178
+ var ARARY_TYPE=
6179
+ [
6180
+ REPORT_COLUMN_ID.RESERVE_BUTTON1_ID, REPORT_COLUMN_ID.RESERVE_BUTTON2_ID,REPORT_COLUMN_ID.RESERVE_BUTTON3_ID,
6181
+ REPORT_COLUMN_ID.RESERVE_BUTTON4_ID,REPORT_COLUMN_ID.RESERVE_BUTTON5_ID,REPORT_COLUMN_ID.RESERVE_BUTTON6_ID,REPORT_COLUMN_ID.RESERVE_BUTTON7_ID,
6182
+ REPORT_COLUMN_ID.RESERVE_BUTTON8_ID,REPORT_COLUMN_ID.RESERVE_BUTTON9_ID,REPORT_COLUMN_ID.RESERVE_BUTTON10_ID
6183
+ ];
6184
+
6185
+ return ARARY_TYPE.includes(value);
6186
+ }
6187
+
6036
6188
  this.DrawCustomText=function(drawInfo, column, left, top, cellWidth)
6037
6189
  {
6038
6190
  if (!drawInfo.Text) return;
@@ -6480,6 +6632,22 @@ function ChartReport()
6480
6632
  }
6481
6633
  }
6482
6634
 
6635
+ this.FormatReserveButton=function(column, data, drawInfo)
6636
+ {
6637
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
6638
+ if (!data || !fieldName) return;
6639
+ var item=data[fieldName];
6640
+ if (!item) return;
6641
+
6642
+ drawInfo.Text=item.Title;
6643
+ drawInfo.Button=column.Button;
6644
+ drawInfo.Font=column.Button.Font;
6645
+ drawInfo.Enable=true;
6646
+ drawInfo.Data=item;
6647
+
6648
+ if (IFrameSplitOperator.IsBool(item.Enable)) drawInfo.Enable=item.Enable;
6649
+ }
6650
+
6483
6651
  this.FormaTimeDrawInfo=function(column, stock, drawInfo, data)
6484
6652
  {
6485
6653
  if (!IFrameSplitOperator.IsNumber(stock.Time)) return;
@@ -1508,7 +1508,7 @@ input[type="color"] {
1508
1508
  height: 500px;
1509
1509
  width: 600px;
1510
1510
  z-index: 809;
1511
- visibility:'hidden';
1511
+ visibility:hidden;
1512
1512
  background-color: rgba(255,255,255,0.95);
1513
1513
  border: solid 1px rgba(200, 210, 219, 0.92);
1514
1514
  display: flex;
@@ -1538,9 +1538,41 @@ input[type="color"] {
1538
1538
  margin-left: auto;
1539
1539
  padding-right: 4px;
1540
1540
  cursor:pointer;
1541
+ color:rgb(180,180,180)
1541
1542
  }
1542
1543
 
1543
1544
 
1545
+ /*
1546
+ Copyright (c) 2018 jones
1547
+
1548
+ http://www.apache.org/licenses/LICENSE-2.0
1549
+
1550
+ 开源项目 https://github.com/jones2000/HQChart
1551
+
1552
+ jones_2000@163.com
1553
+
1554
+ 内置分时图浮动框
1555
+ */
1556
+
1557
+ .UMyChart_Tooltip_Minute_Div
1558
+ {
1559
+ position: absolute;
1560
+ height: 300px;
1561
+ width: 400px;
1562
+ visibility:hidden;
1563
+ background-color: rgba(255,255,255,0.95);
1564
+ border: solid 1px rgba(200, 210, 219, 0.92);
1565
+ display: flex;
1566
+ flex-flow: column;
1567
+ z-index: 99;
1568
+ pointer-events:none;
1569
+ }
1570
+
1571
+ .UMyChart_Tooltip_Minute_Chart_Div
1572
+ {
1573
+ flex: 1
1574
+ }
1575
+
1544
1576
 
1545
1577
  /*
1546
1578
  Copyright (c) 2018 jones
@@ -93,7 +93,7 @@ function GetBlackStyle()
93
93
 
94
94
  PopMinuteChart:
95
95
  {
96
- BGColor:"rgba(0,0,0,0.95)",
96
+ BGColor:"rgba(0,0,0,0.85)",
97
97
  BorderColor:"rgb(230,230,230)",
98
98
  },
99
99
 
@@ -187,7 +187,7 @@ HQData.Minute_RequestMinuteData=function(data, callback)
187
187
  setTimeout(()=>{
188
188
  var fullData=HQData.GetDayMinuteDataBySymbol(symbol);
189
189
  var srcStock=fullData[0];
190
- var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:srcStock.symbol, name:srcStock.name };
190
+ var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:symbol, name:symbol };
191
191
  if (callcation.Before)
192
192
  {
193
193
  var before=
@@ -212,7 +212,10 @@ HQData.Minute_RequestMinuteData=function(data, callback)
212
212
  stockItem.beforeinfo=beforeinfo;
213
213
  }
214
214
 
215
- /* 测试用 这里可以修改数据
215
+ //测试用 这里可以修改数据
216
+ //var lastItem=srcStock.minute[srcStock.minute.length-1];
217
+ //lastItem.price+=Math.ceil(Math.random()*10)/1000*lastItem.price;
218
+ /*
216
219
  for(var i=0;i<srcStock.minute.length;++i)
217
220
  {
218
221
  var item=srcStock.minute[i];
@@ -1102,125 +1105,132 @@ HQData.Report_RequestStockData=function(data, callback)
1102
1105
  var stocks=data.Request.Data.stocks; //股票列表
1103
1106
  data.PreventDefault=true;
1104
1107
 
1105
- var mapStock=new Map();
1106
- for(var i=0;i<stocks.length;++i)
1107
- {
1108
- var item=stocks[i];
1109
- mapStock.set(item.Symbol,{ Symbol:item.Symbol, Data:null });
1110
- }
1111
-
1112
- if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
1108
+ setTimeout(()=>
1113
1109
  {
1114
- for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
1110
+ var mapStock=new Map();
1111
+ for(var i=0;i<stocks.length;++i)
1115
1112
  {
1116
- var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
1117
- if (!mapStock.has(symbol)) continue;
1118
- var item=mapStock.get(symbol);
1119
- var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
1120
- var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
1121
- var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
1122
- var newItem=
1123
- [
1124
- symbol,
1125
- name,
1126
- SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
1127
- SHSZ_STOCK_LIST_TEST_DATA.open[i],
1128
- SHSZ_STOCK_LIST_TEST_DATA.high[i],
1129
- SHSZ_STOCK_LIST_TEST_DATA.low[i],
1130
- price,
1131
- vol,
1132
- SHSZ_STOCK_LIST_TEST_DATA.amount[i],
1133
- ];
1134
-
1135
- //买价 量
1136
- newItem[9]=price+0.05;
1137
- newItem[10]=10;
1113
+ var item=stocks[i];
1114
+ mapStock.set(item.Symbol,{ Symbol:item.Symbol, Data:null });
1115
+ }
1138
1116
 
1139
- //卖价
1140
- newItem[11]=price-0.06;
1141
- newItem[12]=5;
1117
+ if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
1118
+ {
1119
+ for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
1120
+ {
1121
+ var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
1122
+ if (!mapStock.has(symbol)) continue;
1123
+ var item=mapStock.get(symbol);
1124
+ var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
1125
+ var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
1126
+ var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
1127
+ var newItem=
1128
+ [
1129
+ symbol,
1130
+ name,
1131
+ SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
1132
+ SHSZ_STOCK_LIST_TEST_DATA.open[i],
1133
+ SHSZ_STOCK_LIST_TEST_DATA.high[i],
1134
+ SHSZ_STOCK_LIST_TEST_DATA.low[i],
1135
+ price,
1136
+ vol,
1137
+ SHSZ_STOCK_LIST_TEST_DATA.amount[i],
1138
+ ];
1139
+
1140
+ //买价 量
1141
+ newItem[9]=price+0.05;
1142
+ newItem[10]=10;
1143
+
1144
+ //卖价 量
1145
+ newItem[11]=price-0.06;
1146
+ newItem[12]=5;
1147
+
1148
+ //均价
1149
+ newItem[13]=price-0.03;
1150
+
1151
+ //内盘
1152
+ newItem[18]=vol/4;
1153
+ //外盘
1154
+ newItem[19]=vol/5;
1155
+
1156
+ newItem[14]=vol*1.5; //流通股本
1157
+ newItem[15]=vol*1.8; //总股本
1158
+
1159
+ //换手率
1160
+ newItem[23]=(Math.round(Math.random()*60))/100;
1161
+
1162
+ //名字字段
1163
+ var symbolEx={ Text:name };
1164
+ if (i%20==5)
1165
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
1166
+ else if (i%20==9)
1167
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
1168
+ else if (i%20==18)
1169
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
1170
+
1171
+ newItem[27]=symbolEx;
1172
+
1173
+
1174
+ newItem[38]=HQData.GetRandomTestData(10,20000); //持仓量
1175
+ newItem[39]=HQData.GetRandomTestData(10,100); //结算价
1176
+ newItem[40]=HQData.GetRandomTestData(10,100); //昨结算价
1177
+ newItem[41]=HQData.GetRandomTestData(10,20000); //开仓量
1178
+ newItem[42]=HQData.GetRandomTestData(10,20000); //平仓量
1179
+
1180
+ //1,3,5,10,15 涨速%
1181
+ newItem[43]=HQData.GetRandomTestData(-90,90);
1182
+ newItem[44]=HQData.GetRandomTestData(-90,90);
1183
+ newItem[45]=HQData.GetRandomTestData(-90,90);
1184
+ newItem[46]=HQData.GetRandomTestData(-90,90);
1185
+ newItem[47]=HQData.GetRandomTestData(-90,90);
1186
+
1187
+
1188
+ //扩展数据 (定制数据)
1189
+ var extendData=[];
1190
+ newItem[30]=extendData;
1191
+
1192
+ //行业
1193
+ extendData[0]="行业X";
1194
+ //地区
1195
+ extendData[1]="地区X";
1196
+
1197
+ //PE|PB
1198
+ extendData[2]=(Math.round(Math.random()*60))/100;
1199
+ extendData[3]=(Math.round(Math.random()*60))/100;
1200
+ extendData[4]=(Math.round(Math.random()*60))/100;
1201
+ extendData[5]=(Math.round(Math.random()*60))/100;
1142
1202
 
1143
- //均价
1144
- newItem[13]=price-0.03;
1145
1203
 
1146
- //内盘
1147
- newItem[18]=vol/4;
1148
- //外盘
1149
- newItem[19]=vol/5;
1204
+ //周涨幅
1205
+ extendData[6]=(Math.round(Math.random()*60))/100;
1206
+ extendData[7]=(Math.round(Math.random()*60))/100;
1207
+ extendData[8]=(Math.round(Math.random()*60))/100;
1150
1208
 
1151
- newItem[14]=vol*1.5; //流通股本
1152
- newItem[15]=vol*1.8; //总股本
1153
1209
 
1154
- //换手率
1155
- newItem[23]=(Math.round(Math.random()*60))/100;
1210
+ newItem[101]=105.0;
1211
+ newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`;
1156
1212
 
1157
- //名字字段
1158
- var symbolEx={ Text:name };
1159
- if (i%20==5)
1160
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
1161
- else if (i%20==9)
1162
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
1163
- else if (i%20==18)
1164
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
1165
-
1166
- newItem[27]=symbolEx;
1167
-
1168
-
1169
- newItem[38]=HQData.GetRandomTestData(10,20000); //持仓量
1170
- newItem[39]=HQData.GetRandomTestData(10,100); //结算价
1171
- newItem[40]=HQData.GetRandomTestData(10,100); //昨结算价
1172
- newItem[41]=HQData.GetRandomTestData(10,20000); //开仓量
1173
- newItem[42]=HQData.GetRandomTestData(10,20000); //平仓量
1174
-
1175
- //1,3,5,10,15 涨速%
1176
- newItem[43]=HQData.GetRandomTestData(-90,90);
1177
- newItem[44]=HQData.GetRandomTestData(-90,90);
1178
- newItem[45]=HQData.GetRandomTestData(-90,90);
1179
- newItem[46]=HQData.GetRandomTestData(-90,90);
1180
- newItem[47]=HQData.GetRandomTestData(-90,90);
1181
-
1182
-
1183
- //扩展数据 (定制数据)
1184
- var extendData=[];
1185
- newItem[30]=extendData;
1186
1213
 
1187
- //行业
1188
- extendData[0]="行业X";
1189
- //地区
1190
- extendData[1]="地区X";
1191
-
1192
- //PE|PB
1193
- extendData[2]=(Math.round(Math.random()*60))/100;
1194
- extendData[3]=(Math.round(Math.random()*60))/100;
1195
- extendData[4]=(Math.round(Math.random()*60))/100;
1196
- extendData[5]=(Math.round(Math.random()*60))/100;
1197
-
1198
-
1199
- //周涨幅
1200
- extendData[6]=(Math.round(Math.random()*60))/100;
1201
- extendData[7]=(Math.round(Math.random()*60))/100;
1202
- extendData[8]=(Math.round(Math.random()*60))/100;
1203
-
1204
-
1205
- newItem[101]=105.0;
1206
- newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`
1207
-
1214
+ newItem[301]=HQData.GetRandomTestData(0,100)/100;
1215
+ newItem[302]=HQData.GetRandomTestData(0,100)/100;
1216
+
1208
1217
 
1209
- item.Data=newItem;
1218
+ item.Data=newItem;
1219
+ }
1210
1220
  }
1211
- }
1212
1221
 
1213
- var hqchartData={ data:[], code:0 };
1222
+ var hqchartData={ data:[], code:0 };
1214
1223
 
1215
- for(var mapItem of mapStock)
1216
- {
1217
- var item=mapItem[1];
1218
- if (!item.Data) continue;
1224
+ for(var mapItem of mapStock)
1225
+ {
1226
+ var item=mapItem[1];
1227
+ if (!item.Data) continue;
1219
1228
 
1220
- hqchartData.data.push(item.Data);
1221
- }
1229
+ hqchartData.data.push(item.Data);
1230
+ }
1222
1231
 
1223
- callback(hqchartData);
1232
+ callback(hqchartData);
1233
+ }, 500);
1224
1234
  }
1225
1235
 
1226
1236
  HQData.Report_RequestStockSortData=function(data, callback)
@@ -1447,6 +1457,10 @@ HQData.Report_RequestVirtualStockData=function(data, callback)
1447
1457
  extendData[8]=(Math.round(Math.random()*60))/100;
1448
1458
 
1449
1459
 
1460
+ newItem[351]={Title:"启动"};
1461
+ newItem[352]={Title:"加入"};
1462
+
1463
+
1450
1464
  aryData.push(newItem);
1451
1465
  aryIndex.push(start+i);
1452
1466
  }