⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user.js

📁 图书管理系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
	ds_user.baseParams.conditions = text_search_user.getValue(); 
	ds_user.load({params : {start : 0,limit : 20}});
}

var btn_search_user = new Ext.Button({
	text : '查询',
	iconCls : 'icon-search',
	handler : searchUser
});

var ds_user = new Ext.data.Store({
	url : 'findAllUser.action',
	reader : new Ext.data.JsonReader({totalProperty : 'totalProperty',root : 'root'}, 
	[{name : 'userId',type : 'int'}, 
	{name : 'userName',type : 'string'}, 
	{name : 'password',type : 'string'}, 
	{name : 'mobilePhone',type : 'string'}, 
	{name : 'emplName',type : 'string'}, 
	{name : 'emplNo',type : 'string'}, 
	{name : 'sex',type : 'string'}, 
	{name : 'age',type : 'int'},
	{name : 'companyId',type : 'int'},
	{name : 'companyName',type : 'string'},
	{name : 'deptId',type : 'int'},
	{name : 'deptName',type : 'string'},
	{name : 'dutyId',type : 'int'},
	{name : 'dutyName',type : 'string'},
	{name : 'manager',type : 'bool'},
	{name : 'remark',type : 'string'}])
});

var companyId, dutyId, deptId;

var grid_user = new Ext.grid.EditorGridPanel({
	title : '用户管理',
	iconCls : 'icon-grid',
	loadMask : {msg : '数据加载中...'},
	region : 'center',
	cm : cm_user,
	ds : ds_user,
	plugins : checkColumn,
	sm : new Ext.grid.RowSelectionModel({singleSelect : true}),
	enableColumnMove : false,
	trackMouseOver : false,
	frame : true,
	autoExpandColumn : 'remark',
	clicksToEdit : 1,
	tbar : [btn_add_user, '-', btn_del_user, '-',text_search_user, btn_search_user],
	bbar : new Ext.PagingToolbar({
		pageSize : 20,
		store : ds_user,
		displayInfo : true,
		displayMsg : '第 {0} - {1} 条  共 {2} 条',
		emptyMsg : "没有记录"
	}),
	listeners : {
		'afteredit' : function(e) {
			Ext.Ajax.request({
				url : 'updateUser.action',
				params : {
					fieldName : e.field,
					fieldValue : e.value,
					companyId : e.field == 'companyName' ? companyId : null,
					deptId : e.field == 'deptName' ? deptId : null,
					dutyId : e.field == 'dutyName' ? dutyId : null,
					userId : e.record.data.userId
				},
				success : function() {
					if (e.field == 'companyName') {// 如果公司修改成功则同步当前显示修改记录的公司id
						e.record.set('companyId', companyId);
					}
				},
				failure : function() {
					Ext.Msg.show({
						title : '错误提示',
						msg : '修改数据发生错误,操作将被回滚!',
						fn : function() {e.record.set(e.field, e.originalValue);},
						buttons : Ext.Msg.OK,
						icon : Ext.Msg.ERROR
					});
				}
			});
		},
		'cellclick' : function(grid, rowIndex) { // 为了部门下拉能够提取到分公司id的参数
			companyId = grid.getStore().getAt(rowIndex).data.companyId;
		}
	}
});

var window_add_user = new Ext.Window({
	title : '添加用户',
	width : 320,
	resizable : false,
	autoHeight : true,
	modal : true,
	closeAction : 'hide',
	listeners : {
		'hide' : function() {
			this.setTitle('添加用户');
			this.findById('user.userName').ownerCt.form.reset();
		}
	},
	items : [new Ext.FormPanel({
		border : false,
		baseCls : 'x-plain',
		bodyStyle : 'padding:5px 5px 0',
		labelAlign : 'right',
		labelWidth : 70,
		url : 'saveUser.action',
		defaults : {anchor : '93%',msgTarget : 'side'},
		defaultType : 'textfield',
		items : [{
			fieldLabel : '用户名',
			id : 'user.userName',
			name : 'user.userName',
			allowBlank : false,
			maxLength : 30
		}, {
			fieldLabel : '密码',
			id : 'password1',
			name : 'user.password',
			allowBlank : false,
			minLength : 6,
			maxLength : 30
		}, {
			xtype : 'combo',
			fieldLabel : '所属分公司',
			id : 'company',
			hiddenName : 'user.companyId',
			valueField : 'companyId',
			displayField : 'companyName',
			mode : 'remote',
			store : ds_company_select,
			selectOnFocus : true,
			editable : false,
			allowBlank : false,
			triggerAction : 'all',
			loadingText : '加载中...',
			emptyText : '公司名称',
			listeners : {
				'select' : function(combo, record, index) {
					this.ownerCt.findById('dept').reset(); // 可以通过findById来获得同一个表单中的ComboBox
					ds_dept_select.baseParams.companyId = this.ownerCt.form.findField('user.companyId').getValue();
					ds_dept_select.reload();
					this.ownerCt.form.findField('user.companyName').setValue(record.data.companyName);
				}
			}
		}, {
			xtype : 'hidden',
			name : 'user.companyName'
		}, {
			xtype : 'combo',
			fieldLabel : '所属部门',
			id : 'dept',
			hiddenName : 'user.deptId',
			valueField : 'deptId',
			displayField : 'deptName',
			mode : 'remote',
			store : ds_dept_select,
			selectOnFocus : true,
			editable : false,
			allowBlank : false,
			triggerAction : 'all',
			loadingText : '加载中...',
			emptyText : '部门名称',
			listeners : {
				'select' : function(combo, record, index) {
					this.ownerCt.form.findField('user.deptName').setValue(record.data.deptName);
				},
				'beforequery' : function(queryEvent) {
					if (!this.ownerCt.form.findField('user.companyId').getValue()) {
						queryEvent.cancel = true;
					}
				}
			}
		}, {xtype : 'hidden',name : 'user.deptName'}, 
		   {xtype : 'combo',
			fieldLabel : '职称',
			id : 'duty',
			hiddenName : 'user.dutyId',
			valueField : 'dutyId',
			displayField : 'dutyName',
			mode : 'remote',
			store : ds_duty_select,
			selectOnFocus : true,
			editable : false,
			allowBlank : false,
			triggerAction : 'all',
			loadingText : '加载中...',
			emptyText : '请选择职称',
			listeners : {
				'select' : function(combo, record, index) {
					this.ownerCt.form.findField('user.dutyName').setValue(record.data.dutyName);
				}
			}
		}, {xtype : 'hidden',name : 'user.dutyName'}, 
		   {fieldLabel : '用户编码',name : 'user.emplNo',maxLength : 20}, 
		   {fieldLabel : '用户姓名',name : 'user.emplName',allowBlank : false,maxLength : 20}, 
		   {xtype : 'combo',
			fieldLabel : '性别',
			mode : 'local',
			name : 'user.sex',
			editable : false,
			store : new Ext.data.SimpleStore({
				data : [['男', '男'], ['女', '女']],
				fields : ['text', 'value']
			}),
			displayField : 'text',
			valueField : 'value',
			mode : 'local',
			triggerAction : 'all',
			emptyText : '请选择性别'
		}, {
			xtype : 'numberfield',
			decimalPrecision : 1,
			fieldLabel : '年龄',
			maxLength : 3,
			maxLengthText : '年龄不符合实际',
			maxValue : 120,
			maxText : '最大允许年龄为120岁',
			name : 'user.age'
		}, {fieldLabel : '联系电话',name : 'user.mobilePhone',allowBlank : false,maxLength : 20}, 
		   {fieldLabel : '备注',name : 'user.remark',xtype : 'textarea',maxLength : 100}
		],
		buttonAlign : 'right',
		minButtonWidth : 60,
		buttons : [{
			text : '添加',
			handler : function(btn) {
				var frm = this.ownerCt.form;
				if (frm.isValid()) {
					btn.disable();
					var unfield = frm.findField('user.userName');
					frm.submit({
						waitTitle : '请稍候',
						waitMsg : '正在提交表单数据,请稍候...',
						success : function(form, action) {
							var store = grid_user.getStore();
							if (store.data.length <= 20) {
								var user = new User({
									userId : action.result.userId,
									userName : unfield.getValue(),
									companyId : form.findField('user.companyId').getValue(),
									companyName : Ext.get('company').dom.value,
									deptId : form.findField('user.deptId').getValue(),
									deptName : Ext.get('dept').dom.value,
									dutyId : form.findField('user.dutyId').getValue(),
									dutyName : Ext.get('duty').dom.value,
									emplName : form.findField('user.emplName').getValue(),
									emplNo : form.findField('user.emplNo').getValue(),
									sex : form.findField('user.sex').getValue(),
									age : form.findField('user.age').getValue(),
									password : form.findField('user.password').getValue(),
									mobilePhone : form.findField('user.mobilePhone').getValue(),
									remark : form.findField('user.remark').getValue()
								});
								store.insert(0, [user]);
								if (store.data.length > 20) {
									store.remove(store.getAt(store.data.length - 1));
								}
							}
							window_add_user.setTitle('[ ' + unfield.getValue() + ' ]   添加成功!!');
							unfield.reset();
							btn.enable();
						},
						failure : function() {
							Ext.Msg.show({
								title : '错误提示',
								msg : '"' + unfield.getValue() + '" ' + '名称可能已经存在!',
								buttons : Ext.Msg.OK,
								fn : function() {
									unfield.focus(true);
									btn.enable();
								},
								icon : Ext.Msg.ERROR
							});
						}
					});
				}
			}
		}, {text : '重置',handler : function() {this.ownerCt.form.reset();}
		}, {text : '取消',handler : function() {this.ownerCt.ownerCt.hide();}
		}]
	})]
});

var p_user = {
	id : 'user-panel',
	border : false,
	layout : 'border',
	items : [grid_user]
};
ds_user.load({
	params:{
		start : 0,
			limit : 20
	}
})

⌨️ 快捷键说明

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