StableVersion4.3/HL_FristAidPlatform_SYS/Form_SystemModuleMain.cs

336 lines
12 KiB
C#
Raw Permalink Normal View History

2024-03-11 09:47:34 +08:00
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 变量
/// <summary>
/// 操作标志 1:新增 2:修改
/// </summary>
public int Flag = 1;
/// <summary>
/// 当前图标文件名
/// </summary>
private string Cur_Icon = string.Empty;
/// <summary>
/// 当前图标(转换成二进制之后数据)
/// </summary>
private string Cur_PicData = string.Empty;
/// <summary>
/// 当前图片的位图源
/// </summary>
private Bitmap Cur_ImageBitmap;
#endregion
public Form_SystemModuleMain()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
BindData();
}
/// <summary>
/// 单击绑定详情
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<T_SYS_SystemModuleDTO> list = new List<T_SYS_SystemModuleDTO>();
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<T_SYS_SystemModuleDTO> httpClient = new HttpClientFactory<T_SYS_SystemModuleDTO>();
Client<T_SYS_SystemModuleDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_SYS_SystemModuleDTO> 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 方法
/// <summary>
/// 查询绑定
/// </summary>
private void BindData()
{
BindSystemModule();
}
/// <summary>
/// 绑定
/// </summary>
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);
}
}
/// <summary>
/// 绑定详情
/// </summary>
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
/// <summary>
/// 选择图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
}
}