using DevExpress.Utils; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraEditors.Repository; using DevExpress.XtraGrid.Views.Grid; 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_Personnel : XtraForm { /// /// 当前页 /// public int curPage = 1; /// /// 每页大小 /// public int pageSize = 100; /// /// 所有记录条数 /// public int totalNumber = 0; private DataTable ResultDT; public Form_Personnel() { InitializeComponent(); } private void Form_Personnel_Load(object sender, EventArgs e) { //#region 下拉框赋值 //DataTable table = new DataTable(); //DataColumn ddc = new DataColumn(); //ddc.ColumnName = "Name"; //ddc.Caption = "Name"; //table.Columns.Add(ddc); //DataColumn dnameDc = new DataColumn(); //dnameDc.Caption = "Value"; //dnameDc.ColumnName = "Value"; //table.Columns.Add(dnameDc); //DataRow ddr = table.NewRow(); //ddr["Name"] = 0; //ddr["Value"] = "男"; //table.Rows.Add(ddr); //DataRow ddr1 = table.NewRow(); //ddr1["Name"] = 1; //ddr1["Value"] = "女"; //table.Rows.Add(ddr1); //PublicClass.SetLookUpList(lookUpEdit_Gender, table, "Name", "Value", true, "请选择"); //DataTable dt = new DataTable(); //DataColumn ddc1 = new DataColumn(); //ddc1.ColumnName = "Name"; //ddc1.Caption = "Name"; //dt.Columns.Add(ddc1); //DataColumn dnameDc1 = new DataColumn(); //dnameDc1.Caption = "Value"; //dnameDc1.ColumnName = "Value"; //dt.Columns.Add(dnameDc1); //DataRow ddr2 = dt.NewRow(); //ddr2["Name"] = 0; //ddr2["Value"] = "空闲"; //dt.Rows.Add(ddr2); //DataRow ddr3 = dt.NewRow(); //ddr3["Name"] = 1; //ddr3["Value"] = "休假"; //dt.Rows.Add(ddr3); //DataRow ddr4 = dt.NewRow(); //ddr4["Name"] = 2; //ddr4["Value"] = "出车"; //dt.Rows.Add(ddr4); //PublicClass.SetLookUpList(lookUpEdit_CurrentState, dt, "Name", "Value", true, "请选择"); //DataTable dt1 = new DataTable(); //DataColumn ddc2 = new DataColumn(); //ddc2.ColumnName = "Name"; //ddc2.Caption = "Name"; //dt1.Columns.Add(ddc2); //DataColumn dnameDc2 = new DataColumn(); //dnameDc2.Caption = "Value"; //dnameDc2.ColumnName = "Value"; //dt1.Columns.Add(dnameDc2); //DataRow ddr5 = dt1.NewRow(); //ddr5["Name"] = 0; //ddr5["Value"] = "司机"; //dt1.Rows.Add(ddr5); //DataRow ddr6 = dt1.NewRow(); //ddr6["Name"] = 1; //ddr6["Value"] = "医生"; //dt1.Rows.Add(ddr6); //DataRow ddr7 = dt1.NewRow(); //ddr7["Name"] = 2; //ddr7["Value"] = "护士"; //dt1.Rows.Add(ddr7); //DataRow ddr8 = dt1.NewRow(); //ddr8["Name"] = 3; //ddr8["Value"] = "担架工"; //dt1.Rows.Add(ddr8); //#endregion GetPersonnelData(); } /// /// 人员信息列表数据 /// public void GetPersonnelData() { try { string name = txt_Personnel.Text; int gender = -1; switch (radioGroup3.SelectedIndex) { case 1: gender = 1; break; case 2: gender = 2; break; } int currentState = -1; switch (radioGroup2.SelectedIndex) { case 1: currentState = 0; break; case 2: currentState = 1; break; } int type = -1; switch (radioGroup1.SelectedIndex) { case 1: type = 0; break; case 2: type = 1; break; } //hospitalGuid, state, type, name, gender ResultDT = DBHelpClass.Get(string.Format("api/admin/T_SYS_User/GetFirstAidUserList?hospitalGuid={0}&state={1}&type={2}&name={3}&gender={4}&pageIndex={5}&pageSize={6}", Information.Hospital.GUID, currentState, type, name, gender, curPage, pageSize)); gridControl_Personnel.DataSource = ResultDT;//显示分页结果 totalNumber = DBHelpClass.TotalNumber; userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。 } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定数据列表:\r\n" + ex); } } private void barLargeButtonItem2_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { GetPersonnelData(); } private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (gridView1.DataRowCount > 0) { int selectRow = gridView1.GetSelectedRows()[0]; string guid = gridView1.GetRowCellValue(selectRow, "GUID").ToString(); string name = gridView1.GetRowCellValue(selectRow, "Name").ToString(); int gender = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "Gender").ToString()); int state = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "State").ToString()); string positionName = gridView1.GetRowCellValue(selectRow, "PositionName").ToString(); Form_PersonnelAdd frm = new Form_PersonnelAdd(guid, name, gender, state, positionName); if (frm.ShowDialog() == DialogResult.OK) { GetPersonnelData(); //定位 PublicClass.LocationForGridView(gridView1, guid, 0); } } } private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { GridView View = sender as GridView; if (e.Column.FieldName == "Gender") { int gender = PublicClass.ToInt32(e.Value, 0); switch (gender) { case 0: e.DisplayText = "未知"; break; case 1: e.DisplayText = "男"; break; case 2: e.DisplayText = "女"; break; default: break; } } if (e.Column.FieldName == "State") { int state = PublicClass.ToInt32(e.Value, 0); switch (state) { case 0: e.DisplayText = "非当值"; break; case 1: e.DisplayText = "待命"; break; case 2: e.DisplayText = "出警"; break; } } } private void repositoryItemButtonEdit1_ButtonClick_1(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { try { #region 删除 if (gridView1.DataRowCount > 0) { int selectRow = gridView1.GetSelectedRows()[0]; string guid = gridView1.GetRowCellValue(selectRow, "GUID").ToString(); if (string.IsNullOrEmpty(guid)) { XtraMessageBox.Show("请先选择要删除的用户!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } DialogResult dr = XtraMessageBox.Show("确认是否删除", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dr == DialogResult.Yes) { string state = gridView1.GetRowCellValue(selectRow, "CurrentState").ToString(); if (state == "2") { XtraMessageBox.Show("该用户状态未出车,请交接完成后再执行此操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } List list = new List(); T_Service_FistAid_PersonnelDTO model = new T_Service_FistAid_PersonnelDTO(); string Url = "api/service/T_Service_FistAid_Personnel/Delete"; model.GUID = guid; 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); GetPersonnelData(); } 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) { this.Close(); } private void btn_Insert_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Form_PersonnelAdd frm = new Form_PersonnelAdd("", "", -1, -1, ""); if (frm.ShowDialog() == DialogResult.OK) { //列表分页数据绑定 GetPersonnelData(); //定位 PublicClass.LocationForGridView(gridView1, "", 0); } } private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { if (e.Column.FieldName == "State") { if ((string)e.CellValue == "0") e.Appearance.ForeColor = Color.Gray; } if (e.Column.FieldName == "State") { if ((string)e.CellValue == "1") e.Appearance.ForeColor = Color.Green; } if (e.Column.FieldName == "State") { if ((string)e.CellValue == "2") e.Appearance.ForeColor = Color.Red; } } private void Form_Personnel_FormClosed(object sender, FormClosedEventArgs e) { this.Dispose(); } private void simpleButton1_Click(object sender, EventArgs e) { GetPersonnelData(); } private void gridControl_Personnel_Click(object sender, EventArgs e) { if (gridView1.DataRowCount > 0) { int selectRow = gridView1.GetSelectedRows()[0]; string guid = gridView1.GetRowCellValue(selectRow, "GUID").ToString(); string name = gridView1.GetRowCellValue(selectRow, "Name").ToString(); int gender = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "Gender").ToString()); int state = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "State").ToString()); string positionName = gridView1.GetRowCellValue(selectRow, "PositionName").ToString(); Form_PersonnelAdd frm = new Form_PersonnelAdd(guid, name, gender, state, positionName); if (frm.ShowDialog() == DialogResult.OK) { GetPersonnelData(); //定位 PublicClass.LocationForGridView(gridView1, guid, 0); } } } /// /// 动态按钮事件 /// /// /// private void RiButtonEdit_ButtonClick(object sender, ButtonPressedEventArgs e) { int selectRow = gridView1.GetSelectedRows()[0]; string Guid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "GUID").ToString(), ""); string taskGuid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "State").ToString(), ""); UserUpdateSateDTO dto = new UserUpdateSateDTO(); List list = new List(); string Url = "api/admin/T_SYS_User/UpdateSate"; dto.GUID = Guid; switch (e.Button.Caption) { case "出车": dto.Type = 1; break; case "不出车": dto.Type = 0; break; } list.Add(dto); //初始化两个工厂 ClientFactory httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); if (client.Post(Url, list).Success) { XtraMessageBox.Show("修改成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); GetPersonnelData(); } } private void gridView1_CustomRowCellEdit(object sender, 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.ButtonClick += RiButtonEdit_ButtonClick; riButtonEdit.Buttons.Add(bt1); } else if(state == "1") { 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.ButtonClick += RiButtonEdit_ButtonClick; riButtonEdit.Buttons.Add(bt1); } e.RepositoryItem = riButtonEdit; } } catch (Exception) { throw; } } private void userControlForPage_myPagerEvents(int curPage, int pageSize) { userControlForPage.myPagerEvents += MyPagerEvents; } private void MyPagerEvents(int curPage, int pageSize) { this.curPage = curPage; this.pageSize = pageSize; GetPersonnelData(); } } }