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 + -
显示快捷键?