PopupCraftReviewTechnology.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. using Core.Mes.Client.Comm.Control;
  2. using CoreFS.CA06;
  3. using Infragistics.Win.Misc;
  4. using Infragistics.Win.UltraWinEditors;
  5. using System;
  6. using System.Reflection;
  7. using System.Windows.Forms;
  8. namespace Core.StlMes.Client.Qcm
  9. {
  10. public partial class PopupCraftReviewTechnology : FrmBase
  11. {
  12. private object _frmCraftRvwTc = null;
  13. private Type _type = null;
  14. public PopupCraftReviewTechnology(string blCode, string[] validDataPurviewIds, OpeBase ob)
  15. {
  16. InitializeComponent();
  17. this.ValidDataPurviewIds = validDataPurviewIds;
  18. this.ob = ob;
  19. //由于VS限制,项目不能相互引用,所以不能直接添加销售程序集,故使用了反射机制。
  20. Assembly assembly = Assembly.LoadFrom(Environment.CurrentDirectory + "\\Core.StlMes.Client.SaleOrder.dll");
  21. _frmCraftRvwTc = assembly.CreateInstance("Core.StlMes.Client.SaleOrder.ReviewForm.frmCraftReviewTechnology");
  22. _type = _frmCraftRvwTc.GetType();
  23. FrmBase form = (FrmBase)_frmCraftRvwTc;
  24. form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
  25. FieldInfo fieldInfo = _type.GetField("ob");
  26. fieldInfo.SetValue(_frmCraftRvwTc, ob);
  27. PropertyInfo propertyIsPopup = _type.GetProperty("IsPopup");
  28. propertyIsPopup.SetValue(_frmCraftRvwTc, true, null);
  29. PropertyInfo propertyTxtOrderNo = _type.GetProperty("UtxtOrderNo");
  30. UltraTextEditor txtOrderNo = (UltraTextEditor)propertyTxtOrderNo.GetValue(_frmCraftRvwTc, null);
  31. txtOrderNo.Text = blCode;
  32. PropertyInfo propertyChkOrderNo = _type.GetProperty("UchkOrderNo");
  33. UltraCheckEditor chkOrderNo = (UltraCheckEditor)propertyChkOrderNo.GetValue(_frmCraftRvwTc, null);
  34. chkOrderNo.Checked = true;
  35. PropertyInfo propertyTimePicker1 = _type.GetProperty("LabelDateTimePicker1");//LabelDateTimePicker1
  36. LabelDateTimePicker timePicker1 = (LabelDateTimePicker)propertyTimePicker1.GetValue(_frmCraftRvwTc, null);
  37. timePicker1.Checked = false;
  38. PropertyInfo propertyCheckBox1 = _type.GetProperty("CheckBox1");
  39. CheckBox checkBox1 = (CheckBox)propertyCheckBox1.GetValue(_frmCraftRvwTc, null);
  40. checkBox1.Checked = true;
  41. PropertyInfo propertyGroupBox = _type.GetProperty("UltraGroupBox1");
  42. UltraGroupBox groupBox = (UltraGroupBox)propertyGroupBox.GetValue(_frmCraftRvwTc, null);
  43. groupBox.Visible = false;
  44. form.TopLevel = false;
  45. form.Dock = DockStyle.Fill;
  46. form.Show();
  47. PropertyInfo propertyDataPurviewIds = _type.GetProperty("DataPurviewIds");
  48. propertyDataPurviewIds.SetValue(_frmCraftRvwTc, validDataPurviewIds, null);
  49. this.panel1.Controls.Add(form);
  50. }
  51. private void PopupCraftReviewTechnology_Load(object sender, EventArgs e)
  52. {
  53. try
  54. {
  55. this.Cursor = Cursors.WaitCursor;
  56. ToolBar_Click("doQuery");
  57. }
  58. finally
  59. {
  60. this.Cursor = Cursors.Default;
  61. }
  62. }
  63. private void ToolBar_Click(string key)
  64. {
  65. MethodInfo methodInfo = _type.GetMethod("ToolBar_Click");
  66. methodInfo.Invoke(_frmCraftRvwTc, new object[] { this, key });
  67. }
  68. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  69. {
  70. switch (e.Tool.Key)
  71. {
  72. case "查询":
  73. ToolBar_Click("doQuery");
  74. break;
  75. case "工艺指派":
  76. ToolBar_Click("Appoint");
  77. break;
  78. case "工艺制定":
  79. ToolBar_Click("doQuality");
  80. break;
  81. case "工艺变更":
  82. ToolBar_Click("PlnCraftChange");
  83. break;
  84. case "工艺文件":
  85. ToolBar_Click("QueryCraft");
  86. break;
  87. case "提交审核":
  88. ToolBar_Click("SubmitAudit");
  89. break;
  90. case "生成工艺文件":
  91. ToolBar_Click("CreateCraft");
  92. break;
  93. case "自动匹配":
  94. ToolBar_Click("MatchCraftFile");
  95. break;
  96. case "指定工艺文件":
  97. ToolBar_Click("AppointCraftFile");
  98. break;
  99. case "指定临时工艺":
  100. ToolBar_Click("AppointTmpCraftFile");
  101. break;
  102. case "回退":
  103. ToolBar_Click("RollBack");
  104. break;
  105. case "合同查询":
  106. ToolBar_Click("ReviewOrderReport");
  107. break;
  108. case "冶金规范":
  109. ToolBar_Click("Msc");
  110. break;
  111. case "关闭":
  112. this.Close();
  113. break;
  114. }
  115. }
  116. }
  117. }