⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 personnel_info.ascx.cs

📁 人力资源管理系统 读者须安装好IIS和Microsoft Visual Stutio.NET相关开发环境
💻 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 + -