SVN r1109

SVN-Revision: r1109
This commit is contained in:
cyf
2026-01-30 07:55:48 +00:00
parent ca14852308
commit 5ab9042018
2 changed files with 184 additions and 68 deletions
+182 -67
View File
@@ -763,6 +763,8 @@ namespace Lskj.PubBill
if (this.BillModel != null)
{
this.BillModel.TypeName = string.IsNullOrEmpty(SysModel.BillMasterSql) ? this.SysModel.FormText : this.BillModel.TypeName;// 模块名称
if (!string.IsNullOrWhiteSpace(this.SysModel.DocumentName)) this.BillModel.TypeName = this.SysModel.DocumentName;
if (!dataCaches.GetValue(this, "MasterPreFix", out string masterPreFix))
{
masterPreFix = BaseImpl.GetColumnPrefix(this.BillModel.MasterTable);// 主表列前缀
@@ -999,6 +1001,7 @@ namespace Lskj.PubBill
itemCommon.Location = new Point(x + 6 + inputWidth, 6);
pl_main_bottom.Controls.Add(itemCommon);
x += itemCommon.Width + 6;
if (tableCommon.Columns.Contains("menuCond"))
{
itemCommon.Enabled = ValidateCond(item["menuCond"] + "", null);
@@ -1027,6 +1030,14 @@ namespace Lskj.PubBill
SimpleButton btn = sender as SimpleButton;
DataRow rowItem = btn.Tag as DataRow;
GridRightMenuModel model = new GridRightMenuModel(rowItem);
if (!string.IsNullOrWhiteSpace(model.ClickCond))
{
string clickCond = this.ControlObj.ReplaceControlValue(model.ClickCond) + "";
bool condResult = ValidateCond(clickCond, null);
if (!condResult) return;
}
if (rowItem["dllname"].Equals("Lskj.PubBomImport.dll"))
{
if ((model.ParamList[7] + "").Equals("3"))
@@ -1037,11 +1048,29 @@ namespace Lskj.PubBill
}
}
}
StaticControl.RightMenuGridView = gcMain.GridView;
StaticControl.Comprefix = this.BillModel.DetailPreFix;
CommonMenu menu = new CommonMenu(this.SysModel, this.ControlObj, this.gcMain);
menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore);
menu.DynamicLinkAfter += new CommonToolAfterDynamicLinkEventHandler(OnDynamicLinkAfter);
menu.Apply(rowItem);
if (StaticControl.ReturnRowLisy.Count > 0)
{
DataRow[] dataRows = StaticControl.ReturnRowLisy.ToArray();
foreach (DataRow item in dataRows)
{
if (this.BillModel.DetailTreeTable)
{
this.AddRowToTreeGridControl(item, "0");
}
else
{
this.AddRowToGridView(item);
}
}
}
if (model != null && model.Refresh)
{
string billNo = this.lblOrderNo.Text.Trim();
@@ -2745,7 +2774,7 @@ namespace Lskj.PubBill
this.cb_input.Enabled = this.btn_input.Enabled = this.txt_input.Enabled = true;
this._itemImport.Enabled = this._itemImportUpdate.Enabled = true;
this.cb_templete.Enabled = true;
this.ControlObj.CopyControlValue();
this.ControlObj.CopyControlValue(this.BillModel.CancelCopyAssociation);
this.ControlObj.SetReadOnlyAllControl(false);
if (this.BillModel.DetailTreeTable)
@@ -2792,7 +2821,7 @@ namespace Lskj.PubBill
this.cb_input.Enabled = this.btn_input.Enabled = this.txt_input.Enabled = true;
this._itemImport.Enabled = this._itemImportUpdate.Enabled = true;
this.cb_templete.Enabled = true;
this.ControlObj.CopyControlValue();
this.ControlObj.CopyControlValue(this.BillModel.CancelCopyAssociation);
this.ControlObj.SetReadOnlyAllControl(false);
this._waterMark = new WaterMark(this.BillModel.MasterPreFix, null);
if (!gridTable.Columns.Contains(ERPInfo.Instance.isAddRows))
@@ -4698,7 +4727,8 @@ namespace Lskj.PubBill
//return false;
}
// 检测是否为提交或者终审模块
if (_waterMark.Text.Contains("已终审"))
string text = Business.Impl.LanguageTranslation.Translatable ? Business.Impl.LanguageTranslation.GetTranslatedText("已终审") : "已终审";
if (_waterMark.Text.Contains(text))
{
MessageUtil.Show(ResourceKeys.AddBillDetailed);
return false;
@@ -5273,6 +5303,7 @@ namespace Lskj.PubBill
menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore);
menu.DynamicLinkAfter += new CommonToolAfterDynamicLinkEventHandler(OnDynamicLinkAfter);
StaticControl.RightMenuGridView = gcMain.GridView;
StaticControl.Comprefix = this.BillModel.DetailPreFix;
StaticControl.RightMenuMyControl = ControlObj;
menu.Apply(menuRow);
if (!menu.issuccess)
@@ -5418,6 +5449,9 @@ namespace Lskj.PubBill
saveResult = true;
SaveRefreshSource();
RefreshPrindMenu();
//刷新下方配置的附件模块
if (this.BillModel.SaveRefreshAdditional) this.OngcMainRowCellClick(null, null);
//保存完成后所有数据源进行拼接执行保存
if (tvp != null && tvp.Rows.Count > 0)
{
@@ -6607,7 +6641,17 @@ namespace Lskj.PubBill
XtraTabPage tabPage = this.xtc_left_container.SelectedTabPage;
BillSourceUnionModel unionModel = tabPage.Tag as BillSourceUnionModel;
DataRow rowItem = unionModel.GridDetailControlObj.GridView.GetFocusedDataRow();
if (rowItem != null) this.AddMultiRowToGridView(new DataRow[] { rowItem });
if (rowItem != null)
{
if (!this.BillModel.IsFastDragAddDetail)
{
this.AddMultiRowToGridView(new DataRow[] { rowItem });
}
else
{
this.AddRowsToGridViewFast(new DataRow[] { rowItem });
}
}
}
}
}
@@ -6817,33 +6861,90 @@ namespace Lskj.PubBill
// 绘制单据状态文本
if (!string.IsNullOrEmpty(this._waterMark.Text))
{
graphicsText.DrawString(this._waterMark.Text, new Font("宋体", 12, FontStyle.Bold), new SolidBrush(Color.Red), new PointF(50, 21), format, -15f);
e.Graphics.TranslateTransform(0, 0);
e.Graphics.RotateTransform(-15f);
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(14, 20, 55, 21));
if (Business.Impl.LanguageTranslation.Translatable)
{
graphicsText.DrawString(this._waterMark.Text, new Font("宋体", 12, FontStyle.Bold), new SolidBrush(Color.Red), new PointF(50, 21), format,0f);
// 测量文本实际尺寸(含字体和格式影响)
SizeF textSize = e.Graphics.MeasureString(this._waterMark.Text, new Font("宋体", 12, FontStyle.Bold), new SizeF(float.MaxValue, float.MaxValue), format);
int rectWidth = (int)textSize.Width + 10;
int rectHeight = (int)textSize.Height + 5;
// 文本中心点是(50,21),计算边框左上角坐标(确保边框围绕文本居中)
int rectX = 50 - rectWidth / 2;
int rectY = 21 - rectHeight / 2;
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(rectX, rectY, rectWidth, 21));
}
else
{
graphicsText.DrawString(this._waterMark.Text, new Font("宋体", 12, FontStyle.Bold), new SolidBrush(Color.Red), new PointF(50, 21), format, -15f);
e.Graphics.TranslateTransform(0, 0);
e.Graphics.RotateTransform(-15f);
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(14, 20, 55, 21));
}
}
// 绘制打印次数文本
e.Graphics.ResetTransform();
if (!string.IsNullOrEmpty(this._waterMark.Print))
{
graphicsText.DrawString(this._waterMark.Print, new Font("宋体", 11, FontStyle.Bold), new SolidBrush(Color.Red), new PointF((this.lbTitle.Width - 70), 21), format, -15f);
e.Graphics.TranslateTransform(this.lbTitle.Width - 70, 21);
e.Graphics.RotateTransform(-15f);
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(-35, -14, 70, 21));
if (Business.Impl.LanguageTranslation.Translatable)
{
graphicsText.DrawString(this._waterMark.Print, new Font("宋体", 11, FontStyle.Bold), new SolidBrush(Color.Red), new PointF((this.lbTitle.Width - 70), 21), format, 0f);
// 测量文本实际尺寸(含字体和格式影响)
SizeF textSize = e.Graphics.MeasureString(this._waterMark.Print, new Font("宋体", 11, FontStyle.Bold), new SizeF(float.MaxValue, float.MaxValue), format);
int rectWidth = (int)textSize.Width + 10;
int rectHeight = (int)textSize.Height + 5;
// 文本中心点是(this.lbTitle.Width - 70,21),计算边框左上角坐标(确保边框围绕文本居中)
int rectX = (this.lbTitle.Width - 70) - rectWidth / 2;
int rectY = 21 - rectHeight / 2;
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(rectX, rectY, rectWidth, 21));
}
else
{
graphicsText.DrawString(this._waterMark.Print, new Font("宋体", 11, FontStyle.Bold), new SolidBrush(Color.Red), new PointF((this.lbTitle.Width - 70), 21), format, -15f);
e.Graphics.TranslateTransform(this.lbTitle.Width - 70, 21);
e.Graphics.RotateTransform(-15f);
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(-35, -14, 70, 21));
}
}
// 绘制收款文本
e.Graphics.ResetTransform();
if (!string.IsNullOrEmpty(this._waterMark.Collect))
{
graphicsText.DrawString(this._waterMark.Collect, new Font("宋体", 12, FontStyle.Bold), new SolidBrush(Color.Red), new PointF((this.lbTitle.Width - 170), 21), format, -15f);
e.Graphics.TranslateTransform(this.lbTitle.Width - 100, 21);
e.Graphics.RotateTransform(-15f);
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(-100, -32, 55, 21));
if (Business.Impl.LanguageTranslation.Translatable)
{
graphicsText.DrawString(this._waterMark.Collect, new Font("宋体", 12, FontStyle.Bold), new SolidBrush(Color.Red), new PointF((this.lbTitle.Width - 170), 21), format, 0f);
// 测量文本实际尺寸(含字体和格式影响)
SizeF textSize = e.Graphics.MeasureString(this._waterMark.Collect, new Font("宋体", 12, FontStyle.Bold), new SizeF(float.MaxValue, float.MaxValue), format);
int rectWidth = (int)textSize.Width + 10;
int rectHeight = (int)textSize.Height + 5;
// 文本中心点是(this.lbTitle.Width - 170,21),计算边框左上角坐标(确保边框围绕文本居中)
int rectX = (this.lbTitle.Width - 170) - rectWidth / 2;
int rectY = 21 - rectHeight / 2;
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(rectX, rectY, rectWidth, 21));
}
else
{
graphicsText.DrawString(this._waterMark.Collect, new Font("宋体", 12, FontStyle.Bold), new SolidBrush(Color.Red), new PointF((this.lbTitle.Width - 170), 21), format, -15f);
e.Graphics.TranslateTransform(this.lbTitle.Width - 100, 21);
e.Graphics.RotateTransform(-15f);
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(-100, -32, 55, 21));
}
}
}
}
@@ -6860,30 +6961,34 @@ namespace Lskj.PubBill
/// <param name="e">The e.</param>
private void OnDragDetailGridCompleted(object sender, GridDragGridArgs e)
{
List<DataRow> dragRows = new List<DataRow>();
int[] rowHandles = e.SourceGridViewObj.GetSelectedRows();
foreach (int handle in rowHandles)
if (this.CanAddDetailRow())
{
DataRow row = e.SourceGridViewObj.GetDataRow(handle);
dragRows.Add(row);
}
if (dragRows != null && dragRows.Count > 0)
{
if (!this.BillModel.IsFastDragAddDetail)
List<DataRow> dragRows = new List<DataRow>();
int[] rowHandles = e.SourceGridViewObj.GetSelectedRows();
foreach (int handle in rowHandles)
{
this.AddMultiRowToGridView(dragRows.ToArray());
DataRow row = e.SourceGridViewObj.GetDataRow(handle);
dragRows.Add(row);
}
else
if (dragRows != null && dragRows.Count > 0)
{
this.AddRowsToGridViewFast(dragRows.ToArray());
}
//拖拽后清除所有复选框
if (e.SourceGridViewObj != null && e.SourceGridViewObj.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect)
{
e.SourceGridViewObj.ClearSelection();
}
if (!this.BillModel.IsFastDragAddDetail)
{
this.AddMultiRowToGridView(dragRows.ToArray());
}
else
{
this.AddRowsToGridViewFast(dragRows.ToArray());
}
//拖拽后清除所有复选框
if (e.SourceGridViewObj != null && e.SourceGridViewObj.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect)
{
e.SourceGridViewObj.ClearSelection();
}
}
}
}
/// <summary>
@@ -8121,7 +8226,15 @@ namespace Lskj.PubBill
{
WaitForm.ShowForm();
//主表明细
this.gcMain.RefreshDataSource();
if (this.gcMain is TreeGridControlEx)
{
(this.gcMain as TreeGridControlEx).RefreshDataSource();
}
else
{
this.gcMain.RefreshDataSource();
}
//来源明细
foreach (XtraTabPage tabPage in this.xtc_left_container.TabPages)
{
@@ -8318,40 +8431,41 @@ namespace Lskj.PubBill
/// <param name="e"></param>
private void DragDetailGrid_OnDragComplete(object sender, GridDragTreeGridArgs e)
{
string Pid = "0";//必须父节点必须有默认值,不然如果新增后没有值的话,无法自动展开当前节点
if (e.SelectTreeNode != null)
if (this.CanAddTreeDetailRow())
{
Pid = e.SelectTreeNode[(this.gcMain as TreeGridControlEx).TreeListObj.KeyFieldName] + "";
DataRow SelectRow = (this.gcMain as TreeGridControlEx).GetViewSpecifyDataRow(e.SelectTreeNode);
if (!string.IsNullOrWhiteSpace(this.BillModel.TreeTableDragCondition)&&!ReplaceHelper.EvalCond(ReplaceHelper.ReplaceRowParam(SelectRow, this.BillModel.TreeTableDragCondition)))
string Pid = "0";//必须父节点必须有默认值,不然如果新增后没有值的话,无法自动展开当前节点
if (e.SelectTreeNode != null)
{
return;
Pid = e.SelectTreeNode[(this.gcMain as TreeGridControlEx).TreeListObj.KeyFieldName] + "";
DataRow SelectRow = (this.gcMain as TreeGridControlEx).GetViewSpecifyDataRow(e.SelectTreeNode);
if (!string.IsNullOrWhiteSpace(this.BillModel.TreeTableDragCondition) && !ReplaceHelper.EvalCond(ReplaceHelper.ReplaceRowParam(SelectRow, this.BillModel.TreeTableDragCondition)))
{
return;
}
}
XtraTabPage tabPage = this.xtc_left_container.SelectedTabPage;
BillSourceUnionModel unionModel = tabPage.Tag as BillSourceUnionModel;
int oldRowHandle = this.gcMain.GridView.FocusedRowHandle;
foreach (DataRow rowItem in e.GridViewSelectRows)
{
//添加拖拽行
this.AddMultiRowTreeGridControl(new DataRow[] { rowItem }, Pid);
if (!string.IsNullOrWhiteSpace(unionModel.AddDataSql) && !string.IsNullOrWhiteSpace(unionModel.AddDataCondition) && this.ValidateCond(unionModel.AddDataCondition, rowItem))
{
//添加拖拽行对应的数据源
string addSql = ReplaceHelper.ReplaceRowParam(e.GridViewSelectRows, ReplaceHelper.ReplaceUserInfo(unionModel.AddDataSql));
DataTable dataTable = MainImpl.GetDataTableResult(addSql);
DragAddTable(dataTable, (int.Parse((this.gcMain as TreeGridControlEx).GetNewNodesId()) - 1) + "");//上方的新增行的id默认是最大的
}
}
this.gcMain.GridView.SelectRowHandler(oldRowHandle);
if (e.SelectTreeNode != null)
{
e.SelectTreeNode.Expanded = true;
}
}
XtraTabPage tabPage = this.xtc_left_container.SelectedTabPage;
BillSourceUnionModel unionModel = tabPage.Tag as BillSourceUnionModel;
int oldRowHandle = this.gcMain.GridView.FocusedRowHandle;
foreach (DataRow rowItem in e.GridViewSelectRows)
{
//添加拖拽行
this.AddMultiRowTreeGridControl(new DataRow[] { rowItem }, Pid);
if (!string.IsNullOrWhiteSpace(unionModel.AddDataSql) && !string.IsNullOrWhiteSpace(unionModel.AddDataCondition) && this.ValidateCond(unionModel.AddDataCondition, rowItem))
{
//添加拖拽行对应的数据源
string addSql = ReplaceHelper.ReplaceRowParam(e.GridViewSelectRows, ReplaceHelper.ReplaceUserInfo(unionModel.AddDataSql));
DataTable dataTable = MainImpl.GetDataTableResult(addSql);
DragAddTable(dataTable, (int.Parse((this.gcMain as TreeGridControlEx).GetNewNodesId()) - 1) + "");//上方的新增行的id默认是最大的
}
}
this.gcMain.GridView.SelectRowHandler(oldRowHandle);
if (e.SelectTreeNode != null)
{
e.SelectTreeNode.Expanded = true;
}
}
/// <summary>
@@ -9053,7 +9167,8 @@ namespace Lskj.PubBill
(this.gcMain as TreeGridControlEx).ClearAllSort();
}
// 检测是否为提交或者终审模块
if (_waterMark.Text.Contains("已终审"))
string text = Business.Impl.LanguageTranslation.Translatable ? Business.Impl.LanguageTranslation.GetTranslatedText("已终审") : "已终审";
if (_waterMark.Text.Contains(text))
{
MessageUtil.Show(ResourceKeys.AddBillDetailed);
return false;
+2 -1
View File
@@ -103,8 +103,8 @@ namespace Lskj.PubBill
if (this.billModule1.MainBottomInputObj.Visible && this.billModule1.txtinputobj.Enabled)
{
this.Activated += FrmMain_Activated;
}
}
catch (Exception ex)
{
@@ -115,6 +115,7 @@ namespace Lskj.PubBill
}
finally
{
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
WaitForm.HideForm();
}