锐腾搅拌上料功能
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

368 lines
14 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using DevExpress.XtraEditors;
  9. using DevExpress.XtraBars.Ribbon;
  10. using ICSSoft.Frame.Menu.BLL;
  11. using ICSSoft.Base.Config.AppConfig;
  12. using ICSSoft.Frame.User.BLL;
  13. using ICSSoft.Base.Language.Tool;
  14. using ICSSoft.Base.UserControl.MessageControl;
  15. namespace ICSSoft.Frame.Main.Entrance
  16. {
  17. public partial class FormTableMenu : DevExpress.XtraEditors.XtraForm
  18. {
  19. SysMenuBLL menuBll = new SysMenuBLL();
  20. private string ParentId = "";
  21. private string SParentId = "";
  22. GalleryItemGroup sysGroup = new GalleryItemGroup();
  23. GalleryItemGroup selfGroup = new GalleryItemGroup();
  24. GalleryItemGroup selectGroup = new GalleryItemGroup();
  25. public FormTableMenu()
  26. {
  27. InitializeComponent();
  28. sysGroup.Caption = "系统菜单";
  29. selfGroup.Caption = "自定义菜单";
  30. selectGroup.Caption = "功能搜索结果";
  31. //sysGroup = Color.FromArgb(250, 250, 250);//246, 246, 246
  32. galTable.Gallery.Groups.Add(sysGroup);
  33. galTable.Gallery.Groups.Add(selfGroup);
  34. galTable.Gallery.Groups.Add(selectGroup);
  35. galTable.Gallery.ImageSize = new System.Drawing.Size(64, 64);
  36. CreateSySMenu(ParentId);
  37. BindItems(SParentId);
  38. chkSelfMenu.Checked = true;
  39. chkSysMenu.Checked = true;
  40. chkSearch.Checked = true;
  41. }
  42. private void CreateSySMenu(string parentId)
  43. {
  44. sysGroup.Items.Clear();
  45. DataTable data = menuBll.GetSysMenuStruct(parentId,true);
  46. foreach (DataRow dr in data.Rows)
  47. {
  48. GalleryItem item = new GalleryItem();
  49. item.Tag = dr["ID"].ToString();
  50. item.Caption = dr["MenuCaption"].ToString();
  51. Image img = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
  52. item.Image = img;
  53. item.HoverImage = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString().Replace(".png","")+"hover.png");
  54. sysGroup.Items.Add(item);
  55. }
  56. GalleryItem preBtn = new GalleryItem();
  57. preBtn.Tag = "r";
  58. preBtn.Caption = "返回上一层";
  59. Image pImg = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层.png");
  60. preBtn.HoverImage = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层hover.png");
  61. preBtn.Image = pImg;
  62. sysGroup.Items.Add(preBtn);
  63. if (parentId == "")
  64. {
  65. preBtn.Visible = false;
  66. }
  67. if (parentId != "")
  68. {
  69. var obj = menuBll.GetSingleMenuByID(parentId);
  70. if (obj == null)
  71. {
  72. this.Close();
  73. }
  74. else
  75. {
  76. ParentId = obj.ParentID;
  77. }
  78. }
  79. }
  80. private void BindItems(string parentId)
  81. {
  82. selfGroup.Items.Clear();
  83. DataTable itemData = menuBll.GetUserDefineForder(parentId);
  84. foreach (DataRow dr in itemData.Rows)
  85. {
  86. GalleryItem addFileItem = new GalleryItem();
  87. Image addImag = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
  88. addFileItem.Tag = "1" + dr["ID"].ToString();
  89. addFileItem.Image = addImag;
  90. addFileItem.HoverImage = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString().Replace(".png", "") + "hover.png");
  91. addFileItem.Caption = dr["DefineFileName"].ToString();
  92. selfGroup.Items.Add(addFileItem);
  93. }
  94. DataTable menuItem = menuBll.GetUserDefineMenus(parentId);
  95. foreach (DataRow dr in menuItem.Rows)
  96. {
  97. GalleryItem addFileItem = new GalleryItem();
  98. Image addImag = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
  99. addFileItem.Tag = "2" + dr["ID"].ToString();
  100. addFileItem.Image = addImag;
  101. addFileItem.HoverImage = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString().Replace(".png", "") + "hover.png");
  102. addFileItem.Caption = dr["MenuCaption"].ToString();
  103. selfGroup.Items.Add(addFileItem);
  104. }
  105. if (SParentId != "")
  106. {
  107. GalleryItem preBtn = new GalleryItem();
  108. preBtn.Tag = "r";
  109. preBtn.Caption = "返回上一层";
  110. Image pImg = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层.png");
  111. preBtn.HoverImage = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层hover.png");
  112. preBtn.Image = pImg;
  113. selfGroup.Items.Add(preBtn);
  114. }
  115. }
  116. SysUserBLL userBll = new SysUserBLL();
  117. private void galleryControlGallery1_ItemClick(object sender, GalleryItemClickEventArgs e)
  118. {
  119. try
  120. {
  121. if (e.Item.Tag.ToString() == "r")
  122. {
  123. if (e.Item.GalleryGroup == sysGroup)
  124. {
  125. CreateSySMenu(ParentId);
  126. }
  127. if (e.Item.GalleryGroup == selfGroup)
  128. {
  129. var forderObj = menuBll.GetSingleUserDefineForder(SParentId);
  130. if (forderObj != null)
  131. {
  132. SParentId = forderObj.ParentID;
  133. BindItems(SParentId);
  134. }
  135. }
  136. }
  137. else
  138. {
  139. if (e.Item.GalleryGroup == sysGroup)
  140. {
  141. var menuObj = menuBll.GetSingleMenuByID(e.Item.Tag.ToString());
  142. if (menuObj == null)
  143. {
  144. CreateSySMenu(ParentId);
  145. }
  146. else
  147. {
  148. if (menuObj.StartFlag == true)
  149. {
  150. if (menuObj.FormFlag)
  151. {
  152. AppConfig.CreateFormShow(menuObj.FormAssem, menuObj.MenuCode, menuObj.MenuCaption, menuObj.FormName, true, this, menuObj.FormParameters,menuObj.MaxWindow);
  153. userBll.InsertLogin("N", AppConfig.UserCode, "使用" + menuObj.MenuCaption + "功能");
  154. }
  155. else
  156. {
  157. CreateSySMenu(e.Item.Tag.ToString());
  158. }
  159. }
  160. }
  161. }
  162. if (e.Item.GalleryGroup == selfGroup)
  163. {
  164. string tagString = e.Item.Tag.ToString();
  165. string key = tagString.Substring(0, 1);
  166. if (key == "1")
  167. {
  168. string forderId = tagString.Substring(1, tagString.Length - 1);
  169. var forder = menuBll.GetSingleUserDefineForder(forderId);
  170. if (forder != null)
  171. {
  172. SParentId = forderId;
  173. BindItems(forderId);
  174. }
  175. else
  176. {
  177. BindItems(SParentId);
  178. }
  179. }
  180. if (key == "2")
  181. {
  182. try
  183. {
  184. string menuId = tagString.Substring(1, tagString.Length - 1);
  185. var menuObj = menuBll.GetSingleMenuByID(menuId);
  186. if (menuObj != null)
  187. {
  188. if (menuObj.StartFlag == true)
  189. {
  190. if (menuObj.FormFlag)
  191. {
  192. AppConfig.CreateFormShow(menuObj.FormAssem, menuObj.MenuCode, menuObj.MenuCaption, menuObj.FormName, true, this, menuObj.FormParameters,menuObj.MaxWindow);
  193. userBll.InsertLogin("N", AppConfig.UserCode, "使用" + menuObj.MenuCaption + "功能");
  194. }
  195. }
  196. }
  197. else
  198. {
  199. BindItems(SParentId);
  200. }
  201. }
  202. catch (Exception ex)
  203. {
  204. List<LangObj> objList = new List<LangObj>();
  205. LangObj exobj = new LangObj();
  206. exobj.LConvertString = ex.Message;
  207. exobj.LParameters = new object[] { };
  208. objList.Add(exobj);
  209. MessageDialog msg = new MessageDialog(2, objList);
  210. msg.ShowDialog();
  211. }
  212. }
  213. }
  214. if (e.Item.GalleryGroup == selectGroup)
  215. {
  216. var menuObj = menuBll.GetSingleMenuByID(e.Item.Tag.ToString());
  217. if (menuObj == null)
  218. {
  219. btnSelect_Click(null, null);
  220. }
  221. else
  222. {
  223. if (menuObj.StartFlag == true)
  224. {
  225. if (menuObj.FormFlag)
  226. {
  227. AppConfig.CreateFormShow(menuObj.FormAssem, menuObj.MenuCode, menuObj.MenuCaption, menuObj.FormName, true, this, menuObj.FormParameters,menuObj.MaxWindow);
  228. userBll.InsertLogin("N", AppConfig.UserCode, "使用" + menuObj.MenuCaption + "功能");
  229. }
  230. }
  231. }
  232. }
  233. }
  234. }
  235. catch (Exception ex)
  236. {
  237. List<LangObj> langList = new List<LangObj>();
  238. LangObj langObj = new LangObj();
  239. langObj.LConvertString = ex.Message;
  240. langObj.LParameters = new object[] { };
  241. langList.Add(langObj);
  242. if (langList.Count > 0)
  243. {
  244. MessageDialog messBox = new MessageDialog(2, langList);
  245. messBox.ShowDialog();
  246. }
  247. }
  248. }
  249. private void chkSysMenu_CheckedChanged(object sender, EventArgs e)
  250. {
  251. if (chkSysMenu.Checked == true)
  252. {
  253. sysGroup.Visible = true;
  254. }
  255. else
  256. {
  257. sysGroup.Visible = false;
  258. }
  259. }
  260. private void chkSelfMenu_CheckedChanged(object sender, EventArgs e)
  261. {
  262. if (chkSelfMenu.Checked == true)
  263. {
  264. selfGroup.Visible = true;
  265. }
  266. else
  267. {
  268. selfGroup.Visible = false;
  269. }
  270. }
  271. private void btnSelect_Click(object sender, EventArgs e)
  272. {
  273. if (selectGroup.Visible == false)
  274. {
  275. chkSearch.Checked = true;
  276. }
  277. DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在搜索....请稍等....");
  278. _wait.Show();
  279. try
  280. {
  281. selectGroup.Items.Clear();
  282. DataTable data = menuBll.GetSysMenuForSearch(txtKeyWords.Text.Trim());
  283. if (data.Rows.Count == 0)
  284. {
  285. _wait.Close();
  286. List<LangObj> langList = new List<LangObj>();
  287. LangObj langObj = new LangObj();
  288. langObj.LConvertString = "搜索无结果";
  289. langObj.LParameters = new object[] { };
  290. langList.Add(langObj);
  291. if (langList.Count > 0)
  292. {
  293. MessageDialog messBox = new MessageDialog(1, langList);
  294. messBox.ShowDialog();
  295. }
  296. }
  297. else
  298. {
  299. foreach (DataRow dr in data.Rows)
  300. {
  301. GalleryItem item = new GalleryItem();
  302. item.Tag = dr["ID"].ToString();
  303. item.Caption = dr["MenuCaption"].ToString();
  304. Image img = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
  305. item.Image = img;
  306. selectGroup.Items.Add(item);
  307. }
  308. _wait.Close();
  309. }
  310. }
  311. catch
  312. {
  313. _wait.Close();
  314. }
  315. }
  316. private void chkSearch_CheckedChanged(object sender, EventArgs e)
  317. {
  318. if (chkSearch.Checked == true)
  319. {
  320. selectGroup.Visible = true;
  321. }
  322. else
  323. {
  324. selectGroup.Visible = false;
  325. }
  326. }
  327. private void galleryControlGallery1_GalleryItemHover(object sender, GalleryItemEventArgs e)
  328. {
  329. Image img = e.Item.Image;
  330. e.Item.Image = e.Item.HoverImage;
  331. e.Item.HoverImage = img;
  332. }
  333. private void galleryControlGallery1_GalleryItemLeave(object sender, GalleryItemEventArgs e)
  334. {
  335. Image img = e.Item.Image;
  336. e.Item.Image = e.Item.HoverImage;
  337. e.Item.HoverImage = img;
  338. }
  339. }
  340. }