hqchart 1.1.14258 → 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 +250 -56
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +43 -0
- package/src/jscommon/umychart.NetworkFilterTest.js +406 -1
- package/src/jscommon/umychart.complier.js +0 -3
- package/src/jscommon/umychart.js +140 -18
- package/src/jscommon/umychart.report.js +241 -231
- package/src/jscommon/umychart.style.js +11 -1
- package/src/jscommon/umychart.testdata.js +406 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +393 -254
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +406 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +436 -254
|
@@ -6683,6 +6683,8 @@ var JSCHART_BUTTON_ID=
|
|
|
6683
6683
|
INDEX_NAME_BUTTON:43,
|
|
6684
6684
|
|
|
6685
6685
|
ADD_INDEX_WINDOW:44, //增加指标窗口
|
|
6686
|
+
|
|
6687
|
+
CHIP_CLOSE:45, //关闭筹码图
|
|
6686
6688
|
}
|
|
6687
6689
|
|
|
6688
6690
|
var JSCHART_DATA_FIELD_ID=
|
|
@@ -8767,6 +8769,34 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8767
8769
|
|
|
8768
8770
|
}
|
|
8769
8771
|
|
|
8772
|
+
this.TryPhoneClickButton=function(x,y,e)
|
|
8773
|
+
{
|
|
8774
|
+
if (this.TryClickLock || this.TryClickIndexTitle) //指标枷锁区域 , 指标标题点击
|
|
8775
|
+
{
|
|
8776
|
+
if (this.TryClickLock && this.TryClickLock(x, y)) return true;
|
|
8777
|
+
if (this.TryClickIndexTitle && this.TryClickIndexTitle(x,y)) return true;
|
|
8778
|
+
}
|
|
8779
|
+
|
|
8780
|
+
if (this.ClickFrameButton)
|
|
8781
|
+
{
|
|
8782
|
+
var button=this.Frame.PtInButtons(x,y);
|
|
8783
|
+
if (button)
|
|
8784
|
+
{
|
|
8785
|
+
this.ClickFrameButton(button, e);
|
|
8786
|
+
return true;
|
|
8787
|
+
}
|
|
8788
|
+
}
|
|
8789
|
+
|
|
8790
|
+
button=this.PtInExtendChartButtons(x,y);
|
|
8791
|
+
if (button && this.ClickExtendChartButton)
|
|
8792
|
+
{
|
|
8793
|
+
this.ClickExtendChartButton(button, e);
|
|
8794
|
+
return true;
|
|
8795
|
+
}
|
|
8796
|
+
|
|
8797
|
+
return false;
|
|
8798
|
+
}
|
|
8799
|
+
|
|
8770
8800
|
this.OnTouchStart=function(e)
|
|
8771
8801
|
{
|
|
8772
8802
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
@@ -8789,23 +8819,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8789
8819
|
var touches = this.GetToucheData(e, this.IsForceLandscape);
|
|
8790
8820
|
var pt=this.PointAbsoluteToRelative(touches[0].clientX, touches[0].clientY, true);
|
|
8791
8821
|
|
|
8792
|
-
if (this.
|
|
8793
|
-
{
|
|
8794
|
-
var x = pt.X;
|
|
8795
|
-
var y = pt.Y;
|
|
8796
|
-
if (this.TryClickLock && this.TryClickLock(x, y)) return;
|
|
8797
|
-
if (this.TryClickIndexTitle && this.TryClickIndexTitle(x,y)) return;
|
|
8798
|
-
}
|
|
8799
|
-
|
|
8800
|
-
if (this.ClickFrameButton)
|
|
8801
|
-
{
|
|
8802
|
-
var button=this.Frame.PtInButtons(pt.X,pt.Y);
|
|
8803
|
-
if (button)
|
|
8804
|
-
{
|
|
8805
|
-
this.ClickFrameButton(button, e);
|
|
8806
|
-
return;
|
|
8807
|
-
}
|
|
8808
|
-
}
|
|
8822
|
+
if (this.TryPhoneClickButton(pt.X, pt.Y, e)) return;
|
|
8809
8823
|
|
|
8810
8824
|
if (this.EnableVerticalDrag )
|
|
8811
8825
|
{
|
|
@@ -48686,8 +48700,12 @@ function StockChipPhone()
|
|
|
48686
48700
|
//手机端没有按钮
|
|
48687
48701
|
this.DrawToolbar=function(moveonPoint, mouseStatus) { }
|
|
48688
48702
|
|
|
48703
|
+
this.CloseButtonConfig=CloneData(g_JSChartResource.StockChip.PhoneCloseButton);
|
|
48704
|
+
|
|
48705
|
+
|
|
48689
48706
|
this.Draw=function()
|
|
48690
48707
|
{
|
|
48708
|
+
this.Buttons=[];
|
|
48691
48709
|
this.IsHScreen=this.ChartFrame.IsHScreen==true;
|
|
48692
48710
|
this.PixelRatio=GetDevicePixelRatio();
|
|
48693
48711
|
if (this.IsHScreen)
|
|
@@ -48730,6 +48748,7 @@ function StockChipPhone()
|
|
|
48730
48748
|
}
|
|
48731
48749
|
|
|
48732
48750
|
this.DrawBorder();
|
|
48751
|
+
this.DrawCloseButton();
|
|
48733
48752
|
this.SizeChange=false;
|
|
48734
48753
|
}
|
|
48735
48754
|
|
|
@@ -49092,6 +49111,73 @@ function StockChipPhone()
|
|
|
49092
49111
|
|
|
49093
49112
|
this.Canvas.fill();
|
|
49094
49113
|
}
|
|
49114
|
+
|
|
49115
|
+
//关闭按钮
|
|
49116
|
+
this.DrawCloseButton=function()
|
|
49117
|
+
{
|
|
49118
|
+
var config=this.CloseButtonConfig;
|
|
49119
|
+
var font=`${config.Size}px ${config.Family}`;
|
|
49120
|
+
var rtButton=null;
|
|
49121
|
+
if (this.IsHScreen)
|
|
49122
|
+
{
|
|
49123
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
49124
|
+
var right=border.Left-2;
|
|
49125
|
+
var bottom=border.ChartHeight-2;
|
|
49126
|
+
var left=right-config.Size;
|
|
49127
|
+
var top=bottom-config.Size;
|
|
49128
|
+
|
|
49129
|
+
var rtButton={ Left:left, Top:top, Bottom:bottom, Right:right };
|
|
49130
|
+
rtButton.Width=rtButton.Right-rtButton.Left;
|
|
49131
|
+
rtButton.Height=rtButton.Bottom-rtButton.Top;
|
|
49132
|
+
}
|
|
49133
|
+
else
|
|
49134
|
+
{
|
|
49135
|
+
var border=this.ChartBorder.GetBorder();
|
|
49136
|
+
var top=border.Bottom+2;
|
|
49137
|
+
var bottom=top+config.Size;
|
|
49138
|
+
var right=border.ChartWidth-2;
|
|
49139
|
+
var left=right-config.Size;
|
|
49140
|
+
|
|
49141
|
+
var rtButton={ Left:left, Top:top, Bottom:bottom, Right:right };
|
|
49142
|
+
rtButton.Width=rtButton.Right-rtButton.Left;
|
|
49143
|
+
rtButton.Height=rtButton.Bottom-rtButton.Top;
|
|
49144
|
+
}
|
|
49145
|
+
|
|
49146
|
+
if (!rtButton) return;
|
|
49147
|
+
|
|
49148
|
+
if (config.Border)
|
|
49149
|
+
{
|
|
49150
|
+
if (config.Border.BGColor)
|
|
49151
|
+
{
|
|
49152
|
+
this.Canvas.fillStyle=config.Border.BGColor;
|
|
49153
|
+
this.Canvas.fillRect(rtButton.Left,rtButton.Top,rtButton.Width,rtButton.Height);
|
|
49154
|
+
}
|
|
49155
|
+
}
|
|
49156
|
+
|
|
49157
|
+
this.Canvas.fillStyle=config.Color;
|
|
49158
|
+
this.Canvas.font=font;
|
|
49159
|
+
this.Canvas.textAlign="left";
|
|
49160
|
+
this.Canvas.textBaseline="bottom";
|
|
49161
|
+
if (this.IsHScreen)
|
|
49162
|
+
{
|
|
49163
|
+
var radius=config.Size/2;
|
|
49164
|
+
var x=rtButton.Left+radius, y=rtButton.Bottom-radius;
|
|
49165
|
+
this.Canvas.save();
|
|
49166
|
+
this.Canvas.translate(x,y);
|
|
49167
|
+
this.Canvas.rotate(90 * Math.PI / 180);
|
|
49168
|
+
this.Canvas.fillText(config.Text,-radius,radius);
|
|
49169
|
+
this.Canvas.restore();
|
|
49170
|
+
|
|
49171
|
+
}
|
|
49172
|
+
else
|
|
49173
|
+
{
|
|
49174
|
+
this.Canvas.fillText(config.Text, rtButton.Left, rtButton.Bottom);
|
|
49175
|
+
}
|
|
49176
|
+
|
|
49177
|
+
var btnItem={ ID:JSCHART_BUTTON_ID.CHIP_CLOSE, Rect:rtButton };
|
|
49178
|
+
this.Buttons.push(btnItem);
|
|
49179
|
+
|
|
49180
|
+
}
|
|
49095
49181
|
}
|
|
49096
49182
|
|
|
49097
49183
|
//窗口分割
|
|
@@ -52773,6 +52859,10 @@ IFrameSplitOperator.FormatDateString=function(value,format, languageID)
|
|
|
52773
52859
|
{
|
|
52774
52860
|
case 'MM-DD':
|
|
52775
52861
|
return IFrameSplitOperator.NumberToString(month) + '-' + IFrameSplitOperator.NumberToString(day);
|
|
52862
|
+
case "MM-DD/W":
|
|
52863
|
+
var date=new Date(year,month-1,day);
|
|
52864
|
+
var week=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],languageID);
|
|
52865
|
+
return `${IFrameSplitOperator.NumberToString(month)}-${IFrameSplitOperator.NumberToString(day)}/${week}`;
|
|
52776
52866
|
case "MM/DD":
|
|
52777
52867
|
return `${IFrameSplitOperator.NumberToString(month)}/${IFrameSplitOperator.NumberToString(day)}`;
|
|
52778
52868
|
case "MM/DD/W":
|
|
@@ -74326,6 +74416,16 @@ function JSChartResource()
|
|
|
74326
74416
|
Size:13*GetDevicePixelRatio(),
|
|
74327
74417
|
MerginLeft:4
|
|
74328
74418
|
},
|
|
74419
|
+
|
|
74420
|
+
//手机端
|
|
74421
|
+
PhoneCloseButton:
|
|
74422
|
+
{
|
|
74423
|
+
Family:"iconfont",
|
|
74424
|
+
Size:16*GetDevicePixelRatio(),
|
|
74425
|
+
Text:"\ue60c",
|
|
74426
|
+
Color:"rgb(255,255,255)",
|
|
74427
|
+
Border:{ BGColor:"rgb(169,169,169)" }
|
|
74428
|
+
}
|
|
74329
74429
|
}
|
|
74330
74430
|
|
|
74331
74431
|
//深度图
|
|
@@ -74460,7 +74560,7 @@ function JSChartResource()
|
|
|
74460
74560
|
Size:12, Family:"iconfont",
|
|
74461
74561
|
Arrow:[null, "\ue6b2", "\ue6b1"], //[0]=默认排序的图标背景色
|
|
74462
74562
|
Color:[null, "rgb(255,0,0)", "rgb(255,0,0)"],
|
|
74463
|
-
Margin:{ Left:0, Bottom:
|
|
74563
|
+
Margin:{ Left:0, Bottom:2, Right:0,}
|
|
74464
74564
|
},
|
|
74465
74565
|
|
|
74466
74566
|
Item:
|
|
@@ -75244,6 +75344,20 @@ function JSChartResource()
|
|
|
75244
75344
|
if (item.DefaultButton) T_SetButtonStyle(item.DefaultButton, this.StockChip.DefaultButton);
|
|
75245
75345
|
if (item.LongButton) T_SetButtonStyle(item.LongButton, this.StockChip.LongButton);
|
|
75246
75346
|
if (item.RecentButton) T_SetButtonStyle(item.RecentButton, this.StockChip.RecentButton);
|
|
75347
|
+
if (item.CloseButton) T_SetButtonStyle(item.CloseButton, this.StockChip.CloseButton);
|
|
75348
|
+
|
|
75349
|
+
if (item.PhoneCloseButton)
|
|
75350
|
+
{
|
|
75351
|
+
var subItem=item.PhoneCloseButton;
|
|
75352
|
+
if (subItem.Family) this.StockChip.PhoneCloseButton.Family=subItem.Family;
|
|
75353
|
+
if (subItem.Text) this.StockChip.PhoneCloseButton.Text=subItem.Text;
|
|
75354
|
+
if (subItem.Color) this.StockChip.PhoneCloseButton.Color=subItem.Color;
|
|
75355
|
+
if (IFrameSplitOperator.IsNumber(subItem.Size)) this.StockChip.PhoneCloseButton.Size=subItem.Size;
|
|
75356
|
+
if (subItem.Border)
|
|
75357
|
+
{
|
|
75358
|
+
if (subItem.Border.BGColor) this.StockChip.PhoneCloseButton.Border.BGColor=subItem.Border.BGColor;
|
|
75359
|
+
}
|
|
75360
|
+
}
|
|
75247
75361
|
}
|
|
75248
75362
|
|
|
75249
75363
|
if (style.DepthChart)
|
|
@@ -84490,6 +84604,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84490
84604
|
button.Chart.ShowType=2;
|
|
84491
84605
|
this.Draw();
|
|
84492
84606
|
}
|
|
84607
|
+
else if (button.ID==JSCHART_BUTTON_ID.CHIP_CLOSE)
|
|
84608
|
+
{
|
|
84609
|
+
if (this.DeleteStockChipChart) this.DeleteStockChipChart();
|
|
84610
|
+
}
|
|
84493
84611
|
}
|
|
84494
84612
|
|
|
84495
84613
|
//成交量分布图数据请求
|
|
@@ -92090,6 +92208,9 @@ function KLineChartHScreenContainer(uielement)
|
|
|
92090
92208
|
var touches = this.GetToucheData(e, false);
|
|
92091
92209
|
var pt=this.PointAbsoluteToRelative(touches[0].clientX, touches[0].clientY, true);
|
|
92092
92210
|
|
|
92211
|
+
if (this.TryPhoneClickButton(pt.X,pt.Y,e)) return;
|
|
92212
|
+
|
|
92213
|
+
/*
|
|
92093
92214
|
if (this.TryClickLock || this.TryClickIndexTitle) //指标枷锁区域, 指标标题点击
|
|
92094
92215
|
{
|
|
92095
92216
|
var x = pt.X;
|
|
@@ -92107,6 +92228,7 @@ function KLineChartHScreenContainer(uielement)
|
|
|
92107
92228
|
return;
|
|
92108
92229
|
}
|
|
92109
92230
|
}
|
|
92231
|
+
*/
|
|
92110
92232
|
|
|
92111
92233
|
if (this.EnableVerticalDrag )
|
|
92112
92234
|
{
|
|
@@ -116543,9 +116665,6 @@ function JSExecute(ast,option)
|
|
|
116543
116665
|
|
|
116544
116666
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_OTHER_SYMBOL_DATA: //指定股票数据
|
|
116545
116667
|
return this.SymbolData.GetOtherSymbolData(jobItem);
|
|
116546
|
-
|
|
116547
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_RELEASE_DATE_DATA:
|
|
116548
|
-
return this.SymbolData.GetCompanyReleaseDate(jobItem.ID);
|
|
116549
116668
|
|
|
116550
116669
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BALANCE:
|
|
116551
116670
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_RATE:
|
|
@@ -126000,7 +126119,17 @@ function GetBlackStyle()
|
|
|
126000
126119
|
StockChip:
|
|
126001
126120
|
{
|
|
126002
126121
|
InfoColor:'rgb(255,255,255)', //文字颜色
|
|
126003
|
-
DayInfoColor:'rgb(0,0,0)' //周期颜色内文字颜色
|
|
126122
|
+
DayInfoColor:'rgb(0,0,0)', //周期颜色内文字颜色
|
|
126123
|
+
|
|
126124
|
+
//手机端
|
|
126125
|
+
PhoneCloseButton:
|
|
126126
|
+
{
|
|
126127
|
+
Family:"iconfont",
|
|
126128
|
+
Size:16*GetDevicePixelRatio(),
|
|
126129
|
+
Text:"\ue60c",
|
|
126130
|
+
Color:"rgb(255,255,255)",
|
|
126131
|
+
Border:{ BGColor:"rgb(40,42,44)" }
|
|
126132
|
+
}
|
|
126004
126133
|
},
|
|
126005
126134
|
|
|
126006
126135
|
//深度图
|
|
@@ -128011,15 +128140,8 @@ function JSReportChart(divElement)
|
|
|
128011
128140
|
if (option.EnableResize==true) this.CreateResizeListener();
|
|
128012
128141
|
|
|
128013
128142
|
if (option.EnablePopMenuV2===true) chart.InitalPopMenu();
|
|
128014
|
-
if (option.
|
|
128015
|
-
|
|
128016
|
-
this.CreateExtraCanvasElement(JSReportChart.TooltipCursorCanvasKey, { ZIndex:99 });
|
|
128017
|
-
}
|
|
128018
|
-
|
|
128019
|
-
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable)
|
|
128020
|
-
{
|
|
128021
|
-
chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
128022
|
-
}
|
|
128143
|
+
if (option.FloatTooltip && option.FloatTooltip.Enable) chart.InitalFloatTooltip(option.FloatTooltip); //提示信息
|
|
128144
|
+
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
128023
128145
|
|
|
128024
128146
|
if (option.Symbol) chart.Symbol=option.Symbol;
|
|
128025
128147
|
if (option.Name) chart.Name=option.Name;
|
|
@@ -128189,8 +128311,6 @@ function JSReportChart(divElement)
|
|
|
128189
128311
|
}
|
|
128190
128312
|
}
|
|
128191
128313
|
|
|
128192
|
-
JSReportChart.TooltipCursorCanvasKey="hq_report_tooltip"; //提示信息
|
|
128193
|
-
|
|
128194
128314
|
|
|
128195
128315
|
JSReportChart.Init=function(divElement)
|
|
128196
128316
|
{
|
|
@@ -128269,9 +128389,6 @@ function JSReportChartContainer(uielement)
|
|
|
128269
128389
|
this.SplashTitle={ StockList:"下载码表中.....", MemberList:"下载成分中....." } ;
|
|
128270
128390
|
|
|
128271
128391
|
this.Canvas=uielement.getContext("2d"); //画布
|
|
128272
|
-
|
|
128273
|
-
this.TooltipCanvas;
|
|
128274
|
-
this.ChartTooltip;
|
|
128275
128392
|
|
|
128276
128393
|
this.Tooltip=document.createElement("div");
|
|
128277
128394
|
this.Tooltip.className='jsreport-tooltip';
|
|
@@ -128355,6 +128472,7 @@ function JSReportChartContainer(uielement)
|
|
|
128355
128472
|
this.StopAutoUpdate();
|
|
128356
128473
|
|
|
128357
128474
|
this.DestroyMinuteChartTooltip();
|
|
128475
|
+
this.DestroyFloatTooltip();
|
|
128358
128476
|
}
|
|
128359
128477
|
|
|
128360
128478
|
this.StopAutoDragScrollTimer=function()
|
|
@@ -128393,6 +128511,51 @@ function JSReportChartContainer(uielement)
|
|
|
128393
128511
|
this.TooltipMinuteChart=null;
|
|
128394
128512
|
}
|
|
128395
128513
|
|
|
128514
|
+
this.InitalFloatTooltip=function(option)
|
|
128515
|
+
{
|
|
128516
|
+
if (this.FloatTooltip) return;
|
|
128517
|
+
|
|
128518
|
+
this.FloatTooltip=new JSFloatTooltip();
|
|
128519
|
+
this.FloatTooltip.Inital(this, option);
|
|
128520
|
+
this.FloatTooltip.Create();
|
|
128521
|
+
}
|
|
128522
|
+
|
|
128523
|
+
this.HideFloatTooltip=function()
|
|
128524
|
+
{
|
|
128525
|
+
if (!this.FloatTooltip) return;
|
|
128526
|
+
|
|
128527
|
+
this.FloatTooltip.Hide();
|
|
128528
|
+
}
|
|
128529
|
+
|
|
128530
|
+
this.DestroyFloatTooltip=function()
|
|
128531
|
+
{
|
|
128532
|
+
if (!this.FloatTooltip) return;
|
|
128533
|
+
|
|
128534
|
+
this.FloatTooltip.Destroy();
|
|
128535
|
+
this.FloatTooltip=null;
|
|
128536
|
+
}
|
|
128537
|
+
|
|
128538
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
128539
|
+
{
|
|
128540
|
+
if (!this.FloatTooltip) return;
|
|
128541
|
+
|
|
128542
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
128543
|
+
}
|
|
128544
|
+
|
|
128545
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
128546
|
+
{
|
|
128547
|
+
if (!this.FloatTooltip) return;
|
|
128548
|
+
|
|
128549
|
+
var sendData=
|
|
128550
|
+
{
|
|
128551
|
+
Tooltip:toolTip,
|
|
128552
|
+
Point:point,
|
|
128553
|
+
DataType:3,
|
|
128554
|
+
};
|
|
128555
|
+
|
|
128556
|
+
this.FloatTooltip.Update(sendData);
|
|
128557
|
+
}
|
|
128558
|
+
|
|
128396
128559
|
//data={ Symbol }
|
|
128397
128560
|
this.ShowMinuteChartTooltip=function(x,y, data)
|
|
128398
128561
|
{
|
|
@@ -128543,12 +128706,6 @@ function JSReportChartContainer(uielement)
|
|
|
128543
128706
|
|
|
128544
128707
|
this.ChartPaint[0]=chart;
|
|
128545
128708
|
|
|
128546
|
-
//提示信息
|
|
128547
|
-
var chartTooltip=new ChartCellTooltip();
|
|
128548
|
-
chartTooltip.Frame=this.Frame;
|
|
128549
|
-
chartTooltip.ChartBorder=this.Frame.ChartBorder;
|
|
128550
|
-
this.ChartTooltip=chartTooltip;
|
|
128551
|
-
|
|
128552
128709
|
//页脚
|
|
128553
128710
|
if (option && option.PageInfo===true)
|
|
128554
128711
|
{
|
|
@@ -128570,6 +128727,7 @@ function JSReportChartContainer(uielement)
|
|
|
128570
128727
|
if (IFrameSplitOperator.IsNumber(option.FixedRowCount)) chart.FixedRowCount=option.FixedRowCount; //固定行
|
|
128571
128728
|
if (IFrameSplitOperator.IsBool(option.ItemBorder)) chart.IsDrawBorder=option.ItemBorder; //单元格边框
|
|
128572
128729
|
if (IFrameSplitOperator.IsNumber(option.SelectedModel)) chart.SelectedModel=option.SelectedModel;
|
|
128730
|
+
if (IFrameSplitOperator.IsNumber(option.HeaderRowCount)) chart.HeaderRowCount=option.HeaderRowCount;
|
|
128573
128731
|
|
|
128574
128732
|
if (IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol))
|
|
128575
128733
|
{
|
|
@@ -128661,8 +128819,6 @@ function JSReportChartContainer(uielement)
|
|
|
128661
128819
|
{
|
|
128662
128820
|
this.DelayDraw(500);
|
|
128663
128821
|
}
|
|
128664
|
-
|
|
128665
|
-
this.DrawTooltip(this.LastMouseStatus.TooltipStatus);
|
|
128666
128822
|
}
|
|
128667
128823
|
|
|
128668
128824
|
this.DelayDraw=function(frequency)
|
|
@@ -129594,6 +129750,7 @@ function JSReportChartContainer(uielement)
|
|
|
129594
129750
|
{
|
|
129595
129751
|
this.LastMouseStatus.TooltipStatus=null;
|
|
129596
129752
|
this.HideMinuteChartTooltip();
|
|
129753
|
+
this.HideFloatTooltip();
|
|
129597
129754
|
if (this.GotoNextItem(1))
|
|
129598
129755
|
{
|
|
129599
129756
|
this.Draw();
|
|
@@ -129604,6 +129761,7 @@ function JSReportChartContainer(uielement)
|
|
|
129604
129761
|
{
|
|
129605
129762
|
this.LastMouseStatus.TooltipStatus=null;
|
|
129606
129763
|
this.HideMinuteChartTooltip();
|
|
129764
|
+
this.HideFloatTooltip();
|
|
129607
129765
|
if (this.GotoNextItem(-1))
|
|
129608
129766
|
{
|
|
129609
129767
|
this.Draw();
|
|
@@ -129617,6 +129775,7 @@ function JSReportChartContainer(uielement)
|
|
|
129617
129775
|
{
|
|
129618
129776
|
this.LastMouseStatus.TooltipStatus=null;
|
|
129619
129777
|
this.HideMinuteChartTooltip();
|
|
129778
|
+
this.HideFloatTooltip();
|
|
129620
129779
|
if (this.GotoNextPage(this.PageUpDownCycle))
|
|
129621
129780
|
{
|
|
129622
129781
|
this.Draw();
|
|
@@ -129627,6 +129786,7 @@ function JSReportChartContainer(uielement)
|
|
|
129627
129786
|
{
|
|
129628
129787
|
this.LastMouseStatus.TooltipStatus=null;
|
|
129629
129788
|
this.HideMinuteChartTooltip();
|
|
129789
|
+
this.HideFloatTooltip();
|
|
129630
129790
|
if (this.GotoPreviousPage(this.PageUpDownCycle))
|
|
129631
129791
|
{
|
|
129632
129792
|
this.Draw();
|
|
@@ -129649,6 +129809,7 @@ function JSReportChartContainer(uielement)
|
|
|
129649
129809
|
if (keyID==116) return; //F15刷新不处理
|
|
129650
129810
|
|
|
129651
129811
|
this.HideMinuteChartTooltip();
|
|
129812
|
+
this.HideFloatTooltip();
|
|
129652
129813
|
switch(keyID)
|
|
129653
129814
|
{
|
|
129654
129815
|
case 33: //page up
|
|
@@ -130049,7 +130210,17 @@ function JSReportChartContainer(uielement)
|
|
|
130049
130210
|
if (mouseStatus) this.UIElement.style.cursor=mouseStatus.Cursor;
|
|
130050
130211
|
|
|
130051
130212
|
if (bDraw || bDrawTab) this.Draw();
|
|
130052
|
-
|
|
130213
|
+
|
|
130214
|
+
if (this.LastMouseStatus.TooltipStatus)
|
|
130215
|
+
{
|
|
130216
|
+
var xTooltip = e.clientX-this.UIElement.getBoundingClientRect().left;
|
|
130217
|
+
var yTooltip = e.clientY-this.UIElement.getBoundingClientRect().top;
|
|
130218
|
+
this.DrawFloatTooltip({X:xTooltip, Y:yTooltip, YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);
|
|
130219
|
+
}
|
|
130220
|
+
else
|
|
130221
|
+
{
|
|
130222
|
+
this.HideFloatTooltip();
|
|
130223
|
+
}
|
|
130053
130224
|
|
|
130054
130225
|
if (bShowChartTooltip)
|
|
130055
130226
|
{
|
|
@@ -130064,6 +130235,7 @@ function JSReportChartContainer(uielement)
|
|
|
130064
130235
|
this.UIOnMounseOut=function(e)
|
|
130065
130236
|
{
|
|
130066
130237
|
this.HideMinuteChartTooltip();
|
|
130238
|
+
this.HideFloatTooltip();
|
|
130067
130239
|
|
|
130068
130240
|
var bDraw=false;
|
|
130069
130241
|
var tabChart=this.GetTabChart();
|
|
@@ -130090,6 +130262,7 @@ function JSReportChartContainer(uielement)
|
|
|
130090
130262
|
this.UIOnMouseleave=function(e)
|
|
130091
130263
|
{
|
|
130092
130264
|
this.HideMinuteChartTooltip();
|
|
130265
|
+
this.HideFloatTooltip();
|
|
130093
130266
|
|
|
130094
130267
|
var tabChart=this.GetTabChart();
|
|
130095
130268
|
if (tabChart && tabChart.MoveOnTabIndex>=0)
|
|
@@ -131646,16 +131819,16 @@ function JSReportChartContainer(uielement)
|
|
|
131646
131819
|
case REPORT_COLUMN_ID.VOL_OUT_ID:
|
|
131647
131820
|
case REPORT_COLUMN_ID.DATE_ID:
|
|
131648
131821
|
|
|
131649
|
-
case
|
|
131650
|
-
case
|
|
131651
|
-
case
|
|
131652
|
-
case
|
|
131653
|
-
case
|
|
131654
|
-
case
|
|
131655
|
-
case
|
|
131656
|
-
case
|
|
131657
|
-
case
|
|
131658
|
-
case
|
|
131822
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER1_ID:
|
|
131823
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER2_ID:
|
|
131824
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER3_ID:
|
|
131825
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER4_ID:
|
|
131826
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER5_ID:
|
|
131827
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER6_ID:
|
|
131828
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER7_ID:
|
|
131829
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER8_ID:
|
|
131830
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER9_ID:
|
|
131831
|
+
case REPORT_COLUMN_ID.RESERVE_NUMBER10_ID:
|
|
131659
131832
|
|
|
131660
131833
|
return this.LocalNumberSort(left, right, column, sortType);
|
|
131661
131834
|
case REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID: //自定义数值字段
|
|
@@ -132041,28 +132214,6 @@ function JSReportChartContainer(uielement)
|
|
|
132041
132214
|
|
|
132042
132215
|
return true;
|
|
132043
132216
|
}
|
|
132044
|
-
|
|
132045
|
-
this.DrawTooltip=function(tooltipStatus)
|
|
132046
|
-
{
|
|
132047
|
-
if (!this.GetExtraCanvas) return;
|
|
132048
|
-
if (!this.TooltipCanvas)
|
|
132049
|
-
{
|
|
132050
|
-
var finder=this.GetExtraCanvas(JSReportChart.TooltipCursorCanvasKey);
|
|
132051
|
-
if (!finder) return;
|
|
132052
|
-
this.TooltipCanvas=finder.Canvas;
|
|
132053
|
-
}
|
|
132054
|
-
|
|
132055
|
-
if (!this.TooltipCanvas) return;
|
|
132056
|
-
this.ClearCanvas(this.TooltipCanvas);
|
|
132057
|
-
if (!this.ChartTooltip) return;
|
|
132058
|
-
|
|
132059
|
-
if (!tooltipStatus || !tooltipStatus.Data) return;
|
|
132060
|
-
|
|
132061
|
-
this.ChartTooltip.Canvas=this.TooltipCanvas;
|
|
132062
|
-
this.ChartTooltip.Point={ X:tooltipStatus.X, Y:tooltipStatus.Y };
|
|
132063
|
-
this.ChartTooltip.Data=tooltipStatus.Data.Data;
|
|
132064
|
-
this.ChartTooltip.Draw();
|
|
132065
|
-
}
|
|
132066
132217
|
}
|
|
132067
132218
|
|
|
132068
132219
|
|
|
@@ -132391,6 +132542,7 @@ function ChartReport()
|
|
|
132391
132542
|
this.SelectedRow=-1; //选中行ID
|
|
132392
132543
|
this.SelectedFixedRow=-1; //选中固定行ID
|
|
132393
132544
|
this.IsDrawBorder=1; //是否绘制单元格边框
|
|
132545
|
+
this.HeaderRowCount=1; //表头行数
|
|
132394
132546
|
|
|
132395
132547
|
//多选模式
|
|
132396
132548
|
this.MultiSelectModel=0; //0=禁用 1=开启
|
|
@@ -132435,6 +132587,7 @@ function ChartReport()
|
|
|
132435
132587
|
Margin:
|
|
132436
132588
|
{
|
|
132437
132589
|
Left:g_JSChartResource.Report.SortIcon.Margin.Left,
|
|
132590
|
+
Right:g_JSChartResource.Report.SortIcon.Margin.Right,
|
|
132438
132591
|
Bottom:g_JSChartResource.Report.SortIcon.Margin.Bottom
|
|
132439
132592
|
}
|
|
132440
132593
|
}
|
|
@@ -132523,6 +132676,7 @@ function ChartReport()
|
|
|
132523
132676
|
this.NameSymbolFont={ Symbol:null, Name:null };
|
|
132524
132677
|
this.RowCount=0; //一屏显示行数
|
|
132525
132678
|
this.HeaderHeight=0; //表头高度
|
|
132679
|
+
this.HeaderFontHeight=0; //表头字体高度
|
|
132526
132680
|
this.FixedRowHeight=0; //固定行高度
|
|
132527
132681
|
this.RowHeight=0; //行高度
|
|
132528
132682
|
this.ItemTextLines=1; //单元格输出行数
|
|
@@ -132656,6 +132810,7 @@ function ChartReport()
|
|
|
132656
132810
|
if (!colItem) return null;
|
|
132657
132811
|
|
|
132658
132812
|
if (item.Title) colItem.Title=item.Title;
|
|
132813
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryTitle)) colItem.AryTitle=item.AryTitle;
|
|
132659
132814
|
if (item.TextAlign) colItem.TextAlign=item.TextAlign;
|
|
132660
132815
|
if (item.TextColor) colItem.TextColor=item.TextColor;
|
|
132661
132816
|
if (item.HeaderColor) colItem.HeaderColor=item.HeaderColor;
|
|
@@ -133188,7 +133343,17 @@ function ChartReport()
|
|
|
133188
133343
|
if (item.Width<itemWidth) item.Width=itemWidth;
|
|
133189
133344
|
}
|
|
133190
133345
|
|
|
133191
|
-
this.
|
|
133346
|
+
this.HeaderFontHeight=this.GetFontHeight(this.HeaderFont,"擎");
|
|
133347
|
+
if (this.HeaderRowCount<=1) //单行
|
|
133348
|
+
{
|
|
133349
|
+
this.HeaderHeight=this.HeaderFontHeight+(this.HeaderMergin.Top+this.HeaderMergin.Bottom);
|
|
133350
|
+
}
|
|
133351
|
+
else
|
|
133352
|
+
{
|
|
133353
|
+
this.HeaderHeight=(this.HeaderFontHeight*this.HeaderRowCount)+(this.HeaderMergin.Top+this.HeaderMergin.Bottom);
|
|
133354
|
+
}
|
|
133355
|
+
|
|
133356
|
+
|
|
133192
133357
|
if (!this.IsShowHeader) this.HeaderHeight=0;
|
|
133193
133358
|
if (this.FixedRowCount<=0) this.FixedRowHeight=0;
|
|
133194
133359
|
|
|
@@ -133205,90 +133370,70 @@ function ChartReport()
|
|
|
133205
133370
|
this.IsShowAllColumn=(subWidth<reportWidth);
|
|
133206
133371
|
}
|
|
133207
133372
|
|
|
133208
|
-
this.
|
|
133373
|
+
this.DrawHeaderItem=function(column, rtCell, index)
|
|
133209
133374
|
{
|
|
133210
|
-
if (
|
|
133211
|
-
|
|
133212
|
-
var left=this.RectClient.Left;
|
|
133213
|
-
var top=this.RectClient.Top;
|
|
133214
|
-
var y=top+this.HeaderMergin.Top+(this.HeaderHeight-this.HeaderMergin.Top-this.HeaderMergin.Bottom)/2;
|
|
133215
|
-
var yBottom=top+this.HeaderHeight;
|
|
133216
|
-
var bDrawSortBG=this.IsDrawSortBGIcon();
|
|
133217
|
-
|
|
133218
|
-
this.Canvas.font=this.HeaderFont;
|
|
133219
|
-
|
|
133220
|
-
var textLeft=left;
|
|
133221
|
-
//固定列
|
|
133222
|
-
for(var i=0;i<this.FixedColumn && i<this.Column.length;++i)
|
|
133375
|
+
if (column.HeaderBGColor) //背景色
|
|
133223
133376
|
{
|
|
133224
|
-
|
|
133225
|
-
|
|
133226
|
-
var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
133227
|
-
var x=textLeft+this.HeaderMergin.Left;
|
|
133377
|
+
this.DrawItemBG({ Rect:rtCell, BGColor:column.HeaderBGColor });
|
|
133378
|
+
}
|
|
133228
133379
|
|
|
133229
|
-
|
|
133230
|
-
|
|
133231
|
-
|
|
133232
|
-
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
133233
|
-
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
133234
|
-
this.DrawItemBG({ Rect:rtBG, BGColor:item.HeaderBGColor });
|
|
133235
|
-
}
|
|
133380
|
+
var textWidth=rtCell.Width-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
133381
|
+
//AryText=[ { Text:标题, Sort:{Type:排序}, Icon:图标 }]
|
|
133382
|
+
var drawInfo={ Rect:rtCell, AryText:[ { Text:null} ], YText:rtCell.Bottom-this.HeaderMergin.Bottom, Index:index, TextWidth:textWidth };
|
|
133236
133383
|
|
|
133237
|
-
|
|
133238
|
-
|
|
133384
|
+
if (this.HeaderRowCount>1) //多行
|
|
133385
|
+
{
|
|
133386
|
+
if (IFrameSplitOperator.IsNonEmptyArray(column.AryTitle))
|
|
133239
133387
|
{
|
|
133240
|
-
|
|
133241
|
-
|
|
133388
|
+
drawInfo.AryText=[];
|
|
133389
|
+
for(var i=0;i<column.AryTitle.length && i<this.HeaderRowCount;++i)
|
|
133242
133390
|
{
|
|
133243
|
-
var
|
|
133244
|
-
|
|
133245
|
-
if (IFrameSplitOperator.IsNumber(margin.Right)) iconWidth+=margin.Right;
|
|
133391
|
+
var text=column.AryTitle[i];
|
|
133392
|
+
drawInfo.AryText.push({ Text:text } );
|
|
133246
133393
|
}
|
|
133247
|
-
|
|
133248
|
-
textWidth-=iconWidth;
|
|
133249
|
-
|
|
133250
|
-
if (item.HeaderColor) this.Canvas.fillStyle=item.HeaderColor;
|
|
133251
|
-
else this.Canvas.fillStyle=this.HeaderColor;
|
|
133252
|
-
|
|
133253
|
-
var textSize={ }
|
|
133254
|
-
if (this.SortInfo && this.SortInfo.Field==i && this.SortInfo.Sort>0)
|
|
133255
|
-
{
|
|
133256
|
-
this.DrawSortHeader(item.Title,item.TextAlign,x,yBottom,textWidth,this.SortInfo.Sort, textSize);
|
|
133257
|
-
}
|
|
133258
|
-
else if (item.Sort>0 && bDrawSortBG)
|
|
133259
|
-
{
|
|
133260
|
-
this.DrawSortHeader(item.Title,item.TextAlign,x,yBottom,textWidth,0,textSize);
|
|
133394
|
+
drawInfo.YText-=((this.HeaderRowCount-1)*this.HeaderFontHeight);
|
|
133261
133395
|
}
|
|
133262
133396
|
else
|
|
133263
133397
|
{
|
|
133264
|
-
|
|
133398
|
+
if (column.Title) drawInfo.AryText[0].Text=column.Title;
|
|
133399
|
+
drawInfo.YText=rtCell.Bottom-this.HeaderMergin.Bottom-(this.HeaderRowCount*this.HeaderFontHeight)/2+this.HeaderFontHeight/2;
|
|
133265
133400
|
}
|
|
133401
|
+
}
|
|
133402
|
+
else //单行
|
|
133403
|
+
{
|
|
133404
|
+
if (column.Title) drawInfo.AryText[0].Text=column.Title;
|
|
133405
|
+
}
|
|
133266
133406
|
|
|
133267
|
-
|
|
133268
|
-
{
|
|
133269
|
-
this.DrawHeaderIcon(item.Icon, textSize.Right, yBottom, i, item);
|
|
133270
|
-
this.Canvas.font=this.HeaderFont;
|
|
133271
|
-
}
|
|
133407
|
+
var lastItem=drawInfo.AryText[drawInfo.AryText.length-1];
|
|
133272
133408
|
|
|
133273
|
-
|
|
133409
|
+
//排序
|
|
133410
|
+
var bDrawSortBG=this.IsDrawSortBGIcon();
|
|
133411
|
+
if (this.SortInfo && this.SortInfo.Field==index && this.SortInfo.Sort>0) lastItem.Sort={ Type:this.SortInfo.Sort };
|
|
133412
|
+
else if (column.Sort>0 && bDrawSortBG) lastItem.Sort={ Type:0 };
|
|
133274
133413
|
|
|
133275
|
-
|
|
133276
|
-
|
|
133414
|
+
//图标
|
|
133415
|
+
if (column.Icon) lastItem.Icon=column.Icon;
|
|
133277
133416
|
|
|
133278
|
-
|
|
133279
|
-
|
|
133280
|
-
var item=this.Column[i];
|
|
133281
|
-
var itemWidth=item.Width;
|
|
133282
|
-
var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
133283
|
-
var x=textLeft+this.HeaderMergin.Left;
|
|
133417
|
+
this.DrawHeaderText(column, drawInfo);
|
|
133418
|
+
}
|
|
133284
133419
|
|
|
133285
|
-
|
|
133286
|
-
|
|
133287
|
-
|
|
133288
|
-
|
|
133289
|
-
|
|
133290
|
-
|
|
133291
|
-
|
|
133420
|
+
this.DrawHeaderText=function(column, drawInfo)
|
|
133421
|
+
{
|
|
133422
|
+
if (column.HeaderColor) this.Canvas.fillStyle=column.HeaderColor;
|
|
133423
|
+
else this.Canvas.fillStyle=this.HeaderColor;
|
|
133424
|
+
|
|
133425
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
133426
|
+
var cellWidth=drawInfo.Rect.Width;
|
|
133427
|
+
|
|
133428
|
+
if (drawInfo.AryText.length>1)
|
|
133429
|
+
var nnnn=10;
|
|
133430
|
+
|
|
133431
|
+
var y=drawInfo.YText;
|
|
133432
|
+
for(var i=0;i<drawInfo.AryText.length;++i)
|
|
133433
|
+
{
|
|
133434
|
+
var x=drawInfo.Rect.Left+this.HeaderMergin.Left;
|
|
133435
|
+
var item=drawInfo.AryText[i];
|
|
133436
|
+
var textSize={ TextMaxWidth:drawInfo.TextWidth };
|
|
133292
133437
|
|
|
133293
133438
|
var iconWidth=0;
|
|
133294
133439
|
if (item.Icon && item.Icon.Symbol) //图标
|
|
@@ -133301,81 +133446,113 @@ function ChartReport()
|
|
|
133301
133446
|
if (IFrameSplitOperator.IsNumber(margin.Right)) iconWidth+=margin.Right;
|
|
133302
133447
|
}
|
|
133303
133448
|
}
|
|
133449
|
+
if (iconWidth>0) textSize.TextMaxWidth-=iconWidth;
|
|
133304
133450
|
|
|
133305
|
-
|
|
133306
|
-
|
|
133307
|
-
|
|
133308
|
-
|
|
133451
|
+
var sortWidth=0; //排序图标
|
|
133452
|
+
if (item.Sort && this.SortConfig && IFrameSplitOperator.IsPlusNumber(this.SortConfig.Size))
|
|
133453
|
+
{
|
|
133454
|
+
sortWidth=this.SortConfig.Size*pixelRatio;
|
|
133455
|
+
if (this.SortConfig.Margin)
|
|
133456
|
+
{
|
|
133457
|
+
var margin=this.SortConfig.Margin;
|
|
133458
|
+
if (IFrameSplitOperator.IsNumber(margin.Left)) sortWidth+=margin.Left;
|
|
133459
|
+
if (IFrameSplitOperator.IsNumber(margin.Right)) sortWidth+=margin.Right;
|
|
133460
|
+
}
|
|
133461
|
+
}
|
|
133462
|
+
if (sortWidth>0) textSize.TextMaxWidth-=sortWidth;
|
|
133463
|
+
|
|
133309
133464
|
|
|
133310
|
-
var
|
|
133311
|
-
if (
|
|
133465
|
+
var textWidth=0;
|
|
133466
|
+
if (item.Text)
|
|
133312
133467
|
{
|
|
133313
|
-
this.
|
|
133468
|
+
this.Canvas.font=this.HeaderFont;
|
|
133469
|
+
textWidth=this.Canvas.measureText(item.Text).width;
|
|
133314
133470
|
}
|
|
133315
|
-
|
|
133471
|
+
|
|
133472
|
+
if (column.TextAlign=='center') x=x+(cellWidth-textWidth)/2;
|
|
133473
|
+
else if (column.TextAlign=='right') x=x+textSize.TextMaxWidth-textWidth;
|
|
133474
|
+
|
|
133475
|
+
if (item.Text) //文字
|
|
133316
133476
|
{
|
|
133317
|
-
this.
|
|
133477
|
+
this.Canvas.fillText(item.Text,x,y);
|
|
133478
|
+
x+=textWidth;
|
|
133318
133479
|
}
|
|
133319
|
-
|
|
133480
|
+
|
|
133481
|
+
if (sortWidth>1) //排序
|
|
133320
133482
|
{
|
|
133321
|
-
this.
|
|
133483
|
+
var sortText=this.SortConfig.Arrow[item.Sort.Type];
|
|
133484
|
+
var sortColor=this.SortConfig.Color[item.Sort.Type];
|
|
133485
|
+
this.Canvas.font=this.SortFont;
|
|
133486
|
+
this.Canvas.fillStyle=sortColor;
|
|
133487
|
+
this.Canvas.fillText(sortText,x,y-this.SortConfig.Margin.Bottom);
|
|
133488
|
+
x+=sortWidth;
|
|
133322
133489
|
}
|
|
133323
133490
|
|
|
133324
|
-
if (iconWidth>
|
|
133491
|
+
if (iconWidth>1) //图标
|
|
133325
133492
|
{
|
|
133326
|
-
|
|
133327
|
-
|
|
133493
|
+
var icon=item.Icon;
|
|
133494
|
+
var iconFont=`${icon.Size}px ${icon.Family}`;
|
|
133495
|
+
this.Canvas.font=iconFont;
|
|
133496
|
+
if (icon.Color) this.Canvas.fillStyle=icon.Color;
|
|
133497
|
+
var yOffset=0, xOffset=0;
|
|
133498
|
+
if (icon.Margin && IFrameSplitOperator.IsNumber(icon.Margin.Left)) xOffset=icon.Margin.Left;
|
|
133499
|
+
if (icon.Margin && IFrameSplitOperator.IsNumber(icon.Margin.Bottom)) yOffset=-icon.Margin.Bottom;
|
|
133500
|
+
this.Canvas.fillText(icon.Symbol, x+xOffset, y+yOffset);
|
|
133501
|
+
|
|
133502
|
+
if (icon.Tooltip)
|
|
133503
|
+
{
|
|
133504
|
+
var rtIcon={ Left:x+xOffset, Bottom:y+yOffset, Width:icon.Size, Height:icon.Size };
|
|
133505
|
+
rtIcon.Right=rtIcon.Left+rtIcon.Width;
|
|
133506
|
+
rtIcon.Top=rtIcon.Bottom-rtIcon.Height;
|
|
133507
|
+
|
|
133508
|
+
var tooltipData={ Rect:rtIcon, Type:2, Column:column, Index:drawInfo.Index, Data:icon.Tooltip.Data };
|
|
133509
|
+
this.TooltipRect.push(tooltipData);
|
|
133510
|
+
}
|
|
133328
133511
|
}
|
|
133329
133512
|
|
|
133330
|
-
|
|
133331
|
-
}
|
|
133513
|
+
y+=this.HeaderFontHeight;
|
|
133514
|
+
}
|
|
133332
133515
|
}
|
|
133333
133516
|
|
|
133334
|
-
this.
|
|
133517
|
+
this.DrawHeader=function()
|
|
133335
133518
|
{
|
|
133336
|
-
|
|
133337
|
-
if (textAlign=='center')
|
|
133338
|
-
{
|
|
133339
|
-
x=x+(cellWidth-textWidth)/2;
|
|
133340
|
-
}
|
|
133341
|
-
else if (textAlign=='right')
|
|
133342
|
-
{
|
|
133343
|
-
x=x+cellWidth-textWidth;
|
|
133344
|
-
}
|
|
133519
|
+
if (!this.IsShowHeader) return;
|
|
133345
133520
|
|
|
133521
|
+
var left=this.RectClient.Left;
|
|
133522
|
+
var top=this.RectClient.Top;
|
|
133523
|
+
this.Canvas.font=this.HeaderFont;
|
|
133524
|
+
|
|
133525
|
+
var textLeft=left;
|
|
133346
133526
|
this.Canvas.textAlign="left";
|
|
133347
133527
|
this.Canvas.textBaseline="bottom";
|
|
133348
|
-
|
|
133349
|
-
|
|
133350
|
-
if (textSize)
|
|
133528
|
+
//固定列
|
|
133529
|
+
for(var i=0;i<this.FixedColumn && i<this.Column.length;++i)
|
|
133351
133530
|
{
|
|
133352
|
-
|
|
133353
|
-
|
|
133354
|
-
|
|
133355
|
-
}
|
|
133531
|
+
var item=this.Column[i];
|
|
133532
|
+
var itemWidth=item.Width;
|
|
133533
|
+
//var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
133356
133534
|
|
|
133357
|
-
|
|
133358
|
-
|
|
133359
|
-
|
|
133360
|
-
this.Canvas.font=iconFont;
|
|
133361
|
-
this.Canvas.textAlign="left";
|
|
133362
|
-
if (icon.Color) this.Canvas.fillStyle=icon.Color;
|
|
133535
|
+
var rtCell={ Left:textLeft, Width:itemWidth, Top:top, Height:this.HeaderHeight };
|
|
133536
|
+
rtCell.Right=rtCell.Left+rtCell.Width;
|
|
133537
|
+
rtCell.Bottom=rtCell.Top+rtCell.Height;
|
|
133363
133538
|
|
|
133364
|
-
|
|
133365
|
-
|
|
133366
|
-
|
|
133367
|
-
if (icon.Margin && IFrameSplitOperator.IsNumber(icon.Margin.Bottom)) yIcon-=icon.Margin.Bottom;
|
|
133368
|
-
this.Canvas.fillText(icon.Symbol, xIcon, yIcon);
|
|
133539
|
+
this.DrawHeaderItem(item, rtCell, i);
|
|
133540
|
+
textLeft+=item.Width;
|
|
133541
|
+
}
|
|
133369
133542
|
|
|
133370
|
-
|
|
133543
|
+
for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i)
|
|
133371
133544
|
{
|
|
133372
|
-
var
|
|
133373
|
-
|
|
133374
|
-
|
|
133545
|
+
var item=this.Column[i];
|
|
133546
|
+
var itemWidth=item.Width;
|
|
133547
|
+
//var textWidth=itemWidth-this.HeaderMergin.Left-this.HeaderMergin.Right;
|
|
133375
133548
|
|
|
133376
|
-
var
|
|
133377
|
-
|
|
133378
|
-
|
|
133549
|
+
var rtCell={ Left:textLeft, Width:itemWidth, Top:top, Height:this.HeaderHeight };
|
|
133550
|
+
rtCell.Right=rtCell.Left+rtCell.Width;
|
|
133551
|
+
rtCell.Bottom=rtCell.Top+rtCell.Height;
|
|
133552
|
+
|
|
133553
|
+
this.DrawHeaderItem(item, rtCell, i);
|
|
133554
|
+
textLeft+=item.Width;
|
|
133555
|
+
}
|
|
133379
133556
|
}
|
|
133380
133557
|
|
|
133381
133558
|
//是否绘制排序背景图标
|
|
@@ -133390,57 +133567,6 @@ function ChartReport()
|
|
|
133390
133567
|
return true;
|
|
133391
133568
|
}
|
|
133392
133569
|
|
|
133393
|
-
this.DrawSortHeader=function(text, textAlign, x, yBottom, width, sortType,textSize)
|
|
133394
|
-
{
|
|
133395
|
-
var pixelRatio=GetDevicePixelRatio();
|
|
133396
|
-
var sortText=this.SortConfig.Arrow[sortType];
|
|
133397
|
-
var sortBGText=this.SortConfig.Arrow[0];
|
|
133398
|
-
var sortBGColor=this.SortConfig.Color[0];
|
|
133399
|
-
this.Canvas.font=this.HeaderFont;
|
|
133400
|
-
var textWidth=this.Canvas.measureText(text).width;
|
|
133401
|
-
var sortTextWidth=this.SortConfig.Size*pixelRatio+this.SortConfig.Margin.Left;
|
|
133402
|
-
|
|
133403
|
-
if (textAlign=='center')
|
|
133404
|
-
{
|
|
133405
|
-
x=x+width/2-(sortTextWidth+textWidth)/2;
|
|
133406
|
-
}
|
|
133407
|
-
else if (textAlign=='right')
|
|
133408
|
-
{
|
|
133409
|
-
x=(x+width)-sortTextWidth-textWidth;
|
|
133410
|
-
}
|
|
133411
|
-
|
|
133412
|
-
this.Canvas.textBaseline="bottom";
|
|
133413
|
-
this.Canvas.textAlign="left";
|
|
133414
|
-
|
|
133415
|
-
var xText=x;
|
|
133416
|
-
this.Canvas.font=this.HeaderFont;
|
|
133417
|
-
this.Canvas.fillStyle=this.HeaderColor;
|
|
133418
|
-
this.Canvas.fillText(text,xText,yBottom-this.HeaderMergin.Bottom);
|
|
133419
|
-
|
|
133420
|
-
xText+=(textWidth+this.SortConfig.Margin.Left);
|
|
133421
|
-
this.Canvas.font=this.SortFont;
|
|
133422
|
-
if (sortBGText && sortBGColor)
|
|
133423
|
-
{
|
|
133424
|
-
this.Canvas.fillStyle=sortBGColor;
|
|
133425
|
-
this.Canvas.fillText(sortBGText,xText,yBottom-this.SortConfig.Margin.Bottom);
|
|
133426
|
-
}
|
|
133427
|
-
|
|
133428
|
-
if (sortType>0)
|
|
133429
|
-
{
|
|
133430
|
-
this.Canvas.fillStyle=this.SortConfig.Color[sortType];
|
|
133431
|
-
this.Canvas.fillText(sortText,xText,yBottom-this.SortConfig.Margin.Bottom);
|
|
133432
|
-
}
|
|
133433
|
-
|
|
133434
|
-
this.Canvas.font=this.HeaderFont;
|
|
133435
|
-
this.Canvas.fillStyle=this.HeaderColor;
|
|
133436
|
-
|
|
133437
|
-
if (textSize)
|
|
133438
|
-
{
|
|
133439
|
-
textSize.Right=x+textWidth+sortTextWidth;
|
|
133440
|
-
textSize.Width=textWidth+sortTextWidth;
|
|
133441
|
-
}
|
|
133442
|
-
}
|
|
133443
|
-
|
|
133444
133570
|
this.DrawBorder=function()
|
|
133445
133571
|
{
|
|
133446
133572
|
if (!this.IsDrawBorder) return;
|
|
@@ -134064,9 +134190,7 @@ function ChartReport()
|
|
|
134064
134190
|
{
|
|
134065
134191
|
this.FormatReserveNumber(column, stock, drawInfo);
|
|
134066
134192
|
}
|
|
134067
|
-
else if (
|
|
134068
|
-
REPORT_COLUMN_ID.RESERVE_STRING5_ID,REPORT_COLUMN_ID.RESERVE_STRING6_ID,REPORT_COLUMN_ID.RESERVE_STRING7_ID,REPORT_COLUMN_ID.RESERVE_STRING8_ID,
|
|
134069
|
-
REPORT_COLUMN_ID.RESERVE_STRING9_ID,REPORT_COLUMN_ID.RESERVE_STRING10_ID].includes(column.Type))
|
|
134193
|
+
else if (this.IsReserveString(column.Type))
|
|
134070
134194
|
{
|
|
134071
134195
|
this.FormatReserveString(column, stock, drawInfo);
|
|
134072
134196
|
}
|
|
@@ -134125,7 +134249,7 @@ function ChartReport()
|
|
|
134125
134249
|
|
|
134126
134250
|
this.DrawItemBG(drawInfo);
|
|
134127
134251
|
|
|
134128
|
-
if (column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)
|
|
134252
|
+
if (column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID || this.IsReserveString(column.Type))
|
|
134129
134253
|
this.DrawCustomText(drawInfo,column, x, top, textWidth);
|
|
134130
134254
|
else
|
|
134131
134255
|
this.DrawItemText(drawInfo.Text, drawInfo.TextColor, drawInfo.TextAlign, x, top, textWidth, drawInfo.BGColor);
|
|
@@ -134177,6 +134301,20 @@ function ChartReport()
|
|
|
134177
134301
|
return ARARY_TYPE.includes(value);
|
|
134178
134302
|
}
|
|
134179
134303
|
|
|
134304
|
+
this.IsReserveString=function(value)
|
|
134305
|
+
{
|
|
134306
|
+
var ARARY_TYPE=
|
|
134307
|
+
[
|
|
134308
|
+
REPORT_COLUMN_ID.RESERVE_STRING1_ID,REPORT_COLUMN_ID.RESERVE_STRING2_ID,REPORT_COLUMN_ID.RESERVE_STRING3_ID,REPORT_COLUMN_ID.RESERVE_STRING4_ID,
|
|
134309
|
+
REPORT_COLUMN_ID.RESERVE_STRING5_ID,REPORT_COLUMN_ID.RESERVE_STRING6_ID,REPORT_COLUMN_ID.RESERVE_STRING7_ID,REPORT_COLUMN_ID.RESERVE_STRING8_ID,
|
|
134310
|
+
REPORT_COLUMN_ID.RESERVE_STRING9_ID,REPORT_COLUMN_ID.RESERVE_STRING10_ID
|
|
134311
|
+
];
|
|
134312
|
+
|
|
134313
|
+
return ARARY_TYPE.includes(value);
|
|
134314
|
+
}
|
|
134315
|
+
|
|
134316
|
+
|
|
134317
|
+
|
|
134180
134318
|
this.DrawCustomText=function(drawInfo, column, left, top, cellWidth)
|
|
134181
134319
|
{
|
|
134182
134320
|
if (!drawInfo.Text) return;
|
|
@@ -136906,7 +137044,7 @@ function ChartVScrollbar()
|
|
|
136906
137044
|
}
|
|
136907
137045
|
}
|
|
136908
137046
|
|
|
136909
|
-
|
|
137047
|
+
/* 使用div替换掉了
|
|
136910
137048
|
function ChartCellTooltip()
|
|
136911
137049
|
{
|
|
136912
137050
|
this.Canvas; //画布
|
|
@@ -137068,6 +137206,7 @@ function ChartCellTooltip()
|
|
|
137068
137206
|
}
|
|
137069
137207
|
}
|
|
137070
137208
|
}
|
|
137209
|
+
*/
|
|
137071
137210
|
/*
|
|
137072
137211
|
Copyright (c) 2018 jones
|
|
137073
137212
|
|
|
@@ -140409,7 +140548,7 @@ function ScrollBarBGChart()
|
|
|
140409
140548
|
|
|
140410
140549
|
|
|
140411
140550
|
|
|
140412
|
-
var HQCHART_VERSION="1.1.
|
|
140551
|
+
var HQCHART_VERSION="1.1.14273";
|
|
140413
140552
|
|
|
140414
140553
|
function PrintHQChartVersion()
|
|
140415
140554
|
{
|