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) if (this.BillModel != null)
{ {
this.BillModel.TypeName = string.IsNullOrEmpty(SysModel.BillMasterSql) ? this.SysModel.FormText : this.BillModel.TypeName;// 模块名称 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)) if (!dataCaches.GetValue(this, "MasterPreFix", out string masterPreFix))
{ {
masterPreFix = BaseImpl.GetColumnPrefix(this.BillModel.MasterTable);// 主表列前缀 masterPreFix = BaseImpl.GetColumnPrefix(this.BillModel.MasterTable);// 主表列前缀
@@ -999,6 +1001,7 @@ namespace Lskj.PubBill
itemCommon.Location = new Point(x + 6 + inputWidth, 6); itemCommon.Location = new Point(x + 6 + inputWidth, 6);
pl_main_bottom.Controls.Add(itemCommon); pl_main_bottom.Controls.Add(itemCommon);
x += itemCommon.Width + 6; x += itemCommon.Width + 6;
if (tableCommon.Columns.Contains("menuCond")) if (tableCommon.Columns.Contains("menuCond"))
{ {
itemCommon.Enabled = ValidateCond(item["menuCond"] + "", null); itemCommon.Enabled = ValidateCond(item["menuCond"] + "", null);
@@ -1027,6 +1030,14 @@ namespace Lskj.PubBill
SimpleButton btn = sender as SimpleButton; SimpleButton btn = sender as SimpleButton;
DataRow rowItem = btn.Tag as DataRow; DataRow rowItem = btn.Tag as DataRow;
GridRightMenuModel model = new GridRightMenuModel(rowItem); 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 (rowItem["dllname"].Equals("Lskj.PubBomImport.dll"))
{ {
if ((model.ParamList[7] + "").Equals("3")) 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); CommonMenu menu = new CommonMenu(this.SysModel, this.ControlObj, this.gcMain);
menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore); menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore);
menu.DynamicLinkAfter += new CommonToolAfterDynamicLinkEventHandler(OnDynamicLinkAfter); menu.DynamicLinkAfter += new CommonToolAfterDynamicLinkEventHandler(OnDynamicLinkAfter);
menu.Apply(rowItem); 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) if (model != null && model.Refresh)
{ {
string billNo = this.lblOrderNo.Text.Trim(); 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.cb_input.Enabled = this.btn_input.Enabled = this.txt_input.Enabled = true;
this._itemImport.Enabled = this._itemImportUpdate.Enabled = true; this._itemImport.Enabled = this._itemImportUpdate.Enabled = true;
this.cb_templete.Enabled = true; this.cb_templete.Enabled = true;
this.ControlObj.CopyControlValue(); this.ControlObj.CopyControlValue(this.BillModel.CancelCopyAssociation);
this.ControlObj.SetReadOnlyAllControl(false); this.ControlObj.SetReadOnlyAllControl(false);
if (this.BillModel.DetailTreeTable) 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.cb_input.Enabled = this.btn_input.Enabled = this.txt_input.Enabled = true;
this._itemImport.Enabled = this._itemImportUpdate.Enabled = true; this._itemImport.Enabled = this._itemImportUpdate.Enabled = true;
this.cb_templete.Enabled = true; this.cb_templete.Enabled = true;
this.ControlObj.CopyControlValue(); this.ControlObj.CopyControlValue(this.BillModel.CancelCopyAssociation);
this.ControlObj.SetReadOnlyAllControl(false); this.ControlObj.SetReadOnlyAllControl(false);
this._waterMark = new WaterMark(this.BillModel.MasterPreFix, null); this._waterMark = new WaterMark(this.BillModel.MasterPreFix, null);
if (!gridTable.Columns.Contains(ERPInfo.Instance.isAddRows)) if (!gridTable.Columns.Contains(ERPInfo.Instance.isAddRows))
@@ -4698,7 +4727,8 @@ namespace Lskj.PubBill
//return false; //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); MessageUtil.Show(ResourceKeys.AddBillDetailed);
return false; return false;
@@ -5273,6 +5303,7 @@ namespace Lskj.PubBill
menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore); menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore);
menu.DynamicLinkAfter += new CommonToolAfterDynamicLinkEventHandler(OnDynamicLinkAfter); menu.DynamicLinkAfter += new CommonToolAfterDynamicLinkEventHandler(OnDynamicLinkAfter);
StaticControl.RightMenuGridView = gcMain.GridView; StaticControl.RightMenuGridView = gcMain.GridView;
StaticControl.Comprefix = this.BillModel.DetailPreFix;
StaticControl.RightMenuMyControl = ControlObj; StaticControl.RightMenuMyControl = ControlObj;
menu.Apply(menuRow); menu.Apply(menuRow);
if (!menu.issuccess) if (!menu.issuccess)
@@ -5418,6 +5449,9 @@ namespace Lskj.PubBill
saveResult = true; saveResult = true;
SaveRefreshSource(); SaveRefreshSource();
RefreshPrindMenu(); RefreshPrindMenu();
//刷新下方配置的附件模块
if (this.BillModel.SaveRefreshAdditional) this.OngcMainRowCellClick(null, null);
//保存完成后所有数据源进行拼接执行保存 //保存完成后所有数据源进行拼接执行保存
if (tvp != null && tvp.Rows.Count > 0) if (tvp != null && tvp.Rows.Count > 0)
{ {
@@ -6607,7 +6641,17 @@ namespace Lskj.PubBill
XtraTabPage tabPage = this.xtc_left_container.SelectedTabPage; XtraTabPage tabPage = this.xtc_left_container.SelectedTabPage;
BillSourceUnionModel unionModel = tabPage.Tag as BillSourceUnionModel; BillSourceUnionModel unionModel = tabPage.Tag as BillSourceUnionModel;
DataRow rowItem = unionModel.GridDetailControlObj.GridView.GetFocusedDataRow(); 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)) 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); if (Business.Impl.LanguageTranslation.Translatable)
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(14, 20, 55, 21)); {
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(); e.Graphics.ResetTransform();
if (!string.IsNullOrEmpty(this._waterMark.Print)) 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); if (Business.Impl.LanguageTranslation.Translatable)
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(-35, -14, 70, 21)); {
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(); e.Graphics.ResetTransform();
if (!string.IsNullOrEmpty(this._waterMark.Collect)) 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); if (Business.Impl.LanguageTranslation.Translatable)
e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(-100, -32, 55, 21)); {
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> /// <param name="e">The e.</param>
private void OnDragDetailGridCompleted(object sender, GridDragGridArgs e) private void OnDragDetailGridCompleted(object sender, GridDragGridArgs e)
{ {
List<DataRow> dragRows = new List<DataRow>(); if (this.CanAddDetailRow())
int[] rowHandles = e.SourceGridViewObj.GetSelectedRows();
foreach (int handle in rowHandles)
{ {
DataRow row = e.SourceGridViewObj.GetDataRow(handle); List<DataRow> dragRows = new List<DataRow>();
dragRows.Add(row); int[] rowHandles = e.SourceGridViewObj.GetSelectedRows();
} foreach (int handle in rowHandles)
if (dragRows != null && dragRows.Count > 0)
{
if (!this.BillModel.IsFastDragAddDetail)
{ {
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 (!this.BillModel.IsFastDragAddDetail)
} {
//拖拽后清除所有复选框 this.AddMultiRowToGridView(dragRows.ToArray());
if (e.SourceGridViewObj != null && e.SourceGridViewObj.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect) }
{ else
e.SourceGridViewObj.ClearSelection(); {
} this.AddRowsToGridViewFast(dragRows.ToArray());
}
//拖拽后清除所有复选框
if (e.SourceGridViewObj != null && e.SourceGridViewObj.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect)
{
e.SourceGridViewObj.ClearSelection();
}
}
} }
} }
/// <summary> /// <summary>
@@ -8121,7 +8226,15 @@ namespace Lskj.PubBill
{ {
WaitForm.ShowForm(); 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) foreach (XtraTabPage tabPage in this.xtc_left_container.TabPages)
{ {
@@ -8318,40 +8431,41 @@ namespace Lskj.PubBill
/// <param name="e"></param> /// <param name="e"></param>
private void DragDetailGrid_OnDragComplete(object sender, GridDragTreeGridArgs e) private void DragDetailGrid_OnDragComplete(object sender, GridDragTreeGridArgs e)
{ {
string Pid = "0";//必须父节点必须有默认值,不然如果新增后没有值的话,无法自动展开当前节点 if (this.CanAddTreeDetailRow())
if (e.SelectTreeNode != null)
{ {
Pid = e.SelectTreeNode[(this.gcMain as TreeGridControlEx).TreeListObj.KeyFieldName] + ""; string Pid = "0";//必须父节点必须有默认值,不然如果新增后没有值的话,无法自动展开当前节点
if (e.SelectTreeNode != null)
DataRow SelectRow = (this.gcMain as TreeGridControlEx).GetViewSpecifyDataRow(e.SelectTreeNode);
if (!string.IsNullOrWhiteSpace(this.BillModel.TreeTableDragCondition)&&!ReplaceHelper.EvalCond(ReplaceHelper.ReplaceRowParam(SelectRow, this.BillModel.TreeTableDragCondition)))
{ {
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> /// <summary>
@@ -9053,7 +9167,8 @@ namespace Lskj.PubBill
(this.gcMain as TreeGridControlEx).ClearAllSort(); (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); MessageUtil.Show(ResourceKeys.AddBillDetailed);
return false; return false;
+2 -1
View File
@@ -103,8 +103,8 @@ namespace Lskj.PubBill
if (this.billModule1.MainBottomInputObj.Visible && this.billModule1.txtinputobj.Enabled) if (this.billModule1.MainBottomInputObj.Visible && this.billModule1.txtinputobj.Enabled)
{ {
this.Activated += FrmMain_Activated; this.Activated += FrmMain_Activated;
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -115,6 +115,7 @@ namespace Lskj.PubBill
} }
finally finally
{ {
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this); Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
WaitForm.HideForm(); WaitForm.HideForm();
} }