From 5aba1bf12cd27faa797e7f3d15e0f960bdc2a4b2 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 05 七月 2024 16:57:09 +0800 Subject: [PATCH] 优化界面 --- WinFrmUI/HStation.WinFrmUI.Xhs.Project/01-project/XhsProjectListPage.cs | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 204 insertions(+), 11 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Project/01-project/XhsProjectListPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Project/01-project/XhsProjectListPage.cs index 03b77af..b0d460b 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Project/01-project/XhsProjectListPage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Project/01-project/XhsProjectListPage.cs @@ -1,21 +1,214 @@ -锘縰sing DevExpress.XtraEditors; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; +锘縰sing HStation.Dto; +using HStation.WinFrmUI.Xhs; +using HStation.WinFrmUI.Xhs.Project; +using ISupply.WinFrmUI; namespace HStation.WinFrmUI { - public partial class XhsProjectListPage : DevExpress.XtraEditors.XtraForm + public partial class XhsProjectListPage : DocumentPage { public XhsProjectListPage() { InitializeComponent(); + this.PageTitle.Caption = "椤圭洰绠$悊"; + this.gridView1.SetNormalView(); + this.gridView1.RegistCustomDrawRowIndicator(); + } + + /// <summary> + /// 鍒濆鍖栨暟鎹� + /// </summary> + public override void InitialDataSource() + { + SetBindingData(); + } + + private new BLL.XhsProject _bll = new BLL.XhsProject(); + + private List<ProjectViewModel> _allBindingList = new List<ProjectViewModel>(); + + private ProjectViewModel _prjviewmodel = new ProjectViewModel(); + + /// <summary> + /// 鍒濆鍖栨暟鎹� + /// </summary> + private async void SetBindingData() + { + _allBindingList.Clear(); + var alllist = await _bll.GetAll(); + if (alllist != null) + { + foreach (var item in alllist) + { + var model = new ProjectViewModel(item); + _allBindingList.Add(await _prjviewmodel.SetUploadStatusAsync(model)); + } + this.projectViewModelBindingSource.DataSource = _allBindingList; + this.projectViewModelBindingSource.ResetBindings(false); + } + } + + //娣诲姞 + private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var dlg = new AddProjectDlg(); + dlg.ReloadEvent += async (pro, item, model, map) => + { + var id = await _bll.InsertEx(pro, item, model, map); + if (id > 0) + { + var vmmodel = await _bll.GetByID(id); + _allBindingList.Add(await new ProjectViewModel().SetUploadStatusAsync(vmmodel)); + this.projectViewModelBindingSource.ResetBindings(false); + return true; + } + return false; + }; + dlg.ShowDialog(); + } + + //淇敼 + private void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var vm = this.gridView1.GetCurrentViewModel(_allBindingList); + if (vm == null) + { + MessageBoxHelper.ShowError("璇烽�夋嫨鏁版嵁琛�!"); + return; + } + var dlg = new EditProjectDlg(); + dlg.SetBindingData(vm.ID); + dlg.ReloadEvent += async (prj, item) => + { + if (await _bll.UpdateEx(prj, item)) + { + vm.Reset(prj); + this.projectViewModelBindingSource.ResetBindings(false); + return true; + } + return false; + }; + dlg.ShowDialog(); + } + + //鍒犻櫎 + private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var vm = this.gridView1.GetCurrentViewModel(_allBindingList); + if (vm == null) + { + MessageBoxHelper.ShowError("璇烽�夋嫨鏁版嵁琛�!"); + return; + } + if (MessageBoxHelper.IsClickOk($"纭鍒犻櫎鏁版嵁琛�?", "鎻愮ず", MessageBoxButtons.OKCancel)) + return; + var result = await _bll.DeleteEx(vm.ID); + if (!result) + { + MessageBoxHelper.ShowError($"鍒犻櫎澶辫触!", "璀﹀憡"); + return; + } + MessageBoxHelper.ShowSuccess($"鍒犻櫎鎴愬姛!"); + _allBindingList.Remove(vm); + this.projectViewModelBindingSource.ResetBindings(false); + } + + //浣跨敤鐘舵�� + private void BtnUpdateUseStatus_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var vm = this.gridView1.GetCurrentViewModel(_allBindingList); + if (vm == null) + { + MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛岋紒"); + return; + } + var dlg = new SetUseStatusDlg(); + dlg.SetBindingData(vm.UseStatus); + dlg.ReloadDataEvent += async (useStatus) => + { + var result = await _bll.UpdateUseStatus(vm.ID, (int)useStatus); + if (result) + { + vm.UseStatus = useStatus; + vm.Reset(vm); + this.projectViewModelBindingSource.ResetBindings(false); + } + return result; + }; + dlg.ShowDialog(); + } + + //鍒锋柊 + private void BtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + this.SetBindingData(); + } + + //鍘嗗彶妯″瀷 + private void BtnModelEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var vm = this.gridView1.GetCurrentViewModel(_allBindingList); + if (vm == null) + { + MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛岋紒"); + return; + } + var dlg = new ModelEdit(); + dlg.SetBiningData(vm.ID); + dlg.ShowDialog(); + } + + //妯″瀷缂栬緫 + private void BtnEditModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var vm = this.gridView1.GetCurrentViewModel(_allBindingList); + if (vm == null) + { + MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛岋紒"); + return; + } + var dlg = new SetModelEditDlg(); + dlg.SetBindingData(vm.ID); + dlg.ReloadDataEvent += async (rhs) => + { + var bll = new BLL.XhsProjectItemModel(); + if (await bll.Update(rhs)) + { + return true; + } + return false; + }; + dlg.ShowDialog(); + } + + private async void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) + { + if (_allBindingList == null || _allBindingList.Count < 1) + return; + var vm = this.gridView1.GetCurrentViewModel(_allBindingList); + if (vm == null) + return; + if (e.Column == this.colModelManage) + { + var guid = new SurfaceGuid() + { + Function = "妯″瀷绠$悊", + Modular = eModular.Basic + }; + if (!IsExistPage(guid, true)) + { + var bll = new BLL.XhsProjectItemModel(); + var result = await bll.GetByPrjID(vm.ID); + var select = result.Where(x => x.UseStatus == 1).FirstOrDefault(); + if (select != null) + { + var page = new PumpCurveCtrl(select); + page.PageTitle.Caption = guid.Function; + page.SurfaceGuid = guid; + CreatePage(page, guid); + } + } + } } } } \ No newline at end of file -- Gitblit v1.9.3