| | |
| | | } |
| | | |
| | | |
| | | #region [查询菜单列表] |
| | | #region [从数据库加载菜单] |
| | | public class MenuLoad |
| | | { |
| | | //public int HitemID { get; set; } |
| | | public string HitemID { get; set; } |
| | | //public int? HPartentID { get; set; } |
| | | public string HPartentID { get; set; } |
| | | public string HNumber { get; set; } |
| | | public string HName { get; set; } |
| | | public int HLevel { get; set; } |
| | | public string Hurl { get; set; } |
| | | public string HPicNum { get; set; } |
| | | public List<MenuLoad> childMenus { get; set; } |
| | | } |
| | | |
| | | [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<MenuLoad> mu = new List<MenuLoad>(); //以父子级结构存放菜单清单信息 |
| | | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //数据库操作工具 |
| | | string sql = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HPicNum 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()) //判断是否最外层根节点 |
| | | { |
| | | Menu tbj = new Menu(); |
| | | MenuLoad tbj = new MenuLoad(); |
| | | tbj.HitemID = ds.Tables[0].Rows[i]["HitemID"].ToString(); |
| | | tbj.HNumber = ds.Tables[0].Rows[i]["HNumber"].ToString(); |
| | | tbj.HName = ds.Tables[0].Rows[i]["HName"].ToString(); |
| | | tbj.HPartentID = ds.Tables[0].Rows[i]["HPartentID"].ToString(); |
| | | tbj.HLevel = int.Parse(ds.Tables[0].Rows[i]["HLevel"].ToString()); |
| | | tbj.Hurl = ds.Tables[0].Rows[i]["Hurl"].ToString(); |
| | | if (ds.Tables[0].Rows[i]["HPicNum"] != null) |
| | | { |
| | | tbj.HPicNum = ds.Tables[0].Rows[i]["HPicNum"].ToString(); |
| | | } |
| | | mu.Add(tbj); |
| | | } |
| | | } |
| | | ToHierarchy.digui(ds.Tables[0], mu); |
| | | diguiLoad(ds.Tables[0], mu); //使用递归,将需要加载的数据以父子级的结构存放在mu中 |
| | | |
| | | |
| | | objJsonResult.code = "1"; |
| | |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | public void diguiLoad(DataTable dt, List<MenuLoad> tree) |
| | | { |
| | | for (int m = 0; m < tree.Count; m++) |
| | | { |
| | | tree[m].childMenus = new List<MenuLoad>(); |
| | | for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集 |
| | | { |
| | | if (tree[m].HitemID.ToString() == dt.Rows[i]["HPartentID"].ToString() && dt.Rows[i]["HitemID"].ToString() != dt.Rows[i]["HPartentID"].ToString()) |
| | | { |
| | | MenuLoad tbjson = new MenuLoad(); |
| | | tbjson.HitemID = dt.Rows[i]["HitemID"].ToString(); |
| | | tbjson.HPartentID = dt.Rows[i]["HPartentID"].ToString(); |
| | | tbjson.HNumber = dt.Rows[i]["HNumber"].ToString(); |
| | | tbjson.HName = dt.Rows[i]["HName"].ToString(); |
| | | tbjson.HLevel = tree[m].HLevel; |
| | | tbjson.Hurl = dt.Rows[i]["Hurl"].ToString(); |
| | | if (dt.Rows[i]["HPicNum"] != null) |
| | | { |
| | | tbjson.HPicNum = dt.Rows[i]["HPicNum"].ToString(); |
| | | } |
| | | tree[m].childMenus.Add(tbjson); |
| | | } |
| | | } |
| | | for (int i = 0; i < tree[m].childMenus.Count; i++) |
| | | { |
| | | diguiLoad(dt, tree[m].childMenus);//再次用子集去循环,拿出子集的子集 |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | #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> |
| | | ///// 产品入库缓存列表刷新信息 |
| | | ///// </summary> |