hqchart 1.1.14269 → 1.1.14274
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.
- package/lib/umychart.vue.js +214 -41
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +43 -0
- package/src/jscommon/umychart.NetworkFilterTest.js +139 -1
- package/src/jscommon/umychart.complier.js +0 -3
- package/src/jscommon/umychart.js +1 -1
- package/src/jscommon/umychart.report.js +241 -231
- package/src/jscommon/umychart.testdata.js +139 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +243 -236
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +139 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +286 -236
|
@@ -155,15 +155,8 @@ function JSReportChart(divElement)
|
|
|
155
155
|
if (option.EnableResize==true) this.CreateResizeListener();
|
|
156
156
|
|
|
157
157
|
if (option.EnablePopMenuV2===true) chart.InitalPopMenu();
|
|
158
|
-
if (option.
|
|
159
|
-
|
|
160
|
-
this.CreateExtraCanvasElement(JSReportChart.TooltipCursorCanvasKey, { ZIndex:99 });
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable)
|
|
164
|
-
{
|
|
165
|
-
chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
166
|
-
}
|
|
158
|
+
if (option.FloatTooltip && option.FloatTooltip.Enable) chart.InitalFloatTooltip(option.FloatTooltip); //提示信息
|
|
159
|
+
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
167
160
|
|
|
168
161
|
if (option.Symbol) chart.Symbol=option.Symbol;
|
|
169
162
|
if (option.Name) chart.Name=option.Name;
|
|
@@ -333,8 +326,6 @@ function JSReportChart(divElement)
|
|
|
333
326
|
}
|
|
334
327
|
}
|
|
335
328
|
|
|
336
|
-
JSReportChart.TooltipCursorCanvasKey="hq_report_tooltip"; //提示信息
|
|
337
|
-
|
|
338
329
|
|
|
339
330
|
JSReportChart.Init=function(divElement)
|
|
340
331
|
{
|
|
@@ -413,9 +404,6 @@ function JSReportChartContainer(uielement)
|
|
|
413
404
|
this.SplashTitle={ StockList:"下载码表中.....", MemberList:"下载成分中....." } ;
|
|
414
405
|
|
|
415
406
|
this.Canvas=uielement.getContext("2d"); //画布
|
|
416
|
-
|
|
417
|
-
this.TooltipCanvas;
|
|
418
|
-
this.ChartTooltip;
|
|
419
407
|
|
|
420
408
|
this.Tooltip=document.createElement("div");
|
|
421
409
|
this.Tooltip.className='jsreport-tooltip';
|
|
@@ -499,6 +487,7 @@ function JSReportChartContainer(uielement)
|
|
|
499
487
|
this.StopAutoUpdate();
|
|
500
488
|
|
|
501
489
|
this.DestroyMinuteChartTooltip();
|
|
490
|
+
this.DestroyFloatTooltip();
|
|
502
491
|
}
|
|
503
492
|
|
|
504
493
|
this.StopAutoDragScrollTimer=function()
|
|
@@ -537,6 +526,51 @@ function JSReportChartContainer(uielement)
|
|
|
537
526
|
this.TooltipMinuteChart=null;
|
|
538
527
|
}
|
|
539
528
|
|
|
529
|
+
this.InitalFloatTooltip=function(option)
|
|
530
|
+
{
|
|
531
|
+
if (this.FloatTooltip) return;
|
|
532
|
+
|
|
533
|
+
this.FloatTooltip=new JSFloatTooltip();
|
|
534
|
+
this.FloatTooltip.Inital(this, option);
|
|
535
|
+
this.FloatTooltip.Create();
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
this.HideFloatTooltip=function()
|
|
539
|
+
{
|
|
540
|
+
if (!this.FloatTooltip) return;
|
|
541
|
+
|
|
542
|
+
this.FloatTooltip.Hide();
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
this.DestroyFloatTooltip=function()
|
|
546
|
+
{
|
|
547
|
+
if (!this.FloatTooltip) return;
|
|
548
|
+
|
|
549
|
+
this.FloatTooltip.Destroy();
|
|
550
|
+
this.FloatTooltip=null;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
554
|
+
{
|
|
555
|
+
if (!this.FloatTooltip) return;
|
|
556
|
+
|
|
557
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
561
|
+
{
|
|
562
|
+
if (!this.FloatTooltip) return;
|
|
563
|
+
|
|
564
|
+
var sendData=
|
|
565
|
+
{
|
|
566
|
+
Tooltip:toolTip,
|
|
567
|
+
Point:point,
|
|
568
|
+
DataType:3,
|
|
569
|
+
};
|
|
570
|
+
|
|
571
|
+
this.FloatTooltip.Update(sendData);
|
|
572
|
+
}
|
|
573
|
+
|
|
540
574
|
//data={ Symbol }
|
|
541
575
|
this.ShowMinuteChartTooltip=function(x,y, data)
|
|
542
576
|
{
|
|
@@ -687,12 +721,6 @@ function JSReportChartContainer(uielement)
|
|
|
687
721
|
|
|
688
722
|
this.ChartPaint[0]=chart;
|
|
689
723
|
|
|
690
|
-
//提示信息
|
|
691
|
-
var chartTooltip=new ChartCellTooltip();
|
|
692
|
-
chartTooltip.Frame=this.Frame;
|
|
693
|
-
chartTooltip.ChartBorder=this.Frame.ChartBorder;
|
|
694
|
-
this.ChartTooltip=chartTooltip;
|
|
695
|
-
|
|
696
724
|
//页脚
|
|
697
725
|
if (option && option.PageInfo===true)
|
|
698
726
|
{
|
|
@@ -714,6 +742,7 @@ function JSReportChartContainer(uielement)
|
|
|
714
742
|
if (IFrameSplitOperator.IsNumber(option.FixedRowCount)) chart.FixedRowCount=option.FixedRowCount; //固定行
|
|
715
743
|
if (IFrameSplitOperator.IsBool(option.ItemBorder)) chart.IsDrawBorder=option.ItemBorder; //单元格边框
|
|
716
744
|
if (IFrameSplitOperator.IsNumber(option.SelectedModel)) chart.SelectedModel=option.SelectedModel;
|
|
745
|
+
if (IFrameSplitOperator.IsNumber(option.HeaderRowCount)) chart.HeaderRowCount=option.HeaderRowCount;
|
|
717
746
|
|
|
718
747
|
if (IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol))
|
|
719
748
|
{
|
|
@@ -805,8 +834,6 @@ function JSReportChartContainer(uielement)
|
|
|
805
834
|
{
|
|
806
835
|
this.DelayDraw(500);
|
|
807
836
|
}
|
|
808
|
-
|
|
809
|
-
this.DrawTooltip(this.LastMouseStatus.TooltipStatus);
|
|
810
837
|
}
|
|
811
838
|
|
|
812
839
|
this.DelayDraw=function(frequency)
|
|
@@ -1738,6 +1765,7 @@ function JSReportChartContainer(uielement)
|
|
|
1738
1765
|
{
|
|
1739
1766
|
this.LastMouseStatus.TooltipStatus=null;
|
|
1740
1767
|
this.HideMinuteChartTooltip();
|
|
1768
|
+
this.HideFloatTooltip();
|
|
1741
1769
|
if (this.GotoNextItem(1))
|
|
1742
1770
|
{
|
|
1743
1771
|
this.Draw();
|
|
@@ -1748,6 +1776,7 @@ function JSReportChartContainer(uielement)
|
|
|
1748
1776
|
{
|
|
1749
1777
|
this.LastMouseStatus.TooltipStatus=null;
|
|
1750
1778
|
this.HideMinuteChartTooltip();
|
|
1779
|
+
this.HideFloatTooltip();
|
|
1751
1780
|
if (this.GotoNextItem(-1))
|
|
1752
1781
|
{
|
|
1753
1782
|
this.Draw();
|
|
@@ -1761,6 +1790,7 @@ function JSReportChartContainer(uielement)
|
|
|
1761
1790
|
{
|
|
1762
1791
|
this.LastMouseStatus.TooltipStatus=null;
|
|
1763
1792
|
this.HideMinuteChartTooltip();
|
|
1793
|
+
this.HideFloatTooltip();
|
|
1764
1794
|
if (this.GotoNextPage(this.PageUpDownCycle))
|
|
1765
1795
|
{
|
|
1766
1796
|
this.Draw();
|
|
@@ -1771,6 +1801,7 @@ function JSReportChartContainer(uielement)
|
|
|
1771
1801
|
{
|
|
1772
1802
|
this.LastMouseStatus.TooltipStatus=null;
|
|
1773
1803
|
this.HideMinuteChartTooltip();
|
|
1804
|
+
this.HideFloatTooltip();
|
|
1774
1805
|
if (this.GotoPreviousPage(this.PageUpDownCycle))
|
|
1775
1806
|
{
|
|
1776
1807
|
this.Draw();
|
|
@@ -1793,6 +1824,7 @@ function JSReportChartContainer(uielement)
|
|
|
1793
1824
|
if (keyID==116) return; //F15刷新不处理
|
|
1794
1825
|
|
|
1795
1826
|
this.HideMinuteChartTooltip();
|
|
1827
|
+
this.HideFloatTooltip();
|
|
1796
1828
|
switch(keyID)
|
|
1797
1829
|
{
|
|
1798
1830
|
case 33: //page up
|
|
@@ -2193,7 +2225,17 @@ function JSReportChartContainer(uielement)
|
|
|
2193
2225
|
if (mouseStatus) this.UIElement.style.cursor=mouseStatus.Cursor;
|
|
2194
2226
|
|
|
2195
2227
|
if (bDraw || bDrawTab) this.Draw();
|
|
2196
|
-
|
|
2228
|
+
|
|
2229
|
+
if (this.LastMouseStatus.TooltipStatus)
|
|
2230
|
+
{
|
|
2231
|
+
var xTooltip = e.clientX-this.UIElement.getBoundingClientRect().left;
|
|
2232
|
+
var yTooltip = e.clientY-this.UIElement.getBoundingClientRect().top;
|
|
2233
|
+
this.DrawFloatTooltip({X:xTooltip, Y:yTooltip, YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);
|
|
2234
|
+
}
|
|
2235
|
+
else
|
|
2236
|
+
{
|
|
2237
|
+
this.HideFloatTooltip();
|
|
2238
|
+
}
|
|
2197
2239
|
|
|
2198
2240
|
if (bShowChartTooltip)
|
|
2199
2241
|
{
|
|
@@ -2208,6 +2250,7 @@ function JSReportChartContainer(uielement)
|
|
|
2208
2250
|
this.UIOnMounseOut=function(e)
|
|
2209
2251
|
{
|
|
2210
2252
|
this.HideMinuteChartTooltip();
|
|
2253
|
+
this.HideFloatTooltip();
|
|
2211
2254
|
|
|
2212
2255
|
var bDraw=false;
|
|
2213
2256
|
var tabChart=this.GetTabChart();
|
|
@@ -2234,6 +2277,7 @@ function JSReportChartContainer(uielement)
|
|
|
2234
2277
|
this.UIOnMouseleave=function(e)
|
|
2235
2278
|
{
|
|
2236
2279
|
this.HideMinuteChartTooltip();
|
|
2280
|
+
this.HideFloatTooltip();
|
|
2237
2281
|
|
|
2238
2282
|
var tabChart=this.GetTabChart();
|
|
2239
2283
|
if (tabChart && tabChart.MoveOnTabIndex>=0)
|
|
@@ -3790,16 +3834,16 @@ function JSReportChartContainer(uielement)
|
|
|
3790
3834
|
case REPORT_COLUMN_ID.VOL_OUT_ID:
|
|
3791
3835
|
case REPORT_COLUMN_ID.DATE_ID:
|
|
3792
3836
|
|
|
3793
|
-
case
|
|
3794
|
-
case
|
|
3795
|
-
case
|
|
3796
|
-
case
|
|
3797
|
-
case
|
|
3798
|
-
case
|
|
3799
|
-
case
|
|
3800
|
-
case
|
|
3801
|
-
case
|
|
3802
|
-
case
|
|
3837
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER1_ID:
|
|
3838
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER2_ID:
|
|
3839
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER3_ID:
|
|
3840
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER4_ID:
|
|
3841
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER5_ID:
|
|
3842
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER6_ID:
|
|
3843
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER7_ID:
|
|
3844
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER8_ID:
|
|
3845
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER9_ID:
|
|
3846
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER10_ID:
|
|
3803
3847
|
|
|
3804
3848
|
return this.LocalNumberSort(left, right, column, sortType);
|
|
3805
3849
|
case REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID: //自定义数值字段
|
|
@@ -4185,28 +4229,6 @@ function JSReportChartContainer(uielement)
|
|
|
4185
4229
|
|
|
4186
4230
|
return true;
|
|
4187
4231
|
}
|
|
4188
|
-
|
|
4189
|
-
this.DrawTooltip=function(tooltipStatus)
|
|
4190
|
-
{
|
|
4191
|
-
if (!this.GetExtraCanvas) return;
|
|
4192
|
-
if (!this.TooltipCanvas)
|
|
4193
|
-
{
|
|
4194
|
-
var finder=this.GetExtraCanvas(JSReportChart.TooltipCursorCanvasKey);
|
|
4195
|
-
if (!finder) return;
|
|
4196
|
-
this.TooltipCanvas=finder.Canvas;
|
|
4197
|
-
}
|
|
4198
|
-
|
|
4199
|
-
if (!this.TooltipCanvas) return;
|
|
4200
|
-
this.ClearCanvas(this.TooltipCanvas);
|
|
4201
|
-
if (!this.ChartTooltip) return;
|
|
4202
|
-
|
|
4203
|
-
if (!tooltipStatus || !tooltipStatus.Data) return;
|
|
4204
|
-
|
|
4205
|
-
this.ChartTooltip.Canvas=this.TooltipCanvas;
|
|
4206
|
-
this.ChartTooltip.Point={ X:tooltipStatus.X, Y:tooltipStatus.Y };
|
|
4207
|
-
this.ChartTooltip.Data=tooltipStatus.Data.Data;
|
|
4208
|
-
this.ChartTooltip.Draw();
|
|
4209
|
-
}
|
|
4210
4232
|
}
|
|
4211
4233
|
|
|
4212
4234
|
|
|
@@ -4535,6 +4557,7 @@ function ChartReport()
|
|
|
4535
4557
|
this.SelectedRow=-1; //选中行ID
|
|
4536
4558
|
this.SelectedFixedRow=-1; //选中固定行ID
|
|
4537
4559
|
this.IsDrawBorder=1; //是否绘制单元格边框
|
|
4560
|
+
this.HeaderRowCount=1; //表头行数
|
|
4538
4561
|
|
|
4539
4562
|
//多选模式
|
|
4540
4563
|
this.MultiSelectModel=0; //0=禁用 1=开启
|
|
@@ -4579,6 +4602,7 @@ function ChartReport()
|
|
|
4579
4602
|
Margin:
|
|
4580
4603
|
{
|
|
4581
4604
|
Left:g_JSChartResource.Report.SortIcon.Margin.Left,
|
|
4605
|
+
Right:g_JSChartResource.Report.SortIcon.Margin.Right,
|
|
4582
4606
|
Bottom:g_JSChartResource.Report.SortIcon.Margin.Bottom
|
|
4583
4607
|
}
|
|
4584
4608
|
}
|
|
@@ -4667,6 +4691,7 @@ function ChartReport()
|
|
|
4667
4691
|
this.NameSymbolFont={ Symbol:null, Name:null };
|
|
4668
4692
|
this.RowCount=0; //一屏显示行数
|
|
4669
4693
|
this.HeaderHeight=0; //表头高度
|
|
4694
|
+
this.HeaderFontHeight=0; //表头字体高度
|
|
4670
4695
|
this.FixedRowHeight=0; //固定行高度
|
|
4671
4696
|
this.RowHeight=0; //行高度
|
|
4672
4697
|
this.ItemTextLines=1; //单元格输出行数
|
|
@@ -4800,6 +4825,7 @@ function ChartReport()
|
|
|
4800
4825
|
if (!colItem) return null;
|
|
4801
4826
|
|
|
4802
4827
|
if (item.Title) colItem.Title=item.Title;
|
|
4828
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryTitle)) colItem.AryTitle=item.AryTitle;
|
|
4803
4829
|
if (item.TextAlign) colItem.TextAlign=item.TextAlign;
|
|
4804
4830
|
if (item.TextColor) colItem.TextColor=item.TextColor;
|
|
4805
4831
|
if (item.HeaderColor) colItem.HeaderColor=item.HeaderColor;
|
|
@@ -5332,7 +5358,17 @@ function ChartReport()
|
|
|
5332
5358
|
if (item.Width<itemWidth) item.Width=itemWidth;
|
|
5333
5359
|
}
|
|
5334
5360
|
|
|
5335
|
-
this.
|
|
5361
|
+
this.HeaderFontHeight=this.GetFontHeight(this.HeaderFont,"擎");
|
|
5362
|
+
if (this.HeaderRowCount<=1) //单行
|
|
5363
|
+
{
|
|
5364
|
+
this.HeaderHeight=this.HeaderFontHeight+(this.HeaderMergin.Top+this.HeaderMergin.Bottom);
|
|
5365
|
+
}
|
|
5366
|
+
else
|
|
5367
|
+
{
|
|
5368
|
+
this.HeaderHeight=(this.HeaderFontHeight*this.HeaderRowCount)+(this.HeaderMergin.Top+this.HeaderMergin.Bottom);
|
|
5369
|
+
}
|
|
5370
|
+
|
|
5371
|
+
|
|
5336
5372
|
if (!this.IsShowHeader) this.HeaderHeight=0;
|
|
5337
5373
|
if (this.FixedRowCount<=0) this.FixedRowHeight=0;
|
|
5338
5374
|
|
|
@@ -5349,90 +5385,70 @@ function ChartReport()
|
|
|
5349
5385
|
this.IsShowAllColumn=(subWidth<reportWidth);
|
|
5350
5386
|
}
|
|
5351
5387
|
|
|
5352
|
-
this.
|
|
5388
|
+
this.DrawHeaderItem=function(column, rtCell, index)
|
|
5353
5389
|
{
|
|
5354
|
-
if (
|
|
5355
|
-
|
|
5356
|
-
var left=this.RectClient.Left;
|
|
5357
|
-
var top=this.RectClient.Top;
|
|
5358
|
-
var y=top+this.HeaderMergin.Top+(this.HeaderHeight-this.HeaderMergin.Top-this.HeaderMergin.Bottom)/2;
|
|
5359
|
-
var yBottom=top+this.HeaderHeight;
|
|
5360
|
-
var bDrawSortBG=this.IsDrawSortBGIcon();
|
|
5361
|
-
|
|
5362
|
-
this.Canvas.font=this.HeaderFont;
|
|
5363
|
-
|
|
5364
|
-
var textLeft=left;
|
|
5365
|
-
//固定列
|
|
5366
|
-
for(var i=0;i<this.FixedColumn && i<this.Column.length;++i)
|
|
5390
|
+
if (column.HeaderBGColor) //背景色
|
|
5367
5391
|
{
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
5371
|
-
var x=textLeft+this.HeaderMergin.Left;
|
|
5392
|
+
this.DrawItemBG({ Rect:rtCell, BGColor:column.HeaderBGColor });
|
|
5393
|
+
}
|
|
5372
5394
|
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
5377
|
-
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
5378
|
-
this.DrawItemBG({ Rect:rtBG, BGColor:item.HeaderBGColor });
|
|
5379
|
-
}
|
|
5395
|
+
var textWidth=rtCell.Width-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
5396
|
+
//AryText=[ { Text:标题, Sort:{Type:排序}, Icon:图标 }]
|
|
5397
|
+
var drawInfo={ Rect:rtCell, AryText:[ { Text:null} ], YText:rtCell.Bottom-this.HeaderMergin.Bottom, Index:index, TextWidth:textWidth };
|
|
5380
5398
|
|
|
5381
|
-
|
|
5382
|
-
|
|
5399
|
+
if (this.HeaderRowCount>1) //多行
|
|
5400
|
+
{
|
|
5401
|
+
if (IFrameSplitOperator.IsNonEmptyArray(column.AryTitle))
|
|
5383
5402
|
{
|
|
5384
|
-
|
|
5385
|
-
|
|
5403
|
+
drawInfo.AryText=[];
|
|
5404
|
+
for(var i=0;i<column.AryTitle.length && i<this.HeaderRowCount;++i)
|
|
5386
5405
|
{
|
|
5387
|
-
var
|
|
5388
|
-
|
|
5389
|
-
if (IFrameSplitOperator.IsNumber(margin.Right)) iconWidth+=margin.Right;
|
|
5406
|
+
var text=column.AryTitle[i];
|
|
5407
|
+
drawInfo.AryText.push({ Text:text } );
|
|
5390
5408
|
}
|
|
5391
|
-
|
|
5392
|
-
textWidth-=iconWidth;
|
|
5393
|
-
|
|
5394
|
-
if (item.HeaderColor) this.Canvas.fillStyle=item.HeaderColor;
|
|
5395
|
-
else this.Canvas.fillStyle=this.HeaderColor;
|
|
5396
|
-
|
|
5397
|
-
var textSize={ }
|
|
5398
|
-
if (this.SortInfo && this.SortInfo.Field==i && this.SortInfo.Sort>0)
|
|
5399
|
-
{
|
|
5400
|
-
this.DrawSortHeader(item.Title,item.TextAlign,x,yBottom,textWidth,this.SortInfo.Sort, textSize);
|
|
5401
|
-
}
|
|
5402
|
-
else if (item.Sort>0 && bDrawSortBG)
|
|
5403
|
-
{
|
|
5404
|
-
this.DrawSortHeader(item.Title,item.TextAlign,x,yBottom,textWidth,0,textSize);
|
|
5409
|
+
drawInfo.YText-=((this.HeaderRowCount-1)*this.HeaderFontHeight);
|
|
5405
5410
|
}
|
|
5406
5411
|
else
|
|
5407
5412
|
{
|
|
5408
|
-
|
|
5413
|
+
if (column.Title) drawInfo.AryText[0].Text=column.Title;
|
|
5414
|
+
drawInfo.YText=rtCell.Bottom-this.HeaderMergin.Bottom-(this.HeaderRowCount*this.HeaderFontHeight)/2+this.HeaderFontHeight/2;
|
|
5409
5415
|
}
|
|
5416
|
+
}
|
|
5417
|
+
else //单行
|
|
5418
|
+
{
|
|
5419
|
+
if (column.Title) drawInfo.AryText[0].Text=column.Title;
|
|
5420
|
+
}
|
|
5410
5421
|
|
|
5411
|
-
|
|
5412
|
-
{
|
|
5413
|
-
this.DrawHeaderIcon(item.Icon, textSize.Right, yBottom, i, item);
|
|
5414
|
-
this.Canvas.font=this.HeaderFont;
|
|
5415
|
-
}
|
|
5422
|
+
var lastItem=drawInfo.AryText[drawInfo.AryText.length-1];
|
|
5416
5423
|
|
|
5417
|
-
|
|
5424
|
+
//排序
|
|
5425
|
+
var bDrawSortBG=this.IsDrawSortBGIcon();
|
|
5426
|
+
if (this.SortInfo && this.SortInfo.Field==index && this.SortInfo.Sort>0) lastItem.Sort={ Type:this.SortInfo.Sort };
|
|
5427
|
+
else if (column.Sort>0 && bDrawSortBG) lastItem.Sort={ Type:0 };
|
|
5418
5428
|
|
|
5419
|
-
|
|
5420
|
-
|
|
5429
|
+
//图标
|
|
5430
|
+
if (column.Icon) lastItem.Icon=column.Icon;
|
|
5421
5431
|
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
var item=this.Column[i];
|
|
5425
|
-
var itemWidth=item.Width;
|
|
5426
|
-
var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
5427
|
-
var x=textLeft+this.HeaderMergin.Left;
|
|
5432
|
+
this.DrawHeaderText(column, drawInfo);
|
|
5433
|
+
}
|
|
5428
5434
|
|
|
5429
|
-
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
5435
|
+
this.DrawHeaderText=function(column, drawInfo)
|
|
5436
|
+
{
|
|
5437
|
+
if (column.HeaderColor) this.Canvas.fillStyle=column.HeaderColor;
|
|
5438
|
+
else this.Canvas.fillStyle=this.HeaderColor;
|
|
5439
|
+
|
|
5440
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
5441
|
+
var cellWidth=drawInfo.Rect.Width;
|
|
5442
|
+
|
|
5443
|
+
if (drawInfo.AryText.length>1)
|
|
5444
|
+
var nnnn=10;
|
|
5445
|
+
|
|
5446
|
+
var y=drawInfo.YText;
|
|
5447
|
+
for(var i=0;i<drawInfo.AryText.length;++i)
|
|
5448
|
+
{
|
|
5449
|
+
var x=drawInfo.Rect.Left+this.HeaderMergin.Left;
|
|
5450
|
+
var item=drawInfo.AryText[i];
|
|
5451
|
+
var textSize={ TextMaxWidth:drawInfo.TextWidth };
|
|
5436
5452
|
|
|
5437
5453
|
var iconWidth=0;
|
|
5438
5454
|
if (item.Icon && item.Icon.Symbol) //图标
|
|
@@ -5445,81 +5461,113 @@ function ChartReport()
|
|
|
5445
5461
|
if (IFrameSplitOperator.IsNumber(margin.Right)) iconWidth+=margin.Right;
|
|
5446
5462
|
}
|
|
5447
5463
|
}
|
|
5464
|
+
if (iconWidth>0) textSize.TextMaxWidth-=iconWidth;
|
|
5448
5465
|
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5466
|
+
var sortWidth=0; //排序图标
|
|
5467
|
+
if (item.Sort && this.SortConfig && IFrameSplitOperator.IsPlusNumber(this.SortConfig.Size))
|
|
5468
|
+
{
|
|
5469
|
+
sortWidth=this.SortConfig.Size*pixelRatio;
|
|
5470
|
+
if (this.SortConfig.Margin)
|
|
5471
|
+
{
|
|
5472
|
+
var margin=this.SortConfig.Margin;
|
|
5473
|
+
if (IFrameSplitOperator.IsNumber(margin.Left)) sortWidth+=margin.Left;
|
|
5474
|
+
if (IFrameSplitOperator.IsNumber(margin.Right)) sortWidth+=margin.Right;
|
|
5475
|
+
}
|
|
5476
|
+
}
|
|
5477
|
+
if (sortWidth>0) textSize.TextMaxWidth-=sortWidth;
|
|
5478
|
+
|
|
5453
5479
|
|
|
5454
|
-
var
|
|
5455
|
-
if (
|
|
5480
|
+
var textWidth=0;
|
|
5481
|
+
if (item.Text)
|
|
5456
5482
|
{
|
|
5457
|
-
this.
|
|
5483
|
+
this.Canvas.font=this.HeaderFont;
|
|
5484
|
+
textWidth=this.Canvas.measureText(item.Text).width;
|
|
5458
5485
|
}
|
|
5459
|
-
|
|
5486
|
+
|
|
5487
|
+
if (column.TextAlign=='center') x=x+(cellWidth-textWidth)/2;
|
|
5488
|
+
else if (column.TextAlign=='right') x=x+textSize.TextMaxWidth-textWidth;
|
|
5489
|
+
|
|
5490
|
+
if (item.Text) //文字
|
|
5460
5491
|
{
|
|
5461
|
-
this.
|
|
5492
|
+
this.Canvas.fillText(item.Text,x,y);
|
|
5493
|
+
x+=textWidth;
|
|
5462
5494
|
}
|
|
5463
|
-
|
|
5495
|
+
|
|
5496
|
+
if (sortWidth>1) //排序
|
|
5464
5497
|
{
|
|
5465
|
-
this.
|
|
5498
|
+
var sortText=this.SortConfig.Arrow[item.Sort.Type];
|
|
5499
|
+
var sortColor=this.SortConfig.Color[item.Sort.Type];
|
|
5500
|
+
this.Canvas.font=this.SortFont;
|
|
5501
|
+
this.Canvas.fillStyle=sortColor;
|
|
5502
|
+
this.Canvas.fillText(sortText,x,y-this.SortConfig.Margin.Bottom);
|
|
5503
|
+
x+=sortWidth;
|
|
5466
5504
|
}
|
|
5467
5505
|
|
|
5468
|
-
if (iconWidth>
|
|
5506
|
+
if (iconWidth>1) //图标
|
|
5469
5507
|
{
|
|
5470
|
-
|
|
5471
|
-
|
|
5508
|
+
var icon=item.Icon;
|
|
5509
|
+
var iconFont=`${icon.Size}px ${icon.Family}`;
|
|
5510
|
+
this.Canvas.font=iconFont;
|
|
5511
|
+
if (icon.Color) this.Canvas.fillStyle=icon.Color;
|
|
5512
|
+
var yOffset=0, xOffset=0;
|
|
5513
|
+
if (icon.Margin && IFrameSplitOperator.IsNumber(icon.Margin.Left)) xOffset=icon.Margin.Left;
|
|
5514
|
+
if (icon.Margin && IFrameSplitOperator.IsNumber(icon.Margin.Bottom)) yOffset=-icon.Margin.Bottom;
|
|
5515
|
+
this.Canvas.fillText(icon.Symbol, x+xOffset, y+yOffset);
|
|
5516
|
+
|
|
5517
|
+
if (icon.Tooltip)
|
|
5518
|
+
{
|
|
5519
|
+
var rtIcon={ Left:x+xOffset, Bottom:y+yOffset, Width:icon.Size, Height:icon.Size };
|
|
5520
|
+
rtIcon.Right=rtIcon.Left+rtIcon.Width;
|
|
5521
|
+
rtIcon.Top=rtIcon.Bottom-rtIcon.Height;
|
|
5522
|
+
|
|
5523
|
+
var tooltipData={ Rect:rtIcon, Type:2, Column:column, Index:drawInfo.Index, Data:icon.Tooltip.Data };
|
|
5524
|
+
this.TooltipRect.push(tooltipData);
|
|
5525
|
+
}
|
|
5472
5526
|
}
|
|
5473
5527
|
|
|
5474
|
-
|
|
5475
|
-
}
|
|
5528
|
+
y+=this.HeaderFontHeight;
|
|
5529
|
+
}
|
|
5476
5530
|
}
|
|
5477
5531
|
|
|
5478
|
-
this.
|
|
5532
|
+
this.DrawHeader=function()
|
|
5479
5533
|
{
|
|
5480
|
-
|
|
5481
|
-
if (textAlign=='center')
|
|
5482
|
-
{
|
|
5483
|
-
x=x+(cellWidth-textWidth)/2;
|
|
5484
|
-
}
|
|
5485
|
-
else if (textAlign=='right')
|
|
5486
|
-
{
|
|
5487
|
-
x=x+cellWidth-textWidth;
|
|
5488
|
-
}
|
|
5534
|
+
if (!this.IsShowHeader) return;
|
|
5489
5535
|
|
|
5536
|
+
var left=this.RectClient.Left;
|
|
5537
|
+
var top=this.RectClient.Top;
|
|
5538
|
+
this.Canvas.font=this.HeaderFont;
|
|
5539
|
+
|
|
5540
|
+
var textLeft=left;
|
|
5490
5541
|
this.Canvas.textAlign="left";
|
|
5491
5542
|
this.Canvas.textBaseline="bottom";
|
|
5492
|
-
|
|
5493
|
-
|
|
5494
|
-
if (textSize)
|
|
5543
|
+
//固定列
|
|
5544
|
+
for(var i=0;i<this.FixedColumn && i<this.Column.length;++i)
|
|
5495
5545
|
{
|
|
5496
|
-
|
|
5497
|
-
|
|
5498
|
-
|
|
5499
|
-
}
|
|
5546
|
+
var item=this.Column[i];
|
|
5547
|
+
var itemWidth=item.Width;
|
|
5548
|
+
//var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
5500
5549
|
|
|
5501
|
-
|
|
5502
|
-
|
|
5503
|
-
|
|
5504
|
-
this.Canvas.font=iconFont;
|
|
5505
|
-
this.Canvas.textAlign="left";
|
|
5506
|
-
if (icon.Color) this.Canvas.fillStyle=icon.Color;
|
|
5550
|
+
var rtCell={ Left:textLeft, Width:itemWidth, Top:top, Height:this.HeaderHeight };
|
|
5551
|
+
rtCell.Right=rtCell.Left+rtCell.Width;
|
|
5552
|
+
rtCell.Bottom=rtCell.Top+rtCell.Height;
|
|
5507
5553
|
|
|
5508
|
-
|
|
5509
|
-
|
|
5510
|
-
|
|
5511
|
-
if (icon.Margin && IFrameSplitOperator.IsNumber(icon.Margin.Bottom)) yIcon-=icon.Margin.Bottom;
|
|
5512
|
-
this.Canvas.fillText(icon.Symbol, xIcon, yIcon);
|
|
5554
|
+
this.DrawHeaderItem(item, rtCell, i);
|
|
5555
|
+
textLeft+=item.Width;
|
|
5556
|
+
}
|
|
5513
5557
|
|
|
5514
|
-
|
|
5558
|
+
for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i)
|
|
5515
5559
|
{
|
|
5516
|
-
var
|
|
5517
|
-
|
|
5518
|
-
|
|
5560
|
+
var item=this.Column[i];
|
|
5561
|
+
var itemWidth=item.Width;
|
|
5562
|
+
//var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
5519
5563
|
|
|
5520
|
-
var
|
|
5521
|
-
|
|
5522
|
-
|
|
5564
|
+
var rtCell={ Left:textLeft, Width:itemWidth, Top:top, Height:this.HeaderHeight };
|
|
5565
|
+
rtCell.Right=rtCell.Left+rtCell.Width;
|
|
5566
|
+
rtCell.Bottom=rtCell.Top+rtCell.Height;
|
|
5567
|
+
|
|
5568
|
+
this.DrawHeaderItem(item, rtCell, i);
|
|
5569
|
+
textLeft+=item.Width;
|
|
5570
|
+
}
|
|
5523
5571
|
}
|
|
5524
5572
|
|
|
5525
5573
|
//是否绘制排序背景图标
|
|
@@ -5534,57 +5582,6 @@ function ChartReport()
|
|
|
5534
5582
|
return true;
|
|
5535
5583
|
}
|
|
5536
5584
|
|
|
5537
|
-
this.DrawSortHeader=function(text, textAlign, x, yBottom, width, sortType,textSize)
|
|
5538
|
-
{
|
|
5539
|
-
var pixelRatio=GetDevicePixelRatio();
|
|
5540
|
-
var sortText=this.SortConfig.Arrow[sortType];
|
|
5541
|
-
var sortBGText=this.SortConfig.Arrow[0];
|
|
5542
|
-
var sortBGColor=this.SortConfig.Color[0];
|
|
5543
|
-
this.Canvas.font=this.HeaderFont;
|
|
5544
|
-
var textWidth=this.Canvas.measureText(text).width;
|
|
5545
|
-
var sortTextWidth=this.SortConfig.Size*pixelRatio+this.SortConfig.Margin.Left;
|
|
5546
|
-
|
|
5547
|
-
if (textAlign=='center')
|
|
5548
|
-
{
|
|
5549
|
-
x=x+width/2-(sortTextWidth+textWidth)/2;
|
|
5550
|
-
}
|
|
5551
|
-
else if (textAlign=='right')
|
|
5552
|
-
{
|
|
5553
|
-
x=(x+width)-sortTextWidth-textWidth;
|
|
5554
|
-
}
|
|
5555
|
-
|
|
5556
|
-
this.Canvas.textBaseline="bottom";
|
|
5557
|
-
this.Canvas.textAlign="left";
|
|
5558
|
-
|
|
5559
|
-
var xText=x;
|
|
5560
|
-
this.Canvas.font=this.HeaderFont;
|
|
5561
|
-
this.Canvas.fillStyle=this.HeaderColor;
|
|
5562
|
-
this.Canvas.fillText(text,xText,yBottom-this.HeaderMergin.Bottom);
|
|
5563
|
-
|
|
5564
|
-
xText+=(textWidth+this.SortConfig.Margin.Left);
|
|
5565
|
-
this.Canvas.font=this.SortFont;
|
|
5566
|
-
if (sortBGText && sortBGColor)
|
|
5567
|
-
{
|
|
5568
|
-
this.Canvas.fillStyle=sortBGColor;
|
|
5569
|
-
this.Canvas.fillText(sortBGText,xText,yBottom-this.SortConfig.Margin.Bottom);
|
|
5570
|
-
}
|
|
5571
|
-
|
|
5572
|
-
if (sortType>0)
|
|
5573
|
-
{
|
|
5574
|
-
this.Canvas.fillStyle=this.SortConfig.Color[sortType];
|
|
5575
|
-
this.Canvas.fillText(sortText,xText,yBottom-this.SortConfig.Margin.Bottom);
|
|
5576
|
-
}
|
|
5577
|
-
|
|
5578
|
-
this.Canvas.font=this.HeaderFont;
|
|
5579
|
-
this.Canvas.fillStyle=this.HeaderColor;
|
|
5580
|
-
|
|
5581
|
-
if (textSize)
|
|
5582
|
-
{
|
|
5583
|
-
textSize.Right=x+textWidth+sortTextWidth;
|
|
5584
|
-
textSize.Width=textWidth+sortTextWidth;
|
|
5585
|
-
}
|
|
5586
|
-
}
|
|
5587
|
-
|
|
5588
5585
|
this.DrawBorder=function()
|
|
5589
5586
|
{
|
|
5590
5587
|
if (!this.IsDrawBorder) return;
|
|
@@ -6208,9 +6205,7 @@ function ChartReport()
|
|
|
6208
6205
|
{
|
|
6209
6206
|
this.FormatReserveNumber(column, stock, drawInfo);
|
|
6210
6207
|
}
|
|
6211
|
-
else if (
|
|
6212
|
-
REPORT_COLUMN_ID.RESERVE_STRING5_ID,REPORT_COLUMN_ID.RESERVE_STRING6_ID,REPORT_COLUMN_ID.RESERVE_STRING7_ID,REPORT_COLUMN_ID.RESERVE_STRING8_ID,
|
|
6213
|
-
REPORT_COLUMN_ID.RESERVE_STRING9_ID,REPORT_COLUMN_ID.RESERVE_STRING10_ID].includes(column.Type))
|
|
6208
|
+
else if (this.IsReserveString(column.Type))
|
|
6214
6209
|
{
|
|
6215
6210
|
this.FormatReserveString(column, stock, drawInfo);
|
|
6216
6211
|
}
|
|
@@ -6269,7 +6264,7 @@ function ChartReport()
|
|
|
6269
6264
|
|
|
6270
6265
|
this.DrawItemBG(drawInfo);
|
|
6271
6266
|
|
|
6272
|
-
if (column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)
|
|
6267
|
+
if (column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID || this.IsReserveString(column.Type))
|
|
6273
6268
|
this.DrawCustomText(drawInfo,column, x, top, textWidth);
|
|
6274
6269
|
else
|
|
6275
6270
|
this.DrawItemText(drawInfo.Text, drawInfo.TextColor, drawInfo.TextAlign, x, top, textWidth, drawInfo.BGColor);
|
|
@@ -6321,6 +6316,20 @@ function ChartReport()
|
|
|
6321
6316
|
return ARARY_TYPE.includes(value);
|
|
6322
6317
|
}
|
|
6323
6318
|
|
|
6319
|
+
this.IsReserveString=function(value)
|
|
6320
|
+
{
|
|
6321
|
+
var ARARY_TYPE=
|
|
6322
|
+
[
|
|
6323
|
+
REPORT_COLUMN_ID.RESERVE_STRING1_ID,REPORT_COLUMN_ID.RESERVE_STRING2_ID,REPORT_COLUMN_ID.RESERVE_STRING3_ID,REPORT_COLUMN_ID.RESERVE_STRING4_ID,
|
|
6324
|
+
REPORT_COLUMN_ID.RESERVE_STRING5_ID,REPORT_COLUMN_ID.RESERVE_STRING6_ID,REPORT_COLUMN_ID.RESERVE_STRING7_ID,REPORT_COLUMN_ID.RESERVE_STRING8_ID,
|
|
6325
|
+
REPORT_COLUMN_ID.RESERVE_STRING9_ID,REPORT_COLUMN_ID.RESERVE_STRING10_ID
|
|
6326
|
+
];
|
|
6327
|
+
|
|
6328
|
+
return ARARY_TYPE.includes(value);
|
|
6329
|
+
}
|
|
6330
|
+
|
|
6331
|
+
|
|
6332
|
+
|
|
6324
6333
|
this.DrawCustomText=function(drawInfo, column, left, top, cellWidth)
|
|
6325
6334
|
{
|
|
6326
6335
|
if (!drawInfo.Text) return;
|
|
@@ -9050,7 +9059,7 @@ function ChartVScrollbar()
|
|
|
9050
9059
|
}
|
|
9051
9060
|
}
|
|
9052
9061
|
|
|
9053
|
-
|
|
9062
|
+
/* 使用div替换掉了
|
|
9054
9063
|
function ChartCellTooltip()
|
|
9055
9064
|
{
|
|
9056
9065
|
this.Canvas; //画布
|
|
@@ -9212,3 +9221,4 @@ function ChartCellTooltip()
|
|
|
9212
9221
|
}
|
|
9213
9222
|
}
|
|
9214
9223
|
}
|
|
9224
|
+
*/
|