diff --git a/BWP.B3_YunKen.Web/Pages/B3YunKen/B3YunKenSaleOutStoreToCustomerAccept.cs b/BWP.B3_YunKen.Web/Pages/B3YunKen/B3YunKenSaleOutStoreToCustomerAccept.cs index 26cea62..007ec2b 100644 --- a/BWP.B3_YunKen.Web/Pages/B3YunKen/B3YunKenSaleOutStoreToCustomerAccept.cs +++ b/BWP.B3_YunKen.Web/Pages/B3YunKen/B3YunKenSaleOutStoreToCustomerAccept.cs @@ -59,6 +59,7 @@ namespace BWP.Web.Pages.B3YunKen { var type = GetType(); _queryContainer = QueryContainer.FromResource(type.FullName + ".xml", type.Assembly); form.EAdd(new PageTitle("销售出库转验收单")); + _moneyLabel = new Label(); var vPanel = new VLayoutPanel(); _pageView = new ClientPageView { TabPosition = TabPosition.Top, @@ -89,6 +90,8 @@ namespace BWP.Web.Pages.B3YunKen { private ClientPageView _pageView; private readonly DFContainer _dFContainer = new DFContainer(); + + private Label _moneyLabel; private void CustomerAcceptInfo(ClientTab clinetTab) { var titlePanel1 = new TitlePanel("基础信息"); var titlePanel2 = new TitlePanel("验收明细"); @@ -108,7 +111,7 @@ namespace BWP.Web.Pages.B3YunKen { config.Add("Employee_ID"); config.Add("LoadTime"); config.Add("Store_ID"); - config.Add("TotalTurnAccepMoney"); + //config.Add("TotalTurnAccepMoney"); config.Add("Remark"); layoutManager.Config = config; _dFContainer.Readonly = true; @@ -119,10 +122,12 @@ namespace BWP.Web.Pages.B3YunKen { vPanel.Add(layoutManager.CreateLayout()); + _moneyLabel.ID = "moneyLabel"; + _moneyLabel.Font.Size = 12; + _moneyLabel.Font.Bold = true; + + - var calculateBtn = new TSButton(); - calculateBtn.Attributes.Add("margin-left", "8px"); - calculateBtn.Text = "计算"; var buildButton = new TSButton(); buildButton.Text = "创建客户验收单"; @@ -141,15 +146,8 @@ namespace BWP.Web.Pages.B3YunKen { _cusInput.DataKind = B3SaleDataSources.经销商所属客户; _cusInput.EnableTopItem = true; _cusInput.Width = 150; - hPanel.Add(calculateBtn); - calculateBtn.Click += delegate - { - var items = _detailGrid.GetSelectedItems().Cast(); - Dmo.TotalTurnAccepMoney = items.Sum(x=> (x.AcceptMoney??0).Value); - _dFContainer.DFObject = Dmo; - _dFContainer.ApplyToUI(); - - }; + hPanel.Add(_moneyLabel); + buildButton.Click += delegate { var selectedItems = _detailGrid.GetSelectedItems(); if (selectedItems.Count <= 0) @@ -198,9 +196,21 @@ namespace BWP.Web.Pages.B3YunKen { _detailGrid.Columns.EAdd(new DFEditGridColumn("AlreadyAcceptSecondNumber")).SumMode = SumMode.Sum; _detailGrid.Columns.EAdd(new DFEditGridColumn("AlreadyAcceptUnitNum")).SumMode = SumMode.Sum; - _detailGrid.Columns.EAdd(new DFEditGridColumn("AcceptSecondNumber")).SumMode = SumMode.Sum; - _detailGrid.Columns.EAdd(new DFEditGridColumn("AcceptUnitNum")).SumMode = SumMode.Sum; + //_detailGrid.Columns.EAdd(new DFEditGridColumn("AcceptSecondNumber")).SumMode = SumMode.Sum; + var accSecond = new DFEditGridColumn("AcceptSecondNumber"); + accSecond.SumMode = SumMode.Sum; + _detailGrid.Columns.Add(accSecond); + + //_detailGrid.Columns.EAdd(new DFEditGridColumn("AcceptUnitNum")).SumMode = SumMode.Sum; + var accMain = new DFEditGridColumn("AcceptUnitNum"); + accMain.SumMode = SumMode.Sum; + _detailGrid.Columns.Add(accMain); + + + + _detailGrid.Columns.EAdd(new DFEditGridColumn("AcceptMoney")).SumMode = SumMode.Sum; + _detailGrid.ValueColumns.Add("SaleGoods_ID"); _detailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); _detailGrid.ValueColumns.Add("Goods_MainUnitRatio"); @@ -211,6 +221,14 @@ namespace BWP.Web.Pages.B3YunKen { section2.ApplyLayout(_grid, mPageLayoutManager, DFInfo.Get(typeof(SaleOutStore))); titlePanel2.SetPageLayoutSetting(mPageLayoutManager, section2.Name); new MainToSecondConvertRowMangerWithMoneyChange(_detailGrid, "AcceptUnitNum", "AcceptSecondNumber", "AcceptMoney"); + accSecond.InitEditControl += (sender, e) => { + var str = e.Control.Attributes["onchange"] ?? string.Empty; + e.Control.Attributes["onchange"] = str + "_SumMoney();"; + }; + accMain.InitEditControl += (sender, e) => { + var str = e.Control.Attributes["onchange"] ?? string.Empty; + e.Control.Attributes["onchange"] = str + "_SumMoney();"; + }; } private void InitDmo() { @@ -384,7 +402,63 @@ namespace BWP.Web.Pages.B3YunKen { query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID)); return query; } + protected override void OnPreRender(EventArgs e) + { + base.OnPreRender(e); + if (true) + { + string script = @"var defaultGrid=document.all." + _detailGrid.ClientID + @"; + $(function(){ + var grid = defaultGrid.behind; + var itemEndIndex = grid.mItemEndIndex - 1; + for (i = 0; i <= itemEndIndex; i++) { + var row = grid.front.rows[i]; + var chkbox = row.cells[0].getElementsByTagName(""INPUT"")[0]; + if (chkbox) { + if(i==0) + $(chkbox).change(function() { + _SumMoney(this.checked?'1':'0'); + }); + else + $(chkbox).change(function() { + _SumMoney(); + }); + } + } + }); +function _SumMoney(allCheck) +{ + var grid = defaultGrid.behind; + var itemEndIndex = grid.mItemEndIndex - 1; + var sumM = 0.0; + for (i = 1; i <= itemEndIndex; i++) { + var row = grid.front.rows[i]; + var chkbox = row.cells[0].getElementsByTagName(""INPUT"")[0]; + if (!chkbox) + continue; + + if (allCheck){ + if(allCheck == '0') + continue; + } else{ + if (!chkbox.checked) + continue; + } + + var m = row.dfContainer.getValue('AcceptMoney'); + if (m != null && m != '') { + sumM = sumM + 1 * m; + } + } + var label = document.getElementById('{selectMoneyLabel}') + label.innerText = sumM.toFixed(2); + +} "; + script = script.Replace("{selectMoneyLabel}", _moneyLabel.ClientID); + Page.ClientScript.RegisterStartupScript(GetType(), "Startup", script, true); + } + } protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!IsPostBack)