Exemplo n.º 1
0
        /// <summary>
        /// 流程类型选择事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlProcessTemplate_SelectedIndexChanged(object sender, EventArgs e)
        {
            LoadProcessSteps();

            #region 根据流程类型绑定特有字段
            switch (this.ddlProcessTemplate.SelectedValue)
            {
            //公司发文
            case ProcessConstString.TemplateName.COMPANY_SEND:
            case ProcessConstString.TemplateName.DJGT_Send:    //renjinquan+
                OADept.GetDeptByIfloor(drpGFDept, 1);
                break;

            //公司收文
            case ProcessConstString.TemplateName.COMPANY_RECEIVE:
            case ProcessConstString.TemplateName.MERGED_RECEIVE:    //renjinquan+
                break;

            //函件收文
            case ProcessConstString.TemplateName.LETTER_RECEIVE:
                OAList.BindHJLX2(ddlHSLetterType, true);
                break;

            //函件发文
            case ProcessConstString.TemplateName.LETTER_SEND:
                OAList.BindHJLX(ddlHFLetterType, true);
                OADept.GetDeptByIfloor(this.ddlHFDept, 1);
                break;

            //程序文件
            case ProcessConstString.TemplateName.PROGRAM_FILE:
                OADept.GetDeptByIfloor(this.ddlPFDept, 1);
                break;

            //工作联系单
            case ProcessConstString.TemplateName.AFFILIATION:
                OADept.GetDeptByIfloor(this.ddlWRHostDept, 1);
                OADept.GetDeptByIfloor(this.ddlWRMainSendDept, 1);
                break;

            //请示报告
            case ProcessConstString.TemplateName.INSTUCTION_REPORT:
                OAUser.GetUserByRole(this.ddlMainSendleader, OUConstString.RoleName.COMPANY_LEADER);
                OADept.GetDeptByIfloor(this.ddlUnderTakeDept, 1);
                OADept.GetDeptByIfloor(this.ddlHostDept, 1);
                break;
            }
            #endregion
            //chenye
            //LoadProcessList();
        }
Exemplo n.º 2
0
        /// <summary>
        /// 流程类型选择事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlProcessTemplate_SelectedIndexChanged(object sender, EventArgs e)
        {
            LoadProcessSteps();

            if (this.ddlProcessTemplate.SelectedIndex == 0)
            {
                this.ddlStepName.Enabled = false;
                this.ddlStepName.Items.Clear();
            }
            else
            {
                this.ddlStepName.Enabled = true;

                //得到流程类型对应的流程步骤
                TemplateAdmin TAdmin            = new TemplateAdmin();
                String        l_strTemplateName = this.ddlProcessTemplate.SelectedValue;
                DataTable     l_dtbDataTable    = TAdmin.Templates.GetTemplate(l_strTemplateName).GetVersion(1).GetViewList();

                //加入空选择行
                DataRow l_dtrDataRow = l_dtbDataTable.NewRow();
                l_dtrDataRow[0] = DBNull.Value;
                l_dtrDataRow[1] = "";
                l_dtrDataRow[2] = DBNull.Value;

                l_dtbDataTable.Rows.InsertAt(l_dtrDataRow, 0);

                //绑定数据
                this.ddlStepName.DataSource = l_dtbDataTable;
                this.ddlStepName.DataBind();
            }

            #region 根据流程类型绑定特有字段
            switch (this.ddlProcessTemplate.SelectedValue)
            {
            //公司发文
            case ProcessConstString.TemplateName.COMPANY_SEND:
            case ProcessConstString.TemplateName.DJGT_Send:    //renjinquan+
                OADept.GetDeptByIfloor(drpGFDept, 1);
                break;

            //公司收文
            case ProcessConstString.TemplateName.COMPANY_RECEIVE:
            case ProcessConstString.TemplateName.MERGED_RECEIVE:    //renjinquan+
                break;

            //函件收文
            case ProcessConstString.TemplateName.LETTER_RECEIVE:
                OAList.BindHJLX2(ddlHSLetterType, true);
                break;

            //函件发文
            case ProcessConstString.TemplateName.LETTER_SEND:
                OAList.BindHJLX(ddlHFLetterType, true);
                OADept.GetDeptByIfloor(this.ddlHFDept, 1);
                break;

            //程序文件
            case ProcessConstString.TemplateName.PROGRAM_FILE:
                OADept.GetDeptByIfloor(this.ddlPFDept, 1);
                break;

            //工作联系单
            case ProcessConstString.TemplateName.AFFILIATION:
                OADept.GetDeptByIfloor(this.ddlWRHostDept, 1);
                OADept.GetDeptByIfloor(this.ddlWRMainSendDept, 1);
                break;

            //请示报告
            case ProcessConstString.TemplateName.INSTUCTION_REPORT:
                OAUser.GetUserByRole(this.ddlMainSendleader, OUConstString.RoleName.COMPANY_LEADER);
                OADept.GetDeptByIfloor(this.ddlUnderTakeDept, 1);
                OADept.GetDeptByIfloor(this.ddlHostDept, 1);
                break;
            }
            #endregion
            //chenye
            //LoadProcessList();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            DataSet l_dstDataSet = null;

            if (!Page.IsPostBack)
            {
                this.TemplateName = Request.QueryString[ConstString.QueryString.TEMPLATE_NAME];

                if (String.IsNullOrEmpty(this.TemplateName))
                {
                    JScript.ShowMsgBox(this.Page, MsgType.VbCritical, "没有指定收文流程模版!", "Container.aspx?ClassName=FS.ADIM.OA.WebUI.WorkflowMenu.ToDoTask.PG_WaitHandle");
                    return;
                }

                this.ucCompany.UCNameControl      = this.txtReceiveUnit.ClientID;
                this.ucQueryCompany.UCNameControl = this.txtQueryRecUnit.ClientID;
                OAList.BindHJLX2(ddlDocumentType, false);//任金权修改
                ddlDocumentType.Items.Insert(0, new ListItem());

                this.ucAttachment.UCTemplateName = TemplateName;

                l_dstDataSet = OAConfig.GetRankConfig();

                DataTable l_dtbDataTable = l_dstDataSet.Tables[TemplateName];

                String[] l_strAryRoleName = l_dtbDataTable.Rows[0]["角色"].ToString().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                if (l_strAryRoleName.Length == 0)
                {
                    JScript.RedirectPage(this.Page, "未配置收文登记权限", TemplateName, "1");
                    return;
                }

                String[] l_strAryUserRoleNames = CurrentUserInfo.RoleName.ToArray();

                IEnumerable <String> l_enumRole = l_strAryUserRoleNames.Intersect(l_strAryRoleName);

                if (l_enumRole.Count() == 0)
                {
                    JScript.RedirectPage(this.Page, string.Format("只有[{0}] {1} 可以访问该表单!", l_strAryRoleName[0], OAUser.GetUserByRole(l_strAryRoleName[0]).GetFieldVals("Name", ",")), TemplateName, "1");
                    return;
                }

                //初始化设置控件的验证功能
                txtReceiveUnit.RequiredType   = RequiredType.NotNull;
                txtReceiveDate.RequiredType   = RequiredType.NotNull;
                txtDocumentTitle.RequiredType = RequiredType.NotNull;
                txtPageCount.RequiredType     = RequiredType.PositiveInteger;

                txtReceiveUnit.BackColor   = System.Drawing.Color.Empty;
                txtReceiveDate.BackColor   = System.Drawing.Color.Empty;
                txtXingWenDate.BackColor   = System.Drawing.Color.Empty;
                txtDocumentTitle.BackColor = System.Drawing.Color.Empty;

                //设置客户端只读
                txtReceiveUnit.Attributes.Add("readOnly", "true");
                txtQueryRecUnit.Attributes.Add("readOnly", "true");
                txtDocumentNo.Attributes.Add("readonly", "true");

                //收文年份默认加载前后十年,并且默认选择当前年份
                txtReceiveDate.Text           = DateTime.Now.ToString("yyyy-MM-dd");
                txtXingWenDate.Text           = DateTime.Now.ToString("yyyy-MM-dd");
                txtFormationDate.Text         = DateTime.Now.ToString("yyyy-MM-dd");
                ddlUrgentDegree.SelectedIndex = 1;
                txtPageCount.Text             = "1";
                ddlKeepTime.SelectedIndex     = 3;
                LoadRegisterList();
                if (m_ID != null)
                {
                    SetFormByID(m_ID);
                }
            }
        }