打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ExtJs 页面布局 2
 下面的页面有分为三个部门,用的是hbox布局方式

----------------------------------------------------------------------------------------------------------------------
Ext.ns("ff.bx");
/**
 * 组合促销方案门店编辑
 * 
 * @param {}
 * config
 */

ff.bx.promopackStoreUpdate = function(config) {

// 设置id前缀,以传入配置为准
config = Ext.apply({
prefix : "promopackStoreUpdate"
}, config);

this.init = function() {
// 判断窗口是否打开,是直接返回,不是重新创建
var _showpanel = Ext.getCmp(this.genId("main"));
if (_showpanel) {
return _showpanel;
}
var _this = this;
// 无方案门店store
var _noCorpStore = new Ext.data.JsonStore({
url : 'data/promopack4.txt',
totalProperty : 'totalCount',
root : 'data',
fields : [{
name : 'corpid',
type : 'string'
}, {
name : 'corpcode',
type : 'string'
}, {
name : 'corpname',
type : 'string'
}],
listeners : {
scope : this,
beforeload : function(sto, obj) {
sto.baseParams.promopackid = config.promopackid;
}
}
});

// 无方案门店CheckboxSelectionModel
this._noCorpCheckboxSelectionModel = new Ext.grid.CheckboxSelectionModel({
});
// 无方案门店cm
this._noCorpcm = new Ext.grid.ColumnModel([this._noCorpCheckboxSelectionModel, {
header : '门店标识',
dataIndex : 'corpid',
width : 100,
hidden : true,
hideable : false,
sortable : true,
resizable : true
}, {
header : '门店编号',
id : 'corpcode',
dataIndex : 'corpcode',
width : 100,
hideable : false,
sortable : true,
resizable : true
}, {
header : '门店名称',
dataIndex : 'corpname',
width : 150,
hideable : false,
sortable : true,
resizable : true
}]
);
_noCorpStore.load({
params : {
start : 0,
limit : gLimit
}
});
// 无方案门店显示
var _noCorpGird = new Ext.grid.EditorGridPanel({
title : '无方案门店',
id : this.genId('_noCorpGird'),
loadMask : true,
autoScorll : true,
closable : true,
collapsed : false,
store : _noCorpStore,
cm : _this._noCorpcm,
sm : _this._noCorpCheckboxSelectionModel,
autoScroll : true,
flex : 4.5,
frame : true,
listeners : {
"beforedestroy" : function(obj) {
obj.getStore().removeAll();
obj = null;
}
},
bbar : [{
xtype : "paging",
pageSize : gLimit,
store : _noCorpStore,
displayInfo : true,
displayMsg : '数据第 {0}条 - 第{1}条,共 {2}条',
emptyMsg : "没有数据"
}]
});
//-------------------当前方案门店-------------------------------------
// 当前方案门店store
var _haveCorpStore = new Ext.data.JsonStore({
url : 'data/promopack5.txt',
totalProperty : 'totalCount',
root : 'data',
fields : [{
name : 'corpid',
type : 'string'
}, {
name : 'corpcode',
type : 'string'
}, {
name : 'corpname',
type : 'string'
}],
listeners : {
scope : this,
beforeload : function(sto, obj) {
sto.baseParams.promopackid = config.promopackid;
}
}
});

// 当前方案门店
this._haveCorpCheckboxSelectionModel = new Ext.grid.CheckboxSelectionModel({
});

// 当前方案门店cm
this._haveCorpcm = new Ext.grid.ColumnModel([this._haveCorpCheckboxSelectionModel, {
header : '门店标识',
dataIndex : 'corpid',
width : 100,
hidden : true,
hideable : false,
sortable : true,
resizable : true
}, {
header : '门店编号',
dataIndex : 'corpcode',
width : 100,
//hidden : true,
hideable : false,
sortable : true,
resizable : true
}, {
header : '门店名称',
dataIndex : 'corpname',
width : 100,
hideable : false,
sortable : true,
resizable : true
}]);
_haveCorpStore.load({
params : {
start : 0,
limit : gLimit
}
});
// 当前方案门店显示
var _haveCorpGrid = new Ext.grid.EditorGridPanel({
title : '当前方案门店',
loadMask : true,
id : this.genId('haveCorpGrid'),
autoScorll : true,
closable : true,
collapsed : false,
store : _haveCorpStore,
cm : _this._haveCorpcm,
sm : _this._haveCorpCheckboxSelectionModel,
autoScroll : true,
flex : 4.5,
frame : true,
listeners : {
"beforedestroy" : function(obj) {
obj.getStore().removeAll();
obj = null;
}
},
bbar : [{
xtype : "paging",
pageSize : gLimit,
store : _haveCorpStore,
displayInfo : true,
displayMsg : '数据第 {0}条 - 第{1}条,共 {2}条',
emptyMsg : "没有数据"
}]
});
//----------------中间按钮-------------------------------------
/**
* 添加门店
*/
this.btn_add = function() {
var jsonData = [];
var selmodel = Ext.getCmp(_this.genId('_noCorpGird'))
.getSelectionModel();
var _records;
if (selmodel.hasSelection()) {
Ext.Msg.confirm('提示', '是否需要添加门店!', function(button) {
if (button == 'yes') {
_records = selmodel.getSelections();
Ext.each(_records, function(item) {
var record = {
corpid : item.get('corpid')
}
jsonData.push(record);
});
if (jsonData.length > 0) {
var myMask = new Ext.LoadMask(Ext.getBody(), {
msg : "提交中,请等待..."
});
myMask.show();
Ext.Ajax.request({
url : 'promo_adddept.do',
method : 'post',
success : function(response, opts) {
myMask.hide();
var ret = Ext.decode(response.responseText);
if (ret.data[0].ret == "1") {
Ext.Msg.alert('提示', '门店添加成功!');
Ext.each(_records, function(item) {
var record = new Ext.data.Record();
record.set('corpid', item
.get('corpid'));
record.set('corpcode',
item.get('corpcode'));
record.set('corpname',
item.get('corpname'));
_haveCorpStore.add(record);
_noCorpStore.remove(item);
});
} else {
Ext.Msg.alert('提示', '门店添加错误!');
return;
}
},
failure : function() {
myMask.hide();
Ext.Msg.alert('提示', '网络错误!');
return;
},
params : {
jsonData : Ext.util.JSON.encode(jsonData),
promopackid:config.promopackid
}
});
}
}
}, this);
} else {
Ext.Msg.alert('提示', '请选择需要添加的门店信息!');
return;
}
}
/**
* 删除门店
* @memberOf {TypeName} 
* @return {TypeName} 
*/
this.btn_delete = function() {
var jsonData = [];
var selmodel = Ext.getCmp(_this.genId('haveCorpGrid'))
.getSelectionModel();
var _records;
if (selmodel.hasSelection()) {
Ext.Msg.confirm('提示', '是否要删除门店!', function(button) {
if (button == 'yes') {
_records = selmodel.getSelections();
Ext.each(_records, function(item) {
var record = {
corpid : item.get('corpid')
}
jsonData.push(record);
});
if (jsonData.length > 0){
var myMask = new Ext.LoadMask(Ext.getBody(), {
msg : "提交中,请等待..."
});
myMask.show();
Ext.Ajax.request({
url : 'promo_deldept.do',
method : 'post',
success : function(response, opts) {
myMask.hide();
var ret = Ext.decode(response.responseText);
if (ret.data[0].ret == "1") {
Ext.Msg.alert('提示', '门店删除成功!');
Ext.each(_records, function(item) {
var record = new Ext.data.Record();
record.set('corpid', item
.get('corpid'));
record.set('corpcode',
item.get('corpcode'));
record.set('corpname',
item.get('corpname'));
_noCorpStore.add(record);
_haveCorpStore.remove(item);
});
} else {
Ext.Msg.alert('提示', '卡种信息删除错误!');
return;
}
},
failure : function() {
myMask.hide();
Ext.Msg.alert('提示', '网络错误!');
return;
},
params : {
jsonData : Ext.util.JSON.encode(jsonData),
promopackid:config.promopackid
}
});
}
}
}, this);
} else {
Ext.Msg.alert('提示', '请选择需要删除的门店!');
return;
}
}

// 中间 修改的按钮
var fieldSet = new Ext.ButtonGroup({
autoHeight : false,
flex : 1,
layout : "column",
defaultType : 'button',
frame : false,
bodyStyle : 'padding:180px 0px 180px 0px',
items : [{
columnWidth : 1,
text : "添加>>>",
handler : _this.btn_add
}, {
columnWidth : 1,
xtype : "tbspacer",
height : 20
}, {
columnWidth : 1,
text : "<<<去除",
handler : _this.btn_delete
}]
});
// 主窗口定义
var _mainform = new Ext.form.FormPanel({
//title : "卡套餐设置",
id : this.genId('main'),
layout : {
type : 'hbox',
align : 'stretch',
pack : 'start'
},
frame : true,
collapsed : false,
closable : true,
items : [_noCorpGird, fieldSet, _haveCorpGrid]
});

return _mainform;

}
ff.bx.promopackStoreUpdate.superclass.constructor.call(this, config);
}
Ext.extend(ff.bx.promopackStoreUpdate, Ext.sydev.Sheet);
----------------------------------------------------------------------------------------------------------------------
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Extjs submit 和ajax提交原理
ExtJs中一个完整GridPanel实例(转)
Ext.Ajax.request同步请求实现 - 漂流的足迹 - JavaEye技术网站
Extjs动态创建grid
Ext Store
获取Ext grid数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服