Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            this.ur           = new UserRegedit(WebUser.No, this.RptNo + "_D3");
            this.currMapAttrs = new MapAttrs(this.RptNo);
            this.currEn       = this.HisEns.GetNewEntity;

            #region 处理查询权限
            // this.Page.RegisterClientScriptBlock("sss",
            //"<link href='/WF/Comm/Style/Table" + BP.Web.WebUser.Style + ".css' rel='stylesheet' type='text/css' />");

            currMapRpt = new BP.WF.Rpt.MapRpt(this.RptNo);
            Entity en = this.HisEns.GetNewEntity;
            Flow   fl = new Flow(this.currMapRpt.FK_Flow);

            //初始化查询工具栏.
            this.ToolBar1.InitToolbarOfMapRpt(fl, currMapRpt, this.RptNo, en, 1);
            this.ToolBar1.AddLinkBtn(BP.Web.Controls.NamesOfBtn.Export);

            //增加转到.
            this.ToolBar1.Add("&nbsp;");
            DDL ddl = new DDL();
            ddl.ID = "GoTo";
            ddl.Items.Add(new ListItem("查询", "Search"));
            //   ddl.Items.Add(new ListItem("高级查询", "SearchAdv"));
            ddl.Items.Add(new ListItem("分组分析", "Group"));
            ddl.Items.Add(new ListItem("交叉报表", "D3"));
            ddl.Items.Add(new ListItem("对比分析", "Contrast"));
            ddl.SetSelectItem(this.PageID);
            this.ToolBar1.AddDDL(ddl);
            ddl.AutoPostBack          = true;
            ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged_GoTo);

            this.ToolBar1.GetLinkBtnByID(NamesOfBtn.Search).Click += new System.EventHandler(this.ToolBar1_ButtonClick);
            this.ToolBar1.GetLinkBtnByID(NamesOfBtn.Export).Click += new System.EventHandler(this.ToolBar1_ButtonClick);
            #endregion 处理查询权限

            //处理left.
            this.InitLeft();

            if (this.IsPostBack == false)
            {
                this.BindDG();
            }
        }
        public void InitToolbarOfMapRpt(BP.WF.Flow fl, BP.WF.Rpt.MapRpt currMapRpt, string RptNo, Entity en, int pageidx)
        {
            Map map = en.EnMap;

            this.InitByMapV2(map, 1, RptNo);

            //特殊处理权限.
            AttrSearchs searchs = map.SearchAttrs;
            string      defVal  = "";

            System.Data.DataTable dt = null;
            foreach (AttrSearch attr in searchs)
            {
                DDL mydll = this.GetDDLByKey("DDL_" + attr.Key);
                if (mydll == null)
                {
                    continue;
                }
                defVal = mydll.SelectedItemStringVal;
                mydll.Attributes["onchange"] = "DDL_mvals_OnChange(this,'" + RptNo + "','" + attr.Key + "')";

                switch (attr.HisAttr.Key)
                {
                case "FK_NY":
                    dt = DBAccess.RunSQLReturnTable("SELECT DISTINCT FK_NY FROM " + currMapRpt.PTable + " WHERE FK_NY!='' ORDER BY FK_NY");
                    mydll.Items.Clear();
                    mydll.Items.Add(new ListItem("=>月份", "all"));
                    foreach (DataRow dr in dt.Rows)
                    {
                        mydll.Items.Add(new ListItem(dr[0].ToString(), dr[0].ToString()));
                    }
                    mydll.SetSelectItem(defVal);
                    break;

                case "FlowStarter":
                case "FlowEnder":
                    string sql = "";
                    switch (fl.HisFlowDeptDataRightCtrlType)
                    {
                    case FlowDeptDataRightCtrlType.MyDeptOnly:         // 我的部门.
                        sql = "SELECT No,Name FROM WF_Emp WHERE FK_Dept='" + WebUser.FK_Dept + "' AND No IN (SELECT DISTINCT FlowStarter FROM " + currMapRpt.PTable + " WHERE FlowStarter!='')";
                        break;

                    case FlowDeptDataRightCtrlType.MyDeptAndBeloneToMyDeptOnly:         //我的部门,或者隶属我部门下面的部门.
#warning 这里有错误,怎么递归循环出来?
                        sql = "SELECT No,Name FROM WF_Emp WHERE FK_Dept IN (SELECT FK_Dept FROM  WF_DeptFlowSearch WHERE FK_Emp='" + WebUser.No + "'  AND FK_Flow='" + currMapRpt.FK_Flow + "') AND No IN (SELECT DISTINCT FlowStarter FROM " + currMapRpt.PTable + " WHERE FlowStarter!='')";
                        break;

                    case FlowDeptDataRightCtrlType.BySpecFlowDept:         // 指定权限.
                        sql = "SELECT No,Name FROM WF_Emp WHERE FK_Dept IN (SELECT FK_Dept FROM  WF_DeptFlowSearch WHERE FK_Emp='" + WebUser.No + "'  AND FK_Flow='" + currMapRpt.FK_Flow + "') AND No IN (SELECT DISTINCT FlowStarter FROM " + currMapRpt.PTable + " WHERE FlowStarter!='')";
                        break;

                    case FlowDeptDataRightCtrlType.AnyoneAndAnydept:          // 任何部门.
                        sql = "SELECT No,Name FROM WF_Emp WHERE No IN (SELECT DISTINCT FlowStarter FROM " + currMapRpt.PTable + " WHERE FlowStarter!='')";
                        break;

                    default:
                        break;
                    }
                    dt = DBAccess.RunSQLReturnTable(sql);

                    mydll.Items.Clear();
                    if (attr.Key == NDXRptBaseAttr.FlowStarter)
                    {
                        mydll.Items.Add(new ListItem("=>发起人", "all"));
                    }
                    else
                    {
                        mydll.Items.Add(new ListItem("=>结束人", "all"));
                    }

                    foreach (DataRow dr in dt.Rows)
                    {
                        mydll.Items.Add(new ListItem(dr[1].ToString(), dr[0].ToString()));
                    }
                    mydll.SetSelectItem(defVal);
                    mydll.Attributes["onchange"] = "DDL_mvals_OnChange(this,'" + RptNo + "','" + attr.Key + "')";
                    break;

                case "FK_Dept":
                    if (WebUser.No != "admin")
                    {
                        dt = DBAccess.RunSQLReturnTable("SELECT No,Name FROM Port_Dept WHERE No IN (SELECT FK_Dept FROM  WF_DeptFlowSearch WHERE FK_Emp='" + WebUser.No + "' AND FK_Flow='" + currMapRpt.FK_Flow + "')");
                        if (dt.Rows.Count == 0)
                        {
                            BP.WF.Port.DeptFlowSearch dfs = new BP.WF.Port.DeptFlowSearch();
                            dfs.FK_Dept = WebUser.FK_Dept;
                            dfs.FK_Emp  = WebUser.No;
                            dfs.FK_Flow = currMapRpt.FK_Flow;
                            dfs.MyPK    = WebUser.FK_Dept + "_" + WebUser.No + "_" + currMapRpt.FK_Flow;
                            dfs.Insert();
                            dt = DBAccess.RunSQLReturnTable("SELECT No,Name FROM Port_Dept WHERE No IN (SELECT FK_Dept FROM  WF_DeptFlowSearch WHERE FK_Emp='" + WebUser.No + "' AND FK_Flow='" + currMapRpt.FK_Flow + "')");
                        }
                        mydll.Items.Clear();
                        foreach (DataRow dr in dt.Rows)
                        {
                            mydll.Items.Add(new ListItem(dr[1].ToString(), dr[0].ToString()));
                        }
                    }

                    if (mydll.Items.Count >= 2)
                    {
                        ListItem liMvals = new ListItem("*多项组合..", "mvals");
                        liMvals.Attributes.CssStyle.Add("style", "color:green");
                        liMvals.Attributes.Add("color", "green");
                        liMvals.Attributes.Add("style", "color:green");
                    }
                    mydll.SetSelectItem(defVal);
                    break;

                default:
                    break;
                }
            }
        }
Beispiel #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            #region 处理活动.
            switch (this.Request.QueryString["ActionType"])
            {
            case "Left":
                MapAttr attr = new MapAttr(this.FK_MapAttr);
                attr.DoUp();
                break;

            case "Right":
                MapAttr attrR = new MapAttr(this.FK_MapAttr);
                attrR.DoDown();
                break;

            default:
                break;
            }
            #endregion 处理活动.


            BP.WF.Rpt.MapRpt mrpt  = new BP.WF.Rpt.MapRpt(RptNo);
            BP.Sys.MapAttrs  attrs = new BP.Sys.MapAttrs(this.RptNo);

            this.Pub2.AddTable("class='Table' border='1' cellspacing='0' cellpadding='0' style='width:100%'");

            this.Pub2.AddTR();
            this.Pub2.AddTDGroupTitle("style='text-align:center;width:50px'", "序");
            this.Pub2.AddTDGroupTitle("字段");
            this.Pub2.AddTDGroupTitle("标签");
            this.Pub2.AddTDGroupTitle("显示顺序号");
            this.Pub2.AddTDGroupTitle("style='text-align:center;width:100px'", "调整");
            this.Pub2.AddTREnd();

            int    idx  = 0;
            string tKey = DateTime.Now.ToString("HHmmss");
            foreach (BP.Sys.MapAttr mattr in attrs)
            {
                switch (mattr.KeyOfEn)
                {
                case BP.WF.Data.NDXRptBaseAttr.Title:
                case BP.WF.Data.NDXRptBaseAttr.OID:
                case BP.WF.Data.NDXRptBaseAttr.MyNum:
                    continue;

                default:
                    break;
                }

                idx++;
                this.Pub2.AddTR();
                this.Pub2.AddTDIdx(idx);
                this.Pub2.AddTD(mattr.KeyOfEn);
                TextBox tb = new TextBox();
                tb.Text = mattr.Name;
                tb.ID   = "TB_" + mattr.KeyOfEn;
                this.Pub2.AddTD(tb);

                tb      = new TextBox();
                tb.ID   = "TB_" + mattr.KeyOfEn + "_Idx";
                tb.Text = idx.ToString();
                //tb.ReadOnly = true;
                this.Pub2.AddTD(tb);

                //顺序.
                this.Pub2.AddTDBegin("style='text-align:center'");
                this.Pub2.Add("<a href='javascript:void(0)' onclick='up(this, 3)' class='easyui-linkbutton' data-options=\"iconCls:'icon-up'\"></a>&nbsp;");
                this.Pub2.Add("<a href='javascript:void(0)' onclick='down(this, 3)' class='easyui-linkbutton' data-options=\"iconCls:'icon-down'\"></a>");

                this.Pub2.AddTDEnd();
                this.Pub2.AddTREnd();
            }

            this.Pub2.AddTableEnd();
        }