hqchart 1.1.13717 → 1.1.13725

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.
@@ -76,7 +76,8 @@ var kData=data.Self.Data;var hqchartData={DataType:2,Data:[]};for(var i=0;i<kDat
76
76
  /////////////////////////////////////////////////////////////////////////////////////
77
77
  //码表
78
78
  HQData.Report_RequestStockListData=function(data,callback){data.PreventDefault=true;var hqchartData={data:[]};if(IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol)){//0=证券代码 1=股票名称
79
- for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i){var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];hqchartData.data.push([symbol,name]);}}console.log("[HQData.Report_RequestStockListData] hqchartData",hqchartData);callback(hqchartData);};//板块|行业等成分列表
79
+ for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i){var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];var item=[symbol,name];//item[88]=1;
80
+ hqchartData.data.push(item);}}console.log("[HQData.Report_RequestStockListData] hqchartData",hqchartData);callback(hqchartData);};//板块|行业等成分列表
80
81
  HQData.Report_RequestMemberListDat=function(data,callback){var symbol=data.Request.Data.symbol;//板块代码
81
82
  data.PreventDefault=true;var hqchartData={symbol:symbol,name:symbol,data:[],code:0};var testDataCount=SHSZ_STOCK_LIST_TEST_DATA.symbol.length;var testIndex=Math.round(Math.random()*(testDataCount-100));var count=parseInt(Math.random()*200+100);;for(var i=testIndex,j=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length&&j<count;++i,++j){hqchartData.data.push(SHSZ_STOCK_LIST_TEST_DATA.symbol[i]);}callback(hqchartData);};HQData.Report_RequestStockData=function(data,callback){var stocks=data.Request.Data.stocks;//股票列表
82
83
  data.PreventDefault=true;var mapStock=new _map2.default();for(var i=0;i<stocks.length;++i){var item=stocks[i];mapStock.set(item.Symbol,{Symbol:item.Symbol,Data:null});}if(IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol)){for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i){var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];if(!mapStock.has(symbol))continue;var item=mapStock.get(symbol);var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];var newItem=[symbol,name,SHSZ_STOCK_LIST_TEST_DATA.yclose[i],SHSZ_STOCK_LIST_TEST_DATA.open[i],SHSZ_STOCK_LIST_TEST_DATA.high[i],SHSZ_STOCK_LIST_TEST_DATA.low[i],price,vol,SHSZ_STOCK_LIST_TEST_DATA.amount[i]];//买价 量
@@ -88,7 +89,13 @@ newItem[19]=vol/5;newItem[14]=vol*1.5;//流通股本
88
89
  newItem[15]=vol*1.8;//总股本
89
90
  //换手率
90
91
  newItem[23]=Math.round(Math.random()*60)/100;//名字字段
91
- var symbolEx={Text:name};if(i%20==5)symbolEx.Symbol={Family:'iconfont',Size:16,Data:[{Text:"\uE629",Color:'rgb(255,165,0)'},{Text:"\uE627",Color:'#1c65db'}]};else if(i%20==9)symbolEx.Symbol={Family:'iconfont',Size:16,Data:[{Text:"\uE629",Color:'rgb(255,165,0)'}]};else if(i%20==18)symbolEx.Symbol={Family:'iconfont',Size:16,Data:[{Text:"\uE627",Color:'#1c65db'}]};newItem[27]=symbolEx;//扩展数据 (定制数据)
92
+ var symbolEx={Text:name};if(i%20==5)symbolEx.Symbol={Family:'iconfont',Size:16,Data:[{Text:"\uE629",Color:'rgb(255,165,0)'},{Text:"\uE627",Color:'#1c65db'}]};else if(i%20==9)symbolEx.Symbol={Family:'iconfont',Size:16,Data:[{Text:"\uE629",Color:'rgb(255,165,0)'}]};else if(i%20==18)symbolEx.Symbol={Family:'iconfont',Size:16,Data:[{Text:"\uE627",Color:'#1c65db'}]};newItem[27]=symbolEx;newItem[38]=HQData.GetRandomTestData(10,20000);//持仓量
93
+ newItem[39]=HQData.GetRandomTestData(10,100);//结算价
94
+ newItem[40]=HQData.GetRandomTestData(10,100);//昨结算价
95
+ newItem[41]=HQData.GetRandomTestData(10,20000);//开仓量
96
+ newItem[42]=HQData.GetRandomTestData(10,20000);//平仓量
97
+ //1,3,5,10,15 涨速%
98
+ newItem[43]=HQData.GetRandomTestData(-90,90);newItem[44]=HQData.GetRandomTestData(-90,90);newItem[45]=HQData.GetRandomTestData(-90,90);newItem[46]=HQData.GetRandomTestData(-90,90);newItem[47]=HQData.GetRandomTestData(-90,90);//扩展数据 (定制数据)
92
99
  var extendData=[];newItem[30]=extendData;//行业
93
100
  extendData[0]="行业X";//地区
94
101
  extendData[1]="地区X";//PE|PB
@@ -113,4 +120,6 @@ extendData[0]="行业X";//地区
113
120
  extendData[1]="地区X";//PE|PB
114
121
  extendData[2]=Math.round(Math.random()*60)/100;extendData[3]=Math.round(Math.random()*60)/100;extendData[4]=Math.round(Math.random()*60)/100;extendData[5]=Math.round(Math.random()*60)/100;//周涨幅
115
122
  extendData[6]=Math.round(Math.random()*60)/100;extendData[7]=Math.round(Math.random()*60)/100;extendData[8]=Math.round(Math.random()*60)/100;item.Data=newItem;}}var hqchartData={data:[],index:[],filedindex:column.index,sort:sortType,symbol:blockID};var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=(0,_getIterator3.default)(mapStock),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var mapItem=_step2.value;var item=mapItem[1];if(!item.Data)continue;hqchartData.data.push(item.Data);hqchartData.index.push(item.Index);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}callback(hqchartData);};HQData.Keyboard_RequestSymbolList=function(data,callback){//加载数据
116
- var recv={symbollist:SYMBOL_LIST};var arySymbol=[];for(var i=0;i<recv.symbollist.length;++i){var item=recv.symbollist[i];var shortSymbol=item[0];shortSymbol=shortSymbol.replace(".sh","");shortSymbol=shortSymbol.replace(".sz","");var symbolItem={Symbol:item[0],Name:item[1],ShortSymbol:shortSymbol,Spell:item[3],Type:item[2],Data:{Symbol:item[0],Type:0}};if(symbolItem.Type=="EQA"){symbolItem.TypeName="股票";}else if(symbolItem.Type=="IDX"){symbolItem.TypeName="指数";symbolItem.Color="rgb(30,144,255)";}arySymbol.push(symbolItem);}arySymbol.push({Symbol:"01",Name:"分时成交明细",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分时成交明细",Type:2}});arySymbol.push({Symbol:"02",Name:"分价表",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分价表",Type:2}});arySymbol.push({Symbol:"06",Name:"自选股",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"自选股",Type:2}});arySymbol.push({Symbol:"MACD",Name:"平滑异同平均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MACD",Type:1}});arySymbol.push({Symbol:"RSI",Name:"相对强弱指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"RSI",Type:1}});arySymbol.push({Symbol:"MA",Name:"均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MA",Type:1}});arySymbol.push({Symbol:"BOLL",Name:"布林线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"BOLL",Type:1}});callback(arySymbol);};/*暴露外部用的方法*/exports.default={HQData:HQData};
123
+ var recv={symbollist:SYMBOL_LIST};var arySymbol=[];for(var i=0;i<recv.symbollist.length;++i){var item=recv.symbollist[i];var shortSymbol=item[0];shortSymbol=shortSymbol.replace(".sh","");shortSymbol=shortSymbol.replace(".sz","");var symbolItem={Symbol:item[0],Name:item[1],ShortSymbol:shortSymbol,Spell:item[3],Type:item[2],Data:{Symbol:item[0],Type:0}};if(symbolItem.Type=="EQA"){symbolItem.TypeName="股票";}else if(symbolItem.Type=="IDX"){symbolItem.TypeName="指数";symbolItem.Color="rgb(30,144,255)";}arySymbol.push(symbolItem);}arySymbol.push({Symbol:"01",Name:"分时成交明细",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分时成交明细",Type:2}});arySymbol.push({Symbol:"02",Name:"分价表",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分价表",Type:2}});arySymbol.push({Symbol:"06",Name:"自选股",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"自选股",Type:2}});arySymbol.push({Symbol:"MACD",Name:"平滑异同平均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MACD",Type:1}});arySymbol.push({Symbol:"RSI",Name:"相对强弱指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"RSI",Type:1}});arySymbol.push({Symbol:"MA",Name:"均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MA",Type:1}});arySymbol.push({Symbol:"BOLL",Name:"布林线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"BOLL",Type:1}});callback(arySymbol);};HQData.GetRandomTestData=function(min,max)//测试数据
124
+ {min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min+1))+min;//含最大值,含最小值
125
+ };/*暴露外部用的方法*/exports.default={HQData:HQData};
@@ -4079,9 +4079,11 @@ this.DrawBars(lineWidth,true);this.DrawBars(lineWidth,false);this.Canvas.lineWid
4079
4079
  this.newMethod();delete this.newMethod;this.ClassName="ChartClipColorStick";this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.LineWidth=1;//差值线
4080
4080
  this.DownDiffColor=g_JSChartResource.DownBarColor;this.UpDiffColor=g_JSChartResource.UpBarColor;this.BaseLineColor;//基准线
4081
4081
  this.BaseValue=0;this.Super_GetMaxMin=this.GetMaxMin;//父类的方法
4082
- this.SetOption=function(option){if(!option)return;if(option.UpColor)this.UpColor=option.UpColor;if(option.DownColor)this.DownColor=option.DownColor;if(option.DownDiffColor)this.DownDiffColor=option.DownDiffColor;if(option.UpDiffColor)this.UpDiffColor=option.UpDiffColor;if(option.BaseLineColor)this.BaseLineColor=option.BaseLineColor;if(IFrameSplitOperator.IsNumber(option.BaseValue))this.BaseValue=option.BaseValue;};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}this.Canvas.save();var dataWidth=this.ChartFrame.DataWidth;var lineWidth=this.LineWidth*GetDevicePixelRatio();if(this.LineWidth==50)lineWidth=dataWidth;else if(lineWidth>dataWidth)lineWidth=dataWidth;if(IFrameSplitOperator.IsNumber(this.BaseValue)&&this.BaseValue!=0){this.DrawBaseLine();if(this.BaseValue>0)this.DrawBars(lineWidth,true);else this.DrawBars(lineWidth,false);}else{//上下分开画
4082
+ this.ValueRange;//{ Max:, Min: } //固定最大最小值
4083
+ this.SetOption=function(option){if(!option)return;if(option.UpColor)this.UpColor=option.UpColor;if(option.DownColor)this.DownColor=option.DownColor;if(option.DownDiffColor)this.DownDiffColor=option.DownDiffColor;if(option.UpDiffColor)this.UpDiffColor=option.UpDiffColor;if(option.BaseLineColor)this.BaseLineColor=option.BaseLineColor;if(IFrameSplitOperator.IsNumber(option.BaseValue))this.BaseValue=option.BaseValue;if(option.ValueRange)this.ValueRange=option.ValueRange;};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}this.Canvas.save();var dataWidth=this.ChartFrame.DataWidth;var lineWidth=this.LineWidth*GetDevicePixelRatio();if(this.LineWidth==50)lineWidth=dataWidth;else if(lineWidth>dataWidth)lineWidth=dataWidth;if(IFrameSplitOperator.IsNumber(this.BaseValue)&&this.BaseValue!=0){this.DrawBaseLine();if(this.BaseValue>0)this.DrawBars(lineWidth,true);else this.DrawBars(lineWidth,false);}else{//上下分开画
4083
4084
  this.DrawBars(lineWidth,true);this.DrawBars(lineWidth,false);}this.Canvas.restore();};this.DrawBars=function(lineWidth,bUpBar){var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var isHSCreen=this.ChartFrame.IsHScreen===true;if(isHSCreen){var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Top;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;}var yBottom=this.ChartFrame.GetYFromData(this.BaseValue);var aryBar=[],aryDiffBar=[];for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null)continue;if(bUpBar){if(value<0)continue;}else{if(value>=0)continue;}if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(x>chartright)break;var bDiffBar=false;var diffValue=null;if(this.BaseValue>0){if(value<this.BaseValue){bDiffBar=true;diffValue=this.BaseValue-(this.BaseValue-value);}}else if(this.BaseValue<0){if(value>this.BaseValue){bDiffBar=true;diffValue=this.BaseValue+(value-this.BaseValue);}}if(!bDiffBar){var y=this.ChartFrame.GetYFromData(value);aryBar.push({X:x,Y:y});}else{var y=this.ChartFrame.GetYFromData(diffValue);aryDiffBar.push({X:x,Y:y});}}this.Canvas.lineWidth=lineWidth;if(bUpBar)this.Canvas.strokeStyle=this.UpColor;else this.Canvas.strokeStyle=this.DownColor;this.DrawStick(aryBar,lineWidth,yBottom);if(this.BaseValue>0){this.Canvas.strokeStyle=this.UpDiffColor;this.DrawStick(aryDiffBar,lineWidth,yBottom);}else if(this.BaseValue<0){this.Canvas.strokeStyle=this.DownDiffColor;this.DrawStick(aryDiffBar,lineWidth,yBottom);}};this.DrawStick=function(aryData,lineWidth,yBottom){if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return;var isHSCreen=this.ChartFrame.IsHScreen===true;var drawCount=0;this.Canvas.beginPath();for(var i=0;i<aryData.length;++i){var item=aryData[i];var y=item.Y;var xFix=ToFixedPoint2(lineWidth,item.X);//毛边修正
4084
- if(isHSCreen){this.Canvas.moveTo(yBottom,ToFixedPoint(x));this.Canvas.lineTo(y,ToFixedPoint(x));}else{this.Canvas.moveTo(xFix,yBottom);this.Canvas.lineTo(xFix,y);}++drawCount;}if(drawCount>0)this.Canvas.stroke();};this.DrawBaseLine=function(){if(!IFrameSplitOperator.IsNumber(this.BaseValue)||this.BaseValue==0)return;if(!this.BaseLineColor)return;var isHSCreen=this.ChartFrame.IsHScreen===true;var border=this.ChartFrame.GetBorder();var y=this.ChartFrame.GetYFromData(this.BaseValue);this.Canvas.strokeStyle=this.BaseLineColor;this.Canvas.lineWidth=1*GetDevicePixelRatio();if(isHSCreen){}else{var yFix=ToFixedPoint(y);this.Canvas.beginPath();this.Canvas.moveTo(border.Left,yFix);this.Canvas.lineTo(border.Right,yFix);this.Canvas.stroke();}};this.GetMaxMin=function(){if(!IFrameSplitOperator.IsNumber(this.BaseValue)||this.BaseValue==0)return this.Super_GetMaxMin();var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null},maxDiffValue=null;//基准值的差值
4085
+ if(isHSCreen){this.Canvas.moveTo(yBottom,ToFixedPoint(x));this.Canvas.lineTo(y,ToFixedPoint(x));}else{this.Canvas.moveTo(xFix,yBottom);this.Canvas.lineTo(xFix,y);}++drawCount;}if(drawCount>0)this.Canvas.stroke();};this.DrawBaseLine=function(){if(!IFrameSplitOperator.IsNumber(this.BaseValue)||this.BaseValue==0)return;if(!this.BaseLineColor)return;var isHSCreen=this.ChartFrame.IsHScreen===true;var border=this.ChartFrame.GetBorder();var y=this.ChartFrame.GetYFromData(this.BaseValue);this.Canvas.strokeStyle=this.BaseLineColor;this.Canvas.lineWidth=1*GetDevicePixelRatio();if(isHSCreen){}else{var yFix=ToFixedPoint(y);this.Canvas.beginPath();this.Canvas.moveTo(border.Left,yFix);this.Canvas.lineTo(border.Right,yFix);this.Canvas.stroke();}};this.GetMaxMin=function(){if(!IFrameSplitOperator.IsNumber(this.BaseValue)||this.BaseValue==0)return this.Super_GetMaxMin();if(this.ValueRange)//固定最大最小
4086
+ {var range={Min:this.ValueRange.Min,Max:this.ValueRange.Max};return range;}var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null},maxDiffValue=null;//基准值的差值
4085
4087
  if(!this.Data||!this.Data.Data)return range;if(this.BaseValue>0)range.Min=this.BaseValue;else range.Max=this.BaseValue;for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(value==null||isNaN(value))continue;if(this.BaseValue>0){if(value<0)continue;if(value<this.BaseValue){var diffValue=this.BaseValue-value;if(maxDiffValue==null||maxDiffValue<diffValue)maxDiffValue=diffValue;continue;}}else{if(value>0)continue;if(value>this.BaseValue){var diffValue=value-this.BaseValue;if(maxDiffValue==null||maxDiffValue<diffValue)maxDiffValue=diffValue;continue;}}if(range.Max==null)range.Max=value;if(range.Min==null)range.Min=value;if(range.Max<value)range.Max=value;if(range.Min>value)range.Min=value;}if(this.BaseValue>0){if(IFrameSplitOperator.IsNumber(maxDiffValue)&&IFrameSplitOperator.IsNumber(range.Min))range.Min-=maxDiffValue;}else{if(IFrameSplitOperator.IsNumber(maxDiffValue)&&IFrameSplitOperator.IsNumber(range.Max))range.Max+=maxDiffValue;}return range;};}//柱子
4086
4088
  function ChartBar(){this.newMethod=IChartPainting;//派生
4087
4089
  this.newMethod();delete this.newMethod;this.ClassName="ChartBar";this.UpBarColor=g_JSChartResource.UpBarColor;this.DownBarColor=g_JSChartResource.DownBarColor;this.Draw=function(){if(this.ChartFrame.IsMinSize)return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var chartright=this.ChartBorder.GetRight();var xPointCount=this.ChartFrame.XPointCount;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;var bFirstPoint=true;var drawCount=0;var yBottom=this.ChartFrame.GetYFromData(0);if(dataWidth>=4){yBottom=ToFixedRect(yBottom);//调整为整数
@@ -12649,7 +12651,7 @@ this.RequestStockListData=function(option){this.ChartSplashPaint.SetTitle(this.S
12649
12651
  Explain:'码表数据',Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvStockListData(data,option);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
12650
12652
  }//throw { Name:'JSReportChartContainer::RequestStockListData', Error:'(码表数据)不提供内置测试数据' };
12651
12653
  };this.RecvStockListData=function(data,option){if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称
12652
- for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];this.ReadStockJsonData(stock,item);}}if(option&&option.Callback){option.Callback();return;}this.Draw();this.UpdateStockData();};//更新股票数据
12654
+ for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];if(IFrameSplitOperator.IsNumber(item[88]))stock.PriceColorType=item[88];this.ReadStockJsonData(stock,item);}}if(option&&option.Callback){option.Callback();return;}this.Draw();this.UpdateStockData();};//更新股票数据
12653
12655
  this.UpdateMapStockData=function(data){if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.data))return;//0=证券代码 1=股票名称
12654
12656
  for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];this.ReadStockJsonData(stock,item);}};//获取个股数据
12655
12657
  this.GetStockData=function(symbol){if(!this.MapStockData)return null;if(!this.MapStockData.has(symbol))return null;return this.MapStockData.get(symbol);};this.GetBlockData=function(symbol){if(!this.BlockData)return null;if(!this.BlockData.has(symbol))return null;return this.BlockData.get(symbol);};//obj={ ID:, Color: , Time:, Count: }
@@ -12667,6 +12669,7 @@ var bUpdate=false;var aryStock=chart.ShowSymbol;for(var i=0;i<aryStock.length;++
12667
12669
  this.ReadStockJsonData=function(stock,item){//0=证券代码 1=股票名称 2=昨收 3=开 4=高 5=低 6=收 7=成交量 8=成交金额, 9=买价 10=买量 11=卖价 12=卖量 13=均价 14=流通股 15=总股本 16=涨停价 17=跌停价
12668
12670
  //18=内盘 19=外盘 20=现量 21=涨幅% 22=涨跌 23=换手率% 24=振幅% 25=流通市值 26=总市值
12669
12671
  //30=全局扩展数据 31=当前板块扩展数据
12672
+ //88=价格颜色类型
12670
12673
  if(IFrameSplitOperator.IsString(item[1]))stock.Name=item[1];if(IFrameSplitOperator.IsNumber(item[2]))stock.YClose=item[2];if(IFrameSplitOperator.IsNumber(item[3]))stock.Open=item[3];if(IFrameSplitOperator.IsNumber(item[4]))stock.High=item[4];if(IFrameSplitOperator.IsNumber(item[5]))stock.Low=item[5];if(IFrameSplitOperator.IsNumber(item[6]))stock.Price=item[6];if(IFrameSplitOperator.IsNumber(item[7]))stock.Vol=item[7];if(IFrameSplitOperator.IsNumber(item[8]))stock.Amount=item[8];if(IFrameSplitOperator.IsNumber(item[9]))stock.BuyPrice=item[9];if(IFrameSplitOperator.IsNumber(item[10]))stock.BuyVol=item[10];if(IFrameSplitOperator.IsNumber(item[11]))stock.SellPrice=item[11];if(IFrameSplitOperator.IsNumber(item[12]))stock.SellVol=item[12];if(IFrameSplitOperator.IsNumber(item[13]))stock.AvPrice=item[13];//均价
12671
12674
  if(IFrameSplitOperator.IsNumber(item[14]))stock.OutShares=item[14];//流通股
12672
12675
  if(IFrameSplitOperator.IsNumber(item[15]))stock.TotalShares=item[15];//总股本
@@ -12695,7 +12698,13 @@ if(item[32])stock.CloseLine=item[32];//32=收盘价线
12695
12698
  if(item[33])stock.KLine=item[33];//33=K线
12696
12699
  if(IFrameSplitOperator.IsNumber(item[35]))stock.Time=item[35];//时间 hhmm / hhmmss / hhmmss.fff
12697
12700
  if(IFrameSplitOperator.IsNumber(item[36]))stock.Date=item[36];//日期
12698
- if(IFrameSplitOperator.IsBool(item[37]))stock.Checked=item[37];};this.GetSymbolNoSuffix=function(symbol){var index=symbol.lastIndexOf(".");if(index>0)return symbol.substring(0,index);else return symbol;};this.CancelAutoUpdate=function()//关闭停止更新
12701
+ if(IFrameSplitOperator.IsBool(item[37]))stock.Checked=item[37];if(IFrameSplitOperator.IsNumber(item[38]))stock.Position=item[38];//持仓量
12702
+ if(IFrameSplitOperator.IsNumber(item[39]))stock.FClose=item[39];//结算价
12703
+ if(IFrameSplitOperator.IsNumber(item[40]))stock.YFClose=item[40];//昨结算价
12704
+ if(IFrameSplitOperator.IsNumber(item[41]))stock.OpenPosition=item[41];//开仓量
12705
+ if(IFrameSplitOperator.IsNumber(item[42]))stock.ClosePosition=item[42];//平仓量
12706
+ //1,3,5,10,15 涨速%
12707
+ if(IFrameSplitOperator.IsNumber(item[43]))stock.RSpeed1M=item[43];if(IFrameSplitOperator.IsNumber(item[44]))stock.RSpeed3M=item[44];if(IFrameSplitOperator.IsNumber(item[45]))stock.RSpeed5M=item[45];if(IFrameSplitOperator.IsNumber(item[46]))stock.RSpeed10M=item[46];if(IFrameSplitOperator.IsNumber(item[47]))stock.RSpeed15M=item[47];};this.GetSymbolNoSuffix=function(symbol){var index=symbol.lastIndexOf(".");if(index>0)return symbol.substring(0,index);else return symbol;};this.CancelAutoUpdate=function()//关闭停止更新
12699
12708
  {if(typeof this.AutoUpdateTimer=='number'){clearTimeout(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.AutoUpdate=function(waitTime)//waitTime 更新时间
12700
12709
  {this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;var self=this;var marketStatus=2;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_MARKET_STATUS);if(event&&event.Callback){var sendData={MarketStatus:2};event.Callback(event,sendData,this);if(IFrameSplitOperator.IsNumber(sendData.MarketStatus))marketStatus=sendData.MarketStatus;}if(marketStatus==0||marketStatus==3)return;//闭市,盘后
12701
12710
  var frequency=this.AutoUpdateFrequency;if(marketStatus==1)//盘前
@@ -12708,7 +12717,8 @@ this.AddEventCallback=function(object){if(!object||!object.event||!object.callba
12708
12717
  {this.LastMouseStatus.TooltipStatus=null;if(this.GotoNextItem(1)){this.Draw();this.DelayUpdateStockData();}}else if(wheelValue>0)//上
12709
12718
  {this.LastMouseStatus.TooltipStatus=null;if(this.GotoNextItem(-1)){this.Draw();this.DelayUpdateStockData();}}}else{if(wheelValue<0)//下一页
12710
12719
  {this.LastMouseStatus.TooltipStatus=null;if(this.GotoNextPage(this.PageUpDownCycle)){this.Draw();this.DelayUpdateStockData();}}else if(wheelValue>0)//上一页
12711
- {this.LastMouseStatus.TooltipStatus=null;if(this.GotoPreviousPage(this.PageUpDownCycle)){this.Draw();this.DelayUpdateStockData();}}}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var reportChart=this.GetReportChart();if(!reportChart)return;var keyID=e.keyCode?e.keyCode:e.which;switch(keyID){case 33://page up
12720
+ {this.LastMouseStatus.TooltipStatus=null;if(this.GotoPreviousPage(this.PageUpDownCycle)){this.Draw();this.DelayUpdateStockData();}}}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var reportChart=this.GetReportChart();if(!reportChart)return;var keyID=e.keyCode?e.keyCode:e.which;if(keyID==116)return;//F15刷新不处理
12721
+ switch(keyID){case 33://page up
12712
12722
  if(this.GotoPreviousPage(this.PageUpDownCycle)){this.Draw();this.DelayUpdateStockData();}break;case 34://page down
12713
12723
  if(this.GotoNextPage(this.PageUpDownCycle)){this.Draw();this.DelayUpdateStockData();}break;case 38://up
12714
12724
  var result=this.MoveSelectedRow(-1);if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();}break;case 40://down
@@ -12840,7 +12850,13 @@ KLINE_ID:29,//K线
12840
12850
  TIME_ID:31,//时间 hhmmss / hhmm / hhmmss.fff
12841
12851
  DATE_ID:32,//日期
12842
12852
  CHECKBOX_ID:33,//单选框
12843
- SYMBOL_NAME_ID:99,CUSTOM_STRING_TEXT_ID:100,//自定义字符串文本
12853
+ FUTURES_POSITION_ID:34,//期货持仓量
12854
+ FUTURES_CLOSE_ID:35,//期货结算价
12855
+ FUTURES_YCLOSE_ID:36,//期货昨结算
12856
+ FUTURES_OPEN_POSITION_ID:37,//期货开仓量
12857
+ FUTURES_CLOSE_POSITION_ID:38,//期货平仓量
12858
+ //1,3,5,10,15分钟涨速
12859
+ RISING_SPEED_1M_ID:60,RISING_SPEED_3M_ID:61,RISING_SPEED_5M_ID:62,RISING_SPEED_10M_ID:63,RISING_SPEED_15M_ID:64,SYMBOL_NAME_ID:99,CUSTOM_STRING_TEXT_ID:100,//自定义字符串文本
12844
12860
  CUSTOM_NUMBER_TEXT_ID:101,//自定义数值型
12845
12861
  CUSTOM_DATETIME_TEXT_ID:102,//自定义日期类型
12846
12862
  CUSTOM_ICON_ID:103,//自定义图标
@@ -12848,7 +12864,8 @@ CUSTOM_CHECKBOX_ID:104,//自定义checkbox
12848
12864
  CUSTOM_BUTTON_ID:105,//自定义按钮
12849
12865
  CUSTOM_PROGRESS_ID:106,//进度条
12850
12866
  CUSTOM_LINK_ID:107//链接
12851
- };var MAP_COLUMN_FIELD=new _map2.default([[REPORT_COLUMN_ID.SYMBOL_ID,"Symbol"],[REPORT_COLUMN_ID.NAME_ID,"Name"],[REPORT_COLUMN_ID.PRICE_ID,"Price"],[REPORT_COLUMN_ID.INCREASE_ID,"Increase"],[REPORT_COLUMN_ID.UPDOWN_ID,"UpDown"],[REPORT_COLUMN_ID.VOL_ID,"Vol"],[REPORT_COLUMN_ID.BUY_PRICE_ID,"BuyPrice"],[REPORT_COLUMN_ID.SELL_PRICE_ID,"SellPrice"],[REPORT_COLUMN_ID.AMOUNT_ID,"Amount"],[REPORT_COLUMN_ID.BUY_VOL_ID,"BuyVol"],[REPORT_COLUMN_ID.SELL_VOL_ID,"SellVol"],[REPORT_COLUMN_ID.YCLOSE_ID,"YClose"],[REPORT_COLUMN_ID.OPEN_ID,"Open"],[REPORT_COLUMN_ID.HIGH_ID,"High"],[REPORT_COLUMN_ID.LOW_ID,"Low"],[REPORT_COLUMN_ID.AVERAGE_PRICE_ID,"AvPrice"],[REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID,"OutShares"],[REPORT_COLUMN_ID.TOTAL_SHARES_ID,"TotalShares"],[REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID,"CircMarketValue"],[REPORT_COLUMN_ID.MARKET_VALUE_ID,"MarketValue"],[REPORT_COLUMN_ID.EXCHANGE_RATE_ID,"Exchange"],[REPORT_COLUMN_ID.AMPLITUDE_ID,"Amplitude"],[REPORT_COLUMN_ID.LIMIT_HIGH_ID,"LimitHigh"],[REPORT_COLUMN_ID.LIMIT_LOW_ID,"LimitLow"],[REPORT_COLUMN_ID.VOL_IN_ID,"VolIn"],[REPORT_COLUMN_ID.VOL_OUT_ID,"VolOut"],[REPORT_COLUMN_ID.NAME_EX_ID,"NameEx"],[REPORT_COLUMN_ID.DATE_ID,"Date"]]);function ChartReport(){this.Canvas;//画布
12867
+ //数据对应字段名对照表
12868
+ };var MAP_COLUMN_FIELD=new _map2.default([[REPORT_COLUMN_ID.SYMBOL_ID,"Symbol"],[REPORT_COLUMN_ID.NAME_ID,"Name"],[REPORT_COLUMN_ID.PRICE_ID,"Price"],[REPORT_COLUMN_ID.INCREASE_ID,"Increase"],[REPORT_COLUMN_ID.UPDOWN_ID,"UpDown"],[REPORT_COLUMN_ID.VOL_ID,"Vol"],[REPORT_COLUMN_ID.BUY_PRICE_ID,"BuyPrice"],[REPORT_COLUMN_ID.SELL_PRICE_ID,"SellPrice"],[REPORT_COLUMN_ID.AMOUNT_ID,"Amount"],[REPORT_COLUMN_ID.BUY_VOL_ID,"BuyVol"],[REPORT_COLUMN_ID.SELL_VOL_ID,"SellVol"],[REPORT_COLUMN_ID.YCLOSE_ID,"YClose"],[REPORT_COLUMN_ID.OPEN_ID,"Open"],[REPORT_COLUMN_ID.HIGH_ID,"High"],[REPORT_COLUMN_ID.LOW_ID,"Low"],[REPORT_COLUMN_ID.AVERAGE_PRICE_ID,"AvPrice"],[REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID,"OutShares"],[REPORT_COLUMN_ID.TOTAL_SHARES_ID,"TotalShares"],[REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID,"CircMarketValue"],[REPORT_COLUMN_ID.MARKET_VALUE_ID,"MarketValue"],[REPORT_COLUMN_ID.EXCHANGE_RATE_ID,"Exchange"],[REPORT_COLUMN_ID.AMPLITUDE_ID,"Amplitude"],[REPORT_COLUMN_ID.LIMIT_HIGH_ID,"LimitHigh"],[REPORT_COLUMN_ID.LIMIT_LOW_ID,"LimitLow"],[REPORT_COLUMN_ID.VOL_IN_ID,"VolIn"],[REPORT_COLUMN_ID.VOL_OUT_ID,"VolOut"],[REPORT_COLUMN_ID.NAME_EX_ID,"NameEx"],[REPORT_COLUMN_ID.DATE_ID,"Date"],[REPORT_COLUMN_ID.FUTURES_POSITION_ID,"Position"],[REPORT_COLUMN_ID.FUTURES_CLOSE_ID,"FClose"],[REPORT_COLUMN_ID.FUTURES_YCLOSE_ID,"YFClose"],[REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID,"OpenPosition"],[REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID,"ClosePosition"],[REPORT_COLUMN_ID.RISING_SPEED_1M_ID,"RSpeed1M"],[REPORT_COLUMN_ID.RISING_SPEED_3M_ID,"RSpeed3M"],[REPORT_COLUMN_ID.RISING_SPEED_5M_ID,"RSpeed5M"],[REPORT_COLUMN_ID.RISING_SPEED_10M_ID,"RSpeed10M"],[REPORT_COLUMN_ID.RISING_SPEED_15M_ID,"RSpeed15M"]]);function ChartReport(){this.Canvas;//画布
12852
12869
  this.ChartBorder;//边框信息
12853
12870
  this.ChartFrame;//框架画法
12854
12871
  this.Name;//名称
@@ -12930,7 +12947,7 @@ if(IFrameSplitOperator.IsNumber(item.BlockIndex))colItem.BlockIndex=item.BlockIn
12930
12947
  if(IFrameSplitOperator.IsNumber(item.BlockIndex))colItem.BlockIndex=item.BlockIndex;if(item.ProgressBar)colItem.ProgressBar=CloneData(item.ProgressBar);else colItem.ProgressBar=this.ProgressBarConfig;}else if(item.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID){if(!IFrameSplitOperator.IsNumber(item.DataIndex)&&!IFrameSplitOperator.IsNumber(item.BlockIndex))continue;if(IFrameSplitOperator.IsNumber(item.DataIndex))colItem.DataIndex=item.DataIndex;//数据在扩展数据索引列
12931
12948
  if(IFrameSplitOperator.IsNumber(item.BlockIndex))colItem.BlockIndex=item.BlockIndex;if(item.Link)colItem.Link=CloneData(item.Link);else colItem.Link=this.LinkConfig;}else if(item.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){}else if(item.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){if(IFrameSplitOperator.IsBool(item.IsDrawArea))colItem.IsDrawArea=item.IsDrawArea;}else if(item.Type==REPORT_COLUMN_ID.TIME_ID){if(IFrameSplitOperator.IsNumber(item.ValueType))colItem.ValueType=item.ValueType;}else if(item.Type==REPORT_COLUMN_ID.DATE_ID){if(IFrameSplitOperator.IsNumber(item.FormatType))colItem.FormatType=item.FormatType;}this.Column.push(colItem);}};this.SwapColumn=function(leftIndex,rightIndex){if(!IFrameSplitOperator.IsNumber(leftIndex)||!IFrameSplitOperator.IsNumber(rightIndex))return false;var count=this.Column.length;if(leftIndex<0||leftIndex>=count)return false;if(rightIndex<0||rightIndex>=count)return false;if(leftIndex==rightIndex)return;var tempItem=this.Column[leftIndex];this.Column[leftIndex]=this.Column[rightIndex];this.Column[rightIndex]=tempItem;return true;};this.DeleteColumn=function(index){if(!IFrameSplitOperator.IsNonEmptyArray(this.Column))return false;if(index<0||index>=this.Column.length)return false;this.Column.splice(index,1);return true;};this.GetXScrollPos=function(){return this.Data.XOffset;};this.GetXScrollRange=function(){var maxOffset=this.Column.length-this.FixedColumn-3;if(maxOffset<0)return 0;return maxOffset;};this.GetYScrollRange=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return 0;var maxOffset=this.Data.Data.length-this.RowCount;return maxOffset;};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:REPORT_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Index,MaxText:"8888"},{Type:REPORT_COLUMN_ID.SYMBOL_ID,Title:"代码",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Symbol,MaxText:"888888"},{Type:REPORT_COLUMN_ID.NAME_ID,Title:"名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎0"},{Type:REPORT_COLUMN_ID.NAME_EX_ID,Title:"名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.SYMBOL_NAME_ID,Title:"股票名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎0"},{Type:REPORT_COLUMN_ID.INCREASE_ID,Title:"涨幅%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.PRICE_ID,Title:"现价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.AMPLITUDE_ID,Title:"振幅%",TextAlign:"right",Width:null,MaxText:"888.88"},{Type:REPORT_COLUMN_ID.BUY_PRICE_ID,Title:"买价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.SELL_PRICE_ID,Title:"卖价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.AVERAGE_PRICE_ID,Title:"均价",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.OPEN_ID,Title:"今开",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.HIGH_ID,Title:"最高",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.LOW_ID,Title:"最低",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.YCLOSE_ID,Title:"昨收",TextAlign:"right",Width:null,MaxText:"88888.88"},{Type:REPORT_COLUMN_ID.VOL_ID,Title:"总量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.AMOUNT_ID,Title:"总金额",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Amount,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.EXCHANGE_RATE_ID,Title:"换手%",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"88.88"},{Type:REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID,Title:"流通股本",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.TOTAL_SHARES_ID,Title:"总股本",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID,Title:"流通市值",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.MARKET_VALUE_ID,Title:"总市值",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.VOL_IN_ID,Title:"内盘",TextAlign:"right",TextColor:g_JSChartResource.Report.DownTextColor,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.VOL_OUT_ID,Title:"外盘",TextAlign:"right",TextColor:g_JSChartResource.Report.UpTextColor,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.CLOSE_LINE_ID,Title:"走势",TextAlign:"center",TextColor:g_JSChartResource.Report.CloseLineColor,Width:null,MaxText:"88888.88888"},{Type:REPORT_COLUMN_ID.BUY_VOL_ID,Title:"买量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},{Type:REPORT_COLUMN_ID.SELL_VOL_ID,Title:"卖量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888.8擎"},//{ Type:REPORT_COLUMN_ID.MULTI_BAR_ID, Title:"柱子", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
12932
12949
  //{ Type:REPORT_COLUMN_ID.CENTER_BAR_ID, Title:"柱子2", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
12933
- {Type:REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CUSTOM_ICON_ID,Title:" ",TextAlign:"left",FixedWidth:20,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.KLINE_ID,Title:"K线",TextAlign:"left",FixedWidth:50,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"left",ValueType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"99:99:99.999"},{Type:REPORT_COLUMN_ID.DATE_ID,Title:"日期",TextAlign:"left",FormatType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_BUTTON_ID,Title:"",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID,Title:"进度条",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID,Title:"链接地址",TextAlign:"center",MaxText:"擎擎擎擎擎"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.ClipClient=function(){this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-this.RectClient.Top);//this.Canvas.stroke(); //调试用
12950
+ {Type:REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CUSTOM_ICON_ID,Title:" ",TextAlign:"left",FixedWidth:20,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.KLINE_ID,Title:"K线",TextAlign:"left",FixedWidth:50,TextColor:g_JSChartResource.Report.FieldColor.Text},{Type:REPORT_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"left",ValueType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"99:99:99.999"},{Type:REPORT_COLUMN_ID.DATE_ID,Title:"日期",TextAlign:"left",FormatType:0,TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999-99-99"},{Type:REPORT_COLUMN_ID.CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID,Title:"",TextAlign:"center",FixedWidth:20*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_BUTTON_ID,Title:"",TextAlign:"center",FixedWidth:50*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID,Title:"进度条",TextAlign:"center",FixedWidth:100*GetDevicePixelRatio()},{Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID,Title:"链接地址",TextAlign:"center",MaxText:"擎擎擎擎擎"},{Type:REPORT_COLUMN_ID.FUTURES_POSITION_ID,Title:"持仓量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Vol,Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_CLOSE_ID,Title:"结算价",TextAlign:"right",Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_YCLOSE_ID,Title:"昨结算价",TextAlign:"right",Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID,Title:"开仓量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID,Title:"平仓量",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,Width:null,MaxText:"8888888"},{Type:REPORT_COLUMN_ID.RISING_SPEED_1M_ID,Title:"涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_3M_ID,Title:"3分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_5M_ID,Title:"5分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_10M_ID,Title:"10分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"},{Type:REPORT_COLUMN_ID.RISING_SPEED_15M_ID,Title:"15分涨速%",TextAlign:"right",Width:null,MaxText:"-888.88"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.ClipClient=function(){this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-this.RectClient.Top);//this.Canvas.stroke(); //调试用
12934
12951
  this.Canvas.clip();};this.Draw=function(lastMouseStatus){this.ShowSymbol=[];this.TooltipRect=[];this.ButtonRect=[];this.DevicePixelRatio=GetDevicePixelRatio();this.LastMouseStatus=lastMouseStatus;if(this.GlobalOption)this.GlobalOption.FlashBGCount=0;if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.ClipClient();this.DrawHeader();this.DrawBody();this.Canvas.restore();if(this.Tab&&this.BottomToolbarHeight>0){var bottom=this.ChartBorder.GetBottom();this.Tab.DrawTab(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);this.Tab.DrawScrollbar(this.RectClient.Left,bottom-this.BottomToolbarHeight,this.RectClient.Right,bottom);}this.ClipClient();this.DrawBorder();this.Canvas.restore();this.DrawDragRow();if(this.VScrollbar){var bottom=this.ChartBorder.GetBottom();this.VScrollbar.DrawScrollbar(this.RectClient.Left,this.RectClient.Top+this.HeaderHeight,this.RectClient.Right,bottom-this.BottomToolbarHeight-4);}this.LastMouseStatus=null;this.SizeChange=false;};//更新缓存变量
12935
12952
  this.UpdateCacheData=function(){this.RectClient.Left=this.ChartBorder.GetLeft();this.RectClient.Right=this.ChartBorder.GetRight();this.RectClient.Top=this.ChartBorder.GetTop();this.RectClient.Bottom=this.ChartBorder.GetBottom()-this.BottomToolbarHeight;};this.GetPageSize=function(recalculate)//recalculate 是否重新计算
12936
12953
  {if(recalculate)this.CalculateSize();var size=this.RowCount;return size;};this.GetCurrentPageStatus=function()//{ Start:起始索引, End:结束索引(数据), PageSize:页面可以显示几条记录, IsEnd:是否是最后一页, IsSinglePage:是否只有一页数据}
@@ -12952,7 +12969,8 @@ drawInfo.Text=(index+1).toString();}else if(column.Type==REPORT_COLUMN_ID.SYMBOL
12952
12969
  if(stock&&stock.NameEx){var nameEx=stock.NameEx;drawInfo.Text=this.TextEllipsis(nameEx.Text,textWidth,column.MaxText);drawInfo.TextColor=this.GetNameColor(column,data.Symbol,rowType);if(nameEx.Symbol)drawInfo.Symbol=nameEx.Symbol;}}else if(column.Type==REPORT_COLUMN_ID.PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.Price,stock,data,drawInfo,{LimitBG:true});this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.OPEN_ID){//如果行情开盘价为涨停价或跌停价,则对内容加灰框
12953
12970
  if(stock){this.DrawLimitPriceBorder(stock.Open,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.Open,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.HIGH_ID){//如果行情最高价为涨停价,则对内容加灰框
12954
12971
  if(stock){this.DrawLimitPriceBorder(stock.High,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.High,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.LOW_ID){//如果行情最低价为跌停价,则对内容加灰框
12955
- if(stock){this.DrawLimitPriceBorder(stock.Low,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.Low,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.YCLOSE_ID){if(stock)this.GetPriceDrawInfo(stock.YClose,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.BuyPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.SellPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.AVERAGE_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.AvPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.EXCHANGE_RATE_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Exchange))drawInfo.Text=stock.Exchange.toFixed(2);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.BuyVol))drawInfo.Text=this.FormatVolString(stock.BuyVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.SellVol))drawInfo.Text=this.FormatVolString(stock.SellVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Vol))drawInfo.Text=this.FormatVolString(stock.Vol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_IN_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolIn))drawInfo.Text=this.FormatVolString(stock.VolIn);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_OUT_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolOut))drawInfo.Text=this.FormatVolString(stock.VolOut);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.TOTAL_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.TotalShares))drawInfo.Text=this.FormatVolString(stock.TotalShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.OutShares))drawInfo.Text=this.FormatVolString(stock.OutShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.AMOUNT_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName]))drawInfo.Text=this.FormatVolString(stock[fieldName]);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.INCREASE_ID||column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID||column.Type==REPORT_COLUMN_ID.UPDOWN_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID){this.GetCustomStringDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID){this.GetCustomNumberDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID){this.GetCustomDateTimeDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.GetCustomIconDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;if(stock)this.DrawLine(stock.CloseLine,column,rtItem);}else if(column.Type==REPORT_COLUMN_ID.KLINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawKLine(stock.KLine,column,rtItem,data);}else if(column.Type==REPORT_COLUMN_ID.TIME_ID){this.FormaTimeDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.DATE_ID){this.FormaDateDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;drawInfo.Checked=false;drawInfo.Enable=true;drawInfo.CheckBox=this.CheckBoxConfig;drawInfo.Data=stock;if(stock&&IFrameSplitOperator.IsBool(stock.Checked))drawInfo.Checked=stock.Checked;}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomCheckBoxDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomButtonDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomProgressBarDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID){this.GetCustomLinkDrawInfo(data,column,drawInfo);}//拖拽行颜色
12972
+ if(stock){this.DrawLimitPriceBorder(stock.Low,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.Low,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.YCLOSE_ID){if(stock)this.GetPriceDrawInfo(stock.YClose,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.BuyPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_ID||column.Type==REPORT_COLUMN_ID.FUTURES_YCLOSE_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];this.GetPriceDrawInfo(value,stock,data,drawInfo);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.SellPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.AVERAGE_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.AvPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.EXCHANGE_RATE_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Exchange))drawInfo.Text=stock.Exchange.toFixed(2);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.BuyVol))drawInfo.Text=this.FormatVolString(stock.BuyVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.SellVol))drawInfo.Text=this.FormatVolString(stock.SellVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Vol))drawInfo.Text=this.FormatVolString(stock.Vol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_IN_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolIn))drawInfo.Text=this.FormatVolString(stock.VolIn);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_OUT_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolOut))drawInfo.Text=this.FormatVolString(stock.VolOut);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.TOTAL_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.TotalShares))drawInfo.Text=this.FormatVolString(stock.TotalShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.OutShares))drawInfo.Text=this.FormatVolString(stock.OutShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.AMOUNT_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName]))drawInfo.Text=this.FormatVolString(stock[fieldName]);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.INCREASE_ID||column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID||column.Type==REPORT_COLUMN_ID.UPDOWN_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_1M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_3M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_5M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_10M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_15M_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.FUTURES_POSITION_ID||column.Type==REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID||column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID){//持仓量原始值输出
12973
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];drawInfo.Text=value.toFixed(0);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID){this.GetCustomStringDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID){this.GetCustomNumberDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID){this.GetCustomDateTimeDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.GetCustomIconDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;if(stock)this.DrawLine(stock.CloseLine,column,rtItem);}else if(column.Type==REPORT_COLUMN_ID.KLINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawKLine(stock.KLine,column,rtItem,data);}else if(column.Type==REPORT_COLUMN_ID.TIME_ID){this.FormaTimeDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.DATE_ID){this.FormaDateDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;drawInfo.Checked=false;drawInfo.Enable=true;drawInfo.CheckBox=this.CheckBoxConfig;drawInfo.Data=stock;if(stock&&IFrameSplitOperator.IsBool(stock.Checked))drawInfo.Checked=stock.Checked;}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomCheckBoxDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomButtonDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomProgressBarDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID){this.GetCustomLinkDrawInfo(data,column,drawInfo);}//拖拽行颜色
12956
12974
  if(rowType==3)drawInfo.TextColor=this.DragRowTextColor;if(drawInfo.Symbol){this.DrawItemTextEx(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.DrawIconItem(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID||column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){this.DrawCheckbox(drawInfo,left,top,itemWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID){this.DrawButton(drawInfo,left,top,itemWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID){this.DrawProgressBar(drawInfo,left,top,itemWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID){this.DrawLinkText(drawInfo,x,top,textWidth);}else{if(data.FlashBG&&data.FlashBG.Data&&column.ID!=undefined){if(data.FlashBG.Data.has(column.ID)){var flashItem=data.FlashBG.Data.get(column.ID);var drawBG={Rect:drawInfo.Rect,BGColor:flashItem.Color};--flashItem.Count;this.DrawItemBG(drawBG);if(this.GlobalOption)++this.GlobalOption.FlashBGCount;}}this.DrawItemBG(drawInfo);if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)this.DrawCustomText(drawInfo,column,x,top,textWidth);else this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,x,top,textWidth,drawInfo.BGColor);}//tooltip提示
12957
12975
  if(drawInfo.Tooltip){//Type:1=数据截断
12958
12976
  var tooltipData={Rect:rtItem,Stock:stock,Index:index,Column:column,RowType:rowType,Type:drawInfo.Tooltip.Type,Data:drawInfo.Tooltip.Data};this.TooltipRect.push(tooltipData);}if(drawInfo.Botton){var buttonData={Stock:stock,Index:index,ColumnIndex:columnIndex,Column:column,Rect:drawInfo.Botton.Rect,Type:drawInfo.Botton.Type,Data:drawInfo.Data};this.ButtonRect.push(buttonData);}};this.DrawCustomText=function(drawInfo,column,left,top,cellWidth){if(!drawInfo.Text)return;var text=drawInfo.Text;var x=left;if(drawInfo.TextAlign=='center'){x=left+cellWidth/2;this.Canvas.textAlign="center";}else if(drawInfo.TextAlign=='right'){x=left+cellWidth-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textWidth=this.Canvas.measureText(text).width+1;var bClip=false;if(textWidth>=cellWidth)//长度超过单元格 裁剪
@@ -12968,7 +12986,9 @@ switch(column.ColorType){case 1:drawInfo.TextColor=this.GetUpDownColor(value,0);
12968
12986
  {this.GetCustomIconData(column,data.Symbol,drawInfo,data);return;}};this.GetCustomCheckBoxDrawInfo=function(data,column,drawInfo){var checkData=this.GetExtendData(data,column);if(!checkData)return;if(!IFrameSplitOperator.IsBool(checkData.Checked))return;drawInfo.Checked=checkData.Checked;drawInfo.Enable=true;drawInfo.Data=checkData;if(IFrameSplitOperator.IsBool(checkData.DisableCheckBox))drawInfo.Enable=!checkData.DisableCheckBox;drawInfo.CheckBox=column.CheckBox;};this.GetCustomButtonDrawInfo=function(data,column,drawInfo){var buttonData=this.GetExtendData(data,column);if(!buttonData)return;drawInfo.Text=buttonData.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=buttonData;if(IFrameSplitOperator.IsBool(buttonData.Enable))drawInfo.Enable=buttonData.Enable;};this.GetCustomProgressBarDrawInfo=function(data,column,drawInfo){var barData=this.GetExtendData(data,column);if(!barData)return;drawInfo.Text=barData.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=barData.Value;//占比
12969
12987
  drawInfo.Data=barData;if(IFrameSplitOperator.IsBool(barData.Enable))drawInfo.Enable=barData.Enable;if(barData.TextColor)drawInfo.TextColor=barData.TextColor;if(barData.BarColor)drawInfo.BarColor=barData.BarColor;if(barData.BGColor)drawInfo.BGColor=barData.BGColor;};this.GetCustomLinkDrawInfo=function(data,column,drawInfo){var linkData=this.GetExtendData(data,column);if(!linkData)return;drawInfo.Text=linkData.Title;drawInfo.Link=column.Link;drawInfo.Enable=true;drawInfo.Data=linkData;drawInfo.MaxText=column.MaxText;if(IFrameSplitOperator.IsBool(linkData.Enable))drawInfo.Enable=linkData.Enable;if(linkData.TextColor)drawInfo.TextColor=linkData.TextColor;};this.FormaTimeDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Time))return;if(column.ValueType==0)//0=hhmm 1=hhmmss 2=hhmmss.fff
12970
12988
  {drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM");}else if(column.ValueType==1){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS");}else if(column.ValueType==2){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS.fff");}};this.FormaDateDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Date))return;if(column.FormatType==0)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");else if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");else if(column.FormatType==2)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");else if(column.FormatType==3)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");};//自定义图标
12971
- this.GetCustomIconData=function(columnInfo,symbol,drawInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_DRAW_CUSTOM_ICON);if(!event||!event.Callback)return false;var sendData={Symbol:symbol,Column:columnInfo,Data:data,Out:{Text:null,TextColor:null,TextAlign:null,Font:null}};event.Callback(event,sendData,this);if(sendData.Out.Text)drawInfo.Text=sendData.Out.Text;if(sendData.Out.TextColor)drawInfo.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)drawInfo.TextAlign=sendData.Out.TextAlign;if(sendData.Out.BGColor)drawInfo.BGColor=sendData.Out.BGColor;if(sendData.Out.Font)drawInfo.Font=sendData.Out.Font;return true;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo,option){if(!IFrameSplitOperator.IsNumber(price))return false;drawInfo.Text=price.toFixed(data.Decimal);if(!IFrameSplitOperator.IsNumber(stock.YClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(price,stock.YClose);if(option&&option.LimitBG){if(IFrameSplitOperator.IsNumber(stock.LimitHigh)){if(price>=stock.LimitHigh){drawInfo.BGColor=this.LimitUpBGColor;drawInfo.TextColor=this.LimitTextColor;}}if(IFrameSplitOperator.IsNumber(stock.LimitLow)){if(price<=stock.LimitLow){drawInfo.BGColor=this.LimitDownBGColor;drawInfo.TextColor=this.LimitTextColor;}}}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchagneColor;};//单独处理成交量显示
12989
+ this.GetCustomIconData=function(columnInfo,symbol,drawInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_DRAW_CUSTOM_ICON);if(!event||!event.Callback)return false;var sendData={Symbol:symbol,Column:columnInfo,Data:data,Out:{Text:null,TextColor:null,TextAlign:null,Font:null}};event.Callback(event,sendData,this);if(sendData.Out.Text)drawInfo.Text=sendData.Out.Text;if(sendData.Out.TextColor)drawInfo.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)drawInfo.TextAlign=sendData.Out.TextAlign;if(sendData.Out.BGColor)drawInfo.BGColor=sendData.Out.BGColor;if(sendData.Out.Font)drawInfo.Font=sendData.Out.Font;return true;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo,option){if(!IFrameSplitOperator.IsNumber(price))return false;drawInfo.Text=price.toFixed(data.Decimal);var yClose=null;if(stock.PriceColorType===1)//昨结算价 计算颜色
12990
+ {if(IFrameSplitOperator.IsNumber(stock.YFClose))yClose=stock.YFClose;}else//昨收价 计算颜色
12991
+ {if(IFrameSplitOperator.IsNumber(stock.YClose))yClose=stock.YClose;}if(!IFrameSplitOperator.IsNumber(yClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(price,yClose);if(option&&option.LimitBG){if(IFrameSplitOperator.IsNumber(stock.LimitHigh)){if(price>=stock.LimitHigh){drawInfo.BGColor=this.LimitUpBGColor;drawInfo.TextColor=this.LimitTextColor;}}if(IFrameSplitOperator.IsNumber(stock.LimitLow)){if(price<=stock.LimitLow){drawInfo.BGColor=this.LimitDownBGColor;drawInfo.TextColor=this.LimitTextColor;}}}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchagneColor;};//单独处理成交量显示
12972
12992
  this.FormatVolString=function(value,languageID){return IFrameSplitOperator.FormatVolString(value,languageID);};this.DrawItemBG=function(drawInfo){if(drawInfo.BGColor&&drawInfo.Rect)//绘制背景色
12973
12993
  {var rtItem=drawInfo.Rect;this.Canvas.fillStyle=drawInfo.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);//画一个背景色, 不然是一个黑的背景
12974
12994
  }};this.DrawItemText=function(text,textColor,textAlign,left,top,width,bgColor){if(!text)return;var x=left;if(textAlign=='center'){x=left+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=left+width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textWidth=this.Canvas.measureText(text).width+1;var bClip=false;if(textWidth>=width)//长度超过单元格 裁剪
@@ -13732,9 +13752,11 @@ Top:25,Bottom:25,AutoLeft:{Blank:10,MinWidth:60},AutoRight:{Blank:10,MinWidth:60
13732
13752
  jones_2000@163.com
13733
13753
 
13734
13754
  内置弹出键盘精灵
13735
- */function JSPopKeyboard(){this.DivDialog=null;this.DragTitle=null;this.InputDOM=null;this.Title="HQChart 键盘精灵";this.ID=Guid();this.Keyboard={Option:JSPopKeyboard.GetOption(),JSChart:null};this.Inital=function(){var _this88=this;window.addEventListener('mousedown',function(e){_this88.OnWindowMouseDown(e);});};this.OnWindowMouseDown=function(e){if(!this.DivDialog)return;console.log("[JSPopKeyboard::OnWindowMouseDown] e=",e);if(!this.DivDialog.contains(e.target)){this.Hide();}};this.Create=function(){var _this89=this;var divDom=document.createElement('div');divDom.className='jchart_pop_keyboard_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_keyboard_Title_Div';divTitle.onmousedown=function(e){_this89.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_keyboard_Title";divInfoText.innerText=this.Title;this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_keyboard_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this89.Hide();};divTitle.appendChild(divClose);var divInput=document.createElement("div");divInput.className='jschart_keyboard_Input_Div';divDom.appendChild(divInput);var input=document.createElement("input");input.className="jschart_keyboard_input";input.addEventListener("keydown",function(event){_this89.OnKeydown(event);});input.addEventListener("keyup",function(event){_this89.OnKeyup(event);});divInput.appendChild(input);var divChart=document.createElement("div");divChart.className="jschart_keyboard_Chart_Div";divDom.appendChild(divChart);this.DivDialog=divDom;this.InputDOM=input;var chart=JSKeyboardChart.Init(divChart);this.Keyboard.JSChart=chart;this.Keyboard.Option.OnCreatedCallback=function(chart){_this89.OnCreateHQChart(chart);};chart.SetOption(this.Keyboard.Option);//设置K线配置
13755
+ */function JSPopKeyboard(){this.DivDialog=null;this.DragTitle=null;this.InputDOM=null;this.Title="HQChart 键盘精灵";this.ID=Guid();this.ActiveDOM=null;//启动键盘精灵是的控件
13756
+ this.Keyboard={Option:JSPopKeyboard.GetOption(),JSChart:null};this.Inital=function(){var _this88=this;window.addEventListener('mousedown',function(e){_this88.OnWindowMouseDown(e);});};this.OnWindowMouseDown=function(e){if(!this.DivDialog)return;console.log("[JSPopKeyboard::OnWindowMouseDown] e=",e);if(!this.DivDialog.contains(e.target)){this.Hide();}};this.Create=function(){var _this89=this;var divDom=document.createElement('div');divDom.className='jchart_pop_keyboard_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_keyboard_Title_Div';divTitle.onmousedown=function(e){_this89.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_keyboard_Title";divInfoText.innerText=this.Title;this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_keyboard_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this89.Hide();};divTitle.appendChild(divClose);var divInput=document.createElement("div");divInput.className='jschart_keyboard_Input_Div';divDom.appendChild(divInput);var input=document.createElement("input");input.className="jschart_keyboard_input";input.addEventListener("keydown",function(event){_this89.OnKeydown(event);});input.addEventListener("keyup",function(event){_this89.OnKeyup(event);});divInput.appendChild(input);var divChart=document.createElement("div");divChart.className="jschart_keyboard_Chart_Div";divDom.appendChild(divChart);this.DivDialog=divDom;this.InputDOM=input;var chart=JSKeyboardChart.Init(divChart);this.Keyboard.JSChart=chart;this.Keyboard.Option.OnCreatedCallback=function(chart){_this89.OnCreateHQChart(chart);};chart.SetOption(this.Keyboard.Option);//设置K线配置
13736
13757
  chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP,callback:function callback(event,data,chart){_this89.OnChartMouseUp(event,data,chart);}});document.body.appendChild(divDom);};this.OnCreateHQChart=function(chart){};this.OnKeydown=function(event){var aryKey=new _set2.default([40,38,13,33,34]);if(aryKey.has(event.keyCode)){this.Keyboard.JSChart.OnKeyDown(event);}if(event.keyCode==27){this.Hide();}};this.OnKeyup=function(event){var code=event.keyCode;if(code>=48&&code<=57||code>=65&&code<=90||code>=97&&code<=122||code==8){var strText=this.InputDOM.value;strText=strText.toUpperCase();if(strText.length==0){this.Hide();}else{this.Keyboard.JSChart.Search(strText);}}};this.OnMouseDownTitle=function(e){var _this90=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this90.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this90.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.SetSymbolData=function(data){if(!this.Keyboard.JSChart)return false;this.Keyboard.JSChart.SetSymbolData(data);};this.Show=function(){if(!this.DivDialog)return;//显示在右下方
13737
- var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Hide=function(){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.InputDOM.value="";this.Keyboard.JSChart.ClearSearch();};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnGlobalKeydown=function(event){if(!this.DivDialog)return;var code=event.keyCode;if(!this.IsShow()&&code>=48&&code<=57||code>=65&&code<=90||code>=97&&code<=122){this.Show();this.InputDOM.focus();}else if(code==27&&this.IsShow()){this.Hide();}};this.OnGlobalMouseDown=function(event){if(!this.DivDialog)return;if(this.DivDialog.style.display=='none')return;if(!this.DivDialog.contains(event.target)){this.Hide();}};this.OnChartMouseUp=function(event,data,chart){this.InputDOM.focus();};}JSPopKeyboard.GetOption=function(){var option={Type:'键盘精灵',//创建图形类型
13758
+ var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Hide=function(){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.InputDOM.value="";this.Keyboard.JSChart.ClearSearch();if(this.ActiveDOM){if(this.ActiveDOM.focus)this.ActiveDOM.focus();//把焦点换回去
13759
+ this.ActiveDOM=null;}};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnGlobalKeydown=function(event){if(!this.DivDialog)return;var code=event.keyCode;if(!this.IsShow()&&code>=48&&code<=57||code>=65&&code<=90||code>=97&&code<=122){this.Show();this.InputDOM.focus();if(event.target)this.ActiveDOM=event.target;}else if(code==27&&this.IsShow()){this.Hide();}};this.OnGlobalMouseDown=function(event){if(!this.DivDialog)return;if(this.DivDialog.style.display=='none')return;if(!this.DivDialog.contains(event.target)){this.Hide();}};this.OnChartMouseUp=function(event,data,chart){this.InputDOM.focus();};}JSPopKeyboard.GetOption=function(){var option={Type:'键盘精灵',//创建图形类型
13738
13760
  Border://边框
13739
13761
  {Left:1,//左边间距
13740
13762
  Right:1,//右边间距
@@ -13753,7 +13775,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13753
13775
  this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
13754
13776
  * 版本信息输出
13755
13777
  *
13756
- */var HQCHART_VERSION="1.1.13716";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13778
+ */var HQCHART_VERSION="1.1.13724";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13757
13779
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13758
13780
  // BaseIndex:BaseIndex,
13759
13781
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.13717",
3
+ "version": "1.1.13725",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -49429,8 +49429,9 @@ HQData.Report_RequestStockListData=function(data, callback)
49429
49429
  {
49430
49430
  var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
49431
49431
  var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
49432
-
49433
- hqchartData.data.push([symbol,name]);
49432
+ var item=[symbol,name];
49433
+ //item[88]=1;
49434
+ hqchartData.data.push(item);
49434
49435
  }
49435
49436
  }
49436
49437
 
@@ -49527,6 +49528,20 @@ HQData.Report_RequestStockData=function(data, callback)
49527
49528
  newItem[27]=symbolEx;
49528
49529
 
49529
49530
 
49531
+ newItem[38]=HQData.GetRandomTestData(10,20000); //持仓量
49532
+ newItem[39]=HQData.GetRandomTestData(10,100); //结算价
49533
+ newItem[40]=HQData.GetRandomTestData(10,100); //昨结算价
49534
+ newItem[41]=HQData.GetRandomTestData(10,20000); //开仓量
49535
+ newItem[42]=HQData.GetRandomTestData(10,20000); //平仓量
49536
+
49537
+ //1,3,5,10,15 涨速%
49538
+ newItem[43]=HQData.GetRandomTestData(-90,90);
49539
+ newItem[44]=HQData.GetRandomTestData(-90,90);
49540
+ newItem[45]=HQData.GetRandomTestData(-90,90);
49541
+ newItem[46]=HQData.GetRandomTestData(-90,90);
49542
+ newItem[47]=HQData.GetRandomTestData(-90,90);
49543
+
49544
+
49530
49545
  //扩展数据 (定制数据)
49531
49546
  var extendData=[];
49532
49547
  newItem[30]=extendData;
@@ -49729,3 +49744,11 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
49729
49744
  }
49730
49745
 
49731
49746
 
49747
+ HQData.GetRandomTestData=function(min, max) //测试数据
49748
+ {
49749
+ min = Math.ceil(min);
49750
+ max = Math.floor(max);
49751
+ return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
49752
+ }
49753
+
49754
+
@@ -17,6 +17,7 @@ function JSPopKeyboard()
17
17
  this.InputDOM=null;
18
18
  this.Title="HQChart 键盘精灵"
19
19
  this.ID=Guid();
20
+ this.ActiveDOM=null; //启动键盘精灵是的控件
20
21
 
21
22
  this.Keyboard=
22
23
  {
@@ -212,6 +213,11 @@ function JSPopKeyboard()
212
213
  this.DivDialog.style.visibility='hidden';
213
214
  this.InputDOM.value="";
214
215
  this.Keyboard.JSChart.ClearSearch();
216
+ if (this.ActiveDOM)
217
+ {
218
+ if (this.ActiveDOM.focus) this.ActiveDOM.focus(); //把焦点换回去
219
+ this.ActiveDOM=null;
220
+ }
215
221
  }
216
222
 
217
223
  this.IsShow=function()
@@ -229,6 +235,7 @@ function JSPopKeyboard()
229
235
  {
230
236
  this.Show();
231
237
  this.InputDOM.focus();
238
+ if (event.target) this.ActiveDOM=event.target;
232
239
  }
233
240
  else if (code==27 && this.IsShow())
234
241
  {
@@ -35988,6 +35988,7 @@ function ChartClipColorStick()
35988
35988
 
35989
35989
  this.BaseValue=0;
35990
35990
  this.Super_GetMaxMin=this.GetMaxMin; //父类的方法
35991
+ this.ValueRange; //{ Max:, Min: } //固定最大最小值
35991
35992
 
35992
35993
  this.SetOption=function(option)
35993
35994
  {
@@ -35999,6 +36000,7 @@ function ChartClipColorStick()
35999
36000
  if (option.UpDiffColor) this.UpDiffColor=option.UpDiffColor;
36000
36001
  if (option.BaseLineColor) this.BaseLineColor=option.BaseLineColor;
36001
36002
  if (IFrameSplitOperator.IsNumber(option.BaseValue)) this.BaseValue=option.BaseValue;
36003
+ if (option.ValueRange) this.ValueRange=option.ValueRange;
36002
36004
  }
36003
36005
 
36004
36006
  this.Draw=function()
@@ -36202,6 +36204,12 @@ function ChartClipColorStick()
36202
36204
  {
36203
36205
  if (!IFrameSplitOperator.IsNumber(this.BaseValue) || this.BaseValue==0)
36204
36206
  return this.Super_GetMaxMin();
36207
+
36208
+ if (this.ValueRange) //固定最大最小
36209
+ {
36210
+ var range={ Min:this.ValueRange.Min, Max:this.ValueRange.Max };
36211
+ return range;
36212
+ }
36205
36213
 
36206
36214
  var xPointCount=this.ChartFrame.XPointCount;
36207
36215
  var start=this.Data.DataOffset;
@@ -1102,6 +1102,7 @@ function JSReportChartContainer(uielement)
1102
1102
 
1103
1103
  stock.Symbol=this.GetSymbolNoSuffix(symbol);
1104
1104
  stock.Name=item[1];
1105
+ if (IFrameSplitOperator.IsNumber(item[88])) stock.PriceColorType=item[88];
1105
1106
  this.ReadStockJsonData(stock, item);
1106
1107
  }
1107
1108
  }
@@ -1348,6 +1349,8 @@ function JSReportChartContainer(uielement)
1348
1349
  //18=内盘 19=外盘 20=现量 21=涨幅% 22=涨跌 23=换手率% 24=振幅% 25=流通市值 26=总市值
1349
1350
  //30=全局扩展数据 31=当前板块扩展数据
1350
1351
 
1352
+ //88=价格颜色类型
1353
+
1351
1354
  if (IFrameSplitOperator.IsString(item[1])) stock.Name=item[1];
1352
1355
  if (IFrameSplitOperator.IsNumber(item[2])) stock.YClose=item[2];
1353
1356
  if (IFrameSplitOperator.IsNumber(item[3])) stock.Open=item[3];
@@ -1429,6 +1432,19 @@ function JSReportChartContainer(uielement)
1429
1432
  if (IFrameSplitOperator.IsNumber(item[36])) stock.Date=item[36]; //日期
1430
1433
 
1431
1434
  if (IFrameSplitOperator.IsBool(item[37])) stock.Checked=item[37];
1435
+
1436
+ if (IFrameSplitOperator.IsNumber(item[38])) stock.Position=item[38]; //持仓量
1437
+ if (IFrameSplitOperator.IsNumber(item[39])) stock.FClose=item[39]; //结算价
1438
+ if (IFrameSplitOperator.IsNumber(item[40])) stock.YFClose=item[40]; //昨结算价
1439
+ if (IFrameSplitOperator.IsNumber(item[41])) stock.OpenPosition=item[41]; //开仓量
1440
+ if (IFrameSplitOperator.IsNumber(item[42])) stock.ClosePosition=item[42]; //平仓量
1441
+
1442
+ //1,3,5,10,15 涨速%
1443
+ if (IFrameSplitOperator.IsNumber(item[43])) stock.RSpeed1M=item[43];
1444
+ if (IFrameSplitOperator.IsNumber(item[44])) stock.RSpeed3M=item[44];
1445
+ if (IFrameSplitOperator.IsNumber(item[45])) stock.RSpeed5M=item[45];
1446
+ if (IFrameSplitOperator.IsNumber(item[46])) stock.RSpeed10M=item[46];
1447
+ if (IFrameSplitOperator.IsNumber(item[47])) stock.RSpeed15M=item[47];
1432
1448
  }
1433
1449
 
1434
1450
 
@@ -1613,6 +1629,8 @@ function JSReportChartContainer(uielement)
1613
1629
  if (!reportChart) return;
1614
1630
 
1615
1631
  var keyID = e.keyCode ? e.keyCode :e.which;
1632
+ if (keyID==116) return; //F15刷新不处理
1633
+
1616
1634
  switch(keyID)
1617
1635
  {
1618
1636
  case 33: //page up
@@ -3920,6 +3938,20 @@ var REPORT_COLUMN_ID=
3920
3938
 
3921
3939
  CHECKBOX_ID:33, //单选框
3922
3940
 
3941
+ FUTURES_POSITION_ID:34, //期货持仓量
3942
+ FUTURES_CLOSE_ID:35, //期货结算价
3943
+ FUTURES_YCLOSE_ID:36, //期货昨结算
3944
+ FUTURES_OPEN_POSITION_ID:37, //期货开仓量
3945
+ FUTURES_CLOSE_POSITION_ID:38, //期货平仓量
3946
+
3947
+
3948
+ //1,3,5,10,15分钟涨速
3949
+ RISING_SPEED_1M_ID:60,
3950
+ RISING_SPEED_3M_ID:61,
3951
+ RISING_SPEED_5M_ID:62,
3952
+ RISING_SPEED_10M_ID:63,
3953
+ RISING_SPEED_15M_ID:64,
3954
+
3923
3955
  SYMBOL_NAME_ID:99,
3924
3956
 
3925
3957
  CUSTOM_STRING_TEXT_ID:100, //自定义字符串文本
@@ -3932,6 +3964,7 @@ var REPORT_COLUMN_ID=
3932
3964
  CUSTOM_LINK_ID:107, //链接
3933
3965
  }
3934
3966
 
3967
+ //数据对应字段名对照表
3935
3968
  var MAP_COLUMN_FIELD=new Map([
3936
3969
  [REPORT_COLUMN_ID.SYMBOL_ID, "Symbol"],
3937
3970
  [REPORT_COLUMN_ID.NAME_ID, "Name"],
@@ -3967,6 +4000,18 @@ var MAP_COLUMN_FIELD=new Map([
3967
4000
  [REPORT_COLUMN_ID.NAME_EX_ID, "NameEx"],
3968
4001
 
3969
4002
  [REPORT_COLUMN_ID.DATE_ID, "Date"],
4003
+
4004
+ [REPORT_COLUMN_ID.FUTURES_POSITION_ID, "Position"],
4005
+ [REPORT_COLUMN_ID.FUTURES_CLOSE_ID, "FClose"],
4006
+ [REPORT_COLUMN_ID.FUTURES_YCLOSE_ID, "YFClose"],
4007
+ [REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID, "OpenPosition"],
4008
+ [REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID, "ClosePosition"],
4009
+
4010
+ [REPORT_COLUMN_ID.RISING_SPEED_1M_ID, "RSpeed1M"],
4011
+ [REPORT_COLUMN_ID.RISING_SPEED_3M_ID, "RSpeed3M"],
4012
+ [REPORT_COLUMN_ID.RISING_SPEED_5M_ID, "RSpeed5M"],
4013
+ [REPORT_COLUMN_ID.RISING_SPEED_10M_ID, "RSpeed10M"],
4014
+ [REPORT_COLUMN_ID.RISING_SPEED_15M_ID, "RSpeed15M"],
3970
4015
  ]);
3971
4016
 
3972
4017
  function ChartReport()
@@ -4470,7 +4515,19 @@ function ChartReport()
4470
4515
 
4471
4516
  { Type:REPORT_COLUMN_ID.CUSTOM_BUTTON_ID, Title:"", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
4472
4517
  { Type:REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID, Title:"进度条", TextAlign:"center", FixedWidth:100*GetDevicePixelRatio() },
4473
- { Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID, Title:"链接地址", TextAlign:"center", MaxText:"擎擎擎擎擎" }
4518
+ { Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID, Title:"链接地址", TextAlign:"center", MaxText:"擎擎擎擎擎" },
4519
+
4520
+ { Type:REPORT_COLUMN_ID.FUTURES_POSITION_ID, Title:"持仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Vol, Width:null, MaxText:"8888888" },
4521
+ { Type:REPORT_COLUMN_ID.FUTURES_CLOSE_ID, Title:"结算价", TextAlign:"right", Width:null, MaxText:"8888888" },
4522
+ { Type:REPORT_COLUMN_ID.FUTURES_YCLOSE_ID, Title:"昨结算价", TextAlign:"right", Width:null, MaxText:"8888888" },
4523
+ { Type:REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID, Title:"开仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, Width:null, MaxText:"8888888" },
4524
+ { Type:REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID, Title:"平仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, Width:null, MaxText:"8888888" },
4525
+
4526
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_1M_ID, Title:"涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
4527
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_3M_ID, Title:"3分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
4528
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_5M_ID, Title:"5分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
4529
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_10M_ID, Title:"10分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
4530
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_15M_ID, Title:"15分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
4474
4531
  ];
4475
4532
 
4476
4533
  for(var i=0;i<DEFAULT_COLUMN.length;++i)
@@ -5299,6 +5356,17 @@ function ChartReport()
5299
5356
 
5300
5357
  this.FormatDrawInfo(column, stock, drawInfo, data);
5301
5358
  }
5359
+ else if (column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_ID || column.Type==REPORT_COLUMN_ID.FUTURES_YCLOSE_ID)
5360
+ {
5361
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
5362
+ if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
5363
+ {
5364
+ var value=stock[fieldName];
5365
+ this.GetPriceDrawInfo(value, stock, data, drawInfo);
5366
+ }
5367
+
5368
+ this.FormatDrawInfo(column, stock, drawInfo, data);
5369
+ }
5302
5370
  else if (column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID)
5303
5371
  {
5304
5372
  if (stock) this.GetPriceDrawInfo(stock.SellPrice, stock, data, drawInfo);
@@ -5368,7 +5436,9 @@ function ChartReport()
5368
5436
 
5369
5437
  this.FormatDrawInfo(column, stock, drawInfo, data);
5370
5438
  }
5371
- else if (column.Type==REPORT_COLUMN_ID.INCREASE_ID || column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID || column.Type==REPORT_COLUMN_ID.UPDOWN_ID)
5439
+ else if (column.Type==REPORT_COLUMN_ID.INCREASE_ID || column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID || column.Type==REPORT_COLUMN_ID.UPDOWN_ID ||
5440
+ column.Type==REPORT_COLUMN_ID.RISING_SPEED_1M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_3M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_5M_ID ||
5441
+ column.Type==REPORT_COLUMN_ID.RISING_SPEED_10M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_15M_ID )
5372
5442
  {
5373
5443
  var fieldName=MAP_COLUMN_FIELD.get(column.Type);
5374
5444
  if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
@@ -5380,6 +5450,18 @@ function ChartReport()
5380
5450
 
5381
5451
  this.FormatDrawInfo(column, stock, drawInfo, data);
5382
5452
  }
5453
+ else if (column.Type==REPORT_COLUMN_ID.FUTURES_POSITION_ID || column.Type==REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID || column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID)
5454
+ {
5455
+ //持仓量原始值输出
5456
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
5457
+ if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
5458
+ {
5459
+ var value=stock[fieldName];
5460
+ drawInfo.Text=value.toFixed(0);
5461
+ }
5462
+
5463
+ this.FormatDrawInfo(column, stock, drawInfo, data);
5464
+ }
5383
5465
  else if (column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)
5384
5466
  {
5385
5467
  this.GetCustomStringDrawInfo(data, column, drawInfo);
@@ -5902,10 +5984,21 @@ function ChartReport()
5902
5984
  if (!IFrameSplitOperator.IsNumber(price)) return false;
5903
5985
 
5904
5986
  drawInfo.Text=price.toFixed(data.Decimal);
5905
- if (!IFrameSplitOperator.IsNumber(stock.YClose))
5987
+
5988
+ var yClose=null;
5989
+ if (stock.PriceColorType===1) //昨结算价 计算颜色
5990
+ {
5991
+ if (IFrameSplitOperator.IsNumber(stock.YFClose)) yClose=stock.YFClose;
5992
+ }
5993
+ else //昨收价 计算颜色
5994
+ {
5995
+ if (IFrameSplitOperator.IsNumber(stock.YClose)) yClose=stock.YClose;
5996
+ }
5997
+
5998
+ if (!IFrameSplitOperator.IsNumber(yClose))
5906
5999
  drawInfo.TextColor=this.UnchagneColor;
5907
6000
  else
5908
- drawInfo.TextColor=this.GetUpDownColor(price, stock.YClose);
6001
+ drawInfo.TextColor=this.GetUpDownColor(price, yClose);
5909
6002
 
5910
6003
  if (option && option.LimitBG)
5911
6004
  {
@@ -754,8 +754,9 @@ HQData.Report_RequestStockListData=function(data, callback)
754
754
  {
755
755
  var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
756
756
  var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
757
-
758
- hqchartData.data.push([symbol,name]);
757
+ var item=[symbol,name];
758
+ //item[88]=1;
759
+ hqchartData.data.push(item);
759
760
  }
760
761
  }
761
762
 
@@ -852,6 +853,20 @@ HQData.Report_RequestStockData=function(data, callback)
852
853
  newItem[27]=symbolEx;
853
854
 
854
855
 
856
+ newItem[38]=HQData.GetRandomTestData(10,20000); //持仓量
857
+ newItem[39]=HQData.GetRandomTestData(10,100); //结算价
858
+ newItem[40]=HQData.GetRandomTestData(10,100); //昨结算价
859
+ newItem[41]=HQData.GetRandomTestData(10,20000); //开仓量
860
+ newItem[42]=HQData.GetRandomTestData(10,20000); //平仓量
861
+
862
+ //1,3,5,10,15 涨速%
863
+ newItem[43]=HQData.GetRandomTestData(-90,90);
864
+ newItem[44]=HQData.GetRandomTestData(-90,90);
865
+ newItem[45]=HQData.GetRandomTestData(-90,90);
866
+ newItem[46]=HQData.GetRandomTestData(-90,90);
867
+ newItem[47]=HQData.GetRandomTestData(-90,90);
868
+
869
+
855
870
  //扩展数据 (定制数据)
856
871
  var extendData=[];
857
872
  newItem[30]=extendData;
@@ -1054,3 +1069,11 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
1054
1069
  }
1055
1070
 
1056
1071
 
1072
+ HQData.GetRandomTestData=function(min, max) //测试数据
1073
+ {
1074
+ min = Math.ceil(min);
1075
+ max = Math.floor(max);
1076
+ return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
1077
+ }
1078
+
1079
+
@@ -39913,6 +39913,7 @@ function ChartClipColorStick()
39913
39913
 
39914
39914
  this.BaseValue=0;
39915
39915
  this.Super_GetMaxMin=this.GetMaxMin; //父类的方法
39916
+ this.ValueRange; //{ Max:, Min: } //固定最大最小值
39916
39917
 
39917
39918
  this.SetOption=function(option)
39918
39919
  {
@@ -39924,6 +39925,7 @@ function ChartClipColorStick()
39924
39925
  if (option.UpDiffColor) this.UpDiffColor=option.UpDiffColor;
39925
39926
  if (option.BaseLineColor) this.BaseLineColor=option.BaseLineColor;
39926
39927
  if (IFrameSplitOperator.IsNumber(option.BaseValue)) this.BaseValue=option.BaseValue;
39928
+ if (option.ValueRange) this.ValueRange=option.ValueRange;
39927
39929
  }
39928
39930
 
39929
39931
  this.Draw=function()
@@ -40127,6 +40129,12 @@ function ChartClipColorStick()
40127
40129
  {
40128
40130
  if (!IFrameSplitOperator.IsNumber(this.BaseValue) || this.BaseValue==0)
40129
40131
  return this.Super_GetMaxMin();
40132
+
40133
+ if (this.ValueRange) //固定最大最小
40134
+ {
40135
+ var range={ Min:this.ValueRange.Min, Max:this.ValueRange.Max };
40136
+ return range;
40137
+ }
40130
40138
 
40131
40139
  var xPointCount=this.ChartFrame.XPointCount;
40132
40140
  var start=this.Data.DataOffset;
@@ -127899,6 +127907,7 @@ function JSReportChartContainer(uielement)
127899
127907
 
127900
127908
  stock.Symbol=this.GetSymbolNoSuffix(symbol);
127901
127909
  stock.Name=item[1];
127910
+ if (IFrameSplitOperator.IsNumber(item[88])) stock.PriceColorType=item[88];
127902
127911
  this.ReadStockJsonData(stock, item);
127903
127912
  }
127904
127913
  }
@@ -128145,6 +128154,8 @@ function JSReportChartContainer(uielement)
128145
128154
  //18=内盘 19=外盘 20=现量 21=涨幅% 22=涨跌 23=换手率% 24=振幅% 25=流通市值 26=总市值
128146
128155
  //30=全局扩展数据 31=当前板块扩展数据
128147
128156
 
128157
+ //88=价格颜色类型
128158
+
128148
128159
  if (IFrameSplitOperator.IsString(item[1])) stock.Name=item[1];
128149
128160
  if (IFrameSplitOperator.IsNumber(item[2])) stock.YClose=item[2];
128150
128161
  if (IFrameSplitOperator.IsNumber(item[3])) stock.Open=item[3];
@@ -128226,6 +128237,19 @@ function JSReportChartContainer(uielement)
128226
128237
  if (IFrameSplitOperator.IsNumber(item[36])) stock.Date=item[36]; //日期
128227
128238
 
128228
128239
  if (IFrameSplitOperator.IsBool(item[37])) stock.Checked=item[37];
128240
+
128241
+ if (IFrameSplitOperator.IsNumber(item[38])) stock.Position=item[38]; //持仓量
128242
+ if (IFrameSplitOperator.IsNumber(item[39])) stock.FClose=item[39]; //结算价
128243
+ if (IFrameSplitOperator.IsNumber(item[40])) stock.YFClose=item[40]; //昨结算价
128244
+ if (IFrameSplitOperator.IsNumber(item[41])) stock.OpenPosition=item[41]; //开仓量
128245
+ if (IFrameSplitOperator.IsNumber(item[42])) stock.ClosePosition=item[42]; //平仓量
128246
+
128247
+ //1,3,5,10,15 涨速%
128248
+ if (IFrameSplitOperator.IsNumber(item[43])) stock.RSpeed1M=item[43];
128249
+ if (IFrameSplitOperator.IsNumber(item[44])) stock.RSpeed3M=item[44];
128250
+ if (IFrameSplitOperator.IsNumber(item[45])) stock.RSpeed5M=item[45];
128251
+ if (IFrameSplitOperator.IsNumber(item[46])) stock.RSpeed10M=item[46];
128252
+ if (IFrameSplitOperator.IsNumber(item[47])) stock.RSpeed15M=item[47];
128229
128253
  }
128230
128254
 
128231
128255
 
@@ -128410,6 +128434,8 @@ function JSReportChartContainer(uielement)
128410
128434
  if (!reportChart) return;
128411
128435
 
128412
128436
  var keyID = e.keyCode ? e.keyCode :e.which;
128437
+ if (keyID==116) return; //F15刷新不处理
128438
+
128413
128439
  switch(keyID)
128414
128440
  {
128415
128441
  case 33: //page up
@@ -130717,6 +130743,20 @@ var REPORT_COLUMN_ID=
130717
130743
 
130718
130744
  CHECKBOX_ID:33, //单选框
130719
130745
 
130746
+ FUTURES_POSITION_ID:34, //期货持仓量
130747
+ FUTURES_CLOSE_ID:35, //期货结算价
130748
+ FUTURES_YCLOSE_ID:36, //期货昨结算
130749
+ FUTURES_OPEN_POSITION_ID:37, //期货开仓量
130750
+ FUTURES_CLOSE_POSITION_ID:38, //期货平仓量
130751
+
130752
+
130753
+ //1,3,5,10,15分钟涨速
130754
+ RISING_SPEED_1M_ID:60,
130755
+ RISING_SPEED_3M_ID:61,
130756
+ RISING_SPEED_5M_ID:62,
130757
+ RISING_SPEED_10M_ID:63,
130758
+ RISING_SPEED_15M_ID:64,
130759
+
130720
130760
  SYMBOL_NAME_ID:99,
130721
130761
 
130722
130762
  CUSTOM_STRING_TEXT_ID:100, //自定义字符串文本
@@ -130729,6 +130769,7 @@ var REPORT_COLUMN_ID=
130729
130769
  CUSTOM_LINK_ID:107, //链接
130730
130770
  }
130731
130771
 
130772
+ //数据对应字段名对照表
130732
130773
  var MAP_COLUMN_FIELD=new Map([
130733
130774
  [REPORT_COLUMN_ID.SYMBOL_ID, "Symbol"],
130734
130775
  [REPORT_COLUMN_ID.NAME_ID, "Name"],
@@ -130764,6 +130805,18 @@ var MAP_COLUMN_FIELD=new Map([
130764
130805
  [REPORT_COLUMN_ID.NAME_EX_ID, "NameEx"],
130765
130806
 
130766
130807
  [REPORT_COLUMN_ID.DATE_ID, "Date"],
130808
+
130809
+ [REPORT_COLUMN_ID.FUTURES_POSITION_ID, "Position"],
130810
+ [REPORT_COLUMN_ID.FUTURES_CLOSE_ID, "FClose"],
130811
+ [REPORT_COLUMN_ID.FUTURES_YCLOSE_ID, "YFClose"],
130812
+ [REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID, "OpenPosition"],
130813
+ [REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID, "ClosePosition"],
130814
+
130815
+ [REPORT_COLUMN_ID.RISING_SPEED_1M_ID, "RSpeed1M"],
130816
+ [REPORT_COLUMN_ID.RISING_SPEED_3M_ID, "RSpeed3M"],
130817
+ [REPORT_COLUMN_ID.RISING_SPEED_5M_ID, "RSpeed5M"],
130818
+ [REPORT_COLUMN_ID.RISING_SPEED_10M_ID, "RSpeed10M"],
130819
+ [REPORT_COLUMN_ID.RISING_SPEED_15M_ID, "RSpeed15M"],
130767
130820
  ]);
130768
130821
 
130769
130822
  function ChartReport()
@@ -131267,7 +131320,19 @@ function ChartReport()
131267
131320
 
131268
131321
  { Type:REPORT_COLUMN_ID.CUSTOM_BUTTON_ID, Title:"", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
131269
131322
  { Type:REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID, Title:"进度条", TextAlign:"center", FixedWidth:100*GetDevicePixelRatio() },
131270
- { Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID, Title:"链接地址", TextAlign:"center", MaxText:"擎擎擎擎擎" }
131323
+ { Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID, Title:"链接地址", TextAlign:"center", MaxText:"擎擎擎擎擎" },
131324
+
131325
+ { Type:REPORT_COLUMN_ID.FUTURES_POSITION_ID, Title:"持仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Vol, Width:null, MaxText:"8888888" },
131326
+ { Type:REPORT_COLUMN_ID.FUTURES_CLOSE_ID, Title:"结算价", TextAlign:"right", Width:null, MaxText:"8888888" },
131327
+ { Type:REPORT_COLUMN_ID.FUTURES_YCLOSE_ID, Title:"昨结算价", TextAlign:"right", Width:null, MaxText:"8888888" },
131328
+ { Type:REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID, Title:"开仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, Width:null, MaxText:"8888888" },
131329
+ { Type:REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID, Title:"平仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, Width:null, MaxText:"8888888" },
131330
+
131331
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_1M_ID, Title:"涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131332
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_3M_ID, Title:"3分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131333
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_5M_ID, Title:"5分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131334
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_10M_ID, Title:"10分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131335
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_15M_ID, Title:"15分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131271
131336
  ];
131272
131337
 
131273
131338
  for(var i=0;i<DEFAULT_COLUMN.length;++i)
@@ -132096,6 +132161,17 @@ function ChartReport()
132096
132161
 
132097
132162
  this.FormatDrawInfo(column, stock, drawInfo, data);
132098
132163
  }
132164
+ else if (column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_ID || column.Type==REPORT_COLUMN_ID.FUTURES_YCLOSE_ID)
132165
+ {
132166
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
132167
+ if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
132168
+ {
132169
+ var value=stock[fieldName];
132170
+ this.GetPriceDrawInfo(value, stock, data, drawInfo);
132171
+ }
132172
+
132173
+ this.FormatDrawInfo(column, stock, drawInfo, data);
132174
+ }
132099
132175
  else if (column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID)
132100
132176
  {
132101
132177
  if (stock) this.GetPriceDrawInfo(stock.SellPrice, stock, data, drawInfo);
@@ -132165,7 +132241,9 @@ function ChartReport()
132165
132241
 
132166
132242
  this.FormatDrawInfo(column, stock, drawInfo, data);
132167
132243
  }
132168
- else if (column.Type==REPORT_COLUMN_ID.INCREASE_ID || column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID || column.Type==REPORT_COLUMN_ID.UPDOWN_ID)
132244
+ else if (column.Type==REPORT_COLUMN_ID.INCREASE_ID || column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID || column.Type==REPORT_COLUMN_ID.UPDOWN_ID ||
132245
+ column.Type==REPORT_COLUMN_ID.RISING_SPEED_1M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_3M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_5M_ID ||
132246
+ column.Type==REPORT_COLUMN_ID.RISING_SPEED_10M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_15M_ID )
132169
132247
  {
132170
132248
  var fieldName=MAP_COLUMN_FIELD.get(column.Type);
132171
132249
  if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
@@ -132177,6 +132255,18 @@ function ChartReport()
132177
132255
 
132178
132256
  this.FormatDrawInfo(column, stock, drawInfo, data);
132179
132257
  }
132258
+ else if (column.Type==REPORT_COLUMN_ID.FUTURES_POSITION_ID || column.Type==REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID || column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID)
132259
+ {
132260
+ //持仓量原始值输出
132261
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
132262
+ if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
132263
+ {
132264
+ var value=stock[fieldName];
132265
+ drawInfo.Text=value.toFixed(0);
132266
+ }
132267
+
132268
+ this.FormatDrawInfo(column, stock, drawInfo, data);
132269
+ }
132180
132270
  else if (column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)
132181
132271
  {
132182
132272
  this.GetCustomStringDrawInfo(data, column, drawInfo);
@@ -132699,10 +132789,21 @@ function ChartReport()
132699
132789
  if (!IFrameSplitOperator.IsNumber(price)) return false;
132700
132790
 
132701
132791
  drawInfo.Text=price.toFixed(data.Decimal);
132702
- if (!IFrameSplitOperator.IsNumber(stock.YClose))
132792
+
132793
+ var yClose=null;
132794
+ if (stock.PriceColorType===1) //昨结算价 计算颜色
132795
+ {
132796
+ if (IFrameSplitOperator.IsNumber(stock.YFClose)) yClose=stock.YFClose;
132797
+ }
132798
+ else //昨收价 计算颜色
132799
+ {
132800
+ if (IFrameSplitOperator.IsNumber(stock.YClose)) yClose=stock.YClose;
132801
+ }
132802
+
132803
+ if (!IFrameSplitOperator.IsNumber(yClose))
132703
132804
  drawInfo.TextColor=this.UnchagneColor;
132704
132805
  else
132705
- drawInfo.TextColor=this.GetUpDownColor(price, stock.YClose);
132806
+ drawInfo.TextColor=this.GetUpDownColor(price, yClose);
132706
132807
 
132707
132808
  if (option && option.LimitBG)
132708
132809
  {
@@ -138225,7 +138326,7 @@ function ScrollBarBGChart()
138225
138326
 
138226
138327
 
138227
138328
 
138228
- var HQCHART_VERSION="1.1.13716";
138329
+ var HQCHART_VERSION="1.1.13724";
138229
138330
 
138230
138331
  function PrintHQChartVersion()
138231
138332
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13716";
8
+ var HQCHART_VERSION="1.1.13724";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -49429,8 +49429,9 @@ HQData.Report_RequestStockListData=function(data, callback)
49429
49429
  {
49430
49430
  var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
49431
49431
  var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
49432
-
49433
- hqchartData.data.push([symbol,name]);
49432
+ var item=[symbol,name];
49433
+ //item[88]=1;
49434
+ hqchartData.data.push(item);
49434
49435
  }
49435
49436
  }
49436
49437
 
@@ -49527,6 +49528,20 @@ HQData.Report_RequestStockData=function(data, callback)
49527
49528
  newItem[27]=symbolEx;
49528
49529
 
49529
49530
 
49531
+ newItem[38]=HQData.GetRandomTestData(10,20000); //持仓量
49532
+ newItem[39]=HQData.GetRandomTestData(10,100); //结算价
49533
+ newItem[40]=HQData.GetRandomTestData(10,100); //昨结算价
49534
+ newItem[41]=HQData.GetRandomTestData(10,20000); //开仓量
49535
+ newItem[42]=HQData.GetRandomTestData(10,20000); //平仓量
49536
+
49537
+ //1,3,5,10,15 涨速%
49538
+ newItem[43]=HQData.GetRandomTestData(-90,90);
49539
+ newItem[44]=HQData.GetRandomTestData(-90,90);
49540
+ newItem[45]=HQData.GetRandomTestData(-90,90);
49541
+ newItem[46]=HQData.GetRandomTestData(-90,90);
49542
+ newItem[47]=HQData.GetRandomTestData(-90,90);
49543
+
49544
+
49530
49545
  //扩展数据 (定制数据)
49531
49546
  var extendData=[];
49532
49547
  newItem[30]=extendData;
@@ -49729,6 +49744,14 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
49729
49744
  }
49730
49745
 
49731
49746
 
49747
+ HQData.GetRandomTestData=function(min, max) //测试数据
49748
+ {
49749
+ min = Math.ceil(min);
49750
+ max = Math.floor(max);
49751
+ return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
49752
+ }
49753
+
49754
+
49732
49755
 
49733
49756
 
49734
49757
  /*暴露外部用的方法*/
@@ -39957,6 +39957,7 @@ function ChartClipColorStick()
39957
39957
 
39958
39958
  this.BaseValue=0;
39959
39959
  this.Super_GetMaxMin=this.GetMaxMin; //父类的方法
39960
+ this.ValueRange; //{ Max:, Min: } //固定最大最小值
39960
39961
 
39961
39962
  this.SetOption=function(option)
39962
39963
  {
@@ -39968,6 +39969,7 @@ function ChartClipColorStick()
39968
39969
  if (option.UpDiffColor) this.UpDiffColor=option.UpDiffColor;
39969
39970
  if (option.BaseLineColor) this.BaseLineColor=option.BaseLineColor;
39970
39971
  if (IFrameSplitOperator.IsNumber(option.BaseValue)) this.BaseValue=option.BaseValue;
39972
+ if (option.ValueRange) this.ValueRange=option.ValueRange;
39971
39973
  }
39972
39974
 
39973
39975
  this.Draw=function()
@@ -40171,6 +40173,12 @@ function ChartClipColorStick()
40171
40173
  {
40172
40174
  if (!IFrameSplitOperator.IsNumber(this.BaseValue) || this.BaseValue==0)
40173
40175
  return this.Super_GetMaxMin();
40176
+
40177
+ if (this.ValueRange) //固定最大最小
40178
+ {
40179
+ var range={ Min:this.ValueRange.Min, Max:this.ValueRange.Max };
40180
+ return range;
40181
+ }
40174
40182
 
40175
40183
  var xPointCount=this.ChartFrame.XPointCount;
40176
40184
  var start=this.Data.DataOffset;
@@ -127943,6 +127951,7 @@ function JSReportChartContainer(uielement)
127943
127951
 
127944
127952
  stock.Symbol=this.GetSymbolNoSuffix(symbol);
127945
127953
  stock.Name=item[1];
127954
+ if (IFrameSplitOperator.IsNumber(item[88])) stock.PriceColorType=item[88];
127946
127955
  this.ReadStockJsonData(stock, item);
127947
127956
  }
127948
127957
  }
@@ -128189,6 +128198,8 @@ function JSReportChartContainer(uielement)
128189
128198
  //18=内盘 19=外盘 20=现量 21=涨幅% 22=涨跌 23=换手率% 24=振幅% 25=流通市值 26=总市值
128190
128199
  //30=全局扩展数据 31=当前板块扩展数据
128191
128200
 
128201
+ //88=价格颜色类型
128202
+
128192
128203
  if (IFrameSplitOperator.IsString(item[1])) stock.Name=item[1];
128193
128204
  if (IFrameSplitOperator.IsNumber(item[2])) stock.YClose=item[2];
128194
128205
  if (IFrameSplitOperator.IsNumber(item[3])) stock.Open=item[3];
@@ -128270,6 +128281,19 @@ function JSReportChartContainer(uielement)
128270
128281
  if (IFrameSplitOperator.IsNumber(item[36])) stock.Date=item[36]; //日期
128271
128282
 
128272
128283
  if (IFrameSplitOperator.IsBool(item[37])) stock.Checked=item[37];
128284
+
128285
+ if (IFrameSplitOperator.IsNumber(item[38])) stock.Position=item[38]; //持仓量
128286
+ if (IFrameSplitOperator.IsNumber(item[39])) stock.FClose=item[39]; //结算价
128287
+ if (IFrameSplitOperator.IsNumber(item[40])) stock.YFClose=item[40]; //昨结算价
128288
+ if (IFrameSplitOperator.IsNumber(item[41])) stock.OpenPosition=item[41]; //开仓量
128289
+ if (IFrameSplitOperator.IsNumber(item[42])) stock.ClosePosition=item[42]; //平仓量
128290
+
128291
+ //1,3,5,10,15 涨速%
128292
+ if (IFrameSplitOperator.IsNumber(item[43])) stock.RSpeed1M=item[43];
128293
+ if (IFrameSplitOperator.IsNumber(item[44])) stock.RSpeed3M=item[44];
128294
+ if (IFrameSplitOperator.IsNumber(item[45])) stock.RSpeed5M=item[45];
128295
+ if (IFrameSplitOperator.IsNumber(item[46])) stock.RSpeed10M=item[46];
128296
+ if (IFrameSplitOperator.IsNumber(item[47])) stock.RSpeed15M=item[47];
128273
128297
  }
128274
128298
 
128275
128299
 
@@ -128454,6 +128478,8 @@ function JSReportChartContainer(uielement)
128454
128478
  if (!reportChart) return;
128455
128479
 
128456
128480
  var keyID = e.keyCode ? e.keyCode :e.which;
128481
+ if (keyID==116) return; //F15刷新不处理
128482
+
128457
128483
  switch(keyID)
128458
128484
  {
128459
128485
  case 33: //page up
@@ -130761,6 +130787,20 @@ var REPORT_COLUMN_ID=
130761
130787
 
130762
130788
  CHECKBOX_ID:33, //单选框
130763
130789
 
130790
+ FUTURES_POSITION_ID:34, //期货持仓量
130791
+ FUTURES_CLOSE_ID:35, //期货结算价
130792
+ FUTURES_YCLOSE_ID:36, //期货昨结算
130793
+ FUTURES_OPEN_POSITION_ID:37, //期货开仓量
130794
+ FUTURES_CLOSE_POSITION_ID:38, //期货平仓量
130795
+
130796
+
130797
+ //1,3,5,10,15分钟涨速
130798
+ RISING_SPEED_1M_ID:60,
130799
+ RISING_SPEED_3M_ID:61,
130800
+ RISING_SPEED_5M_ID:62,
130801
+ RISING_SPEED_10M_ID:63,
130802
+ RISING_SPEED_15M_ID:64,
130803
+
130764
130804
  SYMBOL_NAME_ID:99,
130765
130805
 
130766
130806
  CUSTOM_STRING_TEXT_ID:100, //自定义字符串文本
@@ -130773,6 +130813,7 @@ var REPORT_COLUMN_ID=
130773
130813
  CUSTOM_LINK_ID:107, //链接
130774
130814
  }
130775
130815
 
130816
+ //数据对应字段名对照表
130776
130817
  var MAP_COLUMN_FIELD=new Map([
130777
130818
  [REPORT_COLUMN_ID.SYMBOL_ID, "Symbol"],
130778
130819
  [REPORT_COLUMN_ID.NAME_ID, "Name"],
@@ -130808,6 +130849,18 @@ var MAP_COLUMN_FIELD=new Map([
130808
130849
  [REPORT_COLUMN_ID.NAME_EX_ID, "NameEx"],
130809
130850
 
130810
130851
  [REPORT_COLUMN_ID.DATE_ID, "Date"],
130852
+
130853
+ [REPORT_COLUMN_ID.FUTURES_POSITION_ID, "Position"],
130854
+ [REPORT_COLUMN_ID.FUTURES_CLOSE_ID, "FClose"],
130855
+ [REPORT_COLUMN_ID.FUTURES_YCLOSE_ID, "YFClose"],
130856
+ [REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID, "OpenPosition"],
130857
+ [REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID, "ClosePosition"],
130858
+
130859
+ [REPORT_COLUMN_ID.RISING_SPEED_1M_ID, "RSpeed1M"],
130860
+ [REPORT_COLUMN_ID.RISING_SPEED_3M_ID, "RSpeed3M"],
130861
+ [REPORT_COLUMN_ID.RISING_SPEED_5M_ID, "RSpeed5M"],
130862
+ [REPORT_COLUMN_ID.RISING_SPEED_10M_ID, "RSpeed10M"],
130863
+ [REPORT_COLUMN_ID.RISING_SPEED_15M_ID, "RSpeed15M"],
130811
130864
  ]);
130812
130865
 
130813
130866
  function ChartReport()
@@ -131311,7 +131364,19 @@ function ChartReport()
131311
131364
 
131312
131365
  { Type:REPORT_COLUMN_ID.CUSTOM_BUTTON_ID, Title:"", TextAlign:"center", FixedWidth:50*GetDevicePixelRatio() },
131313
131366
  { Type:REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID, Title:"进度条", TextAlign:"center", FixedWidth:100*GetDevicePixelRatio() },
131314
- { Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID, Title:"链接地址", TextAlign:"center", MaxText:"擎擎擎擎擎" }
131367
+ { Type:REPORT_COLUMN_ID.CUSTOM_LINK_ID, Title:"链接地址", TextAlign:"center", MaxText:"擎擎擎擎擎" },
131368
+
131369
+ { Type:REPORT_COLUMN_ID.FUTURES_POSITION_ID, Title:"持仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Vol, Width:null, MaxText:"8888888" },
131370
+ { Type:REPORT_COLUMN_ID.FUTURES_CLOSE_ID, Title:"结算价", TextAlign:"right", Width:null, MaxText:"8888888" },
131371
+ { Type:REPORT_COLUMN_ID.FUTURES_YCLOSE_ID, Title:"昨结算价", TextAlign:"right", Width:null, MaxText:"8888888" },
131372
+ { Type:REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID, Title:"开仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, Width:null, MaxText:"8888888" },
131373
+ { Type:REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID, Title:"平仓量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Text, Width:null, MaxText:"8888888" },
131374
+
131375
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_1M_ID, Title:"涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131376
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_3M_ID, Title:"3分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131377
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_5M_ID, Title:"5分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131378
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_10M_ID, Title:"10分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131379
+ { Type:REPORT_COLUMN_ID.RISING_SPEED_15M_ID, Title:"15分涨速%", TextAlign:"right", Width:null, MaxText:"-888.88" },
131315
131380
  ];
131316
131381
 
131317
131382
  for(var i=0;i<DEFAULT_COLUMN.length;++i)
@@ -132140,6 +132205,17 @@ function ChartReport()
132140
132205
 
132141
132206
  this.FormatDrawInfo(column, stock, drawInfo, data);
132142
132207
  }
132208
+ else if (column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_ID || column.Type==REPORT_COLUMN_ID.FUTURES_YCLOSE_ID)
132209
+ {
132210
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
132211
+ if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
132212
+ {
132213
+ var value=stock[fieldName];
132214
+ this.GetPriceDrawInfo(value, stock, data, drawInfo);
132215
+ }
132216
+
132217
+ this.FormatDrawInfo(column, stock, drawInfo, data);
132218
+ }
132143
132219
  else if (column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID)
132144
132220
  {
132145
132221
  if (stock) this.GetPriceDrawInfo(stock.SellPrice, stock, data, drawInfo);
@@ -132209,7 +132285,9 @@ function ChartReport()
132209
132285
 
132210
132286
  this.FormatDrawInfo(column, stock, drawInfo, data);
132211
132287
  }
132212
- else if (column.Type==REPORT_COLUMN_ID.INCREASE_ID || column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID || column.Type==REPORT_COLUMN_ID.UPDOWN_ID)
132288
+ else if (column.Type==REPORT_COLUMN_ID.INCREASE_ID || column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID || column.Type==REPORT_COLUMN_ID.UPDOWN_ID ||
132289
+ column.Type==REPORT_COLUMN_ID.RISING_SPEED_1M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_3M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_5M_ID ||
132290
+ column.Type==REPORT_COLUMN_ID.RISING_SPEED_10M_ID || column.Type==REPORT_COLUMN_ID.RISING_SPEED_15M_ID )
132213
132291
  {
132214
132292
  var fieldName=MAP_COLUMN_FIELD.get(column.Type);
132215
132293
  if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
@@ -132221,6 +132299,18 @@ function ChartReport()
132221
132299
 
132222
132300
  this.FormatDrawInfo(column, stock, drawInfo, data);
132223
132301
  }
132302
+ else if (column.Type==REPORT_COLUMN_ID.FUTURES_POSITION_ID || column.Type==REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID || column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID)
132303
+ {
132304
+ //持仓量原始值输出
132305
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
132306
+ if (stock && IFrameSplitOperator.IsNumber(stock[fieldName]))
132307
+ {
132308
+ var value=stock[fieldName];
132309
+ drawInfo.Text=value.toFixed(0);
132310
+ }
132311
+
132312
+ this.FormatDrawInfo(column, stock, drawInfo, data);
132313
+ }
132224
132314
  else if (column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID)
132225
132315
  {
132226
132316
  this.GetCustomStringDrawInfo(data, column, drawInfo);
@@ -132743,10 +132833,21 @@ function ChartReport()
132743
132833
  if (!IFrameSplitOperator.IsNumber(price)) return false;
132744
132834
 
132745
132835
  drawInfo.Text=price.toFixed(data.Decimal);
132746
- if (!IFrameSplitOperator.IsNumber(stock.YClose))
132836
+
132837
+ var yClose=null;
132838
+ if (stock.PriceColorType===1) //昨结算价 计算颜色
132839
+ {
132840
+ if (IFrameSplitOperator.IsNumber(stock.YFClose)) yClose=stock.YFClose;
132841
+ }
132842
+ else //昨收价 计算颜色
132843
+ {
132844
+ if (IFrameSplitOperator.IsNumber(stock.YClose)) yClose=stock.YClose;
132845
+ }
132846
+
132847
+ if (!IFrameSplitOperator.IsNumber(yClose))
132747
132848
  drawInfo.TextColor=this.UnchagneColor;
132748
132849
  else
132749
- drawInfo.TextColor=this.GetUpDownColor(price, stock.YClose);
132850
+ drawInfo.TextColor=this.GetUpDownColor(price, yClose);
132750
132851
 
132751
132852
  if (option && option.LimitBG)
132752
132853
  {
@@ -142360,6 +142461,7 @@ function JSPopKeyboard()
142360
142461
  this.InputDOM=null;
142361
142462
  this.Title="HQChart 键盘精灵"
142362
142463
  this.ID=Guid();
142464
+ this.ActiveDOM=null; //启动键盘精灵是的控件
142363
142465
 
142364
142466
  this.Keyboard=
142365
142467
  {
@@ -142555,6 +142657,11 @@ function JSPopKeyboard()
142555
142657
  this.DivDialog.style.visibility='hidden';
142556
142658
  this.InputDOM.value="";
142557
142659
  this.Keyboard.JSChart.ClearSearch();
142660
+ if (this.ActiveDOM)
142661
+ {
142662
+ if (this.ActiveDOM.focus) this.ActiveDOM.focus(); //把焦点换回去
142663
+ this.ActiveDOM=null;
142664
+ }
142558
142665
  }
142559
142666
 
142560
142667
  this.IsShow=function()
@@ -142572,6 +142679,7 @@ function JSPopKeyboard()
142572
142679
  {
142573
142680
  this.Show();
142574
142681
  this.InputDOM.focus();
142682
+ if (event.target) this.ActiveDOM=event.target;
142575
142683
  }
142576
142684
  else if (code==27 && this.IsShow())
142577
142685
  {
@@ -142749,7 +142857,7 @@ function HQChartScriptWorker()
142749
142857
 
142750
142858
 
142751
142859
 
142752
- var HQCHART_VERSION="1.1.13716";
142860
+ var HQCHART_VERSION="1.1.13724";
142753
142861
 
142754
142862
  function PrintHQChartVersion()
142755
142863
  {