using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WeiSha.Common; using Song.ServiceInterfaces; using Song.Entities; using WeiSha.WebControl; namespace Song.Site.Manage.Common { public partial class TaskGoBack_Edit : Extend.CustomPage { private int id = WeiSha.Common.Request.QueryString["id"].Int32 ?? 0; protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { ddlDepartBind(); setLoyout(); fill(); } } #region 初始数据 /// /// 院系下拉绑定 /// private void ddlDepartBind() { try { int orgid = Extend.LoginState.Admin.CurrentUser.Org_ID; Song.Entities.Depart[] nc = Business.Do().GetAll(orgid,true,true); this.ddlDepart.DataSource = nc; this.ddlDepart.DataTextField = "dep_cnName"; this.ddlDepart.DataValueField = "dep_id"; this.ddlDepart.DataBind(); this.ddlDepart.Items.Insert(0, new ListItem(" -- 所有院系 -- ", "-1")); ddlDepart_SelectedIndexChanged(null, null); } catch (Exception ex) { Message.ExceptionShow(ex); } } /// /// 院系下拉列表的事件 /// /// /// protected void ddlDepart_SelectedIndexChanged(object sender, EventArgs e) { try { WeiSha.WebControl.DropDownTree ddt = (WeiSha.WebControl.DropDownTree)sender; if (ddt == null) ddt = this.ddlDepart; int depId = Convert.ToInt32(ddt.SelectedValue); int orgid = Extend.LoginState.Admin.CurrentUser.Org_ID; Song.Entities.EmpAccount[] eas = Business.Do().GetAll(orgid,depId, true,null); this.ddlEmployee.DataSource = eas; this.ddlEmployee.DataTextField = "Acc_Name"; this.ddlEmployee.DataValueField = "Acc_Id"; this.ddlEmployee.DataBind(); } catch (Exception ex) { Message.ExceptionShow(ex); } } /// /// 如果是修改模式,设置指派给哪个员工,且该员工所处的院系 /// /// 员工Id private void setDepart(int accid) { try { ddlDepart.SelectedIndex = -1; //设置院系 Song.Entities.Depart dep = Business.Do().Get4Depart(accid); if (dep == null) { ddlDepart.Items.FindByValue("-1").Selected = true; return; } ListItem liDepart = ddlDepart.Items.FindByValue(dep.Dep_Id.ToString()); if (liDepart != null) { liDepart.Selected = true; ddlDepart_SelectedIndexChanged(null, null); } //设定员工 ListItem li = ddlEmployee.Items.FindByValue(accid.ToString()); if (li != null) { ddlEmployee.SelectedIndex = -1; li.Selected = true; } } catch (Exception ex) { Message.ExceptionShow(ex); } } /// /// 设置初始化布局 /// private void setLoyout() { //是否关闭与是否完成等,在新增时不显示 plPara.Visible = id != 0; } #endregion /// /// 设置初始界面 /// private void fill() { try { if (id < 1) return; Song.Entities.Task mm = Business.Do().GetSingle(id); //优先级 ListItem li = ddlLevel.Items.FindByText(mm.Task_Level.ToString()); if (li != null) li.Selected = true; tbStart.Text = ((DateTime)mm.Task_StartTime).ToString("yyyy-MM-dd"); tbEnd.Text = ((DateTime)mm.Task_EndTime).ToString("yyyy-MM-dd"); //是否完成 cbIsComplete.Checked = mm.Task_IsComplete; if (mm.Task_IsComplete) { tbComplete.Text = ((DateTime)mm.Task_CompleteTime).ToString("yyyy-MM-dd"); } //设置指派给谁 setDepart((int)mm.Task_WorkerId); //任务名称 tbName.Text = mm.Task_Name; //任务内容 tbContext.Text = mm.Task_Context; //是否使用 cbIsUse.Checked = !mm.Task_IsUse; //完成度 tbCompletePer.Text = mm.Task_CompletePer.ToString(); //完成时间所在的区域 divCompleteBox.Visible = mm.Task_IsComplete; //工作记录 tbWorkLog.Text = mm.Task_WorkLog; //退回的原因 tbGoBackText.Text = mm.Task_GobackText; } catch (Exception ex) { Message.ExceptionShow(ex); } } /// /// 修改 /// /// /// protected void btnEnter_Click(object sender, EventArgs e) { try { Song.Entities.Task mm = Business.Do().GetSingle(id); //任务名称 mm.Task_Name = tbName.Text.Trim(); //任务内容 mm.Task_Context = tbContext.Text.Trim(); //任务等级 mm.Task_Level = Convert.ToInt16(ddlLevel.SelectedItem.Text); //计划开始时间,计划结束时间,实际结束时间 mm.Task_StartTime = Convert.ToDateTime(tbStart.Text); mm.Task_EndTime = Convert.ToDateTime(tbEnd.Text); if (tbComplete.Text.Trim() != "") { mm.Task_CompleteTime = Convert.ToDateTime(tbComplete.Text); } //所属员工 EmpAccount acc = Extend.LoginState.Admin.CurrentUser; mm.Acc_Id = acc.Acc_Id; mm.Acc_Name = acc.Acc_Name; //指派给谁 mm.Task_WorkerId = Convert.ToInt32(ddlEmployee.SelectedValue); //是否使用 mm.Task_IsUse = !cbIsUse.Checked; //是否完成 mm.Task_IsComplete = cbIsComplete.Checked; //完成度 if (tbCompletePer.Text.Trim() != "") { int per = Convert.ToInt16(tbCompletePer.Text); per = per < 0 ? 0 : per; mm.Task_CompletePer = per > 100 ? per : per; } else { mm.Task_CompletePer = 0; } //设置没有退回 mm.Task_IsGoback = false; // //确定操作 Business.Do().Save(mm); Master.AlertCloseAndRefresh("操作成功!"); } catch (Exception ex) { Message.ExceptionShow(ex); } } /// /// 是否完成任务的复选框 /// /// /// protected void cbIsComplete_CheckedChanged(object sender, EventArgs e) { try { CheckBox cb = (CheckBox)sender; divCompleteBox.Visible = cb.Checked; if (cb.Checked) { tbComplete.Text = DateTime.Now.ToString("yyyy-MM-dd"); tbCompletePer.Text = "100"; } else { Song.Entities.Task mm = Business.Do().GetSingle(id); tbCompletePer.Text = mm.Task_CompletePer.ToString(); } } catch (Exception ex) { Message.ExceptionShow(ex); } } } }