StableVersion4.3/HL_FristAidPlatform_Base/Form_DiseaseTemplateMain.cs

365 lines
14 KiB
C#
Raw 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.Windows.Forms;
namespace HL_FristAidPlatform_Base
{
public partial class Form_DiseaseTemplateMain : XtraForm
{
#region 变量
/// <summary>
/// 操作标志 1:新增 2:修改
/// </summary>
public int Flag = 1;
/// <summary>
/// 当前页
/// </summary>
public int curPage = 1;
/// <summary>
/// 每页大小
/// </summary>
public int pageSize = 100;
/// <summary>
/// 所有记录条数
/// </summary>
public int totalNumber = 0;
#endregion
#region 分页实现
public void ExportEvents(bool singlePage)//单页,所有
{
//导出GridControl代码写在这。
}
public void RefreshGridList()
{
FillGridListCtrlQuery(curPage);//自己实现FillGridListCtrlQuery函数。
}
/// <summary>
/// 绑定数据列表
/// </summary>
/// <returns></returns>
private void FillGridListCtrlQuery(int curPage)
{
try
{
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/base/T_Base_DiseaseTemplate?pageIndex={0}&pageSize={1}&keyWord={2}&deleteFlag={3}", curPage, pageSize, txt_Key.Text.ToString().Trim(), DeleteFlag));
grid_Template.DataSource = ResultDT;//显示分页结果
totalNumber = DBHelpClass.TotalNumber;
userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定数据列表:\r\n" + ex);
}
}
private void MyPagerEvents(int curPage, int pageSize)
{
this.curPage = curPage;
this.pageSize = pageSize;
FillGridListCtrlQuery(curPage);
}
private void userControlForPage_exportEvents(bool singlePage)
{
userControlForPage.exportEvents += ExportEvents;
}
private void userControlForPage_myPagerEvents(int curPage, int pageSize)
{
userControlForPage.myPagerEvents += MyPagerEvents;
}
#endregion
public Form_DiseaseTemplateMain()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_DiseaseTemplateMain_Load(object sender, EventArgs e)
{
RefreshGridList();
//详情控件初始化
PublicClass.EnabledControl(this.group_Detail, true, false);
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//列表分页数据绑定
RefreshGridList();
}
private void txt_Key_EditValueChanged(object sender, EventArgs e)
{
RefreshGridList();
}
private void cmb_DeleteFlag_SelectedIndexChanged(object sender, EventArgs e)
{
RefreshGridList();
}
/// <summary>
/// 新增
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Insert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
PublicClass.EnabledControl(this.group_Detail, false, true);
btn_Delete.Enabled = false;
ckb_DeleteFlag.Checked = true;
txt_OrderBy.Text = "1";
Flag = 1;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
BindDetail();
PublicClass.EnabledControl(this.group_Detail, false, false);
btn_Delete.Enabled = false;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Delete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
try
{
#region 删除
if (grv_Template.DataRowCount > 0)
{
int selectRow = grv_Template.GetSelectedRows()[0];
int ID = Convert.ToInt32(grv_Template.GetRowCellValue(selectRow, "ID").ToString());
string Content = grv_Template.GetRowCellValue(selectRow, "Content").ToString();
if (ID == 0)
{
XtraMessageBox.Show("请先选择要删除的病情模板!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (XtraMessageBox.Show(string.Format("确定要删除病情模板【{0}】?", Content), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
List<T_Base_DiseaseTemplateDTO> list = new List<T_Base_DiseaseTemplateDTO>();
T_Base_DiseaseTemplateDTO model = new T_Base_DiseaseTemplateDTO();
string Url = "api/base/T_Base_DiseaseTemplate/LogicalDelete";
model.ID = ID;
model.DeleteFlag = 1;
list.Add(model);
//初始化两个工厂
ClientFactory<T_Base_DiseaseTemplateDTO> httpClient = new HttpClientFactory<T_Base_DiseaseTemplateDTO>();
Client<T_Base_DiseaseTemplateDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Base_DiseaseTemplateDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show("删除病情模板成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
PublicClass.EnabledControl(this.group_Detail, true, false);
Flag = 0;
//列表分页数据绑定
RefreshGridList();
}
else
{
XtraMessageBox.Show("删除病情模板失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "删除:\r\n" + ex);
}
}
/// <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_Content.Text.ToString().Trim()))
{
XtraMessageBox.Show("模板内容不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_Content.Focus();
return;
}
List<T_Base_DiseaseTemplateDTO> list = new List<T_Base_DiseaseTemplateDTO>();
T_Base_DiseaseTemplateDTO model = new T_Base_DiseaseTemplateDTO();
string Url = string.Empty;
if (Flag == 1)
{
Url = "api/base/T_Base_DiseaseTemplate";
model.GUID = Guid.NewGuid().ToString();
model.CreationDate = PublicClass.DateTimeNow();
model.CreatorID = Information.User.ID;
model.Creator = Information.User.FullName;
}
else
{
Url = "api/base/T_Base_DiseaseTemplate/Update";
model.ID = Convert.ToInt32(txt_Content.Tag.ToString());
model.CreationDate = PublicClass.DateTimeNow();
model.GUID = txt_Keywords.Tag.ToString();
}
model.Content = txt_Content.Text.ToString().Trim();
model.Keywords = txt_Keywords.Text.ToString().Trim();
model.PymCode = txt_PymCode.Text.ToString().Trim();
model.WbmCode = txt_WbmCode.Text.ToString().Trim();
model.Type = 1;//目前只有1 登记模板
model.OrderBy = Convert.ToInt32(txt_OrderBy.Text.ToString().Trim() == "" ? "0" : txt_OrderBy.Text.ToString().Trim());
model.DeleteFlag = ckb_DeleteFlag.Checked == true ? 0 : 1;
list.Add(model);
//初始化两个工厂
ClientFactory<T_Base_DiseaseTemplateDTO> httpClient = new HttpClientFactory<T_Base_DiseaseTemplateDTO>();
Client<T_Base_DiseaseTemplateDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Base_DiseaseTemplateDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show("保存病情模板信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
PublicClass.EnabledControl(group_Detail, true, false);
Flag = 0;
//列表分页数据绑定
RefreshGridList();
btn_Delete.Enabled = true;
//定位
PublicClass.LocationForGridView(grv_Template, model.GUID, 1);
}
else
{
XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "保存:\r\n" + ex);
}
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
Close();
}
#region 方法
/// <summary>
/// 绑定详情
/// </summary>
private void BindDetail()
{
try
{
if (grv_Template.DataRowCount > 0)
{
int selectRow = grv_Template.GetSelectedRows()[0];
long ID = Convert.ToInt64(grv_Template.GetRowCellValue(selectRow, "ID").ToString());
DataTable DetailDT = DBHelpClass.GetDataRow(string.Format("api/base/T_Base_DiseaseTemplate/{0}", ID));
if (DetailDT != null && DetailDT.Rows.Count > 0)
{
Flag = 2;//修改标识
txt_Content.Tag = DetailDT.Rows[0]["ID"].ToString();
txt_Content.Text = DetailDT.Rows[0]["Content"].ToString();
txt_Keywords.Tag = DetailDT.Rows[0]["GUID"].ToString();
txt_Keywords.Text = DetailDT.Rows[0]["Keywords"].ToString();
txt_PymCode.Tag = DetailDT.Rows[0]["PymCode"].ToString();
txt_WbmCode.Text = DetailDT.Rows[0]["WbmCode"].ToString();
txt_OrderBy.Text = DetailDT.Rows[0]["OrderBy"].ToString();
ckb_DeleteFlag.Checked = DetailDT.Rows[0]["DeleteFlag"].ToString().Trim() == "0" ? true : false;
}
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定详情:\r\n" + ex);
}
}
#endregion
private void grid_Template_MouseClick(object sender, MouseEventArgs e)
{
GridHitInfo hi = grv_Template.CalcHitInfo(new Point(e.X, e.Y));
//单击数据行
if (hi.InRow)//单击的是列头 hi.InColumn
{
PublicClass.EnabledControl(this.group_Detail, true, false);
BindDetail();
}
}
/// <summary>
/// 生成拼音码和五笔码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txt_Content_EditValueChanged(object sender, EventArgs e)
{
string Content = txt_Content.Text;
if (!string.IsNullOrEmpty(Content))
{
txt_PymCode.Text = SpellAndWbConfig.GetSpellCode(Content);
txt_WbmCode.Text = SpellAndWbConfig.GetWBCode(Content);
}
}
}
}