Exemplo n.º 1
0
        /// <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;
            }
        }
Exemplo n.º 2
0
        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);
            }
        }