Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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();
        }