hqchart 1.1.14050 → 1.1.14064

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.
@@ -945,7 +945,7 @@ function JSFloatTooltip()
945
945
  this.Style=0; //0=一行一个, 1=2行一个
946
946
 
947
947
  this.HQChart=null;
948
- this.MaxRowCount=20;
948
+ this.MaxRowCount=25;
949
949
 
950
950
  this.UpColor=g_JSChartResource.UpTextColor;
951
951
  this.DownColor=g_JSChartResource.DownTextColor;
@@ -964,6 +964,13 @@ function JSFloatTooltip()
964
964
  this.DateTimeColor=g_JSChartResource.FloatTooltip.DateTimeColor;
965
965
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
966
966
 
967
+ this.ValueAlign=
968
+ {
969
+ Left:"UMyChart_Tooltip_Float_Text2_Span", //左对齐
970
+ MarginLeft:'UMyChart_Tooltip_Float_Text3_Span',
971
+ Right:"UMyChart_Tooltip_Float_Text_Span",
972
+ }
973
+
967
974
  this.AryData=[]; //输出文字信息
968
975
  this.AryText=[]; //表格tr
969
976
 
@@ -976,6 +983,7 @@ function JSFloatTooltip()
976
983
  if (option)
977
984
  {
978
985
  if (IFrameSplitOperator.IsNumber(option.Style)) this.Style=option.Style;
986
+ if (IFrameSplitOperator.IsNumber(option.MaxRowCount)) this.MaxRowCount=option.MaxRowCount;
979
987
  }
980
988
  }
981
989
 
@@ -1125,10 +1133,42 @@ function JSFloatTooltip()
1125
1133
  var tooltipData=data.Tooltip;
1126
1134
  if (!tooltipData) return;
1127
1135
 
1128
- if (tooltipData.Type==0)
1136
+ if (tooltipData.Type==0) //K线信息
1129
1137
  {
1130
1138
  this.UpdateKLineToolitp(data);
1131
1139
  }
1140
+ else if (tooltipData.Type==1) //信息地雷
1141
+ {
1142
+ this.UpdateKLineInfoTooltip(data);
1143
+ }
1144
+ else if (tooltipData.Type==2) //交易指标
1145
+ {
1146
+ this.UpdateTradeIndexTooltip(data);
1147
+ }
1148
+ else if (tooltipData.Type==3) //分时图异动信息
1149
+ {
1150
+ this.UpdateMinuteInfoTooltip(data);
1151
+ }
1152
+ else if (tooltipData.Type==4) //ChartMultiSVGIconV2 图标信息
1153
+ {
1154
+ this.UpdatMultiSVGIconV2Tooltip(data);
1155
+ }
1156
+ else if (tooltipData.Type==5) //ChartOX 信息
1157
+ {
1158
+ this.UpdatChartOXTooltip(data);
1159
+ }
1160
+ else if (tooltipData.Type==6) //散点图
1161
+ {
1162
+ this.UpdatChartScatterPlotTooltip(data);
1163
+ }
1164
+ else if (tooltipData.Type==7) //ChartDrawSVG 老版本 单行
1165
+ {
1166
+ this.UpdateChartDrawSVGTooltip(data);
1167
+ }
1168
+ else if (tooltipData.Type==8) //ChartDrawSVG 新版本
1169
+ {
1170
+ this.UpdateChartDrawSVGV2Tooltip(data);
1171
+ }
1132
1172
  }
1133
1173
  else if (data.DataType==2) //更新实时行情数据
1134
1174
  {
@@ -1148,6 +1188,7 @@ function JSFloatTooltip()
1148
1188
  {
1149
1189
  this.KItemCache= kItem;
1150
1190
  this.KItemCacheID=strKItem;
1191
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
1151
1192
  bUpdata=true;
1152
1193
  }
1153
1194
 
@@ -1157,6 +1198,7 @@ function JSFloatTooltip()
1157
1198
  }
1158
1199
  }
1159
1200
 
1201
+ //K线提示信息
1160
1202
  this.UpdateKLineToolitp=function(data)
1161
1203
  {
1162
1204
  var tooltipData=data.Tooltip;
@@ -1177,6 +1219,7 @@ function JSFloatTooltip()
1177
1219
  {
1178
1220
  this.KItemCache= kItem;
1179
1221
  this.KItemCacheID=strKItem;
1222
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
1180
1223
  bUpdata=true;
1181
1224
  }
1182
1225
 
@@ -1193,25 +1236,209 @@ function JSFloatTooltip()
1193
1236
  }
1194
1237
  }
1195
1238
 
1196
- this.UpdateTableDOM=function()
1239
+ //ChartDrawSVG 老版本 单行
1240
+ this.UpdateChartDrawSVGTooltip=function(data)
1197
1241
  {
1198
- if (!this.KItemCache) return;
1242
+ var tooltipData=data.Tooltip;
1243
+ if (!tooltipData.Data || !tooltipData.Data.Item || !tooltipData.Data.Item.Tooltip) return;
1244
+ var item=tooltipData.Data.Item.Tooltip;
1199
1245
 
1200
- if (this.HQChart.ClassName=='KLineChartContainer')
1201
- this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
1202
- else
1203
- return;
1246
+ var aryText=[]
1247
+ var rowItem={ Text:"", HTMLTitle:item.Text, Color:this.ValueColor, IsMergeCell:true };
1248
+ aryText.push(rowItem);
1204
1249
 
1250
+ this.AryText=aryText;
1251
+ this.UpdateTableDOM();
1252
+
1253
+ if (data.Point)
1254
+ {
1255
+ var x=data.Point.X;
1256
+ var y=data.Point.Y+data.Point.YMove;
1257
+ this.Show(x, y);
1258
+ }
1259
+ }
1260
+
1261
+ //ChartDrawSVG 新版本
1262
+ this.UpdateChartDrawSVGV2Tooltip=function(data)
1263
+ {
1264
+ var tooltipData=data.Tooltip;
1265
+ if (!tooltipData.Data || !tooltipData.Data.Item || !tooltipData.Data.Item.Tooltip) return;
1266
+ var aryData=tooltipData.Data.Item.Tooltip.AryText;
1267
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return;
1268
+ var aryText=[];
1269
+ for(var i=0;i<aryData.length;++i)
1270
+ {
1271
+ var item=aryData[i];
1272
+ var rowItem={ Title:"", Text:"", Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1273
+ if (item.TextColor) rowItem.Color=item.TextColor;
1274
+ if (item.Title) rowItem.Title=item.Title;
1275
+ if (item.Text) rowItem.Text=item.Text;
1276
+
1277
+ aryText.push(rowItem);
1278
+ }
1279
+
1280
+ this.AryText=aryText;
1281
+
1282
+ this.UpdateTableDOM();
1283
+
1284
+ if (data.Point)
1285
+ {
1286
+ var x=data.Point.X;
1287
+ var y=data.Point.Y+data.Point.YMove;
1288
+ this.Show(x, y);
1289
+ }
1290
+ }
1291
+
1292
+ //交易指标
1293
+ this.UpdateTradeIndexTooltip=function(data)
1294
+ {
1295
+ var tooltipData=data.Tooltip;
1296
+ if (!tooltipData.Data || !tooltipData.Data.Data) return;
1297
+
1298
+ var item=tooltipData.Data.Data;
1299
+ var kItem=item.KData;
1300
+ var aryText=[];
1301
+
1302
+ var rowItem={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(kItem.Date,"YYYY-MM-DD"), Color:this.ValueColor };
1303
+ aryText.push(rowItem);
1304
+
1305
+ if (IFrameSplitOperator.IsNumber(kItem.Time))
1306
+ {
1307
+ var format="HH:MM";
1308
+ var rowItem={ Title:"时间",Text:IFrameSplitOperator.FormatTimeString(kItem.Time,format), Color:this.ValueColor };
1309
+ aryText.push(rowItem);
1310
+ }
1311
+
1312
+ var rowItem={ Title:"指标名称:", Text:`${item.Name}${item.Param}`, Color:this.ValueColor };
1313
+ aryText.push(rowItem);
1314
+
1315
+ var rowItem={ Title:"买卖方向:", Text:`${item.Type==1?"买入":"卖出"}`, Color:item.Type==1?this.UpColor:this.DownColor };
1316
+ aryText.push(rowItem);
1317
+
1318
+ var rowItem={ };
1319
+
1320
+ this.AryText=aryText;
1321
+
1322
+ this.UpdateTableDOM();
1323
+
1324
+ if (data.Point)
1325
+ {
1326
+ var x=data.Point.X;
1327
+ var y=data.Point.Y+data.Point.YMove;
1328
+ this.Show(x, y);
1329
+ }
1330
+ }
1331
+
1332
+ //分时图异动信息
1333
+ this.UpdateMinuteInfoTooltip=function(data)
1334
+ {
1335
+ var tooltipData=data.Tooltip;
1336
+ if (!tooltipData.Data || !tooltipData.Data.Data || !tooltipData.Data.Data.Item) return;
1337
+ var item=tooltipData.Data.Data.Item;
1338
+
1339
+ var aryText=[];
1340
+ var rowItem={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD"), Color:this.ValueColor };
1341
+ aryText.push(rowItem);
1342
+
1343
+ var format="HH:MM";
1344
+ var rowItem={ Title:"时间",Text:IFrameSplitOperator.FormatTimeString(item.Time,format), Color:this.ValueColor };
1345
+ aryText.push(rowItem);
1346
+
1347
+ var rowItem={ Title:"异动", Text:item.Title, Color:this.ValueColor };
1348
+ aryText.push(rowItem);
1349
+
1350
+ this.AryText=aryText;
1351
+ this.UpdateTableDOM();
1352
+
1353
+ if (data.Point)
1354
+ {
1355
+ var x=data.Point.X;
1356
+ var y=data.Point.Y+data.Point.YMove;
1357
+ this.Show(x, y);
1358
+ }
1359
+ }
1360
+
1361
+ //ChartMultiSVGIconV2 图标信息
1362
+ this.UpdatMultiSVGIconV2Tooltip=function(data)
1363
+ {
1364
+ var tooltipData=data.Tooltip;
1365
+ if (!tooltipData.Data || !tooltipData.Data.Item) return;
1366
+
1367
+ var item=tooltipData.Data.Item;
1368
+ var aryText=[];
1369
+
1370
+ var rowItem={ Text:"", HTMLTitle:item.Text, Color:this.ValueColor, IsMergeCell:true };
1371
+ aryText.push(rowItem);
1372
+
1373
+ this.AryText=aryText;
1374
+ this.UpdateTableDOM();
1375
+
1376
+ if (data.Point)
1377
+ {
1378
+ var x=data.Point.X;
1379
+ var y=data.Point.Y+data.Point.YMove;
1380
+ this.Show(x, y);
1381
+ }
1382
+ }
1383
+
1384
+ //ChartOX 信息
1385
+ this.UpdatChartOXTooltip=function(data)
1386
+ {
1387
+ var tooltipData=data.Tooltip;
1388
+ if (!tooltipData.Data || !tooltipData.Data.Data) return;
1389
+
1390
+ var item=tooltipData.Data.Data;
1391
+ var period=this.HQChart.Period;
1392
+ var aryText=[];
1393
+ if (ChartData.IsDayPeriod(period, true))
1394
+ {
1395
+ var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date,"YYYY-MM-DD");
1396
+ var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date,"YYYY-MM-DD");
1397
+
1398
+ aryText.push({ Title:"起始时间",Text:strStartDate, Color:this.ValueColor });
1399
+ aryText.push({ Title:"结束时间",Text:strEndDate, Color:this.ValueColor });
1400
+ }
1401
+ else if (ChartData.IsMinutePeriod(period, true))
1402
+ {
1403
+ var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date);
1404
+ var strStartTime=IFrameSplitOperator.FormatTimeString(item.Start.Time,"HH:MM");
1405
+
1406
+ var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date);
1407
+ var strEndTime=IFrameSplitOperator.FormatTimeString(item.End.Time,"HH:MM");
1408
+
1409
+ aryText.push({ Title:"起始时间",Text:`${strStartDate} ${strStartTime}`, Color:this.ValueColor });
1410
+ aryText.push({ Title:"结束时间",Text:`${strEndDate} ${strEndTime}`, Color:this.ValueColor });
1411
+ }
1412
+
1413
+ this.AryText=aryText;
1414
+ this.UpdateTableDOM();
1415
+
1416
+ if (data.Point)
1417
+ {
1418
+ var x=data.Point.X;
1419
+ var y=data.Point.Y+data.Point.YMove;
1420
+ this.Show(x, y);
1421
+ }
1422
+ }
1423
+
1424
+ this.UpdateTableDOM=function()
1425
+ {
1205
1426
  var index=0;
1206
1427
  for(index=0;index<this.AryText.length && index<this.MaxRowCount;++index)
1207
1428
  {
1208
1429
  var outItem=this.AryText[index];
1209
1430
  var item=this.AryData[index];
1210
1431
 
1211
- item.TitleSpan.innerText=outItem.Title;
1432
+ if (outItem.HTMLTitle) item.TitleSpan.innerHTML=outItem.HTMLTitle
1433
+ else item.TitleSpan.innerText=outItem.Title;
1434
+
1212
1435
  item.TitleSpan.style.color=this.TextColor;
1213
- item.TextSpan.innerText=outItem.Text;
1436
+
1437
+ if (outItem.HTMLText) item.TextSpan.innerHTML=outItem.HTMLText
1438
+ else item.TextSpan.innerText=outItem.Text;
1439
+
1214
1440
  item.TextSpan.style.color=outItem.Color;
1441
+ item.TextTd.style.color=outItem.Color;
1215
1442
 
1216
1443
  if (outItem.ClassName)
1217
1444
  {
@@ -1219,11 +1446,23 @@ function JSFloatTooltip()
1219
1446
  }
1220
1447
  else
1221
1448
  {
1222
- if (item.TextSpan.className!="UMyChart_Tooltip_Float_Text_Span") item.TextSpan.className="UMyChart_Tooltip_Float_Text_Span"
1449
+ if (item.TextSpan.className!=this.ValueAlign.Right) item.TextSpan.className=this.ValueAlign.Right;
1450
+ }
1451
+
1452
+ if (outItem.IsMergeCell) //合并单元格
1453
+ {
1454
+ item.TitleTd.colspan=2;
1455
+ item.TextTd.style.display="none";
1456
+ }
1457
+ else
1458
+ {
1459
+ if (item.TitleTd.colspan!=1) item.TitleTd.colspan=1;
1460
+ item.TextTd.style.display="";
1223
1461
  }
1224
1462
 
1225
1463
  item.Tr.style.display="";
1226
- if (item.Tr2) item.Tr2.style.display="";
1464
+ if (item.Tr2) item.Tr2.style.display="none";
1465
+
1227
1466
  }
1228
1467
 
1229
1468
  for( ; index<this.MaxRowCount; ++index)
@@ -1234,6 +1473,7 @@ function JSFloatTooltip()
1234
1473
  }
1235
1474
  }
1236
1475
 
1476
+
1237
1477
  this.GetFormatKLineTooltipText=function(kItem)
1238
1478
  {
1239
1479
  var data=kItem.Item;
@@ -1250,7 +1490,7 @@ function JSFloatTooltip()
1250
1490
 
1251
1491
  var overlayItem=null;
1252
1492
  if (kItem.IsOverlay)
1253
- overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:"UMyChart_Tooltip_Float_Text2_Span" };
1493
+ overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:this.ValueAlign.Left };
1254
1494
 
1255
1495
 
1256
1496
  var yClose=data.YClose; //昨收价|昨结算价
@@ -1297,6 +1537,245 @@ function JSFloatTooltip()
1297
1537
  }
1298
1538
 
1299
1539
 
1540
+ //信息地雷
1541
+ this.UpdateKLineInfoTooltip=function(data)
1542
+ {
1543
+ var tooltipData=data.Tooltip;
1544
+ var symbol=data.Symbol;
1545
+ var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
1546
+
1547
+ var aryData=tooltipData.Data.Data;
1548
+ var aryText=[]; //输出内容
1549
+ for(var i=0;i<aryData.length;++i)
1550
+ {
1551
+ var item=aryData[i];
1552
+ var infoType=item.InfoType;
1553
+ switch(infoType)
1554
+ {
1555
+ case KLINE_INFO_TYPE.BLOCKTRADING:
1556
+ this.FormatBlockTradingText(item, defaultfloatPrecision, aryText);
1557
+ break;
1558
+ case KLINE_INFO_TYPE.TRADEDETAIL:
1559
+ this.FormatTradeDetailText(item,defaultfloatPrecision,aryText);
1560
+ break;
1561
+ case KLINE_INFO_TYPE.RESEARCH:
1562
+ this.FormatResearchText(item, aryText);
1563
+ break;
1564
+ case KLINE_INFO_TYPE.PFORECAST:
1565
+ this.FormatPerformanceForecastText(item,aryText);
1566
+ break;
1567
+ default:
1568
+ this.FormatDefaultKLineInfoText(item, aryText);
1569
+ break;
1570
+ }
1571
+ }
1572
+
1573
+ var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP);
1574
+ if (event && event.Callback)
1575
+ {
1576
+ var sendData={ AryText:aryText, Data:data, HQChart:this.HQChart };
1577
+ event.Callback(event, sendData, this);
1578
+ }
1579
+
1580
+ this.AryText=aryText;
1581
+
1582
+ this.UpdateTableDOM();
1583
+
1584
+ if (data.Point)
1585
+ {
1586
+ var x=data.Point.X;
1587
+ var y=data.Point.Y+data.Point.YMove;
1588
+ this.Show(x, y);
1589
+ }
1590
+ }
1591
+
1592
+ this.UpdatChartScatterPlotTooltip=function(data)
1593
+ {
1594
+ var tooltipData=data.Tooltip;
1595
+ if (!tooltipData.Data || !tooltipData.Data.Data || !tooltipData.Data.Data.Tooltip) return;
1596
+ var aryData=tooltipData.Data.Data.Tooltip;
1597
+ var aryText=[]; //输出内容
1598
+
1599
+ for(var i=0;i<aryData.length;++i)
1600
+ {
1601
+ var item=aryData[i];
1602
+ if (!item.Text && !item.Title) continue;
1603
+ var rowItem={ Title:"", Text:"", Color:this.ValueColor };
1604
+ if (item.Title) rowItem.Title=item.Title;
1605
+ if (item.Text) rowItem.Text=item.Text;
1606
+ if (item.TextColor) rowItem.Color=item.TextColor;
1607
+
1608
+ aryText.push(rowItem);
1609
+ }
1610
+
1611
+ this.AryText=aryText;
1612
+ this.UpdateTableDOM();
1613
+
1614
+ if (data.Point)
1615
+ {
1616
+ var x=data.Point.X;
1617
+ var y=data.Point.Y+data.Point.YMove;
1618
+ this.Show(x, y);
1619
+ }
1620
+ }
1621
+
1622
+
1623
+ /////////////////////////////////////////////////////////////////////////////////////////////
1624
+ // 公告数据格式化
1625
+
1626
+ this.FormatDefaultKLineInfoText=function(item, aryOut)
1627
+ {
1628
+ var title;
1629
+ var strDate=IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD");
1630
+ if (IFrameSplitOperator.IsNumber(item.Time))
1631
+ {
1632
+ var strTime=IFrameSplitOperator.FormatTimeString(item.Time);
1633
+ title=`${strDate} ${strTime}`;
1634
+ }
1635
+ else
1636
+ {
1637
+ title=strDate;
1638
+ }
1639
+
1640
+ var item=
1641
+ {
1642
+ Title:title, //日期
1643
+ Text:item.Title, //标题
1644
+ Color:this.ValueColor,
1645
+ ClassName:this.ValueAlign.MarginLeft
1646
+ };
1647
+
1648
+ aryOut.push(item);
1649
+ }
1650
+
1651
+ //大宗交易
1652
+ this.FormatBlockTradingText=function(data, floatPrecision, aryOut)
1653
+ {
1654
+ var item={ Title:"", Text:"大宗交易", Color:this.TextColor, ClassName:this.ValueAlign.Left };
1655
+ aryOut.push(item);
1656
+
1657
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor };
1658
+ aryOut.push(item);
1659
+
1660
+ var extendata = data.ExtendData;
1661
+ var item={ Title:"成交价:", Text:extendata.Price.toFixed(floatPrecision), Color:this.ValueColor };
1662
+ aryOut.push(item);
1663
+
1664
+ var item={ Title:"收盘价:", Text:extendata.ClosePrice.toFixed(floatPrecision), Color:this.ValueColor };
1665
+ aryOut.push(item);
1666
+
1667
+ var item={ Title:"溢折价率:", Text:extendata.Premium.toFixed(2), Color:this.GetColor(extendata.Premium,0) };
1668
+ aryOut.push(item);
1669
+
1670
+ var item={ Title:"成交量:", Text:IFrameSplitOperator.FormatValueStringV2(extendata.Vol,0,2,this.LanguageID), Color:this.VolColor };
1671
+ aryOut.push(item);
1672
+ }
1673
+
1674
+ //龙虎榜
1675
+ this.FormatTradeDetailText=function(data, floatPrecision, aryOut)
1676
+ {
1677
+ if (!data.ExtendData) return;
1678
+ var extendata = data.ExtendData;
1679
+ if (!IFrameSplitOperator.IsNonEmptyArray(extendata.Detail)) return;
1680
+
1681
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1682
+ aryOut.push(item);
1683
+
1684
+ for(var i=0;i<extendata.Detail.length;++i)
1685
+ {
1686
+ var resItem=extendata.Detail[i];
1687
+ if (i==0)
1688
+ var item={ Title:"上榜原因:",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1689
+ else
1690
+ var item={ Title:"",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1691
+
1692
+ aryOut.push(item);
1693
+ }
1694
+
1695
+ if (extendata.FWeek)
1696
+ {
1697
+ var value=extendata.FWeek.Week1;
1698
+ if (IFrameSplitOperator.IsNumber(value))
1699
+ {
1700
+ var item={ Title:"一周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
1701
+ aryOut.push(item);
1702
+ }
1703
+
1704
+ var value=extendata.FWeek.Week4;
1705
+ if (IFrameSplitOperator.IsNumber(value))
1706
+ {
1707
+ var item={ Title:"四周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
1708
+ aryOut.push(item);
1709
+ }
1710
+ }
1711
+ }
1712
+
1713
+ //调研
1714
+ this.FormatResearchText=function(data,aryOut)
1715
+ {
1716
+ if (!data.ExtendData) return;
1717
+ var extendata = data.ExtendData;
1718
+
1719
+ var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1720
+ aryOut.push(item);
1721
+
1722
+ if (IFrameSplitOperator.IsNonEmptyArray(extendata.Level))
1723
+ {
1724
+ var strLevel="";
1725
+ for(var i=0;i<extendata.Level.length;++i)
1726
+ {
1727
+ var value=extendata.Level[i];
1728
+ if (strLevel.length>0) strLevel+=",";
1729
+ if(value==0) strLevel+="证券代表";
1730
+ else if(value==1) strLevel+="董秘";
1731
+ else if(value==2) strLevel+="总经理";
1732
+ else if(value==3) strLevel+="董事长";
1733
+ }
1734
+
1735
+ var item={ Title:"接待人员:",Text:strLevel, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1736
+ aryOut.push(item);
1737
+ }
1738
+ else
1739
+ {
1740
+ var item={ Title:"接待人员",Text:"----", Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1741
+ aryOut.push(item);
1742
+ }
1743
+
1744
+ if (extendata.Type)
1745
+ {
1746
+ var item={ Title:"", Text:extendata.Type, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1747
+ aryOut.push(item);
1748
+ }
1749
+
1750
+ }
1751
+
1752
+ //业绩预告
1753
+ this.FormatPerformanceForecastText=function(data,aryOut)
1754
+ {
1755
+ if (!data.ExtendData) return;
1756
+ var extendata = data.ExtendData;
1757
+ var reportDate=extendata.ReportDate;
1758
+ if (!reportDate) return;
1759
+
1760
+ var year=parseInt(reportDate/10000); //年份
1761
+ var day=reportDate%10000; //日期
1762
+ var reportType="----";
1763
+ if(day == 1231) reportType = '年报';
1764
+ else if(day == 331) reportType ='一季度报';
1765
+ else if(day == 630) reportType = "半年度报";
1766
+ else if(day == 930) reportType = "三季度报";
1767
+
1768
+ var item={ Title:"业绩预告:",Text:data.Title, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1769
+ aryOut.push(item);
1770
+
1771
+ var item={ Title:"年份:",Text:`${year}`, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1772
+ aryOut.push(item);
1773
+
1774
+ var item={ Title:"类型:",Text:reportType, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
1775
+ aryOut.push(item);
1776
+ }
1777
+
1778
+
1300
1779
  /////////////////////////////////////////////////////////////////////////////////////////////
1301
1780
  //数据格式化
1302
1781
  this.ForamtPrice=function(price, yClose, defaultfloatPrecision, TitleID)