Files
lserp_cs_6.0/插件库/Lskj.Control/ErrorRestriction.cs
T
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

139 lines
4.8 KiB
C#

using DevExpress.XtraBars;
using Lskj.Control.Model;
using Lskj.Model;
using Lskj.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Lskj.Control
{
public partial class ErrorRestriction : BaseForm
{
/// <summary>
/// 存储过程提示的报错信息
/// </summary>
public string PromptMessage;
/// <summary>
/// 入口参数
/// </summary>
public DynamicModel model;
/// <summary>
/// 主表控件
/// </summary>
public MyControl myControl;
/// <summary>
/// 右键中点击的菜单
/// </summary>
public BarItemLink ItemLink;
/// <summary>
/// 单据对象
/// </summary>
public BillModel BillModel;
/// <summary>
/// 单据编号
/// </summary>
public string DocumentNumber;
public ErrorRestriction()
{
InitializeComponent();
}
/// <summary>
/// 单据进入
/// </summary>
/// <param name="msg"></param>
/// <param name="dynamicmodel"></param>
/// <param name="control"></param>
/// <param name="barItemLink"></param>
/// <param name="billModel"></param>
/// <param name="billId"></param>
public ErrorRestriction(string msg, DynamicModel dynamicmodel, MyControl control, BarItemLink barItemLink, BillModel billModel,string billId )
{
InitializeComponent();
this.model = dynamicmodel;
this.myControl = control;
this.ItemLink = barItemLink;
this.BillModel = billModel;
this.DocumentNumber = billId;
lbTips.Text=this.PromptMessage = msg; //报错提示
btnRefresh.Text = barItemLink.Caption;//按钮名称
this.btnRefresh.Click += BtnRefresh_Click;
}
/// <summary>
/// 基础模块进入
/// </summary>
/// <param name="msg"></param>
/// <param name="dynamicmodel"></param>
/// <param name="control"></param>
/// <param name="barItemLink"></param>
public ErrorRestriction(string msg, DynamicModel dynamicmodel, MyControl control, BarItemLink barItemLink)
{
InitializeComponent();
this.model = dynamicmodel;
this.myControl = control;
this.ItemLink = barItemLink;
lbTips.Text = this.PromptMessage = msg; //报错提示
btnRefresh.Text = barItemLink.Caption;//按钮名称
this.btnRefresh.Click += BtnRefresh_Click;
}
/// <summary>
/// 确认按钮点击
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnRefresh_Click(object sender, EventArgs e)
{
DataRow rowItem = ItemLink.Item.Tag as DataRow;
CommonMenu menu = new CommonMenu(this.model, this.myControl);
if(this.BillModel != null||!string.IsNullOrWhiteSpace(this.DocumentNumber)) menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore);//如果是单据,添加回调
menu.Apply(rowItem);
}
/// <summary>
/// <para>说明:执行前单独替换BilldocumentId</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-03-07 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="e">The e.</param>
protected void OnMenuApplyBefore(ApplyArgs e)
{
string[] paramList = new string[e.MemuModel.ParamList.Count];
for (int i = 0; i < e.MemuModel.ParamList.Count; i++)
{
string item = e.MemuModel.ParamList[i];
List<string> condition = ReplaceHelper.GetParamFields(item);
foreach (string cond in condition)
{
string value = this.BillModel.PrimaryKey.Equals(cond.Replace("{", "").Replace("}", "").ToLower(), StringComparison.OrdinalIgnoreCase) ? this.DocumentNumber : cond;
item = item.Replace(cond, value); ;
}
paramList[i] = item;
}
e.MemuModel.ParamList = paramList.ToList();
}
/// <summary>
/// 点击取消按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}
}
}