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);
}
}
}
}