/// <summary> /// 执行btn本地事件 /// </summary> /// <param name="func"></param> /// <param name="btn"></param> public void Do(BP.WF.Func func, RibbonButton btn) { switch (func.No) { case "LogOut": if (MessageBox.Show("您确定要注销吗?", "执行确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } WebUser.SignOut(); this.SetState(); break; case "Login": FrmLogin fl = new FrmLogin(); fl.ShowDialog(); this.SetState(); break; case "ChUser": FrmLogin fm = new FrmLogin(); fm.ShowDialog(); break; case "WKInfo": string msg = "\t\n No=" + WebUser.No; msg += "\t\n FK_Flow=" + WebUser.FK_Flow; msg += "\t\n FK_Node=" + WebUser.FK_Node; msg += "\t\n WorkID=" + WebUser.WorkID; MessageBox.Show(msg); break; case "About": AboutBox ab = new AboutBox(); ab.ShowDialog(); break; case "Save": this.DoSave(); break; case "SaveTo": default: MessageBox.Show("功能未实现:" + func.No + " " + func.Name); break; } }
void Btn_Click(object sender, RibbonControlEventArgs e) { try { RibbonButton btn = (RibbonButton)sender; BP.WF.Func func = (BP.WF.Func)btn.Tag; switch (func.DoType) { case "RunExe": System.Diagnostics.Process.Start(func.Tag); return; case "RunIE": switch (func.No) { case "Send": //要执行签发. if (WebUser.FK_Flow == null) { MessageBox.Show("您没有执行公文拟稿的过程不能签发。"); return; } if (WebUser.WorkID == 0) { Work wk = new Work(); wk.FK_Dept = WebUser.FK_Dept; wk.Title = "公文拟稿-" + DateTime.Now.ToString("MM月dd日hh时mm分"); wk.NodeID = WebUser.FK_Node; wk.RDT = DateTime.Now.ToString("yyyy-MM-dd"); wk.Rec = WebUser.No; wk.Insert(); WebUser.WorkID = wk.OID; } else { /*判断是否已经处理了。*/ WebUser.HisWork = new Work(WebUser.FK_Node, WebUser.WorkID); switch (WebUser.HisWork.HisNodeState) { case NodeState.Init: case NodeState.Back: break; default: MessageBox.Show("工作已经转入了下一个环节,您不能在处理了。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question); return; } } break; case "Return": break; case "UnSend": if (MessageBox.Show("您确定要撤消发送吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } break; case "Del": if (MessageBox.Show("您确定要执行删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } break; default: break; } FrmIE ie = new FrmIE(); ie.Width = func.Width; ie.Height = func.Height; string tag = func.Tag; tag = tag.Replace("@Serv", BP.WF.Glo.WFServ); ie.ShowUrl(tag + "&UserNo=" + WebUser.No + "&FK_Flow=" + BP.Port.WebUser.FK_Flow + "&FK_Node=" + WebUser.FK_Node + "&WorkID=" + WebUser.WorkID); ie.Text = "您好:" + WebUser.No + "," + WebUser.Name + "。 - " + func.Name; ie.ShowInTaskbar = false; ie.HisRibbon1 = this; ie.ShowDialog(); this.SetState(); return; default: try { this.Do(func, btn); } catch (Exception ex) { MessageBox.Show("执行" + func.Name + "出现错误。" + ex.Message); } break; } this.SetState(); } catch (Exception ex) { SetState(); MessageBox.Show(ex.Message); } }