lu
2025-08-18 dd0af4a5532c251fd655024ba475f72eaf9c93a0
DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_MESJJERRORJS.cs
@@ -28,6 +28,7 @@
        public Frm_MESJJERRORJS()
        {
            InitializeComponent();
            gridView2.CellValueChanged += gridView2_CellValueChanged;
            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
@@ -38,7 +39,8 @@
            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
            toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
            this.toolBarMenu1.getXmlConfig();
            btnFZ.Click += btnFZ_Click;
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gridView2);
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, picCheckBox, this, "checkStatus", "", (value) =>
            {
                Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 0);
@@ -50,8 +52,14 @@
            {
                getPageList(this.pageBar1.CurrentPage);
            }, lbGuid);
            // 延迟调用 getXmlConfig,确保 GridView 完全初始化后再恢复布局
            this.Load += (s, e) =>
            {
                this.toolBarMenu1.getXmlConfig();
            };
            getPageList(1);
            pageBar1.PagerEvent += PageBar1_PagerEvent;
            txt_DAA001.EditValueChanged += txt_DAA001_EditValueChanged;
            //选择需要入库的明细
            btnSelect.Click += (s, e) =>
@@ -289,7 +297,7 @@
        private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
        {
            string rowGuid = "", rowName = "";
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "errorNo");
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_ErrorNo, gridView1, "errorNo");
            if (string.IsNullOrEmpty(rowGuid))
            {
                ToolBox.MsgHelper.Warning("请先选择你要操作的行!");
@@ -432,7 +440,6 @@
                var row = gridView2.GetDataRow(i);
                if (row != null)
                {
                    Guid? _guid = UtilityHelper.ToGuid(row["id"].ToString());
                    if (string.IsNullOrEmpty(row["staffId"].ToString()))
                    {
                        MsgHelper.ShowError("员工不能为空!");
@@ -456,8 +463,8 @@
                    _obj.list.Add(new
                    {
                        Guid = _guid,
                        ID = Gs.DevApp.ToolBox.UtilityHelper.ToGuid(row["id"].ToString()),
                        Guid = "",
                        ID = "",
                        Staff_Id = row["staffId"].ToString(),
                        Staff_No = row["staffNo"].ToString(),
                        Staff_Name = row["staffName"].ToString(),
@@ -622,7 +629,7 @@
            ;
            toolBarMenu1.guidKey = "";
            string rowGuid, rowName;
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "errorNo");
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_ErrorNo, gridView1, "errorNo");
            if (string.IsNullOrEmpty(rowGuid))
            {
                MsgHelper.Warning("请先选择你要操作的行!");
@@ -669,8 +676,20 @@
            {
                txt_HourlyType.EditValue = SelectedDataRow["计时类型"].ToString();
                txt_HourlySalary.EditValue = SelectedDataRow["计时单价"];
                var hourlySalary = decimal.Parse(txt_HourlySalary.EditValue.ToString());
                for (int i = 0; i < gridView2.DataRowCount; i++)
                {
                    DataRow row = gridView2.GetDataRow(i);
                    decimal hour = 0;
                    decimal.TryParse(row["hour"]?.ToString(), out hour);
                    if (row != null)
                    {
                        row["salary"] = hourlySalary * hour;
                    }
                }
                gridView2.RefreshData();
            }
        }
        private void repositoryItemSearchLookUpEdit1_EditValueChanged(object sender, EventArgs e)
@@ -717,5 +736,57 @@
                }
            }
        }
        private void btnFZ_Click(object sender, EventArgs e)
        {
            // 获取当前选中行的行号
            int focusedRowHandle = gridView2.FocusedRowHandle;
            if (focusedRowHandle < 0) return;
            // 获取当前行的时长
            DataRow currentRow = gridView2.GetDataRow(focusedRowHandle);
            if (currentRow == null) return;
            var hourValue = currentRow["hour"];
            if (hourValue == null) return;
            decimal hourlySalary = 0;
            decimal hour = 0;
            decimal.TryParse(txt_HourlySalary.Text, out hourlySalary);
            // 获取时长
            decimal.TryParse(currentRow["hour"]?.ToString(), out hour);
            // 批量设置下面所有行的时长
            for (int i = focusedRowHandle + 1; i < gridView2.DataRowCount; i++)
            {
                var row = gridView2.GetDataRow(i);
                if (row != null)
                {
                    row["hour"] = hourValue;
                    // 计算计时工资
                    row["salary"] = hourlySalary * hour;
                }
            }
            gridView2.RefreshData();
        }
        /// <summary>
        /// 工单下拉框选择事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void txt_DAA001_EditValueChanged(object sender, EventArgs e)
        {
            SearchLookUpEdit lookupEdit = sender as SearchLookUpEdit;
            DataRowView selectedDataRow = (DataRowView)lookupEdit.GetSelectedDataRow();
            if (selectedDataRow != null)
            {
                txt_DAAType.Text = selectedDataRow["工单类型"].ToString();
            }
            else
            {
                txt_DAAType.Text = "";
            }
        }
    }
}