wbc
8 天以前 94c437fea114e923bc5f9fb9c7145dd43e9b78e8
DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_ArrivalBarcode.cs
@@ -1,16 +1,18 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraRichEdit.Model;
using Gs.DevApp.DevFrm.Rpt;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Gs.DevApp.UserControl;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gs.DevApp.DevFrm.Warehouse
namespace Gs.DevApp.DevFrm
{
    public partial class Frm_ArrivalBarcode : DevExpress.XtraEditors.XtraForm
    {
@@ -24,59 +26,77 @@
            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.SetGridViewParameterMx(gvMxL1);
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMxL2);
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMxL3);
            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);
            }, (value) =>
            {
                getPageList(this.pageBar1.CurrentPage);
            }, lbGuid);
            getPageList(1);
            pageBar1.PagerEvent += PageBar1_PagerEvent;
            //打印事件
            #region 打印相关 2025-10-18
            // -------------------- gvMx1 打印事件 --------------------
            //浏览打印事件
            this.ucBtnPrint1.btnPrintClick += (s, e) =>
            {
                string rowGuid = lbMxGuid.Text.Trim();
                ucBtnPrint1.guidKey = rowGuid;
                if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_iCount_1.Text.Trim(), txt_yuliang_1.Text.Trim()))
                {
                    Gs.DevApp.ToolBox.MsgHelper.ShowError("请输入正确的条码数量!");
                    txt_iCount_1.Focus();
                    this.ucBtnPrint1.rptParameter = "return false";
                    return;
                }
                if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_psnQty_1.Text.Trim()))
                {
                    Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择打印条码数量!");
                    txt_psnQty_1.Focus();
                    this.ucBtnPrint1.rptParameter = "return false";
                    return;
                }
                if (lbMxGuid.Text.Trim().Length < 10)
                {
                    Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择打印的行!");
                    this.ucBtnPrint1.rptParameter = "return false";
                    return;
                }
                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()//每张条码数量
                       + "}";
                txt_iCount_1.Text = "";
                txt_psnQty_1.Text = "";
                _print(0);
            };
            //直接打印事件
            this.ucBtnPrint1.btnZhiJieClick += (s, e) =>
            {
                _print(1);
            };
            //打印批量操作事件
            this.ucBtnPrint1.btnAllClick += (s, e) =>
            {
                string rowGuid = lbMxGuid.Text.Trim();
                SelectDeleteBar frm = new SelectDeleteBar(rowGuid, "采购入库");
                _print100(rowGuid, frm);//重打都是传100,
            };
            // -------------------- gvMx3 打印事件 --------------------
            this.ucBtnPrint2.btnPrintClick += (s, e) =>
            {
                _print2(0);
            };
            //直接打印事件
            this.ucBtnPrint2.btnZhiJieClick += (s, e) =>
            {
                _print2(1);
            };
            // gvMx1 1打印事件
            this.ucBtnPrint2.btnAllClick += (s, e) =>
            {
                // string rowGuid = lbMxGuid3.Text.Trim(); // 使用gvMx3的GUID
                string rowGuid = txt_releaseNo.Text.Trim();
                SelectDeleteBar frm = new SelectDeleteBar(rowGuid, "到货条码(合并)码"); // 标题区分来源
              //  _print100(rowGuid, frm);//重打都是传100,
                string strCodeList = "";
                string strAction = "";
                frm.UpdateParent += (ss, ee) =>
@@ -87,10 +107,11 @@
                frm.ShowDialog();
                if (string.IsNullOrEmpty(strCodeList))
                    return;
                if (strAction == "print") {
                if (strAction == "print")
                {
                    try
                    {
                        string rptParameter = "rpt_Arrival{"
                        string rptParameter = "rpt_Arrival_Hb{"
                        + "100"//重打都是传100,
                        + "," + ""
                        + "," + ""
@@ -109,9 +130,43 @@
                        MsgHelper.ShowError(ex.Message);
                    }
                }
            };
            // --------------------gvMx1 ucBtnPrintOne1  明细打印事件(优化版)--------------------
            //一键打印事件
            this.ucBtnPrintOne1.btnPrintClick += (s, e) =>
            {
                _print3(101); //一键打印101
            };
            this.ucBtnPrintOne1.btnAllClick += (s, e) =>
            {
                string mainGuid = lbGuid.Text.Trim();
                SelectDeleteBar frm = new SelectDeleteBar(mainGuid, "批量条码"); // 标题区分来源
                _print100(mainGuid, frm);//重打都是传100,
            };
            // --------------------gvMx3 ucBtnPrintOne2 合并批量打印事件(优化版)--------------------
            //一键打印事件
            this.ucBtnPrintOne2.btnPrintClick += (s, e) =>
            {
                _print4(102); //一键合并打印102
            };
            this.ucBtnPrintOne2.btnAllClick += (s, e) =>
            {
                string mainGuid = lbGuid.Text.Trim();
                SelectDeleteBar frm = new SelectDeleteBar(mainGuid, "批量条码"); // 标题区分来源
                _print100(mainGuid, frm);//重打都是传100,
            };
            //明细行切换事件
            // 关键:绑定gvMx1和gvMx3的焦点行变化事件
            gvMx1.FocusedRowChanged += GvMx1_FocusedRowChanged;
            //打印自动计算
            gvMx3.FocusedRowChanged += GvMx3_FocusedRowChanged; // 取消注释并绑定事件
            //gvMx1打印自动计算
            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);
@@ -120,13 +175,225 @@
            {
                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);
            };
            #endregion
            ////底部汇总启用
            //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");
            UtilityHelper.SetupGridSummary(gvMx2, "quantity", "okRkqty");
            UtilityHelper.SetupGridSummary(gvMxL2, "quantity", "okRkqty");
            UtilityHelper.SetupGridSummary(gvMx3, "quantity", "okRkqty");
            UtilityHelper.SetupGridSummary(gvMxL3, "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);
                    //UtilityHelper.SetSimpleGridColor(gridView1, "barRatio", "=100.00%", "Cell", Color.Green);
                    ////入库比例
                    //UtilityHelper.SetSimpleGridColor(gridView1, "rkbl", "=100.00%", "Cell", Color.Green);
                };
                timer.Start();
            };
        }
        /// <summary>
        /// 打印
        /// </summary>
        /// <param name="type">0表示预览打印,1表示直接打印</param>
        private void _print(int type)
        {
            string rowGuid = lbMxGuid.Text.Trim();
            ucBtnPrint1.guidKey = rowGuid;
            if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_iCount_1.Text.Trim(), txt_yuliang_1.Text.Trim()))
            {
                Gs.DevApp.ToolBox.MsgHelper.ShowError("请输入正确的条码数量!");
                txt_iCount_1.Focus();
                this.ucBtnPrint1.rptParameter = "return false";
                return;
            }
            if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric3(txt_psnQty_1.Text.Trim()))
            {
                Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择打印条码数量!");
                txt_psnQty_1.Focus();
                this.ucBtnPrint1.rptParameter = "return false";
                return;
            }
            if (lbMxGuid.Text.Trim().Length < 10)
            {
                Gs.DevApp.ToolBox.MsgHelper.ShowError("请选择打印的行!");
                this.ucBtnPrint1.rptParameter = "return false";
                return;
            }
            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()//每张条码数量
                   + "}";
            txt_iCount_1.Text = "";
            txt_psnQty_1.Text = "";
        }
        private void _print2(int type)
        {
            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 = "";
        }
        private void _print3(int type)
        {
            string mainGuid = lbGuid.Text.Trim();
            ucBtnPrintOne1.guidKey = mainGuid;
            this.ucBtnPrintOne1.rptParameter = "rpt_Arrival{"
            + type
            + "," + ""
            + "," + ""
            + "," + ""
            + "," + ""
            + "}";
            txt_iCount_1.Text = "";
            txt_psnQty_1.Text = "";
        }
        private void _print4(int type)
        {
            string mainGuid = lbGuid.Text.Trim();
            ucBtnPrintOne2.guidKey = mainGuid;
            this.ucBtnPrintOne2.rptParameter = "rpt_Arrival{"
            + type
            + "," + ""
            + "," + ""
            + "," + ""
            + "," + ""
            + "}";
            txt_iCount_1.Text = "";
            txt_psnQty_1.Text = "";
        }
        private void _print100(string mainGuid, SelectDeleteBar frm)
        {
            string strCodeList = "";
            string strAction = "";
            frm.UpdateParent += (ss, ee) =>
            {
                strCodeList = ee.StringSingle;
                strAction = ee.Data;
            };
            frm.ShowDialog();
            if (string.IsNullOrEmpty(strCodeList))
                return;
            if (strAction == "print")
            {
                try
                {
                    string rptParameter = "rpt_Arrival{"
                    + "100"//重打都是传100,
                    + "," + ""
                    + "," + ""
                    + "," + ""
                    + "," + ""
                    + "," + strCodeList
                    + "}";
                    using (Form rpt = new RptPreview(mainGuid, rptParameter))
                    {
                        rpt.ShowDialog();
                    }
                    frm.Close();
                }
                catch (Exception ex)
                {
                    MsgHelper.ShowError(ex.Message);
                }
            }
        }
        private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
        {
            _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1);
            Task.Delay(100);
            getPageList(1);
        }
        private void GvMx1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            if (e.FocusedRowHandle >= 0)
@@ -155,6 +422,39 @@
                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>
@@ -218,11 +518,7 @@
        /// <param name="pageSize">每页几条</param>
        private void getPageList(int curPage)
        {
            gcMain1.DataSource = null;
            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
            _sbSqlWhere.Append(" and a.ReceiveOrgId in");
            _sbSqlWhere.Append(ToolBox.UtilityHelper.GetOrgWhere());
            _sbSqlWhere.Append(UtilityHelper.GetSearchWhere(_filterList));
            gcMain1.DataSource = null; var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList);
            var pgq = new PageQueryModel(curPage, this.pageBar1.RowsCount, "create_date",
                "asc", "", _sbSqlWhere.ToString());
            var json = JsonConvert.SerializeObject(pgq);
@@ -261,7 +557,10 @@
        }
        private void getModel(string strGuid)
        {
            gcMx3.DataSource = null;
            gcMx1.DataSource = null;
            gcMx2.DataSource = null;
            bool isEdit = false;
            if (toolBarMenu1.currentAction == "add") return;
            if (toolBarMenu1.currentAction == "edit") isEdit = true;
@@ -278,6 +577,7 @@
            {
                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                if (_rtn.rtnCode > 0)
                {
                    dynamic dy = _rtn.rtnData;
@@ -285,12 +585,35 @@
                    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 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);
                    }
                    JArray array1 = new JArray();
                    foreach (var a in dy["list1"])
                    {
                        array1.Add(a);
                    }
                    DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(array1.ToString());
                    if (dt1.Rows.Count > 0)
                    {
@@ -304,6 +627,7 @@
                    {
                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
                    }
                    JArray array2 = new JArray();
                    foreach (var a in dy["list2"])
                    {
@@ -322,13 +646,102 @@
                    {
                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx2, gvMx2);
                    }
                }
                else
                    ToolBox.MsgHelper.ShowError("提示:" + _rtn.rtnMsg);
                    ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg);
            }
            catch (Exception ex)
            {
                ToolBox.MsgHelper.ShowError("提示:" + ex.Message);
                ToolBox.MsgHelper.Warning("提示:" + ex.Message);
            }
        }
        /// <summary>
        ///  新增方法:列表显示
        /// </summary>
        /// <param name="strGuid">主表id</param>
        private void getModelList(string strGuid)
        {
            gcMxL1.DataSource = null;
            gcMxL2.DataSource = null;
            gcMxL3.DataSource = null;
            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)
                {
                    dynamic dy = _rtn.rtnData;
                    JArray array1 = new JArray();
                    foreach (var a in dy["list1"])
                    {
                        array1.Add(a);
                    }
                    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);
                    }
                }
                else
                    ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg);
            }
            catch (Exception ex)
            {
                ToolBox.MsgHelper.Warning("提示:" + ex.Message);
            }
        }