📄 personnel_info.ascx.cs
字号:
namespace HRAdmin.USL
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using HRAdmin.BLL ;
using HRAdmin.COMMON ;
/// <summary>
/// Personnel_Info 的摘要说明。
/// </summary>
public class Personnel_Info : System.Web.UI.UserControl
{
#region 控件
protected System.Web.UI.WebControls.TextBox tb_UsrID;
protected System.Web.UI.WebControls.TextBox tb_UsrName;
protected System.Web.UI.WebControls.DropDownList ddl_Sex;
protected System.Web.UI.WebControls.TextBox tb_Birthday;
protected System.Web.UI.WebControls.TextBox tb_NativePlace;
protected System.Web.UI.WebControls.TextBox tb_Nation;
protected System.Web.UI.WebControls.DropDownList ddl_Party;
protected System.Web.UI.WebControls.DropDownList ddl_Education;
protected System.Web.UI.WebControls.TextBox tb_Academy;
protected System.Web.UI.WebControls.TextBox tb_Major;
protected System.Web.UI.WebControls.TextBox tb_TelOffice;
protected System.Web.UI.WebControls.TextBox tb_TelMobile;
protected System.Web.UI.WebControls.TextBox tb_TelHome;
protected System.Web.UI.WebControls.TextBox tb_Email;
protected System.Web.UI.WebControls.TextBox tb_Address;
protected System.Web.UI.WebControls.DropDownList ddl_PersType;
protected System.Web.UI.WebControls.DropDownList ddl_Dept;
protected System.Web.UI.WebControls.DropDownList ddl_Position;
protected System.Web.UI.WebControls.DropDownList ddl_Salary;
protected System.Web.UI.WebControls.TextBox tb_EntTime;
protected System.Web.UI.WebControls.TextBox tb_ContractID;
protected System.Web.UI.WebControls.TextBox tb_ContractFrom;
protected System.Web.UI.WebControls.TextBox tb_ContractTo;
protected System.Web.UI.WebControls.TextBox tb_Endowment;
protected System.Web.UI.WebControls.CheckBox cb_IsSystem;
protected System.Web.UI.WebControls.CheckBox cb_IsDept;
protected System.Web.UI.HtmlControls.HtmlInputHidden h_PersonnelID;
protected System.Web.UI.HtmlControls.HtmlImage i_Birthday;
protected System.Web.UI.HtmlControls.HtmlImage i_Ent;
protected System.Web.UI.HtmlControls.HtmlImage i_From;
protected System.Web.UI.HtmlControls.HtmlImage i_To;
protected System.Web.UI.WebControls.RequiredFieldValidator R1;
protected System.Web.UI.WebControls.RequiredFieldValidator R4;
protected System.Web.UI.WebControls.TextBox tb_IDCard;
protected System.Web.UI.WebControls.RegularExpressionValidator R5;
protected System.Web.UI.WebControls.TextBox tb_Medicare;
#endregion
/// <summary>
/// 属性:Hidden框中保存的职位ID
/// </summary>
public string a_PersID
{
get
{
return h_PersonnelID.Value ;
}
set
{
h_PersonnelID.Value = value ;
}
}
#region Page_Load
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
//初始化下拉框
InitDDL() ;
}
}
/// <summary>
/// 初始化下拉框
/// </summary>
private void InitDDL()
{
//性别
CommHandler.DDL_Init(this.ddl_Sex,"SEX",false) ;
//工资
CommHandler.DDL_Init(this.ddl_Salary,"SALARY",false) ;
//员工类型
CommHandler.DDL_Init(this.ddl_PersType,"PERSTYPE",false) ;
//政治面貌
CommHandler.DDL_Init(this.ddl_Party,"PARTY",false) ;
//教育程度
CommHandler.DDL_Init(this.ddl_Education,"EDUCATION",false) ;
//部门下拉框的存储过程
string spName = "HR_Dept_GetForDDL" ;
//加载部门下拉框
CommHandler.DDL_Init(ddl_Dept,spName,null,false) ;
//根据当前部门下拉框的内容确定职位下拉框
InitPosition() ;
}
/// <summary>
/// 初始化职位下拉框
/// </summary>
private void InitPosition()
{
//取当前选中的部门ID
string dept = this.ddl_Dept.SelectedValue ;
//职位下拉框的存储过程名。参数为部门ID
string spName = "HR_Position_GetForDDL" ;
object[] para = new object[]{dept} ;
//加载职位下拉框
CommHandler.DDL_Init(this.ddl_Position,spName,para,false) ;
}
#endregion
#region 控件的可用与否
/// <summary>
/// 界面控件的可修改与否
/// </summary>
/// <param name="flag">是否能修改 true:可修改,false:不可修改</param>
public void EnableControl(string flag)
{
if(flag == "PERS")
{
//个人
//可以修改员工个人信息中的基本信息部分
//不能修改员工个人信息中的档案合同信息部分
//不能修改“部门管理权限”和“系统管理权限”
EnableBaseInfo(true) ;
EnableExtInfo(false) ;
cb_IsDept.Enabled = false ;
cb_IsSystem.Enabled = false ;
}
else if(flag == "DEPT")
{
//部门管理
//不能修改员工个人信息中的基本信息部分
//可以修改员工个人信息中的档案合同信息部分
//可以修改“部门管理权限”
//不能修改“系统管理权限”
EnableBaseInfo(false) ;
EnableExtInfo(true) ;
cb_IsDept.Enabled = true ;
cb_IsSystem.Enabled = false ;
}
else if(flag == "SYS")
{
//系统管理
//可以修改所有内容
EnableBaseInfo(true) ;
EnableExtInfo(true) ;
cb_IsDept.Enabled = true ;
cb_IsSystem.Enabled = true ;
}
}
/// <summary>
/// 控制基本信息的可修改与否
/// </summary>
/// <param name="flag">是否能修改 true:可修改,false:不可修改</param>
private void EnableBaseInfo(bool flag)
{
//根据flag确定文本框是否可以修改
foreach(TextBox tb in new TextBox[] {
tb_UsrName,tb_UsrID,tb_TelOffice,tb_TelMobile,
tb_TelHome,tb_NativePlace,tb_Nation,tb_Major,
tb_IDCard,tb_Email,tb_Address,tb_Academy
})
{
// tb.Enabled = flag ;
//调用方法确定文本框是否只读
//注意,bool与flag相反
CommHandler.TextBoxReadOnly(tb,!flag) ;
}
//根据flag确定下拉框是否可以修改
foreach(DropDownList ddl in new DropDownList[] {
ddl_Sex,this.ddl_Education,this.ddl_Party,
})
{
ddl.Enabled = flag ;
}
//根据flag确定日历控件是否可以修改
//注意,bool值与flag相反
i_Birthday.Disabled = !flag ;
}
/// <summary>
/// 控制职位合同等扩展信息的是否可修改
/// </summary>
/// <param name="flag">是否能修改 true:可修改 false:不可修改</param>
private void EnableExtInfo(bool flag)
{
foreach(TextBox tb in new TextBox[] {
tb_Medicare,tb_EntTime,tb_Endowment,tb_ContractTo,
tb_ContractID,tb_ContractFrom
})
{
tb.Enabled = flag ;
}
//根据flag确定下拉框框是否可以修改
foreach(DropDownList ddl in new DropDownList[]{
ddl_PersType,ddl_Position,ddl_Salary,ddl_Dept,
})
{
ddl.Enabled = flag ;
}
//根据flag确定日历控件是否可以修改
//注意,bool值与flag相反
foreach(HtmlImage img in new HtmlImage[] {
i_Ent,i_From,i_To
})
{
img.Disabled = !flag ;
}
}
#endregion
#region 显示员工信息
/// <summary>
/// 显示员工信息
/// </summary>
/// <param name="pi">员工信息对象</param>
public void ShowPersInfo(PersonnelInfo pi)
{
//
h_PersonnelID.Value = pi.PersonnelID.ToString() ;
//文本框
tb_Academy.Text = pi.Academy ;
tb_Address.Text = pi.Address ;
tb_Birthday.Text = CommHandler.DateTimeToString(pi.Birthday) ;
tb_ContractFrom.Text = CommHandler.DateTimeToString(pi.ContractFrom) ;
tb_ContractID.Text = pi.ContractID ;
tb_ContractTo.Text = CommHandler.DateTimeToString(pi.ContractTo) ;
tb_Email.Text = pi.Email ;
tb_Endowment.Text = pi.Endowment ;
tb_EntTime.Text = CommHandler.DateTimeToString(pi.EntTime) ;
tb_IDCard.Text = pi.IDCard ;
tb_Major.Text = pi.Major ;
tb_Medicare.Text = pi.Medicare ;
tb_Nation.Text = pi.Nation ;
tb_NativePlace.Text = pi.NativePlace ;
tb_TelHome.Text = pi.TelHome ;
tb_TelMobile.Text = pi.TelMobile ;
tb_TelOffice.Text = pi.TelOffice ;
tb_UsrID.Text = pi.UsrID ;
tb_UsrName.Text = pi.UsrName ;
//下拉框
CommHandler.DDL_ShowItem(ddl_Dept,pi.DeptID.ToString()) ;
CommHandler.DDL_ShowItem(ddl_Education,pi.Education) ;
CommHandler.DDL_ShowItem(ddl_Party,pi.Party) ;
CommHandler.DDL_ShowItem(ddl_PersType,pi.PersType ) ;
CommHandler.DDL_ShowItem(ddl_Position,pi.PositionID.ToString()) ;
CommHandler.DDL_ShowItem(ddl_Salary,pi.Salary) ;
CommHandler.DDL_ShowItem(ddl_Sex,pi.Sex) ;
//CheckBox
this.cb_IsSystem.Checked = (pi.IsSystem == "Y")?true:false ;
this.cb_IsDept.Checked = (pi.IsDept == "Y")?true:false ;
//
}
#endregion
#region 绑定员工信息
/// <summary>
/// 绑定员工信息
/// </summary>
/// <param name="pi">员工信息对象</param>
public void BindPersInfo(PersonnelInfo pi)
{
//文本框
pi.PersonnelID = CommHandler.StringToInt(h_PersonnelID.Value) ;
pi.Academy = tb_Academy.Text.Trim() ;
pi.Address = tb_Address.Text.Trim() ;
pi.Birthday = CommHandler.StringToDateTime(tb_Birthday.Text.Trim()) ;
pi.ContractFrom = CommHandler.StringToDateTime(tb_ContractFrom.Text.Trim()) ;
pi.ContractID = tb_ContractID.Text.Trim();
pi.ContractTo = CommHandler.StringToDateTime(tb_ContractTo.Text.Trim()) ;
pi.Email = tb_Email.Text.Trim() ;
pi.Endowment = tb_Endowment.Text.Trim() ;
pi.EntTime = CommHandler.StringToDateTime(tb_EntTime.Text.Trim()) ;
pi.IDCard = tb_IDCard.Text.Trim() ;
pi.Major = tb_Major.Text.Trim() ;
pi.Medicare = tb_Medicare.Text.Trim() ;
pi.Nation = tb_Nation.Text.Trim() ;
pi.NativePlace = tb_NativePlace.Text.Trim() ;
pi.TelHome = tb_TelHome.Text.Trim() ;
pi.TelMobile = tb_TelMobile.Text.Trim() ;
pi.TelOffice = tb_TelOffice.Text.Trim() ;
pi.UsrID = tb_UsrID.Text.Trim() ;
pi.UsrName = tb_UsrName.Text.Trim() ;
//下拉框
pi.DeptID = CommHandler.StringToInt(ddl_Dept.SelectedValue) ;
pi.Education = ddl_Education.SelectedValue ;
pi.Party = ddl_Party.SelectedValue ;
pi.PersType = ddl_PersType.SelectedValue ;
pi.PositionID = CommHandler.StringToInt(ddl_Position.SelectedValue) ;
pi.Salary = ddl_Salary.SelectedValue ;
pi.Sex = ddl_Sex.SelectedValue ; ;
//CheckBox
pi.IsSystem = cb_IsSystem.Checked?"Y":"N" ;
pi.IsDept = cb_IsDept.Checked?"Y":"N" ;
}
#endregion
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ddl_Dept.SelectedIndexChanged += new System.EventHandler(this.ddl_Dept_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
#region 部门下拉框的选中项改变事件
private void ddl_Dept_SelectedIndexChanged(object sender, System.EventArgs e)
{
// 重新加载职位下拉框
InitPosition() ;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -