| | |
| | | using Gs.DevApp.DevFrm.Rpt; |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.ToolBox; |
| | | using Gs.DevApp.UserControl; |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | |
| | |
| | | this.toolBarMenu1.getXmlConfig(); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx1); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx2); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx3); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, "", "", (value) => |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 0); |
| | | }, tips); |
| | | }, tips, true, (strGuid) => { |
| | | getModelList(strGuid); |
| | | }); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetTabParameter(gridView1, xtraTabControl1, pageBar1, (value) => |
| | | { |
| | | getModel(value); |
| | |
| | | }, lbGuid); |
| | | getPageList(1); |
| | | pageBar1.PagerEvent += PageBar1_PagerEvent; |
| | | //打印事件 |
| | | this.ucBtnPrint1.btnPrintClick += (s, e) => |
| | | { |
| | | string rowGuid = lbMxGuid.Text.Trim(); |
| | |
| | | this.ucBtnPrint1.rptParameter = "return false"; |
| | | return; |
| | | } |
| | | this.ucBtnPrint1.rptParameter = "rpt_Arrival{" + lbMxGuid.Text.Trim() |
| | | this.ucBtnPrint1.rptParameter = "rpt_Arrival{" |
| | | + lbMxGuid.Text.Trim()//关联主键 |
| | | + "," + "" |
| | | + "," + Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(txt_yuliang_1.Text.Trim()) |
| | | + "," + txt_iCount_1.Text.Trim() |
| | | + "," + txt_psnQty_1.Text.Trim() |
| | | + "," + Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(txt_yuliang_1.Text.Trim())//余数 |
| | | + "," + txt_iCount_1.Text.Trim()//张数 |
| | | + "," + txt_psnQty_1.Text.Trim()//每张条码数量 |
| | | + "}"; |
| | | txt_iCount_1.Text = ""; |
| | | txt_psnQty_1.Text = ""; |
| | | }; |
| | | //打印批量操作事件 |
| | | this.ucBtnPrint1.btnAllClick += (s, e) => |
| | | { |
| | | string rowGuid = lbMxGuid.Text.Trim(); |
| | | SelectDeleteBar frm = new SelectDeleteBar(rowGuid, "采购入库"); |
| | | string strCodeList = ""; |
| | | frm.UpdateParent += (ss, ee) => |
| | | { |
| | | strCodeList = ee.StringSingle; |
| | | }; |
| | | frm.ShowDialog(); |
| | | if (string.IsNullOrEmpty(strCodeList)) |
| | | return; |
| | | try |
| | | { |
| | | string rptParameter = "rpt_Arrival{" |
| | | + "100"//重打都是传100, |
| | | + "," + "" |
| | | + "," + "" |
| | | + "," + "" |
| | | + "," + "" |
| | | + "," + strCodeList |
| | | + "}"; |
| | | using (Form rpt = new RptPreview(rowGuid, rptParameter)) |
| | | { |
| | | rpt.ShowDialog(); |
| | | } |
| | | frm.Close(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.ShowError(ex.Message); |
| | | } |
| | | }; |
| | | |
| | | // -------------------- gvMx3 打印事件 -------------------- |
| | | |
| | | this.ucBtnPrint2.btnPrintClick += (s, e) => |
| | | { |
| | | string rowGuid = txt_releaseNo.Text.Trim(); // 新增lbMxGuid3用于存储gvMx3的选中行GUID |
| | | ucBtnPrint2.guidKey = rowGuid; |
| | | |
| | | // 验证输入(使用gvMx3对应的输入控件) |
| | | if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_iCount_2.Text.Trim(), txt_yuliang_2.Text.Trim())) |
| | | { |
| | | Gs.DevApp.ToolBox.MsgHelper.ShowError("请输入正确的条码数量!"); |
| | | txt_iCount_2.Focus(); |
| | | this.ucBtnPrint2.rptParameter = "return false"; |
| | | return; |
| | | } |
| | | if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_psnQty_2.Text.Trim())) |
| | | { |
| | | Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择打印条码数量!"); |
| | | txt_psnQty_2.Focus(); |
| | | this.ucBtnPrint2.rptParameter = "return false"; |
| | | return; |
| | | } |
| | | if (rowGuid.Length < 10) |
| | | { |
| | | Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择打印的行!"); |
| | | this.ucBtnPrint2.rptParameter = "return false"; |
| | | return; |
| | | } |
| | | |
| | | // 组装打印参数(使用gvMx3的控件值) |
| | | this.ucBtnPrint2.rptParameter = "rpt_Arrival_Hb{" |
| | | + rowGuid//关联主键(gvMx3的GUID) |
| | | + "," + "" |
| | | + "," + Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(txt_yuliang_2.Text.Trim())//余数 |
| | | + "," + txt_iCount_2.Text.Trim()//张数 |
| | | + "," + txt_psnQty_2.Text.Trim()//每张条码数量 |
| | | + "}"; |
| | | |
| | | // 清空输入框 |
| | | txt_iCount_2.Text = ""; |
| | | txt_psnQty_2.Text = ""; |
| | | }; |
| | | // gvMx3 批量打印事件 |
| | | this.ucBtnPrint2.btnAllClick += (s, e) => |
| | | { |
| | | // string rowGuid = lbMxGuid3.Text.Trim(); // 使用gvMx3的GUID |
| | | string rowGuid = txt_releaseNo.Text.Trim(); |
| | | SelectDeleteBar frm = new SelectDeleteBar(rowGuid, "到货条码(合并)码"); // 标题区分来源 |
| | | string strCodeList = ""; |
| | | frm.UpdateParent += (ss, ee) => |
| | | { |
| | | strCodeList = ee.StringSingle; |
| | | }; |
| | | frm.ShowDialog(); |
| | | if (string.IsNullOrEmpty(strCodeList)) |
| | | return; |
| | | try |
| | | { |
| | | string rptParameter = "rpt_Arrival_Hb{" |
| | | + "100"//重打标识 |
| | | + "," + "" |
| | | + "," + "" |
| | | + "," + "" |
| | | + "," + "" |
| | | + "," + strCodeList |
| | | + "}"; |
| | | using (Form rpt = new RptPreview(rowGuid, rptParameter)) |
| | | { |
| | | rpt.ShowDialog(); |
| | | } |
| | | frm.Close(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.ShowError(ex.Message); |
| | | } |
| | | }; |
| | | //明细行切换事件 |
| | | // 关键:绑定gvMx1和gvMx3的焦点行变化事件 |
| | | gvMx1.FocusedRowChanged += GvMx1_FocusedRowChanged; |
| | | //自动计算打印量 |
| | | gvMx3.FocusedRowChanged += GvMx3_FocusedRowChanged; // 取消注释并绑定事件 |
| | | //gvMx3打印自动计算 |
| | | txt_psnQty_1.TextChanged += (s, e) => |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.PrintJiSuan(txt_psnQty_1, txt_iCount_1, txt_kQty.Text.Trim(), radOut, txt_yuliang_1); |
| | |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.PrintAuto(txt_psnQty_1, txt_iCount_1, radOut, txt_yuliang_1); |
| | | }; |
| | | // gvMx3的自动计算 |
| | | txt_psnQty_2.TextChanged += (s, e) => |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.PrintJiSuan(txt_psnQty_2, txt_iCount_2, txt_kQtyHb.Text.Trim(), radOut2, txt_yuliang_2); |
| | | }; |
| | | radOut2.SelectedIndexChanged += (s, e) => |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.PrintAuto(txt_psnQty_2, txt_iCount_2, radOut2, txt_yuliang_2); |
| | | }; |
| | | |
| | | |
| | | ////底部汇总启用 |
| | | //gvMx1.OptionsView.ShowFooter = true; |
| | | //// 为某一列设置求和汇总 |
| | | //gvMx1.Columns["quantity"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; |
| | | //gvMx1.Columns["quantity"].SummaryItem.DisplayFormat = "合计: {0}"; |
| | | |
| | | // 为了方便使用整合到 UtilityHelper 类中的 SetupGridSummary 方法 |
| | | UtilityHelper.SetupGridSummary(gvMx1, "quantity", "okRkqty"); |
| | | UtilityHelper.SetupGridSummary(gvMxL1, "quantity", "okRkqty"); |
| | | |
| | | // 检查数据加载后再设置颜色 |
| | | this.Load += (s, e) => { |
| | | System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); |
| | | timer.Interval = 1000; // 1秒后执行,确保数据已加载 |
| | | timer.Tick += (sender, args) => { |
| | | timer.Stop(); |
| | | timer.Dispose(); |
| | | |
| | | // 使用新的简化格式设置检验结果颜色 |
| | | UtilityHelper.SetSimpleGridColor(gvMxL1, "jyjg", "contains不合格", "Cell", Color.Red); |
| | | UtilityHelper.SetSimpleGridColor(gvMxL1, "jyjg", "contains合格", "Cell", Color.Green); |
| | | UtilityHelper.SetSimpleGridColor(gvMxL1, "jyjg", "contains免检", "Cell", Color.Green); |
| | | |
| | | UtilityHelper.SetSimpleGridColor(gvMxL2, "jyjg", "contains不合格", "Cell", Color.Red); |
| | | UtilityHelper.SetSimpleGridColor(gvMxL2, "jyjg", "contains合格", "Cell", Color.Green); |
| | | UtilityHelper.SetSimpleGridColor(gvMxL2, "jyjg", "contains免检", "Cell", Color.Green); |
| | | |
| | | UtilityHelper.SetSimpleGridColor(gvMx1, "jyjg", "contains不合格", "Cell", Color.Red); |
| | | UtilityHelper.SetSimpleGridColor(gvMx1, "jyjg", "contains合格", "Cell", Color.Green); |
| | | UtilityHelper.SetSimpleGridColor(gvMx1, "jyjg", "contains免检", "Cell", Color.Green); |
| | | |
| | | UtilityHelper.SetSimpleGridColor(gvMx3, "jyjg", "contains不合格", "Cell", Color.Red); |
| | | UtilityHelper.SetSimpleGridColor(gvMx3, "jyjg", "contains合格", "Cell", Color.Green); |
| | | UtilityHelper.SetSimpleGridColor(gvMx3, "jyjg", "contains免检", "Cell", Color.Green); |
| | | |
| | | // 字段运算示例:当收货数量(quantity)大于已入库数量(okRkqty)时,整行显示橙色 |
| | | UtilityHelper.SetSimpleGridColor(gvMx1, "", "quantity-okRkqty>0", "Row", Color.Orange); |
| | | |
| | | // 字段运算示例:当可打印数量(kQty)小于等于0时,整行显示灰色 |
| | | UtilityHelper.SetSimpleGridColor(gvMx1, "", "kQty<=0", "Row", Color.Gray); |
| | | }; |
| | | timer.Start(); |
| | | }; |
| | | |
| | | } |
| | | private void GridView1_ColumnFilterChanged(object sender, EventArgs e) |
| | | { |
| | |
| | | Task.Delay(100); |
| | | getPageList(1); |
| | | } |
| | | |
| | | |
| | | |
| | | private void GvMx1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) |
| | | { |
| | | if (e.FocusedRowHandle >= 0) |
| | |
| | | txt_iCount_1.Text = ""; |
| | | } |
| | | } |
| | | |
| | | //明细行切换事件 |
| | | |
| | | private void GvMx3_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) |
| | | { |
| | | if (e.FocusedRowHandle >= 0) |
| | | { |
| | | DataRow row = gvMx3.GetDataRow(e.FocusedRowHandle); |
| | | //lbMxGuid.Text = row["guid"].ToString(); |
| | | txtItemNo.Text = row["itemNo"].ToString(); |
| | | txtItemModel.Text = row["itemModel"].ToString(); |
| | | txtItemName.Text = row["itemName"].ToString(); |
| | | txtQuantityHb.Text = row["quantity"].ToString();//本次收货总量 |
| | | txt_yQtyHb.Text = row["yQty"].ToString();//已打印总量 |
| | | txt_kQtyHb.Text = row["kQty"].ToString(); //可打印总量 |
| | | txt_psnQty_2.Text = row["mrtmsl"].ToString(); //默认每张条码数量 |
| | | txt_releaseNo.Text = row["releaseNo"].ToString(); //可打印总量 |
| | | } |
| | | else |
| | | { |
| | | lbMxGuid.Text = ""; |
| | | ucBtnPrint1.guidKey = ""; |
| | | txtItemNo.Text = ""; |
| | | txtItemModel.Text = ""; |
| | | txtItemName.Text = ""; |
| | | txtQuantityHb.Text = ""; |
| | | txt_yQtyHb.Text = ""; |
| | | txt_kQtyHb.Text = ""; |
| | | txt_psnQty_2.Text = ""; |
| | | txt_iCount_2.Text = ""; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 分页事件 |
| | | /// </summary> |
| | |
| | | private void getModel(string strGuid) |
| | | { |
| | | gcMx1.DataSource = null; |
| | | gcMx2.DataSource = null; |
| | | gcMx3.DataSource = null; |
| | | bool isEdit = false; |
| | | if (toolBarMenu1.currentAction == "add") return; |
| | | if (toolBarMenu1.currentAction == "edit") isEdit = true; |
| | |
| | | List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>(); |
| | | gvList.Add(gvMx1); |
| | | gvList.Add(gvMx2); |
| | | gvList.Add(gvMx3); |
| | | UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, isEdit, gvList); |
| | | |
| | | JArray array1 = new JArray(); |
| | | foreach (var a in dy["list1"]) |
| | | { |
| | |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx2, gvMx2); |
| | | } |
| | | JArray array3 = new JArray(); |
| | | foreach (var a in dy["list3"]) |
| | | { |
| | | array3.Add(a); |
| | | } |
| | | DataTable dt3 = JsonConvert.DeserializeObject<DataTable>(array3.ToString()); |
| | | if (dt3.Rows.Count > 0) |
| | | { |
| | | gcMx3.BindingContext = new BindingContext(); |
| | | gcMx3.DataSource = dt3; |
| | | gcMx3.ForceInitialize(); |
| | | gvMx3.BestFitColumns(); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx3); |
| | | } |
| | | else |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx3, gvMx3); |
| | | } |
| | | } |
| | | else |
| | | ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 重打 |
| | | /// 新增方法:列表显示 |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="e"></param> |
| | | private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) |
| | | /// <param name="strGuid">主表id</param> |
| | | |
| | | private void getModelList(string strGuid) |
| | | { |
| | | MsgHelper.ShowInformation("功能开发中!"); |
| | | return; |
| | | var rowhandle = gvMx2.FocusedRowHandle; |
| | | if (rowhandle < 0) |
| | | return; |
| | | if (e.Button.Index == 0) |
| | | gcMxL1.DataSource = null; |
| | | gcMxL2.DataSource = null; |
| | | gcMxL3.DataSource = null; |
| | | var _obj = new |
| | | { |
| | | var dr = gvMx2.GetDataRow(rowhandle); |
| | | var mxGuid = dr["guid"].ToString(); |
| | | if (!MsgHelper.AskQuestion("你选择了1条数据,确定删除吗?")) |
| | | return; |
| | | var _obj = new |
| | | guid = strGuid,//主建 |
| | | }; |
| | | try |
| | | { |
| | | string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj)); |
| | | ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); |
| | | if (_rtn.rtnCode > 0) |
| | | { |
| | | mxGuid = mxGuid, |
| | | inType = "dhtm" |
| | | }; |
| | | try |
| | | { |
| | | var strJson = UtilityHelper.HttpPost("", |
| | | _webServiceName + "DeleteBarcode", |
| | | JsonConvert.SerializeObject(_obj)); |
| | | var _rtn = UtilityHelper.ReturnToDynamic(strJson); |
| | | if (_rtn.rtnCode > 0) |
| | | dynamic dy = _rtn.rtnData; |
| | | |
| | | JArray array1 = new JArray(); |
| | | foreach (var a in dy["list1"]) |
| | | { |
| | | if (_rtn.rtnCode > 0) getModel(lbGuid.Text); |
| | | array1.Add(a); |
| | | } |
| | | MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | | DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(array1.ToString()); |
| | | if (dt1.Rows.Count > 0) |
| | | { |
| | | gcMxL1.BindingContext = new BindingContext(); |
| | | gcMxL1.DataSource = dt1; |
| | | gcMxL1.ForceInitialize(); |
| | | gvMxL1.BestFitColumns(); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMxL1); |
| | | } |
| | | else |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMxL1, gvMxL1); |
| | | } |
| | | JArray array2 = new JArray(); |
| | | foreach (var a in dy["list3"]) |
| | | { |
| | | array2.Add(a); |
| | | } |
| | | |
| | | DataTable dt2 = JsonConvert.DeserializeObject<DataTable>(array2.ToString()); |
| | | if (dt2.Rows.Count > 0) |
| | | { |
| | | gcMxL2.BindingContext = new BindingContext(); |
| | | gcMxL2.DataSource = dt2; |
| | | gcMxL2.ForceInitialize(); |
| | | gvMxL2.BestFitColumns(); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMxL2); |
| | | } |
| | | else |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMxL2, gvMxL2); |
| | | } |
| | | JArray array3 = new JArray(); |
| | | foreach (var a in dy["list2"]) |
| | | { |
| | | array3.Add(a); |
| | | } |
| | | DataTable dt3 = JsonConvert.DeserializeObject<DataTable>(array3.ToString()); |
| | | if (dt3.Rows.Count > 0) |
| | | { |
| | | gcMxL3.BindingContext = new BindingContext(); |
| | | gcMxL3.DataSource = dt3; |
| | | gcMxL3.ForceInitialize(); |
| | | gvMxL3.BestFitColumns(); |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMxL3); |
| | | } |
| | | else |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMxL3, gvMxL3); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | else |
| | | ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ToolBox.MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |