160 lines
5.0 KiB
C#
160 lines
5.0 KiB
C#
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
|
||
{
|
||
/// <summary>
|
||
/// 药品区域
|
||
/// </summary>
|
||
public RectangleFramePackObj drugPpack;
|
||
public LinePackObj H3pack;
|
||
public LinePackObj H5pack;
|
||
public LinesPackObj lines;
|
||
public int RowsCount;
|
||
/// <summary>
|
||
/// 当前手术对象
|
||
/// </summary>
|
||
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;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 初始画的后置方法
|
||
/// </summary>
|
||
public override void FollowUpMethod()
|
||
{
|
||
lines = template.GetPackObjectOTag<LinesPackObj>("DrugsManage_LinesPackObj_5");
|
||
RowsCount =Convert.ToInt32(lines.XPageSpan / lines.XMajorGridStep);
|
||
H3pack = template.GetPackObjectOTag<LinePackObj>("DrugsManage_LinePackObj_6");
|
||
H5pack = template.GetPackObjectOTag<LinePackObj>("DrugsManage_LinePackObj_9");
|
||
drugPpack = template.GetPackObjectOTag<RectangleFramePackObj>("DrugsManage_RectangleFramePackObj_2");
|
||
}
|
||
#endregion
|
||
|
||
#region 重写的事件
|
||
/// <summary>
|
||
/// 鼠标点击画板
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
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();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 画加药
|
||
/// </summary>
|
||
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;
|
||
}
|
||
/// <summary>
|
||
/// 根据顶部加药序号,确定数值生命体征的纵向位置(以1为单位)
|
||
/// </summary>
|
||
/// <param name="index"></param>
|
||
/// <returns></returns>
|
||
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
|
||
}
|
||
}
|