hqchart 1.1.14804 → 1.1.14811

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.
@@ -875,7 +875,8 @@ function JSDialogModifyIndexParam()
875
875
 
876
876
  this.AryData=[];
877
877
  this.IndexData=null; //指标数据 { WindowsIndex:, Type:1=主图 2=叠加, Identify, IndexScript: }
878
- this.Arguments=[]; //参数备份
878
+ this.Arguments=[]; //默认参数
879
+ this.EnableRestoreParam=true; //是否允许“恢复默认"
879
880
 
880
881
  this.RestoreFocusDelay=800;
881
882
 
@@ -886,6 +887,7 @@ function JSDialogModifyIndexParam()
886
887
  {
887
888
  if (IFrameSplitOperator.IsNumber(option.Style)) this.Style=option.Style;
888
889
  if (IFrameSplitOperator.IsNumber(option.MaxRowCount)) this.MaxRowCount=option.MaxRowCount;
890
+ if (IFrameSplitOperator.IsBool(option.EnableRestoreParam)) this.EnableRestoreParam=option.EnableRestoreParam;
889
891
  }
890
892
  }
891
893
 
@@ -926,7 +928,7 @@ function JSDialogModifyIndexParam()
926
928
 
927
929
  this.OnClickColseButton=function(e)
928
930
  {
929
- this.RestoreParam(); //还原参数
931
+ //this.RestoreParam(); //还原参数
930
932
  this.Close(e);
931
933
  }
932
934
 
@@ -957,7 +959,8 @@ function JSDialogModifyIndexParam()
957
959
  this.SetIndexData=function(data)
958
960
  {
959
961
  this.IndexData=data;
960
- this.BackupParam();
962
+ this.GetDefaultParam();
963
+ //this.BackupParam();
961
964
  }
962
965
 
963
966
  this.OnMouseDownTitle=function(e)
@@ -1035,31 +1038,6 @@ function JSDialogModifyIndexParam()
1035
1038
  table.className="UMyChart_ModifyIndexParam_Table";
1036
1039
  divTable.appendChild(table);
1037
1040
 
1038
- /*
1039
- var thead=document.createElement("thead");
1040
- table.appendChild(thead);
1041
-
1042
- var trDom=document.createElement("tr");
1043
- trDom.className='UMyChart_ModifyIndexParam_head_Tr';
1044
- thead.appendChild(trDom);
1045
-
1046
- var thDom=document.createElement("th");
1047
- thDom.className="UMyChart_ModifyIndexParam_Th";
1048
- thDom.innerText="变量";
1049
- trDom.appendChild(thDom);
1050
-
1051
- var thDom=document.createElement("th");
1052
- thDom.className="UMyChart_ModifyIndexParam_Th";
1053
- thDom.innerText="数值";
1054
- trDom.appendChild(thDom);
1055
-
1056
- var thDom=document.createElement("th");
1057
- thDom.className="UMyChart_ModifyIndexParam_Th";
1058
- thDom.innerText="说明";
1059
- trDom.appendChild(thDom);
1060
- */
1061
-
1062
-
1063
1041
  var tbody=document.createElement("tbody");
1064
1042
  tbody.className="UMyChart_ModifyIndexParam_Tbody";
1065
1043
  table.appendChild(tbody);
@@ -1076,17 +1054,29 @@ function JSDialogModifyIndexParam()
1076
1054
  divButton.className='UMyChart_ModifyIndexParam_Button_Div';
1077
1055
  divFrame.appendChild(divButton);
1078
1056
 
1079
- var btnRestore=document.createElement("button");
1080
- //btnRestore.className="UMyChart_ModifyIndexParam_button";
1081
- btnRestore.innerText="恢复默认";
1082
- btnRestore.addEventListener("mousedown", (e)=>{ this.OnClickRestoreButton(e); });
1083
- divButton.appendChild(btnRestore);
1057
+ if (this.EnableRestoreParam)
1058
+ {
1059
+ var btnRestore=document.createElement("button");
1060
+ //btnRestore.className="UMyChart_ModifyIndexParam_button";
1061
+ btnRestore.innerText="恢复默认";
1062
+ btnRestore.addEventListener("mousedown", (e)=>{ this.OnClickRestoreButton(e); });
1063
+ divButton.appendChild(btnRestore);
1064
+ }
1065
+
1084
1066
 
1067
+ /*
1085
1068
  var btnOk=document.createElement("button");
1086
1069
  //btnOk.className="UMyChart_ModifyIndexParam_button";
1087
1070
  btnOk.innerText="确认";
1088
1071
  btnOk.addEventListener("mousedown", (e)=>{ this.OnClickOkButton(e); })
1089
1072
  divButton.appendChild(btnOk);
1073
+ */
1074
+
1075
+ var btnOk=document.createElement("button");
1076
+ //btnOk.className="UMyChart_ModifyIndexParam_button";
1077
+ btnOk.innerText="关闭";
1078
+ btnOk.addEventListener("mousedown", (e)=>{ this.Close(e); })
1079
+ divButton.appendChild(btnOk);
1090
1080
 
1091
1081
  document.body.appendChild(divDom);
1092
1082
 
@@ -1228,6 +1218,41 @@ function JSDialogModifyIndexParam()
1228
1218
  }
1229
1219
  }
1230
1220
 
1221
+ this.GetDefaultParam=function()
1222
+ {
1223
+ this.Arguments=[];
1224
+ if (!this.IndexData || !this.IndexData.IndexScript) return;
1225
+ var indexScript=this.IndexData.IndexScript;
1226
+
1227
+ var args=[];
1228
+ if (indexScript.ID)
1229
+ {
1230
+ var scriptData = new JSIndexScript();
1231
+ var indexInfo = scriptData.Get(indexScript.ID);
1232
+ if (indexInfo) args=indexInfo.Args;
1233
+ }
1234
+
1235
+ var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.GET_DEFAULT_INDEX_PARAM);
1236
+ if (event && event.Callback)
1237
+ {
1238
+ var sendData={ IndexData:this.IndexData, Args:args.slice(), PreventDefault:false };
1239
+ event.Callback(event, sendData, this);
1240
+
1241
+ if (sendData.PreventDefault) return;
1242
+
1243
+ args=sendData.Args;
1244
+ }
1245
+
1246
+ if (IFrameSplitOperator.IsNonEmptyArray(args))
1247
+ {
1248
+ for(var i=0;i<args.length;++i)
1249
+ {
1250
+ var item=args[i];
1251
+ this.Arguments.push({Name:item.Name, Value:item.Value, Index:i});
1252
+ }
1253
+ }
1254
+ }
1255
+
1231
1256
  this.OnParamMouseUp=function(e)
1232
1257
  {
1233
1258
  var input=e.target;
@@ -2784,6 +2784,8 @@ var JSCHART_EVENT_ID=
2784
2784
  ON_CLICK_CROSSCURSOR_BOTTOM:170, //十字光标底部文字点击
2785
2785
 
2786
2786
  ON_CLICK_CHART_CELL:171, //点击图形单元
2787
+
2788
+ GET_DEFAULT_INDEX_PARAM:172, //获取指标默认参数
2787
2789
  }
2788
2790
 
2789
2791
  var JSCHART_OPERATOR_ID=
@@ -53185,6 +53187,24 @@ IFrameSplitOperator.FormatDateTimeString=function(value,isShowDate,isShowTime)
53185
53187
  return result;
53186
53188
  }
53187
53189
 
53190
+ IFrameSplitOperator.FormatDateTimeStringV2=function(datetime, format, languageID)
53191
+ {
53192
+ if (!datetime) return null;
53193
+
53194
+ switch(format)
53195
+ {
53196
+ case "YYYY-MM-DD":
53197
+ return `${datetime.getFullYear()}-${IFrameSplitOperator.NumberToString(datetime.getMonth()+1)}-${IFrameSplitOperator.NumberToString(datetime.getDate())}`;
53198
+
53199
+ case "HH:MM:SS":
53200
+ return `${IFrameSplitOperator.NumberToString(datetime.getHours())}:${IFrameSplitOperator.NumberToString(datetime.getMinutes())}:${IFrameSplitOperator.NumberToString(datetime.getSeconds())}`;
53201
+ case "HH:MM":
53202
+ return `${IFrameSplitOperator.NumberToString(datetime.getHours())}:${IFrameSplitOperator.NumberToString(datetime.getMinutes())}`;
53203
+ default:
53204
+ return null;
53205
+ }
53206
+ }
53207
+
53188
53208
  //字段颜色格式化
53189
53209
  IFrameSplitOperator.FormatValueColor = function (value, value2)
53190
53210
  {
@@ -98650,6 +98670,11 @@ var MARKET_SUFFIX_NAME=
98650
98670
  return 2;
98651
98671
  },
98652
98672
 
98673
+ GetSHSZCustomIndexDecimal:function(symbol)
98674
+ {
98675
+ return 3;
98676
+ },
98677
+
98653
98678
  GetFHKDecimal:function(symbol) //港股指数期货 小数位数
98654
98679
  {
98655
98680
  return 0;
@@ -98875,6 +98900,12 @@ function MinuteTimeStringData()
98875
98900
  return this.BJ;
98876
98901
  }
98877
98902
 
98903
+ this.GetSHSZCustomIndex=function(upperSymbol)
98904
+ {
98905
+ if (!this.SHSZ) this.SHSZ=this.CreateSHSZData();
98906
+ return this.SHSZ;
98907
+ }
98908
+
98878
98909
  this.GetSHO=function(upperSymbol)
98879
98910
  {
98880
98911
  if (!this.SHO) this.SHO=this.CreateSHOData();
@@ -99164,6 +99195,7 @@ function MinuteTimeStringData()
99164
99195
  if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol)) return this.GetSHO();
99165
99196
  if (MARKET_SUFFIX_NAME.IsSZO(upperSymbol)) return this.GetSZO();
99166
99197
  if (MARKET_SUFFIX_NAME.IsSH(upperSymbol) || MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) return this.GetSHSZ(upperSymbol);
99198
+ if (MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol)) return this.GetSHSZCustomIndex(upperSymbol);
99167
99199
  if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol)) return this.GetBJ(upperSymbol);
99168
99200
  if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) return this.GetHK(upperSymbol);
99169
99201
  if (MARKET_SUFFIX_NAME.IsTW(upperSymbol)) return this.GetTW(upperSymbol);
@@ -102042,6 +102074,7 @@ function GetfloatPrecision(symbol) //获取小数位数
102042
102074
 
102043
102075
  else if (MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);
102044
102076
  else if (MARKET_SUFFIX_NAME.IsSH(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);
102077
+ else if (MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHSZCustomIndexDecimal(upperSymbol);
102045
102078
 
102046
102079
  else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);
102047
102080
 
@@ -1633,7 +1633,7 @@ function JSReportChartContainer(uielement)
1633
1633
  //32=收盘价线 33=K线 35=时间 36=日期字段 38=持仓量 39=结算价 40=昨结算价 41=开仓量 42=平仓量
1634
1634
  //43=1m涨速% 44=3m涨速% 45=5m涨速% 46=10m涨速% 47=15m涨速%
1635
1635
  //80=整行背景色
1636
- //101-199=数值型 201-299=字符型 301-350=进度条 351-400=按钮
1636
+ //101-199=数值型 201-299=字符型 301-350=进度条 351-400=按钮 401-499=日期时间
1637
1637
 
1638
1638
  if (IFrameSplitOperator.IsString(item[1])) stock.Name=item[1];
1639
1639
  if (IFrameSplitOperator.IsNumber(item[2])) stock.YClose=item[2];
@@ -1779,7 +1779,18 @@ function JSReportChartContainer(uielement)
1779
1779
  if (IFrameSplitOperator.IsObject(item[358])) stock.ReserveButton8=item[358];
1780
1780
  if (IFrameSplitOperator.IsObject(item[359])) stock.ReserveButton9=item[359];
1781
1781
  if (IFrameSplitOperator.IsObject(item[360])) stock.ReserveButton10=item[360];
1782
-
1782
+
1783
+ //10个日期时间类型 401-499 { Value:Date, BGColor }
1784
+ if (IFrameSplitOperator.IsObject(item[401])) stock.ReserveDateTime1=item[401];
1785
+ if (IFrameSplitOperator.IsObject(item[402])) stock.ReserveDateTime2=item[402];
1786
+ if (IFrameSplitOperator.IsObject(item[403])) stock.ReserveDateTime3=item[403];
1787
+ if (IFrameSplitOperator.IsObject(item[404])) stock.ReserveDateTime4=item[404];
1788
+ if (IFrameSplitOperator.IsObject(item[405])) stock.ReserveDateTime5=item[405];
1789
+ if (IFrameSplitOperator.IsObject(item[406])) stock.ReserveDateTime6=item[406];
1790
+ if (IFrameSplitOperator.IsObject(item[407])) stock.ReserveDateTime7=item[407];
1791
+ if (IFrameSplitOperator.IsObject(item[408])) stock.ReserveDateTime8=item[408];
1792
+ if (IFrameSplitOperator.IsObject(item[409])) stock.ReserveDateTime9=item[409];
1793
+ if (IFrameSplitOperator.IsObject(item[410])) stock.ReserveDateTime10=item[410];
1783
1794
  }
1784
1795
 
1785
1796
 
@@ -4626,6 +4637,18 @@ var REPORT_COLUMN_ID=
4626
4637
  RESERVE_BUTTON9_ID:459, //ReserveButton9:
4627
4638
  RESERVE_BUTTON10_ID:460, //ReserveButton10:
4628
4639
 
4640
+
4641
+ //预留日期时间类型 10个 501-599
4642
+ RESERVE_DATETIME1_ID:501, //ReserveDateTime1;
4643
+ RESERVE_DATETIME2_ID:502,
4644
+ RESERVE_DATETIME3_ID:503,
4645
+ RESERVE_DATETIME4_ID:504,
4646
+ RESERVE_DATETIME5_ID:505,
4647
+ RESERVE_DATETIME6_ID:506,
4648
+ RESERVE_DATETIME7_ID:507,
4649
+ RESERVE_DATETIME8_ID:508,
4650
+ RESERVE_DATETIME9_ID:509,
4651
+ RESERVE_DATETIME10_ID:510,
4629
4652
  }
4630
4653
 
4631
4654
 
@@ -4722,6 +4745,17 @@ var MAP_COLUMN_FIELD=new Map([
4722
4745
  [REPORT_COLUMN_ID.RESERVE_BUTTON8_ID,"ReserveButton8"],
4723
4746
  [REPORT_COLUMN_ID.RESERVE_BUTTON9_ID,"ReserveButton9"],
4724
4747
  [REPORT_COLUMN_ID.RESERVE_BUTTON10_ID,"ReserveButton10"],
4748
+
4749
+ [REPORT_COLUMN_ID.RESERVE_DATETIME1_ID,"ReserveDateTime1"],
4750
+ [REPORT_COLUMN_ID.RESERVE_DATETIME2_ID,"ReserveDateTime2"],
4751
+ [REPORT_COLUMN_ID.RESERVE_DATETIME3_ID,"ReserveDateTime3"],
4752
+ [REPORT_COLUMN_ID.RESERVE_DATETIME4_ID,"ReserveDateTime4"],
4753
+ [REPORT_COLUMN_ID.RESERVE_DATETIME5_ID,"ReserveDateTime5"],
4754
+ [REPORT_COLUMN_ID.RESERVE_DATETIME6_ID,"ReserveDateTime6"],
4755
+ [REPORT_COLUMN_ID.RESERVE_DATETIME7_ID,"ReserveDateTime7"],
4756
+ [REPORT_COLUMN_ID.RESERVE_DATETIME8_ID,"ReserveDateTime8"],
4757
+ [REPORT_COLUMN_ID.RESERVE_DATETIME9_ID,"ReserveDateTime9"],
4758
+ [REPORT_COLUMN_ID.RESERVE_DATETIME10_ID,"ReserveDateTime10"],
4725
4759
  ]);
4726
4760
 
4727
4761
  function ChartReport()
@@ -5119,6 +5153,10 @@ function ChartReport()
5119
5153
  if (item.Format) colItem.Format=item.Format; //数据格式化设置{ Type:1=原始 2=千分位分割 3=万亿转换, ExFloatPrecision:万亿转换以后的小数位数 }
5120
5154
  if (item.StringFormat) colItem.StringFormat=item.StringFormat; //"{0}%" 输出增加固定字符
5121
5155
  }
5156
+ else if (this.IsReserveDateTime(item.Type))
5157
+ {
5158
+ if (item.DateTimeFormat) colItem.DateTimeFormat=item.DateTimeFormat; //日期格式化
5159
+ }
5122
5160
  else if (item.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID)
5123
5161
  {
5124
5162
  if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
@@ -5362,6 +5400,18 @@ function ChartReport()
5362
5400
  { Type:REPORT_COLUMN_ID.RESERVE_BUTTON8_ID, Title:"按钮8", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
5363
5401
  { Type:REPORT_COLUMN_ID.RESERVE_BUTTON9_ID, Title:"按钮9", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
5364
5402
  { Type:REPORT_COLUMN_ID.RESERVE_BUTTON10_ID, Title:"按钮10", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
5403
+
5404
+
5405
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME1_ID, Title:"日期1", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5406
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME2_ID, Title:"日期2", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5407
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME3_ID, Title:"日期3", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5408
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME4_ID, Title:"日期4", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5409
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME5_ID, Title:"日期5", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5410
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME6_ID, Title:"日期6", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5411
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME7_ID, Title:"日期7", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5412
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME8_ID, Title:"日期8", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5413
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME9_ID, Title:"日期9", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5414
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME10_ID, Title:"日期10", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
5365
5415
 
5366
5416
  ];
5367
5417
 
@@ -6656,6 +6706,11 @@ function ChartReport()
6656
6706
  this.FormatReserveString(column, stock, drawInfo);
6657
6707
  this.FormatDrawInfoEvent(stock, data, column, drawInfo);
6658
6708
  }
6709
+ else if (this.IsReserveDateTime(column.Type))
6710
+ {
6711
+ this.FormatReserveDateTime(column, stock, drawInfo);
6712
+ this.FormatDrawInfoEvent(stock, data, column, drawInfo);
6713
+ }
6659
6714
  else if (this.IsReserveProgressBarColumn(column.Type))
6660
6715
  {
6661
6716
  this.FormatReserveProgressBar(column, stock, drawInfo);
@@ -6825,6 +6880,18 @@ function ChartReport()
6825
6880
  return ARARY_TYPE.includes(value);
6826
6881
  }
6827
6882
 
6883
+ this.IsReserveDateTime=function(value)
6884
+ {
6885
+ var ARARY_TYPE=
6886
+ [
6887
+ REPORT_COLUMN_ID.RESERVE_DATETIME1_ID,REPORT_COLUMN_ID.RESERVE_DATETIME2_ID,REPORT_COLUMN_ID.RESERVE_DATETIME3_ID,REPORT_COLUMN_ID.RESERVE_DATETIME4_ID,
6888
+ REPORT_COLUMN_ID.RESERVE_DATETIME5_ID,REPORT_COLUMN_ID.RESERVE_DATETIME6_ID,REPORT_COLUMN_ID.RESERVE_DATETIME7_ID,REPORT_COLUMN_ID.RESERVE_DATETIME8_ID,
6889
+ REPORT_COLUMN_ID.RESERVE_DATETIME9_ID,REPORT_COLUMN_ID.RESERVE_DATETIME10_ID
6890
+ ];
6891
+
6892
+ return ARARY_TYPE.includes(value);
6893
+ }
6894
+
6828
6895
 
6829
6896
 
6830
6897
  this.DrawCustomText=function(drawInfo, column, left, top, cellWidth)
@@ -7257,6 +7324,21 @@ function ChartReport()
7257
7324
  }
7258
7325
  }
7259
7326
 
7327
+ this.FormatReserveDateTime=function(column, data, drawInfo)
7328
+ {
7329
+ if (column.DefaultText) drawInfo.Text=column.DefaultText;
7330
+
7331
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
7332
+ if (!data || !fieldName) return;
7333
+
7334
+ var item=data[fieldName];
7335
+ if (!IFrameSplitOperator.IsObject(item)) return;
7336
+
7337
+ if (item.DateTime) drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,column.DateTimeFormat);
7338
+ if (item.TextColor) drawInfo.TextColor=item.TextColor;
7339
+ if (item.BGColor) drawInfo.BGColor=item.BGColor;
7340
+ }
7341
+
7260
7342
  this.FormatReserveProgressBar=function(column, data, drawInfo)
7261
7343
  {
7262
7344
  var fieldName=MAP_COLUMN_FIELD.get(column.Type);
@@ -6880,6 +6880,8 @@ var JSCHART_EVENT_ID=
6880
6880
  ON_CLICK_CROSSCURSOR_BOTTOM:170, //十字光标底部文字点击
6881
6881
 
6882
6882
  ON_CLICK_CHART_CELL:171, //点击图形单元
6883
+
6884
+ GET_DEFAULT_INDEX_PARAM:172, //获取指标默认参数
6883
6885
  }
6884
6886
 
6885
6887
  var JSCHART_OPERATOR_ID=
@@ -57281,6 +57283,24 @@ IFrameSplitOperator.FormatDateTimeString=function(value,isShowDate,isShowTime)
57281
57283
  return result;
57282
57284
  }
57283
57285
 
57286
+ IFrameSplitOperator.FormatDateTimeStringV2=function(datetime, format, languageID)
57287
+ {
57288
+ if (!datetime) return null;
57289
+
57290
+ switch(format)
57291
+ {
57292
+ case "YYYY-MM-DD":
57293
+ return `${datetime.getFullYear()}-${IFrameSplitOperator.NumberToString(datetime.getMonth()+1)}-${IFrameSplitOperator.NumberToString(datetime.getDate())}`;
57294
+
57295
+ case "HH:MM:SS":
57296
+ return `${IFrameSplitOperator.NumberToString(datetime.getHours())}:${IFrameSplitOperator.NumberToString(datetime.getMinutes())}:${IFrameSplitOperator.NumberToString(datetime.getSeconds())}`;
57297
+ case "HH:MM":
57298
+ return `${IFrameSplitOperator.NumberToString(datetime.getHours())}:${IFrameSplitOperator.NumberToString(datetime.getMinutes())}`;
57299
+ default:
57300
+ return null;
57301
+ }
57302
+ }
57303
+
57284
57304
  //字段颜色格式化
57285
57305
  IFrameSplitOperator.FormatValueColor = function (value, value2)
57286
57306
  {
@@ -102746,6 +102766,11 @@ var MARKET_SUFFIX_NAME=
102746
102766
  return 2;
102747
102767
  },
102748
102768
 
102769
+ GetSHSZCustomIndexDecimal:function(symbol)
102770
+ {
102771
+ return 3;
102772
+ },
102773
+
102749
102774
  GetFHKDecimal:function(symbol) //港股指数期货 小数位数
102750
102775
  {
102751
102776
  return 0;
@@ -102971,6 +102996,12 @@ function MinuteTimeStringData()
102971
102996
  return this.BJ;
102972
102997
  }
102973
102998
 
102999
+ this.GetSHSZCustomIndex=function(upperSymbol)
103000
+ {
103001
+ if (!this.SHSZ) this.SHSZ=this.CreateSHSZData();
103002
+ return this.SHSZ;
103003
+ }
103004
+
102974
103005
  this.GetSHO=function(upperSymbol)
102975
103006
  {
102976
103007
  if (!this.SHO) this.SHO=this.CreateSHOData();
@@ -103260,6 +103291,7 @@ function MinuteTimeStringData()
103260
103291
  if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol)) return this.GetSHO();
103261
103292
  if (MARKET_SUFFIX_NAME.IsSZO(upperSymbol)) return this.GetSZO();
103262
103293
  if (MARKET_SUFFIX_NAME.IsSH(upperSymbol) || MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) return this.GetSHSZ(upperSymbol);
103294
+ if (MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol)) return this.GetSHSZCustomIndex(upperSymbol);
103263
103295
  if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol)) return this.GetBJ(upperSymbol);
103264
103296
  if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) return this.GetHK(upperSymbol);
103265
103297
  if (MARKET_SUFFIX_NAME.IsTW(upperSymbol)) return this.GetTW(upperSymbol);
@@ -106138,6 +106170,7 @@ function GetfloatPrecision(symbol) //获取小数位数
106138
106170
 
106139
106171
  else if (MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);
106140
106172
  else if (MARKET_SUFFIX_NAME.IsSH(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);
106173
+ else if (MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHSZCustomIndexDecimal(upperSymbol);
106141
106174
 
106142
106175
  else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);
106143
106176
 
@@ -137743,7 +137776,7 @@ function JSReportChartContainer(uielement)
137743
137776
  //32=收盘价线 33=K线 35=时间 36=日期字段 38=持仓量 39=结算价 40=昨结算价 41=开仓量 42=平仓量
137744
137777
  //43=1m涨速% 44=3m涨速% 45=5m涨速% 46=10m涨速% 47=15m涨速%
137745
137778
  //80=整行背景色
137746
- //101-199=数值型 201-299=字符型 301-350=进度条 351-400=按钮
137779
+ //101-199=数值型 201-299=字符型 301-350=进度条 351-400=按钮 401-499=日期时间
137747
137780
 
137748
137781
  if (IFrameSplitOperator.IsString(item[1])) stock.Name=item[1];
137749
137782
  if (IFrameSplitOperator.IsNumber(item[2])) stock.YClose=item[2];
@@ -137889,7 +137922,18 @@ function JSReportChartContainer(uielement)
137889
137922
  if (IFrameSplitOperator.IsObject(item[358])) stock.ReserveButton8=item[358];
137890
137923
  if (IFrameSplitOperator.IsObject(item[359])) stock.ReserveButton9=item[359];
137891
137924
  if (IFrameSplitOperator.IsObject(item[360])) stock.ReserveButton10=item[360];
137892
-
137925
+
137926
+ //10个日期时间类型 401-499 { Value:Date, BGColor }
137927
+ if (IFrameSplitOperator.IsObject(item[401])) stock.ReserveDateTime1=item[401];
137928
+ if (IFrameSplitOperator.IsObject(item[402])) stock.ReserveDateTime2=item[402];
137929
+ if (IFrameSplitOperator.IsObject(item[403])) stock.ReserveDateTime3=item[403];
137930
+ if (IFrameSplitOperator.IsObject(item[404])) stock.ReserveDateTime4=item[404];
137931
+ if (IFrameSplitOperator.IsObject(item[405])) stock.ReserveDateTime5=item[405];
137932
+ if (IFrameSplitOperator.IsObject(item[406])) stock.ReserveDateTime6=item[406];
137933
+ if (IFrameSplitOperator.IsObject(item[407])) stock.ReserveDateTime7=item[407];
137934
+ if (IFrameSplitOperator.IsObject(item[408])) stock.ReserveDateTime8=item[408];
137935
+ if (IFrameSplitOperator.IsObject(item[409])) stock.ReserveDateTime9=item[409];
137936
+ if (IFrameSplitOperator.IsObject(item[410])) stock.ReserveDateTime10=item[410];
137893
137937
  }
137894
137938
 
137895
137939
 
@@ -140736,6 +140780,18 @@ var REPORT_COLUMN_ID=
140736
140780
  RESERVE_BUTTON9_ID:459, //ReserveButton9:
140737
140781
  RESERVE_BUTTON10_ID:460, //ReserveButton10:
140738
140782
 
140783
+
140784
+ //预留日期时间类型 10个 501-599
140785
+ RESERVE_DATETIME1_ID:501, //ReserveDateTime1;
140786
+ RESERVE_DATETIME2_ID:502,
140787
+ RESERVE_DATETIME3_ID:503,
140788
+ RESERVE_DATETIME4_ID:504,
140789
+ RESERVE_DATETIME5_ID:505,
140790
+ RESERVE_DATETIME6_ID:506,
140791
+ RESERVE_DATETIME7_ID:507,
140792
+ RESERVE_DATETIME8_ID:508,
140793
+ RESERVE_DATETIME9_ID:509,
140794
+ RESERVE_DATETIME10_ID:510,
140739
140795
  }
140740
140796
 
140741
140797
 
@@ -140832,6 +140888,17 @@ var MAP_COLUMN_FIELD=new Map([
140832
140888
  [REPORT_COLUMN_ID.RESERVE_BUTTON8_ID,"ReserveButton8"],
140833
140889
  [REPORT_COLUMN_ID.RESERVE_BUTTON9_ID,"ReserveButton9"],
140834
140890
  [REPORT_COLUMN_ID.RESERVE_BUTTON10_ID,"ReserveButton10"],
140891
+
140892
+ [REPORT_COLUMN_ID.RESERVE_DATETIME1_ID,"ReserveDateTime1"],
140893
+ [REPORT_COLUMN_ID.RESERVE_DATETIME2_ID,"ReserveDateTime2"],
140894
+ [REPORT_COLUMN_ID.RESERVE_DATETIME3_ID,"ReserveDateTime3"],
140895
+ [REPORT_COLUMN_ID.RESERVE_DATETIME4_ID,"ReserveDateTime4"],
140896
+ [REPORT_COLUMN_ID.RESERVE_DATETIME5_ID,"ReserveDateTime5"],
140897
+ [REPORT_COLUMN_ID.RESERVE_DATETIME6_ID,"ReserveDateTime6"],
140898
+ [REPORT_COLUMN_ID.RESERVE_DATETIME7_ID,"ReserveDateTime7"],
140899
+ [REPORT_COLUMN_ID.RESERVE_DATETIME8_ID,"ReserveDateTime8"],
140900
+ [REPORT_COLUMN_ID.RESERVE_DATETIME9_ID,"ReserveDateTime9"],
140901
+ [REPORT_COLUMN_ID.RESERVE_DATETIME10_ID,"ReserveDateTime10"],
140835
140902
  ]);
140836
140903
 
140837
140904
  function ChartReport()
@@ -141229,6 +141296,10 @@ function ChartReport()
141229
141296
  if (item.Format) colItem.Format=item.Format; //数据格式化设置{ Type:1=原始 2=千分位分割 3=万亿转换, ExFloatPrecision:万亿转换以后的小数位数 }
141230
141297
  if (item.StringFormat) colItem.StringFormat=item.StringFormat; //"{0}%" 输出增加固定字符
141231
141298
  }
141299
+ else if (this.IsReserveDateTime(item.Type))
141300
+ {
141301
+ if (item.DateTimeFormat) colItem.DateTimeFormat=item.DateTimeFormat; //日期格式化
141302
+ }
141232
141303
  else if (item.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID)
141233
141304
  {
141234
141305
  if (!IFrameSplitOperator.IsNumber(item.DataIndex) && !IFrameSplitOperator.IsNumber(item.BlockIndex)) return null;
@@ -141472,6 +141543,18 @@ function ChartReport()
141472
141543
  { Type:REPORT_COLUMN_ID.RESERVE_BUTTON8_ID, Title:"按钮8", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
141473
141544
  { Type:REPORT_COLUMN_ID.RESERVE_BUTTON9_ID, Title:"按钮9", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
141474
141545
  { Type:REPORT_COLUMN_ID.RESERVE_BUTTON10_ID, Title:"按钮10", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
141546
+
141547
+
141548
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME1_ID, Title:"日期1", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141549
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME2_ID, Title:"日期2", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141550
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME3_ID, Title:"日期3", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141551
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME4_ID, Title:"日期4", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141552
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME5_ID, Title:"日期5", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141553
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME6_ID, Title:"日期6", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141554
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME7_ID, Title:"日期7", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141555
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME8_ID, Title:"日期8", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141556
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME9_ID, Title:"日期9", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141557
+ { Type:REPORT_COLUMN_ID.RESERVE_DATETIME10_ID, Title:"日期10", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99", DateTimeFormat:"YYYY-MM-DD" },
141475
141558
 
141476
141559
  ];
141477
141560
 
@@ -142766,6 +142849,11 @@ function ChartReport()
142766
142849
  this.FormatReserveString(column, stock, drawInfo);
142767
142850
  this.FormatDrawInfoEvent(stock, data, column, drawInfo);
142768
142851
  }
142852
+ else if (this.IsReserveDateTime(column.Type))
142853
+ {
142854
+ this.FormatReserveDateTime(column, stock, drawInfo);
142855
+ this.FormatDrawInfoEvent(stock, data, column, drawInfo);
142856
+ }
142769
142857
  else if (this.IsReserveProgressBarColumn(column.Type))
142770
142858
  {
142771
142859
  this.FormatReserveProgressBar(column, stock, drawInfo);
@@ -142935,6 +143023,18 @@ function ChartReport()
142935
143023
  return ARARY_TYPE.includes(value);
142936
143024
  }
142937
143025
 
143026
+ this.IsReserveDateTime=function(value)
143027
+ {
143028
+ var ARARY_TYPE=
143029
+ [
143030
+ REPORT_COLUMN_ID.RESERVE_DATETIME1_ID,REPORT_COLUMN_ID.RESERVE_DATETIME2_ID,REPORT_COLUMN_ID.RESERVE_DATETIME3_ID,REPORT_COLUMN_ID.RESERVE_DATETIME4_ID,
143031
+ REPORT_COLUMN_ID.RESERVE_DATETIME5_ID,REPORT_COLUMN_ID.RESERVE_DATETIME6_ID,REPORT_COLUMN_ID.RESERVE_DATETIME7_ID,REPORT_COLUMN_ID.RESERVE_DATETIME8_ID,
143032
+ REPORT_COLUMN_ID.RESERVE_DATETIME9_ID,REPORT_COLUMN_ID.RESERVE_DATETIME10_ID
143033
+ ];
143034
+
143035
+ return ARARY_TYPE.includes(value);
143036
+ }
143037
+
142938
143038
 
142939
143039
 
142940
143040
  this.DrawCustomText=function(drawInfo, column, left, top, cellWidth)
@@ -143367,6 +143467,21 @@ function ChartReport()
143367
143467
  }
143368
143468
  }
143369
143469
 
143470
+ this.FormatReserveDateTime=function(column, data, drawInfo)
143471
+ {
143472
+ if (column.DefaultText) drawInfo.Text=column.DefaultText;
143473
+
143474
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
143475
+ if (!data || !fieldName) return;
143476
+
143477
+ var item=data[fieldName];
143478
+ if (!IFrameSplitOperator.IsObject(item)) return;
143479
+
143480
+ if (item.DateTime) drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,column.DateTimeFormat);
143481
+ if (item.TextColor) drawInfo.TextColor=item.TextColor;
143482
+ if (item.BGColor) drawInfo.BGColor=item.BGColor;
143483
+ }
143484
+
143370
143485
  this.FormatReserveProgressBar=function(column, data, drawInfo)
143371
143486
  {
143372
143487
  var fieldName=MAP_COLUMN_FIELD.get(column.Type);
@@ -149224,7 +149339,7 @@ function ScrollBarBGChart()
149224
149339
 
149225
149340
 
149226
149341
 
149227
- var HQCHART_VERSION="1.1.14803";
149342
+ var HQCHART_VERSION="1.1.14810";
149228
149343
 
149229
149344
  function PrintHQChartVersion()
149230
149345
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14803";
8
+ var HQCHART_VERSION="1.1.14810";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {