コード例 #1
0
ファイル: XMLTreeViewManager.cs プロジェクト: ishui/rms2
        /// <summary>
        /// 输出主菜单HTML文本
        /// </summary>
        /// <returns></returns>
        public string SystemMenuHtml(RmsPM.Web.User user)
        {
            HtmlMenu systemMenu = new HtmlMenu();

            XmlDocument doc = new XmlDocument();

            doc.Load(_ConfigFileName);

            XmlNode         realmis  = doc.DocumentElement.SelectSingleNode("RealMis");
            List <MenuItem> itemlist = new List <MenuItem>();

            if (realmis != null)
            {
                string      RealmisName = realmis.Attributes["Name"].Value;
                XmlNodeList SubSystems  = realmis.SelectNodes("SubSystem");
                foreach (XmlNode node in SubSystems)
                {
                    string Right      = GetConfigText(node, "Right");
                    string RightLevel = GetConfigText(node, "RightLevel");

                    if (CheckRight(user, Right, RightLevel))
                    {
                        makeItem(user, systemMenu, itemlist, node);
                    }
                }
            }
            if (systemMenu.DefaultIndex > 0)
            {
                systemMenu.DefaultIndex--;
            }
            systemMenu.MenuItems = itemlist;
            return(systemMenu.OutPutMainMenuHtml());
        }
コード例 #2
0
ファイル: XMLTreeViewManager.cs プロジェクト: ishui/rms2
        private void makeItem(RmsPM.Web.User user, HtmlMenu systemMenu, List <MenuItem> itemlist, XmlNode node)
        {
            MenuItem item = new MenuItem();

            item.Name          = GetConfigText(node, "Name");
            item.Text          = GetConfigText(node, "Text");
            item.ToolTip       = GetConfigText(node, "ToolTip");
            item.NavigateURL   = GetConfigText(node, "NavigateURL").Replace("@UserName", user.UserID);
            item.TargetFrame   = GetConfigText(node, "TargetFrame");
            item.ClientCommand = GetConfigText(node, "Command").Replace("@UserName", user.UserID);
            item.IsDefault     = GetConfigText(node, "IsDefault").ToLower() == "true" ? true : false;
            itemlist.Add(item);
            if (true == item.IsDefault && 0 == systemMenu.DefaultIndex)
            {
                systemMenu.DefaultIndex = itemlist.Count;
            }
        }
コード例 #3
0
ファイル: XMLTreeViewManager.cs プロジェクト: ishui/rms2
        private static bool CheckRight(RmsPM.Web.User user, string Right, string RightLevel)
        {
            bool hasit = true;

            if (Right != string.Empty && (!user.HasRight(Right)))
            {
                hasit = false;
            }
            if (RightLevel != string.Empty)
            {
                if (RightLevel == "IsGroupUser")
                {
                    if (!user.m_IsGroupUser)
                    {
                        hasit = false;
                    }
                }
            }
            return(hasit);
        }
コード例 #4
0
        public static void Init_CaseState(WorkFlowCaseState up_CaseState, WorkFlowToolbar up_Toolbar, RmsPM.Web.User up_User)
        {
            try
            {
                /**************************************************************************************/
                //流程状态查看
                up_CaseState.ActCode         = up_Toolbar.ActCode;
                up_CaseState.ApplicationCode = up_Toolbar.ApplicationCode;
                up_CaseState.FlowName        = up_Toolbar.FlowName;
                up_CaseState.UserCode        = up_User.UserCode;
                up_CaseState.Scout           = up_Toolbar.Scout;
                up_CaseState.ControlDataBind();

                /**************************************************************************************/
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #5
0
        public static void Init_Toolbar(WorkFlowToolbar up_Toolbar, string up_sFlowName, RmsPM.Web.User up_User, object ApplicationCode, string actCode, bool BtnDeleteVisible)
        {
            try
            {
                if (ApplicationCode != null)
                {
                    up_Toolbar.ApplicationCode = ApplicationCode.ToString();
                }

                /**************************************************************************************/
                up_Toolbar.ActCode        = actCode;         //工具栏设置
                up_Toolbar.FlowName       = up_sFlowName;
                up_Toolbar.SystemUserCode = up_User.UserCode;
                up_Toolbar.SourceUrl      = "../WorkFlowControl/";
                up_Toolbar.ToolbarDataBind();
                up_Toolbar.BtnDeleteVisible = BtnDeleteVisible;
                /**************************************************************************************/
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #6
0
ファイル: XMLTreeViewManager.cs プロジェクト: ishui/rms2
        /// <summary>
        /// 分析树,结合用户权限判断是否显示节点
        /// </summary>
        /// <param name="user">用户</param>
        /// <param name="corpCode"></param>
        /// <param name="projectCode">工程代码</param>
        public string GetLeftBarString(RmsPM.Web.User user, string projectCode, string corpCode)
        {
            StringBuilder sb = new StringBuilder();

            try
            {
                if (m_XMLFileName.Length == 0)
                {
                    return("");
                }

                XmlDocument doc = new XmlDocument();
                doc.Load(m_XMLFileName);


                XmlNodeList moduleNodeList = doc.DocumentElement.SelectNodes("Module");
                int         iCount         = moduleNodeList.Count;
                for (int i = 0; i < iCount; i++)
                {
                    XmlNode moduleNode = moduleNodeList[i];
                    Module  module     = BuildModule(moduleNode, projectCode, corpCode);

                    //  Right == "" 不要求权限; 或者用户具有该权限
                    if ((module.right == "") || user.HasRight(module.right))
                    {
                        XmlNodeList submoduleNodeList = moduleNode.SelectNodes("SubModule");
                        ArrayList   subModules        = new ArrayList();
                        int         iSubCount         = submoduleNodeList.Count;
                        for (int j = 0; j < iSubCount; j++)
                        {
                            XmlNode submoduleNode = submoduleNodeList[j];
                            Module  subModule     = BuildModule(submoduleNode, projectCode, corpCode);
                            if ((subModule.right == "") || user.HasRight(subModule.right))
                            {
                                subModules.Add(subModule);
                            }
                        }
                        if (module.url.Trim() != string.Empty)//当前节点直接进入URL链接
                        {
                            sb.Append(@"<table width=100% border=0 cellpadding=0 cellspacing=0>" + "\n");
                            sb.Append(@"<tr><td id='tdGroup" + i.ToString() + @"' class=menu  onclick=""gotoUrl('" + module.url + @"');""  onmouseover=""this.className='menuon';"" onmouseout=""this.className='menu'""  name=" + module.name + @" child=" + module.child + @"><img src=""images/menu_li.gif"" width=14 height=10> " + module.text + @"</td></tr>" + "\n");
                            sb.Append(@"</table>" + "\n");
                        }
                        // 如果一个子节点都没有,父节点就一起不要了
                        else if (subModules.Count > 0)
                        {
                            sb.Append(@"<table width=100% border=0 cellpadding=0 cellspacing=0>" + "\n");
                            sb.Append(@"<tr><td id='tdGroup" + i.ToString() + @"' class=menu  onclick=""outliner()""  onmouseover=""this.className='menuon';"" onmouseout=""this.className='menu'""  name=" + module.name + @" child=" + module.child + @"><img src=""images/menu_li.gif"" width=14 height=10> " + module.text + @"</td></tr>" + "\n");
                            sb.Append(@"<tr><td><DIV class=collapsed id=" + module.name + @"><table width=100% border=0 cellpadding=0 cellspacing=0  bgcolor=#FF0000>" + "\n");

                            int iACount = subModules.Count;
                            for (int j = 0; j < iACount; j++)
                            {
                                Module tempM = (Module)subModules[j];

                                // 最后一个子模块的样式不一样
                                string subClass = "menu-i";
                                if (j == iACount - 1)
                                {
                                    subClass = "menu-ibn";
                                }

                                switch (tempM.name)
                                {
                                case "@MaterialCostFirstGroup":      //列出材料库一级分类
                                    EntityData entityMaterialCostGroup = DAL.EntityDAO.SystemManageDAO.GetSystemGroupByClassCode("1411");
                                    DataView   dvMaterialCostGroup     = new DataView(entityMaterialCostGroup.CurrentTable, "ParentCode=''", "SortID", DataViewRowState.CurrentRows);
                                    foreach (DataRowView drv in dvMaterialCostGroup)
                                    {
                                        string GroupCode = BLL.ConvertRule.ToString(drv.Row["GroupCode"]);
                                        string GroupName = BLL.ConvertRule.ToString(drv.Row["GroupName"]);

                                        GroupName = string.Format(tempM.text, GroupName);

                                        //是否有权限(暂缓)

                                        string url = tempM.url;
                                        if (url.IndexOf("?") >= 0)
                                        {
                                            url += "&";
                                        }
                                        else
                                        {
                                            url += "?";
                                        }
                                        url += "RootGroupCode=" + GroupCode;
                                        sb.Append(@"<tr onclick=""gotoUrl('" + url + @"');""><td onmouseover=""this.className='menu-ibnon';"" onmouseout=""this.className='" + subClass + @"'"" class=" + subClass + @"><img src=""images/menu_li_i.gif"" width=7 height=7>  " + GroupName + @"</td></tr>" + "\n");
                                    }
                                    entityMaterialCostGroup.Dispose();

                                    break;

                                case "@WorkDeep1":      //列出项目下的第1级工作项
                                    DataTable tbTask = BLL.WBSRule.GetHasRightChildTask(1, projectCode, user.UserCode);

                                    foreach (DataRow dr in tbTask.Rows)
                                    {
                                        string WBSCode  = BLL.ConvertRule.ToString(dr["WBSCode"]);
                                        string TaskName = BLL.ConvertRule.ToString(dr["TaskName"]);

                                        string url = tempM.url;
                                        if (url.IndexOf("?") >= 0)
                                        {
                                            url += "&";
                                        }
                                        else
                                        {
                                            url += "?";
                                        }
                                        url += "ParentCode=" + WBSCode;
                                        sb.Append(@"<tr onclick=""gotoUrl('" + url + @"');""><td onmouseover=""this.className='menu-ibnon';"" onmouseout=""this.className='" + subClass + @"'"" class=" + subClass + @"><img src=""images/menu_li_i.gif"" width=7 height=7>  " + TaskName + @"</td></tr>" + "\n");
                                    }

                                    break;

                                case "@ProjectList":      //列出用户有权访问的所有项目
                                    EntityData entityProject = user.m_EntityDataAccessProject;

                                    foreach (DataRow dr in entityProject.CurrentTable.Rows)
                                    {
                                        string ProjectCode = BLL.ConvertRule.ToString(dr["ProjectCode"]);
                                        string ProjectName = BLL.ConvertRule.ToString(dr["ProjectShortName"]);
                                        if (ProjectName == "")
                                        {
                                            ProjectName = BLL.ConvertRule.ToString(dr["ProjectShortName"]);
                                        }

                                        string url = tempM.url;
                                        if (url.IndexOf("?") >= 0)
                                        {
                                            url += "&";
                                        }
                                        else
                                        {
                                            url += "?";
                                        }
                                        url += "ProjectCode=" + ProjectCode;

                                        sb.Append(@"<tr onclick=""gotoUrl('" + url + @"');""><td onmouseover=""this.className='menu-ibnon';"" onmouseout=""this.className='" + subClass + @"'"" class=" + subClass + @"><img src=""images/menu_li_i.gif"" width=7 height=7>  " + ProjectName + tempM.text + @"</td></tr>" + "\n");
                                    }

                                    break;

                                default:
                                    sb.Append(@"<tr onclick=""gotoUrl('" + tempM.url + @"');""><td onmouseover=""this.className='menu-ibnon';"" onmouseout=""this.className='" + subClass + @"'"" class=" + subClass + @"><img src=""images/menu_li_i.gif"" width=7 height=7>  " + tempM.text + @"</td></tr>" + "\n");
                                    break;
                                }
                            }


                            sb.Append(@"</table></DIV></td></tr>" + "\n");
                        }
                    }
                }
                sb.Append(@"<tr><td><img src=""images/menu_btm.gif"" width=146 height=20></td></tr></table>");
                return(sb.ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }