?? roommanage.js
字號:
?// JScript 文件
var Roomstore;
RoomManage=function(node)
{
//指定房間類型combox動態(tài)加載數(shù)據(jù)
var roomtypefileds = Ext.data.Record.create([
{name: 'typeid',mapping:'typeid'},{name: 'typename',mapping:'typename'},{name:'typedesc',mapping:'typedesc'}
]);
var roomtypestore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url:'DATA/RoomType/OpenRoomGetAllRoomType.aspx'
}),
reader: new Ext.data.JsonReader({
root: 'data',
id:'typeid'
},
roomtypefileds
)
});
roomtypestore.load();
//分頁每頁顯示數(shù)量
var pageSize = 12;
//指定列參數(shù)
var Roomfields=["roomid","number","bednumber","guestnumber","typeid","roomstate","roomdesc"];
Roomstore=new Ext.data.GroupingStore({
proxy:new Ext.data.HttpProxy(
{
url:"DATA/Room/GetRoomInfo.aspx",
method:"POST"
}),
reader:new Ext.data.JsonReader(
{
fields:Roomfields,
root:"data",
id:"roomid",
totalProperty:"totalCount"
}),
groupField:'roomstate',
sortInfo: {field:'number',direction: "ASC"}
});
Roomstore.load({params:{start:0,limit:pageSize}});
//--------------------------------------------------列選擇模式
var sm = new Ext.grid.CheckboxSelectionModel({
dataIndex:"roomid"
});
//--------------------------------------------------列頭
var cm = new Ext.grid.ColumnModel([
sm,
{
header:"房間ID",
dataIndex:"roomid",
tooltip:"房間唯一標識ID",
width:80,
//列不可操作
//menuDisabled:true,
//可以進行排序
sortable:true
},{
header:"房間號",
tooltip:"房間號碼",
width:80,
dataIndex:"number",
sortable:true,
renderer:function(val)
{
return '<b><font color=blue>'+val+'</font></b>';
}
},{
header:"床位數(shù)",
tooltip:"所在房間床位數(shù)量",
dataIndex:"bednumber",
sortable:true,
width:80,
editor:new Ext.form.NumberField({
style:'text-align:left'
}),
renderer:function(value)
{
return "<b><font color=red>"+value+"</font></b> 張"
}
},{
header:"容納客人數(shù)",
tooltip:"該房間所住客人數(shù)",
dataIndex:"guestnumber",
sortable:true,
editor:new Ext.form.NumberField({
style: 'text-align:left'
}),
renderer:function(value)
{
return "<b><font color=red>"+value+"</font></b> 人"
}
},{
header:"房間類型",
tooltip:"房間所屬類型",
dataIndex:"typeid",
sortable:true,
renderer:function(value,meta,record,rowIndex,colIndex,store)
{
if(value<1)
{
return "暫無數(shù)據(jù)";
}
else
{
return "<b><font color=#008B8B>"+roomtypestore.getAt(value-1).data.typename+"</font></b>";
}
},
editor:new Ext.form.ComboBox({
tpl: '<tpl for="."><div ext:qtip="{typename}. {typedesc}" class="x-combo-list-item">{typename}</div></tpl>',
store:roomtypestore,
typeAhead: true,
forceSelection: true,
triggerAction: 'all',
selectOnFocus:true,
width:130,
value:"typeid",
editable: false,
displayField:'typename',
valueField: 'typeid',
mode: 'remote'
})
},{
header:"房間狀態(tài)",
tooltip:"目前房間狀態(tài)具體狀態(tài)",
dataIndex:"roomstate",
sortable:true,
renderer:function(value)
{
if(value==0)
{
return "空閑";
}else if(value==1)
{
return "入住";
}else if(value==2)
{
return "維修";
}else if(value==3)
{
return "自用";
}else
{
return "其它";
}
},
editor:new Ext.form.ComboBox({
store:new Ext.data.SimpleStore({
data:[["空閑","0"],["入住","1"],["維修","2"],["自用","3"],["其它","4"]],
fields:["state","value"]
}),
tpl: '<tpl for="."><div ext:qtip="設置房間狀態(tài)為--{state}" class="x-combo-list-item">{state}</div></tpl>',
displayField:"state",
mode:"local",
valueField:"value",
triggerAction:"all"
})
},{
header:"房間描述",
tooltip:"房間具體描述",
width:200,
dataIndex:"roomdesc",
sortable:true,
editor:new Ext.form.TextField
}]);
//-----------------------右鍵菜單
var RoomRightClick=new Ext.menu.Menu
({
items:
[{
text: '刷新信息',
iconCls:'addicon',
handler:function()
{
Roomstore.reload();
}
},{
text:'添加房間',
iconCls:'editicon',
handler:AddRoomInfo
},{
text:'刪除房間',
iconCls:'deleteicon',
handler:DelRoomInfo
}]
});
//----------------------------------------------------定義grid
var Roomgrid = new Ext.grid.EditorGridPanel({
id:"RoomInfoGrid",
store:Roomstore,
sm:sm,
cm:cm,
loadMask:true,
stripeRows:true,
clicksToEdit:1,
//autoExpandColumn:7,
//超過長度帶自動滾動條
autoScroll:true,
border:false,
view: new Ext.grid.GroupingView({
//自動填充
forceFit:true,
sortAscText :'正序排列',
sortDescText :'倒序排列',
columnsText:'列顯示/隱藏',
groupByText:'根據(jù)本列分組',
showGroupsText:'是否采用分組顯示',
groupTextTpl: '{text} (<b><font color=red>{[values.rs.length]}</font></b> {[values.rs.length > 0 ? "條房間信息" : "暫無房間信息"]})'
}),
//分頁
bbar:new Ext.PagingToolbar({
store:Roomstore,
pageSize:pageSize,
//顯示右下角信息
displayInfo:true,
displayMsg:'當前記錄 {0} -- {1} 條 共 {2} 條記錄',
emptyMsg:"No results to display",
prevText:"上一頁",
nextText:"下一頁",
refreshText:"刷新",
lastText:"最后頁",
firstText:"第一頁",
beforePageText:"當前頁",
afterPageText:"共{0}頁"
}),
tbar:[
new Ext.Toolbar.Fill(),
new Ext.Toolbar.TextItem("<font color=blue>可點擊直接編輯</font>")
,"","-",
{
text:"刷新信息",
//默認樣式為按下
//pressed:true,
tooltip:"刷新當前頁面信息",
iconCls:"refreshicon",
handler:function()
{
Roomstore.reload();
}
},"","-"
,{
text:"添加房間",
//默認樣式為按下
//pressed:true,
tooltip:"添加新房間",
iconCls:"addicon",
handler:AddRoomInfo
},"","-","",{
text:"刪除房間",
tooltip:"刪除房間",
iconCls:"deleteicon",
handler:DelRoomInfo
},"-"],listeners:{
'contextmenu':function(e)
{
e.stopEvent();
},
"afteredit":function(e)
{
var g=e.grid;//得到當前grid
var r=e.record;//得到當前行所有數(shù)據(jù)
var f=e.field;//得到修改列
var v=e.value;//得到修改列修改后值
var orgin=e.originalValue;//修改列修改前值
var row=e.row;//當前行索引
var col=e.column;//當前點擊的列索引
//alert("ID:"+r.data.id+"-field:"+f+"-value:"+v+"-修改前值:"+orgin+"-坐標:"+row+","+col);
//通過ajax請求修改數(shù)據(jù)
if(r.data.bednumber<r.data.guestnumber)
{
Roomstore.reload();
Ext.Msg.alert("提示","對不起客人數(shù)必須小于床位數(shù)");
}
else
{
Ext.Ajax.request({
url:"URL/Room/SaveEditGridRoomInfo.aspx",
method:"POST",
params:{
field:f,
value:v,
roomid:r.data.roomid
},
success:function(response,option)
{
Roomstore.reload();
},
failure:function()
{
Roomstore.reload();
Ext.Msg.alert("不好意思","修改失敗了!");
}
});
}
},
"rowcontextmenu":function(grid,rowIndex,e)
{
e.stopEvent();
RoomRightClick.showAt(e.getXY());
}
}
});
GridMain(node,Roomgrid,"roomicons");
}
///--------------------------添加房間信息
AddRoomInfo=function()
{
AddRoonInfos();
}
//----------------------刪除房間信息
DelRoomInfo=function()
{
var row=Ext.getCmp("RoomInfoGrid").getSelectionModel().getSelections();
if(row.length==0)
{
Ext.Msg.alert("提示信息","請您至少選擇一個!");
}
else{
Ext.Msg.confirm("提示!","您確定要刪除房間信息嗎?",function(btn){
if(btn=="yes")
{
DelRoomInfos(row);
}
else
{
}
})
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -