You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

159 lines
5.7 KiB

using BWP.B3ProduceUnitedInfos.NamedValueTemplate;
using BWP.B3SheepButcherManage;
using BWP.B3SheepButcherManage.BL;
using BWP.B3SheepButcherManage.BO;
using BWP.B3SheepButcherManage.NamedValueTemplate;
using BWP.Web.CustomPageLayout;
using BWP.Web.Layout;
using BWP.Web.Utils;
using BWP.Web.WebControls;
using Forks.EnterpriseServices.DataForm;
using Forks.Utils.Collections;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using TSingSoft.WebControls2;
namespace BWP.Web.Pages.B3SheepButcherManage.Bills.HurryButcher_
{
public class HurryButcherEdit : DepartmentWorkFlowBillEditPage<HurryButcher, IHurryButcherBL>
{
private DFEditGrid _detailGrid;
protected override void BuildBody(Control control)
{
base.BuildBody(control);
AddDetails(control.EAdd(new TitlePanel("单据明细", "单据明细")));
}
protected override void BuildBasePropertiesEditor(TitlePanel titlePanel, PageLayoutSection pageLayoutSection)
{
var layoutManager = new LayoutManager("", mDFInfo, mDFContainer);
var config = new AutoLayoutConfig();
layoutManager.Config = config;
config.Add("AccountingUnit_ID");
config.Add("Department_ID");
config.Add("Employee_ID");
config.Add("Supplier_ID");
config.Add("Date");
config.Add("Store_ID");
config.Add("Remark");
pageLayoutSection.SetRequired("AccountingUnit_ID");
pageLayoutSection.ApplyLayout(layoutManager, config, mPageLayoutManager, mDFInfo);
titlePanel.Controls.Add(layoutManager.CreateLayout());
}
private void AddDetails(TitlePanel titlePanel)
{
var vPanel = titlePanel.EAdd(new VLayoutPanel());
if (CanSave)
{
var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left));
var beforeTsbt = hPanel.Add(new TSButton("新增磅前"));
beforeTsbt.Click += delegate {
_detailGrid.GetFromUI();
var detail = new HurryButcher_Detail();
Dmo.Details.Add(detail);
_detailGrid.DataBind();
};
var dialogButton = hPanel.Add(new DialogButton
{
Text = "选择磅后",
//Url = "SelectHurryButcherDetailDialog.aspx?Supplier_ID='+ __DFContainer.getValue('Supplier_ID')+'"
});
dialogButton.Url = AspUtil.AddParamToUrl("SelectHurryButcherDetailDialog.aspx", "Supplier_ID", "'+__DFContainer.getValue('Supplier_ID')+'");
dialogButton.Click += delegate {
_detailGrid.GetFromUI();
var details = DialogUtil.GetCachedObj<HurryButcher_Detail>(this);
foreach (HurryButcher_Detail detail in details)
{
Dmo.Details.Add(detail);
}
_detailGrid.DataBind();
};
}
var editor = new DFCollectionEditor<HurryButcher_Detail>(() => Dmo.Details);
editor.AllowDeletionFunc = () => CanSave;
editor.CanDeleteFunc = detail => true;
editor.IsEditableFunc = (field, detail) => CanSave;
_detailGrid = new DFEditGrid(editor);
_detailGrid.DFGridSetEnabled = false;
_detailGrid.Width = Unit.Percentage(100);
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("AfterWeigh"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("Weigh_ID"));
var tecColumn = _detailGrid.Columns.EAdd(new DFEditGridColumn<DFNamedValueInput<>>("Technics"));
tecColumn.InitEditControl += (sender, e) => {
e.Control.Width = 160;
};
_detailGrid.Columns.EAdd(new DFEditGridColumn<DFChoiceBox>("LiveVarieties_ID")).InitEditControl += (sender, e) =>
{
e.Control.DataKind = B3ProduceUnitedInfos.B3ProduceUnitedInfosDataSources.;
e.Control.DFDisplayField = "LiveVarieties_Name";
e.Control.Width = Unit.Pixel(150);
e.Control.EnableInputArgument = true;
e.Control.CodeArgument = ..Value.ToString();
};
_detailGrid.Columns.EAdd(new DFEditGridColumn<DFChoiceBox>("Livestock_ID")).InitEditControl += (sender, e) =>
{
e.Control.EnableTopItem = true;
e.Control.EnableInputArgument = true;
e.Control.DataKind = B3SheepButcherManageConsts.DataSources.;
e.Control.DFDisplayField = "Livestock_Name";
e.Control.Width = 160;
};
_detailGrid.Columns.Add(new DFEditGridColumn<DFTextBox>("Number"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFTextBox>("GrossWeight"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFTextBox>("Weight"));
_detailGrid.Columns.Add(new DFEditGridColumn("Destroy"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFTextBox>("Remark"));
mDFContainer.AddNonDFControl(_detailGrid, "$detailGrid");
var dic = new Dictionary<string, Unit>();
dic.Add("是否过磅", Unit.Percentage(5));
dic.Add("过磅单号", Unit.Percentage(8));
dic.Add("工艺", Unit.Percentage(12));
dic.Add("级别", Unit.Percentage(12));
dic.Add("毛重", Unit.Percentage(12));
dic.Add("头数", Unit.Percentage(12));
dic.Add("重量", Unit.Percentage(12));
dic.Add("备注", Unit.Percentage(12));
dic.Add("是否销毁", Unit.Percentage(12));
_detailGrid.PreferWidthGridSet = dic;
var section = mPageLayoutManager.AddSection("DetaiColumns", "明细列");
titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name);
section.ApplyLayout(_detailGrid, mPageLayoutManager, DFInfo.Get(typeof(HurryButcher_Detail)));
vPanel.Add(_detailGrid);
}
public override void AppToUI()
{
base.AppToUI();
_detailGrid.DataBind();
}
public override void GetFromUI()
{
base.GetFromUI();
_detailGrid.GetFromUI();
}
}
}