📄 erp2supplier.js
字号:
/*
* Ext JS Library 1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* licensing@extjs.com
*
* http://www.extjs.com/license
*
* @author Lingo
* @since 2007-10-02
* http://code.google.com/p/anewssystem/
*/
Ext.onReady(function(){
// 开启提示功能
Ext.QuickTips.init();
// 使用cookies保持状态
// TODO: 完全照抄,作用不明
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
// 布局管理器
var layout = new Ext.BorderLayout(document.body, {
center: {
autoScroll : false,
titlebar : false,
tabPosition : 'top',
closeOnTab : true,
alwaysShowTabs : true,
resizeTabs : true,
fillToFrame : true
}
});
// 设置布局
layout.beginUpdate();
layout.add('center', new Ext.ContentPanel('tab1', {
title : '基础信息管理',
toolbar : null,
closable : false,
fitToFrame : true
}));
/*
layout.add('center', new Ext.ContentPanel('tab2', {
title: "帮助",
toolbar: null,
closable: false,
fitToFrame: true
}));
*/
layout.restoreState();
layout.endUpdate();
layout.getRegion("center").showPanel("tab1");
// 表格的列模型
var columnModel = new Ext.grid.ColumnModel([
{header:'序号',sortable:true,dataIndex:'id',width:40},
{header:'供应商名称',sortable:true,dataIndex:'name',width:80},
{header:'类别',sortable:true,dataIndex:'type',width:70,renderer:function(value){
if (value == 0) {
return "<span style='color:green;'>染料供应商</span>";
} else if (value == 1) {
return "<span style='color:black;'>助剂供应商</span>";
} else if (value == 2) {
return "<span style='color:blue;'>设备供应商</span>";
} else if (value == 3) {
return "<span style='color:red;'>综合供应商</span>";
}
}},
{header:'所在地',sortable:true,dataIndex:'area',width:80},
{header:'联系人',sortable:true,dataIndex:'linkman',width:60},
{header:'电话',sortable:true,dataIndex:'tel',width:60},
{header:'传真',sortable:true,dataIndex:'fax',width:60},
{header:'地址',sortable:true,dataIndex:'address',width:60},
{header:'邮编',sortable:true,dataIndex:'zip',width:80},
{header:'E-mail',sortable:true,dataIndex:'email',width:80},
{header:'信用等级',sortable:true,dataIndex:'rank',width:60,renderer:function(value){
if (value == 0) {
return "<span style='color:green;'>优秀</span>";
} else if (value == 1) {
return "<span style='color:black;'>良好</span>";
} else if (value == 2) {
return "<span style='color:blue;'>一般</span>";
} else if (value == 3) {
return "<span style='color:red;'>差</span>";
}
}}
]);
columnModel.defaultSortable = false;
// 创建数据模型
var dataRecord = Ext.data.Record.create([
{name:'id'},
{name:'name'},
{name:'type'},
{name:'area'},
{name:'linkman'},
{name:'tel'},
{name:'fax'},
{name:'address'},
{name:'zip'},
{name:'email'},
{name:'rank'},
{name:'descn'}
]);
// 创建数据存储
var dataStore = new Ext.lingo.Store({
proxy : new Ext.data.HttpProxy({url:'pagedQuery.htm'}),
reader : new Ext.data.JsonReader({
root : "result",
totalProperty : "totalCount",
id : "id"
}, dataRecord),
remoteSort : true
});
var grid = new Ext.lingo.CheckRowSelectionGrid('main-grid', {
ds : dataStore
, cm : columnModel
, selModel : new Ext.lingo.CheckRowSelectionModel({useHistory:false})
, enableColLock : false
, loadMask : true
});
//grid.on('rowdblclick', this.edit, this);
//右键菜单
//grid.addListener('rowcontextmenu', this.contextmenu, this);
// 渲染表格
grid.render();
// 页头
var gridHeader = grid.getView().getHeaderPanel(true);
var toolbar = new Ext.Toolbar(gridHeader);
toolbar.add('-','供应商列表');
// 页脚
var gridFooter = grid.getView().getFooterPanel(true);
// 把分页工具条,放在页脚
var paging = new Ext.PagingToolbar(gridFooter, dataStore, {
pageSize : 15
, displayInfo : true
, displayMsg : '显示: {0} - {1} 共 {2} 条记录'
, emptyMsg : "没有找到相关数据"
, beforePageText : "第"
, afterPageText : "页,共{0}页"
});
var pageSizePlugin = new Ext.ux.PageSizePlugin();
pageSizePlugin.init(paging);
// 查询
var name = new Ext.form.TextField({
id:'name',
name:'name',
fieldLabel: '供应商名称'
});
var type = new Ext.form.ComboBox({
id:'typeId',
name:'type',
readOnly:true,
fieldLabel: '类别',
hiddenName:'type',
store: new Ext.data.SimpleStore({
fields: ['id', 'name'],
data : [[0,'染料供应商'],[1,'助剂供应商'],[2,'设备供应商'],[3,'综合供应商']]
}),
valueField:'id',
displayField:'name',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择',
selectOnFocus:true,
hideClearButton: false,
hideTrigger: false,
resizable:false
});
var linkman = new Ext.form.TextField({
id:'linkman',
name:'linkman',
fieldLabel:'联系人',
width:100
});
var no = new Ext.form.NumberField({
id:'no',
name:'no',
fieldLabel:'序号',
width:60
});
name.applyTo('name');
type.applyTo('typeId');
linkman.applyTo('linkman');
no.applyTo('no');
var search = new Ext.Button('search-button', {
text:'查询',
handler:function() {
dataStore.reload();
type.setValue('');
type.setRawValue('请选择');
type.clearValue();
}
});
var insertHtml =
'<div style="width:100%px;margin:auto;" id="insert-box">' +
'<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>' +
'<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">' +
'<h3 style="text-align:left;">添加供应商</h3>' +
'<div id="insert-form"></div>' +
'</div></div></div>' +
'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>' +
'</div>' +
'<div class="x-form-clear"></div>';
var updateHtml =
'<div style="width:100%px;margin:auto;" id="update-box">' +
'<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>' +
'<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">' +
'<h3 style="text-align:left;">修改供应商</h3>' +
'<div id="update-form"></div>' +
'</div></div></div>' +
'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>' +
'</div>' +
'<div class="x-form-clear"></div>';
var view = new Ext.Button('view-button', {
text:'查看',
handler:function(){
var m = grid.getSelections();
if(m.length == 0) {
Ext.MessageBox.alert('提示', '请选择查看的记录');
} else if (m.length == 1) {
window.open('./view.htm?id=' + m[0].get('id'));
} else {
Ext.MessageBox.alert('提示', '每次只能选择一条记录');
}
}
});
var insert = new Ext.Button('insert-button', {
text:'添加',
handler:function(){
//layout.getRegion("center").showPanel("tab1");
var tabs = layout.getRegion("center").tabs;
tabs.removeTab('insert-tab');
tabs.removeTab('update-tab');
var tab = tabs.addTab('insert-tab', '添加供应商', insertHtml, true);
var insertForm = Supplier.getInsertForm(tabs.removeTab.createDelegate(tabs, ['insert-tab']));
tabs.activate('insert-tab');
}
});
var update = new Ext.Button('update-button', {
text:'修改',
handler:function(){
var m = grid.getSelections();
if(m.length == 0) {
Ext.MessageBox.alert('提示', '请选择修改的记录');
} else if (m.length == 1) {
var tabs = layout.getRegion("center").tabs;
tabs.removeTab('insert-tab');
tabs.removeTab('update-tab');
var tab = tabs.addTab('update-tab', '修改供应商', updateHtml, true);
var closeTabDelegate = tabs.removeTab.createDelegate(tabs, ['update-tab']);
var updateForm = Supplier.getUpdateForm(closeTabDelegate, m[0].get('id'));
tabs.activate('update-tab');
} else {
Ext.MessageBox.alert('提示', '每次只能选择一条记录');
}
}
});
var remove = new Ext.Button('remove-button', {
text:'删除',
handler:function() {
var m = grid.getSelections();
if(m.length > 0) {
Ext.MessageBox.confirm('提示', '是否确定删除' , function(btn){
if(btn == 'yes') {
var selections = grid.getSelections();
var ids = new Array();
for(var i = 0, len = selections.length; i < len; i++){
try {
selections[i].get("id");
ids[i] = selections[i].get("id");
dataStore.remove(selections[i]);//从表格中删除
} catch (e) {
}
}
Ext.Ajax.request({
url : 'remove.htm?ids=' + ids,
success : function() {
Ext.MessageBox.alert('提示', '删除成功!');
//dataStore.reload();
},
failure : function(){Ext.MessageBox.alert('提示', '删除失败!');}
});
}
});
} else {
Ext.MessageBox.alert('警告', '至少要选择一条记录');
}
}
});
dataStore.on('beforeload', function() {
dataStore.baseParams = {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -