/// <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> /// CreateView执行完毕后,用LoadData的数据填充界面 /// </summary> protected override void OnFillData() { this.oTree1.ClearTree(); if (this.treeKeyModel == null) { return; } oTree1.LoadData(treeKeyModel); //oTree1.MoveFirst(); if (this.oTree1.FirstNode != null) { // this.oTree1.FirstNode.IsExpanded = true; //getAllFirstLevelTreeNodes(this.oTree1.FirstNode as XAPTreeNodeRender); } oTree1.TraverseNodes(node1 => { object userObj = oTree1.GetUserObject(node1); if (userObj is OrTmplDTO) { OrTmplDTO focusObj = userObj as OrTmplDTO; String id_ortmpl = focusObj.Id_ortmpl; //如果不是模板类型就不处理 if (focusObj.OrtmplType == "1") { FArrayList modelList = this.modelMap[id_ortmpl.Substring(0, id_ortmpl.Length - 1)] as FArrayList; if (modelList != null) { this.loadModelItm(modelList, node1 as XAPTreeNodeRender); } } } }); this.oTree1.ExpandToLevel(0); }
/// <summary> /// 获得所有的子节点中的医嘱模板的id /// </summary> /// <param name="tmpl"></param> /// <returns></returns> public FArrayList getAllChildOrTmplDTO(OrTmplDTO tmpl, string sd_ortmpltp) { FArrayList modelList = new FArrayList(); if (tmpl.OrtmplType == "1") { modelList.Add(tmpl.Id_ortmpl.Substring(0, tmpl.Id_ortmpl.Length - 1)); } if (this.mapTree != null) { FArrayList hospitalList = mapTree[BdSrvDictCodeConst.SD_OWTP_HOSPIAL_ID] as FArrayList; foreach (OrTmplDTO dto in hospitalList) { if (dto.Id_ortmplca == tmpl.Id_ortmpl && dto.Sd_ortmpltp == sd_ortmpltp) { if (dto.OrtmplType == "1") { modelList.Add(dto.Id_ortmpl.Substring(0, dto.Id_ortmpl.Length - 1)); } modelList.AddRange(getAllChildOrTmplDTO(dto, sd_ortmpltp)); } } } return(modelList); }
/// <summary> /// 复选框选中事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void oTree1_TreeItemCheckChanged(object sender, TreeItemEventArgs e) { XAPTreeNodeRender nodeTree = e.Node as XAPTreeNodeRender; if (nodeTree.NodeData != null) { object nodeObj = (nodeTree.NodeData as BizNode).UserObject; if (nodeObj is OrTmplDTO) { OrTmplDTO ortmplDO = nodeObj as OrTmplDTO; //获得选中服务或模板下所有的模板id FArrayList ids_Ortmpl = this.model.getAllChildOrTmplDTO(ortmplDO, this.modeltype); if (nodeTree.Checked && ids_Ortmpl != null) { if (this.parentFrame.cacheModelItem != null) { for (int i = ids_Ortmpl.Count - 1; i >= 0; i--) { if (this.parentFrame.cacheModelItem.ContainsKey(ids_Ortmpl[i] as string)) { FArrayList list = this.parentFrame.cacheModelItem[ids_Ortmpl[i] as string] as FArrayList; //获得可以保存的模板明细 getCanSaveItmToSelectList(list); } } } } else {//选中取消,将已选的模板明细移除 for (int i = ids_Ortmpl.Count - 1; i >= 0; i--) { for (int j = this.selectList.Count - 1; j >= 0; j--) { if (selectList[j].Id_ortmpl == ids_Ortmpl[i] as string) { selectList.RemoveAt(j); } } } } } } else { //模板明细的选中事件 modelItmChecked(sender, e); } }
public override void OnSelected(object sender, TargetEventArgs e) { OrTmplDTO orTmpl = e.Object as OrTmplDTO; if (orTmpl != null) { this.id_ortmpl = orTmpl.Id_ortmpl; } else { this.id_ortmpl = ""; } this.LoadData(); }
private void loadNodes(XAPTreeNodeRender nodeTree) { object userObj = oTree1.GetUserObject(nodeTree); if (userObj is OrTmplDTO) { OrTmplDTO focusObj = userObj as OrTmplDTO; String id_ortmpl = focusObj.Id_ortmpl; String id_ortmplca = focusObj.Id_ortmplca; if (this.lstIdortmpls.Contains(id_ortmplca + id_ortmpl)) { return; } else { this.lstIdortmpls.Add(id_ortmplca + id_ortmpl); } List <String> lst = new List <string>(); lst.Add(id_ortmpl); this.viewModel.LoadOrTplNItmDOs(lst);//查询医嘱模板明细数据 FArrayList modelList = new FArrayList(); if (this.viewModel.DicOrTplNItm.ContainsKey(id_ortmpl)) { modelList = this.viewModel.DicOrTplNItm[id_ortmpl] as FArrayList; } if (modelList != null) { this.loadTmplItemNodes(modelList, nodeTree); } if (nodeTree.ChildrenCount > 1) { if (nodeTree.FirstChild is XAPTreeNodeRender) { nodeTree.FirstChild.Remove(); } } else { nodeTree.FirstChild.Text = "(空)"; nodeTree.FirstChild.Enabled = false; } nodeTree.ExpandAll(); } }
/// <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); }
private FArrayList getParentOrTmplDTO(FArrayList modelClaslist, FArrayList reModelClasList, OrTmplDTO tmpl) { if (tmpl != null && !string.IsNullOrWhiteSpace(tmpl.Id_ortmplca)) { foreach (OrTmplDTO dto in modelClaslist) { if (dto.Id_ortmpl == tmpl.Id_ortmplca) { if (!reModelClasList.Contains(dto)) { reModelClasList.Add(dto); this.getParentOrTmplDTO(modelClaslist, reModelClasList, dto); } } } } return(reModelClasList); }