锐腾搅拌上料功能
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.

301 lines
11 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.XtraNavBar;
  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. using ICSSoft.Frame.Menu.Entity;
  16. using ICSSoft.Frame.Menu.MenuManage;
  17. using System.IO;
  18. namespace ICSSoft.Frame.Main.Entrance
  19. {
  20. public partial class FormMain : DevExpress.XtraEditors.XtraForm
  21. {
  22. FormTableMenu fMenu = null;
  23. SysMenuBLL menuBll = new SysMenuBLL();
  24. Dictionary<string, TreeView> treeDic = new Dictionary<string, TreeView>();
  25. public FormMain()
  26. {
  27. InitializeComponent();
  28. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  29. this.WindowState = FormWindowState.Maximized;
  30. lblUserName.Text = AppConfig.UserName;
  31. lblWorkPointName.Text = AppConfig.WorkPointName;
  32. lblRole.Text=(AppConfig.UserCode.ToLower()=="demo"?"程序开发者":(AppConfig.AdminFlag==true?"系统管理员":"普通用户"));
  33. lblCompanyName.Text = AppConfig.CompanyName;
  34. BindNav();
  35. }
  36. private void BindNav()
  37. {
  38. DataTable navData = menuBll.GetSysMenuStruct("", true);
  39. foreach (DataRow dr in navData.Rows)
  40. {
  41. NavBarGroup group = new NavBarGroup(dr["MenuCaption"].ToString());
  42. group.Tag = dr["ID"];
  43. string fileName = Path.GetFileNameWithoutExtension(AppConfig.ResourcePath + dr["TableImage"].ToString());
  44. string forder = dr["TableImage"].ToString().Replace(Path.GetFileName(AppConfig.ResourcePath + dr["TableImage"].ToString()), "");
  45. fileName = forder+ fileName + "32" + Path.GetExtension(AppConfig.ResourcePath + dr["TableImage"].ToString());
  46. group.SmallImage = Image.FromFile(AppConfig.ResourcePath +fileName);
  47. navMain.Groups.Add(group);
  48. }
  49. FillNavGroup();
  50. }
  51. private void FillNavGroup()
  52. {
  53. foreach (NavBarGroup g in navMain.Groups)
  54. {
  55. NavBarGroupControlContainer gc = new NavBarGroupControlContainer();
  56. TreeView treeMain = null;
  57. // bool isNew = false;
  58. if (treeDic.ContainsKey(g.Tag.ToString()))
  59. {
  60. gc.Controls.Remove(treeDic[g.Tag.ToString()]);
  61. gc.Controls.Add(treeDic[g.Tag.ToString()]);
  62. g.ControlContainer = gc;
  63. }
  64. else
  65. {
  66. treeMain = new TreeView();
  67. treeMain.Name = g.Tag.ToString();
  68. treeMain.StateImageList = AppConfig.SysImageList;
  69. treeMain.Dock = DockStyle.Fill;
  70. treeMain.AfterExpand += new TreeViewEventHandler(treeMenu_AfterExpand);
  71. treeMain.AfterCollapse += new TreeViewEventHandler(treeMenu_AfterCollapse);
  72. treeMain.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(treeMain_NodeMouseDoubleClick);
  73. treeDic.Add(g.Tag.ToString(), treeMain);
  74. DataTable data = menuBll.GetSysMenuStruct(g.Tag.ToString(), true);
  75. foreach (DataRow obj in data.Rows)
  76. {
  77. TreeNode tn = new TreeNode(obj["MenuCaption"].ToString());
  78. tn.Tag = obj["ID"].ToString();
  79. tn.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(obj["NExImage"].ToString());
  80. treeMain.Nodes.Add(tn);
  81. BindSonNode(tn);
  82. }
  83. gc.Controls.Add(treeMain);
  84. g.ControlContainer = gc;
  85. }
  86. }
  87. }
  88. private void BindSonNode(TreeNode mainTn)
  89. {
  90. DataTable data = menuBll.GetSysMenuStruct(mainTn.Tag.ToString(), true);
  91. foreach (DataRow obj in data.Rows)
  92. {
  93. TreeNode tn = new TreeNode(obj["MenuCaption"].ToString());
  94. tn.Tag = obj["ID"];
  95. tn.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(obj["NExImage"].ToString());
  96. mainTn.Nodes.Add(tn);
  97. BindSonNode(tn);
  98. }
  99. }
  100. SysUserBLL userBll = new SysUserBLL();
  101. private void treeMain_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
  102. {
  103. var obj = menuBll.GetSingleMenuByID(e.Node.Tag.ToString());
  104. if (obj == null)
  105. return;
  106. if (obj.FormFlag)
  107. {
  108. if (obj.StartFlag == false)
  109. return;
  110. try
  111. {
  112. AppConfig.CreateFormShow(obj.FormAssem, obj.MenuCode, obj.MenuCaption, obj.FormName, obj.DialogFlag, this, obj.FormParameters,obj.MaxWindow);
  113. userBll.InsertLogin("N", AppConfig.UserCode, "使用"+obj.MenuCaption+"功能");
  114. }
  115. catch (Exception ex)
  116. {
  117. userBll.InsertLogin("N", AppConfig.UserCode, "使用" + obj.MenuCaption + "功能发生异常:"+ex.Message);
  118. List<LangObj> objList = new List<LangObj>();
  119. LangObj mobj = new LangObj();
  120. mobj.LConvertString = ex.Message;
  121. mobj.LParameters = new object[] { };
  122. objList.Add(mobj);
  123. MessageDialog msg = new MessageDialog(2, objList);
  124. msg.ShowDialog();
  125. }
  126. }
  127. }
  128. private void treeMenu_AfterCollapse(object sender, TreeViewEventArgs e)
  129. {
  130. string menuId = e.Node.Tag.ToString();
  131. Sys_Menu menuObj = menuBll.GetSingleMenuByID(menuId);
  132. if (menuObj != null)
  133. {
  134. e.Node.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.NExImage);
  135. // e.Node.SelectedImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.NExImage);
  136. }
  137. }
  138. private void treeMenu_AfterExpand(object sender, TreeViewEventArgs e)
  139. {
  140. string menuId = e.Node.Tag.ToString();
  141. Sys_Menu menuObj = menuBll.GetSingleMenuByID(menuId);
  142. if (menuObj != null)
  143. {
  144. e.Node.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.ExImage);
  145. //e.Node.SelectedImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.ExImage);
  146. }
  147. }
  148. private void FormMain_Load(object sender, EventArgs e)
  149. {
  150. LanguageConvert.ChangeLanguage(this, "1");
  151. navMain.Visible = false;
  152. fMenu= new FormTableMenu();
  153. fMenu.MdiParent = this;
  154. fMenu.Show();
  155. }
  156. private void btnExit_Click(object sender, EventArgs e)
  157. {
  158. this.Close();
  159. }
  160. private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
  161. {
  162. if (reStart == 0)
  163. {
  164. List<LangObj> langList = new List<LangObj>();
  165. LangObj obj = new LangObj();
  166. obj.LConvertString = "确定退出管理系统吗?";
  167. obj.LParameters = new object[] { };
  168. langList.Add(obj);
  169. RequestionDialog formRequestion = new RequestionDialog(langList);
  170. if (formRequestion.ShowDialog() == DialogResult.OK)
  171. {
  172. e.Cancel = false;
  173. XtraForm formMain = (XtraForm)this.Tag;
  174. formMain.Close();
  175. }
  176. else
  177. {
  178. reStart = 0;
  179. e.Cancel = true;
  180. }
  181. }
  182. }
  183. private void btnModifyPwd_Click(object sender, EventArgs e)
  184. {
  185. List<LangObj> langList = new List<LangObj>();
  186. FormEditPwd feditPwd = new FormEditPwd(AppConfig.WorkPointCode, AppConfig.UserCode,AppConfig.FromMd5( AppConfig.UserPwd));
  187. if (feditPwd.ShowDialog() == DialogResult.OK)
  188. {
  189. LangObj langObj = new LangObj();
  190. langObj.LConvertString = "修改成功";
  191. langObj.LParameters = new object[] { };
  192. langList.Add(langObj);
  193. if (langList.Count > 0)
  194. {
  195. MessageDialog messBox = new MessageDialog(0, langList);
  196. messBox.ShowDialog();
  197. }
  198. }
  199. }
  200. private void btnMyMenu_Click(object sender, EventArgs e)
  201. {
  202. FormUserDefineMenu formUserDefine = new FormUserDefineMenu();
  203. formUserDefine.ShowDialog();
  204. }
  205. private void btnSysMenu_Click(object sender, EventArgs e)
  206. {
  207. if (navMain.Visible == true)
  208. {
  209. navMain.Visible = false;
  210. foreach (Form cform in this.MdiChildren)
  211. {
  212. cform.Close();
  213. }
  214. fMenu = new FormTableMenu();
  215. fMenu.MdiParent = this;
  216. fMenu.Show();
  217. }
  218. else
  219. {
  220. if (fMenu != null)
  221. {
  222. fMenu.Close();
  223. }
  224. navMain.Visible = true;
  225. }
  226. }
  227. private void btnInfoCenter_Click(object sender, EventArgs e)
  228. {
  229. try
  230. {
  231. Sys_Menu obj = menuBll.GetSingleMenuByCode("01.07.03");
  232. AppConfig.CreateFormShow(obj.FormAssem, obj.MenuCode, obj.MenuCaption, obj.FormName, obj.DialogFlag, this, obj.FormParameters, obj.MaxWindow);
  233. }
  234. catch (Exception ex)
  235. {
  236. List<LangObj> objList = new List<LangObj>();
  237. LangObj mobj = new LangObj();
  238. mobj.LConvertString = ex.Message;
  239. mobj.LParameters = new object[] { };
  240. objList.Add(mobj);
  241. MessageDialog msg = new MessageDialog(2, objList);
  242. msg.ShowDialog();
  243. }
  244. }
  245. int reStart = 0;
  246. private void btnLogOut_Click(object sender, EventArgs e)
  247. {
  248. List<LangObj> langList = new List<LangObj>();
  249. LangObj obj = new LangObj();
  250. obj.LConvertString = "确定重新注册系统吗?";
  251. obj.LParameters = new object[] { };
  252. langList.Add(obj);
  253. RequestionDialog formRequestion = new RequestionDialog(langList);
  254. if (formRequestion.ShowDialog() == DialogResult.OK)
  255. {
  256. reStart = 1;
  257. Program.Run.Close();
  258. Application.Restart();
  259. }
  260. reStart = 0;
  261. }
  262. private void btnMinWindow_Click(object sender, EventArgs e)
  263. {
  264. this.WindowState = FormWindowState.Minimized;
  265. }
  266. }
  267. }