From 18225d288883a20cb7c634bda8032e1ecfee89da Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期二, 22 十月 2024 14:14:26 +0800 Subject: [PATCH] 型号展示界面调用 --- WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs | 183 ++++++++++++++++++++++++++------------------- 1 files changed, 104 insertions(+), 79 deletions(-) diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs index a40d6bd..4e2dd5d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs @@ -1,17 +1,9 @@ -锘縰sing DevExpress.Data.ExpressionEditor; -using DevExpress.Utils; -using DevExpress.XtraBars; +锘縰sing DevExpress.XtraBars; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraEditors.Repository; using DevExpress.XtraLayout.Utils; -using DevExpress.XtraRichEdit.SpellChecker; using DevExpress.XtraVerticalGrid.Events; -using NetTaste; -using SQLitePCL; -using System.Text; -using System.Windows.Forms.VisualStyles; -using Yw.EPAnet; namespace Yw.WinFrmUI { @@ -27,18 +19,22 @@ /// <summary> /// 鍖归厤db浜嬩欢 + /// 绗竴涓弬鏁颁负鍖归厤Db鐨刅iewModel + /// 绗簩涓弬鏁颁负鏄惁鍖归厤鎴愬姛 /// </summary> - public event Action<Yw.Model.HydroParterInfo> MatchingDbEvent; - /// <summary> - /// 鏌ョ湅鏇茬嚎浜嬩欢 - /// </summary> - public event Action<Yw.Model.HydroParterInfo, string> ViewCurveEvent; + public event Func<HydroParterPropertyViewModel, bool> MatchingDbEvent; /// <summary> /// 璁剧疆鏇茬嚎浜嬩欢 + /// 绗竴涓弬鏁颁负璁剧疆鏇茬嚎鐨刅iewModel + /// 绗簩涓弬鏁颁负鏇茬嚎绫诲瀷 + /// 绗笁涓弬鏁颁负鏄惁璁剧疆鎴愬姛 /// </summary> public event Func<HydroParterPropertyViewModel, string, bool> SetCurveEvent; /// <summary> /// 璁剧疆妯″紡浜嬩欢 + /// 绗竴涓弬鏁颁负璁剧疆妯″紡浜嬬殑ViewModel + /// 绗簩涓弬鏁颁负妯″紡浜嬬被鍨� + /// 绗笁涓弬鏁颁负鏄惁璁剧疆鎴愬姛 /// </summary> public event Func<HydroParterPropertyViewModel, string, bool> SetPatternEvent; /// <summary> @@ -49,14 +45,12 @@ /// 灞炴�у�煎彂鐢熸敼鍙樹簨浠� /// </summary> public event Func<HydroParterPropertyViewModel, bool> PropertyValueChangedEvent; - /// <summary> /// 寮鸿皟杩炴帴缁勪欢浜嬩欢 /// 绗竴涓弬鏁颁负鏈韩Code /// 绗簩涓弬鏁颁负杩炴帴Code /// </summary> public event Action<string, string> BlinkLinkParterEvent; - //鑾峰彇姘村姏淇℃伅鏂规硶 @@ -356,10 +350,44 @@ #endregion + #region 鍨嬪彿 + + var modelTypeAttri = (IsHydroModelTypeAttribute)descriptor.Attributes[typeof(IsHydroModelTypeAttribute)]; + if (modelTypeAttri != null) + { + var buttonEdit = new RepositoryItemButtonEdit(); + buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor; + buttonEdit.ButtonClick += delegate + { + if (this.MatchingDbEvent == null) + { + return; + } + var hydroInfo = _hydroInfoFunc?.Invoke(); + if (hydroInfo == null) + { + return; + } + var vm = GetPropertyViewModel(e.Row); + if (vm == null) + { + return; + } + var bol = this.MatchingDbEvent.Invoke(vm); + if (bol) + { + UpdateRows(); + } + }; + e.RepositoryItem = buttonEdit; + } + + #endregion + #region 鏇茬嚎 - var curvePro = (IsHydroCurveProAttribute)descriptor.Attributes[typeof(IsHydroCurveProAttribute)]; - if (curvePro != null) + var curvePropAttri = (IsHydroCurveProAttribute)descriptor.Attributes[typeof(IsHydroCurveProAttribute)]; + if (curvePropAttri != null) { var buttonEdit = new RepositoryItemButtonEdit(); buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor; @@ -371,24 +399,22 @@ return; } var vm = GetPropertyViewModel(e.Row); - switch (curvePro.CurveType) + switch (curvePropAttri.CurveType) { case HydroCurve.Pump: { - var pumpInfo = hydroInfo.Pumps?.Find(x => x.Code == vm.Code); - if (pumpInfo == null) + if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, HydroCurve.Pump)) { - return; + //缂虹渷鐨勮缃柟娉� } - this.ViewCurveEvent?.Invoke(pumpInfo, HydroCurve.Pump); } break; case HydroCurve.PumpQH: { - if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType)) + if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, HydroCurve.PumpQH)) { - var vmPump = vm as HydroPumpPropertyViewModel; - var curveQh = hydroInfo.Curves?.Find(x => x.Code == vmPump.CurveQH); + var pumpViewModel = vm as HydroPumpPropertyViewModel; + var curveQh = hydroInfo.Curves?.Find(x => x.Code == pumpViewModel.CurveQH); var dlg = new SetHydroCurveDlg(); dlg.ReloadDataEvent += (curveInfo) => { @@ -401,20 +427,20 @@ hydroInfo.Curves.Remove(curveQh); } hydroInfo.Curves.Add(curveInfo); - vmPump.CurveQH = curveInfo.Code; + pumpViewModel.CurveQH = curveInfo.Code; UpdateRows(); }; - dlg.SetBindingData(hydroInfo, curveQh, curvePro.CurveType); + dlg.SetBindingData(hydroInfo, curveQh, curvePropAttri.CurveType); dlg.ShowDialog(); } } break; case HydroCurve.PumpQP: { - if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType)) + if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePropAttri.CurveType)) { - var vmPump = vm as HydroPumpPropertyViewModel; - var curveQp = hydroInfo.Curves?.Find(x => x.Code == vmPump.CurveQP); + var pumpViewModel = vm as HydroPumpPropertyViewModel; + var curveQp = hydroInfo.Curves?.Find(x => x.Code == pumpViewModel.CurveQP); var dlg = new SetHydroCurveDlg(); dlg.ReloadDataEvent += (curveInfo) => { @@ -427,50 +453,50 @@ hydroInfo.Curves.Remove(curveQp); } hydroInfo.Curves.Add(curveInfo); - vmPump.CurveQP = curveInfo.Code; + pumpViewModel.CurveQP = curveInfo.Code; UpdateRows(); }; - dlg.SetBindingData(hydroInfo, curveQp, curvePro.CurveType); + dlg.SetBindingData(hydroInfo, curveQp, curvePropAttri.CurveType); dlg.ShowDialog(); } } break; case HydroCurve.PumpQE: { - if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType)) + var pumpViewModel = vm as HydroPumpPropertyViewModel; + var curveQe = hydroInfo.Curves?.Find(x => x.Code == pumpViewModel.CurveQE); + var dlg = new SetHydroCurveDlg(); + dlg.ReloadDataEvent += (curveInfo) => { - var vmPump = vm as HydroPumpPropertyViewModel; - var curveQe = hydroInfo.Curves?.Find(x => x.Code == vmPump.CurveQE); - var dlg = new SetHydroCurveDlg(); - dlg.ReloadDataEvent += (curveInfo) => + if (hydroInfo.Curves == null) { - if (hydroInfo.Curves == null) - { - hydroInfo.Curves = new List<Model.HydroCurveInfo>(); - } - if (curveQe != null) - { - hydroInfo.Curves.Remove(curveQe); - } - hydroInfo.Curves.Add(curveInfo); - vmPump.CurveQE = curveInfo.Code; - UpdateRows(); - }; - dlg.SetBindingData(hydroInfo, curveQe, curvePro.CurveType); - dlg.ShowDialog(); - } + hydroInfo.Curves = new List<Model.HydroCurveInfo>(); + } + if (curveQe != null) + { + hydroInfo.Curves.Remove(curveQe); + } + hydroInfo.Curves.Add(curveInfo); + pumpViewModel.CurveQE = curveInfo.Code; + UpdateRows(); + }; + dlg.SetBindingData(hydroInfo, curveQe, curvePropAttri.CurveType); + dlg.ShowDialog(); } break; case HydroCurve.Valve: { - + if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, HydroCurve.Valve)) + { + //缂虹渷鐨勮缃柟娉� + } } break; case HydroCurve.ValveQL: { - if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePro.CurveType)) + if (this.SetCurveEvent == null || !this.SetCurveEvent.Invoke(vm, curvePropAttri.CurveType)) { - + //缂虹渷鐨勮缃柟娉� } } break; @@ -482,10 +508,10 @@ #endregion - #region 鍨嬪彿 + #region 妯″紡 - var modelTypePro = (IsHydroModelTypeAttribute)descriptor.Attributes[typeof(IsHydroModelTypeAttribute)]; - if (modelTypePro != null) + var patternProAttri = (IsHydroPatternProAttribute)descriptor.Attributes[typeof(IsHydroPatternProAttribute)]; + if (patternProAttri != null) { var buttonEdit = new RepositoryItemButtonEdit(); buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor; @@ -497,26 +523,25 @@ return; } var vm = GetPropertyViewModel(e.Row); - var allParterList = hydroInfo.GetAllParters(); - var parter = allParterList?.Find(x => x.Code == vm.Code); - this.MatchingDbEvent?.Invoke(parter); - }; - e.RepositoryItem = buttonEdit; - } - - #endregion - - #region 妯″紡 - - var patternPro = (IsHydroPatternProAttribute)descriptor.Attributes[typeof(IsHydroPatternProAttribute)]; - if (patternPro != null) - { - var buttonEdit = new RepositoryItemButtonEdit(); - buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor; - buttonEdit.ButtonClick += delegate - { - var vm = GetPropertyViewModel(e.Row); - this.SetPatternEvent?.Invoke(vm, patternPro.PatternType); + switch (patternProAttri.PatternType) + { + case HydroPattern.Head: + { + if (this.SetPatternEvent == null || !this.SetPatternEvent.Invoke(vm, HydroPattern.Head)) + { + //缂虹渷鐨勮缃柟娉� + } + } + break; + case HydroPattern.Demand: + { + if (this.SetPatternEvent == null || !this.SetPatternEvent.Invoke(vm, HydroPattern.Demand)) + { + //缂虹渷鐨勮缃柟娉� + } + } + break; + } }; e.RepositoryItem = buttonEdit; } -- Gitblit v1.9.3