using DevExpress.Utils; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraEditors.Repository; using HL_FristAidPlatform_DTO; using HL_FristAidPlatform_Public; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Windows.Forms; namespace HL_FristAidPlatform_PreHospitalEmergency { public partial class Form_DrugManagement : XtraForm { /// /// 当前页 /// public int curPage = 1; /// /// 每页大小 /// public int pageSize = 20; /// /// 所有记录条数 /// public int totalNumber = 0; DataTable ResultDT; public Form_DrugManagement() { InitializeComponent(); } private void Form_DrugManagement_Load(object sender, EventArgs e) { RefreshData(); } private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.Close(); } private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { RefreshData(); } //绑定数据 public void RefreshData() { try { #region 绑定数据源 string Url = string.Format("api/service/T_Service_FirstAid_DrugManagement?hospitalGuid={0}&drugName={1}&batchNumber={2}&manufacturer={3}&temporary={4}&expired={5}&pageIndex={6}&pageSize={7}", Information.Hospital.GUID, "", "", "", false, false, curPage, pageSize); ResultDT = DBHelpClass.Get(Url); gridControl1.DataSource = ResultDT;//显示分页结果 gridView1.Appearance.EvenRow.BackColor = Color.FromArgb(245, 245, 245); gridView1.Appearance.OddRow.BackColor = Color.FromArgb(255, 255, 255); gridView1.OptionsView.EnableAppearanceEvenRow = true; gridView1.OptionsView.EnableAppearanceOddRow = true; gridView1.BestFitColumns();//列宽自适应 totalNumber = DBHelpClass.TotalNumber; userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。 #endregion } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定数据源:\r\n" + ex); } } private void Form_DrugManagement_FormClosed(object sender, FormClosedEventArgs e) { this.Dispose(); } private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { if (gridView1.GetRow(e.RowHandle) == null) { return; } else { if (e.Column.FieldName == "TermOfValidity") { DateTime dt = Convert.ToDateTime(gridView1.GetRowCellValue(e.RowHandle, "TermOfValidity").ToString()); int days = new TimeSpan(dt.Ticks - DateTime.Now.Ticks).Days; if (days <= 30) //条件判断 { e.Appearance.BackColor = Color.FromArgb(255, 212, 41); e.Appearance.ForeColor = Color.White; } if (dt < DateTime.Now) { e.Appearance.BackColor = Color.FromArgb(255, 108, 79); e.Appearance.ForeColor = Color.White; } } if (e.Column.FieldName == "State") { int state=int.Parse(gridView1.GetRowCellValue(e.RowHandle, "State").ToString()); switch (state) { case -1: e.Appearance.ForeColor = Color.Gray; break; case 0: e.Appearance.ForeColor = Color.Orange; break; case 1: e.Appearance.ForeColor = Color.Green; break; case 2: e.Appearance.ForeColor = Color.Red; break; } } } } private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e) { try { if (ResultDT != null && e.Column.Name == "gridColumn_operate") { RepositoryItemButtonEdit riButtonEdit = new RepositoryItemButtonEdit(); riButtonEdit.Buttons.Clear(); riButtonEdit.TextEditStyle = TextEditStyles.HideTextEditor; string state = PublicClass.ToString(gridView1.GetRowCellValue(e.RowHandle, "State"), ""); if (state == "0") { EditorButton bt1 = new EditorButton(); bt1.Kind = ButtonPredefines.Glyph; bt1.Caption = "修改"; bt1.Visible = true; bt1.Enabled = true; bt1.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt1.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt1); EditorButton bt2 = new EditorButton(); bt2.Kind = ButtonPredefines.Glyph; bt2.Caption = "删除"; bt2.Visible = true; bt2.Enabled = true; bt2.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt2.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt2); } else if (state == "1") { EditorButton bt3 = new EditorButton(); bt3.Kind = ButtonPredefines.Glyph; bt3.Caption = "出库"; bt3.Visible = true; bt3.Enabled = true; bt3.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt3.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt3); } else if (state == "-1") { EditorButton bt4 = new EditorButton(); bt4.Kind = ButtonPredefines.Glyph; bt4.Caption = "添加"; bt4.Visible = true; bt4.Enabled = true; bt4.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt4.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt4); EditorButton bt5 = new EditorButton(); bt5.Kind = ButtonPredefines.Glyph; bt5.Caption = "删除"; bt5.Visible = true; bt5.Enabled = true; bt5.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt5.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt5); } else if (state == "2") { EditorButton bt6 = new EditorButton(); bt6.Kind = ButtonPredefines.Glyph; bt6.Caption = "申请审核"; bt6.Visible = true; bt6.Enabled = true; bt6.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt6.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt6); EditorButton bt7 = new EditorButton(); bt7.Kind = ButtonPredefines.Glyph; bt7.Caption = "修改"; bt7.Visible = true; bt7.Enabled = true; bt7.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt7.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt7); EditorButton bt8 = new EditorButton(); bt8.Kind = ButtonPredefines.Glyph; bt8.Caption = "删除"; bt8.Visible = true; bt8.Enabled = true; bt8.Appearance.TextOptions.HAlignment = HorzAlignment.Near; bt8.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; riButtonEdit.Buttons.Add(bt8); } riButtonEdit.ButtonClick += RiButtonEdit_ButtonClick; e.RepositoryItem = riButtonEdit; } } catch (Exception) { throw; } } /// /// 动态按钮事件 /// /// /// private void RiButtonEdit_ButtonClick(object sender, ButtonPressedEventArgs e) { int selectRow = gridView1.GetSelectedRows()[0]; if (selectRow <= -1) { MessageBox.Show("请先选中一行数据"); return; } string _guid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "ManagementGUID"), ""); switch (e.Button.Caption) { case "修改": string name = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Name"), ""); string source = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugSource"), ""); string inventory = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Inventory"), ""); string manufacturer = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Manufacturer"), ""); string batchNumber = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "BatchNumber"), ""); string termOfValidity = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "TermOfValidity"), ""); string drugguid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugGUID"), ""); Form_DrugCheckIn form_DrugCheckIn = new Form_DrugCheckIn(_guid, name, source, inventory, manufacturer, batchNumber, termOfValidity, drugguid, 0); form_DrugCheckIn.Owner = this; form_DrugCheckIn.Show(); break; case "出库": string _name = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Name"), ""); string _inventory = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Inventory"), ""); Form_ExwarehouseDrug drug = new Form_ExwarehouseDrug(_guid, _name, _inventory); drug.Owner = this; drug.Show(); break; case "删除": try { DialogResult dr = XtraMessageBox.Show("确认是否删除", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dr == DialogResult.Yes) { List list = new List(); GUIDDTO dto = new GUIDDTO(); dto.GUID = _guid; string Url = "api/service/T_Service_FirstAid_DrugManagement/LogicalDeletionDrug"; list.Add(dto); //初始化两个工厂 ClientFactory httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity t = client.Post(Url, list); if (t.Success) { XtraMessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("删除失败"); } } else { return; } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "删除:\r\n" + ex); } break; case "添加": string drugname = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Name"), ""); string rugsource = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugSource"), ""); string ruginventory = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Inventory"), ""); string rugmanufacturer = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Manufacturer"), ""); string rugbatchNumber = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "BatchNumber"), ""); string rugtermOfValidity = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "TermOfValidity"), ""); string drugGuid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugGUID"), ""); Form_DrugCheckIn addDrug = new Form_DrugCheckIn(_guid, drugname, rugsource, ruginventory, rugmanufacturer, rugbatchNumber, rugtermOfValidity, drugGuid, 1); addDrug.Owner = this; addDrug.Show(); break; case "申请审核": List list1 = new List(); AuditDTO dto1 = new AuditDTO(); dto1.GUID = _guid; dto1.Type = 0; list1.Add(dto1); string Url1 = "api/service/FristAidTran/ExamineGrug"; //初始化两个工厂 ClientFactory httpClient1 = new HttpClientFactory(); Client client1 = httpClient1.VisitFactory(); //访问 ListEntity t1 = client1.Post(Url1, list1); if (t1.Success) { MessageBox.Show("提交成功"); RefreshData(); } else { MessageBox.Show("提交失败"); } break; } } private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.FieldName == "State") { int state = PublicClass.ToInt32(e.Value, 0); switch (state) { case -1: e.DisplayText = "无状态"; break; case 0: e.DisplayText = "等待审核"; break; case 1: e.DisplayText = "通过审核"; break; case 2: e.DisplayText = "审核不通过"; break; } } } private void ck_temporary_Click(object sender, EventArgs e) { if (ck_temporary.Checked==true) { ck_expired.Checked = false; } } private void ck_expired_Click(object sender, EventArgs e) { if (ck_expired.Checked==true) { ck_temporary.Checked = false; } } private void simpleButton2_Click(object sender, EventArgs e) { bool temporary = false; if (ck_temporary.Checked == true) { temporary = true; } bool expired = false; if (ck_expired.Checked == true) { expired = true; } string Url = string.Format("api/service/T_Service_FirstAid_DrugManagement?hospitalGuid={0}&drugName={1}&batchNumber={2}&manufacturer={3}&temporary={4}&expired={5}&pageIndex={6}&pageSize={7}", Information.Hospital.GUID, textEdit_DrugName.Text, textEdit_BatchNumber.Text, textEdit_Manufacturer.Text, temporary, expired, curPage, pageSize); DataTable ResultDT = DBHelpClass.Get(Url); gridControl1.DataSource = ResultDT;//显示分页结果 gridView1.Appearance.EvenRow.BackColor = Color.FromArgb(245, 245, 245); gridView1.Appearance.OddRow.BackColor = Color.FromArgb(255, 255, 255); gridView1.OptionsView.EnableAppearanceEvenRow = true; gridView1.OptionsView.EnableAppearanceOddRow = true; } private void simpleButton1_Click(object sender, EventArgs e) { Form_DrugCheckIn form_DrugCheckIn = new Form_DrugCheckIn("", "", "", "", "", "", "", "", 0); form_DrugCheckIn.Owner = this; form_DrugCheckIn.Show(); } private void userControlForPage_exportEvents(bool singlePage) { userControlForPage.myPagerEvents += MyPagerEvents; } private void MyPagerEvents(int curPage, int pageSize) { this.curPage = curPage; this.pageSize = pageSize; RefreshData(); } } }