cnf
7 天以前 342b5740dded9d8bdb4a6bc5917d79b724b59aec
DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs
@@ -1,5 +1,6 @@
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid.Views.Base.ViewInfo;
using DevExpress.XtraGrid.Views.Grid;
using Gs.DevApp.DevFrm.Rk;
using Gs.DevApp.Entity;
@@ -13,6 +14,8 @@
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gs.DevApp.DevFrm
{
    public partial class Frm_MesInvItemArn : XtraForm
@@ -24,6 +27,7 @@
        public Frm_MesInvItemArn()
        {
            InitializeComponent();
            this.txt_chkAllUrgent.CheckedChanged += ChkAllUrgent_CheckedChanged;
            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
@@ -35,8 +39,10 @@
            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
            toolBarMenu1.btnLogClick += ToolBarMenu1_btnLogClick;
            toolBarMenu1.btnPrintClick += ToolBarMenu1_btnPrintClick;
            toolBarMenu1.btnRefuseClick += ToolBarMenu1_btnRefuseClick;
            this.toolBarMenu1.getXmlConfig();
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx1);
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx2);
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, picCheckBox, this, "fstatus", "", (value) =>
           {
               Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 0);
@@ -47,7 +53,11 @@
            }, (value) =>
            {
                getPageList(this.pageBar1.CurrentPage);
            }, lbGuid);
            }, lbGuid, toolBarMenu1
            , () =>
            {
                ucRptCgdhd1.Initialize();
            });
            getPageList(1);
            pageBar1.PagerEvent += PageBar1_PagerEvent;
            //设置组织
@@ -108,6 +118,7 @@
                            gvMx1quantity.OptionsColumn.ReadOnly = true;
                            txt_paperBillNo.ReadOnly = true;
                            txt_isSrm.Checked = true;
                            DataTable _newTable = dt.rtnData;
                            _oldTable = _newTable;
                        }
@@ -144,6 +155,8 @@
                        MessageBox.Show(ex.Message);
                    }
                };
                frm.ShowDialog();
            };
        }
@@ -155,6 +168,34 @@
            Task.Delay(100);
            getPageList(1);
        }
        /// <summary>
        /// 全单急料开关切换事件
        /// </summary>
        private void ChkAllUrgent_CheckedChanged(object sender, EventArgs e)
        {
            if (gvMx1.DataRowCount == 0) return;
            if (txt_chkAllUrgent.Properties.ReadOnly) return;
            bool isUrgent = txt_chkAllUrgent.Checked;
            string targetTxt = isUrgent ? "1:急料" : "0:普通";
            gvMx1.BeginDataUpdate();
            try
            {
                for (int i = 0; i < gvMx1.DataRowCount; i++)
                {
                    // 注意:SetRowCellValue 会触发 Grid 的 CellValueChanged 事件(如果有的话)
                    gvMx1.SetRowCellValue(i, "urgentFlagTxt", targetTxt);
                }
            }
            finally
            {
                gvMx1.EndDataUpdate();
                // 强制刷新视图,确保文字变了
                gvMx1.RefreshData();
            }
        }
        /// <summary>
        ///     分页事件
@@ -173,12 +214,17 @@
        /// <param name="e"></param>
        private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
        {
            gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
            gridView1.ActiveFilter.Clear();
            gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
            var frm = new ShowFilter(gridView1.Columns, _filterList, this.GetType().FullName);
            frm.UpdateParent += Frm_UpdateParent;
            frm.ShowDialog();
            if (xtraTabControl1.SelectedTabPageIndex == 0)
            {
                gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
                gridView1.ActiveFilter.Clear();
                gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
                var frm = new ShowFilter(gridView1.Columns, _filterList, this.GetType().FullName);
                frm.UpdateParent += Frm_UpdateParent;
                frm.ShowDialog();
                return;
            }
            ucRptCgdhd1.ToolBarMenu1_btnQueryClick(sender, e);
        }
        /// <summary>
@@ -204,7 +250,13 @@
                lbGuid, txt_billNo, gridView1);
            toolBarMenu1.guidKey = rowGuid;
        }
        private void ToolBarMenu1_btnRefuseClick(object sender, EventArgs e)
        {
            string _billNo =  txt_billNo.Text.Trim();
            var frm = new SelectCgDhMx(_billNo);
            frm.ShowDialog();
        }
        private void ToolBarMenu1_btnChkClick(object sender, EventArgs e)
        {
            _toolCk("EditModelSubmit");
@@ -321,6 +373,12 @@
            setSrm();
            txt_receiveOrgId.IsReadly = true;
            txt_suppId.IsReadly = true;
            if (txt_chkAllUrgent != null)
            {
                // 1. 确保控件启用
                txt_chkAllUrgent.Enabled = true;
                txt_chkAllUrgent.Properties.ReadOnly = false;
            }
        }
        /// <summary>
@@ -400,7 +458,8 @@
                        AboutGuid = Gs.DevApp.ToolBox.UtilityHelper.ToGuid(row["aboutGuid"].ToString()),
                        ItemId = int.Parse(row["itemId"].ToString()),
                        Quantity = decimal.Parse(row["quantity"].ToString()),
                        UrgentFlag = (row["urgentFlagTxt"].ToString().Replace(":","").Replace("普通", "").Replace("急料", "").Replace("一般", "")),
                        // 这段保存代码不用动,它能自动识别上面设置的文字
                        UrgentFlag = (row["urgentFlagTxt"] != null && row["urgentFlagTxt"].ToString().Contains("急料")) ? "1" : "0",
                        Remark = row["memo"].ToString(),
                    });
                }
@@ -508,6 +567,7 @@
                    lbGuid.Text = strGuid;
                    var gvList = new List<GridView>();
                    gvList.Add(gvMx1);
                    gvList.Add(gvMx2);
                    UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, isEdit, gvList);
                    _ucGys = "";
                    _ucCk = "";
@@ -524,11 +584,52 @@
                        gcMx1.ForceInitialize();
                        gvMx1.BestFitColumns();
                        Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1);
                        if (txt_chkAllUrgent != null)
                        {
                            txt_chkAllUrgent.CheckedChanged -= ChkAllUrgent_CheckedChanged;
                            bool allUrgent = true;
                            foreach (DataRow dr in dt.Rows)
                            {
                                // 假设字段名是 urgentFlagTxt,值是 "1:急料"
                                string val = dr["urgentFlagTxt"]?.ToString() ?? "";
                                if (!val.Contains("1:急料"))
                                {
                                    allUrgent = false;
                                    break;
                                }
                            }
                            // 3. 设置开关状态
                            txt_chkAllUrgent.Checked = allUrgent;
                            //4.根据当前模式(编辑 / 查看)决定是否可用
                            //如果是 add 或 edit 模式,且有权限,则允许点击
                            txt_chkAllUrgent.Enabled = isEdit || toolBarMenu1.currentAction == "add";
                            txt_chkAllUrgent.Properties.ReadOnly = !(isEdit || toolBarMenu1.currentAction == "add");
                            txt_chkAllUrgent.CheckedChanged += ChkAllUrgent_CheckedChanged;
                        }
                    }
                    else
                    {
                        UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
                    }
                    JArray array2 = new JArray();
                    foreach (var a in dy["list2"])
                    {
                        array2.Add(a);
                    }
                    DataTable dt2 = JsonConvert.DeserializeObject<DataTable>(array2.ToString());
                    if (dt2.Rows.Count > 0)
                    {
                        gcMx2.BindingContext = new BindingContext();
                        gcMx2.DataSource = dt2;
                        gcMx2.ForceInitialize();
                        gvMx2.BestFitColumns();
                        Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx2);
                    }
                    else
                    {
                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx2, gvMx2);
                    }
                }
                else
                {