From 9ea9dc3366f82dd02809a27bad3fda5c7cc0db54 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Sat, 20 Jan 2018 16:45:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseInfos/SubKillFlag_/SubKillFlagEdit.cs | 61 ++++++++++++++++--- .../BaseInfos/SubKillFlag_/SubKillFlagList.cs | 8 ++- .../SubKillFlag_/SubKillFlagList.xml | 10 --- .../SubKillWeightBillEdit.cs | 20 +++++- B3SubstituteKill.Web/PluginClass.cs | 8 ++- B3SubstituteKill/B3SubstituteKill.csproj | 1 + .../BL/BaseInfos/SubKillFlag/SubKillFlagBL.cs | 18 ++++++ .../BO/BaseInfos/SubKillFlag/SubKillFlag.cs | 9 +++ .../SubKillFlag/SubKillFlag_Detail.cs | 27 ++++++++ .../config/Plugins/B3SubstituteKill.plugin | 4 +- 10 files changed, 141 insertions(+), 25 deletions(-) create mode 100644 B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag_Detail.cs diff --git a/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagEdit.cs b/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagEdit.cs index 1b4017b..e044e43 100644 --- a/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagEdit.cs +++ b/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagEdit.cs @@ -1,31 +1,78 @@ using BWP.B3SubstituteKill.BL; using BWP.B3SubstituteKill.BO; using BWP.Web.Layout; +using BWP.Web.WebControls; +using Forks.EnterpriseServices.DataForm; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI; +using System.Web.UI.WebControls; using TSingSoft.WebControls2; +using Forks.Utils.Collections; namespace BWP.Web.Pages.B3SubstituteKill.BaseInfos.SubKillFlag_ { class SubKillFlagEdit : DomainBaseInfoEditPage { - protected override void BuildBody(Control form) + protected override void BuildBasePropertiesEditor(TitlePanel titlePanel, CustomPageLayout.PageLayoutSection pageLayoutSection) { - var vPanel = new VLayoutPanel(); - form.Controls.Add(vPanel); - var panel = new LayoutManager("", mDFInfo, mDFContainer); + var layoutManager = new LayoutManager("", mDFInfo, mDFContainer); var config = new AutoLayoutConfig(); config.Add("AccountingUnit_ID"); config.Add("Supplier_ID"); - config.Add("Name"); config.Add("Remark"); - panel.Config = config; - vPanel.Add(panel.CreateLayout()); + layoutManager.Config = config; + pageLayoutSection.ApplyLayout(layoutManager, config, mPageLayoutManager, mDFInfo); + titlePanel.Controls.Add(layoutManager.CreateLayout()); } + protected override void BuildBody(System.Web.UI.Control parent) + { + base.BuildBody(parent); + AddDetail(parent.EAdd(new TitlePanel("标识明细", "标识明细"))); + } + + DFEditGrid _detailGrid; + private void AddDetail(TitlePanel titlePanel) + { + if (CanSave) + { + titlePanel.EAdd(new TSButton("新增", delegate + { + _detailGrid.GetFromUI(); + Dmo.Details.Add(new SubKillFlag_Detail()); + _detailGrid.DataBind(); + })); + } + + var editor = new DFCollectionEditor(() => Dmo.Details); + editor.AllowDeletionFunc = () => CanSave; + editor.CanDeleteFunc = detail => CanSave; + editor.IsEditableFunc = (field, detail) => CanSave; + _detailGrid = titlePanel.EAdd(new DFEditGrid(editor) { Width = Unit.Percentage(100) }); + + _detailGrid.Columns.EAdd(new DFEditGridColumn("Name")).InitEditControl += (sender, e) => { + e.Control.Style["width"] = "400px"; + }; + var section = mPageLayoutManager.AddSection("Detail", "标识明细"); + titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name); + + section.ApplyLayout(_detailGrid, mPageLayoutManager, DFInfo.Get(typeof(SubKillFlag_Detail))); + } + + public override void AppToUI() + { + base.AppToUI(); + _detailGrid.DataBind(); + } + + public override void GetFromUI() + { + base.GetFromUI(); + _detailGrid.GetFromUI(); + } } } diff --git a/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.cs b/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.cs index 13f5783..61c748b 100644 --- a/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.cs +++ b/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.cs @@ -14,15 +14,17 @@ namespace BWP.Web.Pages.B3SubstituteKill.BaseInfos.SubKillFlag_ { vPanel.Add(CreateDefaultBaseInfoQueryControls((panel, config) => { - config.AddAfter("AccountingUnit_ID", "Name"); + config.Remvoe("Name"); + config.AddAfter("AccountingUnit_ID", "ID"); config.AddAfter("Supplier_ID", "AccountingUnit_ID"); })); } protected override void AddDFBrowseGridColumn(TSingSoft.WebControls2.DFBrowseGrid grid, string field) { - base.AddDFBrowseGridColumn(grid, field); - if (field == "Name") + if (field != "Name") + base.AddDFBrowseGridColumn(grid, field); + if (field == "ID") { AddDFBrowseGridColumn(grid, "AccountingUnit_Name"); AddDFBrowseGridColumn(grid, "Supplier_Name"); diff --git a/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.xml b/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.xml index 152d355..8d1d2c1 100644 --- a/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.xml +++ b/B3SubstituteKill.Web/Pages/B3SubstituteKill/BaseInfos/SubKillFlag_/SubKillFlagList.xml @@ -12,16 +12,6 @@ - - - - - - - - - - diff --git a/B3SubstituteKill.Web/Pages/B3SubstituteKill/Bills/SubKillWeightBill_/SubKillWeightBillEdit.cs b/B3SubstituteKill.Web/Pages/B3SubstituteKill/Bills/SubKillWeightBill_/SubKillWeightBillEdit.cs index 21b4285..205cf25 100644 --- a/B3SubstituteKill.Web/Pages/B3SubstituteKill/Bills/SubKillWeightBill_/SubKillWeightBillEdit.cs +++ b/B3SubstituteKill.Web/Pages/B3SubstituteKill/Bills/SubKillWeightBill_/SubKillWeightBillEdit.cs @@ -190,7 +190,16 @@ __DFContainer.setValue('PriceBill_ID',''); var editor = new DFCollectionEditor(() => Dmo.Details); editor.AllowDeletionFunc = () => CanSave; editor.CanDeleteFunc = detail => CanSave; - editor.IsEditableFunc = (field, detail) => CanSave; + editor.IsEditableFunc = (field, detail) => + { + if (!CanSave) + return false; + if (field.Name == "Number") + return CheckDefaultRole("编辑头数"); + if (field.Name == "MaoWeight" || field.Name == "PiWeight") + return CheckDefaultRole("编辑重量"); + return true; + }; _detailGrid = titlePanel.EAdd(new DFEditGrid(editor) { Width = Unit.Percentage(100) }); _detailGrid.Columns.EAdd(new DFEditGridColumn("LiveVarieties_ID")).InitEditControl += (sender, e) => { @@ -204,8 +213,8 @@ __DFContainer.setValue('PriceBill_ID',''); { e.Control.Style["width"] = "120px"; }; - _detailGrid.Columns.Add(new DFEditGridColumn("MaoWeight")); - _detailGrid.Columns.Add(new DFEditGridColumn("PiWeight")); + _detailGrid.Columns.Add(new DFEditGridColumn("MaoWeight")); + _detailGrid.Columns.Add(new DFEditGridColumn("PiWeight")); _detailGrid.Columns.Add(new DFEditGridColumn("Weight")); _detailGrid.Columns.EAdd(new DFEditGridColumn("LiveColonyHouse_ID")).InitEditControl += (sender, e) => { @@ -226,6 +235,11 @@ __DFContainer.setValue('PriceBill_ID',''); }; _detailGrid.Columns.Add(new DFEditGridColumn("Remark")); _detailGrid.ValueColumns.Add("ID"); + var dic = new Dictionary(); + dic.Add("毛重", Unit.Pixel(120)); + dic.Add("皮重", Unit.Pixel(120)); + dic.Add("重量", Unit.Pixel(120)); + _detailGrid.PreferWidthGridSet = dic; var section = mPageLayoutManager.AddSection("Detail", "过磅明细"); titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name); diff --git a/B3SubstituteKill.Web/PluginClass.cs b/B3SubstituteKill.Web/PluginClass.cs index a92520f..84e3336 100644 --- a/B3SubstituteKill.Web/PluginClass.cs +++ b/B3SubstituteKill.Web/PluginClass.cs @@ -1,4 +1,5 @@ -using BWP.Web.Utils; +using BWP.B3System; +using BWP.Web.Utils; using System; using System.Collections.Generic; using System.Linq; @@ -12,6 +13,11 @@ namespace BWP.B3SubstituteKill public void OnInit() { B3SubstituteDataProvider.Register(); + + SubSystem.RegisterSubSystem(new SubSystem("B3SubstituteKill", "B3代宰系统") + { + DisplayOrder = -601 + }); } } } diff --git a/B3SubstituteKill/B3SubstituteKill.csproj b/B3SubstituteKill/B3SubstituteKill.csproj index 14e7a90..3e46c92 100644 --- a/B3SubstituteKill/B3SubstituteKill.csproj +++ b/B3SubstituteKill/B3SubstituteKill.csproj @@ -86,6 +86,7 @@ + diff --git a/B3SubstituteKill/BL/BaseInfos/SubKillFlag/SubKillFlagBL.cs b/B3SubstituteKill/BL/BaseInfos/SubKillFlag/SubKillFlagBL.cs index 02138da..af2009b 100644 --- a/B3SubstituteKill/BL/BaseInfos/SubKillFlag/SubKillFlagBL.cs +++ b/B3SubstituteKill/BL/BaseInfos/SubKillFlag/SubKillFlagBL.cs @@ -2,6 +2,7 @@ using BWP.B3SubstituteKill.BO; using Forks.EnterpriseServices; using Forks.EnterpriseServices.BusinessInterfaces; +using Forks.Utils; using System; using System.Collections.Generic; using System.Linq; @@ -18,5 +19,22 @@ namespace BWP.B3SubstituteKill.BL public class SubKillFlagBL : DomainBaseInfoBL, ISubKillFlagBL { + protected override void doInitNewDmo(SubKillFlag dmo) + { + base.doInitNewDmo(dmo); + dmo.Name = Guid.NewGuid().ToString(); + } + + protected override void beforeSave(SubKillFlag dmo) + { + foreach (var g in dmo.Details.GroupBy(x => x.Name)) + { + if (g.Count() > 1) + throw new Exception(string.Format("名称:{0} 重复", g.Key)); + } + foreach (var detail in dmo.Details) + detail.Spell = Converter.GetPinYin(detail.Name); + base.beforeSave(dmo); + } } } diff --git a/B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag.cs b/B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag.cs index 3370982..7765544 100644 --- a/B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag.cs +++ b/B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag.cs @@ -41,5 +41,14 @@ namespace BWP.B3SubstituteKill.BO [ReferenceTo(typeof(Supplier), "Name")] [Join("Supplier_ID", "ID")] public string Supplier_Name { get; set; } + + private SubKillFlag_DetailCollection _mDetails = new SubKillFlag_DetailCollection(); + [OneToMany(typeof(SubKillFlag_Detail), "ID")] + [Join("ID", "SubKillFlag_ID")] + public SubKillFlag_DetailCollection Details + { + get { return _mDetails; } + set { _mDetails = value; } + } } } diff --git a/B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag_Detail.cs b/B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag_Detail.cs new file mode 100644 index 0000000..317a44f --- /dev/null +++ b/B3SubstituteKill/BO/BaseInfos/SubKillFlag/SubKillFlag_Detail.cs @@ -0,0 +1,27 @@ +using BWP.B3Frameworks.BO; +using Forks.EnterpriseServices; +using Forks.EnterpriseServices.DataForm; +using Forks.EnterpriseServices.DomainObjects2; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BWP.B3SubstituteKill.BO +{ + [DFClass, Serializable, LogicName("代宰标识_明细")] + public class SubKillFlag_Detail : Base + { + public long SubKillFlag_ID { get; set; } + + [DFNotEmpty] + [LogicName("标识名称")] + public string Name { get; set; } + + public string Spell { get; set; } + } + + [Serializable] + public class SubKillFlag_DetailCollection : DmoCollection + { } +} diff --git a/WebFolder/config/Plugins/B3SubstituteKill.plugin b/WebFolder/config/Plugins/B3SubstituteKill.plugin index 6a2e294..e155b9c 100644 --- a/WebFolder/config/Plugins/B3SubstituteKill.plugin +++ b/WebFolder/config/Plugins/B3SubstituteKill.plugin @@ -87,7 +87,9 @@ - + + +