﻿//--------------------------------------------------------------------------holdingGrid
var dsVoidable;
var gridHeadCheckBox;
//查可撤单
function QueryVoidableGridinit()
{
   //grid----------------------------------------------------------------------------------------------------------------    
    var smHolding = new Ext.grid.CheckboxSelectionModel({onHdMouseDown:function(e,t){
                         if(t.className == 'x-grid3-hd-checker'){
                                e.stopEvent();
                                
                                gridHeadCheckBox=t.parentNode;
                                
                                var hd = Ext.fly(t.parentNode);                                
                                var isChecked = hd.hasClass('x-grid3-hd-checker-on');
                                if(isChecked){
                                    hd.removeClass('x-grid3-hd-checker-on');
                                    this.clearSelections();
                                }else{
                                    hd.addClass('x-grid3-hd-checker-on');
                                    this.selectAll();
                                }
                            }
    
    }});
     var cmHolding = new Ext.grid.ColumnModel([
                     new Ext.grid.RowNumberer(),//自动行号
                     smHolding,//添加的地方
                     {header:'委托时间',dataIndex:'WeiTuoShiJian',sortable:true,width:73},
                     {header:'合约',dataIndex:'heYue',sortable:true,width:60},
                     {header:'买卖',dataIndex:'maMai',sortable:true,width:60,renderer:function(value){
                            if(value=="卖"){
                                return "<span style='color:green;'>"+"卖出"+"</span>";
                            }else
                            {
                                return "<span style='color:red;'>"+"买入"+"</span>";
                            }
                      }},
                     {header:'开平',dataIndex:'kaiPing',sortable:true,width:60,renderer:function(value){
                            if(value=="平今"){
                                return "<span style='color:#0000ff;'>"+value+"</span>";
                            }else if(value=="平仓")
                            {
                                return "<span style='color:#d200d2;'>"+value+"</span>";
                            }else
                            {
                                return value;
                            }                     
                        }    
                     },
                     {header:'委托价格',dataIndex:'weiTuoJiaGe',width:70
                      ,renderer:function(value){
                                if(value!="市价")
                                {
                                return "<span>"+FormatNumber(value,2)+"</span>";
                                }else return value;
                         }  
                     },
                     {header:'委手',dataIndex:'weiShou',sortable:true,width:60},
                     {header:'成手',dataIndex:'chengShou',sortable:true,width:60},
                     {header:'状态',dataIndex:'zhuangTai',sortable:true,width:100},
                     {header:'备注',dataIndex:'beiZhu',sortable:true,width:230},
                     {header:'投保',dataIndex:'touBao',sortable:true,width:60},
                     {header:'委托号',dataIndex:'weiTuoHao',sortable:true}                     
                     ]);
                     
        dsVoidable = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({url:'QueryData/QueryVoidable.aspx',timeout:300000//五分钟 
        }),  
        sortInfo: {field: "WeiTuoShiJian", direction: "ASC"}, 
        listeners: {                "loadexception": function(store, options, response, error) {                    try {                        var o = Ext.util.JSON.decode(response.responseText);                        if (o.success == false) {                                                         Ext.MessageBox.alert("错误", o.msg);                        }                    } catch (exception) {//                        Ext.MessageBox.alert("错误", "连接服务器失败,请重新登录!");                    }                }            },
        reader: new Ext.data.JsonReader({
            totalProperty: 'totalProperty',
            root: 'root'
        }, [
            {name:'OrderStatus'},
            {name: 'WeiTuoShiJian'},
            {name: 'heYue'},
            {name: 'maMai'},
            {name: 'kaiPing'},
            {name: 'weiTuoJiaGe',type: 'string'},
            {name: 'weiShou'},
            {name: 'chengShou'},
            {name: 'zhuangTai'},
            {name: 'beiZhu'},
            {name: 'touBao'},
            {name: 'weiTuoHao',type: 'int'}
            ,{name: 'OrderSysID'}
            ,{name: 'RequestID'}
            ,{name: 'FrontID'}
            ,{name: 'SessionID'} 
            ,{name: 'ExchangeID'}
            ,{name: 'UserID'} 
            ,{name: 'OrderRef'} 
        ])
        
        
    });
    
    var contextmenu=new Ext.menu.Menu({
        id:'gridContextMenu',
        items:[{
        text:'撤单',
        handler:function(){
            
         var records=gridVoidable.getSelectionModel().getSelections();       
         var record = records[0];   //Get the Record
         var data = record.get('heYue');
         //alert(data);  
         getSelectRecord();   
            }
        }]
    });
    
     var gridVoidable = new Ext.grid.GridPanel({
                 //el: 'DivGrid',
                 ds: dsVoidable,
                 cm: cmHolding,
                 sm: smHolding,//添加的地方
                 loadMask:true,
                 id:'gridVoidable',
                 //title: '我的grid',
                 //viewConfig:{forceFit:true},
                 tbar:new Ext.PagingToolbar({
                         pageSize: 100,
                         store: dsVoidable,
                         displayInfo: true,
                         //displayMsg: '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
                         emptyMsg: "没有记录",
                         items : [
			                    '-'
			                    ,{
				                    xtype:'button'
				                    ,text:'查询'			
				                    ,pressed:true 	                    
				                    ,scope:this
				                    ,handler:function(){
				                         if(!CheckActionTime()) return;
				                          QueryDsDayTrasaction();
//				                        dsVoidable.load({params:{start:0,limit:200}
//				                            ,timeout:300000//五分钟    
//				                        }); 
				                    }
			                    }	
			                    ,'-'	
			                    ,{
				                    xtype:'button'
				                    ,text:'撤单'
				                    ,pressed:true 				                    
				                    ,scope:this
				                    ,handler:function(){
				                        getSelectRecord();
				                    }
			                    }				
                            ]
                         }),
                   listeners:{                   "rowcontextmenu":function(grid,rowIndex,e){
                       e.preventDefault();
                       grid.getSelectionModel().selectRow(rowIndex);                      
                       contextmenu.showAt(e.getXY());
                   }
                   
                   }                            
                 
                });
    gridVoidable.addListener('cellclick', cellclick);
    
    function cellclick(grid, rowIndex, columnIndex, e) {
                        var record = grid.getStore().getAt(rowIndex);   //Get the Record
                        
                        var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
                        var data = record.get(fieldName);
                        //Ext.MessageBox.alert('show','当前选中的数据是'+record.data['heYue']);
                        setFlashContractFromTop(record.data['heYue']);
                        }
                        
                // 获取选定记录
    function getSelectRecord(){
        var gridCheckboxModel=gridVoidable.getSelectionModel();
        var records=gridVoidable.getSelectionModel().getSelections();
            if(records.join('')=='') {
             Ext.MessageBox.alert('提示',"请先选择要撤单的委托！");
                return false;
            }
            var ids = [];
            for(var i=0; i<records.length; i++){
                if(!gridCheckboxModel.isSelected(records[i])) continue;
                var member = records[i].get('heYue');  
                var LimitPrice = records[i].get('weiTuoJiaGe');  
                var VolumeTotalOriginal = records[i].get('weiShou');                  
                var OrderSysID = records[i].get('OrderSysID'); 
                
                var RequestID = records[i].get('RequestID');  
                var FrontID = records[i].get('FrontID');  
                var SessionID = records[i].get('SessionID');                  
                var ExchangeID = records[i].get('ExchangeID'); 
                var UserID = records[i].get('UserID'); 
                var OrderRef = records[i].get('OrderRef'); 
                
                ids.push(member);   //向数组后添加元素
                     Ext.Ajax.request(
                                    {
                                        url: 'QueryData/OrderAction.aspx',    
                                        success:function(response)
                                        {
                                            var result=Ext.decode(response.responseText);
                                            if(result.success==true)
                                            {
                                                 //查用户持仓信息                                                 if(i==records.length)                                                 {                                                    QueryUserData();
                                                    if(gridHeadCheckBox!=null)
                                                    {
                                                        var hd = Ext.fly(gridHeadCheckBox);                                
                                                        var isChecked = hd.hasClass('x-grid3-hd-checker-on');
                                                        if(isChecked){
                                                            hd.removeClass('x-grid3-hd-checker-on');
                                                        }
                                                     }
                                                 }
                                                 //查询用户可撤单
//                                                dsVoidable.load({params:{start:0,limit:100}
//                                                ,callback:function(records,options,success){
//                                                if(success==true){
//                                                    }
//                                                  }
//                                                });
//                                                Ext.MessageBox.alert('提示',result.msg);
                                            }else
                                            {
                                                //Ext.MessageBox.alert('提示',result.msg,function(){QueryUserData();});
                                                if(i==records.length)                                                 {
                                                    QueryUserData();
                                                    if(gridHeadCheckBox!=null)
                                                    {
                                                        var hd = Ext.fly(gridHeadCheckBox);                                
                                                        var isChecked = hd.hasClass('x-grid3-hd-checker-on');
                                                        if(isChecked){
                                                            hd.removeClass('x-grid3-hd-checker-on');
                                                        }
                                                     }
                                                }
                                            }
                                        },
                                        failure:function()
                                        {                                               if(i==records.length)                                            {
                                                QueryUserData();
                                                if(gridHeadCheckBox!=null)
                                                {
                                                    var hd = Ext.fly(gridHeadCheckBox);                                
                                                    var isChecked = hd.hasClass('x-grid3-hd-checker-on');
                                                    if(isChecked){
                                                        hd.removeClass('x-grid3-hd-checker-on');
                                                    }
                                                }
                                            }
                                            //Ext.MessageBox.alert('错误','服务器连接失败');
                                        },
                                        params:{"InstrumentID":member
                                                ,"LimitPrice":LimitPrice
                                                ,"VolumeTotalOriginal":VolumeTotalOriginal
                                                ,"OrderSysID":OrderSysID                                                
                                                ,"RequestID":RequestID
                                                ,"FrontID":FrontID
                                                ,"SessionID":SessionID
                                                ,"ExchangeID":ExchangeID
                                                ,"UserID":UserID
                                                ,"OrderRef":OrderRef
                                               }
                                    });
        }
        //return ids.toString();        
		Ext.MessageBox.alert('提示',ids.toString()+'撤单已发');
    }

                
                
var tabQueryVoidable=QueryTabs.add({
        id:'TabQueryVoidable',
        title:'可撤',
        layout:'fit',
        items:[gridVoidable]
        });
        //QueryTabs.activate(tabQueryVoidable);   
        
}
