diff --git a/插件库/Lskj.PubModuleDetail5/DllBaseClass.cs b/插件库/Lskj.PubModuleDetail5/DllBaseClass.cs
new file mode 100644
index 0000000..90964a0
--- /dev/null
+++ b/插件库/Lskj.PubModuleDetail5/DllBaseClass.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using DevExpress.UserSkins;
+using DevExpress.Skins;
+using DevExpress.LookAndFeel;
+using Lskj.Util;
+using Lskj.Model;
+using Lskj.Business.Impl;
+using Lskj.Business;
+using System.Collections;
+
+namespace Lskj.PubModuleDetail5
+{
+ ///
+ /// c#库被调用统一接口类
+ ///
+ public sealed class DllBaseClass : IForm
+ {
+ public DllBaseClass()
+ {
+
+ }
+
+ public DllBaseClass(string[] obj)
+ {
+ try
+ {
+ FrmMain main = new FrmMain();
+ this.SubForm = main;
+
+ DynamicModuleDetailModel moduleM
\ No newline at end of file
diff --git a/插件库/Lskj.PubModuleDetail5/FrmMain.Designer.cs b/插件库/Lskj.PubModuleDetail5/FrmMain.Designer.cs
new file mode 100644
index 0000000..0734852
--- /dev/null
+++ b/插件库/Lskj.PubModuleDetail5/FrmMain.Designer.cs
@@ -0,0 +1,37 @@
+namespace Lskj.PubModuleDetail5
+{
+ partial class FrmMain
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.productionMain1 = new Lskj.PubModuleDetail5.ProductionMain();
+ this.SuspendLayout();
+ //
+ // productionMain1
+ //
+ this.productionMain1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.productionMain1.Locatio
\ No newline at end of file
diff --git a/插件库/Lskj.PubModuleDetail5/FrmMain.cs b/插件库/Lskj.PubModuleDetail5/FrmMain.cs
new file mode 100644
index 0000000..4866148
--- /dev/null
+++ b/插件库/Lskj.PubModuleDetail5/FrmMain.cs
@@ -0,0 +1,65 @@
+using DevExpress.XtraGrid.Columns;
+using Lskj.Business;
+using Lskj.Business.Impl;
+using Lskj.Control;
+using Lskj.Control.Model;
+using Lskj.Data;
+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;
+using DevExpress.XtraTab;
+using DevExpress.Utils;
+using DevExpress.XtraEditors;
+using DevExpress.XtraGrid.Views.Grid;
+using DevExpress.XtraGrid.Views.Base;
+using System.Collections;
+using System.Threading.Tasks;
+
+namespace Lskj.PubModuleDetail5
+{
+ public partial class FrmMain : BaseForm
+ {
+ ///
+ /// 表格明细集合
+ ///
+ public List GridDetailModelObjs;
+ ///
+ /// 基础模型
+ ///
+ public ModuleModel MoudleLeftObj;
+ public DynamicModuleDetailModel Model;
+
+ ///
+ ///左上方查询条件控件
+ ///
+ public MyControl SearchLeftObj;
+
+ public FrmMain()
+ {
+ InitializeComponent();
+ }
+ protected override void OnLoad(EventArgs e)
+ {
+ try
+ {
+ WaitForm.ShowForm();
+ this.Model.Privilege = this.Model.Privilege.Equals("3") ? "1" : Model.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(Model.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(Model.ModuleCode) + "";
+ if (!this.Model.HasPrivilege())
+ {
+ MessageUtil.Show(ResourceKeys.UnPurview);
+ this.Close();
+ }
+ else
+ {
+ productionMain1.OnLoad(Model);
+
+ }
+ }
+ catch (E
\ No newline at end of file
diff --git a/插件库/Lskj.PubModuleDetail5/FrmMain.resx b/插件库/Lskj.PubModuleDetail5/FrmMain.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/插件库/Lskj.PubModuleDetail5/FrmMain.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/插件库/Lskj.PubModuleDetail5/Lskj.PubModuleDetail5.csproj b/插件库/Lskj.PubModuleDetail5/Lskj.PubModuleDetail5.csproj
new file mode 100644
index 0000000..1a82088
--- /dev/null
+++ b/插件库/Lskj.PubModuleDetail5/Lskj.PubModuleDetail5.csproj
@@ -0,0 +1,167 @@
+
+
+
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {BF4BCE45-D6E5-4BC9-B8FC-75F2108BE702}
+ Library
+ Properties
+ Lskj.PubModuleDetail5
+ Lskj.PubModuleDetail5
+ v4.0
+ 512
+
+
+
+
+
+ AnyCPU
+ true
+ full
+ false
+ ..\..\Debug\Lib\
+ DEBUG;TRACE
+ prompt
+ 4
+ ..\..\Debug\AllMethodXml\Lskj.PubModuleDetail5.XML
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ ..\..\..\..\dev\Components\Bin\Framework\DevExpress.XtraGrid.v15.2.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ FrmMain.cs
+
+
+
+ UserControl
+
+
+ ProductionMain.cs
+
+
+
+ UserControl
+
+
+ TabIntoAddControl.cs
+
+
+ UserControl
+
+
+ TabIntoControl.cs
+
+
+ FrmMain.cs
+
+
+ ProductionMain.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ TabIntoAddControl.cs
+
+
+ TabIntoControl.cs
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ {7eafccc2-a18f-49e9-85c6-a984966cfd01}
+ Lskj.Business
+
+
+ {447cdc40-659f-4cca-9ed6-8e818b4cf8bf}
+ Lskj.Control
+
+
+ {2a1be6ac-1077-491b-a754-c5822fe8121e}
+ Lskj.Core
+
+
+ {308b9b18-9be2-495c-9c64-eed81d567813}
+ Lskj.Data
+
+
+ {00899d25-c9cf-4d50-b6d2-e6f0da2d3d8c}
+ Lskj.Help
+
+
+ {24e9a18a-baf8-4052-809e-582b4fc6a8c4}
+ Lskj.Interface.Api
+
+
+ {52bc40e0-c0c6-4f78-996b-cae028d209ca}
+ Lskj.Model
+
+
+ {a51bf642-6543-4de3-8948-83f558b72bd4}
+ Lskj.Util
+
+
+
+
+
\ No newline at end of file
diff --git a/插件库/Lskj.PubModuleDetail5/ProductionMain.Designer.cs b/插件库/Lskj.PubModuleDetail5/ProductionMain.Designer.cs
new file mode 100644
index 0000000..1987557
--- /dev/null
+++ b/插件库/Lskj.PubModuleDetail5/ProductionMain.Designer.cs
@@ -0,0 +1,152 @@
+namespace Lskj.PubModuleDetail5
+{
+ partial class ProductionMain
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.splitContainerControl1 = new DevExpress.XtraEditors.SplitContainerControl();
+ this.Tab_additional = new DevExpress.XtraTab.XtraTabControl();
+ this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
+ this.mg_control = new Lskj.Control.ModuleGridEx();
+ this.splitBottomControl = new DevExpress.XtraEditors.SplitContainerControl();
+ this.gridLeftButtom = new Lskj.Control.GridControlEx();
+ this.pl_bottom = new DevExpress.XtraEditors.PanelControl();
+ this.tcButtom = new Lskj.Control.TabControlEx();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl1)).BeginInit();
+ this.splitContainerControl1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.Tab_additional)).BeginInit();
+ this.Tab_additional.SuspendLayout();
+ this.xtraTabPage1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitBottomControl)).BeginInit();
+ this.splitBottomControl.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pl_bottom)).BeginInit();
+ this.SuspendLayout();
+ //
+ // splitContainerControl1
+ //
+ this.splitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainerControl1.Horizontal = false;
+ this.splitContainerControl1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainerControl1.Name = "splitContainerControl1";
+ this.splitContainerControl1.Panel1.Controls.Add(this.Tab_additional);
+ this.splitContainerControl1.Panel1.Text = "Panel1";
+ this.splitContainerControl1.Panel2.Controls.Add(this.splitBottomControl);
+ this.splitContainerControl1.Panel2.Text = "Panel2";
+ this.splitContainerControl1.Size = new System.Drawing.Size(1249, 679);
+ this.splitContainerControl1.SplitterPosition = 404;
+ this.splitContainerControl1.TabIndex = 0;
+ this.splitContainerControl1.Text = "splitContainerControl1";
+ this.splitContainerControl1.SplitterPositionChanged += new System.EventHandler(this.splitContainer_SplitterPositionChanged);
+ //
+ // Tab_additional
+ //
+ this.Tab_additional.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.Tab_additional.Location = new System.Drawing.Point(0, 0);
+ this.Tab_additional.Name = "Tab_additional";
+ this.Tab_additional.SelectedTabPage = this.xtraTabPage1;
+ this.Tab_additional.Size = new System.Drawing.Size(1249, 404);
+ this.Tab_additional.TabIndex = 2;
+ this.Tab_additional.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
+ this.xtraTabPage1});
+ //
+ // xtraTabPage1
+ //
+ this.xtraTabPage1.Controls.Add(this.mg_control);
+ this.xtraTabPage1.Name = "xtraTabPage1";
+ this.xtraTabPage1.Size = new System.Drawing.Size(1243, 375);
+ this.xtraTabPage1.Text = "默认页签";
+ //
+ // mg_control
+ //
+ this.mg_control.BackColor = System.Drawing.Color.Transparent;
+ this.mg_control.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.mg_control.Location = new System.Drawing.Point(0, 0);
+ this.mg_control.Name = "mg_control";
+ this.mg_control.OperShortMode = true;
+ this.mg_control.Size = new System.Drawing.Size(1243, 375);
+ this.mg_control.TabIndex = 1;
+ this.mg_control.VisibleMrpSearchPanel = false;
+ this.mg_control.VisibleOperPanel = true;
+ this.mg_control.VisibleSearchPanel = true;
+ //
+ // splitBottomControl
+ //
+ this.splitBottomControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitBottomControl.Location = new System.Drawing.Point(0, 0);
+ this.splitBottomControl.Name = "splitBottomControl";
+ this.splitBottomControl.Panel1.Controls.Add(this.gridLeftButtom);
+ this.splitBottomControl.Panel1.Text = "Panel1";
+ this.splitBottomControl.Panel2.Controls.Add(this.tcButtom);
+ this.splitBottomControl.Panel2.Controls.Add(this.pl_bottom);
+ this.splitBottomControl.Panel2.Text = "Panel2";
+ this.splitBottomControl.Size = new System.Drawing.Size(1249, 270);
+ this.splitBottomControl.SplitterPosition = 437;
+ this.splitBottomControl.TabIndex = 0;
+ this.splitBottomControl.Text = "splitContainerControl2";
+ this.splitBottomControl.SplitterPositionChanged += new System.EventHandler(this.splitContainerBotton_SplitterPositionChanged);
+ //
+ // gridLeftButtom
+ //
+ this.gridLeftButtom.AdapterObj = null;
+ this.gridLeftButtom.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.gridLeftButtom.Location = new System.Drawing.Point(0, 0);
+ this.gridLeftButtom.Margin = new System.Windows.Forms.Padding(4);
+ this.gridLeftButtom.Name = "gridLeftButtom";
+ this.gridLeftButtom.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
+ this.gridLeftButtom.Size = new System.Drawing.Size(437, 270);
+ this.gridLeftButtom.SysModel = null;
+ this.gridLeftButtom.TabIndex = 0;
+ //
+ // pl_bottom
+ //
+ this.pl_bottom.Appearance.BackColor = System.Drawing.Color.Transparent;
+ this.pl_bottom.Appearance.Options.UseBackColor = true;
+ this.pl_bottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pl_bottom.Location = new System.Drawing.Point(0, 234);
+ this.pl_bottom.Name = "pl_bottom";
+ this.pl_bottom.Size = new System.Drawing.Size(807, 36);
+ this.pl_bottom.TabIndex = 2;
+ this.pl_bottom.Visible = false;
+ //
+ // tcButtom
+ //
+ this.tcButtom.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tcButtom.Location = new System.Drawing.Point(0, 0);
+ this.tcButtom.Name = "tcButtom";
+ this.tcButtom.Size = new System.Drawing.Size(807, 234);
+ this.tcButtom.TabIndex = 3;
+ //
+ // ProductionMain
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.splitContainerControl1);
+ this.Name = "ProductionMain";
+ this.Size = new System.Drawing.Size(1249, 679);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl1)).EndInit();
+ this.splitContainerControl1.ResumeLayout(false);
+
\ No newline at end of file
diff --git a/插件库/Lskj.PubModuleDetail5/ProductionMain.cs b/插件库/Lskj.PubModuleDetail5/ProductionMain.cs
new file mode 100644
index 0000000..684ce1a
--- /dev/null
+++ b/插件库/Lskj.PubModuleDetail5/ProductionMain.cs
@@ -0,0 +1,1262 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using Lskj.Control.Model;
+using Lskj.Model;
+using Lskj.Util;
+using Lskj.Data;
+using DevExpress.XtraTab;
+using Lskj.Control;
+using DevExpress.XtraGrid.Views.Grid;
+using Lskj.Business.Impl;
+using DevExpress.Utils;
+using DevExpress.XtraEditors;
+using Lskj.Core;
+using DevExpress.XtraGrid.Views.Base;
+using Lskj.Business;
+using System.Collections;
+using System.Threading.Tasks;
+
+namespace Lskj.PubModuleDetail5
+{
+ public partial class ProductionMain : UserControl
+ {
+ ///
+ /// 左侧树数据
+ ///
+ public DataRow LeftRowObj;
+ ///
+ /// 表格明细集合
+ ///
+ public List GridDetailModelObjs;
+ ///
+ /// 基础模型
+ ///
+ public DynamicModuleDetailModel Model;
+ ///
+ /// 表格列
+ ///
+ private DataTable _gridColumns = new DataTable();
+
+ ///
+ /// 系统模块实体对象
+ ///
+ /// The system model.
+ public ModuleModel SysModel;
+ ///
+ /// 主键名
+ ///
+ private string _primaryLeftKey;
+ ///
+ /// 顶部表格控件
+ ///
+ public ModuleGridEx ModuleGridObj;
+ ///
+ /// 底部多标签控件
+ ///
+ //public XtraTabControl TabObj;
+ ///
+ /// 底部多标签控件
+ ///
+ public TabControlEx TabIntoObj;
+ ///
+ /// 初始化完成
+ ///
+ private bool _isInitFinish;
+ public List DataItem = new List();
+ ///
+ /// 主键值
+ ///
+ private string _keyValue;
+
+ private string LeftBoottomModel;
+
+ ///
+ /// 上方刷新
+ ///
+ private bool istop = false;
+ ///
+ /// 拖拽模式
+ ///
+ private string dragModel = "0";
+
+
+ public ProductionMain()
+ {
+ InitializeComponent();
+ }
+
+ ///
+ /// 说明:窗口加载
+ /// 创建人:龚宇超
+ /// 创建日期:2019-06-28
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The sender.
+ /// The instance containing the event data.
+ public void OnLoad(DynamicModuleDetailModel Model)
+ {
+ WaitForm.ShowForm();
+ try
+ {
+ this._isInitFinish = false;
+ this.Model = Model;
+ Dictionary