public bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e) { bool result = false; // 费用保存消息,需要转发到医疗单容器中进行处理 var eventCode = AssToolEx.EventCodeOfEventArgs(e); switch (eventCode) { case EventCodeType.NM_EMS_ORSRV_DATACHANGED: //this.XTabPages[0].HasError = GetEmsView().ExistErrors(); //if (HasExpenseView()) { // result = this.GetExpenseView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_ORSRV_DATACHANGED)); //} this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_ORSRV_DATACHANGED)); break; case EventCodeType.NM_EXPENSE_DATACHANGED: this.XTabPages[1].HasError = GetExpenseView().ExistErrors(); this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_DATACHANGED)); result = true; break; } if (!result) { return(mEeventDelegate.OnChildNotify(sender, e)); } else { return(true); } }
public override bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e) { if (AssToolEx.EventCodeOfEventArgs(e) == EventCodeType.NM_UIMSG_LAYOUTCHANGED) { this.AdjustLayout(); return(true); } return(base.OnChildNotify(sender, e)); }
/// <summary> /// 处理消息订阅,并进行内部分发 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void HandleState(object sender, xap.rui.engine.DictionaryEventArgs e) { base.HandleState(sender, e); if (IsValidateEvent(AssToolEx.EventCodeOfEventArgs(e))) { this.OnEventHandle(sender, e); } }
/// <summary> /// 处理子窗口通知事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> public override bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e) { if (AssToolEx.EventCodeOfEventArgs(e) == EventCodeType.NM_TABLE_CLICK) { XDataRow row = AssToolEx.ObjectOfEventArgs(e, EventCodeType.NM_TABLE_CLICK) as XDataRow; this.GetCardViewControl().Cell_MouseClick(row); return(true); } return(base.OnChildNotify(sender, e)); }
public override bool OnEventHandle(object sender, DictionaryEventArgs e) { bool ret = base.OnEventHandle(sender, e); if (AssToolEx.EventCodeOfEventArgs(e).Equals(EventCodeType.EVENT_EMS_SAVE_FOCUS) && this.Visible) { SetButtonFocus(0); } return(ret); }
public override bool OnChildNotify(object sender, DictionaryEventArgs e) { if (AssToolEx.EventCodeOfEventArgs(e).Equals(EventCodeType.NM_EMS_ORSRV_DATACHANGED)) { var tableDataSource = this.GetTableViewControl().GetViewModel().GetTableDataSource() as XapDataList <EmsOrDrug>; if (null != tableDataSource) { (this.GetViewModel() as EmsLisViewModel).ReCalcPriceInfo(tableDataSource[0]); } } return(base.OnChildNotify(sender, e)); }
public override void HandleState(object sender, xap.rui.engine.DictionaryEventArgs e) { base.HandleState(sender, e); string newState = e.Data[UIConst.NEW_STATE] as string; var eventCode = AssToolEx.EventCodeOfEventArgs(e); if (eventCode != null && (eventCode.Equals("EmsFeesControl") || eventCode.Equals("OpSupend")) && this.Created) { this.LoadData(); } }
public override bool OnEventHandle(object sender, DictionaryEventArgs e) { switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.EVENT_EMS_CARDFOCUS: getControlByName("card", "des_pps").UserRender.Focus(); break; default: break; } return(base.OnEventHandle(sender, e)); }
public override void HandleState(object sender, DictionaryEventArgs eventArgs) { string uiEvent = AssToolEx.EventCodeOfEventArgs(eventArgs); if (uiEvent.Equals(EventCodeType.EVENT_ORDLIST_DATAVALIDATE)) { Object dataObj = AssToolEx.ObjectOfEventArgs(eventArgs, "CiOrderDOList"); if (null != dataObj) { List <CiOrderDO> ordList = dataObj as List <CiOrderDO>; // TODO: 校验医嘱数据有效性 } } }
public override void HandleState(object sender, DictionaryEventArgs e) { if (!this.Created) { return; } switch (AssToolEx.EventCodeOfEventArgs(e)) { case UIEvent.SAVE_SUCCESS: this.LoadData(); break; } }
public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e) { if (AssToolEx.EventCodeOfEventArgs(e).Equals(EventCodeType.EVENT_EMS_APBU_ADD)) { var emsdto = (GetViewModel().GetEmsUIDTO() as EmsUIDTO); //备血医嘱开立,1、保存医嘱,2、后签署医嘱,3、生成用血医嘱 if (orIsOpen()) { if (!this.SentNotify(EventCodeType.NM_EMS_SAVE) || this.GetViewModel().getCiOrderDO() == null) { return(false); } LogicEx.GetInstance().SignCiOrder(new CiOrderDO[] { this.GetViewModel().getCiOrderDO() }, this.GetViewModel().GetEnt4BannerDTO()); if (!this.SentNotify(EventCodeType.EVENT_EMS_REFRESH)) { return(false); } MedSrvDO medSrcDO = LogicEx.GetInstance().getApBuSrv(); if (null != medSrcDO && emsdto.CiordubDTO != null) { this.GetViewModel().SetCustomParam(creatBuEmsDO(this.GetViewModel().getCiOrderDO().Id_or, medSrcDO)); // SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParameter.TAGKEY, new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO)); this.SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParamList.TAGKEY, new EmsCreatedParamList() { new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO) }); } }//医嘱已签署,生成用血医嘱 else { MedSrvDO medSrcDO = LogicEx.GetInstance().getApBuSrv(); if ((this.GetViewModel().getCiEmsDTO() as CiEmsDTO).Id_or != null) { //拼接用血医嘱的元数据 creatBuEmsDO((this.GetViewModel().getCiEmsDTO() as CiEmsDTO).Id_or, medSrcDO); } if (null != medSrcDO && emsdto.CiordubDTO != null) { this.GetViewModel().SetCustomParam(emsdto.CiordubDTO); // SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParameter.TAGKEY, new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO)); this.SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParamList.TAGKEY, new EmsCreatedParamList() { new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO) }); } } } return(base.OnEventHandle(sender, e)); }
public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e) { switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.EVENT_EMS_DISABLE_EDIT: SetDataPolicy(false); break; case EventCodeType.EVENT_EMS_ALLOW_EDIT: SetDataPolicy(true); break; default: break; } return(base.OnEventHandle(sender, e)); }
public override bool OnChildNotify(object sender, DictionaryEventArgs e) { // 药品选项卡需要处理表格中发出的通知消息事件 if (EventCodeType.NM_EMS_ORSRV_SELECTCHANGED == AssToolEx.EventCodeOfEventArgs(e)) { if (null != this.GetCardViewControl()) { return(GetCardViewControl().OnEventHandle(sender, e)); } } else if (EventCodeType.NM_EMS_ORSRV_DATACHANGED == AssToolEx.EventCodeOfEventArgs(e)) { GetCardViewControl().OnEventHandle(sender, e); } // 该消息继续广播 return(base.OnChildNotify(sender, e)); }
public override bool OnEventHandle(object sender, DictionaryEventArgs e) { switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.EVENT_EMS_ORSRV_DATACHANGED: int count = GetHerBalMedicineCtr().dispCount; for (int index = 0; index < count; ++index) { } break; case EventCodeType.EVENT_EMS_DRUG_USAGE: (AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "drugsUse.name_routedes") as XLabelBaseUserRender).UserRender.Focus(); break; case EventCodeType.EVENT_EMS_REFRESULT: if (hpCanEdit()) { EmsOrDrug emsordrug = this.GetViewModel().GetSelectedObject() as EmsOrDrug; var bdhpdtos = emsordrug.BdHpIndicationDTO; if (bdhpdtos != null && bdhpdtos.Count > 0) { BdHpIndicationDTO bdhpdto = bdhpdtos[0] as BdHpIndicationDTO; var code_hpindicjudged = bdhpdto.Code_hpindicjudged; if (code_hpindicjudged != null && (code_hpindicjudged == "12" || code_hpindicjudged == "21")) { showHpDialog(emsordrug); } } } break; case EventCodeType.EVENT_EMS_CARDFOCUS: getControlByName("drugsUse", "orders").UserRender.Focus(); break; default: break; } return(base.OnEventHandle(sender, e)); }
public override void HandleState(object sender, DictionaryEventArgs e) { if (sender is XBroadcastAction) { XBroadcastAction xBroadCastAction = sender as XBroadcastAction; LoadAssiFrameByShortCut(xBroadCastAction.UiEvent); } string eventCode = AssToolEx.EventCodeOfEventArgs(e); switch (eventCode) { case EventCodeType.EVENT_ASSI_SHOW_ORDERTEMPLATE_OR_EDIT: bool isShow = (bool)BaseEmsView.BaseEmsInfoContext["IsShowOphelperWhenOrOpen"]; if (isShow) { this.switchToPithy(); } break; } }
public override bool OnEventHandle(object sender, DictionaryEventArgs e) { switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.EVENT_EMS_CARDFOCUS: if (getControlByName("card", "name_samptp").Enabled == false) { getControlByName("card", "name_sampcoltime").UserRender.Focus(); } else { getControlByName("card", "name_samptp").UserRender.Focus(); } break; default: break; } return(base.OnEventHandle(sender, e)); }
public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e) { if (null != tableViewControl) { tableViewControl.OnEventHandle(sender, e); } if (null != cardViewControl) { if (AssToolEx.EventCodeOfEventArgs(e) == EventCodeType.EVENT_EXPENSE_DATACHANGED && null != tableViewControl) { tableViewControl.UnRegFormEvent_DataChanged(); cardViewControl.OnEventHandle(sender, e); tableViewControl.RegFormEvent_DataChanged(); } else { cardViewControl.OnEventHandle(sender, e); } } return(base.OnEventHandle(sender, e)); }
/// <summary> /// 处理内部的通知消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> public override bool OnChildNotify(object sender, DictionaryEventArgs e) { if (this.ent4BannerDTO == null) { return(base.OnChildNotify(sender, e)); } // 分拣消息通知事件 switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.NM_ORDI_EDIT: OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_ORDI_EDIT)); return(true); case EventCodeType.NM_EMS_ORSRV_SELECTCHANGED: return(GetEmsView().OnEventHandle(sender, e)); case EventCodeType.NM_UIMSG_LAYOUTCHANGED: GetEmsView().AdjustLayout(); return(true); case EventCodeType.EVENT_EMS_REFRESH: OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_REFRESH)); return(true); case EventCodeType.EVENT_EMS_ORSRV_HP_DATACHANGED: EmsHpDataChangedForMappingExpensView(sender, e); break; case EventCodeType.NM_EMS_REFRESULT: GetEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_REFRESULT)); break; } return(base.OnChildNotify(sender, e)); }
public override bool OnEventHandle(object sender, DictionaryEventArgs e) { // 当前未加载完成或者未创建完成 不进行消息事件的相应 if (this.IsLoading) { return(false); } if (!this.Created) { return(false); } if (!this.IsXapFormReady) { return(false); } switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.NM_EMS_ORSRV_SELECTCHANGED: if (this.GetViewModel() != null && this.GetViewModel().GetSelectedObject() != null) { this.updateDrugInfo(this.GetViewModel().GetSelectedObject() as EmsOrDrug); if (hpCanEdit()) { SetHpControlEnabled(); } else { this.setHpBaseUserRender(false); } return(true); } break; case EventCodeType.NM_EMS_ORSRV_DATACHANGED: var useDay = AssToolEx.ObjectOfEventArgs(e, "Use_days"); var frecq = AssToolEx.ObjectOfEventArgs(e, "Name_freq"); this.updateDrugInfo(this.GetViewModel().GetSelectedObject() as EmsOrDrug); if (hpCanEdit()) { SetHpControlEnabled(); } else { this.setHpBaseUserRender(false); } if (useDay != null || frecq != null) { var cardDataSource = (GetViewModel().GetFormDataSource() as EmsDrugItemDO); if (cardDataSource.Fg_mp_in != null && cardDataSource.Fg_mp_in.GetValueOrDefault()) { int totalCount = this.GetLogicEx().GetDrugUseTotalCount(this.GetViewModel().GetEmsUIDTO() as EmsUIDTO); if (totalCount > 0) { var mapinlabel = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "orcard.times_mp_in") as XLabelBaseUserRender; if (mapinlabel != null) { // 在院执行次数跟随总次数变化一致 var numRender = mapinlabel.UserRender as XNumbericUpDown; numRender.MaxValue = totalCount; // if (cardDataSource.Times_mp_in > totalCount) { cardDataSource.Times_mp_in = totalCount; } } } } } else { // 在院执行次数 HandleTimesMpInInfo(this.ciPharmMpInUsageScope, this.GetViewModel().GetFormDataSource() as EmsDrugItemDO); } break; case EventCodeType.EVENT_EXPENSE_DATACHANGED: handleExpenseDataChanged(sender, e); break; case EventCodeType.EVENT_EMS_DRUG_USAGE: (AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "orcard.name_routedes") as XLabelBaseUserRender).UserRender.Focus(); break; case EventCodeType.EVENT_EMS_REFRESULT: drugHpShow(); break; default: break; } return(base.OnEventHandle(sender, e)); }
public bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e) { bool result = false; switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.EVENT_EMS_ORDER_EDIT: GetEmsView().OnEventHandle(sender, e); this.XTabPages[0].HasError = GetEmsView().HasErrors(); if (this.HasExpenseView()) { this.XTabPages[1].HasError = GetExpenseView().ExistErrors(); } break; // 处理删除医疗单消息 case EventCodeType.EVENT_EMS_DELETE: if (GetEmsViewType() == EmsViewType.EmptyEmsViewType) { return(result); } result = GetEmsView().OnEventHandle(sender, e); this.XTabPages[0].HasError = GetEmsView().HasErrors(); if (this.HasExpenseView()) { GetExpenseView().SetNeedRefresh(1); } break; // 处理保存医疗单消息 case EventCodeType.EVENT_EXPENSE_SAVE: case EventCodeType.EVENT_EMS_SAVE: //开立医嘱(点击医疗单确认按钮),判断诊断是否为空,诊断是否更改 bool rst = true; if (RelativeUIParam.RELATIVERATIO > RelativeUIParam.TEMPLETECHANGEDRATIO) { var DiListView = this.Context.Config.GetInstance("DiListView") as DiListView; if (null != DiListView) { rst = DiListView.CheckDiEditable(true); } } else { var DiBannerView = this.Context.Config.GetInstance("DiBannerView") as DiBannerView; if (null != DiBannerView) { rst = DiBannerView.CheckDiEditable(); } } if (rst) { if (GetEmsViewType() == EmsViewType.EmptyEmsViewType) { return(result); } result = GetEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE)); } break; // 处理保存医疗单成功时候的消息 case EventCodeType.EVENT_EMS_SAVESUCCESS: result = GetEmsView().OnEventHandle(sender, e); if (this.HasExpenseView()) { GetExpenseView().OnEventHandle(sender, e); } break; // 处理医疗单添加空白行消息 case EventCodeType.EVENT_EMS_APPEND: if (GetEmsViewType() == EmsViewType.EmptyEmsViewType) { return(result); } result = GetEmsView().OnEventHandle(sender, e); this.XTabPages[0].HasError = GetEmsView().HasErrors(); // 新增空行,医疗单的数据源内容改变,需要刷新费用页签 if (this.HasExpenseView()) { GetExpenseView().SetNeedRefresh(1); this.XTabPages[1].HasError = GetExpenseView().ExistErrors(); } break; case EventCodeType.EVENT_EMS_ORSRV_DATACHANGED: if (GetEmsViewType() == EmsViewType.EmptyEmsViewType) { return(result); } this.XTabPages[0].HasError = GetEmsView().HasErrors(); if (HasExpenseView()) { GetExpenseView().OnEventHandle(sender, e); this.XTabPages[1].HasError = GetExpenseView().ExistErrors(); } // 设置后台重算费用标志 GetEmsView().SetClearFeeSrv(true); // 删除费用项目 GetExpenseDatasource().ToList().ForEach(p => { GetExpenseDatasource().Delete(p, p.IsNEW); }); break; // 处理医疗单添加用血消息 case EventCodeType.EVENT_EMS_APBU_ADD: if (GetEmsViewType() == EmsViewType.EmptyEmsViewType) { return(result); } this.XTabPages[0].HasError = GetEmsView().HasErrors(); result = GetEmsView().OnEventHandle(sender, e); break; case EventCodeType.EVENT_EXPENSE_ADD: if (GetEmsViewType() == EmsViewType.EmptyEmsViewType) { return(result); } if (HasExpenseView()) { GetExpenseView().OnEventHandle(sender, e); this.XTabPages[1].HasError = GetExpenseView().ExistErrors(); } break; case EventCodeType.EVENT_EXPENSE_DELETE: if (GetEmsViewType() == EmsViewType.EmptyEmsViewType) { return(result); } if (HasExpenseView()) { GetExpenseView().OnEventHandle(sender, e); this.XTabPages[1].HasError = GetExpenseView().ExistErrors(); } break; case EventCodeType.EVENT_EXPENSE_DATACHANGED: result = GetEmsView().OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_CLOSE: GetEmsView().OnEventHandle(sender, e); this.UID = ""; this.XTabPages[0].HasError = false; if (HasExpenseView()) { this.XTabPages[1].HasError = false; GetExpenseView().OnEventHandle(sender, e); } break; default: result = GetEmsView().OnEventHandle(sender, e); break; } return(result); }
/// <summary> /// 事件状态处理方法 /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> public override bool OnEventHandle(object sender, DictionaryEventArgs e) { bool result = true; switch (AssToolEx.EventCodeOfEventArgs(e)) { /*执行新建医疗单操作*/ case EventCodeType.EVENT_EMS_CREATE: result = HandleCreateEms(AssToolEx.ObjectOfEventArgs(e, EmsCreatedParameter.TAGKEY) as EmsCreatedParameter, AssToolEx.ParameterOfEventArgs(e)); if (!result) { HandleCancelEmsEvent(); } break; /*执行编辑修改操作*/ case EventCodeType.EVENT_EMS_ORDER_EDIT: result = HandleEditOrder((AssToolEx.ObjectOfEventArgs(e, OrderEditParameter.TAGKEY) as OrderEditParameter).OrderItem); break; case EventCodeType.EVENT_EMS_DIRECT_EDIT: result = HandleEditEmsDTO((AssToolEx.ObjectOfEventArgs(e, EmsEditParameter.TAGKEY) as EmsEditParameter).EmsDTO); break; /*执行保存医疗单操作*/ case EventCodeType.EVENT_EMS_SAVE: result = HandleSaveEmsEvent(AssToolEx.ObjectOfEventArgs(e, "EmsOrDrugList")); break; /*执行保存医疗单操作*/ case EventCodeType.EVENT_EMS_SAVESUCCESS: result = HandleSaveSuccessEvent(); break; /*执行取消操作*/ case EventCodeType.EVENT_EMS_CLOSE: result = HandleCancelEmsEvent(); break; /*新增一行空数据*/ case EventCodeType.EVENT_EMS_APPEND: result = this.HandleAppendSrvEvent(); break; /*执行删除操作*/ case EventCodeType.EVENT_EMS_DELETE: result = HandleDeleteSrvEvent(); break; /*处理打开诊断对话框*/ case EventCodeType.EVENT_ORDI_EDIT: result = HandleOpenDIEvent(this, this.ent4BannerDTO); break; /*处理诊断证明*/ case EventCodeType.THIRD_EVENT_ORSRV_OPOD_OPEN: result = HandleProofOfDiagEvent(this.ent4BannerDTO); break; case EventCodeType.EVENT_ORDI_SAVESUCCE: HandleOrDiSaveSuccess(this.isFirstVisit, AssToolEx.ObjectOfEventArgs(e, "DIDTOLIST") as List <DIDTO>); break; case EventCodeType.EVENT_EMS_APBU_ADD: result = this.GetEmsView().OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_ENSTATUS_FIRST: this.isFirstVisit = true; break; case EventCodeType.EVENT_EMS_ENSTATUS_RETURN: this.isFirstVisit = false; break; case EventCodeType.EVENT_EMS_REFRESH: result = HandleFreshEvent(); break; case EventCodeType.EVENT_EXPENSE_DATACHANGED: result = this.GetEmsView().OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_DRUG_USAGE: result = this.GetEmsView().OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_CARDFOCUS: result = this.GetEmsView().OnEventHandle(sender, e); break; default: result = base.OnEventHandle(sender, e); break; } return(result); }
public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e) { if (this.GetModel() == null) { return(base.OnEventHandle(sender, e)); } bool result = true; switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.EVENT_EMS_SAVESUCCESS: if (this.model.GetTableDataSource() != null) { this.ClearContext(); isDirty = false; } break; case EventCodeType.EVENT_EXPENSE_ADD: if (this.model.GetTableDataSource() != null) { if (this.model.HasEmptyRow()) { this.SetStatusMsg("已经存在一条空行,请填写完整后再新增"); } else { this.model.AddRow(); isDirty = true; } } else { result = false; } break; case EventCodeType.EVENT_EXPENSE_DELETE: if (tableGridControl != null) { IEnumerable <EmsOrDrug> drugs = from row in tableGridControl.DataTable.SelectedRows select row.RowDataSource as EmsOrDrug; if (drugs.Count() == 0) { this.ShowInfo("请选择要删除的费用项目"); return(true); } drugs.ToList().ForEach(p => { this.model.DeleteRow(p); }); isDirty = true; } else { result = false; } break; case EventCodeType.EVENT_EMS_CLOSE: ClearContext(); break; case EventCodeType.EVENT_EMS_ORSRV_DATACHANGED: // 设置费用数据需要更新标志 this.SetNeedRefresh((int)EuRefreshState.NeedRefreshState); if (this.GetModel() != null) { this.GetModel().DeleteAllItems(); } //if (this.model != null && this.model.GetEmsSaveModel()!=null) //{ // this.model.GetEmsSaveModel().Fg_prisrvhandled = false; //} isDirty = false; break; } return(result &= base.OnEventHandle(sender, e)); }
/// <summary> /// 内部分发事件处理方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e) { bool bRet = true; switch (AssToolEx.EventCodeOfEventArgs(e)) { // 处理删除按钮和签署按钮发出的消息 case EventCodeType.EVENT_ACTION_ORDERDELETE: // UIEvent.DELETE://删除 case EventCodeType.EVENT_ACTION_ORDERSUBMIT: // "CiSubmit"://签署 case EventCodeType.EVENT_ACTION_REVETSUBMIT: if (!IsEmptyEms()) { // this.SentNotify(EventCodeType.NM_EMS_CLOSE); } break; case EventCodeType.EVENT_ACTION_HPTRANSFORMFILE: EventOpenMedReferralHandle(); break; // 切换到分方页签 case EventCodeType.EVENT_ORDLIST_SWITCH2PRESS: //切换到分方页面 case EventCodeType.EVENT_ORDLIST_SWITCH2FEEBILL: if (this.Visible) { orgSize = this.Size; this.Size = new System.Drawing.Size(this.Size.Width, 0); this.Visible = false; } break; // 切换到医嘱页面 case EventCodeType.EVENT_ORDLIST_SWITCH2ORDLIST: //切换到分方页面 if (!this.Visible) { this.Size = orgSize; this.Visible = true; } break; case EventCodeType.EVENT_EMS_TMPL_EDIT: // "ordertemplate": bRet = EventOrderTmplHandle(AssToolEx.ObjectOfEventArgs(e, "order") as MoreEmsParamDTO); break; // 处理创建医疗单消息 case EventCodeType.EVENT_EMS_CREATE: bRet = EventCreateMultiEmsHandle(AssToolEx.ObjectOfEventArgs(e, EmsCreatedParamList.TAGKEY) as EmsCreatedParamList); break; // 处理编辑医嘱消息 case EventCodeType.EVENT_EMS_ORDER_EDIT: // 处理多医疗单编辑逻辑 bRet = EventEditSingleOrderHandle(AssToolEx.ObjectOfEventArgs(e, OrderEditParamList.TAGKEY) as OrderEditParamList); break; // 处理删除医疗单消息 case EventCodeType.EVENT_EMS_DELETE: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); break; // 处理关闭医疗单消息 case EventCodeType.EVENT_EMS_CLOSE: bRet = this.EventCloseEmsHandle(this.GetSelectedEmsView()); break; // 处理保存医疗单消息 case EventCodeType.EVENT_EMS_SAVE: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_SAVESUCCESS: this.GetSelectedEmsView().OnEventHandle(sender, e); EventCloseEmsHandle(this.GetSelectedEmsView()); this.buttonGroupView.ShowEmsButtonGroup(this.GetSelectedEmsView().GetEmsViewType(), GetSelectedEmsView().AllowEdit()); GetSelectedEmsView().SetSelectDefault(); break; /*诊断保存成功消息事件*/ case EventCodeType.EVENT_ORDI_SAVESUCCE: case EventCodeType.EVENT_ORDI_CHECK: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); BaseEmsView.EmptyPatDIInfo = AssToolEx.CheckPatDiInfo(this.ent4BannerDTO); //重置医疗单上下文中的就诊上下文信息 resetCiEnContextDTOFromBaseEmsContext(); break; case EventCodeType.EVENT_EMS_ALLOW_EDIT: this.GetSelectedEmsView().SetEditEnable(true); bRet = buttonGroupView.OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_DISABLE_EDIT: this.GetSelectedEmsView().SetEditEnable(false); bRet = buttonGroupView.OnEventHandle(sender, e); break; case EventCodeType.EVENT_ORDLIST_DELETEORDER: AssToolEx.SentMessage(this, AssToolEx.ResetEventOfEventArgs(e, UIEvent.DELETE)); break; case EventCodeType.EVENT_EMS_ADD: if (!CheckNewEmsView()) { this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CLOSE)); } break; case EventCodeType.EVENT_EMS_SAVE_FOCUS: bRet = buttonGroupView.OnEventHandle(sender, e); break; //case EventCodeType.EVENT_EMS_CARDFOCUS: // AssToolEx.SentMessage(this, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CARDFOCUS)); // break; default: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); break; } return(bRet); }
/// <summary> /// 处理上层控件发出的消息通知 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> public override bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e) { bool result = true; // 费用保存消息,需要转发到医疗单容器中进行处理 switch (AssToolEx.EventCodeOfEventArgs(e)) { case EventCodeType.NM_EMS_CREATE: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CREATE)); break; case EventCodeType.NM_EMS_APPEND: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_APPEND)); break; case EventCodeType.NM_EMS_DELETE: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_DELETE)); break; case EventCodeType.NM_EMS_SAVE: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE)); break; case EventCodeType.NM_EMS_CLOSE: this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CLOSE)); break; case EventCodeType.NM_EMS_APBU_ADD: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_APBU_ADD)); break; case EventCodeType.NM_EMS_SAVESUCCESS: this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVESUCCESS)); break; // 费用通知 case EventCodeType.NM_EXPENSE_SAVE: if (!GetSelectedEmsView().GetExpenseView().ExistErrors()) { result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE)); } else { this.ShowInfo("费用中含有存在必填项目,请填写完整后在保存!"); } break; case EventCodeType.NM_EXPENSE_ADD: result = this.GetSelectedEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_ADD)); break; case EventCodeType.NM_EXPENSE_DELETE: result = this.GetSelectedEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_DELETE)); break; case EventCodeType.NM_EXPENSE_REFRESH: this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_REFRESH)); break; case EventCodeType.NM_UIMSG_DISABLE_EDIT: this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_DISABLE_EDIT)); break; case EventCodeType.NM_UIMSG_ALLOW_EDIT: this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_ALLOW_EDIT)); break; case EventCodeType.NM_ORDLIST_DELETEORDER: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_ORDLIST_DELETEORDER)); break; case EventCodeType.NM_EMS_SAVE_FOCUS: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE_FOCUS)); break; case EventCodeType.NM_EMS_CARDFOCUS: result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CARDFOCUS)); break; default: result = false; break; } return(result); }
public override void HandleState(object sender, DictionaryEventArgs e) { IMedreferralCrudService service = XapServiceMgr.find <IMedreferralCrudService>(); String eventCode = AssToolEx.EventCodeOfEventArgs(e); if (eventCode.Equals("MedReferralSaveAction")) { if (ViewModel.MedReferralDO.Dt_referralperiodbegin > ViewModel.MedReferralDO.Dt_referralperiodend) { EventDelegate.ShowInfo(OrdParam.MESSAGE_TIEMCHECK); return; } if ((ViewModel.MedReferralDO.Str_name_di != null && ViewModel.MedReferralDO.Str_name_di.Length > 300) || (ViewModel.MedReferralDO.Reason_referral != null && ViewModel.MedReferralDO.Reason_referral.Length > 300) || (ViewModel.MedReferralDO.Des_initialdiag != null && ViewModel.MedReferralDO.Des_initialdiag.Length > 300) || (ViewModel.MedReferralDO.Des_question != null && ViewModel.MedReferralDO.Des_question.Length > 300) || (ViewModel.MedReferralDO.Diagtreatment != null && ViewModel.MedReferralDO.Diagtreatment.Length > 300)) { EventDelegate.ShowInfo("填写内容超长!"); return; } if (String.IsNullOrWhiteSpace(ViewModel.MedReferralDO.Str_name_di) || String.IsNullOrWhiteSpace(ViewModel.MedReferralDO.Reason_referral) || String.IsNullOrWhiteSpace(ViewModel.MedReferralDO.Name_org_referral2)) { EventDelegate.ShowInfo("请填写必填项!"); return; } dataSource = service.save(new MedReferralDO[] { ViewModel.GetFormDataSource() as MedReferralDO })[0]; if (null != dataSource) { LogicEx.GetInstance().CopyTo <MedReferralDO>(dataSource, ViewModel.MedReferralDO); EventDelegate.SetStatusMsg("医保转诊单保存成功。"); } else { EventDelegate.ShowInfo("医保转诊单保存失败。"); } } else if (eventCode.Equals("MedReferralPrintAction")) { if (ViewModel.MedReferralDO == null || ViewModel.MedReferralDO.Id_medreferral == null) { return; } bool res = false; string strFile = "iih_report/461010_menzhenyishengzhan/YBZZD.xml"; Dictionary <string, string> qryParams = new Dictionary <string, string>(); qryParams.Add("$id_medreferral", ViewModel.MedReferralDO.Id_medreferral); res = this.rpt_viewer.PrintRptFile(strFile, qryParams, true); if (res) { ViewModel.MedReferralDO.Times_print += 1; ViewModel.MedReferralDO.Status = DOStatus.UPDATED; dataSource = service.save(new MedReferralDO[] { ViewModel.MedReferralDO })[0]; eventPrint(null, null); } } }