using DevExpress.XtraEditors; using DevExpress.XtraGrid.Views.Grid.ViewInfo; using HL_FristAidPlatform_DTO; using HL_FristAidPlatform_Public; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.IO; using System.Windows.Forms; namespace HL_FristAidPlatform_SYS { public partial class Form_SystemModuleMain : Form { #region 变量 /// /// 操作标志 1:新增 2:修改 /// public int Flag = 1; /// /// 当前图标文件名 /// private string Cur_Icon = string.Empty; /// /// 当前图标(转换成二进制之后数据) /// private string Cur_PicData = string.Empty; /// /// 当前图片的位图源 /// private Bitmap Cur_ImageBitmap; #endregion public Form_SystemModuleMain() { InitializeComponent(); } /// /// 窗体加载 /// /// /// private void Form_SystemModuleMain_Load(object sender, EventArgs e) { BindData(); //详情控件初始化 PublicClass.EnabledControl(this.group_Detail, true, false); } private void txt_Key_TextChanged(object sender, EventArgs e) { BindData(); } private void cmb_IsOpen_SelectedIndexChanged(object sender, EventArgs e) { BindData(); } private void cmb_DeleteFlag_SelectedIndexChanged(object sender, EventArgs e) { BindData(); } /// /// 查询 /// /// /// private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { BindData(); } /// /// 单击绑定详情 /// /// /// private void grid_SystemModule_MouseClick(object sender, MouseEventArgs e) { GridHitInfo hi = grv_SystemModule.CalcHitInfo(new Point(e.X, e.Y)); //单击数据行 if (hi.InRow)//单击的是列头 hi.InColumn { PublicClass.EnabledControl(this.group_Detail, true, false); BindDetail(); } } private void btn_Insert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { PublicClass.EnabledControl(group_Detail, false, true); ckb_DeleteFlag.Checked = true; ckb_IsOpen.Checked = true; pictureEdit_Icon.Image = null; Flag = 1; } private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { BindDetail(); PublicClass.EnabledControl(group_Detail, false, false); } /// /// 保存 /// /// /// private void btn_Save_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { #region 保存 if (string.IsNullOrEmpty(txt_SystemName.Text.ToString().Trim())) { XtraMessageBox.Show("系统名称不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); txt_SystemName.Focus(); return; } List list = new List(); T_SYS_SystemModuleDTO model = new T_SYS_SystemModuleDTO(); string Url = string.Empty; if (Flag == 1) { Url = "api/admin/T_SYS_SystemModule"; model.GUID = Guid.NewGuid().ToString(); model.CreationDate = PublicClass.DateTimeNow(); } else { Url = "api/admin/T_SYS_SystemModule/Update"; model.ID = Convert.ToInt32(txt_SystemName.Tag.ToString()); model.GUID = txt_EnglishName.Tag.ToString(); model.CreationDate = txt_ShortName.Tag.ToString(); } model.SystemName = txt_SystemName.Text.ToString().Trim(); model.EnglishName = txt_EnglishName.Text.ToString().Trim(); model.ShortName = txt_ShortName.Text.ToString().Trim(); model.PatientTypeName = txt_PatientTypeName.Text.ToString().Trim(); model.Icon = Cur_Icon; model.IconData = Convert.FromBase64String(Cur_PicData); model.OrderBy = Convert.ToInt32(txt_OrderBy.Text.ToString().Trim()); model.IsOpen = ckb_IsOpen.Checked == true ? 0 : 1; model.IsHaveTimeAxis = ckb_IsHaveTimeAxis.Checked == true ? 0 : 1; model.DeleteFlag = ckb_DeleteFlag.Checked == true ? 0 : 1; list.Add(model); //初始化两个工厂 ClientFactory httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity t = client.Post(Url, list); if (t.Success) { XtraMessageBox.Show("保存系统系统信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); PublicClass.EnabledControl(group_Detail, true, false); Flag = 0; //列表分页数据绑定 BindData(); //定位 PublicClass.LocationForGridView(grv_SystemModule, model.GUID, 1); } else { XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endregion } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "保存:\r\n" + ex); } } private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Close(); } #region 方法 /// /// 查询绑定 /// private void BindData() { BindSystemModule(); } /// /// 绑定 /// private void BindSystemModule() { try { #region 绑定 int IsOpen = -1; if (cmb_IsOpen.Text.ToString().Trim() == "开启") IsOpen = 0; else if (cmb_IsOpen.Text.ToString().Trim() == "关闭") IsOpen = 1; else IsOpen = -1; int DeleteFlag = -1; if (cmb_DeleteFlag.Text.ToString().Trim() == "启用") DeleteFlag = 0; else if (cmb_DeleteFlag.Text.ToString().Trim() == "禁用") DeleteFlag = 1; else DeleteFlag = -1; DataTable ResultDT = DBHelpClass.Get(string.Format("/api/admin/T_SYS_SystemModule?keyWord={0}&isOpen={1}&deleteFlag={2}", txt_Key.Text.ToString().Trim(), IsOpen, DeleteFlag)); //显示结果 grid_SystemModule.DataSource = ResultDT; //自动调整所有字段宽度 grv_SystemModule.BestFitColumns(); #endregion } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定:\r\n" + ex); } } /// /// 绑定详情 /// private void BindDetail() { try { #region 绑定详情 if (grv_SystemModule.DataRowCount > 0) { int selectRow = grv_SystemModule.GetSelectedRows()[0]; string ModuleID = grv_SystemModule.GetRowCellValue(selectRow, "ID").ToString(); DataTable DetailDT = DBHelpClass.GetDataRow(string.Format("api/admin/T_SYS_SystemModule/{0}", ModuleID)); if (DetailDT != null && DetailDT.Rows.Count > 0) { Flag = 2;//修改标识 txt_SystemName.Tag = DetailDT.Rows[0]["ID"].ToString(); txt_SystemName.Text = DetailDT.Rows[0]["SystemName"].ToString(); txt_EnglishName.Tag = DetailDT.Rows[0]["GUID"].ToString(); txt_EnglishName.Text = DetailDT.Rows[0]["EnglishName"].ToString(); txt_ShortName.Tag = DetailDT.Rows[0]["CreationDate"].ToString(); txt_ShortName.Text = DetailDT.Rows[0]["ShortName"].ToString(); txt_PatientTypeName.Text = DetailDT.Rows[0]["PatientTypeName"].ToString(); #region 图片 if (!string.IsNullOrEmpty(PublicClass.ToString(DetailDT.Rows[0]["IconData"], ""))) { MemoryStream ms = new MemoryStream(Convert.FromBase64String(DetailDT.Rows[0]["IconData"].ToString())); Image img = Image.FromStream(ms); Cur_ImageBitmap = new Bitmap(img, pictureEdit_Icon.Width, pictureEdit_Icon.Height); pictureEdit_Icon.Image = Cur_ImageBitmap; Cur_Icon = DetailDT.Rows[0]["Icon"].ToString(); //所选图标转换成二进制 Cur_PicData = PublicClass.Png2String(Cur_ImageBitmap); } else { pictureEdit_Icon.Image = null; } #endregion txt_OrderBy.Text = DetailDT.Rows[0]["OrderBy"].ToString(); ckb_IsOpen.Checked = DetailDT.Rows[0]["IsOpen"].ToString().Trim() == "0" ? true : false; ckb_IsHaveTimeAxis.Checked = DetailDT.Rows[0]["IsHaveTimeAxis"].ToString().Trim() == "0" ? true : false; ckb_DeleteFlag.Checked = DetailDT.Rows[0]["DeleteFlag"].ToString().Trim() == "0" ? true : false; } } #endregion } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定详情:\r\n" + ex); } } #endregion /// /// 选择图片 /// /// /// private void btn_SelFlie_Click(object sender, EventArgs e) { try { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Image Files(*.PNG)|*.PNG;|All files(*.*)|*.*"; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) { FileInfo file = new FileInfo(ofd.FileName); if (file.Extension == ".png" || file.Extension == ".PNG") { string Cur_PicAddress = ofd.FileName; Image imge = Image.FromFile(Cur_PicAddress); Cur_ImageBitmap = new Bitmap(imge, pictureEdit_Icon.Width, pictureEdit_Icon.Height); pictureEdit_Icon.Image = Cur_ImageBitmap; Cur_Icon = file.Name; //所选图标转换成二进制 Cur_PicData = PublicClass.Png2String(Cur_ImageBitmap); } else { XtraMessageBox.Show("为确保系统美观度,请上传.png格式的图标!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "选择图片:\r\n" + ex); } } } }