using DevExpress.XtraEditors; using System; using System.Collections.Generic; using System.Data; using System.Windows.Forms; using HL_FristAidPlatform_Public; using HL_FristAidPlatform_DTO; namespace HL_FristAidPlatform_MultiSystemPublic { public partial class Form_ImageMain : XtraForm { #region 变量 /// /// 当前患者编号(GUID) /// private string Cur_PatientGuid = string.Empty; /// /// 当前系统模块编号(ID) /// private string Cur_SystemModuleID = string.Empty; /// /// 查看图片类型 /// private Enumerate.ServiceImageFileType Cur_FileType; #endregion /// /// 图片列表查看 /// /// 当前患者编号(GUID) /// 当前系统模块编号(ID) /// 查看图片类型 public Form_ImageMain(string _patientGuid, string _systemModuleID, Enumerate.ServiceImageFileType _fileType) { Cur_PatientGuid = _patientGuid; Cur_SystemModuleID = _systemModuleID; Cur_FileType = _fileType; InitializeComponent(); } /// /// 窗体加载 /// /// /// private void Form_EcgImageMain_Load(object sender, EventArgs e) { BindList(); } /// /// 绑定数据列表 /// private void BindList() { try { string Url = string.Format("api/service/T_Service_Image/GetList?patientGuid={0}&systemModuleID={1}&fileType={2}", Cur_PatientGuid, Cur_SystemModuleID, (int)Cur_FileType); DataTable returnDT = DBHelpClass.Get(Url); if (returnDT != null && returnDT.Rows.Count > 0) { gridControl_Ecg.DataSource = returnDT; gridView_Ecg.BestFitColumns();//列宽自适应 } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定数据列表:\r\n" + ex); } } /// /// 自定义显示列 /// /// /// private void gridView_Ecg_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.FieldName == "FileType") { if (!string.IsNullOrEmpty(e.Value.ToString().Trim())) { if (e.Value.ToString().Trim() == Convert.ToString((int)Enumerate.ServiceImageFileType.CT检查)) { e.DisplayText = Enumerate.ServiceImageFileType.CT检查.ToString(); } else if (e.Value.ToString().Trim() == Convert.ToString((int)Enumerate.ServiceImageFileType.院前首份心电图)) { e.DisplayText = Enumerate.ServiceImageFileType.院前首份心电图.ToString(); } else if (e.Value.ToString().Trim() == Convert.ToString((int)Enumerate.ServiceImageFileType.院内首份心电图)) { e.DisplayText = Enumerate.ServiceImageFileType.院内首份心电图.ToString(); } } } } /// /// 双击列表事件 /// /// /// private void gridControl_Ecg_MouseDoubleClick(object sender, MouseEventArgs e) { ShowImage(); } /// /// 显示图片 /// private void ShowImage() { try { if (gridView_Ecg.DataRowCount > 0) { int selectRow = gridView_Ecg.GetSelectedRows()[0]; string guid = gridView_Ecg.GetRowCellValue(selectRow, "GUID").ToString(); if (!string.IsNullOrEmpty(guid)) { DataTable DetailDT = DBHelpClass.Get(string.Format("api/service/T_Service_Image/GetByGuid?guid={0}", guid)); if (DetailDT != null && DetailDT.Rows.Count > 0) { //图片 #region 图片 string FileImage = PublicClass.ToString(DetailDT.Rows[0]["FileImage"], ""); if (!string.IsNullOrEmpty(FileImage)) { byte[] image = Convert.FromBase64String(FileImage); Form_ImageShow frm = new Form_ImageShow(image); frm.ShowDialog(); } #endregion } } } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "显示图片:\r\n" + ex); } } /// /// 删除图片 /// private void DeleteImage() { try { if (gridView_Ecg.DataRowCount > 0) { int selectRow = gridView_Ecg.GetSelectedRows()[0]; long ID = PublicClass.ToInt64(gridView_Ecg.GetRowCellValue(selectRow, "ID"), 0); if (ID > 0) { if (XtraMessageBox.Show("确定要删除当前图片?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { List list = new List(); T_Service_ImageDTO model = new T_Service_ImageDTO(); model.ID = ID; model.GUID = Guid.NewGuid().ToString(); model.CreateTime = PublicClass.DateTimeNow(); list.Add(model); ClientFactory httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); string Url = "api/service/T_Service_Image/LogicalDelete"; if (client.Post(Url, list).Success) { XtraMessageBox.Show("删除图片文件成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; BindList(); } else { XtraMessageBox.Show("删除图片文件失败!请重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "删除当前图片:\r\n" + ex); } } /// /// 列表操作 /// /// /// private void repositoryItemButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { switch (e.Button.Caption) { case "查看图片": ShowImage(); break; case "删除图片": DeleteImage(); break; default: break; } } } }