|  |  |  | 
|---|
|  |  |  | private json objjson = new json(); | 
|---|
|  |  |  | private json objJsonResult = new json(); | 
|---|
|  |  |  | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
|---|
|  |  |  | //public static string sUrl = "http://183.129.128.86:9090/WEBS-WMSTest/WebService1.asmx"; | 
|---|
|  |  |  | //  private POInStockBillServices oclscg_poinstockbillmain = new POInStockBillServices(); | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | 
|---|
|  |  |  | public object GetUser(string UserName, string PassWord, string HOrgName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | { | 
|---|
|  |  |  | DataSet ds = null; | 
|---|
|  |  |  | ClsCN oCnLoc = new ClsCN(); | 
|---|
|  |  |  | DAL.ClsUser oUser = new DAL.ClsUser(); | 
|---|
|  |  |  | 
|---|
|  |  |  | objjson.code = "0"; | 
|---|
|  |  |  | objjson.count = 0; | 
|---|
|  |  |  | objjson.Message = "登录异常!" + e.Message; | 
|---|
|  |  |  | objjson.data = null; | 
|---|
|  |  |  | return objjson; ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 菜单栏 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | [Route("Web/MenuBar")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object MenuBar(string UserName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取系统参数 | 
|---|
|  |  |  | string Ret = ""; | 
|---|
|  |  |  | if (oSystemParameter.ShowBill(ref Ret)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断客户为龙山汽配 | 
|---|
|  |  |  | if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断是否有查询权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Xt_MenuBar_Unfold", 1, false, UserName)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objjson.code = "0"; | 
|---|
|  |  |  | objjson.count = 0; | 
|---|
|  |  |  | objjson.Message = "无展开菜单栏权限!"; | 
|---|
|  |  |  | objjson.data = null; | 
|---|
|  |  |  | return objjson; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | objjson.code = "0"; | 
|---|
|  |  |  | objjson.count = 1; | 
|---|
|  |  |  | objjson.Message = "展开成功!"; | 
|---|
|  |  |  | objjson.data = 1; | 
|---|
|  |  |  | return objjson; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objjson.code = "0"; | 
|---|
|  |  |  | objjson.count = 0; | 
|---|
|  |  |  | objjson.Message = "异常!" + e.Message; | 
|---|
|  |  |  | objjson.data = null; | 
|---|
|  |  |  | return objjson; ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = webserver.GetKf_PonderationBillMain_TempList(HBillType, sWhere); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  | //添加列名 | 
|---|
|  |  |  | foreach (DataColumn col in ds.Tables[0].Columns) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type dataType = col.DataType; | 
|---|
|  |  |  | string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; | 
|---|
|  |  |  | columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds == null || ds.Tables[0].Rows.Count <= 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "获取信息成功!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | objJsonResult.list = columnNameList; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [查询菜单列表] | 
|---|
|  |  |  | #region [从数据库加载菜单] | 
|---|
|  |  |  | [Route("Web/MenuList")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object MenuList() | 
|---|
|  |  |  | public object MenuList(string HMakeName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Menu> mu = new List<Menu>(); | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | ds = oCn.RunProcReturn("Select * from Gy_Menu Order by HItemID ", "Gy_Menu"); | 
|---|
|  |  |  | //List<Menu> mu1 = ds.Tables[0].AsEnumerable().Select(t => new Menu()).ToList(); | 
|---|
|  |  |  | //List<Menu> users = ModelConvertHelper<Menu>.ConvertToModel(ds.Tables[0]); | 
|---|
|  |  |  | //var dd = ToHierarchy.ToHierarchyList(users); | 
|---|
|  |  |  | //string json = JsonConvert.SerializeObject(dd); | 
|---|
|  |  |  | for (int i = 0; i < ds.Tables[0].Rows.Count; i++)   //这里是循环所有 | 
|---|
|  |  |  | List<Menu> mu = new List<Menu>();                       //以父子级结构存放菜单清单信息 | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();            //数据库操作工具 | 
|---|
|  |  |  | string sql = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType from Gy_MenuDefineSet where HMakeName = '" + HMakeName + "' order by HItemID"; | 
|---|
|  |  |  | ds = oCn.RunProcReturn(sql, "Gy_MenuDefineSet");        //查询当前用户的自定义菜单数据 | 
|---|
|  |  |  | if (ds.Tables[0]==null || ds.Tables[0].Rows.Count == 0) //判断当前用户是否有设置过自定义信息,若记录数为0,则没有设置过,加载所有的菜单信息 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | sql = "Select * from Gy_Menu_1 Order by HItemID "; | 
|---|
|  |  |  | ds = oCn.RunProcReturn(sql, "Gy_Menu"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (int i = 0; i < ds.Tables[0].Rows.Count; i++)       //将菜单的根节点保存到列表menu中 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows[i]["HPartentID"].ToString() == "0" || ds.Tables[0].Rows[i]["HitemID"].ToString() == ds.Tables[0].Rows[i]["HPartentID"].ToString())  //判断是否最外层根节点 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | mu.Add(tbj); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ToHierarchy.digui(ds.Tables[0], mu); | 
|---|
|  |  |  | ToHierarchy.digui(ds.Tables[0], mu);                //使用递归,将需要加载的数据以父子级的结构存放在mu中 | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [菜单目录自定义] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 读取自定义数据 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //对应Gy_Menu_1表中的记录,记录菜单清单,以及菜单中哪些被选中 | 
|---|
|  |  |  | public class MenuInit | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public string HitemID; | 
|---|
|  |  |  | public string HPartentID; | 
|---|
|  |  |  | public string HNumber; | 
|---|
|  |  |  | public string HName; | 
|---|
|  |  |  | public int HLevel; | 
|---|
|  |  |  | public string Hurl; | 
|---|
|  |  |  | public string HType; | 
|---|
|  |  |  | public bool HSelected; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取树状的自定义数据,类中的每个属性都是layui中树组件的渲染参数option的data属性值的参数 | 
|---|
|  |  |  | public class MenuDefineList | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public string title { get; set; } | 
|---|
|  |  |  | public string id { get; set; } | 
|---|
|  |  |  | public string field { get; set; } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public List<MenuDefineList> children { get; set; } | 
|---|
|  |  |  | public bool spread { get; set; } | 
|---|
|  |  |  | public bool selected { get; set; } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //在自定义菜单界面,获取自定义菜单信息时,通过该类对象返回 | 
|---|
|  |  |  | public class MenuDefineResult | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public List<MenuInit> dt;                                        //记录Gy_Menu_1中的菜单清单,以及是否被选中 | 
|---|
|  |  |  | public List<MenuDefineList> tree;                                //根节点列表,在前端经过递归获取所有节点以及各节点是否选中 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //自定义菜单:获取树组件数据 | 
|---|
|  |  |  | [Route("Web/MenuDefineSet")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object MenuDefineSet(string HMakeName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取构建树状结构的数据 | 
|---|
|  |  |  | List<MenuInit> menuInitList = new List<MenuInit>();                     //用以获取Gy_Menu_1中的所有菜单信息,以及对应节点是否被选中需要加载显示 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | ds = oCn.RunProcReturn("Select * from Gy_Menu_1 Order by HItemID ", "Gy_Menu");     //获取Gy_Menu_1中的所有菜单信息,用于为menuInitList列表充实数据 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataSet ds1 = new DataSet(); | 
|---|
|  |  |  | for (int i = 0; i < ds.Tables[0].Rows.Count; i++)                                   //将Gy_Menu_1中的菜单信息及选中情况保存到menuInitList列表中, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //填充基本数据 | 
|---|
|  |  |  | MenuInit menuInit = new MenuInit(); | 
|---|
|  |  |  | menuInit.HitemID = ds.Tables[0].Rows[i]["HItemID"].ToString(); | 
|---|
|  |  |  | menuInit.HPartentID = ds.Tables[0].Rows[i]["HPartentID"].ToString(); | 
|---|
|  |  |  | menuInit.HNumber = ds.Tables[0].Rows[i]["HNumber"].ToString(); | 
|---|
|  |  |  | menuInit.HName = ds.Tables[0].Rows[i]["HName"].ToString(); | 
|---|
|  |  |  | menuInit.HLevel = int.Parse(ds.Tables[0].Rows[i]["HLevel"].ToString()); | 
|---|
|  |  |  | menuInit.Hurl = ds.Tables[0].Rows[i]["Hurl"].ToString(); | 
|---|
|  |  |  | menuInit.HType = ds.Tables[0].Rows[i]["HType"].ToString(); | 
|---|
|  |  |  | menuInit.HSelected = false; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断用户是否选中显示该菜单 | 
|---|
|  |  |  | String sql = "Select * from Gy_MenuDefineSet where HItemID = '" + ds.Tables[0].Rows[i]["HItemID"] + "' and HMakeName='" + HMakeName + "'"; | 
|---|
|  |  |  | ds1 = oCn.RunProcReturn(sql, "Gy_MenuDefineSet"); | 
|---|
|  |  |  | if (ds1.Tables[0].Rows.Count > 0)                           //对于Gy_Menu_1表中的菜单节点,通过检索在Gy_MenuDefineSet表中对应用户是否存在该节点的信息,判断该用户是否选中该节点需要加载显示在侧菜单栏 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | menuInit.HSelected = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | menuInitList.Add(menuInit);                                 //将Gy_Menu_1表中的菜单节点信息逐一添加到menuInitList列表中 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //存储树状结构的数据 | 
|---|
|  |  |  | List<MenuDefineList> tree = new List<MenuDefineList>();         //用以获取菜单清单在layui中树组件渲染参数option中data值值的参数 | 
|---|
|  |  |  | for (int i = 0; i < menuInitList.Count; i++)                    //获取菜单清单中的根节点的渲染数据 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (menuInitList[i].HPartentID == "0" || menuInitList[i].HitemID == menuInitList[i].HPartentID)              //判断是否是根节点 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | MenuDefineList define = new MenuDefineList(); | 
|---|
|  |  |  | define.id = menuInitList[i].HitemID; | 
|---|
|  |  |  | define.field = menuInitList[i].HitemID; | 
|---|
|  |  |  | define.title = menuInitList[i].HName; | 
|---|
|  |  |  | define.spread = false; | 
|---|
|  |  |  | define.selected = false; | 
|---|
|  |  |  | if (menuInitList[i].HSelected == true) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | define.selected = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | tree.Add(define); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MenuDefineResult res = new MenuDefineResult(); | 
|---|
|  |  |  | res.dt = menuInitList; | 
|---|
|  |  |  | res.tree = tree; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "查询成功!"; | 
|---|
|  |  |  | objJsonResult.data = res; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "查询失败!"; | 
|---|
|  |  |  | objJsonResult.data = e.ToString(); | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 保存自定义数据 | 
|---|
|  |  |  | //用户接收前端传递的值:对于前端传递的被选中节点的数据,只需要各节点的id和title属性值,对于类SaveDefineMenu的HItemID、HName属性 | 
|---|
|  |  |  | public class SaveDefineMenu | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public string HItemID; | 
|---|
|  |  |  | public string HName; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取自定义菜单数据 | 
|---|
|  |  |  | [Route("Web/SaveMenuDefineSet")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object SaveMenuDefineSet([FromBody] JObject sMainSub) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取传参的自定义数据 | 
|---|
|  |  |  | var _value = sMainSub["sMainSub"].ToString(); | 
|---|
|  |  |  | string msg = _value.ToString(); | 
|---|
|  |  |  | string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|---|
|  |  |  | string HMakeName = sArray[1].ToString(); | 
|---|
|  |  |  | string saveData = sArray[0].ToString(); | 
|---|
|  |  |  | List<SaveDefineMenu> saveDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SaveDefineMenu>>(saveData); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //声明数据库操作工具 | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //设置数据库操作的回滚点,若在提交前报错,则回滚到该点,期间操作取消 | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //删除当前用户的自定义数据 | 
|---|
|  |  |  | string sql = "delete from Gy_MenuDefineSet where HMakeName = '" + HMakeName + "'"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //插入当前用户最新的自定义数据 | 
|---|
|  |  |  | for(int i=0;i< saveDataList.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | sql = "select * from Gy_Menu_1 where HItemID = '" + saveDataList[i].HItemID + "'"; | 
|---|
|  |  |  | ds = oCn.RunProcReturn(sql,"Gy_Menu_1"); | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string HPartentID = ds.Tables[0].Rows[0]["HPartentID"].ToString(); | 
|---|
|  |  |  | string HNumber = ds.Tables[0].Rows[0]["HNumber"].ToString(); | 
|---|
|  |  |  | int HLevel = int.Parse(ds.Tables[0].Rows[0]["HLevel"].ToString()); | 
|---|
|  |  |  | string Hurl = ds.Tables[0].Rows[0]["Hurl"].ToString(); | 
|---|
|  |  |  | string HType = ds.Tables[0].Rows[0]["HType"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sql = "insert into Gy_MenuDefineSet values('" + saveDataList[i].HItemID + "','" + HPartentID + "','" + HNumber + "','" + saveDataList[i].HName + "'," + HLevel + ",'" + Hurl + "','" + HType + "','" + HMakeName + "')"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //提交数据库操作 | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "保存成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "查询失败!"; | 
|---|
|  |  |  | objJsonResult.data = e.ToString(); | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 用户菜单快捷方式自定义 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 获取用户快捷方式选择菜单 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //快捷方式自定义菜单:获取树组件数据 | 
|---|
|  |  |  | [Route("Web/Xt_UserFastMenu_Display")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object Xt_UserFastMenu_Display(string HMakeName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取构建树状结构的数据 | 
|---|
|  |  |  | List<MenuInit> menuInitList = new List<MenuInit>();                     //用以获取Gy_Menu_1中的所有菜单信息,以及对应节点是否被选中需要加载显示 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | ds = oCn.RunProcReturn("Select * from Gy_Menu_1 Order by HItemID ", "Gy_Menu");     //获取Gy_Menu_1中的所有菜单信息,用于为menuInitList列表充实数据 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataSet ds1 = new DataSet(); | 
|---|
|  |  |  | for (int i = 0; i < ds.Tables[0].Rows.Count; i++)                                   //将Gy_Menu_1中的菜单信息及选中情况保存到menuInitList列表中, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //填充基本数据 | 
|---|
|  |  |  | MenuInit menuInit = new MenuInit(); | 
|---|
|  |  |  | menuInit.HitemID = ds.Tables[0].Rows[i]["HItemID"].ToString(); | 
|---|
|  |  |  | menuInit.HPartentID = ds.Tables[0].Rows[i]["HPartentID"].ToString(); | 
|---|
|  |  |  | menuInit.HNumber = ds.Tables[0].Rows[i]["HNumber"].ToString(); | 
|---|
|  |  |  | menuInit.HName = ds.Tables[0].Rows[i]["HName"].ToString(); | 
|---|
|  |  |  | menuInit.HLevel = int.Parse(ds.Tables[0].Rows[i]["HLevel"].ToString()); | 
|---|
|  |  |  | menuInit.Hurl = ds.Tables[0].Rows[i]["Hurl"].ToString(); | 
|---|
|  |  |  | menuInit.HType = ds.Tables[0].Rows[i]["HType"].ToString(); | 
|---|
|  |  |  | menuInit.HSelected = false; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断用户是否选中显示该菜单 | 
|---|
|  |  |  | String sql = "Select * from Xt_UserFastMenu where HSubFuncID = '" + ds.Tables[0].Rows[i]["HItemID"] + "' and HUserID='" + HMakeName + "'"; | 
|---|
|  |  |  | ds1 = oCn.RunProcReturn(sql, "Xt_UserFastMenu"); | 
|---|
|  |  |  | if (ds1.Tables[0].Rows.Count > 0)                           //对于Gy_Menu_1表中的菜单节点,通过检索在Gy_MenuDefineSet表中对应用户是否存在该节点的信息,判断该用户是否选中该节点需要加载显示在侧菜单栏 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | menuInit.HSelected = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | menuInitList.Add(menuInit);                                 //将Gy_Menu_1表中的菜单节点信息逐一添加到menuInitList列表中 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //存储树状结构的数据 | 
|---|
|  |  |  | List<MenuDefineList> tree = new List<MenuDefineList>();         //用以获取菜单清单在layui中树组件渲染参数option中data值值的参数 | 
|---|
|  |  |  | for (int i = 0; i < menuInitList.Count; i++)                    //获取菜单清单中的根节点的渲染数据 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (menuInitList[i].HPartentID == "0" || menuInitList[i].HitemID == menuInitList[i].HPartentID)              //判断是否是根节点 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | MenuDefineList define = new MenuDefineList(); | 
|---|
|  |  |  | define.id = menuInitList[i].HitemID; | 
|---|
|  |  |  | define.field = menuInitList[i].HitemID; | 
|---|
|  |  |  | define.title = menuInitList[i].HName; | 
|---|
|  |  |  | define.spread = false; | 
|---|
|  |  |  | define.selected = false; | 
|---|
|  |  |  | if (menuInitList[i].HSelected == true) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | define.selected = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | tree.Add(define); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MenuDefineResult res = new MenuDefineResult(); | 
|---|
|  |  |  | res.dt = menuInitList; | 
|---|
|  |  |  | res.tree = tree; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "查询成功!"; | 
|---|
|  |  |  | objJsonResult.data = res; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "查询失败!"; | 
|---|
|  |  |  | objJsonResult.data = e.ToString(); | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 保存用户快捷方式选择菜单 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //保存用户快捷方式选择菜单 | 
|---|
|  |  |  | [Route("Web/Xt_UserFastMenu_Save")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object Xt_UserFastMenu_Save([FromBody] JObject sMainSub) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取传参的自定义数据 | 
|---|
|  |  |  | var _value = sMainSub["sMainSub"].ToString(); | 
|---|
|  |  |  | string msg = _value.ToString(); | 
|---|
|  |  |  | string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|---|
|  |  |  | string HMakeName = sArray[1].ToString(); | 
|---|
|  |  |  | string saveData = sArray[0].ToString(); | 
|---|
|  |  |  | List<SaveDefineMenu> saveDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SaveDefineMenu>>(saveData); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //声明数据库操作工具 | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //设置数据库操作的回滚点,若在提交前报错,则回滚到该点,期间操作取消 | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //删除当前用户的自定义数据 | 
|---|
|  |  |  | string sql = "delete from Xt_UserFastMenu where HUserID = '" + HMakeName + "'"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //插入当前用户最新的自定义数据 | 
|---|
|  |  |  | for (int i = 0; i < saveDataList.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | sql = "select * from Gy_Menu_1 where HPartentID = '" + saveDataList[i].HItemID + "'"; | 
|---|
|  |  |  | ds = oCn.RunProcReturn(sql, "Gy_Menu_1"); | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count == 0)                                                   //判断该节点是否为最下级节点,即不存在子节点 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | sql = "select * from Gy_Menu_1 where HItemID = '" + saveDataList[i].HItemID + "'"; | 
|---|
|  |  |  | ds = oCn.RunProcReturn(sql, "Gy_Menu_1"); | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string HUserID = HMakeName; | 
|---|
|  |  |  | string HSubFuncID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | string HCaption = ds.Tables[0].Rows[0]["HName"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sql = "insert into Xt_UserFastMenu(HUserID,HSubFuncID,HCaption) values('" + HUserID + "','" + HSubFuncID + "','" + HCaption + "')"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //提交数据库操作 | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "保存成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "查询失败!"; | 
|---|
|  |  |  | objJsonResult.data = e.ToString(); | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 加载console.html页面的快捷方式 | 
|---|
|  |  |  | //快捷方式自定义菜单:获取树组件数据 | 
|---|
|  |  |  | [Route("Web/Xt_UserFastMenu_Init")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object Xt_UserFastMenu_Init(string HMakeName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | string sql = "select a.HSubFuncID, a.HCaption,a.HPicNum,b.Hurl from Xt_UserFastMenu as a join Gy_Menu_1 as b on a.HSubFuncID = b.HItemID  where a.HUserID = '" + HMakeName + "' Order by a.HItemID"; | 
|---|
|  |  |  | ds = oCn.RunProcReturn(sql, "Xt_UserFastMenu");     //获取Xt_UserFastMenu中该用户设置的自定义菜单信息,用于在前端加载 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "查询成功!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "查询失败!"; | 
|---|
|  |  |  | objJsonResult.data = e.ToString(); | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ///// <summary> | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "没有返回任何记录!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|