/// <summary> /// 重置树项目图标 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnTreeItemGetImageIndex(object sender, TreeItemGetImageIndexEventArgs e) { var obj = oTree1.GetUserObject(e.Node); if (obj is OrTmplCaDO) { OrTmplCaDO caDO = obj as OrTmplCaDO; e.ImageKey = caDO.Fg_routine == true ? ImageKeyRoutine : ImageKeyModel; } else if (obj is OrTmplDTO) { OrTmplDTO dto = obj as OrTmplDTO; switch (dto.Sd_ortmpltp) { case BdSrvDictCodeConst.SD_ORTMPLTP_FHMBA: e.ImageKey = ImageKeyFHMB; break; case BdSrvDictCodeConst.SD_ORTMPLTP_CZXCY: e.ImageKey = ImageKeyXY; break; case BdSrvDictCodeConst.SD_ORTMPLTP_CYFJ: e.ImageKey = ImageKeyCY; break; } } else { e.ImageKey = ImageKeyCa; } }
/// <summary> /// 获取树节点数据 /// </summary> public void GetTreeKeyModel() { var adapter1 = new KeyNodeDataAdapterFactory <OrTmplCaDO>("Id_ortmplca", "Id_parent") { CustomCaptionFunc = x => x.Name }; var adapter2 = new KeyNodeDataAdapterFactory <OrTmplDTO>("Id_ortmpl", null, "Id_ortmplca") { CustomCaptionFunc = x => x.Name }; lazyLoadTreeModel = new LazyLoadTreeModel(CurrUdidocDO_SubOwnerType.Name); lazyLoadTreeModel.LazyLoadChildren = (oTree, bizNode) => { if (bizNode.IsRoot) { foreach (var caDO in LstOrTmplCaDOs) { if (caDO.Id_parent == null) { var data = adapter1.Wrap(caDO); oTree.AppendBizNode(bizNode, data); } } } else { OrTmplCaDO moduleDo = bizNode.UserObject as OrTmplCaDO; if (moduleDo != null) { foreach (var caDO in LstOrTmplCaDOs) { if (caDO.Id_parent != null && moduleDo.Id_ortmplca == caDO.Id_parent) { var data = adapter1.Wrap(caDO); oTree.AppendBizNode(bizNode, data); } } foreach (var dto in LstOrTmplDTOs) { if ((strIpOp == "1" && (bool)dto.Fg_entp_ip) || (strIpOp == "0" && ((bool)dto.Fg_entp_op || (bool)dto.Fg_entp_er))) { if (dto.Id_ortmplca == moduleDo.Id_ortmplca) { var data = adapter2.Wrap(dto); oTree.AppendBizNode(bizNode, data); } } } } } return(true); }; }
/// <summary> /// 获取选节点下所有模板ID /// </summary> /// <param name="data"></param> /// <returns></returns> public List <String> GetAllChildIdOrTmpls(BaseDO data) { List <String> lstIDs = new List <String>(); if (data != null) { if (data is OrTmplDTO) { OrTmplDTO dto = data as OrTmplDTO; lstIDs.Add(dto.Id_ortmpl); } else if (data is OrTmplCaDO) { OrTmplCaDO caDO = data as OrTmplCaDO; if (dicOrTmplDTOs.ContainsKey(caDO.Id_ortmplca)) { lstIDs.AddRange(dicOrTmplDTOs[caDO.Id_ortmplca]); } } } return(lstIDs); }
/// <summary> /// 获取树懒加载数据源(模板分类和医嘱模板) /// </summary> public LazyLoadTreeModel GetTreeKeyModel() { var adapter1 = new KeyNodeDataAdapterFactory <OrTmplCaDO>("Id_ortmplca", "Id_parent") { CustomCaptionFunc = x => x.Name }; var adapter2 = new KeyNodeDataAdapterFactory <OrTmplDTO>("Id_ortmpl", null, "Id_ortmplca") { CustomCaptionFunc = x => x.Name }; String[] nodesRoot = new String[] { "全院", "科室", "个人" }; LazyLoadTreeModel lazyLoadTreeModel = new LazyLoadTreeModel(nodesRoot); lazyLoadTreeModel.LazyLoadChildren = (oTree, bizNode) => { if (bizNode.IsRoot) { //判断是否根节点,第一级的分类没有父节点,加载第一级分类 foreach (var caDO in arryOrTmplCaDOs) { if (caDO.Id_parent == null) { switch (bizNode.UserObject.ToString()) { case "全院": if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_HOSPITAL) { var data = adapter1.Wrap(caDO); oTree.AppendBizNode(bizNode, data); } break; case "科室": if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_DEPT) { var data = adapter1.Wrap(caDO); oTree.AppendBizNode(bizNode, data); } break; case "个人": if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_PERSON) { var data = adapter1.Wrap(caDO); oTree.AppendBizNode(bizNode, data); } break; } } } } else { //在非根节点下加载节点 if (bizNode.UserObject is OrTmplCaDO) { OrTmplCaDO moduleDo = bizNode.UserObject as OrTmplCaDO; if (moduleDo != null) { //非根节点下,加载分类节点 foreach (var caDO in arryOrTmplCaDOs) { if (caDO.Id_parent != null && moduleDo.Id_ortmplca == caDO.Id_parent) { var data = adapter1.Wrap(caDO); oTree.AppendBizNode(bizNode, data); } } //非根节点下,加载模板节点 foreach (var dto in arrayOrTmplDTOs) { if (dto.Id_ortmplca == moduleDo.Id_ortmplca) { var data = adapter2.Wrap(dto); oTree.AppendBizNode(bizNode, data); } } } } else if (bizNode.UserObject is OrTmplDTO) {//模板节点先加载“加载中...” oTree.AppendBizNode(bizNode, "加载中..."); } } return(true); }; return(lazyLoadTreeModel); }