示例#1
0
        private void vTreeChating_NodeMouseDoubleClick(object sender, VirtualTreeEventArgs e)
        {
            //保存当前聊天内容到本地
            SaveChatContentToLocal();
            //替换聊天对象
            ToUserInfo = vTreeChating.SelectedNode.Tag as UserInfo;
            if (ToUserInfo == null)
            {
                return;
            }
            vTreeChating.SuspendLayout();
            vTreeChating.SelectedNode.SubItems[0].Text = "";
            vTreeChating.PerformLayout();
            //加载本地已有聊天记录
            LoadChatContent();
            //获取节点用户发送过来的未读消息
            List <MessageInfo> lstInfo = new List <MessageInfo>();

            lstInfo = ListMessageInfo.FindAll(i => i.MessageFrom.USER_ID == ToUserInfo.USER_ID);
            foreach (MessageInfo item in lstInfo)
            {
                if (item.MessageAction == (int)ActionType.SendMessage)
                {
                    ShowMessageText(item);
                }
                else if (item.MessageAction == (int)ActionType.SendPIc)
                {
                    ShowMessagePic(item, null);
                }
                //从缓存list中移除
                ListMessageInfo.Remove(item);
                //设置消息已读
                UpdateChatLog(item);
            }
        }
示例#2
0
        private void virtualTree1_NodeMouseClick(object sender, VirtualTreeEventArgs e)
        {
            if (e.SubItem == null)
            {
                VirtualNode[] selectNodes = this.virtualTree1.GetCheckedNodes(null);
                this.lbl_PatientCount.Text = selectNodes.Count().ToString();
                return;
            }
            if (e.SubItem.Index == 1 || e.SubItem.Index == 2)
            {
                string   szImageName = e.SubItem.Tag as string;
                RecPaper recPaper    = e.Node.Tag as RecPaper;
                if (string.IsNullOrEmpty(szImageName))
                {
                    return;
                }
                string szPath = szImageName;

                GlobalMethods.UI.SetCursor(this.virtualTree1, Cursors.WaitCursor);
                szPath = RecPaperAccess.Instance.GetImageLocalFile(szImageName);
                if (!File.Exists(szPath))
                {
                    short shRet = RecPaperAccess.Instance.GetImageFromFtp(recPaper, szImageName, ref szPath);
                    if (shRet != SystemData.ReturnValue.OK)
                    {
                        MessageBoxEx.Show("预览图片失败");
                        return;
                    }
                }
                GlobalMethods.UI.SetCursor(this.virtualTree1, Cursors.Default);
                Heren.MedQC.Utilities.Dialogs.ImageViewerDialog diglog = new Utilities.Dialogs.ImageViewerDialog();
                diglog.ImagePath = szPath;
                diglog.ShowDialog();
            }
        }
示例#3
0
        private void virtualTree1_NodeMouseClick(object sender, VirtualTreeEventArgs e)
        {
            this.m_SelectedNode = e.Node;
            EMRDBLib.PatVisitInfo patVisitLog = e.Node.Tag as EMRDBLib.PatVisitInfo;
            if (patVisitLog == null)
            {
                return;
            }

            if (SystemParam.Instance.PatVisitInfo != patVisitLog)
            {
                SystemParam.Instance.PatVisitInfo = patVisitLog;
                this.MainForm.OnPatientInfoChanged(EventArgs.Empty);
            }
        }
示例#4
0
        private void virtualTree1_NodeMouseClick(object sender, VirtualTreeEventArgs e)
        {
            this.m_SelectedNode = e.Node;
            //显示质检问题
            if (this.MainForm == null || this.MainForm.IsDisposed)
            {
                return;
            }
            if (e.Node == null || e.Type == HitTestType.None)
            {
                return;
            }
            MedDocInfo docInfo = e.Node.Data as MedDocInfo;

            this.MainForm.ShowQuestionListByDocInfo(docInfo);
        }
示例#5
0
        private void vTreeAlluser_NodeMouseDoubleClick(object sender, VirtualTreeEventArgs e)
        {
            if (CurrentUser == null)
            {
                return;
            }
            UserInfo userInfo = vTreeAlluser.SelectedNode.Tag as UserInfo;

            if (userInfo == null || userInfo.USER_ID == CurrentUser.USER_ID)
            {
                return;
            }

            //保存当前聊天内容到本地
            SaveChatContentToLocal();
            ToUserInfo = userInfo;
            //加载本地已有聊天记录
            LoadChatContent();
            if (!htChating.ContainsKey(ToUserInfo.USER_ID))
            {
                return;
            }
            //获取节点用户发送过来的未读消息
            List <MessageInfo> lstInfo = new List <MessageInfo>();

            lstInfo = ListMessageInfo.FindAll(i => i.MessageFrom.USER_ID == ToUserInfo.USER_ID);
            foreach (MessageInfo item in lstInfo)
            {
                if (item.MessageAction == (int)ActionType.SendMessage)
                {
                    ShowMessageText(item);
                }
                else if (item.MessageAction == (int)ActionType.SendPIc)
                {
                    ShowMessagePic(item, null);
                }
                //从缓存list中移除
                ListMessageInfo.Remove(item);
                //设置消息已读
                UpdateChatLog(item);
            }
        }
示例#6
0
        private void virtualTree1_NodeMouseDoubleClick(object sender, VirtualTreeEventArgs e)
        {
            if (this.MainForm == null || this.MainForm.IsDisposed)
            {
                return;
            }
            if (e.Node == null || e.Type == HitTestType.None)
            {
                return;
            }

            GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
            this.ShowStatusMessage("正在下载并打开病历,请稍候...");

            MedDocInfo docInfo     = e.Node.Data as MedDocInfo;
            DateTime   dtCheckTime = SysTimeHelper.Instance.Now;

            if (docInfo != null)
            {
                GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
                this.Update();
                this.MainForm.OpenDocument(docInfo);
                this.SaveReadLogInfo(docInfo, dtCheckTime, e.Node);
                this.ShowStatusMessage(null);
                GlobalMethods.UI.SetCursor(this, Cursors.Default);
                return;
            }

            //打开合并病历
            if (COMBIN_NODE_TAG.Equals(e.Node.Data))
            {
                int count = e.Node.Nodes.Count;
                if (count <= 0)
                {
                    return;
                }
                GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
                MedDocList lstDocInfos = new MedDocList();
                for (int index = 0; index < count; index++)
                {
                    docInfo = e.Node.Nodes[index].Data as MedDocInfo;
                    if (docInfo == null)
                    {
                        continue;
                    }

                    if (index > 0)
                    {
                        dtCheckTime = dtCheckTime.AddSeconds(1);
                    }
                    this.SaveReadLogInfo(docInfo, dtCheckTime, e.Node.Nodes[index]);
                    lstDocInfos.Add(docInfo);
                }
                this.Update();
                this.MainForm.OpenDocument(lstDocInfos);
                this.ShowStatusMessage(null);
                GlobalMethods.UI.SetCursor(this, Cursors.Default);
            }
            else
            {
                if (DOCTOR_NODE_TAG.Equals(e.Node.Data))
                {
                    this.OpenAllDocList(e.Node);
                }
                else if (NURSE_NODE_TAG.Equals(e.Node.Data))
                {
                    this.OpenAllDocList(e.Node);
                }
                this.ShowStatusMessage(null);
                GlobalMethods.UI.SetCursor(this, Cursors.Default);
            }
        }
示例#7
0
        private void virtualTree1_NodeMouseDoubleClick(object sender, VirtualTreeEventArgs e)
        {
            if (this.MainForm == null || this.MainForm.IsDisposed)
            {
                return;
            }
            if (e.Node == null || e.Type == HitTestType.None)
            {
                return;
            }

            GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
            this.ShowStatusMessage("正在下载并打开病历,请稍候...");

            DateTime   dtCheckTime = SysTimeHelper.Instance.Now;
            MedDocInfo docInfo     = e.Node.Data as MedDocInfo;

            //如果是和仁编辑器,暂不支持合并打开
            if ((SystemParam.Instance.LocalConfigOption.DefaultEditor == "2") &&
                docInfo == null)
            {
                return;
            }
            if (docInfo != null)
            {
                GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
                this.Update();
                this.MainForm.OpenDocument(docInfo);

                //提示已经被质控过,确认后才更新质控阅读记录
                //提示文档被质控过的信息,如果最新质控记录为当前用户,则不提示,如果为其他用户,则提示。
                MedicalQcLog qcActionLog = null;
                short        shRet       = MedicalQcLogAccess.Instance.GetQCLogInfo(docInfo.DOC_SETID, 1, ref qcActionLog);
                if (shRet == SystemData.ReturnValue.OK)
                {
                    if (qcActionLog.CHECKED_ID != SystemParam.Instance.UserInfo.USER_ID)
                    {
                        string msg = string.Format("当前病历已经被{0}于{1}质控阅读过!\t\n如需重新质控,请单击【确定】按钮"
                                                   , qcActionLog.CHECKED_BY
                                                   , qcActionLog.CHECK_DATE.ToString("yyyy-MM-dd HH:mm:ss"));
                        if (MessageBoxEx.ShowConfirm(msg) != DialogResult.OK)
                        {
                            this.ShowStatusMessage(null);
                            GlobalMethods.UI.SetCursor(this, Cursors.Default);
                            return;
                        }
                    }
                }
                this.SaveReadLogInfo(docInfo, dtCheckTime, e.Node);
            }
            this.ShowStatusMessage(null);
            GlobalMethods.UI.SetCursor(this, Cursors.Default);
            return;


            //打开合并病历
            if (COMBIN_NODE_TAG.Equals(e.Node.Data))
            {
                int count = e.Node.Nodes.Count;
                if (count <= 0)
                {
                    return;
                }

                GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
                MedDocList lstDocInfos = new MedDocList();
                for (int index = 0; index < count; index++)
                {
                    docInfo = e.Node.Nodes[index].Data as MedDocInfo;
                    if (docInfo == null)
                    {
                        continue;
                    }
                    if (index > 0)
                    {
                        dtCheckTime = dtCheckTime.AddSeconds(1);
                    }
                    this.SaveReadLogInfo(docInfo, dtCheckTime, e.Node.Nodes[index]);
                    lstDocInfos.Add(docInfo);
                }
                this.Update();
                this.MainForm.OpenDocument(lstDocInfos);
                this.ShowStatusMessage(null);
                GlobalMethods.UI.SetCursor(this, Cursors.Default);
            }
            else
            {
                if (DOCTOR_NODE_TAG.Equals(e.Node.Data))
                {
                    this.OpenAllDocList(this.m_DoctorNode);
                }
                else if (NURSE_NODE_TAG.Equals(e.Node.Data))
                {
                    this.OpenAllDocList(this.m_NurseNode);
                }
                this.ShowStatusMessage(null);
                GlobalMethods.UI.SetCursor(this, Cursors.Default);
            }
        }