/// <summary>
 /// 点击新增按钮
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public virtual ActionResult TreeMaster_AddNextLevelClick(tblTreeInfo model)
 {
     if (model.ID != 0)
     {
         var         loginUser                     = System.Web.HttpContext.Current.Request.Cookies.Get("LoginUser");
         CryptManage crypt                         = new CryptManage();
         string      sAuthorIDs                    = crypt.Decrypto(loginUser.Values["UserRoles"]);
         string      sUserDepartmentID             = crypt.Decrypto(loginUser.Values["DepartmentID"]);
         AuthorizationInfoDataListManage manAuthor = new AuthorizationInfoDataListManage();
         List <tblAuthorizationInfo>     authors   = manAuthor.GetRecordsByID <tblAuthorizationInfo>(sAuthorIDs);
         if (!authors.Select(x => x.Name).ToArray().Contains(UserRoleName.SUPER)) //如果不是超级管理员,不能新增顶层节点
         {
             if (model.ID == -1)
             {
                 X.Msg.Alert("注意", "当前权限不能在顶层节点下新增!").Show();
                 return(this.Direct());
             }
         }
         return(TreeMaster_PrepareAddNextLevel(sMainFormName, model.ID, true));
     }
     else
     {
         X.Msg.Alert("注意", "请先选择上级节点!").Show();
     }
     return(this.Direct());
 }
        public override System.Web.Mvc.ActionResult DataList_ReturnMore1Click(string PanelID, string selection, string keywords, string transvalue)
        {
            if (selection == null)
            {
                X.Msg.Alert("注意", "尚未选择任何行!").Show();
                return(this.Direct());
            }

            AuthorizationInfoDataListManage datalistMan = new AuthorizationInfoDataListManage();
            var models = datalistMan.GetSpecialModelFromCurrentSelection(selection);

            if (models != null)
            {
                if (models.Count > 0)
                {
                    X.AddScript("App.RoleAuthorization_DataTreeGrid.submitNodes();");
                    //X.AddScript("App.RoleAuthorization_DataTree.submitNodes();");
                    //X.AddScript("App.RoleAuthorization_DataTree2.submitNodes();");
                    X.Msg.Alert("成功", "保存完毕!").Show();
                }
                else
                {
                    X.Msg.Alert(" 错误", "尚未选择任何行!").Show();
                }
            }
            else
            {
                X.Msg.Alert(" 错误", "尚未选择任何行!").Show();
            }
            return(this.Direct());
        }
        /// <summary>
        /// 初始化树的节点,需要在调用前定义TempData中TreeAuthorNowID
        /// </summary>
        /// <returns></returns>
        public virtual StoreResult InitTreeNodes(string node, string ParentVariable, string PanelID, string sRelationIDs, string sNowNames, string sNowValues, string sNowSigns, string sAuthorIDs)
        {
            try
            {
                GetParentVariable(ParentVariable);
                var treeMan = GetTreeManage(ParentVar.KeyWords);
                if (sAuthorIDs != "0")
                {
                    switch (ParentVar.KeyWords)
                    {
                    case "DepartmentInfo":
                        if (sRelationIDs != "0")
                        {
                            AuthorizationInfoDataListManage manAuthor = new AuthorizationInfoDataListManage();
                            List <tblAuthorizationInfo>     authors   = manAuthor.GetRecordsByID <tblAuthorizationInfo>(sAuthorIDs);
                            if (!authors.Select(x => x.Name).ToArray().Contains(UserRoleName.SUPER))     //如果不是超级管理员,只显示其所在部门和下级部门
                            {
                                sNowNames += CosValue.SPLITOPERATOR1 + "ID";
                                sNowSigns += CosValue.SPLITOPERATOR1 + SIGN.In.ToString();
                                DepartmentInfoManage manDepart = new DepartmentInfoManage();
                                sNowValues += manDepart.GetAllParent(sRelationIDs) + CosValue.SPLITOPERATOR2 + manDepart.GetAllLeaf(sRelationIDs);
                                if (sNowNames[0] == '|')
                                {
                                    sNowNames  = sNowNames.Remove(0, 1);
                                    sNowValues = sNowValues.Remove(0, 1);
                                    sNowSigns  = sNowSigns.Remove(0, 1);
                                }
                                SetHiddenValue(PanelID + "_NowNames", sNowNames);
                                SetHiddenValue(PanelID + "_NowValues", sNowValues);
                                SetHiddenValue(PanelID + "_NowSigns", sNowSigns);
                            }
                        }
                        sAuthorIDs = "0";     //部门和角色表没有关联,所以把角色设为0,只通过上面代码进行分拣
                        break;

                    default: sAuthorIDs = "0"; break;
                    }
                }
                NodeCollection nodes = treeMan.InitTree(node, sAuthorIDs, sNowNames, sNowValues, sNowSigns);
                if (ParentVariable.Contains("MainPage"))
                {
                    TempData["FirstTreeNodeId"] = treeMan.sFirstLeafNodeID;
                }
                return(this.Store(nodes));
            }
            catch (Exception e)
            {
                return(null);
            }
        }