//绑定申请信息
        protected void BindData(int ProjectID)
        {
            LabMS.BLL.PersonalProject perProject = new LabMS.BLL.PersonalProject();
            LabMS.Model.PersonalProject perProjectInfo = new LabMS.Model.PersonalProject();

            perProjectInfo = perProject.GetModel(ProjectID);
            ProjectName.Text = perProjectInfo.ProjectName;
            PlanHours.Text = perProjectInfo.PlanHours.ToString();
            ddlApplyLab.SelectedValue = perProjectInfo.AppcationLabID.ToString();
            if (!string.IsNullOrEmpty(perProjectInfo.ApplicationStartTime.ToString()))
            {
                ApplyTimeMin.Text = perProjectInfo.ApplicationStartTime.Value.ToShortDateString();
            }
            if (!string.IsNullOrEmpty(perProjectInfo.ApplicationEndTime.ToString()))
            {
                ApplyTimeMax.Text = perProjectInfo.ApplicationEndTime.Value.ToShortDateString();
            }

            string strSemester = Common.Status.GetSemester(perProjectInfo.Semester.Value);
            lbSTime.Text = perProjectInfo.SYear.Value.ToString() + "学年 " + strSemester;
            lbStatus.Text = Common.Status.GetPersonalProjectStatus(perProjectInfo.ProjectStatus.ToString());

            Contactor.Text = perProjectInfo.Contactor;
            ContactorClass.Text = perProjectInfo.ContactorClass;
            ContactEmail.Text = perProjectInfo.ContactorEmail;
            ContactPhone.Text = perProjectInfo.ContactorPhone;
            Teacher.Text = perProjectInfo.Teacher;
            TeacherTitle.Text = perProjectInfo.TeacherTitle;
            TeacherEmail.Text = perProjectInfo.TeacherEmail;
            TeacherPhone.Text = perProjectInfo.TeacherPhone;
            ApplyReason.Text = perProjectInfo.ApplicationReason;
            Opinion.Text = perProjectInfo.Opinion;
            if (!string.IsNullOrEmpty(perProjectInfo.ProjectStartTime.ToString()))
            {
                LabDate.Text = perProjectInfo.ProjectStartTime.Value.ToShortDateString();
                LabStartTimeHour.Text = perProjectInfo.ProjectStartTime.Value.Hour.ToString();
                LabStartTimeMinute.Text = perProjectInfo.ProjectStartTime.Value.Minute.ToString();
            }
            if (!string.IsNullOrEmpty(perProjectInfo.ProjectEndTime.ToString()))
            {
                LabEndTimeHour.Text = perProjectInfo.ProjectEndTime.Value.Hour.ToString();
                LabEndTimeMinute.Text = perProjectInfo.ProjectEndTime.Value.Minute.ToString();
            }

            int LabID = int.Parse(perProjectInfo.AppcationLabID.ToString());
            LocationDropdownList(LabID);
            ddlLocation.SelectedValue = perProjectInfo.ProjectLabID.ToString();
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     strPagePrivilege.Add("XSZNSYXMLB");
     strPageUserType.Add("mana");
     if (Request.QueryString["ProjectID"] == null)
     {
         Common.JShelper.JSAlert(Page, "err", "参数错误!");
         return;
     }
     if (!int.TryParse(Request.QueryString["ProjectID"], out ProjectID))
     {
         Common.JShelper.JSAlert(Page, "err", "参数错误!");
         return;
     }
     LabMS.BLL.PersonalProject project = new LabMS.BLL.PersonalProject();
     LabMS.Model.PersonalProject projectInfo = new LabMS.Model.PersonalProject();
     projectInfo = project.GetModel(ProjectID);
     string status = projectInfo.ProjectStatus;
     ApprovalProjectPreview.Visible = false;
     if (status.Equals("4"))
     {
         ApprovalProjectPreview.Visible = true;
         ApplyOpinion.Visible = true;
         ApplyBtn.Visible = false;
     }
     if (status.Equals("3"))
     {
         ApplyOpinion.Visible = true;
         ApplyBtn.Visible = false;
     }
     if (!IsPostBack)
     {
         LabDropdownlist();
         BindApplicantList(ProjectID);
         BindEquipList(ProjectID);
         BindData(ProjectID);
     }
 }
示例#3
0
        /// <summary>
        /// �õ�һ������ʵ��
        /// </summary>
        public LabMS.Model.PersonalProject GetModel(int ProjectID)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("select  top 1 ProjectID,ProjectName,PlanHours,AppcationLabID,ApplicationStartTime,ApplicationEndTime,Teacher,TeacherTitle,TeacherPhone,TeacherEmail,Contactor,ContactorClass,ContactorPhone,ContactorEmail,ApplicationReason,ProjectStatus,Approval,Opinion,ProjectStartTime,ProjectEndTime,ProjectLabID,SYear,Semester from PersonalProject ");
            strSql.Append(" where ProjectID=@ProjectID ");
            SqlParameter[] parameters = {
                    new SqlParameter("@ProjectID", SqlDbType.Int,4)};
            parameters[0].Value = ProjectID;

            LabMS.Model.PersonalProject model=new LabMS.Model.PersonalProject();
            DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters);
            if(ds.Tables[0].Rows.Count>0)
            {
                if(ds.Tables[0].Rows[0]["ProjectID"].ToString()!="")
                {
                    model.ProjectID=int.Parse(ds.Tables[0].Rows[0]["ProjectID"].ToString());
                }
                model.ProjectName=ds.Tables[0].Rows[0]["ProjectName"].ToString();
                if(ds.Tables[0].Rows[0]["PlanHours"].ToString()!="")
                {
                    model.PlanHours=int.Parse(ds.Tables[0].Rows[0]["PlanHours"].ToString());
                }
                if(ds.Tables[0].Rows[0]["AppcationLabID"].ToString()!="")
                {
                    model.AppcationLabID=int.Parse(ds.Tables[0].Rows[0]["AppcationLabID"].ToString());
                }
                if(ds.Tables[0].Rows[0]["ApplicationStartTime"].ToString()!="")
                {
                    model.ApplicationStartTime=DateTime.Parse(ds.Tables[0].Rows[0]["ApplicationStartTime"].ToString());
                }
                if(ds.Tables[0].Rows[0]["ApplicationEndTime"].ToString()!="")
                {
                    model.ApplicationEndTime=DateTime.Parse(ds.Tables[0].Rows[0]["ApplicationEndTime"].ToString());
                }
                model.Teacher=ds.Tables[0].Rows[0]["Teacher"].ToString();
                model.TeacherTitle=ds.Tables[0].Rows[0]["TeacherTitle"].ToString();
                model.TeacherPhone=ds.Tables[0].Rows[0]["TeacherPhone"].ToString();
                model.TeacherEmail=ds.Tables[0].Rows[0]["TeacherEmail"].ToString();
                model.Contactor=ds.Tables[0].Rows[0]["Contactor"].ToString();
                model.ContactorClass=ds.Tables[0].Rows[0]["ContactorClass"].ToString();
                model.ContactorPhone=ds.Tables[0].Rows[0]["ContactorPhone"].ToString();
                model.ContactorEmail=ds.Tables[0].Rows[0]["ContactorEmail"].ToString();
                model.ApplicationReason=ds.Tables[0].Rows[0]["ApplicationReason"].ToString();
                model.ProjectStatus=ds.Tables[0].Rows[0]["ProjectStatus"].ToString();
                model.Approval=ds.Tables[0].Rows[0]["Approval"].ToString();
                model.Opinion=ds.Tables[0].Rows[0]["Opinion"].ToString();
                if(ds.Tables[0].Rows[0]["ProjectStartTime"].ToString()!="")
                {
                    model.ProjectStartTime=DateTime.Parse(ds.Tables[0].Rows[0]["ProjectStartTime"].ToString());
                }
                if(ds.Tables[0].Rows[0]["ProjectEndTime"].ToString()!="")
                {
                    model.ProjectEndTime=DateTime.Parse(ds.Tables[0].Rows[0]["ProjectEndTime"].ToString());
                }
                if(ds.Tables[0].Rows[0]["ProjectLabID"].ToString()!="")
                {
                    model.ProjectLabID=int.Parse(ds.Tables[0].Rows[0]["ProjectLabID"].ToString());
                }
                if (ds.Tables[0].Rows[0]["SYear"].ToString() != "")
                {
                    model.SYear = int.Parse(ds.Tables[0].Rows[0]["SYear"].ToString());
                }
                if (ds.Tables[0].Rows[0]["Semester"].ToString() != "")
                {
                    model.Semester = int.Parse(ds.Tables[0].Rows[0]["Semester"].ToString());
                }
                return model;
            }
            else
            {
                return null;
            }
        }
        //保存
        protected void btnSave_Click(object sender, EventArgs e)
        {
            #region 验证
            if (string.IsNullOrEmpty(ProjectName.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "项目名称不能为空!");
                return;
            }
            if (string.IsNullOrEmpty(PlanHours.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "计划学时不能为空!");
                return;
            }
            int hour = 0;
            if (!int.TryParse(PlanHours.Text.Trim(), out hour))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "计划学时只能输入数字!");
                return;
            }
            if (ddlApplyLab.SelectedValue.ToString().Equals("0"))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "申请实验室不能为空!");
                return;
            }
            if (string.IsNullOrEmpty(ApplyTimeMin.Text.Trim()) || string.IsNullOrEmpty(ApplyTimeMax.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "申请时间不能为空!");
                return;
            }
            else
            {
                if (Convert.ToDateTime(ApplyTimeMin.Text.Trim()) > Convert.ToDateTime(ApplyTimeMax.Text.Trim()))
                {
                    LabMS.Common.JShelper.JSAlert(Page, "err", "申请开始时间大于结束时间!");
                    return;
                }
            }
            if (string.IsNullOrEmpty(tb_StudentIDs.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "申请人不能为空!");
                return;
            }
            if (string.IsNullOrEmpty(Contactor.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "联系人不能为空!");
                return;
            }
            if (string.IsNullOrEmpty(ContactPhone.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "联系人的联系电话不能为空!");
                return;
            }

            string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
            Regex re = new Regex(strRegex);
            if (!string.IsNullOrEmpty(ContactEmail.Text.Trim()))
            {
                if (!re.IsMatch(ContactEmail.Text.Trim()))
                {
                    LabMS.Common.JShelper.JSAlert(Page, "err", "联系人的EMail地址格式不正确!");
                    return;
                }
            }
            if (!string.IsNullOrEmpty(TeacherEmail.Text.Trim()))
            {
                if (!re.IsMatch(TeacherEmail.Text.Trim()))
                {
                    LabMS.Common.JShelper.JSAlert(Page, "err", "指导老师的EMail地址格式不正确!");
                    return;
                }
            }

            int temp = 0;
            int Index = int.Parse(tb_EIndex.Value);
            for (int i = 0; i < Index; i++)
            {
                if (!string.IsNullOrEmpty(Request.Form["name" + i + ""]))
                {
                    if (string.IsNullOrEmpty(Request.Form["num" + i + ""]))
                    {
                        LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器数量不能为空!");
                        return;
                    }
                    else
                    {
                        if (!int.TryParse(Request.Form["num" + i + ""], out temp))
                        {
                            LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器数量必须为数字!");
                            return;
                        }
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(Request.Form["num" + i + ""]))
                    {
                        LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器名称不能为空!");
                        return;
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(Request.Form["intro" + i + ""]))
                        {
                            LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器名称不能为空!");
                            return;
                        }
                    }
                }
            }
            Index = int.Parse(tb_ConsumpIndex.Value);
            for (int i = 0; i < Index; i++)
            {
                if (!string.IsNullOrEmpty(Request.Form["consumpname" + i + ""]))
                {
                    if (string.IsNullOrEmpty(Request.Form["consumpnum" + i + ""]))
                    {
                        LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品数量不能为空!");
                        return;
                    }
                    else
                    {
                        if (!int.TryParse(Request.Form["consumpnum" + i + ""], out temp))
                        {
                            LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品数量必须为数字!");
                            return;
                        }
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(Request.Form["consumpnum" + i + ""]))
                    {
                        LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品名称不能为空!");
                        return;
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(Request.Form["consumpintro" + i + ""]))
                        {
                            LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品名称不能为空!");
                            return;
                        }
                    }
                }
            }
            #endregion
            LabMS.BLL.PersonalProject projectinfo = new LabMS.BLL.PersonalProject();
            LabMS.Model.PersonalProject project = new LabMS.Model.PersonalProject();

            int ProjectID = int.Parse(Request.QueryString["ProjectID"]);
            project.ProjectID = ProjectID;
            project.ProjectName = ProjectName.Text.Trim();
            project.PlanHours = int.Parse(PlanHours.Text.Trim());
            project.AppcationLabID = int.Parse(ddlApplyLab.SelectedValue.Trim());

            DateTime tempTime = new DateTime();
            if (DateTime.TryParse(ApplyTimeMin.Text.Trim(), out tempTime))
            {
                project.ApplicationStartTime = tempTime;
            }
            if (DateTime.TryParse(ApplyTimeMax.Text.Trim(), out tempTime))
            {
                project.ApplicationEndTime = tempTime;
            }

            LabMS.Model.SysSetting msys = new LabMS.Model.SysSetting();
            ExtendBLL.SysSetting extendsys = new ExtendBLL.SysSetting();
            msys = extendsys.GetCurrentSetting();
            project.SYear = msys.CurrentYear;
            project.Semester = msys.CurrentSemester;

            project.Contactor = Contactor.Text.Trim();
            project.ContactorClass = ContactorClass.Text.Trim();
            project.ContactorEmail = ContactEmail.Text.Trim();
            project.ContactorPhone = ContactPhone.Text.Trim();

            project.Teacher = Teacher.Text.Trim();
            project.TeacherTitle = TeacherTitle.Text.Trim();
            project.TeacherEmail = TeacherEmail.Text.Trim();
            project.TeacherPhone = TeacherPhone.Text.Trim();

            project.ApplicationReason = ApplyReason.Text.Trim();
            project.ProjectStatus = "1";//状态为未申请(status=1)
            string strAlertContent = "保存成功!";
            if (((Button)sender).ID == "btnApply")
            {
                strAlertContent = "申请成功!";
                project.ProjectStatus = "2";
            }

            //添加申请人
            string[] array = tb_StudentIDs.Text.Split(',');
            List<string> lsIDs = new List<string>();

            lsIDs.Add(array[0]);

            foreach (string item in array)
            {
                int Count = 0;
                foreach (string Pr in lsIDs)
                {
                    if (item != Pr)
                    {
                        Count++;
                    }
                }
                if (Count == lsIDs.Count)
                {
                    lsIDs.Add(item);
                }
            }

            try
            {
                projectinfo.Update(project);
            }
            catch (Exception ex)
            {
                lbErr.Visible = true;
                lbErr.Text = ex.Message;
                return;
            }

            if (!array[0].Equals(""))
            {
                LabMS.BLL.PersonalProjApp applicantinfo = new LabMS.BLL.PersonalProjApp();
                LabMS.Model.PersonalProjApp applicant = new LabMS.Model.PersonalProjApp();
                List<LabMS.Model.PersonalProjApp> applicantList = new List<LabMS.Model.PersonalProjApp>();

                string str = " PersonalProjID=" + ProjectID;
                applicantList = applicantinfo.GetModelList(str);
                try
                {
                    foreach (LabMS.Model.PersonalProjApp a in applicantList)
                    {
                        applicantinfo.Delete(a.ID);
                    }

                    for (int i = 0; i < lsIDs.Count; i++)
                    {
                        applicant.ApplicantID = int.Parse(lsIDs[i]);
                        applicant.PersonalProjID = ProjectID;
                        applicantinfo.Add(applicant);
                    }
                }
                catch (Exception ex)
                {
                    lbErr.Visible = true;
                    lbErr.Text = ex.Message;
                    return;
                }
            }

            //删除对应的仪器和低耗品
            LabMS.BLL.PersonalProjConsume consumeinfo = new PersonalProjConsume();
            LabMS.Model.PersonalProjConsume consume = new LabMS.Model.PersonalProjConsume();
            List<LabMS.Model.PersonalProjConsume> consumeList = new List<LabMS.Model.PersonalProjConsume>();
            string strSql = " PersonalProjID=" + ProjectID;
            consumeList = consumeinfo.GetModelList(strSql);
            try
            {
                foreach (LabMS.Model.PersonalProjConsume c in consumeList)
                {
                    consumeinfo.Delete(c.ID);
                }
            }
            catch(Exception ex)
            {
                lbErr.Visible = true;
                lbErr.Text = ex.Message;
                return;
            }
            //添加仪器
            int EquipIndex = int.Parse(tb_EIndex.Value);

            for (int i = 0; i < EquipIndex; i++)
            {
                string EquipName = "";
                int EquipNum = 0;
                string Introduction = "";
                try
                {
                    EquipName = Request.Form["name" + i + ""];
                    EquipNum = int.Parse(Request.Form["num" + i + ""]);
                    Introduction = Request.Form["intro" + i + ""];

                    consume.EquipName = EquipName;
                    consume.EquipNum = EquipNum;
                    consume.EquipType = 1;
                    consume.Introduction = Introduction;
                    consume.PersonalProjID = ProjectID;

                    consumeinfo.Add(consume);
                }
                catch { }
            }

            //添加低耗品
            int ConsumpIndex = int.Parse(tb_ConsumpIndex.Value);
            for (int i = 0; i < ConsumpIndex; i++)
            {
                string ConsumpName = "";
                int ConsumpNum = 0;
                string ConsumpIntro = "";
                try
                {
                    ConsumpName = Request.Form["consumpname" + i + ""];
                    ConsumpNum = int.Parse(Request.Form["consumpnum" + i + ""]);
                    ConsumpIntro = Request.Form["consumpintro" + i + ""];

                    consume.EquipName = ConsumpName;
                    consume.EquipNum = ConsumpNum;
                    consume.EquipType = 2;
                    consume.Introduction = ConsumpIntro;
                    consume.PersonalProjID = ProjectID;

                    consumeinfo.Add(consume);
                }
                catch { }
            }
            LabMS.Common.JShelper.JSAlertAndRedirect(Page, "AddSuccess", strAlertContent, "ListPersonalProject.aspx");
        }
        //绑定数据
        protected void BindData(int ProjectID)
        {
            //绑定基本信息
            LabMS.BLL.PersonalProject project = new LabMS.BLL.PersonalProject();
            LabMS.Model.PersonalProject projectinfo = new LabMS.Model.PersonalProject();

            projectinfo = project.GetModel(ProjectID);
            ProjectName.Text = projectinfo.ProjectName;
            PlanHours.Text = projectinfo.PlanHours.ToString();
            ddlApplyLab.SelectedValue = projectinfo.AppcationLabID.ToString();
            if (!string.IsNullOrEmpty(projectinfo.ApplicationStartTime.ToString()))
            {
                ApplyTimeMin.Text = projectinfo.ApplicationStartTime.Value.ToShortDateString();
            }
            if (!string.IsNullOrEmpty(projectinfo.ApplicationEndTime.ToString()))
            {
                ApplyTimeMax.Text = projectinfo.ApplicationEndTime.Value.ToShortDateString();
            }
            Contactor.Text = projectinfo.Contactor ;
            ContactorClass.Text = projectinfo.ContactorClass;
            ContactEmail.Text = projectinfo.ContactorEmail;
            ContactPhone.Text = projectinfo.ContactorPhone;
            Teacher.Text = projectinfo.Teacher;
            TeacherTitle.Text = projectinfo.TeacherTitle;
            TeacherEmail.Text = projectinfo.TeacherEmail;
            TeacherPhone.Text = projectinfo.TeacherPhone;
            ApplyReason.Text = projectinfo.ApplicationReason;

            //绑定申请人
            ExtendBLL.PersonalProject applicant = new ExtendBLL.PersonalProject();
            List<ExtendModule.StudentAndOther> applicantinfo = new List<ExtendModule.StudentAndOther>();

            string strWhere = " pa.PersonalProjID = " + ProjectID;
            applicantinfo = applicant.GetStudentInfoList(strWhere);
            #region 绑定申请人列表
            string strHTML0 = "<table  id='applicantlist' border='1' class='infoTable' style='width: 185px; border-collapse: collapse;'>";
            strHTML0 += "<thead>";
            strHTML0 += "<tr class='header'>";
            strHTML0 += "<td class='none'>";
            strHTML0 += "ID";
            strHTML0 += "</td>";

            strHTML0 += "<td>";
            strHTML0 += "学号";
            strHTML0 += "</td>";

            strHTML0 += "<td>";
            strHTML0 += "姓名";
            strHTML0 += "</td>";
            strHTML0 += "<td>";
            strHTML0 += "";
            strHTML0 += "</td>";
            strHTML0 += "</tr>";
            strHTML0 += "</thead>";
            strHTML0 += "<tbody>";
            tb_StudentIDs.Text = "";
            foreach (ExtendModule.StudentAndOther s in applicantinfo)
            {
                if (tb_StudentIDs.Text == "")
                {
                    tb_StudentIDs.Text += s.ID.ToString();
                }
                else
                {
                    tb_StudentIDs.Text += "," + s.ID.ToString();
                }
                strHTML0 += "<tr>";
                strHTML0 += "<td class='none'>";
                strHTML0 += s.ID.ToString();
                strHTML0 += "</td>";
                strHTML0 += "<td>";
                strHTML0 += s.Student_Code;
                strHTML0 += "</td>";
                strHTML0 += "<td>";
                strHTML0 += s.Student_Name;
                strHTML0 += "</td>";
                strHTML0 += "<td>";
                strHTML0 += "<a>删除</a>";
                strHTML0 += "</td>";
                strHTML0 += "</tr>";
            }
            strHTML0 += "</tbody>";
            strHTML0 += "</table>";
            studentlist.Text = strHTML0;
            tblistEmpty.Value = "0";
            #endregion

            //绑定低耗品和仪器
            LabMS.BLL.PersonalProjConsume projectconsume = new LabMS.BLL.PersonalProjConsume();
            List<LabMS.Model.PersonalProjConsume> projectequipinfo = new List<LabMS.Model.PersonalProjConsume>();
            List<LabMS.Model.PersonalProjConsume> projectlowconsumeinfo = new List<LabMS.Model.PersonalProjConsume>();

            #region 绑定仪器
            //仪器
            string strWhere2 = " EquipType=1 and PersonalProjID=" + ProjectID;
            projectequipinfo = projectconsume.GetModelList(strWhere2);

            string strHTML = "<table  id='tableEquip' border='1' class='infoTable' style='border-collapse: collapse;'>";
            strHTML += "<thead>";
            strHTML += "<tr class='header'>";
            strHTML += "<td style='display:none'>";
            strHTML += "编号";
            strHTML += "</td>";

            strHTML += "<td>";
            strHTML += "名称";
            strHTML += "</td>";

            strHTML += "<td>";
            strHTML += "数量";
            strHTML += "</td>";

            strHTML += "<td>";
            strHTML += "备注";
            strHTML += "</td>";

            strHTML += "<td>";
            strHTML += "";
            strHTML += "</td>";

            strHTML += "</tr>";
            strHTML += "</thead>";
            strHTML += "<tbody>";
            tb_EIndex.Value = projectequipinfo.Count.ToString();

            for (int i = 0; i < projectequipinfo.Count; i++)
            {
                strHTML += "<tr>";
                strHTML += "<td style='display:none'>";
                strHTML += "<input type='text' id='code" + i + "'/>";
                strHTML += "</td>";
                strHTML += "<td>";
                strHTML += "<input style='width:40px;' value='" + projectequipinfo[i].EquipName + "' name='name" + i + "' id='name" + i + "' type='text' /><input  onclick=OpenEditWin2('../CommonPage/consumselectlist.aspx?location=@ALL@&Type=yiqi',500,400,'code" + i + "','name" + i + "'); type='button' class='button' value='...' /> ";
                strHTML += "</td>";
                strHTML += "<td>";
                strHTML += "<input style='width:30px;' value='" + projectequipinfo[i].EquipNum + "' name='num" + i + "' id='num" + i + "' type='text' />";
                strHTML += "</td>";
                strHTML += "<td>";
                strHTML += "<input style='width:50px;' value='" + projectequipinfo[i].Introduction + "' name='intro" + i + "' id='intro" + i + "' type='text' />";
                strHTML += "</td>";
                strHTML += "<td>";
                strHTML += "<a>删除</a>";
                strHTML += "</td>";
                strHTML += "</tr>";
            }
            strHTML += "</tbody>";
            strHTML += "</table>";
            lbEquip.Text += strHTML;
            #endregion
            #region 绑定低耗品
            //低耗品
            string strWhere3 = " EquipType=2 and PersonalProjID=" + ProjectID;
            projectlowconsumeinfo = projectconsume.GetModelList(strWhere3);

            string strHTML2 = "<table  id='tableConsump' border='1' class='infoTable' style='border-collapse: collapse;'>";
            strHTML2 += "<thead>";
            strHTML2 += "<tr class='header'>";
            strHTML2 += "<td style='display:none'>";
            strHTML2 += "编号";
            strHTML2 += "</td>";

            strHTML2 += "<td>";
            strHTML2 += "名称";
            strHTML2 += "</td>";

            strHTML2 += "<td>";
            strHTML2 += "数量";
            strHTML2 += "</td>";

            strHTML2 += "<td>";
            strHTML2 += "备注";
            strHTML2 += "</td>";

            strHTML2 += "<td>";
            strHTML2 += "";
            strHTML2 += "</td>";

            strHTML2 += "</tr>";
            strHTML2 += "</thead>";
            strHTML2 += "<tbody>";

            tb_ConsumpIndex.Value = projectlowconsumeinfo.Count.ToString();

            for (int i = 0; i < projectlowconsumeinfo.Count; i++)
            {
                strHTML2 += "<tr>";
                strHTML2 += "<td style='display:none'>";
                strHTML2 += "<input type='text'id='consumpcode" + i + "'/>";
                strHTML2 += "</td>";
                strHTML2 += "<td>";
                strHTML2 += "<input style='width:40px;' value='" + projectlowconsumeinfo[i].EquipName + "' name='consumpname" + i + "' id='consumpname" + i + "' type='text' /><input  onclick=OpenEditWin3('../CommonPage/consumselectlist.aspx?location=@ALL@&Type=xiaohaopin',500,400,'consumpcode" + i + "','consumpname" + i + "'); type='button' class='button' value='...' /> ";
                strHTML2 += "</td>";
                strHTML2 += "<td>";
                strHTML2 += "<input style='width:30px;' value='" + projectlowconsumeinfo[i].EquipNum + "' name='consumpnum" + i + "' id='consumpnum" + i + "' type='text' />";
                strHTML2 += "</td>";
                strHTML2 += "<td>";
                strHTML2 += "<input style='width:50px;' value='" + projectlowconsumeinfo[i].Introduction + "' name='consumpintro" + i + "' id='consumpintro" + i + "' type='text' />";
                strHTML2 += "</td>";
                strHTML2 += "<td>";
                strHTML2 += "<a>删除</a>";
                strHTML2 += "</td>";
                strHTML2 += "</tr>";
            }
            strHTML2 += "</tbody>";
            strHTML2 += "</table>";
            lbConsump.Text += strHTML2;
            #endregion
        }
        protected void GridViewPerProject_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //判断是否为数据行
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //鼠标移动时改变背景色
                //e.Row.Attributes.Add("OnMouseOut", "this.style.backgroundColor='White';this.style.color='#003399'");
                //e.Row.Attributes.Add("OnMouseOver", "this.style.backgroundColor='6699FF';this.style.color='8C4510'");
                e.Row.Attributes["style"] = "Cursor:pointer";
                //鼠标点击数据行时的链接

                int itemp = e.Row.Cells.Count;
                for (int i = 1; i < itemp; i++)
                {
                    //被点击数据行的实验项目ID
                    int ProjectID = int.Parse(gvPersonalProjectList.DataKeys[gvPersonalProjectList.DataKeys.Count - 1].Value.ToString());

                    LabMS.BLL.PersonalProject project = new LabMS.BLL.PersonalProject();
                    LabMS.Model.PersonalProject projectinfo = new LabMS.Model.PersonalProject();
                    //获得该实验项目的状态
                    projectinfo = project.GetModel(ProjectID);
                    string projectStatus = projectinfo.ProjectStatus;
                    e.Row.Cells[i].Attributes.Add("onDblclick", "window.location.href='PreviewPersonalProject.aspx?ProjectID="
                                              + ProjectID + "'");
                }
            }
        }
        //审批[不通过]
        protected void btnUnapprove_Click(object sender, EventArgs e)
        {
            #region 验证
            if (string.IsNullOrEmpty(Opinion.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "审批意见不能为空!");
                return;
            }
            #endregion
            LabMS.BLL.PersonalProject projectinfo = new LabMS.BLL.PersonalProject();
            LabMS.Model.PersonalProject project = new LabMS.Model.PersonalProject();

            int ProjectID = int.Parse(Request.QueryString["ProjectID"]);
            project = projectinfo.GetModel(ProjectID);

            project.Opinion = Opinion.Text;
            project.ProjectStatus = "3";
            try
            {
                projectinfo.Update(project);
            }
            catch (Exception ex)
            {
                lbErr.Text = ex.Message;
                lbErr.Visible = true;
                return;
            }
            LabMS.Common.JShelper.JSAlertAndRedirect(Page, "UnapproveSuccess", "审批不通过操作成功", "ListPersonalProject.aspx");
        }
        //审批[通过]
        protected void btnApprove_Click(object sender, EventArgs e)
        {
            #region 验证
            if (string.IsNullOrEmpty(Opinion.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "审批意见不能为空!");
                return;
            }
            if (string.IsNullOrEmpty(LabDate.Text.Trim()) || string.IsNullOrEmpty(LabStartTimeHour.Text.Trim()) || string.IsNullOrEmpty(LabStartTimeMinute.Text.Trim())
                || string.IsNullOrEmpty(LabEndTimeHour.Text.Trim()) || string.IsNullOrEmpty(LabEndTimeMinute.Text.Trim()))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "实验时间不能为空!");
                return;
            }

            int StartHour = 0;
            int EndHour = 0;
            int StartMinute = 0;
            int EndMinute = 0;
            if (!(int.TryParse(LabStartTimeHour.Text.Trim(), out StartHour) && int.TryParse(LabStartTimeMinute.Text.Trim(), out StartMinute)
                && int.TryParse(LabEndTimeHour.Text.Trim(), out EndHour) && int.TryParse(LabEndTimeMinute.Text.Trim(), out EndMinute)))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "实验时间只能输入数字!");
                return;
            }
            else
            {
                StartHour = int.Parse(LabStartTimeHour.Text.Trim());
                StartMinute = int.Parse(LabStartTimeMinute.Text.Trim());
                EndHour = int.Parse(LabEndTimeHour.Text.Trim());
                EndMinute = int.Parse(LabEndTimeMinute.Text.Trim());

                if (StartHour > 24 || EndHour > 24 || StartMinute > 60 || EndMinute > 60)
                {
                    LabMS.Common.JShelper.JSAlert(Page, "err", "实验时间不合法!");
                    return;
                }
                if (StartHour > EndHour || ((StartHour.Equals(EndHour)) && (StartMinute>=EndMinute)))
                {
                    LabMS.Common.JShelper.JSAlert(Page, "err", "实验开始时间大于结束时间!");
                    return;
                }
            }
            if (ddlLocation.SelectedValue.ToString().Equals("0"))
            {
                LabMS.Common.JShelper.JSAlert(Page, "err", "实验地点不能为空!");
                return;
            }
            #endregion
            LabMS.BLL.PersonalProject projectinfo = new LabMS.BLL.PersonalProject();
            LabMS.Model.PersonalProject project = new LabMS.Model.PersonalProject();

            int ProjectID = int.Parse(Request.QueryString["ProjectID"]);
            project = projectinfo.GetModel(ProjectID);

            project.Opinion = Opinion.Text;
            project.ProjectLabID = int.Parse(ddlLocation.SelectedValue.Trim());
            project.ProjectStartTime = DateTime.Parse(LabDate.Text + "  " + LabStartTimeHour.Text + ":" + LabStartTimeMinute.Text + ":00");
            project.ProjectEndTime = DateTime.Parse(LabDate.Text + "  " + LabEndTimeHour.Text + ":" + LabEndTimeMinute.Text + ":00");
            project.ProjectStatus = "4";
            try
            {
                projectinfo.Update(project);
            }
            catch (Exception ex)
            {
                lbErr.Text = ex.Message;
                lbErr.Visible = true;
                return;
            }
            LabMS.Common.JShelper.JSAlertAndRedirect(Page, "ApproveSuccess", "审批通过操作成功", "ListPersonalProject.aspx");
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            strPageUserType.Add("student");
            if (Request.QueryString["ProjectID"] == null)
            {
                Common.JShelper.JSAlert(Page, "err", "参数错误!");
                return;
            }
            int ProjectID = 0;
            if (!int.TryParse(Request.QueryString["ProjectID"], out ProjectID))
            {
                Common.JShelper.JSAlert(Page, "err", "参数错误!");
                return;
            }
            if (!IsPostBack)
            {
                LabMS.BLL.PersonalProject project = new LabMS.BLL.PersonalProject();
                LabMS.Model.PersonalProject projectInfo = new LabMS.Model.PersonalProject();
                projectInfo = project.GetModel(ProjectID);
                string status = projectInfo.ProjectStatus;
                iniBtn(status);

                LabDropdownlist();
                BindApplicantList(ProjectID);
                BindEquipList(ProjectID);
                BindData(ProjectID);
                tbID.Value = ProjectID.ToString();
            }
        }