using DrawGraph; using DrawGraph.AreaManage; using DrawGraph.BoardPack; using DrawGraph.GUtil; using Newtonsoft.Json; using PublicBusi; using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace AIMS.EF { [Serializable, JsonObject(MemberSerialization.OptOut)] public class BaseInfoBottomManage : AreaManageBase { private OperationRecord myOpeRecord = null; public BaseInfoBottomManage() { } public BaseInfoBottomManage(object _operationRecor, ZedGraphControl _zedControl, TemplateManage _template, string _name) : base(_operationRecor, _zedControl, _template, _name) { init(); } public void init() { //自己要用的手术对象 myOpeRecord = OpeRecord as OperationRecord; } #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) { } public override void Bind() { init(); List ables = PackManage.ListPob.Where(s => s is AbleEditPackObj).ToList(); foreach (PackObjBase pack in ables) { AbleEditPackObj ableEdit = pack as AbleEditPackObj; SetAbleEditView(ableEdit); } if (myOpeRecord.DiagnoseRemark != null && myOpeRecord.DiagnoseRemark != "") { string text = DocumentEntityMethod.GetDictionaryValuesById(myOpeRecord.Diagnose, "诊断"); //设置属性的值 text = text + (" (" + myOpeRecord.DiagnoseRemark + ")"); template.SetObjValue(myOpeRecord, "OperationRecord.Diagnose", text, myOpeRecord.Diagnose.ToString()); } if (myOpeRecord.OPerationRemark != null && myOpeRecord.OPerationRemark != "") { string text = DocumentEntityMethod.GetDictionaryValuesById(myOpeRecord.Operation, "手术"); //设置属性的值 text = text + (" (" + myOpeRecord.OPerationRemark + ")"); template.SetObjValue(myOpeRecord, "OperationRecord.Operation", text, myOpeRecord.Operation.ToString()); } } /// /// 设置可编辑组件的显示样式 /// /// private void SetAbleEditView(AbleEditPackObj ableEdit) { string span = ""; double spanSum = Math.Round((float)(ableEdit.OneUnitCount / 12)); for (int i = 0; i < spanSum; i++) { span += " "; } string text = "", value = ""; if (ableEdit != null) { switch (ableEdit.ControlType) { case EControlType.Directory: value = ableEdit.PackValue; text = DocumentEntityMethod.GetDictionaryValuesById(ableEdit.PackValue, ableEdit.ControlTitleText); //设置属性的值 template.SetObjValue(OpeRecord, ableEdit.ClassDataSourceName, text, value); break; default: break; } } } #endregion 重写的事件结束 /// /// 响应可编辑区域的点击事件 /// /// /// public override void editAr_Click(object sender, EventArgs e) { try { //传过来的数据是不是可编辑的 AbleEditPackObj aEdit1S = sender as AbleEditPackObj; if (aEdit1S == null) return; //先把所有WINFORM组件隐藏 foreach (PackObjBase pack in PackManage.ListPob) { AbleEditPackObj aEdit = pack as AbleEditPackObj; if (aEdit != null) { aEdit.IsVisible = false; } } //这句话很重要,只操作自己管理器里的组件 AbleEditPackObj aEdit1 = PackManage.ListPob.FirstOrDefault(s => s.PackTag == aEdit1S.PackTag) as AbleEditPackObj; //指定的组件显示 if (aEdit1 != null) { aEdit1.IsVisible = !aEdit1.IsVisible; Control conl = aEdit1.CControl; conl.Leave -= new EventHandler(txt_Leave); //根据数据源名称进行不同的事件处理 switch (aEdit1.ClassDataSourceName) { case "OperationRecord.OperationAnalgesiaMode": TYZD_Click(aEdit1, e); break; case "OperationRecord.AnaesthesiaMethodId": Anaes_Click(aEdit1, e); break; case "OperationRecord.AnesthesiaDoctor": //麻醉医生 Worker_Click(aEdit1, e, 2); break; case "OperationRecord.ExtracorporealCirculation": //麻醉医生 Workerqm_Click(aEdit1, e, 2); break; case "OperationRecord.OperationDoctor": Worker_Click(aEdit1, e, 0); break; case "OperationRecord.InstrumentNurse": Worker_Click(aEdit1, e, 1); break; case "OperationRecord.Assistant1": Worker_Click(aEdit1, e, 0); break; case "OperationRecord.TourNurse": Worker_Click(aEdit1, e, 1); break; case "OperationRecord.Diagnose": //手术诊断 opeDisease_Click(aEdit1, e); break; case "OperationRecord.Operation": //手术名称 ope_Click(aEdit1, e); break; //default: // //在此处写日志 // aEdit1.IsVisible = !aEdit1.IsVisible; // MessageBox.Show("没找到-" + aEdit1.ClassDataSourceName + "-属性的事件"); // break; } } } catch (Exception exp) { MessageBox.Show(exp.Message); } finally { } } #region 可编辑区域响应事件 //通用字典分组窗体打开 private void TYZD_Click(AbleEditPackObj sender, EventArgs e, bool isRadio = false) { AbleEditPackObj ableEdit = sender; if (ableEdit == null) return; try { if (myOpeRecord != null) { ////默认是字典 //frmSelectDictionary fsd = new frmSelectDictionary(); //fsd._controlName = new KeyValuePair(ableEdit.PackValue, ableEdit.PackText); //fsd._dictionaryName = ableEdit.ControlTitleText; //fsd.isRadio = isRadio; //fsd.isAddItem = false; //fsd.ShowDialog(); //ableEdit.PackValue = fsd._controlName.Key.ToString(); //ableEdit.PackText = fsd._controlName.Value.ToString(); //string value = ableEdit.PackValue; //string text = DocumentEntityMethod.GetDictionaryValuesById(ableEdit.PackValue, ableEdit.ControlTitleText); ////设置属性的值 //ableEdit.IsVisible = !ableEdit.IsVisible; //template.SetObjValue(OpeRecord, ableEdit.ClassDataSourceName, text, value, true); } } catch (Exception exp) { } } private void opeDisease_Click(AbleEditPackObj sender, EventArgs e) { AbleEditPackObj ableEdit = sender; if (ableEdit == null) return; try { if (myOpeRecord != null) { //frmSelectDisease fsi = new frmSelectDisease(); //fsi._controlName = new KeyValuePair(ableEdit.PackValue, ableEdit.PackText); //fsi.txtRemark.Text = myOpeRecord.DiagnoseRemark; //fsi.ShowDialog(); //ableEdit.PackValue = fsi._controlName.Key.ToString(); //ableEdit.PackText = fsi._controlName.Value.ToString(); //string value = ableEdit.PackValue; //string text = DocumentEntityMethod.GetDictionaryValuesById(ableEdit.PackValue, ableEdit.ControlTitleText); //myOpeRecord.DiagnoseRemark = fsi.txtRemark.Text; ////设置属性的值 //if (fsi.txtRemark.Text.Trim() != "") // text = text + (" (" + fsi.txtRemark.Text + ")"); //ableEdit.IsVisible = !ableEdit.IsVisible; //template.SetObjValue(OpeRecord, ableEdit.ClassDataSourceName, text, value, true); //template.SetObjValue(OpeRecord, "myOpeRecord.DiagnoseRemark", fsi.txtRemark.Text, fsi.txtRemark.Text, true); } } catch (Exception exp) { } } private void ope_Click(AbleEditPackObj sender, EventArgs e) { AbleEditPackObj ableEdit = sender; if (ableEdit == null) return; try { if (myOpeRecord != null) { //frmSelectOperations frmso = new frmSelectOperations(); //frmso._controlName = new KeyValuePair(ableEdit.PackValue, ableEdit.PackText); //frmso.txtRemark.Text = myOpeRecord.OPerationRemark; //frmso.ShowDialog(); //ableEdit.PackValue = frmso._controlName.Key.ToString(); //ableEdit.PackText = frmso._controlName.Value.ToString(); //string value = ableEdit.PackValue; //string text = DocumentEntityMethod.GetDictionaryValuesById(ableEdit.PackValue, ableEdit.ControlTitleText); //myOpeRecord.OPerationRemark = frmso.txtRemark.Text; ////设置属性的值 //if (frmso.txtRemark.Text.Trim() != "") // text = text + (" (" + frmso.txtRemark.Text + ")"); //ableEdit.IsVisible = !ableEdit.IsVisible; //template.SetObjValue(OpeRecord, ableEdit.ClassDataSourceName, text, value, true); //template.SetObjValue(OpeRecord, "myOpeRecord.OPerationRemark", frmso.txtRemark.Text, frmso.txtRemark.Text, true); } } catch (Exception exp) { } } private void Worker_Click(AbleEditPackObj sender, EventArgs e, int _workersType) { AbleEditPackObj ableEdit = sender; if (ableEdit == null) return; try { if (myOpeRecord != null) { //frmSelectWorkers_New fsw = new frmSelectWorkers_New(); //fsw._controlName = new KeyValuePair(ableEdit.PackValue, ableEdit.PackText); //fsw._workersType = _workersType; //fsw.isRadio = false; //fsw.isAddItem = false; //fsw.ShowDialog(); //ableEdit.PackValue = fsw._controlName.Key.ToString(); //ableEdit.PackText = fsw._controlName.Value.ToString(); //string value = ableEdit.PackValue; //string text = DocumentEntityMethod.GetDictionaryValuesById(ableEdit.PackValue, ableEdit.ControlTitleText); ////设置属性的值 //ableEdit.IsVisible = !ableEdit.IsVisible; //template.SetObjValue(OpeRecord, ableEdit.ClassDataSourceName, text, value, true); } } catch (Exception exp) { } } private void Workerqm_Click(AbleEditPackObj sender, EventArgs e, int _workersType) { AbleEditPackObj ableEdit = sender; if (ableEdit == null) return; try { if (myOpeRecord != null) { //KeyValuePair _controlName = new KeyValuePair(ableEdit.PackValue, ableEdit.PackText); //KeyValuePair keyValuePairs = PublicToZed.SelectWorker(ableEdit.PackTag, _controlName, _workersType, PublicMethod.Operator.DepartmentId.Value, true); //ableEdit.PackValue = keyValuePairs.Key.ToString(); //ableEdit.PackText = keyValuePairs.Value.ToString(); //string value = ableEdit.PackValue; //string text = DocumentEntityMethod.GetDictionaryValuesById(ableEdit.PackValue, ableEdit.ControlTitleText); ////设置属性的值 //ableEdit.IsVisible = !ableEdit.IsVisible; //template.SetObjValue(OpeRecord, ableEdit.ClassDataSourceName, text, value, true); } } catch (Exception exp) { } } private void Anaes_Click(AbleEditPackObj sender, EventArgs e) { AbleEditPackObj ableEdit = sender; if (ableEdit == null) return; try { if (myOpeRecord != null) { //frmSelectAnaesthesiaMethod fsi = new frmSelectAnaesthesiaMethod(); //fsi._controlName = new KeyValuePair(ableEdit.PackValue, ableEdit.PackText); //fsi._formName = this.Name; //fsi._operationRecord = myOpeRecord; //fsi.ShowDialog(); //ableEdit.PackValue = fsi._controlName.Key.ToString(); //ableEdit.PackText = fsi._controlName.Value.ToString(); //string value = ableEdit.PackValue; //string text = DocumentEntityMethod.GetDictionaryValuesById(ableEdit.PackValue, ableEdit.ControlTitleText); ////设置属性的值 //ableEdit.IsVisible = !ableEdit.IsVisible; //template.SetObjValue(OpeRecord, ableEdit.ClassDataSourceName, text, value, true); } } catch (Exception exp) { } } private void txt_Leave(object sender, EventArgs e) { Control control = (Control)sender; if (control == null) return; AbleEditPackObj ableEdit = control.Tag as AbleEditPackObj; if (ableEdit == null) return; try { string DataSourceName = ableEdit.ClassDataSourceName; Console.WriteLine(DataSourceName); //拿到数据源(格式:OperationRecord.PatientRef.Bed) bool updateOk = true; string text = control.Text.Trim(); string value = control.Text.Trim(); if (!updateOk) { ableEdit.IsVisible = !ableEdit.IsVisible; } else { if (DataSourceName == "OperationRecord.Fasting") { foreach (Control conl in control.Controls) { CheckBox chBox = conl as CheckBox; if (chBox.Checked) { text = "是"; value = "1"; } else { text = "否"; value = "0"; } } } //设置属性的值 ableEdit.IsVisible = !ableEdit.IsVisible; template.SetObjValue(OpeRecord, DataSourceName, text, value, true); } } catch (Exception ex) { //写日志 } finally { } } #endregion } }