363 lines
13 KiB
C#
363 lines
13 KiB
C#
using Lskj.Business.Impl;
|
|
using Lskj.Control;
|
|
using Lskj.Control.Model;
|
|
using Lskj.Data;
|
|
using Lskj.Model;
|
|
using Lskj.SweepCode.Control;
|
|
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.SweepCode
|
|
{
|
|
public partial class FrmMain : BaseForm
|
|
{
|
|
/// <summary>
|
|
/// <para>说明:初始化后构造方法</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-15 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public FrmMain()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
#region 公共变量
|
|
/// <summary>
|
|
/// 入口模型
|
|
/// </summary>
|
|
public DynamicProductionModel SysModel;
|
|
|
|
/// <summary>
|
|
///查询条件控件
|
|
/// </summary>
|
|
public MyControl SearchObj;
|
|
/// <summary>
|
|
/// 主控件集
|
|
/// </summary>
|
|
public MyControl ControlObj;
|
|
/// <summary>
|
|
/// 基础模型
|
|
/// </summary>
|
|
public ModuleModel MoudleObj;
|
|
/// <summary>
|
|
/// 表格明细集合
|
|
/// </summary>
|
|
public List<GridDetailModel> GridDetailModelObjs;
|
|
/// <summary>
|
|
/// 明细衍生到下侧数据
|
|
/// </summary>
|
|
public List<GridDetailModel> GridDetailAddObj;
|
|
/// <summary>
|
|
/// 明细衍生到右侧数据
|
|
/// </summary>
|
|
public List<GridDetailModel> GridDetailRightObj;
|
|
|
|
#endregion
|
|
#region 私有变量
|
|
/// <summary>
|
|
/// 数据索引
|
|
/// </summary>
|
|
private int _dataIndex;
|
|
/// <summary>
|
|
/// 初始化完成标记
|
|
/// </summary>
|
|
private bool _isInitFinish;
|
|
/// <summary>
|
|
/// 附件部分显隐
|
|
/// </summary>
|
|
private bool _isFilePanelVisble;
|
|
/// <summary>
|
|
/// 附件源sql
|
|
/// </summary>
|
|
private string _fileSql;
|
|
/// <summary>
|
|
/// 主键值
|
|
/// </summary>
|
|
private string _keyValue;
|
|
/// <summary>
|
|
/// 主键名
|
|
/// </summary>
|
|
private string _primaryKey;
|
|
/// <summary>
|
|
/// 附件地址
|
|
/// </summary>
|
|
private string _filePath;
|
|
/// <summary>
|
|
/// 选项卡刷新页签
|
|
/// </summary>
|
|
private string[] _pageIndex;
|
|
/// <summary>
|
|
/// 当前数据内容
|
|
/// </summary>
|
|
private DataRow _rowItem;
|
|
/// <summary>
|
|
/// 控件源数据
|
|
/// </summary>
|
|
private DataTable _dtFields;
|
|
/// <summary>
|
|
/// 扫码控件源数据
|
|
/// </summary>
|
|
private DataTable _codeFields;
|
|
/// <summary>
|
|
/// 动态加载右侧按钮
|
|
/// </summary>
|
|
private DataTable _RightFields;
|
|
/// <summary>
|
|
/// 主表数据
|
|
/// </summary>
|
|
private DataTable _dtMainTable;
|
|
/// <summary>
|
|
/// pdf附件资源
|
|
/// </summary>
|
|
private DataTable _dtFiles;
|
|
/// <summary>
|
|
/// 附件下拉菜单
|
|
/// </summary>
|
|
private LabelComboxEdit _fileComboBox;
|
|
/// <summary>
|
|
/// 查看附件
|
|
/// </summary>
|
|
private ModuleWebView _moduleWebView;
|
|
/// <summary>
|
|
/// 选项卡排序Sql
|
|
/// </summary>
|
|
private Dictionary<string, string> _dicOrder = new Dictionary<string, string>();
|
|
#endregion
|
|
#region 事件
|
|
#region 窗体加载时
|
|
/// <summary>
|
|
/// <para>说明:窗体加载时</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-15 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
|
protected override void OnLoad(EventArgs e)
|
|
{
|
|
WaitForm.ShowForm();
|
|
try
|
|
{
|
|
SysModel.Privilege = this.SysModel.Privilege.Equals("3") ? "1" : SysModel.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(SysModel.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(SysModel.ModuleCode) + "";
|
|
this._isInitFinish = false;
|
|
if (!this.SysModel.HasPrivilege())
|
|
{
|
|
MessageUtil.Show(ResourceKeys.UnPurview);
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
this.InitializeSetting();
|
|
this.InitializeControl();
|
|
this.InitializeDetailGrid();
|
|
this.InitlizeSpiltLocation();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw;
|
|
}
|
|
finally
|
|
{
|
|
|
|
}
|
|
WaitForm.HideForm();
|
|
}
|
|
#endregion
|
|
#region 分隔条改变事件,保存分割位置
|
|
/// <summary>
|
|
/// <para>说明:分隔条改变事件,保存分割位置</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-16 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void OnSplitterPositionChanged(object sender, EventArgs e)
|
|
{
|
|
if (this._isInitFinish) IniHelper.Write(string.Format("base_SplitSweepCodeMain_{0}", this.SysModel.ModuleCode), this.splitMain.SplitterPosition + "");
|
|
}
|
|
#endregion
|
|
#endregion
|
|
#region 方法
|
|
#region 初始化属性
|
|
/// <summary>
|
|
/// <para>说明:初始化属性设置</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-16 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void InitializeSetting()
|
|
{
|
|
this._primaryKey = BaseImpl.GetBasePrimaryKey(this.SysModel.ModuleCode);
|
|
this.MoudleObj = new ModuleModel(MainImpl.GetSystemdllTab(this.SysModel.ModuleCode));
|
|
this.MoudleObj.ParmaryKey = BaseImpl.GetBasePrimaryKey(this.SysModel.ModuleCode);
|
|
this.GridDetailModelObjs = GetDetailGrids().Where(o => o.addVisible != 1 && o.rightVisible != 1).ToList();
|
|
this.GridDetailAddObj = this.GridDetailModelObjs.Where(o => o.addVisible == 1).ToList();
|
|
this.GridDetailRightObj = this.GridDetailModelObjs.Where(o => o.rightVisible == 1).ToList();
|
|
this._dtFields = BaseModuleImpl.GetControlLocation(this.MoudleObj.FormKey, this.SysModel.ModuleCode);
|
|
this._codeFields = BaseImpl.GetSweepCode(this.SysModel.ModuleCode);
|
|
this._RightFields = BaseModuleImpl.GetBaseGridRightMenus(this.SysModel.ModuleCode);
|
|
this.TabRight.Model = this.TabBottom.Model = this.detailTab.Model = this.SysModel;
|
|
if (!string.IsNullOrEmpty(this.SysModel.ParmaryValue))
|
|
{
|
|
this._keyValue = this.SysModel.ParmaryValue;
|
|
}
|
|
}
|
|
#endregion
|
|
#region 获取明细
|
|
/// <summary>
|
|
/// <para>说明:获取报表明细</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-16 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private List<GridDetailModel> GetDetailGrids()
|
|
{
|
|
List<GridDetailModel> details = new List<GridDetailModel>();
|
|
DataTable moduleDetailBottomTable = BaseModuleImpl.GetBaseDetailPages(this.SysModel.ModuleCode);
|
|
if (moduleDetailBottomTable.Rows.Count == 0)
|
|
{
|
|
moduleDetailBottomTable = BaseModuleImpl.GetBaseAddTabDetail(this.SysModel.ModuleCode);
|
|
}
|
|
|
|
foreach (DataRow item in moduleDetailBottomTable.Rows)
|
|
{
|
|
DataTable dtGridColumns = ReportImpl.GetReportDetailColumns(this.SysModel.ModuleCode, item["id"] + "");
|
|
details.Add(new GridDetailModel(item, dtGridColumns, GridCustomColumnStruct.BaseDetailGridView));
|
|
}
|
|
return details;
|
|
}
|
|
#endregion
|
|
#region 初始化控件
|
|
/// <summary>
|
|
/// <para>说明:初始化控件</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-16 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void InitializeControl()
|
|
{
|
|
this.ControlObj = new MyControl();
|
|
this.ControlObj.InitControl(_dtFields, this.pl_Main_Center);
|
|
int height = 0; int top = 0; int left = 0;
|
|
if (_codeFields.Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < _codeFields.Rows.Count; i++)
|
|
{
|
|
top += 17;
|
|
DataRow item = _codeFields.Rows[i];
|
|
SweepControl sweepControl = new SweepControl();
|
|
sweepControl.Parent = detailplControl;
|
|
sweepControl.TitleLabelObj.Text = item["username1"] + "";
|
|
sweepControl.Top = top;
|
|
sweepControl.Left = 32;
|
|
top += sweepControl.Height;
|
|
}
|
|
}
|
|
this.detailContorl.Height = top + 15;
|
|
if (_RightFields.Rows.Count > 0)
|
|
{
|
|
top = 22;
|
|
for (int i = 0; i < _RightFields.Rows.Count; i++)
|
|
{
|
|
left += 34;
|
|
SweepButton sweepButton = new SweepButton();
|
|
DataRow item = _RightFields.Rows[i];
|
|
sweepButton.Parent = detailControl_Right;
|
|
sweepButton.TitleLabelObj.Text = item["menuname"] + "";
|
|
sweepButton.Top = top;
|
|
sweepButton.Left = left;
|
|
if (left + sweepButton.Width + 34 > 406)
|
|
{
|
|
left = 0;
|
|
top += sweepButton.Height + 22;
|
|
}
|
|
else
|
|
{
|
|
left += sweepButton.Width;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 初始化分割条位置
|
|
/// <summary>
|
|
/// <para>说明:初始化分割条位置</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-16 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
protected void InitlizeSpiltLocation()
|
|
{
|
|
try
|
|
{
|
|
string positionMain = IniHelper.Read(string.Format("base_SplitSweepCodeMain_{0}", this.SysModel.ModuleCode));
|
|
if (!string.IsNullOrEmpty(positionMain))
|
|
{
|
|
this.splitMain.SplitterPosition = Convert.ToInt32(positionMain);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Instance.WriteError(ex);
|
|
MessageUtil.Show(ex);
|
|
}
|
|
}
|
|
#endregion
|
|
#region 初始化右键模块(用于开工动态设置)
|
|
|
|
#endregion
|
|
|
|
#region 初始化扫码功能模块的明细数据
|
|
/// <summary>
|
|
/// <para>说明:初始化扫码功能模块的明细数据</para>
|
|
/// <para>创建人:王一帆</para>
|
|
/// <para>创建日期:2021-06-16 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
private void InitializeDetailGrid()
|
|
{
|
|
this.detailTab.InitTabPages(GridDetailModelObjs);
|
|
this.TabBottom.InitTabPages(GridDetailAddObj);
|
|
this.TabRight.InitTabPages(GridDetailRightObj);
|
|
}
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|