1.

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>"> <title>招聘管理</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript"> var recruitmentPanel = new RecruitmentPanel();
var tabId = Ext.getCmp('mainTab').getActiveTab().id.split('_')[1];
juage(tabId,"rec",recruitmentPanel,"recruitment");
</script>
</head> <body>
<div id="recruitment"></div>
</body>
</html>

2.招聘信息页面js

 /**
* 招聘信息管理模块
* @memberOf {TypeName}
*/
RecruitmentPanel = Ext.extend(Ext.Panel,{
id: 'recruitmentPanelId',
constructor: function(){
var recruitmentGridPanel = new RecruitmentGridPanel();
var recQueryPanel = new RecQueryPanel();
RecruitmentPanel.superclass.constructor.call(this, {
items: [recQueryPanel,recruitmentGridPanel]
})
}
});
/**
* 招聘信息列表
* @author sux
* @memberOf {TypeName}
* @return {TypeName}
*/
RecruitmentGridPanel = Ext.extend(Ext.grid.GridPanel,{
id: 'recruitmentGridId',
constructor: function(){
var rmStore = new Ext.data.JsonStore({
url: 'rec_list.action',
root: 'root',
totalProperty: 'totalProperty',
fields: ['recId','recTitle','recJob','recNum',
{name: 'recDate', mapping: 'recDate .time', dateFormat : 'time', type: 'date' }]
});
var rowNumber = new Ext.grid.RowNumberer(); //序列号
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
rowNumber, sm,
{
header: '编号',
dataIndex: 'recId',
align: 'center'
},{
header: '标题',
dataIndex: 'recTitle',
align: 'center'
},{
header: '职位',
dataIndex: 'recJob',
align: 'center'
},{
header: '人数',
dataIndex: 'recNum',
align: 'center'
},{
header: '发布日期',
align: 'center',
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //有用
dataIndex: 'recDate'
}]);
RecruitmentGridPanel.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-250);
Ext.grid.GridPanel.prototype.doLayout.call(this);
} ,
border: false,
viewConfig: {
forceFit: true
},
height: 430,
cm: cm,
sm: sm,
store: rmStore,
tbar: new Ext.Toolbar({
items: [
{
text: '删除',
iconCls: 'delete',
id: 'rec_delete',
handler: recruitmentDelFn
},{
text: '添加',
iconCls: 'add',
id: 'rec_add',
handler: recruitmentInfoAddFn
},{
text: '修改',
iconCls: 'update',
id: 'rec_update',
handler: recruitmentInfoUpdateFn
},{
text: '详情',
iconCls: 'detail',
id: 'rec_detail',
handler: recruitmentInfoDetailFn
}]
}),
bbar:new PagingToolbar(rmStore, 20)
});
rmStore.load({
params: {
start: 0,
limit: 20
}
});
}
});
recruitmentInfoAddFn = function(){
var recruitmentAddWin = new RecruitmentAddWin();
recruitmentAddWin.show();
};
recruitmentInfoUpdateFn = function(){
var recruitmentAddWin = new RecruitmentAddWin();
recruitmentAddWin.title = '招聘信息修改';
var selectionModel = Ext.getCmp('recruitmentGridId').getSelectionModel();
var record = selectionModel.getSelections();
if(record.length != 1){
Ext.Msg.alert('提示','请选择一个');
return;
}
var recId = record[0].get('recId');
Ext.getCmp('recruitmentAddPanelId').getForm().load({
url: 'recruitment_intoUpdate.action',
params: {
recId: recId
}
})
recruitmentAddWin.show();
};
recruitmentInfoDetailFn = function(){
var recruitmentDetailWin = new RecruitmentDetailWin();
recruitmentDetailWin.title = '招聘信息';
var selectionModel = Ext.getCmp('recruitmentGridId').getSelectionModel();
var record = selectionModel.getSelections();
if(record.length != 1){
Ext.Msg.alert('提示','请选择一个');
return;
}
var recId = record[0].get('recId');
Ext.getCmp('recruitmentDetailPanelId').getForm().load({
url: 'recruitment_intoUpdate.action',
params: {
recId: recId
}
})
recruitmentDetailWin.show();
};
recruitmentDelFn = function(){
gridDel('recruitmentGridId','recId', 'recruitment_delete.action');
};
/**
* 按条件查询面板
* @author sux 2011-02-20
* @memberOf {TypeName}
*/
RecQueryPanel = Ext.extend(Ext.form.FormPanel,{
id: 'recQueryId',
constructor: function(){
RecQueryPanel.superclass.constructor.call(this,{
collapsible: true,
titleCollapse: true, //单击整个collapse都有效
//collapsed: true, //渲染后即闭合
title: '条件查询',
border: false,
frame: true,
autoWidth: true,
defaultType: 'fieldset',
items: [{
title: '条件',
layout: 'table',
layoutConfig: {
columns: 6
},
defaults: {
labelWidth: 60,
labelAlign: 'right'
},
items: [{
layout: 'form',
items: [{
xtype: 'textfield',
fieldLabel: '标题',
width: 100,
id: 'recTitle'
}]
},{
layout: 'form',
items: [{
xtype: 'textfield',
fieldLabel: '职位',
width: 100,
id: 'recJob'
}]
},{
layout: 'form',
items: [{
xtype: 'datefield',
fieldLabel: '查询日期',
format: 'Y-m-d',
editable: false,
width: 100,
id: 'recStartDate'
}]
},{
layout: 'form',
items: [{
xtype: 'datefield',
fieldLabel: '至',
format: 'Y-m-d',
editable: false,
width: 100,
id: 'recEndDate'
}]
},{
style: 'margin: 0px 10px 0px 20px;',
xtype: 'button',
text: '查询',
iconCls: 'search',
handler: queryRecFn
},{
xtype: 'button',
text: '取消',
iconCls: 'cancel',
handler: cancelRecFn
}]
}]
})
}
});
queryRecFn = function(){
var recTitle = Ext.get('recTitle').dom.value;
var recJob = Ext.get('recJob').dom.value;
var startDate = Ext.get('recStartDate').dom.value;
var endDate = Ext.get('recEndDate').dom.value;
Ext.getCmp('recruitmentGridId').getStore().load({
params: {
type: 'query',
recTitle: recTitle,
recJob: recJob,
startDate: startDate,
endDate: endDate,
start: 0,
limit: 20
}
});
};
cancelRecFn = function(){
Ext.getCmp('recQueryId').getForm().reset();
}

3.招聘信息添加窗口

 /**
* 招聘添加窗口
* @author sux
* @memberOf {TypeName}
*/
RecruitmentAddWin = Ext.extend(Ext.Window,{
id: 'recruitmentAddWinId',
constructor: function(){
var recruitmentAddPanel = new RecruitmentAddPanel();
RecruitmentAddWin.superclass.constructor.call(this, {
title: '招聘信息录入',
resizable: false,
modal: true,
width: 1000,
height: 300,
items: [recruitmentAddPanel]
})
}
}); RecruitmentAddPanel = Ext.extend(Ext.form.FormPanel,{
id: 'recruitmentAddPanelId',
constructor: function(){
Ext.QuickTips.init();
var reader = new Ext.data.JsonReader({},[{
name: 'recruitment.recTitle', mapping: 'recTitle'
},{
name: 'recruitment.recStart', mapping: 'recStart.time', dateFormat : 'time', type: 'date'
},{
name: 'recruitment.recEnd', mapping: 'recEnd.time', dateFormat : 'time', type: 'date'
},{
name: 'recruitment.recJob', mapping: 'recJob'
},{
name: 'recruitment.recNum', mapping: 'recNum'
},{
name: 'recruitment.recContent', mapping: 'recContent'
},{
name: 'recruitment.recRemark', mapping: 'recRemark'
},{
name: 'recruitment.recId', mapping: 'recId'
}]);
RecruitmentAddPanel.superclass.constructor.call(this,{
frame: true,
border: false,
reader: reader,
items: [{
xtype: 'fieldset',
title: '招聘信息录入',
layout: 'table',
layoutConfig: {
columns: 5
},
defaults: {
labelWidth: 60,
labelAlign: 'right'
},
items: [{
width: 190,
layout: 'form',
items: [{
xtype: 'textfield',
width: 100,
fieldLabel: '标题',
allowBlank: false,
blankText: '不能为空',
msgTarget: 'side',
emptyText: '不能为空',
name: 'recruitment.recTitle'
}]
},{
width: 190,
layout: 'form',
xtype: 'panel',
items: [{
xtype: 'datefield',
editable: false,
fieldLabel: '开始时间',
format: 'Y-m-d',
width: 100,
name: 'recruitment.recStart'
}]
},{
width: 190,
layout: 'form',
items: [{
xtype: 'datefield',
editable: false,
fieldLabel: '结束时间',
width: 100,
format: 'Y-m-d',
name: 'recruitment.recEnd'
}]
},{
width: 200,
layout: 'form',
items: [{
xtype: 'textfield',
fieldLabel: '职位',
allowBlank: false,
blankText: '不能为空',
msgTarget: 'side',
emtyText: '不能为空',
width: 100,
name: 'recruitment.recJob'
}]
},{
width: 200,
layout: 'form',
items: [{
xtype: 'textfield',
fieldLabel: '人数',
width: 100,
name: 'recruitment.recNum'
}]
},{
colspan: 3,
layout: 'form',
items: [{
xtype: 'textarea',
fieldLabel: '要求',
allowBlank: false,
blankText: '不能为空',
msgTarget: 'side',
emtyText: '不能为空',
width: 460,
height: 140,
name: 'recruitment.recContent'
}]
},{
colspan: 2,
layout: 'form',
items: [{
xtype: 'textarea',
fieldLabel: '备注',
width: 300,
height: 140,
name: 'recruitment.recRemark'
},{
xtype: 'hidden',
name: 'recruitment.recId'
}]
},{
colspan: 5,
buttonAlign: 'center',
buttons: [{
text: '保存',
iconCls: 'save',
handler: reSubmit
},{
text: '关闭',
iconCls: 'cancel',
handler: reCancel
}]
}]
}]
});
}
});
reSubmit = function(){
if(!Ext.getCmp('recruitmentAddPanelId').getForm().isValid()){
return;
}
Ext.getCmp('recruitmentAddPanelId').getForm().submit({
url: 'recruitment_save.action',
method: 'post',
waitTitle: '提示',
waitMsg: '正在保存数据...',
success: function(form, action){
Ext.Msg.confirm('提示',action.result.msg,function(button, text){
if(button == 'yes'){
Ext.getCmp('recruitmentAddWinId').destroy();
Ext.getCmp('recruitmentGridId').getStore().reload();
}
})
},
failure: function(form, action){
Ext.Msg.alert('提示','连接后台失败');
}
})
};
reCancel = function(){
Ext.getCmp('recruitmentAddWinId').destroy();
};

4.

 RecruitmentDetailWin = Ext.extend(Ext.Window,{
id: 'recruitmentDetailWinId',
width: 900,
height: 380,
constructor: function(){
var recruitmentDetailPanel = new RecruitmentDetailPanel();
RecruitmentDetailWin.superclass.constructor.call(this, {
modal: true,
items: [recruitmentDetailPanel]
});
}
}); RecruitmentDetailPanel = Ext.extend(Ext.form.FormPanel,{
id: 'recruitmentDetailPanelId',
constructor: function(){
Ext.QuickTips.init();
var reader = new Ext.data.JsonReader({},[{
name: 'recTitle', mapping: 'recTitle'
},{
name: 'recStart', mapping: 'recStart.time', dateFormat : 'time', type: 'date'
},{
name: 'recEnd', mapping: 'recEnd.time', dateFormat : 'time', type: 'date'
},{
name: 'recJob', mapping: 'recJob'
},{
name: 'recNum', mapping: 'recNum'
},{
name: 'recContent', mapping: 'recContent'
},{
name: 'recRemark', mapping: 'recRemark'
},{
name: 'recDate', mapping: 'recDate', mapping: 'recDate.time', dateFormat : 'time', type: 'date'
},{
name: 'recPerson', mapping: 'recPerson'
}]);
RecruitmentDetailPanel.superclass.constructor.call(this, {
frame: true,
border: false,
reader: reader,
items: [{
xtype: 'fieldset',
title: '招聘信息录入',
layout: 'table',
layoutConfig: {
columns: 5
},
defaults: {
labelWidth: 60,
labelAlign: 'right'
},
items: [{
layout: 'form',
items: [{
xtype: 'textfield',
width: 100,
fieldLabel: '标题',
allowBlank: false,
blankText: '不能为空',
msgTarget: 'title',
emptyText: '不能为空',
name: 'recTitle',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
layout: 'form',
xtype: 'panel',
items: [{
xtype: 'datefield',
fieldLabel: '开始时间',
format: 'Y-m-d',
width: 100,
name: 'recStart',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
layout: 'form',
items: [{
xtype: 'datefield',
fieldLabel: '结束时间',
width: 100,
format: 'Y-m-d',
name: 'recEnd',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
layout: 'form',
items: [{
xtype: 'textfield',
fieldLabel: '职位',
allowBlank: false,
blankText: '不能为空',
msgTarget: 'title',
emtyText: '不能为空',
width: 100,
name: 'recJob',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
layout: 'form',
items: [{
xtype: 'textfield',
fieldLabel: '人数',
width: 100,
name: 'recNum',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
colspan: 3,
layout: 'form',
items: [{
xtype: 'textarea',
fieldLabel: '要求',
allowBlank: false,
blankText: '不能为空',
msgTarget: 'title',
emtyText: '不能为空',
width: 430,
height: 200,
name: 'recContent',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
colspan: 2,
layout: 'form',
items: [{
xtype: 'textarea',
fieldLabel: '备注',
width: 270,
height: 200,
name: 'recRemark',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
layout: 'form',
items: [{
xtype: 'textfield',
width: 100,
name: 'recPerson',
fieldLabel: '录入人',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
layout: 'form',
items: [{
xtype: 'datefield',
width: 100,
name: 'recDate',
fieldLabel: '录入时间',
format: 'Y-m-d',
style: 'background: #dfe8f6;',
readOnly: true
}]
},{
colspan: 3
},{
colspan: 5,
buttonAlign: 'center',
buttons: [{
text: '关闭',
iconCls: 'cancel',
handler: recCloseFn
}]
}]
}]
});
}
});
recCloseFn = function(){
Ext.getCmp('recruitmentDetailWinId').destroy();
}

77.招聘信息管理 EXTJS 页面的更多相关文章

  1. 61.员工信息管理Extjs 页面

    1.员工信息管理jsp <%@ page language="java" pageEncoding="UTF-8"%> <script typ ...

  2. 146_ACCESS之HR招聘信息管理_64位

    焦棚子的文章目录 点击下载附件 一.背景: 最近把之前做的一个HR招聘信息管理工具翻新了下,有需要的朋友可以自取,主要想解决的问题是多人在跟进人员招聘的时候信息的不对称,这样下来的就可以及时的看到整个 ...

  3. 75.培训管理-培训信息发布 Extjs 页面

    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...

  4. 74.资金管理-员工工资配置 extjs 页面

    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...

  5. 70.资金管理-福利表管理 Extjs 页面

    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...

  6. 69.资金管理-税率表管理extjs 页面

    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...

  7. 80.用户管理 Extjs 页面

    1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...

  8. 78.员工个人信息保镖页面 Extjs 页面

    1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...

  9. 76.培训记录信息 Extjs 页面

    1.培训记录信息页面jsp <%@ page language="java" import="java.util.*" pageEncoding=&quo ...

随机推荐

  1. [Windows Server 2008] 服务器安全加固

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:服务器安全加固 ...

  2. JavaScript定时器及其他

    By Abyssly Jun 20 2014 Updated:Jun 20 2014 平时工作中不可避免地要嵌套网页,对JavaScript的深入了解还是很有必要滴.而JavaScript中一个容易让 ...

  3. RTL Compiler之Technology Library

    1 Target Library Design Compiler uses the target library to build a circuit. During mapping, Design ...

  4. 9、scala面向对象编程之继承

    1.  extends 2.override 和super 3.override field 4.isInstanceOf和asInstanceOf 5.getClass和classOf 6.使用模式 ...

  5. scp: /xxxx: not a regular file

    问题描述 scp root@10.2.1.92:/home /home/wangju/databakroot@10.2.1.92's password: xxxxscp: /home: not a r ...

  6. 【剑指Offer】65、矩阵中的路径

      题目描述:   请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经 ...

  7. Fang Fang HDU - 5455 (思维题)

    Fang Fang says she wants to be remembered. I promise her. We define the sequence FF of strings. F0 = ...

  8. Map的两种遍历方式

    ********************************************************************************* ****************** ...

  9. 百度编辑器ueditor1.4.3配置记录

    我从官网下载的php文件,但是图片上传不能用,后来查找资料,打开ueditor下的php/controller.php,(其他环境选对应的文件夹)把时区设置按如下改个字母大小写,再打开该文件就正确返回 ...

  10. 联赛前集训日记Day1

    考试 炸的凄惨 T1 显然要高精搞一下,然而我的$DFS$竟然比我的$O(n^{2})$递推快 T2 欧拉路径的题,很不可做的样子,就没敢费时间打 T3 $DFS$枚举可过,然而我太蠢 GG 刷题 改 ...