using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Aspose.Words;
using System.Text;
using System.Web.Security;
namespace FineUIPro.Web.CQMS.Check
{
    public partial class EditTechnicalContactList : PageBase
    {
        /// 
        /// 主键
        /// 
        public string TechnicalContactListId
        {
            get
            {
                return (string)ViewState["TechnicalContactListId"];
            }
            set
            {
                ViewState["TechnicalContactListId"] = value;
            }
        }
        public int HandleImg
        {
            get
            {
                return Convert.ToInt32(ViewState["HandleImg"]);
            }
            set
            {
                ViewState["HandleImg"] = value;
            }
        }
        public int ReplyFileImg
        {
            get
            {
                return Convert.ToInt32(ViewState["ReplyFileImg"]);
            }
            set
            {
                ViewState["ReplyFileImg"] = value;
            }
        }
        /// 
        /// 办理类型
        /// 
        public string State
        {
            get
            {
                return (string)ViewState["State"];
            }
            set
            {
                ViewState["State"] = value;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                UnitService.GetUnit(drpProposeUnit, CurrUser.LoginProjectId, false);
                var unitWork = UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
                var unitWorks = from x in unitWork
                                select
        new
        {
            UnitWorkId = x.UnitWorkId,
            UnitWorkName = x.UnitWorkCode + "-" + x.UnitWorkName + BLL.UnitWorkService.GetProjectType(x.ProjectType)
        };
                gvUnitWork.DataSource = unitWorks;
                gvUnitWork.DataBind();
                var gvCNProfessional = CNProfessionalService.GetList();
                gvCNPro.DataSource = gvCNProfessional;
                gvCNPro.DataBind();
                //主送单位
                gvMainSendUnit.DataSource = UnitService.GetUnitByProjectIdList(CurrUser.LoginProjectId);
                gvMainSendUnit.DataBind();
                //抄送单位
                gvCCUnit.DataSource = UnitService.GetUnitByProjectIdList(CurrUser.LoginProjectId);
                gvCCUnit.DataBind();
                HideOptions.Hidden = true;
                HideReplyFile.Hidden = true;
                ReOpinion.Hidden = true;
                //Url.Visible = false;
                rblIsAgree.Visible = false;
                txtProjectName.Text = ProjectService.GetProjectByProjectId(CurrUser.LoginProjectId).ProjectName;
                TechnicalContactListId = Request.Params["TechnicalContactListId"];
                if (!string.IsNullOrEmpty(TechnicalContactListId))
                {
                    hdTechnicalContactListId.Text = TechnicalContactListId;
                    Model.Check_TechnicalContactList technicalContactList = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                    string unitType = string.Empty;
                    txtCode.Text = technicalContactList.Code;
                    if (!string.IsNullOrEmpty(technicalContactList.ProposedUnitId))
                    {
                        drpProposeUnit.SelectedValue = technicalContactList.ProposedUnitId;
                        Model.Project_ProjectUnit unit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, technicalContactList.ProposedUnitId);
                        if (unit != null)
                        {
                            unitType = unit.UnitType;
                        }
                    }
                    if (!string.IsNullOrEmpty(technicalContactList.UnitWorkId))
                    {
                        //txtUnitWork.Text = ConstructSolutionService.GetUnitWorkName(technicalContactList.UnitWorkId);
                        txtUnitWork.Values = technicalContactList.UnitWorkId.Split(',');
                    }
                    if (!string.IsNullOrEmpty(technicalContactList.CNProfessionalCode))
                    {
                        //txtCNProfessional.Text = ConstructSolutionService.GetProfessionalName(technicalContactList.CNProfessionalCode);
                        txtCNProfessional.Values = technicalContactList.CNProfessionalCode.Split(',');
                    }
                    if (!string.IsNullOrEmpty(technicalContactList.MainSendUnitId))
                    {
                        txtMainSendUnit.Values = technicalContactList.MainSendUnitId.Split(',');
                    }
                    if (!string.IsNullOrEmpty(technicalContactList.CCUnitIds))
                    {
                        txtCCUnit.Values = technicalContactList.CCUnitIds.Split(',');
                    }
                    string contactListType = technicalContactList.ContactListType;
                    string isReply = technicalContactList.IsReply;
                    if (!string.IsNullOrEmpty(technicalContactList.ContactListType))
                    {
                        rblContactListType.SelectedValue = technicalContactList.ContactListType;
                    }
                    if (!string.IsNullOrEmpty(technicalContactList.IsReply))
                    {
                        rblIsReply.SelectedValue = technicalContactList.IsReply;
                    }
                    txtCause.Text = technicalContactList.Cause;
                    txtContents.Text = technicalContactList.Contents;
                    txtReOpinion.Text = technicalContactList.ReOpinion;
                    Model.Check_TechnicalContactListApprove approve = TechnicalContactListApproveService.GetComplie(TechnicalContactListId);
                    if (approve != null)
                    {
                    }
                    if (!string.IsNullOrEmpty(technicalContactList.State))
                    {
                        State = technicalContactList.State;
                    }
                    else
                    {
                        State = Const.TechnicalContactList_Compile;
                        HideOptions.Hidden = true;
                        rblIsAgree.Visible = false;
                        ReplyFileImg = -1;
                    }
                    if (State != Const.TechnicalContactList_Complete)
                    {
                        TechnicalContactListService.InitHandleType(drpHandleType, false, State, unitType, technicalContactList.ContactListType, technicalContactList.IsReply);
                    }
                    if (State == Const.TechnicalContactList_Compile || State == Const.TechnicalContactList_ReCompile)
                    {
                        HideOptions.Hidden = true;
                        rblIsAgree.Visible = false;
                        drpHandleMan.Enabled = true;
                        drpHandleMan.Required = true;
                        if (drpHandleType.SelectedValue == Const.TechnicalContactList_ReCompile)
                        {
                            drpHandleMan.Enabled = true;
                            UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, drpProposeUnit.SelectedValue);
                            drpHandleMan.Required = true;
                        }
                        else
                        {
                            drpHandleMan.Enabled = true;
                            UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
                            drpHandleMan.Required = true;
                        }
                        drpHandleMan.SelectedIndex = 1;
                        //HandleImg = -1;
                    }
                    else
                    {
                        UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
                        HideOptions.Hidden = false;
                        rblIsAgree.Visible = true;
                        HideReplyFile.Hidden = true;
                        ReOpinion.Hidden = true;
                        HandleImg = 0;
                        ReplyFileImg = 0;
                    }
                    if (unitType == BLL.Const.ProjectUnitType_2)  //分包发起
                    {
                        if (contactListType == "1")  //图纸类
                        {
                            if (State == Const.TechnicalContactList_Audit3)
                            {
                                rblIsAgree.Visible = true;
                                drpHandleMan.Enabled = false;
                                drpHandleMan.Required = false;
                            }
                        }
                        else
                        {
                            if (State == Const.TechnicalContactList_Audit3)
                            {
                                rblIsAgree.Visible = true;
                                drpHandleMan.Enabled = false;
                                drpHandleMan.Required = false;
                            }
                        }
                        if (isReply == "2")    //不需回复
                        {
                            if (State == Const.TechnicalContactList_Audit1)
                            {
                                rblIsAgree.Visible = true;
                                drpHandleMan.Enabled = false;
                                drpHandleMan.Required = false;
                            }
                        }
                    }
                    else   //总包发起
                    {
                        if (isReply == "1")  //需要回复
                        {
                            if (State == Const.TechnicalContactList_Audit1)
                            {
                                rblIsAgree.Visible = true;
                                drpHandleMan.Enabled = false;
                                drpHandleMan.Required = false;
                            }
                        }
                        else  //不需回复
                        {
                            if (State == Const.TechnicalContactList_Audit3)
                            {
                                rblIsAgree.Visible = true;
                                drpHandleMan.Enabled = false;
                                drpHandleMan.Required = false;
                            }
                        }
                        HandleImg = 0;
                    }
                    if (State == Const.TechnicalContactList_Complete || !string.IsNullOrEmpty(Request.Params["see"]))
                    {
                        btnSave.Visible = false;
                        btnSubmit.Visible = false;
                        next.Visible = false;
                    }
                    if (unitType == BLL.Const.ProjectUnitType_2)  //施工分包商
                    {
                        if (State == Const.TechnicalContactList_Audit2 || State == Const.TechnicalContactList_Audit2R || State == Const.TechnicalContactList_Audit2H || State == Const.TechnicalContactList_Audit3 || State == Const.TechnicalContactList_Audit4 || State == Const.TechnicalContactList_Audit4R)
                        {
                            DoeNabled();
                            //HideReplyFile.Visible = true;
                            //var str = txtMainSendUnit.Values.ToList();
                            //drpHandleMan.Items.Clear();
                            //UserService.InitUsersDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Join(",", str));
                            //txtCode.Enabled = false;
                            //drpProposeUnit.Enabled = false;
                            //txtUnitWork.Enabled = false;
                            //txtCNProfessional.Enabled = false;
                            //txtMainSendUnit.Enabled = false;
                            //txtCCUnit.Enabled = false;
                            //rblContactListType.Enabled = false;
                            //rblIsReply.Enabled = false;
                            //txtCause.Enabled = false;
                            //txtContents.Enabled = false;
                            //imgfile.Visible = false;
                        }
                        //图纸类,总包专工操作时,显示导出和上传功能
                        if (State == Const.TechnicalContactList_Audit2 && technicalContactList.ContactListType == "1")
                        {
                            plExport.Hidden = false;
                            plReFile.Hidden = false;
                            AttachFile();
                        }
                        //总包负责人审批,两种打回方式
                        if (State == Const.TechnicalContactList_Audit3)
                        {
                            drpHandleType.Enabled = true;
                        }
                        if (State == Const.TechnicalContactList_Audit2 || State == Const.TechnicalContactList_Audit2H || State == Const.TechnicalContactList_Audit4 || State == Const.TechnicalContactList_Audit2R)
                        {
                            txtOpinions.Required = false;
                        }
                    }
                    else   //总包
                    {
                        if (State == Const.TechnicalContactList_Audit1 || State == Const.TechnicalContactList_Audit6 || State == Const.TechnicalContactList_Audit6R)
                        {
                            //txtCode.Enabled = false;
                            //txtUnitWork.Enabled = false;
                            //txtCNProfessional.Enabled = false;
                            //txtMainSendUnit.Enabled = false;
                            //txtCCUnit.Enabled = false;
                            //rblContactListType.Enabled = false;
                            //rblIsReply.Enabled = false;
                            //txtCause.Enabled = false;
                            //txtContents.Enabled = false;
                            //imgfile.Visible = false;
                            DoeNabled();
                            //HideReplyFile.Visible = true;
                            //var str = txtMainSendUnit.Values.ToList();
                            //drpHandleMan.Items.Clear();
                            //UserService.InitUsersDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Join(",", str));
                        }
                        if (State == Const.TechnicalContactList_Audit1)
                        {
                            drpHandleType.Enabled = true;
                        }
                        if (State == Const.TechnicalContactList_Audit6 || State == Const.TechnicalContactList_Audit6R)
                        {
                            txtOpinions.Required = false;
                        }
                    }
                    if (technicalContactList.State == Const.TechnicalContactList_Audit6 || technicalContactList.State == Const.TechnicalContactList_Audit6R)
                    {
                        rblIsAgree.Visible = false;
                        HideReplyFile.Hidden = false;
                        ReOpinion.Hidden = false;
                        HideOptions.Hidden = true;
                        txtReOpinion.Required = true;
                        txtReOpinion.ShowRedStar = true;
                    }
                    //drpProposeUnit_SelectedIndexChanged(null, null);
                    if (drpHandleType.Items.Count == 2)
                    {
                        drpHandleType.Readonly = true;
                    }
                    //设置用户的的可编辑区域
                    if (!State.Equals(Const.TechnicalContactList_Complete))
                    {
                        if (State.Equals(Const.TechnicalContactList_ReCompile) || State.Equals(Const.TechnicalContactList_Compile) ||
                          State.Equals(Const.TechnicalContactList_Audit1) || State.Equals(Const.TechnicalContactList_Audit6))
                        {
                            DoeNabled();
                        }
                        if (State.Equals(Const.TechnicalContactList_Compile) || State.Equals(Const.TechnicalContactList_ReCompile))
                        {
                            DoEdit();
                        }
                    }
                    drpProposeUnit_SelectedIndexChanged(null, null);
                    if (rblIsAgree.Visible == true)
                    {
                        Agree();
                    }
                    //设置回复审批场景下的操作
                    Reply(unitType);
                    BindGrid();
                }
                else
                {
                    State = Const.TechnicalContactList_Compile;
                    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
                    drpHandleMan.SelectedIndex = 1;
                    plApprove2.Hidden = true;
                    txtCode.Text = SQLHelper.RunProcNewId2("SpGetNewCode3ByProjectId", "dbo.Check_TechnicalContactList", "Code", CurrUser.LoginProjectId);
                    string unitId = string.Empty;
                    var mainUnit = UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, Const.ProjectUnitType_1)[0];
                    if (mainUnit != null)
                    {
                        unitId = mainUnit.UnitId;
                    }
                    this.drpProposeUnit.SelectedValue = this.CurrUser.UnitId ?? unitId;
                    HandleImg = 0;
                    drpProposeUnit_SelectedIndexChanged(null, null);
                }
                Model.Check_TechnicalContactList technicalContactList1 = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                if (technicalContactList1 != null && !string.IsNullOrEmpty(technicalContactList1.SaveHandleMan))
                {
                    this.drpHandleMan.SelectedValue = technicalContactList1.SaveHandleMan;
                }
            }
            else
            {
                var eventArgs = GetRequestEventArgument(); // 此函数所在文件:PageBase.cs
                if (eventArgs.StartsWith("ButtonClick"))
                {
                    string rootPath = Server.MapPath("~/");
                    string uploadfilepath = rootPath + initTemplatePath;
                    string newUrl = uploadfilepath.Replace(".doc", txtCode.Text.Trim() + ".doc");
                    File.Copy(uploadfilepath, newUrl);
                    //更新书签内容
                    string unitType = string.Empty;
                    Model.Check_TechnicalContactList technicalContactList = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                    var unit = UnitService.GetUnitByUnitId(technicalContactList.ProposedUnitId);
                    var projectUnit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, technicalContactList.ProposedUnitId);
                    if (unit != null)
                    {
                        unitType = projectUnit.UnitType;
                    }
                    Document doc = new Aspose.Words.Document(newUrl);
                    Bookmark bookmarkProjectName = doc.Range.Bookmarks["ProjectName"];
                    if (bookmarkProjectName != null)
                    {
                        var project = ProjectService.GetProjectByProjectId(technicalContactList.ProjectId);
                        if (project != null)
                        {
                            bookmarkProjectName.Text = project.ProjectName;
                        }
                    }
                    Bookmark bookmarkCode = doc.Range.Bookmarks["Code"];
                    if (bookmarkCode != null)
                    {
                        bookmarkCode.Text = technicalContactList.Code;
                    }
                    Bookmark bookmarkProposedUnit = doc.Range.Bookmarks["ProposedUnit"];
                    if (bookmarkProposedUnit != null)
                    {
                        bookmarkProposedUnit.Text = drpProposeUnit.SelectedItem.Text;
                    }
                    Bookmark bookmarkUnitWork = doc.Range.Bookmarks["UnitWork"];
                    if (bookmarkUnitWork != null)
                    {
                        bookmarkUnitWork.Text = UnitWorkService.GetUnitWorkName(technicalContactList.UnitWorkId);
                    }
                    Bookmark bookmarkCNProfessional = doc.Range.Bookmarks["CNProfessional"];
                    if (bookmarkCNProfessional != null)
                    {
                        bookmarkCNProfessional.Text = CNProfessionalService.GetCNProfessionalNameByCode(technicalContactList.CNProfessionalCode);
                    }
                    Bookmark bookmarkMainSendUnit = doc.Range.Bookmarks["MainSendUnit"];
                    if (bookmarkMainSendUnit != null)
                    {
                        bookmarkMainSendUnit.Text = UnitService.GetUnitNameByUnitId(technicalContactList.MainSendUnitId);
                    }
                    Bookmark bookmarkCCUnit = doc.Range.Bookmarks["CCUnit"];
                    if (bookmarkCCUnit != null)
                    {
                        bookmarkCCUnit.Text = UnitService.GetUnitNameByUnitId(technicalContactList.CCUnitIds);
                    }
                    Bookmark bookmarkContactListType = doc.Range.Bookmarks["ContactListType"];
                    if (bookmarkContactListType != null)
                    {
                        if (rblContactListType.SelectedValue == "1")
                        {
                            bookmarkContactListType.Text = "■图纸类   □非图纸类";
                        }
                        else
                        {
                            bookmarkContactListType.Text = "□图纸类   ■非图纸类";
                        }
                    }
                    Bookmark bookmarkIsReply = doc.Range.Bookmarks["IsReply"];
                    if (bookmarkIsReply != null)
                    {
                        if (rblIsReply.SelectedValue == "1")
                        {
                            bookmarkIsReply.Text = "■需要回复   □不需回复";
                        }
                        else
                        {
                            bookmarkIsReply.Text = "□需要回复   ■不需回复";
                        }
                    }
                    //☑
                    Bookmark bookmarkCause = doc.Range.Bookmarks["Cause"];
                    if (bookmarkCause != null)
                    {
                        bookmarkCause.Text = txtCause.Text;
                    }
                    Bookmark bookmarkContents = doc.Range.Bookmarks["Contents"];
                    if (bookmarkContents != null)
                    {
                        bookmarkContents.Text = txtContents.Text;
                    }
                    Bookmark bookmarkAttachUrl = doc.Range.Bookmarks["AttachUrl"];
                    if (bookmarkAttachUrl != null)
                    {
                        if (AttachFileService.Getfile(technicalContactList.TechnicalContactListId, Const.TechnicalContactListMenuId))
                        {
                            bookmarkAttachUrl.Text = "见附页";
                        }
                        else
                        {
                            bookmarkAttachUrl.Text = "无";
                        }
                    }
                    Bookmark bookmarkCompileMan = doc.Range.Bookmarks["CompileMan"];
                    if (bookmarkCompileMan != null)
                    {
                        Model.Sys_User user = UserService.GetUserByUserId(technicalContactList.CompileMan);
                        var file = user.SignatureUrl;
                        if (!string.IsNullOrWhiteSpace(file))
                        {
                            string url = rootPath + file;
                            DocumentBuilder builders = new DocumentBuilder(doc);
                            builders.MoveToBookmark("CompileMan");
                            if (!string.IsNullOrEmpty(url))
                            {
                                System.Drawing.Size JpgSize;
                                float Wpx;
                                float Hpx;
                                UploadAttachmentService.getJpgSize(url, out JpgSize, out Wpx, out Hpx);
                                double i = 1;
                                i = JpgSize.Width / 50.0;
                                if (File.Exists(url))
                                {
                                    builders.InsertImage(url, JpgSize.Width / i, JpgSize.Height / i);
                                }
                                else
                                {
                                    bookmarkCompileMan.Text = user.UserName;
                                }
                            }
                        }
                        else
                        {
                            bookmarkCompileMan.Text = UserService.GetUserNameByUserId(technicalContactList.CompileMan);
                        }
                    }
                    Bookmark bookmarkAuditMan1 = doc.Range.Bookmarks["AuditMan1"];
                    if (bookmarkAuditMan1 != null)
                    {
                        Model.Check_TechnicalContactListApprove approve = null;
                        if (unitType == BLL.Const.ProjectUnitType_2)   //施工分包发起
                        {
                            approve = TechnicalContactListApproveService.GetApprove(technicalContactList.TechnicalContactListId);
                        }
                        else
                        {
                            approve = TechnicalContactListApproveService.GetApprove2(technicalContactList.TechnicalContactListId);
                        }
                        if (approve != null)
                        {
                            Model.Sys_User user = UserService.GetUserByUserId(approve.ApproveMan);
                            var file = user.SignatureUrl;
                            if (!string.IsNullOrWhiteSpace(file))
                            {
                                string url = rootPath + file;
                                DocumentBuilder builders = new DocumentBuilder(doc);
                                builders.MoveToBookmark("AuditMan1");
                                if (!string.IsNullOrEmpty(url))
                                {
                                    System.Drawing.Size JpgSize;
                                    float Wpx;
                                    float Hpx;
                                    UploadAttachmentService.getJpgSize(url, out JpgSize, out Wpx, out Hpx);
                                    double i = 1;
                                    i = JpgSize.Width / 50.0;
                                    if (File.Exists(url))
                                    {
                                        builders.InsertImage(url, JpgSize.Width / i, JpgSize.Height / i);
                                    }
                                    else
                                    {
                                        bookmarkAuditMan1.Text = user.UserName;
                                    }
                                }
                            }
                            else
                            {
                                bookmarkAuditMan1.Text = UserService.GetUserNameByUserId(approve.ApproveMan);
                            }
                        }
                    }
                    Bookmark bookmarkCompileDate = doc.Range.Bookmarks["CompileDate"];
                    if (bookmarkCompileDate != null)
                    {
                        if (technicalContactList.CompileDate != null)
                        {
                            bookmarkCompileDate.Text = string.Format("{0:yyyy-MM-dd}", technicalContactList.CompileDate);
                        }
                    }
                    Bookmark bookmarkApproveIdea = doc.Range.Bookmarks["ApproveIdea"];
                    if (bookmarkApproveIdea != null)
                    {
                        bookmarkApproveIdea.Text = txtOpinions.Text.Trim();
                    }
                    doc.Save(newUrl);
                    //生成PDF文件
                    string pdfUrl = newUrl.Replace(".doc", ".pdf");
                    Document doc1 = new Aspose.Words.Document(newUrl);
                    //验证参数
                    if (doc1 == null) { throw new Exception("Word文件无效"); }
                    doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式
                                                                   //Microsoft.Office.Interop.Word.Document doc1 = new Microsoft.Office.Interop.Word.Document(newUrl);
                                                                   //object fontname = "Wingdings 2";
                                                                   //object uic = true;
                                                                   //doc1.Bookmarks["ApproveIdea"].Range.InsertSymbol(-4014, ref fontname, ref uic);
                    string filePath = initTemplatePath.Replace(".doc", txtCode.Text.Trim() + ".pdf");
                    string fileName = Path.GetFileName(filePath);
                    FileInfo info = new FileInfo(pdfUrl);
                    long fileSize = info.Length;
                    Response.Clear();
                    Response.ContentType = "application/x-zip-compressed";
                    Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
                    Response.AddHeader("Content-Length", fileSize.ToString());
                    Response.TransmitFile(pdfUrl, 0, fileSize);
                    Response.Flush();
                    File.Delete(newUrl);
                    File.Delete(pdfUrl);
                }
            }
        }
        /// 
        /// 设置回复审批场景下的操作
        /// 
        public void Reply(string type)
        {
            Model.Check_TechnicalContactList technicalContactList = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
            if (rblIsReply.SelectedValue.Equals("1"))
            {
                //回复操作
                //if (drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit2H) || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit2R)
                //    || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit4) || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit4R)
                //    || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit6) || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit6R))
                //{
                //    //HideReplyFile.Visible = true;
                //    //txtMainSendUnit.Values.Join(",")
                //    var str = txtMainSendUnit.Values.ToList();
                //    drpHandleMan.Items.Clear();
                //    UserService.InitUsersDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Join(",", str));
                //}
                //审批操作
                //|| State.Equals(Const.TechnicalContactList_Audit1) || State.Equals(Const.TechnicalContactList_Audit3)
                //var type = UnitService.GetUnitByUnitId(drpProposeUnit.SelectedValue).UnitType;
                //State.Equals(Const.TechnicalContactList_Audit1  TechnicalContactList_Audit3)
                if (type.Equals(Const.ProjectUnitType_1))
                {
                    if (State.Equals(Const.TechnicalContactList_Audit1) || State.Equals(Const.TechnicalContactList_Audit6)
                        || State.Equals(Const.TechnicalContactList_Audit6R))
                    {
                        HideReplyFile.Hidden = false;
                        ReOpinion.Hidden = false;
                        txtReOpinion.Required = true;
                        HideOptions.Hidden = true;
                        txtReOpinion.ShowRedStar = true;
                    }
                    else
                    {
                        HideReplyFile.Hidden = true;
                        ReOpinion.Hidden = true;
                        HideOptions.Hidden = false;
                        if (State == Const.TechnicalContactList_ReCompile)
                        {
                            if (!string.IsNullOrEmpty(technicalContactList.ReOpinion))
                            {
                                this.ReOpinion.Hidden = false;
                                this.txtReOpinion.Enabled = false;
                            }
                            this.txtOpinions.Hidden = true;
                        }
                    }
                    if (drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit1) || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit6) || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit6R))
                    {
                        //HideReplyFile.Visible = true;
                        //txtMainSendUnit.Values.Join(",")
                        var str = txtMainSendUnit.Values.ToList();
                        drpHandleMan.Items.Clear();
                        UserService.InitUsersDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Join(",", str));
                    }
                }
                if (type.Equals(Const.ProjectUnitType_2))
                {
                    if (State.Equals(Const.TechnicalContactList_Audit2H) || State.Equals(Const.TechnicalContactList_Audit2R)
                            || State.Equals(Const.TechnicalContactList_Audit4) || State.Equals(Const.TechnicalContactList_Audit4R)
                            || State.Equals(Const.TechnicalContactList_Audit3))
                    {
                        HideReplyFile.Hidden = false;
                        ReOpinion.Hidden = false;
                        HideOptions.Hidden = true;
                        txtReOpinion.Required = true;
                        txtReOpinion.ShowRedStar = true;
                    }
                    else
                    {
                        HideReplyFile.Hidden = true;
                        ReOpinion.Hidden = true;
                        HideOptions.Hidden = false;
                        if (State == Const.TechnicalContactList_ReCompile)
                        {
                            if (!string.IsNullOrEmpty(technicalContactList.ReOpinion))
                            {
                                this.ReOpinion.Hidden = false;
                                this.txtReOpinion.Enabled = false;
                            }
                            this.txtOpinions.Hidden = true;
                        }
                    }
                    if (drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit2H) || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit2R)
                    || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit4) || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit4R)
                    || drpHandleType.SelectedValue.Equals(Const.TechnicalContactList_Audit3))
                    {
                        var str = txtMainSendUnit.Values.ToList();
                        drpHandleMan.Items.Clear();
                        UserService.InitUsersDropDownList(drpHandleMan, CurrUser.LoginProjectId,
                            false, string.Join(",", str));
                    }
                }
                //if (State.Equals(Const.TechnicalContactList_Audit2H) || State.Equals(Const.TechnicalContactList_Audit2R)
                //   || State.Equals(Const.TechnicalContactList_Audit4) || State.Equals(Const.TechnicalContactList_Audit4R)
                //   || State.Equals(Const.TechnicalContactList_Audit6) || State.Equals(Const.TechnicalContactList_Audit6R) )
                //{
                //    HideReplyFile.Visible = true;
                //    //txtMainSendUnit.Values.Join(",")
                //}
                //else
                //{
                //    HideReplyFile.Visible = false;
                //}
            }
        }
        //TechnicalContactListApproveService
        public void BindGrid()
        {
            var data = TechnicalContactListApproveService.getListData(TechnicalContactListId);
            gvApprove.DataSource = data;
            gvApprove.DataBind();
        }
        protected void drpProposeUnit_SelectedIndexChanged(object sender, EventArgs e)
        {
            string unitType = string.Empty;
            Model.Project_ProjectUnit unit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, drpProposeUnit.SelectedValue);
            if (unit != null)
            {
                unitType = unit.UnitType;
            }
            drpHandleType.Items.Clear();
            TechnicalContactListService.InitHandleType(drpHandleType, false, State, unitType, rblContactListType.SelectedValue, rblIsReply.SelectedValue);
            drpHandleType.SelectedIndex = 0;
            if (!string.IsNullOrWhiteSpace(TechnicalContactListId))
            {
                Model.Check_TechnicalContactList technicalContactList = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                txtUnitWork.Values = technicalContactList.UnitWorkId.Split(',');
                txtCNProfessional.Values = technicalContactList.CNProfessionalCode.Split(',');
                txtMainSendUnit.Values = technicalContactList.MainSendUnitId.Split(',');
                if (!string.IsNullOrWhiteSpace(technicalContactList.CCUnitIds))
                {
                    txtCCUnit.Values = technicalContactList.CCUnitIds.Split(',');
                }
            }
            drpHandleType_SelectedIndexChanged(null, null);
        }
        protected void rblContactListType_SelectedIndexChanged(object sender, EventArgs e)
        {
            string unitType = string.Empty;
            Model.Project_ProjectUnit unit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, drpProposeUnit.SelectedValue);
            if (unit != null)
            {
                unitType = unit.UnitType;
            }
            drpHandleType.Items.Clear();
            TechnicalContactListService.InitHandleType(drpHandleType, false, State, unitType, rblContactListType.SelectedValue, rblIsReply.SelectedValue);
            drpHandleType.SelectedIndex = 0;
            if (!string.IsNullOrWhiteSpace(TechnicalContactListId))
            {
                Model.Check_TechnicalContactList technicalContactList = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                txtUnitWork.Values = technicalContactList.UnitWorkId.Split(',');
                txtCNProfessional.Values = technicalContactList.CNProfessionalCode.Split(',');
                txtMainSendUnit.Values = technicalContactList.MainSendUnitId.Split(',');
                txtCCUnit.Values = technicalContactList.CCUnitIds.Split(',');
            }
        }
        protected void drpHandleType_SelectedIndexChanged(object sender, EventArgs e)
        {
            drpHandleMan.Items.Clear();
            if (drpHandleType.SelectedText.Contains("分包") || drpHandleType.SelectedText.Contains("编制"))
            {
                UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, drpProposeUnit.SelectedValue);
            }
            else
            {
                UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
            }
            if (drpHandleMan.Items.Count > 0)
            {
                drpHandleMan.SelectedIndex = 0;
            }
            if (drpHandleType.SelectedValue == Const.TechnicalContactList_Complete)
            {
                drpHandleMan.Items.Clear();
                drpHandleMan.Enabled = false;
                drpHandleMan.Required = false;
            }
            else
            {
                drpHandleMan.Enabled = true;
                drpHandleMan.Required = true;
            }
            //Funs.FineUIPleaseSelect(drpHandleMan);
            //if (State.Equals(Const.TechnicalContactList_Compile))
            //{
            //    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, drpProposeUnit.SelectedValue);
            //    if (drpHandleMan.Items.Count > 0)
            //    {
            //        drpHandleMan.SelectedIndex = 0;
            //    }
            //}
            //if (drpHandleType.SelectedValue == Const.TechnicalContactList_Complete)
            //{
            //    drpHandleMan.Enabled = false;
            //    drpHandleMan.Required = false;
            //}
            //else if (drpHandleType.SelectedValue == Const.TechnicalContactList_ReCompile)
            //{
            //    drpHandleMan.Enabled = true;
            //    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, drpProposeUnit.SelectedValue);
            //    drpHandleMan.Required = true;
            //}
            //else if (drpHandleType.SelectedValue == Const.TechnicalContactList_Audit2R)
            //{
            //    drpHandleMan.Enabled = true;
            //    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
            //    drpHandleMan.Required = true;
            //}
            //else if (drpHandleType.SelectedValue == Const.TechnicalContactList_Audit4R)
            //{
            //    drpHandleMan.Enabled = true;
            //    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
            //    drpHandleMan.Required = true;
            //}
            //else if (drpHandleType.SelectedValue == Const.TechnicalContactList_Audit6R)
            //{
            //    drpHandleMan.Enabled = true;
            //    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, drpProposeUnit.SelectedValue);
            //    drpHandleMan.Required = true;
            //}
        }
        /// 
        /// 保存开工报告
        /// 
        private void SavePauseNotice(string saveType)
        {
            Model.Check_TechnicalContactList technicalContactList = new Model.Check_TechnicalContactList();
            string unitType = string.Empty;
            technicalContactList.Code = txtCode.Text.Trim();
            technicalContactList.ProjectId = CurrUser.LoginProjectId;
            if (drpProposeUnit.SelectedValue != "0")
            {
                technicalContactList.ProposedUnitId = drpProposeUnit.SelectedValue;
                Model.Project_ProjectUnit unit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, drpProposeUnit.SelectedValue);
                if (unit != null)
                {
                    unitType = unit.UnitType;
                }
            }
            technicalContactList.ReOpinion = txtReOpinion.Text.Trim();
            technicalContactList.UnitWorkId = String.Join(",", txtUnitWork.Values);
            technicalContactList.CNProfessionalCode = String.Join(",", txtCNProfessional.Values);
            technicalContactList.MainSendUnitId = String.Join(",", txtMainSendUnit.Values);
            if (!string.IsNullOrWhiteSpace(String.Join(",", txtCCUnit.Values)))
            {
                technicalContactList.CCUnitIds = String.Join(",", txtCCUnit.Values);
            }
            if (!string.IsNullOrEmpty(rblContactListType.SelectedValue))
            {
                technicalContactList.ContactListType = rblContactListType.SelectedValue;
            }
            else
            {
                technicalContactList.ContactListType = null;
            }
            if (!string.IsNullOrEmpty(rblIsReply.SelectedValue))
            {
                technicalContactList.IsReply = rblIsReply.SelectedValue;
            }
            else
            {
                technicalContactList.IsReply = null;
            }
            technicalContactList.Cause = txtCause.Text.Trim();
            technicalContactList.Contents = txtContents.Text.Trim();
            //technicalContactList.AttachUrl = hdFilePath.Value;
            //technicalContactList.ReAttachUrl = hdReFilePath.Value;
            if (saveType == "submit")
            {
                technicalContactList.State = drpHandleType.SelectedValue.Trim();
            }
            else
            {
                Model.Check_TechnicalContactList technicalContactList1 = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                if (technicalContactList1 != null)
                {
                    if (string.IsNullOrEmpty(technicalContactList1.State))
                    {
                        technicalContactList.State = Const.TechnicalContactList_Compile;
                    }
                    else
                    {
                        technicalContactList.State = technicalContactList1.State;
                    }
                }
                else
                {
                    technicalContactList.State = Const.TechnicalContactList_Compile;
                }
            }
            if (!string.IsNullOrEmpty(TechnicalContactListId) && TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId) != null)
            {
                Model.Check_TechnicalContactList technicalContactList1 = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                Model.Check_TechnicalContactListApprove approve1 = TechnicalContactListApproveService.GetTechnicalContactListApproveByTechnicalContactListId(TechnicalContactListId);
                if (approve1 != null && saveType == "submit")
                {
                    //approve1.ApproveMan = CurrUser.UserId;
                    approve1.ApproveDate = DateTime.Now;
                    approve1.ApproveIdea = txtOpinions.Text.Trim();
                    TechnicalContactListApproveService.UpdateTechnicalContactListApprove(approve1);
                }
                if (saveType == "submit")
                {
                    technicalContactList.SaveHandleMan = null;
                    //if (tr1.Visible == true && !string.IsNullOrEmpty(hdReFilePath.Value))    //总包专工操作且已上传反馈附件
                    //{
                    //    Model.Check_TechnicalContactListApprove approve = new Model.Check_TechnicalContactListApprove();
                    //    approve.TechnicalContactListId = technicalContactList1.TechnicalContactListId;
                    //    approve.ApproveType = Const.TechnicalContactList_Complete;
                    //    TechnicalContactListApproveService.AddTechnicalContactListApprove(approve);
                    //}
                    //else
                    //{
                    Model.Check_TechnicalContactListApprove approve = new Model.Check_TechnicalContactListApprove();
                    approve.TechnicalContactListId = technicalContactList1.TechnicalContactListId;
                    if (drpHandleMan.SelectedValue != "0")
                    {
                        approve.ApproveMan = drpHandleMan.SelectedValue;
                    }
                    if (this.drpHandleType.SelectedValue == BLL.Const.TechnicalContactList_Complete)
                    {
                        approve.ApproveDate = DateTime.Now.AddMinutes(1);
                    }
                    approve.ApproveType = drpHandleType.SelectedValue;
                    TechnicalContactListApproveService.AddTechnicalContactListApprove(approve);
                    APICommonService.SendSubscribeMessage(approve.ApproveMan, "工程联络单待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                    //}
                    if (unitType == BLL.Const.ProjectUnitType_1 && technicalContactList.IsReply == "2" && drpHandleType.SelectedValue == Const.TechnicalContactList_Complete)  //总包发起
                    {
                        List seeUsers = new List();
                        seeUsers.AddRange(UserService.GetSeeUserList3(CurrUser.LoginProjectId, technicalContactList.ProposedUnitId, technicalContactList.MainSendUnitId, technicalContactList.CCUnitIds, technicalContactList.CNProfessionalCode, technicalContactList.UnitWorkId.ToString()));
                        seeUsers = seeUsers.Distinct().ToList();
                        foreach (var seeUser in seeUsers)
                        {
                            Model.Check_TechnicalContactListApprove approveS = new Model.Check_TechnicalContactListApprove();
                            approveS.TechnicalContactListId = technicalContactList1.TechnicalContactListId;
                            approveS.ApproveMan = seeUser.UserId;
                            approveS.ApproveType = "S";
                            TechnicalContactListApproveService.AddTechnicalContactListApprove(approveS);
                        }
                    }
                    if (unitType == BLL.Const.ProjectUnitType_2 && technicalContactList.IsReply == "2" && drpHandleType.SelectedValue == Const.TechnicalContactList_Complete)  //分包发起
                    {
                        List seeUsers = new List();
                        seeUsers.AddRange(UserService.GetSeeUserList3(CurrUser.LoginProjectId, technicalContactList.ProposedUnitId, technicalContactList.MainSendUnitId, technicalContactList.CCUnitIds, technicalContactList.CNProfessionalCode, technicalContactList.UnitWorkId.ToString()));
                        seeUsers = seeUsers.Distinct().ToList();
                        foreach (var seeUser in seeUsers)
                        {
                            Model.Check_TechnicalContactListApprove approveS = new Model.Check_TechnicalContactListApprove();
                            approveS.TechnicalContactListId = technicalContactList1.TechnicalContactListId;
                            approveS.ApproveMan = seeUser.UserId;
                            approveS.ApproveType = "S";
                            TechnicalContactListApproveService.AddTechnicalContactListApprove(approveS);
                        }
                    }
                }
                if (saveType == "save")
                {
                    technicalContactList.SaveHandleMan = this.drpHandleMan.SelectedValue;
                }
                technicalContactList.TechnicalContactListId = TechnicalContactListId;
                technicalContactList.ReOpinion = txtReOpinion.Text.Trim();
                TechnicalContactListService.UpdateTechnicalContactList(technicalContactList);
            }
            else
            {
                if (!string.IsNullOrEmpty(hdTechnicalContactListId.Text))
                {
                    technicalContactList.TechnicalContactListId = hdTechnicalContactListId.Text;
                }
                else
                {
                    technicalContactList.TechnicalContactListId = SQLHelper.GetNewID(typeof(Model.Check_TechnicalContactList));
                }
                if (saveType == "save")
                {
                    technicalContactList.SaveHandleMan = this.drpHandleMan.SelectedValue;
                }
                //technicalContactList.TechnicalContactListId = newId;
                technicalContactList.CompileMan = CurrUser.UserId;
                technicalContactList.CompileDate = DateTime.Now;
                TechnicalContactListService.AddTechnicalContactList(technicalContactList);
                TechnicalContactListId = technicalContactList.TechnicalContactListId;
                Model.Check_TechnicalContactList technicalContactList1 = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId);
                if (saveType == "submit")
                {
                    Model.Check_TechnicalContactListApprove approve1 = new Model.Check_TechnicalContactListApprove();
                    approve1.TechnicalContactListId = technicalContactList.TechnicalContactListId;
                    approve1.ApproveDate = DateTime.Now;
                    approve1.ApproveMan = CurrUser.UserId;
                    approve1.ApproveType = Const.TechnicalContactList_Compile;
                    TechnicalContactListApproveService.AddTechnicalContactListApprove(approve1);
                    Model.Check_TechnicalContactListApprove approve = new Model.Check_TechnicalContactListApprove();
                    approve.TechnicalContactListId = technicalContactList.TechnicalContactListId;
                    if (drpHandleMan.SelectedValue != "0")
                    {
                        approve.ApproveMan = drpHandleMan.SelectedValue;
                    }
                    approve.ApproveType = drpHandleType.SelectedValue;
                    TechnicalContactListApproveService.AddTechnicalContactListApprove(approve);
                    APICommonService.SendSubscribeMessage(approve.ApproveMan, "工程联络单待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
                else
                {
                    Model.Check_TechnicalContactListApprove approve1 = new Model.Check_TechnicalContactListApprove();
                    approve1.TechnicalContactListId = technicalContactList.TechnicalContactListId;
                    approve1.ApproveMan = CurrUser.UserId;
                    approve1.ApproveType = Const.TechnicalContactList_Compile;
                    TechnicalContactListApproveService.AddTechnicalContactListApprove(approve1);
                }
            }
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
            LogService.AddSys_Log(CurrUser, technicalContactList.Code, TechnicalContactListId, Const.TechnicalContactListMenuId, "编辑工程联络单");
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.TechnicalContactListMenuId, Const.BtnSave))
            {
                SavePauseNotice("save");
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.TechnicalContactListMenuId, Const.BtnSave))
            {
                SavePauseNotice("submit");
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        /// 
        /// 是否同意的逻辑处理
        /// 
        public void Agree()
        {
            string unitType = string.Empty;
            bool flag = false;
            Model.Project_ProjectUnit unit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, drpProposeUnit.SelectedValue);
            if (unit != null)
            {
                unitType = unit.UnitType;
            }
            string contactListType = rblContactListType.SelectedValue;
            string isReply = rblIsReply.SelectedValue;
            drpHandleMan.Enabled = true;
            drpHandleMan.Required = true;
            drpHandleType.Items.Clear();
            string State = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(TechnicalContactListId).State;
            TechnicalContactListService.InitHandleType(drpHandleType, false, State, unitType, rblContactListType.SelectedValue, rblIsReply.SelectedValue);
            if (rblIsAgree.SelectedValue.Equals("true"))
            {
                if (unitType == BLL.Const.ProjectUnitType_2)  //分包发起
                {
                    if (contactListType == "1")  //图纸类
                    {
                        if (State == Const.TechnicalContactList_Audit3)
                        {
                            drpHandleMan.Enabled = false;
                            drpHandleMan.Required = false;
                        }
                    }
                    else
                    {
                        if (State == Const.TechnicalContactList_Audit3)
                        {
                            drpHandleMan.Enabled = false;
                            drpHandleMan.Required = false;
                        }
                    }
                    if (State == Const.TechnicalContactList_Audit1)
                    {
                        DoEdit();
                    }
                }
                else   //总包发起
                {
                    if (isReply == "1")  //需要回复
                    {
                        if (State == Const.TechnicalContactList_Audit1)
                        {
                            drpHandleMan.Enabled = false;
                            drpHandleMan.Required = false;
                        }
                    }
                    else  //不需回复
                    {
                        if (State == Const.TechnicalContactList_Audit3)
                        {
                            drpHandleMan.Enabled = false;
                            drpHandleMan.Required = false;
                        }
                    }
                }
                if (drpHandleType.SelectedValue == Const.TechnicalContactList_Complete)
                {
                    drpHandleMan.Enabled = false;
                    drpHandleMan.Required = false;
                }
                if (drpHandleType.Items.Count == 2)
                {
                    drpHandleType.Readonly = true;
                }
                drpHandleType.SelectedIndex = 0;
                //List<>
                if (drpHandleType.Items.Count > 0)
                {
                    List lst = new List();
                    foreach (var item in drpHandleType.Items)
                    {
                        int index = drpHandleType.Items.IndexOf(item);
                        if (index != 0)
                        {
                            lst.Add(item);
                            //drpHandleType.Items.Remove(item);
                        }
                    }
                    if (lst.Count > 0)
                    {
                        foreach (var item in lst)
                        {
                            if (State == BLL.Const.TechnicalContactList_Audit4 || State == BLL.Const.TechnicalContactList_Audit4R)
                            {
                                if (item.Value != BLL.Const.TechnicalContactList_Complete)
                                {
                                    drpHandleType.Items.Remove(item);
                                }
                            }
                            else
                            {
                                drpHandleType.Items.Remove(item);
                            }
                        }
                    }
                }
                if (drpHandleType.SelectedValue == Const.TechnicalContactList_Complete)
                {
                    drpHandleMan.Items.Clear();
                    drpHandleMan.Enabled = false;
                    drpHandleMan.Required = false;
                }
                else
                {
                    drpHandleMan.Items.Clear();
                    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
                    drpHandleMan.Enabled = true;
                    drpHandleMan.Required = true;
                }
                if (State == Const.TechnicalContactList_Audit2 && contactListType == "1")
                {
                    AttachFile();
                }
            }
            else
            {
                drpHandleMan.Items.Clear();
                //Funs.FineUIPleaseSelect(drpHandleMan);
                if (drpHandleType.Items.Count == 2)
                {
                    drpHandleType.Readonly = true;
                }
                drpHandleType.SelectedIndex = 1;
                if (drpHandleType.Items.Count > 0)
                {
                    drpHandleType.Items.RemoveAt(0);
                }
                if (State == BLL.Const.TechnicalContactList_Audit4 || State == BLL.Const.TechnicalContactList_Audit4R)
                {
                    drpHandleType.Items.RemoveAt(0);
                    drpHandleType.SelectedIndex = 0;
                }
                if (drpHandleType.SelectedValue == Const.TechnicalContactList_ReCompile)
                {
                    drpHandleMan.Enabled = true;
                    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, drpProposeUnit.SelectedValue);
                    var HandleMan = BLL.TechnicalContactListApproveService.GetComplie(this.TechnicalContactListId);
                    if (HandleMan != null)
                    {
                        this.drpHandleMan.SelectedValue = HandleMan.ApproveMan;
                        flag = true;
                    }
                    drpHandleMan.Required = true;
                }
                else
                {
                    drpHandleMan.Enabled = true;
                    UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
                    drpHandleMan.Required = true;
                }
            }
            Reply(unitType);
            if (drpHandleMan.Items.Count > 0)
            {
                if (!flag)
                {
                    drpHandleMan.SelectedIndex = 0;
                }
            }
        }
        protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e)
        {
            Agree();
        }
        protected void imgfile_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(hdTechnicalContactListId.Text))   //新增记录
            {
                hdTechnicalContactListId.Text = SQLHelper.GetNewID(typeof(Model.Check_TechnicalContactList));
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/TechnicalContactList&menuId={2}", HandleImg, hdTechnicalContactListId.Text, Const.TechnicalContactListMenuId)));
        }
        /// 
        /// 总包的操作
        /// 
        public void DoeNabled()
        {
            txtCode.Enabled = false;
            drpProposeUnit.Enabled = false;
            txtUnitWork.Enabled = false;
            txtCNProfessional.Enabled = false;
            txtMainSendUnit.Enabled = false;
            txtCCUnit.Enabled = false;
            HandleImg = -1;
            rblContactListType.Enabled = false;
            rblIsReply.Enabled = false;
            txtCause.Enabled = false;
            txtContents.Enabled = false;
            txtProjectName.Enabled = false;
        }
        public void DoEdit()
        {
            txtCode.Enabled = true;
            drpProposeUnit.Enabled = true;
            txtUnitWork.Enabled = true;
            txtCNProfessional.Enabled = true;
            txtMainSendUnit.Enabled = true;
            txtCCUnit.Enabled = true;
            HandleImg = 0;
            rblContactListType.Enabled = true;
            rblIsReply.Enabled = true;
            txtCause.Enabled = true;
            txtContents.Enabled = true;
            txtProjectName.Enabled = true;
        }
        protected void ReplyFile_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(hdTechnicalContactListId.Text))   //新增记录
            {
                hdTechnicalContactListId.Text = SQLHelper.GetNewID(typeof(Model.Check_TechnicalContactList));
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/TechnicalContactList&menuId={2}", ReplyFileImg, hdTechnicalContactListId.Text + "r", Const.TechnicalContactListMenuId)));
        }
        protected void imgBtnReFile_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(hdTechnicalContactListId.Text))   //新增记录
            {
                hdTechnicalContactListId.Text = SQLHelper.GetNewID(typeof(Model.Check_TechnicalContactList));
            }
            PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/TechnicalContactList&menuId={2}", 0, hdTechnicalContactListId.Text + "re", Const.TechnicalContactListMenuId)));
        }
        /// 
        /// 人员模版文件原始的虚拟路径
        /// 
        private string initTemplatePath = Const.TechnicalContactListTemplateUrl;
        /// 
        /// 已上传设计反馈附件
        /// 
        public void AttachFile()
        {
            string toKeyId = hdTechnicalContactListId.Text + "re";
            var res = AttachFileService.Getfile(hdTechnicalContactListId.Text + "re", Const.TechnicalContactListMenuId);
            //Alert.ShowInTop(res.ToString(), MessageBoxIcon.Warning);
            if (res)   //已上传设计反馈附件
            {
                drpHandleType.Items.Clear();
                drpHandleMan.Enabled = false;
                drpHandleMan.Required = false;
                drpHandleType.Items.Add("审批完成", Const.TechnicalContactList_Complete);
                drpHandleType.SelectedIndex = 0;
                drpHandleMan.Items.Clear();
            }
            else
            {
                drpProposeUnit_SelectedIndexChanged(null, null);
                drpHandleMan.Enabled = true;
                drpHandleMan.Required = true;
            }
        }
        protected void Window1_Close(object sender, WindowCloseEventArgs e)
        {
            AttachFile();
        }
    }
}