DischargeRegistration.cs 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. using PTMedicalInsurance.Variables;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace PTMedicalInsurance.Business.Core.Forms.DischargeAudit
  12. {
  13. public partial class DischargeRegistration : Form
  14. {
  15. private Form mainForm;
  16. private string err;
  17. private GridViewSetter grdSetter = new GridViewSetter();
  18. // 定义一个公共事件
  19. public event EventHandler SaveClicked;
  20. public DataTable DtDisease { get; set; }
  21. public DataTable DtDiseaseType { get; set; }
  22. public DataTable DtInsuranceType { get; set; }
  23. public DataTable DtMedicalType { get; set; }
  24. public DataTable DtOperation { get; set; }
  25. public DataTable DtSettlementWay { get; set; }
  26. //险种
  27. public string insuType { get; set; }
  28. public string insuTypeName { get; set; }
  29. //医疗类别
  30. public string med_type { get; set; }
  31. public string med_type_name { get; set; }
  32. //诊断
  33. public string diseCodg { get; set; }
  34. public string diseName { get; set; }
  35. //手术
  36. public string oprn_oprt_code { get; set; }
  37. public string oprn_oprt_name { get; set; }
  38. //病种
  39. public string dise_type_code { get; set; }
  40. public string dise_type_name { get; set; }
  41. //结算方式
  42. public string psn_setlway { get; set; }
  43. public string psn_setlway_name { get; set; }
  44. //提示
  45. public string HintText
  46. {
  47. get { return lbHint.Text; }
  48. set
  49. {
  50. if (lbHint.InvokeRequired)
  51. {
  52. lbHint.Invoke(new Action(() => lbHint.Text = value));
  53. }
  54. else
  55. {
  56. lbHint.Text = value;
  57. }
  58. }
  59. }
  60. private bool isHintVisible;
  61. public bool IsHintVisible
  62. {
  63. get { return isHintVisible; }
  64. set
  65. {
  66. if (isHintVisible != value)
  67. {
  68. isHintVisible = value;
  69. if (lbHint.InvokeRequired)
  70. {
  71. lbHint.Invoke(new Action(() =>
  72. {
  73. lbHint.Visible = isHintVisible;
  74. }));
  75. }
  76. else
  77. {
  78. lbHint.Visible = isHintVisible;
  79. }
  80. }
  81. }
  82. }
  83. private DataTable dtDiagnose;
  84. public DataTable DtDiagnose
  85. {
  86. get { return dtDiagnose; }
  87. set
  88. {
  89. dtDiagnose = value;
  90. dgvDiagnose.DataSource = dtDiagnose;
  91. }
  92. }
  93. public string personAccountUsedFlag
  94. {
  95. get
  96. {
  97. if (cbxAccountPay.Checked)
  98. {
  99. return "1";
  100. }
  101. else
  102. {
  103. return "0";
  104. }
  105. }
  106. set
  107. {
  108. if (value == "1")
  109. {
  110. cbxAccountPay.Checked = true;
  111. }
  112. else
  113. {
  114. cbxAccountPay.Checked = false;
  115. }
  116. }
  117. }
  118. public string halfwaySettlementFlag
  119. {
  120. get
  121. {
  122. if (cbHalfwaySettlement.Checked)
  123. {
  124. return "1";
  125. }
  126. else
  127. {
  128. return "0";
  129. }
  130. }
  131. set
  132. {
  133. if (value == "1")
  134. {
  135. cbHalfwaySettlement.Checked = true;
  136. }
  137. else
  138. {
  139. cbHalfwaySettlement.Checked = false;
  140. }
  141. }
  142. }
  143. public DischargeRegistration()
  144. {
  145. InitializeComponent();
  146. }
  147. public DischargeRegistration(Form frm)
  148. {
  149. InitializeComponent();
  150. InitForm(frm);
  151. }
  152. private void InitForm(Form frm)
  153. {
  154. mainForm = frm;
  155. CheckForIllegalCrossThreadCalls = false;
  156. // 禁用关闭按钮
  157. this.FormBorderStyle = FormBorderStyle.None;
  158. // 隐藏标题栏
  159. this.ControlBox = false;
  160. // 其他可能需要的配置
  161. if (mainForm != this)
  162. {
  163. this.TopLevel = false;
  164. this.Dock = DockStyle.Fill; // 根据需要设置 Dock 属性
  165. }
  166. else
  167. {
  168. this.WindowState = FormWindowState.Maximized;
  169. }
  170. }
  171. public void InitComboxDatasource()
  172. {
  173. grdSetter.SetDBLKCombox(ref dblkcbxDisease, DtDisease);
  174. //grdSetter.SetDBLKCombox(ref dblkcbxDiseaseType, DtDiseaseType);
  175. grdSetter.SetDBLKCombox(ref dblkcbxInsuranceType, DtInsuranceType);
  176. grdSetter.SetDBLKCombox(ref dblkcbxMedicalType, DtMedicalType);
  177. grdSetter.SetDBLKCombox(ref dblkcbxOperation, DtOperation);
  178. grdSetter.SetDBLKCombox(ref dblkcbxSettelmentWay, DtSettlementWay);
  179. }
  180. private void dblkcbxInsuranceType_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  181. {
  182. DataGridViewRow row = e.Value as DataGridViewRow;
  183. DataRowView dataRow = row.DataBoundItem as DataRowView;
  184. insuType = dataRow["Code"].ToString().Trim();
  185. insuTypeName = dataRow["Name"].ToString().Trim();
  186. }
  187. private void dblkcbxMedicalType_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  188. {
  189. DataGridViewRow row = e.Value as DataGridViewRow;
  190. DataRowView dataRow = row.DataBoundItem as DataRowView;
  191. med_type = dataRow["Code"].ToString().Trim();
  192. med_type_name = dataRow["Name"].ToString().Trim();
  193. Global.pat.medType = med_type;
  194. }
  195. private void dblkcbxDisease_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  196. {
  197. DataGridViewRow row = e.Value as DataGridViewRow;
  198. DataRowView dataRow = row.DataBoundItem as DataRowView;
  199. diseCodg = dataRow["Code"].ToString().Trim();
  200. diseName = dataRow["Name"].ToString().Trim();
  201. }
  202. private void dblkcbxOperation_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  203. {
  204. DataGridViewRow row = e.Value as DataGridViewRow;
  205. DataRowView dataRow = row.DataBoundItem as DataRowView;
  206. oprn_oprt_code = dataRow["Code"].ToString().Trim();
  207. oprn_oprt_name = dataRow["Name"].ToString().Trim();
  208. }
  209. private void dblkcbxSettelmentWay_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  210. {
  211. DataGridViewRow row = e.Value as DataGridViewRow;
  212. DataRowView dataRow = row.DataBoundItem as DataRowView;
  213. psn_setlway = dataRow["Code"].ToString().Trim();
  214. psn_setlway_name = dataRow["Name"].ToString().Trim();
  215. }
  216. private void dblkcbxDiseaseType_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  217. {
  218. DataGridViewRow row = e.Value as DataGridViewRow;
  219. DataRowView dataRow = row.DataBoundItem as DataRowView;
  220. dise_type_code = dataRow["Code"].ToString().Trim();
  221. dise_type_name = dataRow["Name"].ToString().Trim();
  222. }
  223. private void btSave_Click(object sender, EventArgs e)
  224. {
  225. SaveClicked?.Invoke(this, e);
  226. }
  227. }
  228. }