Esempio n. 1
0
 /// <summary>
 /// 添加工具栏菜单
 /// </summary>
 /// <param name="menu">需要加载的菜单对象</param>
 private void AddToolMenu(BaseMenu menu)
 {
     if (menu.MenuToolBar == 1)
     {
         ButtonItem toolbarItem = new ButtonItem(menu.MenuId.ToString(), menu.Name);
         toolbarItem.ImageFixedSize = new Size(30, 30);
         try
         {
             toolbarItem.Image = Image.FromFile(menu.Image);
         }
         catch {
             toolbarItem.Image = Image.FromFile(AppGlobal.AppRootPath + @"images\defaulttool.png");
         }
         toolbarItem.ImagePosition = eImagePosition.Top;
         toolbarItem.Tag = menu;
         this.barMainToolBar.Items.Add(toolbarItem);
     }
 }
        //调试免登录
        private void DebugLogin()
        {
            #region 进入调试模式

            if (AppPluginManage.getbaseinfoDataValue(_pluginName, "isdebug") == "true")
            {
                //进入调试模式
                DefaultView = frmmain as IBaseViewBusiness;

                SysLoginRight right = new SysLoginRight();
                right.UserId = 1;
                right.EmpId = 1;
                right.WorkId = 1;
                right.DeptId = 1;
                right.DeptName = "调试科室";
                right.EmpName = "调试用户";
                right.WorkName = "调试机构";
                AppGlobal.cache.Add("RoleUser", right);

                frmmain.UserName = right.EmpName;
                frmmain.DeptName = right.DeptName;
                frmmain.WorkName = right.WorkName;
                if (AppPluginManage.getbaseinfoDataValue(_pluginName, "menuconfig") != null)
                {
                    string filepath = AppPluginManage.getbaseinfoDataValue(_pluginName, "menuconfig");
                    System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
                    xmlDoc.Load(filepath);

                    XmlNodeList nl = xmlDoc.DocumentElement.SelectNodes("modules/module");
                    List<BaseModule> mdlist = new List<BaseModule>();
                    foreach (XmlNode n in nl)
                    {
                        BaseModule bmd = new BaseModule();
                        bmd.ModuleId = Convert.ToInt32(n.Attributes["ModuleId"].Value);
                        bmd.Name = n.Attributes["Name"].Value;
                        mdlist.Add(bmd);
                    }
                    nl = xmlDoc.DocumentElement.SelectNodes("menus/menu");
                    List<BaseMenu> menulist = new List<BaseMenu>();
                    foreach (XmlNode n in nl)
                    {
                        BaseMenu bmenu = new BaseMenu();
                        bmenu.MenuId = Convert.ToInt32(n.Attributes["MenuId"].Value);
                        bmenu.ModuleId = Convert.ToInt32(n.Attributes["ModuleId"].Value);
                        bmenu.PMenuId = Convert.ToInt32(n.Attributes["PMenuId"].Value);
                        bmenu.Name = n.Attributes["Name"].Value;
                        bmenu.Image = n.Attributes["Image"].Value;
                        bmenu.DllName = n.Attributes["DllName"].Value;
                        bmenu.FunName = n.Attributes["FunName"].Value;
                        menulist.Add(bmenu);
                    }
                    frmmain.modules = mdlist;
                    frmmain.menus = menulist;
                    //frmmain.depts = NewObject<Dept>().GetHaveDept(right.EmpId);
                }
                frmmain.showSysMenu();
                ShowWeclomeForm();

                ((System.Windows.Forms.Form)frmmain).ShowIcon = true;
                ((System.Windows.Forms.Form)frmmain).Icon = System.Drawing.Icon.ExtractAssociatedIcon(EFWCoreLib.CoreFrame.Init.AppGlobal.AppRootPath + @"images\msn.ico");
            }
            #endregion
        }
        public void GetLoginFirstMenu_Debug()
        {

            int ModuleId = Convert.ToInt32(ParamsData["ModuleId"]);

            string filepath = AppPluginManage.getbaseinfoDataValue(_pluginName, "menuconfig");
            System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
            xmlDoc.Load(AppGlobal.AppRootPath + filepath);
            XmlNodeList nl = xmlDoc.DocumentElement.SelectNodes("menus/menu");
            List<BaseMenu> menulist = new List<BaseMenu>();
            foreach (XmlNode n in nl)
            {
                BaseMenu bmenu = new BaseMenu();
                bmenu.MenuId = Convert.ToInt32(n.Attributes["MenuId"].Value);
                bmenu.ModuleId = Convert.ToInt32(n.Attributes["ModuleId"].Value);
                bmenu.PMenuId = Convert.ToInt32(n.Attributes["PMenuId"].Value);
                bmenu.Name = n.Attributes["Name"].Value;
                bmenu.Image = n.Attributes["Image"].Value;
                bmenu.DllName = n.Attributes["DllName"].Value;
                bmenu.FunName = n.Attributes["FunName"].Value;
                bmenu.UrlName = n.Attributes["UrlName"].Value;
                menulist.Add(bmenu);
            }

            List<BaseMenu> menuList = menulist;
            //List<BaseMenu> AllmenuList = menulist;
            List<BaseMenu> _menuList = new List<BaseMenu>();
            for (int i = 0; i < menuList.Count; i++)
            {
                if (menuList[i].PMenuId != -1)
                {
                    BaseMenu _menu = menuList.Find(x => x.MenuId == menuList[i].PMenuId);
                    if (_menuList.FindIndex(x => x.MenuId == _menu.MenuId) == -1 && menuList.FindIndex(x => x.MenuId == _menu.MenuId) == -1)
                        _menuList.Add(_menu);
                }
            }
            menuList.AddRange(_menuList);


            List<BaseMenu> menus = menuList.FindAll(x => (x.ModuleId == ModuleId && x.PMenuId == -1)).OrderBy(x => x.SortId).ToList();
            string ret = "";//"[{\"FirstMenu\":{},\"SecondMenu\":[]}]";
            for (int i = 0; i < menus.Count; i++)
            {
                string FirstMenu = "{}";
                string SecondMenu = "[]";

                FirstMenu = JavaScriptConvert.SerializeObject(menus[i]);
                List<BaseMenu> secondmenus = menuList.FindAll(x => x.PMenuId == menus[i].MenuId).OrderBy(x => x.SortId).ToList();
                SecondMenu = secondmenus.Count > 0 ? JavaScriptConvert.SerializeObject(secondmenus) : "[]";
                if (ret == "")
                    ret += "{\"FirstMenu\":" + FirstMenu + ",\"SecondMenu\":" + SecondMenu + "}";
                else
                    ret += ",{\"FirstMenu\":" + FirstMenu + ",\"SecondMenu\":" + SecondMenu + "}";
            }
            JsonResult = RetSuccess("", "[" + ret + "]");
        }