/// <summary>
        /// 退出系统
        /// </summary>
        /// <param name="context"></param>
        public void Logout(HttpContext context)
        {
            //修改登录状态
            if (context.Session["user_id"] != null)
            {
                Model.T_User t_user = bll_user.GetModel(Convert.ToInt32(context.Session["user_id"]));
                t_user.isOnline = 0;
                bll_user.Update(t_user);
            }

            context.Session["user_name"] = "";
            context.Session["user_id"]   = "";



            //清空session
            //context.Session.Clear();

            message.flag = true;
            message.msg  = "成功退出系统!";
            message.msg  = context.Session["user_id"].ToString();
            context.Response.Write(JsonHelper.Object2Json <Message>(message));
        }
        private void Query(HttpContext context)
        {
            string name, year, administratorArea, isDeleted, isSubmited, batchTypeId, planTypeId, startTime, endTime, order, sort, oderby;

            //===============================================================
            //获取查询条件:【用户名,开始时间,结束时间】
            name = year = administratorArea = isDeleted = isSubmited = batchTypeId = planTypeId = startTime = endTime = order = sort = oderby = "";

            //获取前台传来的值
            if (null != context.Request.QueryString["batchTypeId"])
            {
                batchTypeId = context.Request.QueryString["batchTypeId"].ToString().Trim();
            }
            if (null != context.Request.QueryString["name"])
            {
                name = context.Request.QueryString["name"].ToString().Trim();
            }
            if (null != context.Request.QueryString["year"])
            {
                year = context.Request.QueryString["year"].ToString().Trim();
            }
            if (null != context.Request.QueryString["administratorArea"])
            {
                administratorArea = context.Request.QueryString["administratorArea"].ToString().Trim();
            }
            if (null != context.Request.QueryString["isDeleted"])
            {
                isDeleted = context.Request.QueryString["isDeleted"].ToString().Trim();
            }
            if (null != context.Request.QueryString["isSubmited"])
            {
                isSubmited = context.Request.QueryString["isSubmited"].ToString().Trim();
            }
            if (null != context.Request.QueryString["planTypeId"])
            {
                planTypeId = context.Request.QueryString["planTypeId"].ToString().Trim();
            }
            if (null != context.Request.QueryString["startTime"])
            {
                startTime = context.Request.QueryString["startTime"].ToString().Trim();
            }
            if (null != context.Request.QueryString["endTime"])
            {
                endTime = context.Request.QueryString["endTime"].ToString().Trim();
            }

            //================================================================
            //获取分页和排序信息:页大小,页码,排序方式,排序字段
            int pageRows, page;

            pageRows = 10;
            page     = 1;

            if (null != context.Request.QueryString["rows"])
            {
                pageRows = int.Parse(context.Request.QueryString["rows"].ToString().Trim());
            }
            if (null != context.Request.QueryString["page"])
            {
                page = int.Parse(context.Request.QueryString["page"].ToString().Trim());
            }
            if (null != context.Request.QueryString["sort"])
            {
                order = context.Request.QueryString["sort"].ToString().Trim();
            }
            if (null != context.Request.QueryString["order"])
            {
                sort = context.Request.QueryString["order"].ToString().Trim();
            }

            //===================================================================
            //组合查询语句:条件+排序
            StringBuilder strWhere = new StringBuilder();

            strWhere.Append(" 1=1 and");
            if (name != "")
            {
                strWhere.AppendFormat(" name like '%{0}%' and ", name);
            }
            if (isSubmited != "")
            {
                strWhere.AppendFormat(" isSubmited = '{0}' and ", isSubmited);
            }
            if (year != "" && year != "0")
            {
                strWhere.AppendFormat(" year = '{0}' and ", year);
            }
            if (administratorArea != "")
            {
                strWhere.AppendFormat(" administratorArea = '{0}' and ", administratorArea);
            }
            if (planTypeId != "" && planTypeId != "0")
            {
                strWhere.AppendFormat(" planTypeId = '{0}' and ", planTypeId);
            }
            if (isDeleted != "" && isDeleted != "-1")
            {
                strWhere.AppendFormat(" isDeleted = '{0}' and ", isDeleted);
            }

            if (batchTypeId != "")   //获取该批次应该获取哪几种类型的计划
            {
                string planTypeIds = "";
                if (batchTypeId == "1" || batchTypeId == "2")
                {
                    planTypeIds = "1,2,3,4";
                }
                else if (batchTypeId == "3")
                {                      //独立选址批次
                    planTypeIds = "5"; //
                }
                else if (batchTypeId == "4")
                {//增减挂钩批次
                    planTypeIds = "6";
                }

                if (batchTypeId != "")
                {
                    strWhere.AppendFormat(" planTypeId in ({0}) and ", planTypeIds);
                }
            }

            if (startTime != "")
            {
                strWhere.AppendFormat(" create_time >= '{0}' and ", startTime);
            }
            if (endTime != "")
            {
                strWhere.AppendFormat(" create_time <= '{0}' and ", endTime);
            }

            //删除多余的and
            int startindex = strWhere.ToString().LastIndexOf("and");//获取最后一个and的位置

            if (startindex >= 0)
            {
                strWhere.Remove(startindex, 3);//删除多余的and关键字
            }
            if (sort != "" && order != "")
            {
                //strWhere.AppendFormat(" order by {0} {1}", sort, order);//添加排序
                oderby = order + " " + sort;
            }

            //调用分页的GetList方法
            DataSet ds = bll_plan.GetListByPage(strWhere.ToString(), oderby, (page - 1) * pageRows + 1, page * pageRows);

            //插入其他字段,行政区administratorArea、计划类型planTypeName、创建人createUserName
            ds.Tables[0].Columns.Add("administratorAreaName", typeof(System.String));
            ds.Tables[0].Columns.Add("planTypeName", typeof(System.String));
            ds.Tables[0].Columns.Add("createUserName", typeof(System.String));
            ds.Tables[0].Columns.Add("isUsed", typeof(System.String));

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                int administratorAreaId = 0;
                int planTypeId1         = 0;
                int userId = 0;

                if (utils.BusinessHelper.IsPlanHasUsed(Convert.ToInt32(dr["id"])))
                {
                    dr["isUsed"] = true;
                }
                else
                {
                    dr["isUsed"] = false;
                }

                if (dr["administratorArea"].ToString() != "" && dr["administratorArea"] != null)
                {
                    administratorAreaId = Convert.ToInt32(dr["administratorArea"].ToString());
                }
                if (dr["planTypeId"].ToString() != "" && dr["planTypeId"] != null)
                {
                    planTypeId1 = Convert.ToInt32(dr["planTypeId"].ToString());
                }
                if (dr["userId"].ToString() != "" && dr["userId"] != null)
                {
                    userId = Convert.ToInt32(dr["userId"].ToString());
                }

                Model.T_AdministratorArea t_administrator_area = bll_administrator_area.GetModel(administratorAreaId);
                if (t_administrator_area != null)
                {
                    dr["administratorAreaName"] = t_administrator_area.name;
                }
                else
                {
                    dr["administratorAreaName"] = "";
                }

                Model.T_PlanType t_plan_type = bll_plan_type.GetModel(planTypeId1);
                if (t_plan_type != null)
                {
                    dr["planTypeName"] = t_plan_type.name;
                }
                else
                {
                    dr["planTypeName"] = "";
                }

                Model.T_User t_user = bll_user.GetModel(userId);
                if (t_user != null)
                {
                    dr["createUserName"] = t_user.name;
                }
                else
                {
                    dr["createUserName"] = "";
                }
            }

            int    count   = bll_plan.GetRecordCount(strWhere.ToString()); //获取条数
            string strJson = JsonHelper.Dataset2Json(ds, count);           //DataSet数据转化为Json数据

            context.Response.Write(strJson);                               //返回给前台页面
        }
        private void Query(HttpContext context)
        {
            string batchTypeId, name, year, administratorArea, isSubmited, isDeleted, typeId, startTime, endTime, order, sort, oderby;

            //===============================================================
            //获取查询条件:【用户名,开始时间,结束时间】
            batchTypeId = name = year = administratorArea = isDeleted = typeId = isSubmited = startTime = endTime = order = sort = oderby = "";

            //获取前台传来的值
            if (null != context.Request.QueryString["batchTypeId"])
            {
                batchTypeId = context.Request.QueryString["batchTypeId"].ToString().Trim();
            }
            if (null != context.Request.QueryString["name"])
            {
                name = context.Request.QueryString["name"].ToString().Trim();
            }
            if (null != context.Request.QueryString["year"])
            {
                year = context.Request.QueryString["year"].ToString().Trim();
            }
            if (null != context.Request.QueryString["administratorArea"])
            {
                administratorArea = context.Request.QueryString["administratorArea"].ToString().Trim();
            }
            if (null != context.Request.QueryString["isSubmited"])
            {
                isSubmited = context.Request.QueryString["isSubmited"].ToString().Trim();
            }
            if (null != context.Request.QueryString["isDeleted"])
            {
                isDeleted = context.Request.QueryString["isDeleted"].ToString().Trim();
            }
            if (null != context.Request.QueryString["typeId"])
            {
                typeId = context.Request.QueryString["typeId"].ToString().Trim();
            }
            if (null != context.Request.QueryString["startTime"])
            {
                startTime = context.Request.QueryString["startTime"].ToString().Trim();
            }
            if (null != context.Request.QueryString["endTime"])
            {
                endTime = context.Request.QueryString["endTime"].ToString().Trim();
            }

            //================================================================
            //获取分页和排序信息:页大小,页码,排序方式,排序字段
            int pageRows, page;

            pageRows = 10;
            page     = 1;

            if (null != context.Request.QueryString["rows"])
            {
                pageRows = int.Parse(context.Request.QueryString["rows"].ToString().Trim());
            }
            if (null != context.Request.QueryString["page"])
            {
                page = int.Parse(context.Request.QueryString["page"].ToString().Trim());
            }
            if (null != context.Request.QueryString["sort"])
            {
                order = context.Request.QueryString["sort"].ToString().Trim();
            }
            if (null != context.Request.QueryString["order"])
            {
                sort = context.Request.QueryString["order"].ToString().Trim();
            }

            //===================================================================
            //组合查询语句:条件+排序
            StringBuilder strWhere = new StringBuilder();

            strWhere.Append(" 1=1 and");
            if (name != "")
            {
                strWhere.AppendFormat(" name like '%{0}%' and ", name);
            }

            if (year != "")
            {
                strWhere.AppendFormat(" year = '{0}' and ", year);
            }
            if (administratorArea != "")
            {
                strWhere.AppendFormat(" administratorArea = '{0}' and ", administratorArea);
            }
            if (isSubmited != "")
            {
                strWhere.AppendFormat(" isSubmited = '{0}' and ", isSubmited);
            }
            if (isDeleted != "" && isDeleted != "-1")
            {
                strWhere.AppendFormat(" isDeleted = '{0}' and ", isDeleted);
            }
            if (typeId != "")
            {
                strWhere.AppendFormat(" typeId = '{0}' and ", typeId);
            }

            if (startTime != "")
            {
                strWhere.AppendFormat(" create_time >= '{0}' and ", startTime);
            }
            if (endTime != "")
            {
                strWhere.AppendFormat(" create_time <= '{0}' and ", endTime);
            }

            if (batchTypeId != "")
            {                                                                       //获取该批次应该获取哪几种类型的计划
                string dsTypeIds = "";
                if (batchTypeId == "1" || batchTypeId == "2" || batchTypeId == "3") //可以添加土地复垦、异地购买
                {
                    dsTypeIds = "1,2";
                }
                else if (batchTypeId == "4") //只能添加增减挂钩拆旧
                {                            //增减挂钩批次
                    dsTypeIds = "3";
                }

                if (batchTypeId != "")
                {
                    strWhere.AppendFormat(" typeId in ({0}) and ", dsTypeIds);
                }
            }

            //删除多余的and
            int startindex = strWhere.ToString().LastIndexOf("and");//获取最后一个and的位置

            if (startindex >= 0)
            {
                strWhere.Remove(startindex, 3);//删除多余的and关键字
            }
            if (sort != "" && order != "")
            {
                //strWhere.AppendFormat(" order by {0} {1}", sort, order);//添加排序
                oderby = order + " " + sort;
            }

            //调用分页的GetList方法
            DataSet ds = bll_demand_supply_balance.GetListByPage(strWhere.ToString(), oderby, (page - 1) * pageRows + 1, page * pageRows);

            //插入其他字段,行政区administratorArea、计划类型planTypeName、创建人createUserName
            ds.Tables[0].Columns.Add("administratorAreaName", typeof(System.String));
            ds.Tables[0].Columns.Add("typeName", typeof(System.String));
            ds.Tables[0].Columns.Add("createUserName", typeof(System.String));

            ds.Tables[0].Columns.Add("usedAgriArea", typeof(System.String));
            ds.Tables[0].Columns.Add("remainAgriArea", typeof(System.String));
            ds.Tables[0].Columns.Add("usedArabArea", typeof(System.String));
            ds.Tables[0].Columns.Add("remainArabArea", typeof(System.String));
            ds.Tables[0].Columns.Add("isUsed", typeof(System.String));

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                int     administratorAreaId       = 0;
                int     demandSupplyBalanceTypeId = 0;
                decimal usedAgriArea = 0;
                decimal usedArabArea = 0;
                int     userId       = 0;

                if (utils.BusinessHelper.IsBalanceHasUsed(Convert.ToInt32(dr["id"])))
                {
                    dr["isUsed"] = true;
                }
                else
                {
                    dr["isUsed"] = false;
                }

                List <Model.T_Batch_Demand_Supply_Balance> list_batch_balance = bll_batch_balance.GetModelList(" dsBalanceId = " + dr["id"].ToString());
                if (list_batch_balance.Count > 0)
                {
                    foreach (Model.T_Batch_Demand_Supply_Balance t_batch_balance in list_batch_balance)
                    {
                        usedAgriArea += (decimal)t_batch_balance.agriArea;
                        usedArabArea += (decimal)t_batch_balance.arabArea;
                    }
                    dr["usedAgriArea"]   = usedAgriArea;
                    dr["remainAgriArea"] = Convert.ToDecimal(dr["agriArea"]) - usedAgriArea;

                    dr["usedArabArea"]   = usedArabArea;
                    dr["remainArabArea"] = Convert.ToDecimal(dr["arabArea"]) - usedArabArea;
                }
                else
                {
                    dr["usedAgriArea"]   = 0;
                    dr["remainAgriArea"] = Convert.ToDecimal(dr["agriArea"]);
                    dr["usedArabArea"]   = 0;
                    dr["remainArabArea"] = Convert.ToDecimal(dr["arabArea"]);
                }


                if (dr["administratorArea"].ToString() != "" && dr["administratorArea"] != null)
                {
                    administratorAreaId = Convert.ToInt32(dr["administratorArea"].ToString());
                }
                if (dr["typeId"].ToString() != "" && dr["typeId"] != null)
                {
                    demandSupplyBalanceTypeId = Convert.ToInt32(dr["typeId"].ToString());
                }
                if (dr["userId"].ToString() != "" && dr["userId"] != null)
                {
                    userId = Convert.ToInt32(dr["userId"].ToString());
                }

                Model.T_AdministratorArea t_administrator_area = bll_administrator_area.GetModel(administratorAreaId);
                if (t_administrator_area != null)
                {
                    dr["administratorAreaName"] = t_administrator_area.name;
                }
                else
                {
                    dr["administratorAreaName"] = "";
                }

                Model.T_DemandSupplyBalanceType t_demand_supply_balance_type = bll_demand_supplay_balance_type.GetModel(demandSupplyBalanceTypeId);
                if (t_demand_supply_balance_type != null)
                {
                    dr["typeName"] = t_demand_supply_balance_type.name;
                }
                else
                {
                    dr["typeName"] = "";
                }

                Model.T_User t_user = bll_user.GetModel(userId);
                if (t_user != null)
                {
                    dr["createUserName"] = t_user.name;
                }
                else
                {
                    dr["createUserName"] = "";
                }
            }

            int    count   = bll_demand_supply_balance.GetRecordCount(strWhere.ToString()); //获取条数
            string strJson = JsonHelper.Dataset2Json(ds, count);                            //DataSet数据转化为Json数据

            context.Response.Write(strJson);                                                //返回给前台页面
        }
        private void AddOrModify(HttpContext context)
        {
            //===============================================================
            //获取字段:【用户name】
            string id, id_role, name, birthday, telephone, address, create_time, remarks, password;

            id = id_role = name = birthday = telephone = address = create_time = remarks = password = "";
            //获取前台传来的值

            if (null != context.Request.QueryString["id"])
            {
                id = context.Request.QueryString["id"].ToString().Trim();
            }
            if (null != context.Request.QueryString["id_role"])
            {
                id_role = context.Request.QueryString["id_role"].ToString().Trim();
            }
            if (null != context.Request.QueryString["name"])
            {
                name = context.Request.QueryString["name"].ToString().Trim();
            }
            if (null != context.Request.QueryString["birthday"])
            {
                birthday = context.Request.QueryString["birthday"].ToString().Trim();
            }
            if (null != context.Request.QueryString["telephone"])
            {
                telephone = context.Request.QueryString["telephone"].ToString().Trim();
            }
            if (null != context.Request.QueryString["address"])
            {
                address = context.Request.QueryString["address"].ToString().Trim();
            }
            if (null != context.Request.QueryString["password"])
            {
                password = context.Request.QueryString["password"].ToString().Trim();
            }
            if (null != context.Request.QueryString["create_time"])
            {
                create_time = context.Request.QueryString["create_time"].ToString().Trim();
            }
            if (null != context.Request.QueryString["remarks"])
            {
                remarks = context.Request.QueryString["remarks"].ToString().Trim();
            }


            //获取角色信息
            T_Role t_role = new T_Role();

            if (id_role != "")
            {
                t_role = bll_role.GetModel(Convert.ToInt32(id_role));
            }

            Model.T_User t_user = new Model.T_User();
            if (method == "add")
            {
                //检查用户名是否已经存在
                DataSet ds = bll_user.GetList(" name='" + name + "'");

                if (ds.Tables[0].Rows.Count > 0)
                {
                    message.flag = false;
                    message.msg  = "用户名已经存在";
                }
                else
                {
                    t_user.name     = name;
                    t_user.password = Util.GetMD5(password);
                    if (birthday != "")
                    {
                        t_user.birthday = Convert.ToDateTime(birthday);
                    }
                    t_user.telephone   = telephone;
                    t_user.address     = address;
                    t_user.create_time = DateTime.Now;
                    t_user.remarks     = remarks;

                    int n = bll_user.Add(t_user);

                    //插入用户角色信息
                    Model.T_User_Role t_user_role = new T_User_Role();
                    if (id_role != "")
                    {
                        t_user_role.id_role = Convert.ToInt32(id_role);
                    }

                    t_user_role.id_user = n;
                    bll_user_role.Add(t_user_role);

                    if (n > 0)
                    {
                        message.flag = true;
                        message.msg  = "添加成功";
                    }
                    else
                    {
                        message.flag = false;
                        message.msg  = "添加失败";
                    }
                }
            }
            else
            {
                t_user = bll_user.GetModel(Convert.ToInt32(id));

                //检查用户名是否已经存在
                DataSet ds = bll_user.GetList(" name='" + name + "' and id != " + id);

                if (ds.Tables[0].Rows.Count > 0)
                {
                    message.flag = false;
                    message.msg  = "用户名已经存在";
                }
                else
                {
                    t_user.name     = name;
                    t_user.password = Util.GetMD5(password);
                    if (birthday != "")
                    {
                        t_user.birthday = Convert.ToDateTime(birthday);
                    }
                    t_user.telephone   = telephone;
                    t_user.address     = address;
                    t_user.create_time = DateTime.Now;
                    t_user.remarks     = remarks;

                    bool flag = bll_user.Update(t_user);

                    //删除旧的在插入新的
                    bll_user_role.DeleteByWhere(" id_user = "******"")
                    {
                        t_user_role.id_role = Convert.ToInt32(id_role);
                    }

                    t_user_role.id_user = Convert.ToInt32(id);
                    bll_user_role.Add(t_user_role);

                    if (flag)
                    {
                        message.flag = true;
                        message.msg  = "修改成功";
                    }
                    else
                    {
                        message.flag = false;
                        message.msg  = "修改失败";
                    }
                }
            }

            String jsonString = JsonHelper.Object2Json <Message>(message);

            context.Response.Write(jsonString);
        }
示例#5
0
        private void Query(HttpContext context)
        {
            string name, year, administratorArea, startTime, endTime, order, sort, oderby;

            //===============================================================
            //获取查询条件:【用户名,开始时间,结束时间】
            name = year = administratorArea = startTime = endTime = order = sort = oderby = "";

            //获取前台传来的值
            if (null != context.Request.QueryString["name"])
            {
                name = context.Request.QueryString["name"].ToString().Trim();
            }
            if (null != context.Request.QueryString["year"])
            {
                year = context.Request.QueryString["year"].ToString().Trim();
            }
            if (null != context.Request.QueryString["administratorArea"])
            {
                administratorArea = context.Request.QueryString["administratorArea"].ToString().Trim();
            }
            if (null != context.Request.QueryString["startTime"])
            {
                startTime = context.Request.QueryString["startTime"].ToString().Trim();
            }
            if (null != context.Request.QueryString["endTime"])
            {
                endTime = context.Request.QueryString["endTime"].ToString().Trim();
            }

            //================================================================
            //获取分页和排序信息:页大小,页码,排序方式,排序字段
            int pageRows, page;

            pageRows = 10;
            page     = 1;

            if (null != context.Request.QueryString["rows"])
            {
                pageRows = int.Parse(context.Request.QueryString["rows"].ToString().Trim());
            }
            if (null != context.Request.QueryString["page"])
            {
                page = int.Parse(context.Request.QueryString["page"].ToString().Trim());
            }
            if (null != context.Request.QueryString["sort"])
            {
                order = context.Request.QueryString["sort"].ToString().Trim();
            }
            if (null != context.Request.QueryString["order"])
            {
                sort = context.Request.QueryString["order"].ToString().Trim();
            }

            //===================================================================
            //组合查询语句:条件+排序
            StringBuilder strWhere = new StringBuilder();

            strWhere.Append(" 1=1 and");
            if (name != "")
            {
                strWhere.AppendFormat(" name like '%{0}%' and ", name);
            }

            if (year != "")
            {
                strWhere.AppendFormat(" year = '{0}' and ", year);
            }
            if (administratorArea != "")
            {
                strWhere.AppendFormat(" administratorArea = '{0}' and ", administratorArea);
            }
            if (startTime != "")
            {
                strWhere.AppendFormat(" create_time >= '{0}' and ", startTime);
            }
            if (endTime != "")
            {
                strWhere.AppendFormat(" create_time <= '{0}' and ", endTime);
            }

            //删除多余的and
            int startindex = strWhere.ToString().LastIndexOf("and");//获取最后一个and的位置

            if (startindex >= 0)
            {
                strWhere.Remove(startindex, 3);//删除多余的and关键字
            }
            if (sort != "" && order != "")
            {
                //strWhere.AppendFormat(" order by {0} {1}", sort, order);//添加排序
                oderby = order + " " + sort;
            }

            //调用分页的GetList方法
            DataSet ds = bll_verif.GetListByPage(strWhere.ToString(), oderby, (page - 1) * pageRows + 1, page * pageRows);

            //插入其他字段,行政区administratorArea、计划类型planTypeName、创建人createUserName
            ds.Tables[0].Columns.Add("administratorAreaName", typeof(System.String));
            ds.Tables[0].Columns.Add("createUserName", typeof(System.String));

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                int administratorAreaId = 0;
                int userId = 0;
                if (dr["administratorArea"].ToString() != "" && dr["administratorArea"] != null)
                {
                    administratorAreaId = Convert.ToInt32(dr["administratorArea"].ToString());
                }
                if (dr["userId"].ToString() != "" && dr["userId"] != null)
                {
                    userId = Convert.ToInt32(dr["userId"].ToString());
                }

                Model.T_AdministratorArea t_administrator_area = bll_administrator_area.GetModel(administratorAreaId);
                if (t_administrator_area != null)
                {
                    dr["administratorAreaName"] = t_administrator_area.name;
                }
                else
                {
                    dr["administratorAreaName"] = "";
                }

                Model.T_User t_user = bll_user.GetModel(userId);
                if (t_user != null)
                {
                    dr["createUserName"] = t_user.name;
                }
                else
                {
                    dr["createUserName"] = "";
                }
            }

            int    count   = bll_verif.GetRecordCount(strWhere.ToString()); //获取条数
            string strJson = JsonHelper.Dataset2Json(ds, count);            //DataSet数据转化为Json数据

            context.Response.Write(strJson);                                //返回给前台页面
        }