77.招聘信息管理 EXTJS 页面
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 页面的更多相关文章
- 61.员工信息管理Extjs 页面
1.员工信息管理jsp <%@ page language="java" pageEncoding="UTF-8"%> <script typ ...
- 146_ACCESS之HR招聘信息管理_64位
焦棚子的文章目录 点击下载附件 一.背景: 最近把之前做的一个HR招聘信息管理工具翻新了下,有需要的朋友可以自取,主要想解决的问题是多人在跟进人员招聘的时候信息的不对称,这样下来的就可以及时的看到整个 ...
- 75.培训管理-培训信息发布 Extjs 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- 74.资金管理-员工工资配置 extjs 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- 70.资金管理-福利表管理 Extjs 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- 69.资金管理-税率表管理extjs 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- 80.用户管理 Extjs 页面
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- 78.员工个人信息保镖页面 Extjs 页面
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- 76.培训记录信息 Extjs 页面
1.培训记录信息页面jsp <%@ page language="java" import="java.util.*" pageEncoding=&quo ...
随机推荐
- SQL基本操作——UNION
UNION 操作符:用于合并两个或多个 SELECT 语句的结果集.请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列 ...
- IIS中实现http自动转换到https
IIS中实现http自动转换到https修改以下文件:C:\WINDOWS\Help\iisHelp\common\403-4.htm 为以下内容<!DOCTYPE HTML PUBLIC &q ...
- Caffe2:python -m caffe2.python.operator_test.relu_op_test
1. 进行语句测试时候,出现问题, 设置环境变量CUDA_VISIBLE_DEVICES 参考: cuda设置指定可见方法 在/etc/profile文件或者-/.bashrc末尾添加以下行: exp ...
- ARM处理器的寄存器,ARM与Thumb状态,7中运行模式
** ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 分类: 嵌入式 ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常执行模式 FIQ模式(Fast ...
- (转)Arcgis for JS之Cluster聚类分析的实现
http://blog.csdn.net/gisshixisheng/article/details/40711075 在做项目的时候,碰见了这样一个问题:给地图上标注点对象,数据是从数据库来的,包含 ...
- LVM(Logical Volume Manager)逻辑卷管理
本文实验部分,完全由本人亲自动手实践得来 文章中有部分的内容是我个人通过实验测试出来的,虽以目前本人的能力还没发现不通之处,但错误难免,所以若各位朋友发现什么错误,或有疑惑.更好的建议等,盼请各位能在 ...
- <embed> 标签
<embed> 标签定义嵌入的内容,比如插件. <embed quality="high" bgcolor="#FFF" wmode=&quo ...
- Huawei-R&S-网络工程师实验笔记20190609-VLAN划分综合(Access和Trunk端口)
>Huawei-R&S-网络工程师实验笔记20190609-VLAN划分综合(Access和Trunk端口) >>实验开始,先上拓扑图参考: >>>实验目标 ...
- Linux 实用指令(4)
目录 实用指令 1.指定运行级别 2.切换到指定运行级别的指令 3.帮助指令 3.1man获得帮助信息 3.2help指令 4.文件目录类 4.1pwd指令 4.2 ls指令 4.3 cd指令 4.4 ...
- CodeForces - 205B - Little Elephant and Sorting
先上题目: Little Elephant and Sorting time limit per test 1 second memory limit per test 256 megabytes i ...