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 ...
随机推荐
- win10 打开chm文件内容空白如何解决
win10 打开chm文件内容空白如何解决 .CHM文件是非常常见的帮助文件格式.由于其便携性,很多小说或杂志也会采用chm格式.win7/win8.1/win10系统,由于采用了UAC,致使原本在x ...
- 网站Gzip压缩
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:启用网站GZI ...
- python 字典 get方法
在做项目的过程中,遇到了一个问题,数据保存到字典中,后来发现数据不对,排查了字典的构建过程,是OK的,后来怀疑是别的部分共用了这一个字典,排查代码,发现这里应该是有问题的. score = None ...
- Caffe FCN:可视化featureMaps和Weights(C++)、获取FCN结果
为何不使用C++版本FCN获取最后的分割掩模,何必要使用python呢!因此需要获取网络最后层的featureMaps,featureMaps的结果直接对应了segmentation的最终结果,可以直 ...
- [问题记录]-技术学习-RocketMQ-全球集群部署问题
一:问题场景 公司在部署全球的RocketMQ的时候,遇到亚洲区的服务器往欧洲区的RocketMQ发送消息失败的情况. 总共有出现两个问题 1:No Topic Route Info org.apac ...
- Hibernate连接池断开自动重连
异常: javax.servlet.ServletException: org.springframework.transaction.CannotCreateTransactionException ...
- SDWC 2018 day5
望得分:100+100+100 实际得分:100+100+100 Problem 1 晨跑(running.cpp/c/pas)[题目描述]为了响应学校的号召,模范好学生王队长决定晨跑.不过由于种种原 ...
- elasticsearch学习(1)简单查询与聚合
elastic 被用作全文搜索.结构化搜索.分析以及这三个功能的组合 一个ElasticSearch集群可以包含多个索引, 每个索引包含多个类型 一个类型存储着多个文档 每个文档又有多个属性 索引(名 ...
- BUAA_OO_博客作业三
1 JML语言总结 1.1 JML语言的理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言.JML是一种行为接口规格语言(Behavi ...
- SCI 计算机 数学相关期刊
数学,电子通信,计算机类 出版地 收录库 刊名 刊期 ISSN 影响因子 中国大陆 SCI CHINESE SCIENCE BULLETIN<科学通报>(英文版) 半月刊 1001-653 ...