📄 nav_empinput.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 + -