示例#1
0
        public ActionResult GetOrgTree()
        {
            using (var db = DbAccess.DbCRMContext.Create())
            {
                var rows = db.T_QWF_Org.AsNoTracking().Where(w => w.IsDelete == 0).OrderBy(o => o.SortId).ToList();

                var tree = new QWF.Framework.Web.UI.TreeConverter <DbAccess.T_QWF_Org>();

                tree.ClosedLayer = 3;//这里要全部展开。否则是会异步加载

                tree.GetId       = m => { return(m.OrgId.ToString()); };
                tree.GetParentId = m => { return(m.ParentId.ToString()); };

                //映射字段
                var treeList = tree.ConvertTo(item =>
                {
                    var node  = new QWF.Framework.Web.UI.BaseTreeNode();
                    node.id   = item.OrgId.ToString();
                    node.text = item.OrgName;
                    return(node);
                }, rows, "0");

                treeList.Insert(0, new Framework.Web.UI.BaseTreeNode {
                    id = "", text = "==全部== "
                });
                return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
            }
        }
示例#2
0
        public ActionResult GetRoleInCategoryList()
        {
            var roleCode = this.Request["roleCode"].SafeConvert().ToStr();

            using (var db = DbAccess.DbCRMContext.Create())
            {
                var rows = (from a in db.T_QCRM_QueryCategory
                            join trc in db.T_QCRM_RoleInQueryCategory on new { RoleCode = roleCode, CategoryId = a.Id } equals new { RoleCode = trc.RoleCode, CategoryId = trc.CategoryId } into bb
                            from b in bb.DefaultIfEmpty()
                            orderby a.SortId
                            select new Models.RoleInQueryCategory
                {
                    CategoryName = a.Name,
                    CategoryId = a.Id,
                    ParentId = a.ParentId,
                    RoleCode = b.RoleCode
                }).ToList();

                var tree = new QWF.Framework.Web.UI.TreeConverter <Models.RoleInQueryCategory>();

                tree.GetId       = m => { return(m.CategoryId.ToString()); };
                tree.GetParentId = m => { return(m.ParentId.ToString()); };
                tree.GetCheckbox = m => { return(m.RoleCode != null && m.ParentId > 0 ? true : (bool?)null); };

                //映射字段
                var treeList = tree.ConvertTo(item =>
                {
                    var node  = new QWF.Framework.Web.UI.BaseTreeNode();
                    node.id   = item.CategoryId.ToString();
                    node.text = item.CategoryName;
                    return(node);
                }, rows.ToList(), "0");
                return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
            }
        }
示例#3
0
        // GET: Sales/Dictionary
        public ActionResult GetTreeByCode()
        {
            var code = Request["code"].SafeConvert().ToStr();

            using (var db = DbAccess.DbCRMContext.Create())
            {
                var rootId = db.T_QCRM_Dictionary.Where(w => w.Code == code).Select(s => s.Id).FirstOrDefault();
                if (rootId > 0)
                {
                    var ids = "," + rootId.ToString() + ",";

                    var rows = db.T_QCRM_Dictionary.AsNoTracking().Where(w => w.IdList.IndexOf(ids) > -1).OrderBy(o => o.ItemSort).ToList();
                    var tree = new QWF.Framework.Web.UI.TreeConverter <DbAccess.T_QCRM_Dictionary>();

                    tree.ClosedLayer = 3;//这里要全部展开。否则是会异步加载
                    tree.GetId       = m => { return(m.Id.ToString()); };
                    tree.GetParentId = m => { return(m.ParentId.ToString()); };

                    //映射字段
                    var treeList = tree.ConvertTo(item =>
                    {
                        var node  = new QWF.Framework.Web.UI.BaseTreeNode();
                        node.id   = item.Id.ToString();
                        node.text = item.ItemName;
                        return(node);
                    }, rows, "0");
                    return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
                }
            }

            return(this.Content(string.Empty));
        }
示例#4
0
        public ActionResult GetQueryCategoryTree()
        {
            var curUser = QWF.Framework.Web.UserContext.GetCurrentInfo();

            var curRoleCode = curUser.GetRolesCodes();

            using (var db = QWF.CRM.DbAccess.DbCRMContext.Create())
            {
                //当前用户能查看的分类

                var qry = (from a in db.T_QCRM_QueryCategory.AsNoTracking().Where(w => w.ShareType == "all")
                           join b in db.T_QCRM_RoleInQueryCategory.AsNoTracking().Where(w => curRoleCode.Contains(w.RoleCode)).Select(s => new { s.CategoryId }).Distinct() on a.Id equals b.CategoryId
                           orderby a.SortId
                           select new
                {
                    a.Id,
                    a.ParentId
                }).ToList();

                var parnetIds = qry.Where(w => w.ParentId > 0).Select(s => s.ParentId).ToList();
                var ids       = qry.Select(s => s.Id).ToList();
                var allIds    = parnetIds.Concat(ids).ToList();

                var qryPublic = db.T_QCRM_QueryCategory.AsNoTracking().Where(w => allIds.Contains(w.Id) && w.ShareType == "all").OrderBy(o => o.SortId).ToList();
                //需要隐藏的配置
                var qryUserSetting = db.T_QCRM_UserQuerySetting.AsNoTracking().Where(w => w.IsHide == 1 && w.UserCode == curUser.CurrentUserCode)
                                     .Select(s => s.QueryCategoryId).ToList();

                if (qryUserSetting.Count > 0)
                {
                    qryPublic = qryPublic.Where(w => !qryUserSetting.Contains(w.Id)).ToList();
                }

                var tree = new QWF.Framework.Web.UI.TreeConverter <DbAccess.T_QCRM_QueryCategory>();
                tree.GetId       = m => { return(m.Id.ToString()); };
                tree.GetParentId = m => { return(m.ParentId.ToString()); };

                //映射字段
                var treeList = tree.ConvertTo(item =>
                {
                    var node        = new QWF.Framework.Web.UI.BaseTreeNode();
                    node.id         = item.Id.ToString();
                    node.text       = item.Name;
                    node.attributes = new { parentId = item.ParentId };
                    return(node);
                }, qryPublic, "0");

                return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
            }
        }