using DrawGraph; using DrawGraph.AreaManage; using DrawGraph.BoardPack; using DrawGraph.GUtil; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace AIMS.EF { [Serializable, JsonObject(MemberSerialization.OptOut)] public class DrugsManage : AreaManageBase { /// /// 药品区域 /// public RectangleFramePackObj drugPpack; public LinePackObj H3pack; public LinePackObj H5pack; public LinesPackObj lines; public int RowsCount; /// /// 当前手术对象 /// private OperationRecord myOpeRecord = null; #region 初始化药品区域 public DrugsManage() { init(); } public DrugsManage(object _operationRecor, ZedGraphControl _zedControl, TemplateManage _template, string _name) : base(_operationRecor, _zedControl, _template, _name) { init(); } public void init() { //自己要用的手术对象 myOpeRecord = OpeRecord as OperationRecord; } /// /// 初始画的后置方法 /// public override void FollowUpMethod() { lines = template.GetPackObjectOTag("DrugsManage_LinesPackObj_5"); RowsCount =Convert.ToInt32(lines.XPageSpan / lines.XMajorGridStep); H3pack = template.GetPackObjectOTag("DrugsManage_LinePackObj_6"); H5pack = template.GetPackObjectOTag("DrugsManage_LinePackObj_9"); drugPpack = template.GetPackObjectOTag("DrugsManage_RectangleFramePackObj_2"); } #endregion #region 重写的事件 /// /// 鼠标点击画板 /// /// /// public override void MouseDown(ZedGraphControl sender, MouseEventArgs e) { //if (e.Button == System.Windows.Forms.MouseButtons.Left) //{ // MessageBox.Show(this.GetType().Name + "is Click Left Button"); //} } public override void MouseMove(ZedGraphControl sender, MouseEventArgs e) { } public override void MouseUp(ZedGraphControl sender, MouseEventArgs e) { } public override void MouseDoubleClick(ZedGraphControl sender, MouseEventArgs e) { } public override void KeyUp(ZedGraphControl sender, KeyEventArgs e) { } #endregion 重写的事件结束 #region 绑定区域数据 public override void Bind() { init(); DrawDrug(); } /// /// 画加药 /// private void DrawDrug() { //try //{ // foreach (DrugsRecord temp in myOpeRecord.DrugsRecordList) // { // if (!isSapDrugs(temp)) // { // temp.clearAddObj(ZedControl); // } // } // reDrawDrug(); //} //catch (Exception exp) //{ // PublicMethod.WriteLog(exp); //} } #endregion #region 当前区域公用事件方法 private bool IfInTimeExist(DateTime Begin, DateTime End) { DateTime lastime = myOpeRecord.lastPageBegin.AddSeconds(59); bool b = false; if (End == null) { if (Begin > myOpeRecord.pageBegin && Begin < lastime) { b = true; } } else { if (Begin >= myOpeRecord.pageBegin && Begin <= lastime) { b = true; } else if (End >= myOpeRecord.pageBegin && End <= lastime) { b = true; } else if (Begin < myOpeRecord.pageBegin && End > lastime) { b = true; } } return b; } /// /// 根据顶部加药序号,确定数值生命体征的纵向位置(以1为单位) /// /// /// public double getYPositionByListIndex(double index, double yTop, double yBottom, int rowCount) { double heightT = ZedControl.Height * (yBottom - yTop); double setpTemp = heightT / rowCount; //求一格在实际高度中的百分比 double bfb = (setpTemp / heightT); //两线之间度*百分比得到一格的百分比高度 double ygBFB = (yBottom - yTop) * bfb; double y = ygBFB * index; return y; } #endregion } }