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