historydata.js.svn-base

来自「一个使用ssh+ext的例子。 希望对开发这个应用的人带来好处。仔细研究里面的」· SVN-BASE 代码 · 共 239 行

SVN-BASE
239
字号
Ext.namespace("Neo.frontdesk");
Neo.frontdesk.HistoryData = Ext.extend(Ext.grid.GridPanel,{
			        initComponent: function(){
			        	Ext.grid.GroupSummary.Calculations['totalCost'] = function(v, record, field){
							   return v + (record.data.blancementMoney);
};
			        	function change(val){
					        if(val == '成功'){
					            return '<span style="color:green;">' + val + '</span>';
					        }else if(val == '失败'){
					            return '<span style="color:red;">' + val + '</span>';
					        }
					        return val;
					    };
			        	var ds = new Ext.data.GroupingStore({
			            	reader: new Ext.data.ArrayReader({}, [
					        {name: 'gtName'}
					       ,{name: 'gtID'}
					       ,{name: 'blancementID'}
					       ,{name: 'blancementType'}
					       ,{name: 'blancementTime'}
					       ,{name: 'blancementResult'}
					       ,{name: 'blancementMoney',type: 'float'}
					       ,{name: 'remark'}
					    ])
			            ,data: Ext.grid.historydata
			            ,sortInfo:{field: 'blancementID', direction: "ASC"}
		    			,groupField:'gtName'
});
				 		var expander = new Ext.grid.RowExpander({
						     tpl : new Ext.Template(
						          '<p><b>客人姓名:</b> {gtName}</p><br>',
						          '<p><b>备注:</b> {remark}</p>'
						      )
});
			        	Ext.apply(this,{
				        	collapsible: true
					        ,animCollapse: false
					        ,iconCls: 'icon-grid'
					        ,store: ds
					        ,cm: new Ext.grid.ColumnModel([
								expander
					         ,{id:'guestName',header: "姓名", width: 40, sortable: true, dataIndex: 'gtName'
					         ,summaryType: 'count', hideable: false
				             ,summaryRenderer: function(v, params, data){
				                      return ('(总共' + v +'次交易)');}}
					         ,{header: "交易单号", width: 20, sortable: true, dataIndex: 'blancementID'}
					         ,{header: "交易类型", width: 20, sortable: true, dataIndex: 'blancementType'}
					         ,{header: "交易时间", width: 20, sortable: true, dataIndex: 'blancementTime'}
					         ,{header: "交易结果", width: 20, sortable: true, renderer:change,dataIndex: 'blancementResult'}
					         ,{header: "交易金额", width: 20, sortable: true,dataIndex: 'blancementMoney',
					         renderer: function(v, params, record){return Ext.util.Format.usMoney(record.data.blancementMoney);}
					         ,summaryType:'totalCost'
               				 ,summaryRenderer: Ext.util.Format.usMoney}
					        ])
					        /*,viewConfig: {
					            forceFit:true
					        }*/
					        ,view: new Ext.grid.GroupingView({
					             forceFit:true
					            //,groupTextTpl: '{text} (总共有{[values.rs.length]}次交易)'
								,getRowClass : function(r, idx, rowParams, ds){
											if((idx%2)==1){
											  return "x-orange-class";
										    }else{
											  return "x-yellow-class";
											}
							     }
					        })
					        ,plugins: [new Ext.grid.GroupSummary(),expander,new Ext.ux.grid.Search({
					             mode:'local'
					            ,iconCls:false
					            ,dateFormat:'m/d/Y'
					            ,minLength:2
					        })]
			        	});
				        this.bbar = new Ext.PagingToolbar({
				             pageSize: 10
				            ,store: ds
				            ,displayInfo: true
				            ,displayMsg: 'Displaying topics {0} - {1} of {2}'
				            ,emptyMsg: "No topics to display"
				        });
				     Neo.frontdesk.HistoryData.superclass.initComponent.apply(this,arguments);
			        //listen event below init function
			        this.on({"dblclick":this.dblclick});
			        }
			        ,dblclick :function(){
			        	var sm = this.getSelectionModel();
				   		var record=null;
						try{
							record=sm.getSelected();
							if(record==null){
								return;
							}
						}
						catch(e){
							try{
								record=sm.selection.record();
							}
							catch(ex){}
						}
			        	this.showWinForm(record);
			        }
			        ,showWinForm:function(record){
			        	var form = new Ext.FormPanel({
					        labelAlign: 'top',
					        frame:true,
					        bodyStyle:'padding:5px 5px 0',
					        width: 600,
					        items: [
					           	{
					            layout:'column',
					            items:[{
					                columnWidth:.5,
					                layout: 'form',
					                items: [{
					                    xtype:'textfield'
					                    ,fieldLabel: '客户姓名'
					                    ,name: 'guestName'
					                    ,id:'HDguestName'
					                    ,anchor:'95%'
					                }
					                ,{
					                    xtype:'textfield'
					                    ,fieldLabel: '交易单号'
					                    ,name: 'blancementID'
					                    ,id:'HDblancementID'
					                    ,anchor:'95%'
					                }]
					            },{
					                columnWidth:.5,
					                layout: 'form',
					                items: [{
					                    xtype:'combo'
					                    ,fieldLabel: '交易类型'
					                    ,name: 'blancementType'
					                    ,anchor:'95%'
					                    ,id:'HDblancementType'
					                    ,allowBlank:false
										,displayField:'blancementType'
										,mode:'local'
										,editable:false
										,triggerAction: 'all'
										,store:new Ext.data.SimpleStore({
											fields:['blancementType']
											,data:[
												['现金'],['银行卡'],['挂账']
											]
										})
					                },{
					                    xtype:'xdatetime'
					                    ,fieldLabel: '交易日期'
					                    ,value:new Date().format('m/d/y')
					                    ,name: 'blancementDate'
					                    ,anchor:'95%'
					                    ,id:'HDblancementDate'
					                    ,timeWidth:100
					                    ,allowBlank:false
					                }]
					            }]
					        },{
					            xtype:'htmleditor'
					            ,id:'HDremark'
					            ,fieldLabel:'备注内容'
					            ,height:200
					            ,anchor:'98%'
					        }]
					    });
					    //init formpanel
					    this.guestName = Ext.getCmp("HDguestName");
					    this.blancementID = Ext.getCmp("HDblancementID");
					    this.blancementType = Ext.getCmp("HDblancementType");
					    this.blancementDate = Ext.getCmp("HDblancementDate");
					    this.remark = Ext.getCmp("HDremark");
					    //console.log(guestName);
					    this.guestName.setValue(record.get('gtName'));
					    this.blancementID.setValue(record.get('blancementID'));
					    this.blancementType.setValue(record.get('blancementType'));
					    this.blancementDate.setValue(record.get('blancementDate'));
					    this.remark.setValue(record.get('remark'));
					    this.winForm = new Ext.Window({
						  	title: 'Detail'
						  	,id:win-form
							,modal: true
							,layout:'fit'
			                ,width:600
			                ,draggable:false
			                ,height:500
						    ,items: form
						    ,buttons: [{
			                    text:'保存',
			                    disabled:true
			                },{
			                    text: '关闭',
			                    handler: function(){
			                       //winForm.hide();
			                       this.winForm.hide();
			                    }.createDelegate(this)
                				}]
						   });
						this.winForm.show();
			        }
});

Ext.grid.historydata = [
    ['3m Co',71.72,'BR0002','挂账','9/1 12:00am','成功',210,'<div style="background-color: rgb(255, 204, 0);" align="center"><ol><li><font color="#ff0000"><i><u><b><font face="times new roman">客人要求进房要有拖鞋供应</font></b></u></i></font></li></ol></div>'],
    ['Alcoa Inc','29.01','BR0802','跑单','9/1 12:00am', '失败',210,'提前离店,未结账,住宿5天,总消费600元。已提交给相关部门处理'],
    ['Altria Group Inc',83.81,'BR0602','银行卡','9/1 12:00am','成功',210, '客人要求进房要有拖鞋供应'],
    ['American Express Company',52.55,'BR0302','现金','9/1 12:00am','成功',210, 'Finance'],
    ['American International Group, Inc.',64.13,'BR3002','跑单','9/1 12:00am','失败', 210,'提前离店,未结账,住宿5天,总消费600元。已提交给相关部门处理'],
    ['AT&T Inc.',31.61,'BR0002','跑单','9/1 12:00am', '失败',210,'Services'],
    ['Boeing Co.',75.43,'BR4302','现金','9/1 12:00am','成功', 210,'客人习惯床靠窗睡觉'],
    ['Caterpillar Inc.',67.27,'BR0202','挂账','9/1 12:00am','成功', 210,'Services'],
    ['Citigroup, Inc.',49.37,'BR0432','现金','9/1 12:00am','成功',210, 'Finance'],
    ['E.I. du Pont de Nemours and Company',40.48,'BR0402','银行卡','9/1 12:00am', '成功',210,'Manufacturing'],
    ['Exxon Mobil Corp',68.1,'BR0302','银行卡','9/1 12:00am','失败',210, '提前离店,未结账,住宿5天,总消费600元。已提交给相关部门处理'],
    ['General Electric Company',34.14,'BR0002','跑单','9/1 12:00am','成功',210,'Manufacturing'],
    ['General Motors Corporation',30.27,'BR0052','银行卡','9/1 12:00am','失败',210, 'Automotive'],
    ['Hewlett-Packard Co.',36.53,'BR0012','银行卡','9/1 12:00am', '成功',210,'Computer'],
    ['Honeywell Intl Inc',38.77,'BR0032','跑单','9/1 12:00am','失败',210, '提前离店,未结账,住宿5天,总消费600元。已提交给相关部门处理']
 /*   ,['Intel Corporation',19.88,0.31,1.58,'9/1 12:00am', 'Computer'],
    ['International Business Machines',81.41,0.44,0.54,'9/1 12:00am', 'Computer'],
    ['Johnson & Johnson',64.72,0.06,0.09,'9/1 12:00am', 'Medical'],
    ['JP Morgan & Chase & Co',45.73,0.07,0.15,'9/1 12:00am', 'Finance'],
    ['McDonald\'s Corporation',36.76,0.86,2.40,'9/1 12:00am', 'Food'],
    ['Merck & Co., Inc.',40.96,0.41,1.01,'9/1 12:00am', 'Medical'],
    ['Microsoft Corporation',25.84,0.14,0.54,'9/1 12:00am', 'Computer'],
    ['Pfizer Inc',27.96,0.4,1.45,'9/1 12:00am', 'Services', 'Medical'],
    ['The Coca-Cola Company',45.07,0.26,0.58,'9/1 12:00am', 'Food'],
    ['The Home Depot, Inc.',34.64,0.35,1.02,'9/1 12:00am', 'Retail'],
    ['The Procter & Gamble Company',61.91,0.01,0.02,'9/1 12:00am', 'Manufacturing'],
    ['United Technologies Corporation',63.26,0.55,0.88,'9/1 12:00am', 'Computer'],
    ['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am', 'Services'],
    ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am', 'Retail'],
    ['Walt Disney Company (The) (Holding Company)',29.89,0.24,0.81,'9/1 12:00am', 'Services']*/
];

Ext.reg('historydata',Neo.frontdesk.HistoryData);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?