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

📄 nav_empinput.js

📁 一个简单ssh+extjs的人力资源管理系统(转载)
💻 JS
字号:
Ext.onReady(function() {

	/*------------------------------基本信息录入表单面板-----------------------*/
	var inputForm = new Ext.form.FormPanel({
		id : 'input_form',
		title : '<div style="text-align:left">人员基本信息</div>',
		renderTo : 'input_form',
		frame : true,
		height : 260,
		labelAlign : 'right',
		labelWidth : 80,
		bodyStyle : 'padding:5px 0 5px',
		defaults : {
			labelSeparator : ':'
		},
		items : [{
			xtype : 'panel',
			layout : 'column',
			border : false,
			items : [{
				/*---------------------第一列--------------------------- */
				columnWidth : .25,
				layout : 'form',
				border : false,
				defaultType : 'textfield',
				defaults : {
					width : 100
				},
				items : [new Ext.form.ComboBox({
							hiddenName : 'pk_outer_emptype',
							fieldLabel : '人员类别',
							allowBlank : false,
							width : 100,
							store : new Ext.data.Store({
										proxy : new Ext.data.HttpProxy({
													url : 'getById.do?type=emptype',
													disableCaching : false
												}),
										reader : new Ext.data.JsonReader({
													root : 'data'
												}, ['id', 'typename'])
									}),
							displayField : 'typename',
							valueField : 'id',
							typeAhead : true,
							forceSelection : true,
							selectOnFocus : true,
							triggerAction : 'all'
						}), {
					name : 'name',
					fieldLabel : '姓名',
					allowBlank : false
				}, {
					name : 'usedname',
					fieldLabel : '曾用名'
				}, {
					name : 'residentplace',
					fieldLabel : '住址'
				}, {
					xtype : 'combo',
					hiddenName : 'education',
					fieldLabel : '受教育程度',
					allowBlank : false,
					width : 100,
					mode : 'local',
					store : new Ext.data.SimpleStore({
								fields : ['value', 'display'],
								data : [['primary', '小学'], ['junior', '初中'],
										['senior', '高中'],
										['regular college', '大学本科'],
										['master', '研究生'], ['doctor', '博士']]
							}),
					displayField : 'display',
					valueField : 'value',
					typeAhead : true,
					forceSelection : true,
					selectOnFocus : true,
					triggerAction : 'all'
				}, {
					name : 'computerlevel',
					fieldLabel : '计算机水平'
				}, {
					name : 'officetel',
					fieldLabel : '办公电话'
				}]
			}, {
				/*---------------------第二列--------------------------- */
				columnWidth : .25,
				layout : 'form',
				border : false,
				defaultType : 'textfield',
				defaults : {
					width : 100
				},
				items : [new Ext.form.ComboBox({
							hiddenName : 'pk_outer_dept',
							fieldLabel : '部门选择',
							allowBlank : false,
							width : 100,
							store : new Ext.data.Store({
										proxy : new Ext.data.HttpProxy({
													url : 'getById.do?type=dept',
													disableCaching : false
												}),
										reader : new Ext.data.JsonReader({
													root : 'data'
												}, ['id', 'deptname'])
									}),
							displayField : 'deptname',
							valueField : 'id',
							typeAhead : true,
							forceSelection : true,
							selectOnFocus : true,
							triggerAction : 'all'
						}), {
					name : 'idcard',
					fieldLabel : '身份证号',
					allowBlank : false,
					vtype : 'alphanum',
					vtypeText : '身份证号必须是由0-9,A-Z组成的字符串'
				}, {
					xtype : 'datefield',
					name : 'birthdate',
					fieldLabel : '生日',
					allowBlank : false,
					width : 100,
					format : 'Y-m-d'
				}, {
					xtype : 'combo',
					name : 'marriagestat',
					fieldLabel : '婚姻状况',
					allowBlank : false,
					width : 100,
					mode : 'local',
					store : new Ext.data.SimpleStore({
								fields : ['value', 'display'],
								data : [['unmarried', '未婚'], ['married', '已婚'],
										['divorced', '离异']]
							}),
					displayField : 'display',
					valueField : 'value',
					typeAhead : true,
					forceSelection : true,
					selectOnFocus : true,
					triggerAction : 'all'
				}, {
					name : 'partyname',
					fieldLabel : '政治面貌'
				}, {
					name : 'firstforlang',
					fieldLabel : '第一外语'
				}, {
					name : 'mobile',
					fieldLabel : '移动电话'
				}]
			}, {
				/*---------------------第三列--------------------------- */
				columnWidth : .25,
				layout : 'form',
				border : false,
				defaultType : 'textfield',
				defaults : {
					width : 100
				},
				items : [new Ext.form.ComboBox({
							hiddenName : 'pk_outer_job',
							fieldLabel : '岗位选择',
							allowBlank : false,
							width : 100,
							store : new Ext.data.Store({
										proxy : new Ext.data.HttpProxy({
													url : 'getById.do?type=job',
													disableCaching : false
												}),
										reader : new Ext.data.JsonReader({
													root : 'data'
												}, ['id', 'jobname'])
									}),
							displayField : 'jobname',
							valueField : 'id',
							typeAhead : true,
							forceSelection : true,
							selectOnFocus : true,
							triggerAction : 'all'
						}), {
					name : 'sin',
					fieldLabel : '社保号码',
					vtype : 'alphanum',
					vtypeText : '社保号必须是数字'
				}, {
					hiddenName : 'bloodtype',
					fieldLabel : '血型',
					xtype : 'combo',
					width : 100,
					mode : 'local',
					store : new Ext.data.SimpleStore({
								fields : ['value', 'display'],
								data : [['A', 'A型'], ['B', 'B型'], ['O', 'O型'],
										['unknown', '其他']]
							}),
					displayField : 'display',
					valueField : 'value',
					typeAhead : true,
					forceSelection : true,
					selectOnFocus : true,
					triggerAction : 'all'
				}, {
					name : 'health',
					fieldLabel : '健康状况'
				}, {
					name : 'partydate',
					fieldLabel : '入党日期',
					xtype : 'datefield',
					width : 100,
					format : 'Y-m-d'
				}, {
					name : 'firstforlanglevel',
					fieldLabel : '第一外语水平'
				}, {
					name : 'hometel',
					fieldLabel : '家庭电话'
				}]
			}, {
				/*---------------------第四列--------------------------- */
				columnWidth : .25,
				layout : 'form',
				border : false,
				defaultType : 'textfield',
				defaults : {
					width : 100
				},
				items : [{
					hiddenName : 'jobtype',
					fieldLabel : '工作类型',
					xtype : 'combo',
					width : 100,
					mode : 'local',
					store : new Ext.data.SimpleStore({
								fields : ['value', 'display'],
								data : [['long-time', '固定工作'],
										['part-time', '兼职'], ['intern', '实习'],
										['temporary work', '临时工'],
										['others', '其他']]
							}),
					displayField : 'display',
					valueField : 'value',
					typeAhead : true,
					forceSelection : true,
					selectOnFocus : true,
					triggerAction : 'all'
				}, {
					xtype : 'radiogroup',
					fieldLabel : '性别',
					items : [{
								boxLabel : '男',
								name : 'sex',
								inputValue : 1,
								checked : true
							}, {
								boxLabel : '女',
								name : 'sex',
								inputValue : 2
							}]
				}, {
					name : 'nativeplace',
					fieldLabel : '祖籍'
				}, {
					name : 'jobdate',
					fieldLabel : '参加工作日期',
					xtype : 'datefield',
					width : 100,
					format : 'Y-m-d'
				}, {
					name : 'email',
					fieldLabel : 'Email',
					vtype : 'email',
					vtypeText : '请以正确格式填写!'
				}, {
					name : 'interest',
					fieldLabel : '爱好'
				}]
			}]
		}],
		tbar : [{
					text : '新建',
					handler : function(btn) {
						for (var i = 0; i < fields.length; i++) {
							fields[i].enable();
						}
					}
				}, {
					text : '保存',
					handler : function(btn) {
						doSubmit(inputForm, 'new.do?type=emp');
					}
				}]
	});
	var fields = getFields(inputForm);
	for (var i = 0; i < fields.length; i++) {
		fields[i].disable();
	}

	/*------------------------------主面板-----------------------------------*/
	new Ext.Panel({
				renderTo : 'tab_nav_empinput',
				frame : true,
				closeAction : 'hide',// 保证关闭之后再次点击树节点能够再次显示此界面
				height : 600,
				autoHeight : false,
				layout : 'table',
				layoutConfig : {
					columns : 1
				},
				items : [inputForm]
			});
	// 提交表单函数
	function doSubmit(formName, path) {
		if (formName.form.isValid()) {
			formName.form.submit({
						url : path,
						method : 'POST',
						waitText : '正在处理你的请求...',
						success : function(form, action) {
							try {
								var flag = action.result.success;
								if (flag === false)
									Ext.Msg.alert('提示', action.result.message);
								else if (flag === true)
									Ext.Msg.alert('提示', action.result.message);
							} catch (e) {
								e.toString();
							}
						},
						failure : function(form, action) {
							try {
								Ext.MessageBox.alert('提示',
										action.result.message);
							} catch (e) {
								e.toString();
							}
						}
					});
		}
	}
});
// 获得表单的每个字段
function getFields(fPanel) {
	var textArray = fPanel.findByType('textfield');
	var comboArray = fPanel.findByType('combo');
	var radioArray = fPanel.findByType('radiogroup');
	var comboTreeArray = fPanel.findByType('combotree');
	var dateArray = fPanel.findByType('datefield');
	var areaArray = fPanel.findByType('textarea');
	var fieldsArray = new Array();
	fieldsArray = textArray.concat(comboArray, radioArray, comboTreeArray,
			dateArray, areaArray);
	return fieldsArray;
}

⌨️ 快捷键说明

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