/// <summary> /// 从配置中获取需要显示的按钮信息列表 /// </summary> private List <SignleBottomMenuControl> GetMenuList(string configList) { List <SignleBottomMenuControl> resultList = new List <SignleBottomMenuControl>(); try { Dictionary <string, ImageList> bottonMenuItemDict = BottomMenuItemDictionary.BottomMenuItemDict; string[] docList = configList.Split(','); ImageList docInfo = null; foreach (string doc in docList) { // 在平台添加文书,如果默认的字典BottomMenuItemDict里没有,则使用麻醉单文书的图标 if (bottonMenuItemDict.ContainsKey(doc)) { docInfo = bottonMenuItemDict[doc]; } else { docInfo = new ImageList() { ImageFirst = ResourceImage.麻醉记录单, ImageSecond = ResourceImage.麻醉单_选中 }; } if (docInfo.ImageFirst != null && docInfo.ImageSecond != null) { SignleBottomMenuControl signleBottomMenuControl = new SignleBottomMenuControl(); signleBottomMenuControl.ControlPath = ImageHelper.BitmapToBitmapImage(docInfo.ImageFirst); signleBottomMenuControl.CtrMouseOverPath = ImageHelper.BitmapToBitmapImage(docInfo.ImageSecond); signleBottomMenuControl.ControlName = doc; resultList.Add(signleBottomMenuControl); } } } catch (Exception ex) { Logger.Error("功能菜单异常信息", ex); ShowMessageBox(ex.Message, MessageBoxButton.OK, MessageBoxImage.Error); } return(resultList); }
/// <summary> /// 根据选择名称进行相应处理 /// </summary> private void DoLoadReportOrWork(SignleBottomMenuControl selectedSignleBottomMenuControl) { if (ExtendAppContext.Current.PatientInformationExtend == null) { ShowMessageBox("请先选中一个患者后再操作手术信息。", MessageBoxButton.OK, MessageBoxImage.Warning); return; } string controlName = selectedSignleBottomMenuControl.ControlName; switch (controlName) { case "麻醉记录单": case "术前访视单": case "术后随访单": case "三方核查单": case "麻醉同意书": case "不良后果告知书": case "麻醉总结单": case "术后镇痛记录单": case "输血评估单": case "手术安全核查单": this.ShowDocByDocName(controlName); break; case MED_CONSTANT.OPERATION_INFOMATION: this.ShowContentWindow("OperationInformationControl", MED_CONSTANT.OPERATION_INFOMATION); break; case MED_CONSTANT.AfterOperationInformationControl: this.ShowContentWindow("AfterOperationInformationControl", MED_CONSTANT.AfterOperationInformationControl); break; case "仪器设置": if (ExtendAppContext.Current.PatientInformationExtend == null) { this.ShowMessageBox("无正在进行的手术,无法绑定仪器。", MessageBoxButton.OK, MessageBoxImage.Warning); return; } this.ShowContentWindow("MonitorBind", "仪器设置", 760, 1200); break; case "模板调用": break; case "保存模板": this.ShowContentWindow("AnesthesiaRouteControl", "保存模板", 438, 185); break; case "更换手术间": this.ShowContentWindow("ChangeOperRoomNo", "更换手术间", 600, 660); break; case "查看术中": Messenger.Default.Send <object>(this, EnumMessageKey.ShowInOperationWindow); break; case "手术交接班": this.ShowContentWindow("OperationShift", "手术交接班", 700, 660); break; case "检验结果": this.ShowContentWindow("AssayReport", "检验结果查询", 600, 620); break; case "血气分析": this.BloodGasAnalysisControlMethod(); break; case "个性化体征": this.ShowContentWindow("IndividuationVitalSignControl", "个性化体征", 600, 620); Messenger.Default.Send <object>(this, EnumMessageKey.RefreshSignVitalWindow); break; case "手术跳转": this.OperatioinJumpMethod(); break; case "手术取消": if (ExtendAppContext.Current.PatientInformationExtend.OPER_STATUS_CODE == (int)OperationStatus.InOperationRoom) { this.ShowContentWindow("OperationCanceled", "手术取消", 600, 660); } else { this.ShowMessageBox("只有处于入室状态才能取消手术!", MessageBoxButton.OK, MessageBoxImage.Asterisk); } break; case "家属协同": this.ShowContentWindow("OperationScreen", "术中家属协同", 600, 660); break; case "麻醉计费": if (ExtendAppContext.Current.PatientInformationExtend.OPER_STATUS_CODE >= (int)OperationStatus.AnesthesiaEnd) { this.ShowContentWindow("AnesFree", "麻醉计费", 700, 800); } else { this.ShowMessageBox("只有麻醉结束后才能进入麻醉计费功能!", MessageBoxButton.OK, MessageBoxImage.Asterisk); } break; case "批量归档": if (ExtendAppContext.Current.LoginUser.USER_JOB_ID.Equals("MDSD")) { this.ShowMessageBox("当前登录账户为管理员账户,请使用医生账户重新登录!", MessageBoxButton.OK, MessageBoxImage.Asterisk); } else { this.ShowContentWindow("UnPostPDFControl", "批量归档", 600, 730); } break; case "拍照": var message = new ShowContentWindowMessage("CameraControl", "拍照"); message.Height = 660; message.Width = 600; message.WindowType = ContentWindowType.Document; Messenger.Default.Send <ShowContentWindowMessage>(message); // this.ShowContentWindow("CameraControl", "拍照", 600, 660); break; case "麻醉评分": this.ShowContentWindow("Balthazar", "麻醉评分", (int)SystemParameters.PrimaryScreenWidth, (int)SystemParameters.PrimaryScreenHeight); break; case "PACS检查信息": this.ShowContentWindow("PacsInterface", "PACS检查信息", 600, 660); break; default: // 当为找到对应的值时,默认使用文书解析 this.ShowDocByDocName(controlName); break; } this.CloseContentWindow(); }