67.员工职位变动js
1.员工职位jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>员工调动</title>
<script type="text/javascript">
var jobChange = new JobChangeInfoPanel();
tabId = Ext.getCmp('mainTab').getActiveTab().id.split('_')[1];
juage(tabId, "jobch", jobChange, "jobChangeDiv");
</script>
</head>
<body>
<div id="jobChangeDiv"></div>
</body>
</html>
2.员工职位信息js
/**
* @author sux
* @desc 职员调动信息
* @date 2011-02-13
*/
Ext.namespace("hrmsys.jobChange"); var JobChangeInfoPanel = Ext.extend(Ext.grid.GridPanel,{
id: 'jobChangeInfo',
constructor: function(){
Ext.QuickTips.init(); var sm = new Ext.grid.CheckboxSelectionModel();
var number = new Ext.grid.RowNumberer();
//该类用于定义表格的列模型
var cm = new Ext.grid.ColumnModel([
number, sm,
{
header: '员工',
dataIndex: 'employee',
align: 'center'
},{
header: '原部门',
dataIndex: 'departmentByJcOldDept',
align: 'center'
},{
header: '原职位',
dataIndex: 'jobByJcOldJob',
align: 'center'
},{
header: '新部门',
dataIndex: 'departmentByJcNewDept',
align: 'center'
},{
header: '新职位',
dataIndex: 'jobByJcNewJob',
align: 'center'
}]); jobChangeStore = new Ext.data.JsonStore({
url:'jobChange_list.action',
root:'root',
totalProperty:'totalProperty',
fields: ['jcId',{name: 'employee', convert: function(v){return v.empName}},
{name: 'departmentByJcNewDept', convert: function(v){return v.deptName}},
{name: 'departmentByJcOldDept', convert: function(v){return v.deptName}},
{name: 'jobByJcNewJob', convert: function(v){return v.jobName}},
{name: 'jobByJcOldJob', convert: function(v){return v.jobName}}]
}); JobChangeInfoPanel.superclass.constructor.call(this,{
width: Ext.getCmp('mainTab').getActiveTab().getInnerWidth(),
height: Ext.getCmp('mainTab').getActiveTab().getInnerHeight(),
/**表格高度自适应 document.body.clientHeight浏览器页面高度 start**/
monitorResize: true,
doLayout: function() {
this.setWidth(document.body.clientWidth-205);
this.setHeight(document.body.clientHeight-140);
Ext.grid.GridPanel.prototype.doLayout.call(this);
} ,
viewConfig:{
forceFit: true,
enableRowBody:true//是否包含行体
},
//columns:[{header: 'kk',dataIndex: 'jcId'}],
cm: cm,
sm: sm,
store: jobChangeStore,
tbar: new Ext.Toolbar({
items:['条目:',{
width: 80,
xtype: 'combo',
mode: 'local',
store: new Ext.data.SimpleStore({
fields: ['name', 'value'],
data: [['empId','员工工号'],['empName','员工姓名']]
}),
displayField: 'value',
valueField: 'name',
id: 'jc_condition',
triggerAction: 'all',
editable: false },' 内容:',{
xtype: 'textfield',
id: 'jc_conditionValue',
width: 80
},{
text: '删除',
id: 'jobch_delete',
handler: this.jobChangeDelFn
},{
text: '添加',
id: 'jobch_add',
handler: this.jobChangeAddFn
},{
text: '修改',
id: 'jobch_update',
handler: this.jobChangeUpdateFn
},{
text: '详情',
id: 'jobch_detail',
handler: this.jobChangeDetailFn
}]
}),
bbar: new PagingToolbar(jobChangeStore, 20)
});
jobChangeStore.load({
params: {
start: 0,
limit: 20
}
});
},
//查询
jobChangeQueryFn:function(){
var condition = Ext.getCmp('jc_condition').getValue();
var conditionValue = Ext.getCmp('jc_conditionValue').getValue();
jobChangeStore.load({
params: {
condition: condition,
conditionValue: conditionValue,
start: 0,
limit: 20
}
});
},
//添加
jobChangeAddFn:function(){
var jobChangeAddWin = new JobChangeAddWin();
jobChangeAddWin.show();
},
//删除
jobChangeDelFn: function(){
gridDel('jobChangeInfo','jcId','jobChange_delete.action');
},
//修改
jobChangeUpdateFn:function(){
var jobChangeAddWin = new JobChangeAddWin();
jobChangeAddWin.title = '员工职位变动修改';
var selectionModel = Ext.getCmp('jobChangeInfo').getSelectionModel();
//多条记录
var record = selectionModel.getSelections();
if(record.length!=1){
Ext.Msg.alert('提示','请选择一个');
return;
}
var jcId = record[0].get('jcId');
Ext.getCmp('jobChangeaAdd').getForm().load({
url: 'jobChange_edit.action',
params: {
jcId: jcId
},
success: function(form, action){
var obj = Ext.util.JSON.decode(action.response.responseText);
//Ext.getCmp("jobValue旧职位").setRawValue(obj[0].jobByJcOldJob.jobName);
//Ext.getCmp("deptValue旧部门").setRawValue(obj[0].departmentByJcOldDept.deptName);
//方法获取的是中选中项的文本text值,
Ext.get('jc_oldDept').dom.value = obj[0].jobByJcOldJob.jobName;
Ext.get('jc_oldJob').dom.value = obj[0].departmentByJcOldDept.deptName;
//,则getValue()返回的是valueFiled的值,getRawValue()返回的则是displayField的值
Ext.getCmp("deptValue新部门").setRawValue(obj[0].departmentByJcNewDept.deptName);
Ext.getCmp("jobValue新职位").setRawValue(obj[0].jobByJcNewJob.jobName);
}
})
jobChangeAddWin.show();
},
//详情
jobChangeDetailFn:function(){
var jobChangeDetailWin = new JobChangeDetailWin();
var selectionModel = Ext.getCmp('jobChangeInfo').getSelectionModel();
var record = selectionModel.getSelections();
if(record.length != 1){
Ext.Msg.alert('提示','请选择一个');
return;
}
var jcId = record[0].get('jcId');
Ext.getCmp('jobChangeaDetail').getForm().load({
url: 'jobChange_edit.action',
params: {
jcId: jcId
}
})
jobChangeDetailWin.show();
}
});
3.员工添加页面
 Ext.namespace("hrmsys.jobChange.add");
 /**
  * @author sux
  * @desc 职员调动录入
  * @date 2011-02-13
  */
 // 新建窗口
 JobChangeAddWin = Ext.extend(Ext.Window, {
     id : 'jobChangeAddWinId',
     title : '员工职位添加',
     constructor : function() {
         var jobChangeAddPanel = new JobChangeAddPanel();
         JobChangeAddWin.superclass.constructor.call(this, {
             resizable : false,
             modal : true,
             width : 850,
             height : 340,
             items : [ jobChangeAddPanel ]
         })
     }
 });
 // 子面板
 var JobChangeAddPanel = Ext.extend(Ext.form.FormPanel, {
     id : 'jobChangeaAdd',
     constructor : function() {
         Ext.QuickTips.init();
         var reader = new Ext.data.JsonReader({}, [ {
             name : 'jobChange.jcId',
             mapping : 'jcId'
         }, {
             name : 'jobChange.employee.empId',
             mapping : 'employee.empId'
         }, {
             name : 'jobChange.employee.empName',
             mapping : 'employee.empName'
         }, {
             name : 'jobChange.jcReason',
             mapping : 'jcReason'
         }, {
             name : 'jobChange.jcRemark',
             mapping : 'jcRemark'
         }, {
             name : 'jobChange.departmentByJcOldDept.deptId',
             mapping : 'departmentByJcOldDept.deptId'
         }, {
             name : 'jobChange.jobByJcOldJob.jobId',
             mapping : 'jobByJcOldJob.jobId'
         }, {
             name : 'jobChange.departmentByJcNewDept.deptId',
             mapping : 'departmentByJcNewDept.deptId'
         }, {
             name : 'jobChange.jobByJcNewJob.jobId',
             mapping : 'jobByJcNewJob.jobId'
         } ]);
         var oldDeptJC = new DepartJob("旧部门",
                 "jobChange.departmentByJcOldDept.deptId");
         var oldJobJC = new Job("旧职位", "jobChange.jobByJcOldJob.jobId",
                 oldDeptJC);
         oldJobJC.on('expand', function(comboBox) {
             var deptId = Ext.getCmp('deptValue旧部门').getValue();
             this.getStore().load({
                 params : {
                     deptId : deptId
                 }
             })
         });
         var newDeptJC = new DepartJob("新部门",
                 "jobChange.departmentByJcNewDept.deptId");
         var newJobJC = new Job("新职位", "jobChange.jobByJcNewJob.jobId",
                 newDeptJC);
         newJobJC.on('expand', function(comboBox) {
             var deptId = Ext.getCmp("deptValue新部门").getValue();
             this.getStore().load({
                 params : {
                     deptId : deptId
                 }
             })
         });
         JobChangeAddPanel.superclass.constructor.call(this, {
             // collapsible: true,
             // collapsed: true,
             frame : true,
             titile : '职员调动录入',
             labelWidth : 60,
             labelAlign : 'right',
             reader : reader,
             items : [ {
                 xtype : 'fieldset',
                 title : '职员调动录入',
                 layout : 'table',
                 layoutConfig : {
                     columns : 4
                 },
                 items : [
                     //第一个form
                     {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     width : 200,
                      //第一个form的元素
                     items : [ {
                         xtype : 'hidden',
                         name : 'jobChange.jcId'
                     }, {
                         fieldLabel : '员工编号',
                         allowBlank : false,
                         msgTarget : 'side',
                         emptyText : '不能为空',
                         blankText : '请填写员工号',
                         id : 'jc_empId',
                         name : 'jobChange.employee.empId',
                         listeners : {
                             'blur' : jcEmpFn
                         }
                     }, {
                         fieldLabel : '原部门',
                         readOnly : true,
                         msgTarget : 'side',
                         blankText : '不能为空',
                         allowBlank : false,
                         id : 'jc_oldDept'
                     }, {
                         xtype : 'hidden',
                         id : 'jc_oldDeptId',
                         name : 'jobChange.departmentByJcOldDept.deptId'
                     } ]
                 },
                 //第二个form
                 {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     width : 200,
                     //第二个form里的元素
                     items : [ {
                         fieldLabel : '员工姓名',
                         readOnly : true,
                         id : 'jc_empName',
                         name : 'jobChange.employee.empName'
                     }, {
                         fieldLabel : '原职位',
                         readOnly : true,
                         allowBlank : false,
                         msgTarget : 'side',
                         blankText : '不能为空',
                         id : 'jc_oldJob'
                     }, {
                         xtype : 'hidden',
                         id : 'jc_oldJobId',
                         name : 'jobChange.jobByJcOldJob.jobId'
                     } ]
                 },
                 //第三个form
                 {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     width : 200,
                     //第三个form元素
                     items : [ {
                         xtype : 'panel',
                         height : 26
                     }, newDeptJC ]
                 },
                 //第四个form
                 {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     width : 200,
                     //第四个form元素
                     items : [ {
                         xtype : 'panel',
                         height : 26
                     }, newJobJC ]
                 },
                 //第五个form
                 {
                     layout : 'form',
                     colspan : 2,
                     //第五个form元素
                     items : [ {
                         xtype : 'textarea',
                         fieldLabel : '调动原因',
                         height : 150,
                         width : '100%',
                         name : 'jobChange.jcReason'
                     } ]
                 },
                 //第六个form
                 {
                     layout : 'form',
                     colspan : 2,
                     //第六个form元素
                     items : [ {
                         xtype : 'textarea',
                         fieldLabel : '备注',
                         height : 150,
                         width : '100%',
                         name : 'jobChange.jcRemark'
                     } ]
                 },
                 //按钮
                 {
                     colspan : 4,
                     buttonAlign : 'center',
                     buttons : [ {
                         text : '保存',
                         iconCls : 'save',
                         handler : saveJCFn
                     }, {
                         text : '关闭',
                         iconCls : 'cancel',
                         handler : cancelJCFn
                     } ]
                 } ]
             } ]
         })
     }
 });
 //失去焦点
 jcEmpFn = function() {
     var empId = Ext.get('jc_empId').dom.value;
     Ext.Ajax.request({
         url : 'emp_unique.action',
         success : empJuageSuccessFn,
         failure : failureFn,
         params : {
             empId : empId
         }
     })
 };
 //失去焦点请求成功
 empJuageSuccessFn = function(response, options) {
     if ("" != response.responseText) {
         var obj = Ext.util.JSON.decode(response.responseText);
         Ext.get('jc_empName').dom.value = obj[0].empName;
         Ext.get('jc_oldDept').dom.value = obj[0].department.deptName;
         Ext.get('jc_oldJob').dom.value = obj[0].job.jobName;
         Ext.get('jc_oldDeptId').dom.value = obj[0].department.deptId;
         Ext.get('jc_oldJobId').dom.value = obj[0].job.jobId;
     } else {
         // 成批设置表单字段为验证无效
         Ext.getCmp('jc_empId').markInvalid('此工号不存在');
     }
 };
 //失去焦点请求失败
 failureFn = function(respose, options) {
     Ext.Msg.alert('提示', '连接后台失败');
 };
 //保存成功
 saveJCFn = function() {
     if (!Ext.getCmp('jobChangeaAdd').getForm().isValid()) {
         return;
     }
     Ext.getCmp('jobChangeaAdd').getForm().submit({
         url : 'jobChange_save.action',
         method : 'post',
         waitTitle : '提示',
         waitMsg : '正在保存数据...',
         success : saveJCSuccessFn,
         failure : failureFn
     })
 };
 //保存成功处理
 saveJCSuccessFn = function(form, action) {
     Ext.Msg.confirm("提示", action.result.msg, function(button, text) {
         if (button == "yes") {
             Ext.getCmp("jobChangeAddWinId").destory();
             Ext.getCmp("jobChangeInfo").getStore().load({
                 params : {
                     start : 0,
                     limit : 20
                 }
             });
         }
     });
 };
 //关闭按钮
 cancelJCFn = function() {
     Ext.getCmp("jobChangeAddWinId").destroy();
 };
4.员工详情页面js
 Ext.namespace("hrmsys.jobChange.detail");
 /**
  * @author sux
  * @desc 职员调动录入
  * @date 2011-02-13
  */
 // 新窗口
 JobChangeDetailWin = Ext.extend(Ext.Window, {
     id : 'jobChangeDetailWinId',
     title : '职员变动详情',
     constructor : function() {
         var jobChangeDetailPanel = new JobChangeDetailPanel();
         JobChangeDetailWin.superclass.constructor.call(this, {
             // 是否允许改变列宽
             resizable : false,
             modal : true,
             width : 800,
             height : 320,
             items : [ jobChangeDetailPanel ]
         })
     }
 });
 // 面板
 var JobChangeDetailPanel = Ext.extend(Ext.form.FormPanel, {
     id : 'jobChangeaDetail',
     constructor : function() {
         Ext.QuickTips.init();
         var reader = new Ext.data.JsonReader({}, [ {
             name : 'jobChange.jcId',
             mapping : 'jcId'
         }, {
             name : 'jobChange.employee.empId',
             mapping : 'employee.empId'
         }, {
             name : 'jobChange.employee.empName',
             mapping : 'employee.empName'
         }, {
             name : 'oldDept',
             mapping : 'departmentByJcOldDept.deptName'
         }, {
             name : 'oldJob',
             mapping : 'jobByJcOldJob.jobName'
         }, {
             name : 'newDept',
             mapping : 'departmentByJcNewDept.deptName'
         }, {
             name : 'newJob',
             mapping : 'jobByJcNewJob.jobName'
         }, {
             name : 'jobChange.jcReason',
             mapping : 'jcReason'
         }, {
             name : 'jobChange.jcRemark',
             mapping : 'jcRemark'
         }, {
             name : 'jobChange.jcAddPerson',
             mapping : 'jcAddPerson'
         }, {
             name : 'jobChange.jcDate',
             mapping : 'jcDate.time',
             dateFormat : 'time',
             type : 'date'
         } ]);
         JobChangeAddPanel.superclass.constructor.call(this, {
             // collapsible: true,
             // collapsed: true,
             frame : true,
             titile : '职员调动',
             labelWidth : 60,
             labelAlign : 'right',
             reader : reader,
             items : [ {
                 xtype : 'fieldset',
                 title : '职员调动',
                 layout : 'table',
                 layoutConfig : {
                     columns : 4
                 },
                 items : [ {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     width : 200,
                     items : [ {
                         xtype : 'hidden',
                         name : 'jobChange.jcId'
                     }, {
                         fieldLabel : '员工编号',
                         allowBlank : false,
                         msgTarget : 'side',
                         blankText : '请填写员工号',
                         id : 'jc_empId',
                         name : 'jobChange.employee.empId',
                         style : 'background: #dfe8f6;',
                         readOnly : true
                     }, {
                         xtye : 'textfield',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         fieldLabel : '原部门',
                         name : 'oldDept'
                     } ]
                 }, {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     items : [ {
                         fieldLabel : '员工姓名',
                         readOnly : true,
                         id : 'jc_empName',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         name : 'jobChange.employee.empName'
                     }, {
                         xtype : 'textfield',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         fieldLabel : '原职位',
                         name : 'oldJob'
                     } ]
                 }, {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     items : [ {
                         xtype : 'textfield',
                         fieldLabel : '添加人',
                         name : 'jobChange.jcAddPerson',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         height : 26
                     }, {
                         xtype : 'textfield',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         fieldLabel : '新部门',
                         name : 'newDept'
                     } ]
                 }, {
                     layout : 'form',
                     defaultType : 'textfield',
                     defaults : {
                         width : 100
                     },
                     items : [ {
                         xtype : 'datefield',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         format : 'Y-m-d',
                         fieldLabel : '添加时间',
                         name : 'jobChange.jcDate',
                         height : 26
                     }, {
                         xtype : 'textfield',
                         fieldLabel : '新职位',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         name : 'newJob'
                     } ]
                 }, {
                     layout : 'form',
                     colspan : 2,
                     items : [ {
                         xtype : 'textarea',
                         fieldLabel : '调动原因',
                         height : 150,
                         width : '100%',
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         name : 'jobChange.jcReason'
                     } ]
                 }, {
                     layout : 'form',
                     colspan : 2,
                     items : [ {
                         xtype : 'textarea',
                         fieldLabel : '备注',
                         height : 150,
                         style : 'background: #dfe8f6;',
                         readOnly : true,
                         width : '100%',
                         name : 'jobChange.jcRemark'
                     } ]
                 }, {
                     colspan : 4,
                     buttonAlign : 'center',
                     buttons : [ {
                         text : '关闭',
                         iconCls : 'cancel',
                         handler : function() {
                             Ext.getCmp("jobChangeDetailWinId").destroy();
                         }
                     } ]
                 } ]
             } ]
         })
     }
 });
67.员工职位变动js的更多相关文章
- js+json实现ajax实例
		前期准备: 安装wampserver或者其他相似软件来搭建本地集成安装环境 html.js.css等文件需要放置在wampserver中的www目录中,默认运行index页面 bootstrap.cs ... 
- 61.员工信息管理Extjs 页面
		1.员工信息管理jsp <%@ page language="java" pageEncoding="UTF-8"%> <script typ ... 
- Python 学习第十八天 js 正则及其它前端知识
		一,js 正则表达式 test 判断制度串是否符合规定的正则 (1)定义正则表达式匹配规则 js 中定义正则表达式为rep=/\d+/,两个//之间为正则模式 (2)rep.test( ... 
- io.js的服務器突破
		Node.js与io.js那些事儿 InfoQ中文站 05月20日 14:26 去年12月,多位重量级Node.js开发者不满Joyent对Node.js的管理,自立门户创建了io.js.io.js的 ... 
- easyloader.js源代码分析
		http://www.cnblogs.com/jasonoiu/p/easyloader_source_code_analysis.html Jquery easyui是一个javascript UI ... 
- screen,client,page三种确定鼠标坐标的区别和原生JS事件写法,区别于Jquery的$.on(x,y);和$.click()
		screenX clientX pageX的区别 screenX:鼠标位置相对于用户屏幕水平偏移量,而screenY也就是垂直方向的,此时的参照点也就是原点是屏幕的左上角. clientX:跟scre ... 
- arcgis for js/flex/sl 该选哪一个?
		arcgis server开发webgis 在客户端有3种选择:js.flex.sl 他们除了开发arcgis外,本身还有一些常用的领域 js:在传统网站中很常用 flex:游戏.视频播放.动画特效 ... 
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
		package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ... 
- Ajax应用查询员工信息
		首先要用上一篇的步骤启动服务器,建立站点.然后在该站点下创建php文件和html文件. php代码如下,文件名为server.php <?php //设置页面内容是html编码格式是utf-8 ... 
随机推荐
- 第一节:重写(new)、覆写(overwrite)、和重载(overload)
			一丶重写<NEW> 子类重写父类方法,方法里加new, eg: public new void CommonMethord1(string msg){} 子类继承父类中的普通方法,如果在子 ... 
- 移动端开发需要加的meta
			移动端开发需要加的meta和常用的css3媒体查询样式,移动开发中头部要加的一些常用meta. <meta name="viewport" content="ini ... 
- CSDN怎么转载别人的博客
			在参考"如何快速转载CSDN中的博客"后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考 ... 
- JUnit 深入
			Fixture 何谓 Fixture ?它是指在执行一个或者多个测试方法时需要的一系列公共资源或者数据,例如测试环境,测试数据等等.在编写单元测试的过程中,您会发现在大部分的测试方法在进行真正的测试之 ... 
- 【09】AngularJS 表格
			AngularJS 表格 ng-repeat 指令可以完美的显示表格. 在表格中显示数据 使用 angular 显示表格是非常简单的: <div ng-app="myApp" ... 
- HTTP 请求的 GET 与 POST 方式的区别
			HTTP 请求的 GET 与 POST 方式的区别 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST. GET - 从指定的资源请求数据. POST - 向指定的资源 ... 
- ACE in Action
			ACE in Action https://cdn.xgqfrms.xyz/web-ide/index.html TinyMCE https://panjiachen.github.io/vue-el ... 
- node.js 利用流实现读写同步,边读边写
			//10个数 10个字节,每次读4b,写1b let fs=require("fs"); function pipe(source,target) { //先创建可读流,再创建可写 ... 
- Docker website
			https://github.com/docker/labs/ (nguo123gmail Cooooos123!) Docker Tutorials and Labs At this time ... 
- xcode5修改APP名字
			bundle display name 配置文件里面设置, 这个指的是显示在icon下面的名字.application name在itunes connect上改, 是指显示在app store上的名 ... 
