Пример #1
0
 /// <summary>
 /// 设置子节点
 /// </summary>
 /// <param name="list"></param>
 /// <param name="treeInfo"></param>
 /// <param name="parentCategoryCode">父节点CategoryID</param>
 /// <param name="selectedSysNo">选中的节点SysNo</param>
 private static void SetChildTreeInfo(List <Address> list, TreeInfoModel treeInfo, int parentID, int selectedSysNo)
 {
     if (treeInfo.children == null)
     {
         treeInfo.children = true;
     }
     if (list != null && list.Count > 0 && parentID > 0)
     {
         List <Address> childList = list.FindAll(child => child.ParentSysNo == parentID);
         if (childList != null && childList.Count > 0)
         {
             List <TreeInfoModel> treeList = new List <TreeInfoModel>();
             foreach (var item in childList)
             {
                 TreeInfoModel tree = MappingTreeInfo(item, selectedSysNo);
                 treeList.Add(tree);
                 SetChildTreeInfo(list, tree, item.SysNo, selectedSysNo);
             }
             if (treeList != null && treeList.Count > 0)
             {
                 treeInfo.state.opened = true;
             }
             treeInfo.children = treeList;
         }
     }
 }
Пример #2
0
        private static TreeInfoModel MappingTreeInfo(Address info, int selectedSysNo)
        {
            TreeInfoModel treeInfo = new TreeInfoModel();

            treeInfo.id    = info.SysNo;
            treeInfo.state = new TreeStateModel();
            treeInfo.data  = info;
            treeInfo.text  = info.Name;
            if (info.SysNo == selectedSysNo)
            {
                treeInfo.state.selected = true;
            }
            else
            {
                treeInfo.state.selected = false;
            }
            //if (info.Grade == AddressGrade.Default)
            //{
            //    treeInfo.type = "default";
            //    treeInfo.icon = "icon-add icon-add-default";
            //}
            //else
            //{
            //    treeInfo.icon = "icon-add icon-add-" + info.Grade.ToString().ToLower();
            //}
            treeInfo.icon = "icon-add icon-add-" + info.Grade.GetValueOrDefault().ToString().ToLower();
            return(treeInfo);
        }
Пример #3
0
        public ActionResult GetAddressTree(AddressFilter filter)
        {
            AddressFilter addFilter = filter;

            if (filter == null)
            {
                addFilter = new AddressFilter();
            }
            if (CurrUser.CompanySysNo > 0)
            {
                addFilter.CompanySysNo = CurrUser.CompanySysNo;
            }
            addFilter.PageSize = 1000000;

            QueryResult <Address> result  = null;
            List <Address>        addList = null;

            if ((!filter.ParentSysNo.HasValue || filter.ParentSysNo <= 0) && filter.CompanySysNo == defaultCompanySysNo)
            {
                filter.SelectedAddressCode = "1003";
            }
            if (!string.IsNullOrWhiteSpace(filter.SelectedAddressCode))
            {
                addList = AddressService.LoadAddressByAddressCode(filter.SelectedAddressCode, addFilter.CompanySysNo);
            }
            if (addList == null)
            {
                result  = AddressService.QueryAddressList(addFilter);
                addList = result?.data;
            }
            List <TreeInfoModel> treeList = new List <TreeInfoModel>();

            if (filter.ParentSysNo.HasValue && filter.ParentSysNo > 0)
            {
                foreach (var item in result.data)
                {
                    TreeInfoModel treeInfo = MappingTreeInfo(item, 0);
                    treeList.Add(treeInfo);
                    treeInfo.children = item.Grade != AddressGrade.Room;
                }
            }
            else
            {
                if (addList != null && addList.Count > 0)
                {
                    List <Address> firstList = addList.FindAll(item => !item.ParentSysNo.HasValue || item.ParentSysNo.Value == 0);
                    if (firstList != null && firstList.Count > 0)
                    {
                        foreach (var item in firstList)
                        {
                            TreeInfoModel treeInfo = MappingTreeInfo(item, 0);
                            treeList.Add(treeInfo);
                            SetChildTreeInfo(addList, treeInfo, item.SysNo, 0);
                        }
                    }
                }
            }
            return(Json(treeList, JsonRequestBehavior.AllowGet));
        }