diff --git a/插件库/Lskj.Business/Impl/BaseImpl.cs b/插件库/Lskj.Business/Impl/BaseImpl.cs
index 622667a..af2c8f0 100644
--- a/插件库/Lskj.Business/Impl/BaseImpl.cs
+++ b/插件库/Lskj.Business/Impl/BaseImpl.cs
@@ -290,15 +290,16 @@ namespace Lskj.Business.Impl
return 1;
}
+ //2026-08-08 pz说不要判断,工具统一处理
//P_MessageToolLinkDllTab表中cardId=-99为通用模块(右侧快捷通道通用模块),默认有权限 2023-12-4 徐成说的cardId=-99的配置
- string sql = string.Format("select a.*,b.PurviewId,b.MouseOutImg,b.MouseOverImg1 from("
- + " select * from P_MessageToolLinkDllTab where cardId=-99 and ( grouptagid=2 or grouptagid=1) "
- + ")a join p_formmenuconfigtab b on a.LMenuId=b.MenuId where LinkModeTag=1 and LMenuid='{1}' order by grouptagid,ItemTagId", ERPInfo.Instance.UserId, menuId);
- DataTable table = SqlHelper.ExecuteDataTable(sql);
- if (table.Rows.Count > 0)
- {
- return 1;
- }
+ //string sql = string.Format("select a.*,b.PurviewId,b.MouseOutImg,b.MouseOverImg1 from("
+ // + " select * from P_MessageToolLinkDllTab where cardId=-99 and ( grouptagid=2 or grouptagid=1) "
+ // + ")a join p_formmenuconfigtab b on a.LMenuId=b.MenuId where LinkModeTag=1 and LMenuid='{1}' order by grouptagid,ItemTagId", ERPInfo.Instance.UserId, menuId);
+ //DataTable table = SqlHelper.ExecuteDataTable(sql);
+ //if (table.Rows.Count > 0)
+ //{
+ // return 1;
+ //}
if (ERPInfo.Instance.UserName == ERPInfo.Instance.UserManager)
return 1;
@@ -1234,7 +1235,7 @@ namespace Lskj.Business.Impl
public static bool GetOpenRestrictions(string MenuId)
{
- if (BaseImpl.HasExistsColumn("p_formmenuconfigtab", "SingleOpenMode"))
+ if (ERPInfo.Instance.SingleOpenMode)
{
string sqlValue = string.Format("SELECT SingleOpenMode from p_formmenuconfigtab where MenuId='{0}'", MenuId);
DataTable dtTable = SqlHelper.ExecuteDataTable(sqlValue);
diff --git a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
index 20734a0..57d8de8 100644
--- a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
+++ b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
@@ -1168,26 +1168,86 @@ namespace Lskj.Business.Impl
where = " and isnull(menutype,0)=0";
break;
}
- string sqlTemplate = @"WITH UserRoles AS (
- SELECT r.roleName
- FROM p_systemRoleOperSetTab AS ro
- JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
- WHERE ro.operatorname = '{0}'
- )
- SELECT pm.*
- FROM P_systempopupmenu AS pm WITH (NOLOCK)
- WHERE ISNULL(pm.visible, 0) = 0
- AND pm.tab = '{1}'
- AND (
- ISNULL(pm.privilegeOper, '') = ''
- OR CHARINDEX(',' + '{0}' + ',', ',' + pm.privilegeOper + ',') > 0
- OR EXISTS (
- SELECT 1
- FROM UserRoles AS ur
- WHERE CHARINDEX('{{&' + ur.roleName + '&}}', pm.privilegeOper) > 0)
- ) {2} ORDER BY pm.orderid;";
- string sqlValue = string.Format(sqlTemplate, ERPInfo.Instance.UserName, key, where);
- return SqlHelper.ExecuteDataTable(sqlValue);
+ string sqlValue = string.Format(@"SELECT pm.*
+ FROM P_systempopupmenu AS pm WITH (NOLOCK)
+ WHERE ISNULL(pm.visible, 0) = 0
+ AND pm.tab = @tab {0}
+ ORDER BY pm.orderid;", where);
+ DataTable rightMenuTable = SqlHelper.ExecuteDataTable(sqlValue,
+ new SqlParameter[] { new SqlParameter("@tab", key) });
+
+ return FilterRowsByOperatorPrivilege(rightMenuTable, "privilegeOper");
+ }
+
+ ///
+ /// 根据人员或角色权限过滤配置数据,只有存在角色配置时才读取角色表。
+ ///
+ internal static DataTable FilterRowsByOperatorPrivilege(DataTable sourceTable, string privilegeField)
+ {
+ if (sourceTable == null || !sourceTable.Columns.Contains(privilegeField))
+ {
+ return sourceTable;
+ }
+
+ string operatorName = ERPInfo.Instance.UserName;
+ string operatorToken = "," + operatorName + ",";
+ List rolePermissionRows = new List();
+ HashSet allowedRows = new HashSet();
+ foreach (DataRow row in sourceTable.Rows)
+ {
+ string privilegeOper = row[privilegeField] + "";
+ if (string.IsNullOrWhiteSpace(privilegeOper) ||
+ ("," + privilegeOper + ",").IndexOf(operatorToken, StringComparison.OrdinalIgnoreCase) >= 0)
+ {
+ allowedRows.Add(row);
+ continue;
+ }
+
+ // 只配置人员且当前人员不匹配时,无需读取角色表。
+ if (privilegeOper.IndexOf("{&", StringComparison.Ordinal) >= 0 &&
+ privilegeOper.IndexOf("&}", StringComparison.Ordinal) >= 0)
+ {
+ rolePermissionRows.Add(row);
+ }
+ }
+
+ if (rolePermissionRows.Count == 0)
+ {
+ DataTable resultTable = sourceTable.Clone();
+ foreach (DataRow row in sourceTable.Rows)
+ {
+ if (allowedRows.Contains(row)) resultTable.ImportRow(row);
+ }
+ return resultTable;
+ }
+
+ string roleSql = @"SELECT r.roleName
+ FROM p_systemRoleOperSetTab AS ro
+ JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
+ WHERE ro.operatorname = @operatorname";
+ DataTable roleTable = SqlHelper.ExecuteDataTable(roleSql,
+ new SqlParameter[] { new SqlParameter("@operatorname", operatorName) });
+ string[] roleTokens = roleTable.Rows.Cast()
+ .Select(row => row["roleName"] + "")
+ .Where(roleName => !string.IsNullOrWhiteSpace(roleName))
+ .Select(roleName => "{&" + roleName + "&}")
+ .ToArray();
+
+ foreach (DataRow row in rolePermissionRows)
+ {
+ string privilegeOper = row[privilegeField] + "";
+ if (roleTokens.Any(token => privilegeOper.IndexOf(token, StringComparison.OrdinalIgnoreCase) >= 0))
+ {
+ allowedRows.Add(row);
+ }
+ }
+
+ DataTable resultTableWithRoles = sourceTable.Clone();
+ foreach (DataRow row in sourceTable.Rows)
+ {
+ if (allowedRows.Contains(row)) resultTableWithRoles.ImportRow(row);
+ }
+ return resultTableWithRoles;
}
///
/// 获取单个右键菜单
@@ -1401,26 +1461,14 @@ namespace Lskj.Business.Impl
{
try
{
- string sqlTemplate = @"WITH UserRoles AS (
- SELECT r.roleName
- FROM p_systemRoleOperSetTab AS ro
- JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
- WHERE ro.operatorname = '{0}'
- )
- SELECT pm.*
- FROM p_systemDlltabDetail AS pm WITH (NOLOCK)
- WHERE ISNULL(pm.isvisible, 0) = 0
- AND pm.tab = '{1}'
- AND (
- ISNULL(pm.privilegeOper, '') = ''
- OR CHARINDEX(',' + '{0}' + ',', ',' + pm.privilegeOper + ',') > 0
- OR EXISTS (
- SELECT 1
- FROM UserRoles AS ur
- WHERE CHARINDEX('{{&' + ur.roleName + '&}}', pm.privilegeOper) > 0)
- ) ORDER BY pm.orderid;";
- string sqlValue = string.Format(sqlTemplate, ERPInfo.Instance.UserName, menuCode);
- return SqlHelper.ExecuteDataTable(sqlValue);
+ string sqlValue = @"SELECT pm.*
+ FROM p_systemDlltabDetail AS pm WITH (NOLOCK)
+ WHERE ISNULL(pm.isvisible, 0) = 0
+ AND pm.tab = @tab
+ ORDER BY pm.orderid;";
+ DataTable detailPageTable = SqlHelper.ExecuteDataTable(sqlValue,
+ new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+ return FilterRowsByOperatorPrivilege(detailPageTable, "privilegeOper");
}
catch (Exception)
{
diff --git a/插件库/Lskj.Business/Impl/BillImpl.cs b/插件库/Lskj.Business/Impl/BillImpl.cs
index 5ce7a09..11b4ce4 100644
--- a/插件库/Lskj.Business/Impl/BillImpl.cs
+++ b/插件库/Lskj.Business/Impl/BillImpl.cs
@@ -677,33 +677,37 @@ namespace Lskj.Business.Impl
conditions = "and isnull(mxflag,0)=0";
}
string cond = !string.IsNullOrEmpty(sourceCond) ? string.Format(" and id in ({0})", sourceCond.Trim(',')) : string.Empty;
- string sqlValue = string.Format(@"WITH UserRoles AS (
- SELECT r.roleName
- FROM p_systemRoleOperSetTab AS ro
- JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
- WHERE ro.operatorname = '{0}'
- )
- select * from p_systembillsource where typeCode=@typeCode" + cond +
- @" and isnull(isVisible,0)=0 and (isnull(viewOper,'')='' or CHARINDEX(',' + '{0}' + ',', ',' + viewOper + ',')>0 OR EXISTS (
- SELECT 1 FROM UserRoles AS ur WHERE CHARINDEX('{{&' + ur.roleName + '&}}', viewOper) > 0)) order by orderid", ERPInfo.Instance.UserName);
- string sqlDetail = string.Format(@"WITH UserRoles AS (
- SELECT r.roleName
- FROM p_systemRoleOperSetTab AS ro
- JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
- WHERE ro.operatorname = '{1}'
- )
- SELECT id,sourceId,fieldName,sysName,userName,orderid,isVisible,sourceKey,privilegeView,DataFormat,isSum,ifmerge,{2}
+ string sqlValue = @"select * from p_systembillsource
+ where typeCode=@typeCode" + cond + @"
+ and isnull(isVisible,0)=0
+ order by orderid";
+ DataTable sourceTable = SqlHelper.ExecuteDataTable(sqlValue,
+ new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
+ sourceTable = BaseModuleImpl.FilterRowsByOperatorPrivilege(sourceTable, "viewOper");
+ htTable["master"] = sourceTable;
+
+ string sqlDetail = string.Format(@"SELECT id,sourceId,fieldName,sysName,userName,orderid,isVisible,sourceKey,privilegeView,DataFormat,isSum,ifmerge,{2}
isnull(CASE WHEN isVisible=1 OR (ISNULL(b.userList,'')='' AND ISNULL(a.PrivilegeView,'')<>'') THEN 0 ELSE width END,0) width
FROM p_systembillsourcedetail a
LEFT JOIN (
SELECT userList,privTypeId from p_systemPrivilege b where modId = '{0}'
AND CHARINDEX(',' + '{1}' + ',', ',' + userList + ',') > 0
) b on CHARINDEX(',' + CAST(b.privTypeId AS VARCHAR(5)) + ',',',' + PrivilegeView + ',') > 0
- where sourceId in (select id from p_systembillsource where typeCode=@typeCode" + cond + @" and isnull(isVisible,0)=0 and (isnull(viewOper,'')='' or CHARINDEX(',' + '{1}' + ',', ',' + viewOper + ',')>0) OR EXISTS (
- SELECT 1 FROM UserRoles AS ur WHERE CHARINDEX('{{&' + ur.roleName + '&}}', viewOper) > 0)) {3} ", menuCode, ERPInfo.Instance.UserName, otherfield, conditions);
- htTable["master"] = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
+ where sourceId in (select id from p_systembillsource where typeCode=@typeCode" + cond + @" and isnull(isVisible,0)=0) {3} ", menuCode, ERPInfo.Instance.UserName, otherfield, conditions);
DataTable detailTable= SqlHelper.ExecuteDataTable(sqlDetail, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
+ HashSet sourceIds = new HashSet(
+ sourceTable.Rows.Cast().Select(row => row["id"] + ""));
+ if (detailTable != null && detailTable.Rows.Count > 0)
+ {
+ DataTable allowedDetailTable = detailTable.Clone();
+ foreach (DataRow row in detailTable.Rows)
+ {
+ if (sourceIds.Contains(row["sourceId"] + "")) allowedDetailTable.ImportRow(row);
+ }
+ detailTable = allowedDetailTable;
+ }
+
// order by sourceId,orderid 数据库不排序,在表格中排序(解决慢查询)
if (detailTable != null && detailTable.Rows.Count > 0)
{
diff --git a/插件库/Lskj.Business/Impl/LogUtil.cs b/插件库/Lskj.Business/Impl/LogUtil.cs
index cb37c32..25f96a6 100644
--- a/插件库/Lskj.Business/Impl/LogUtil.cs
+++ b/插件库/Lskj.Business/Impl/LogUtil.cs
@@ -42,18 +42,18 @@ namespace Lskj.Business
{
try
{
- if (!BaseImpl.HasExistsColumn("P_LogTab", "IPAddress"))
- {
- SqlHelper.ExecuteNonQuery("alter table P_LogTab add IPAddress varchar(500)");
- }
- if (!BaseImpl.HasExistsColumn("P_LogTab", "MacAddress"))
- {
- SqlHelper.ExecuteNonQuery("alter table P_LogTab add MacAddress varchar(500)");
- }
- if (!BaseImpl.HasExistsColumn("P_LogTab", "ModuleId"))
- {
- SqlHelper.ExecuteNonQuery("alter table P_LogTab add ModuleId varchar(500)");
- }
+ //if (!BaseImpl.HasExistsColumn("P_LogTab", "IPAddress"))
+ //{
+ // SqlHelper.ExecuteNonQuery("alter table P_LogTab add IPAddress varchar(500)");
+ //}
+ //if (!BaseImpl.HasExistsColumn("P_LogTab", "MacAddress"))
+ //{
+ // SqlHelper.ExecuteNonQuery("alter table P_LogTab add MacAddress varchar(500)");
+ //}
+ //if (!BaseImpl.HasExistsColumn("P_LogTab", "ModuleId"))
+ //{
+ // SqlHelper.ExecuteNonQuery("alter table P_LogTab add ModuleId varchar(500)");
+ //}
//string ModuleCode = string.Empty;
//string ModuleId = string.Empty;
@@ -108,14 +108,14 @@ namespace Lskj.Business
string exmessage = Regex.Replace(ex.Message, "'", "''");
- if (!BaseImpl.HasExistsColumn("p_errlogtab", "IPAddress"))
- {
- SqlHelper.ExecuteNonQuery("alter table p_errlogtab add IPAddress varchar(500)");
- }
- if (!BaseImpl.HasExistsColumn("p_errlogtab", "MacAddress"))
- {
- SqlHelper.ExecuteNonQuery("alter table p_errlogtab add MacAddress varchar(500)");
- }
+ //if (!BaseImpl.HasExistsColumn("p_errlogtab", "IPAddress"))
+ //{
+ // SqlHelper.ExecuteNonQuery("alter table p_errlogtab add IPAddress varchar(500)");
+ //}
+ //if (!BaseImpl.HasExistsColumn("p_errlogtab", "MacAddress"))
+ //{
+ // SqlHelper.ExecuteNonQuery("alter table p_errlogtab add MacAddress varchar(500)");
+ //}
string sqlValue = string.Format("insert into p_errlogtab(Operatedate,Operator,Content,ErrMsg,Ws,IPAddress,MacAddress) values(getdate(),'{0}','{1}','{2}','{3}','{4}','{5}')",
ERPInfo.Instance.UserName, content, exmessage + "\r\n" + ex.StackTrace, ERPInfo.Instance.WindowName, ERPInfo.Instance.LoginIPV4, ERPInfo.Instance.MacAddress);
diff --git a/插件库/Lskj.Business/Impl/SystemInfo.cs b/插件库/Lskj.Business/Impl/SystemInfo.cs
index c1e49a7..e2ed7d0 100644
--- a/插件库/Lskj.Business/Impl/SystemInfo.cs
+++ b/插件库/Lskj.Business/Impl/SystemInfo.cs
@@ -340,6 +340,8 @@ namespace Lskj.Business
ResourceDynamic.PubBrower = System.Environment.OSVersion.Version.Major == 5 && (System.Environment.OSVersion.Version.Minor == 1 || System.Environment.OSVersion.Version.Minor == 2) ? "Lskj.PubBrowerXp.dll" : "Lskj.PubBrower2.dll";
}
Instance.IsSpecialAuditSave = item.Table.Columns.Contains("IsSpecialAuditSave") && !string.IsNullOrEmpty(item["IsSpecialAuditSave"] + "") ? "1".Equals(item["IsSpecialAuditSave"] + "") : false;
+
+
}
///
/// 高拍仪AccessKey
@@ -1172,5 +1174,10 @@ namespace Lskj.Business
/// 特殊审核保存模式(修改语句只拼接修改后的控件)
///
public bool IsSpecialAuditSave;
+ ///
+ /// 默认权限模块
+ /// P_MessageToolLinkDllTab表中cardId=-99为通用模块(右侧快捷通道通用模块) 2023-12-4 徐成说的cardId=-99的配置
+ ///
+ //public DataTable DefaultPermissionTable;
}
}
diff --git a/插件库/Lskj.Control/FrmWebBrowser2.cs b/插件库/Lskj.Control/FrmWebBrowser2.cs
index 3219225..923fd9c 100644
--- a/插件库/Lskj.Control/FrmWebBrowser2.cs
+++ b/插件库/Lskj.Control/FrmWebBrowser2.cs
@@ -64,24 +64,35 @@ namespace Lskj.Control
private void bsClient_OnCreated(object sender, EventArgs e)
{
cefBrowserSettings = (CefBrowser)sender;
- var handle = cefBrowserSettings.GetHost().GetWindowHandle();
- ResizeWindow(handle, this.Width, this.Height);
+ SyncBrowserBounds();
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
- if (cefBrowserSettings != null)
+ SyncBrowserBounds();
+ }
+ ///
+ /// 将CEF原生子窗口同步到当前控件的客户区,修正高DPI或父容器布局变化造成的位置偏移。
+ ///
+ public void SyncBrowserBounds()
+ {
+ if (cefBrowserSettings == null || IsDisposed || Disposing ||
+ ClientSize.Width <= 0 || ClientSize.Height <= 0)
{
- ResizeWindow(cefBrowserSettings.GetHost().GetWindowHandle(), Width, Height);
+ return;
}
+
+ ResizeWindow(cefBrowserSettings.GetHost().GetWindowHandle(), ClientSize.Width, ClientSize.Height);
}
public void ResizeWindow(IntPtr handle, int width, int height)
{
if (handle != IntPtr.Zero)
{
+ const uint SWP_NOZORDER = 0x0004;
+ const uint SWP_NOACTIVATE = 0x0010;
NativeMethod.SetWindowPos(handle, IntPtr.Zero,
0, 0, width, height,
- 0x0002 | 0x0004
+ SWP_NOZORDER | SWP_NOACTIVATE
);
}
}
diff --git a/插件库/Lskj.Control/GridControlEx.cs b/插件库/Lskj.Control/GridControlEx.cs
index c3e20a6..0bda692 100644
--- a/插件库/Lskj.Control/GridControlEx.cs
+++ b/插件库/Lskj.Control/GridControlEx.cs
@@ -181,6 +181,24 @@ namespace Lskj.Control
protected GridView CurrentOperGridView = null;
public List ImageList = new List();
+ ///
+ /// 外部设置的右键菜单数据,用于创建每行操作列。
+ ///
+ private DataTable rightMenuButtonTable;
+ private bool gridColumnsInitialized;
+
+ ///
+ /// 新版模块选择框缓存。同一关联模块的单选和多选界面分别复用。
+ ///
+ private readonly Dictionary selectReturnModelLookUpCache =
+ new Dictionary(StringComparer.OrdinalIgnoreCase);
+
+ ///
+ /// 新版模块选择框显示数据缓存。同一轮列初始化中,相同关联模块只加载一次显示数据。
+ ///
+ private readonly Dictionary selectReturnDisplaySourceCache =
+ new Dictionary(StringComparer.OrdinalIgnoreCase);
+
protected bool mLoading = false;
protected Timer mTimer = new Timer();
///
@@ -482,6 +500,7 @@ namespace Lskj.Control
{
SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.Selectable | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.SupportsTransparentBackColor, true);
InitializeComponent();
+ this.Disposed += OnGridControlExDisposed;
// 自定义选中区域方式
this.gridView.CustomDrawRowIndicator += new RowIndicatorCustomDrawEventHandler(OnGridViewCustomDrawRowIndicator);
@@ -997,6 +1016,8 @@ namespace Lskj.Control
if (!string.IsNullOrEmpty(model.SqlSource) && !ControlType.IsNotLoadData(model.FieldType))
{
+ if (ControlType.LabTreeType == model.FieldType && IsSpecModel) return;//如果是树节点,并且是PubSpec模块就直接跳出
+
Task sourceTask = new Task(() =>
{
DataTable dataTable = new DataTable();
@@ -1386,8 +1407,10 @@ namespace Lskj.Control
this.mLoading = false;
this.InitGridColumsTab = table;
this.CustomColumKey = customColumKey;
+ this.gridColumnsInitialized = false;
this.GridView.Columns.Clear();
this.ColumnList.Clear();
+ this.selectReturnDisplaySourceCache.Clear();
if (table == null) return;
this.gridView.BeginUpdate();
for (int i = 0; i < table.Rows.Count; i++)
@@ -1463,19 +1486,8 @@ namespace Lskj.Control
}
- //创建右键菜单列
- if (!dataCaches.GetValue(this, "RightMenuBtn", out DataTable rightMentTab))
- {
- if (this.Model != null)
- {
- rightMentTab = BaseModuleImpl.GetBaseGridRightMenus(this.Model.ModuleCode);
- }
- }
- //左侧如果配置表格,也和出现和主表一样的操作列。先限制为左侧固定不加载(要加载的话要获取左侧的fieldKey)
- if (this.Model != null && BaseModuleImpl.IsGridViewRightMenuBtnEdit(rightMentTab) && !customColumKey.Contains("BaseLeftGridView_"))
- {
- this.InitRightMenuBtnEdit();
- }
+ this.gridColumnsInitialized = true;
+ this.TryInitRightMenuBtnEdit(false);
if (!dataCaches.GetValue(this, "CustomColumnByDatabase", out DataTable customTable))
{
customTable = this.gridView.GetCustomColumnByDatabase(this.CustomColumKey);
@@ -1677,6 +1689,7 @@ namespace Lskj.Control
this.CustomColumKey = customColumKey;
this.GridView.Columns.Clear();
this.ColumnList.Clear();
+ this.selectReturnDisplaySourceCache.Clear();
if (table == null) return;
for (int i = 0; i < table.Rows.Count; i++)
{
@@ -1769,8 +1782,10 @@ namespace Lskj.Control
this.mLoading = false;
this.InitGridColumsTab = table;
this.CustomColumKey = customColumKey;
+ this.gridColumnsInitialized = false;
this.GridView.Columns.Clear();
this.ColumnList.Clear();
+ this.selectReturnDisplaySourceCache.Clear();
if (table == null) return;
Console.WriteLine(DateTime.Now);
@@ -1887,32 +1902,15 @@ namespace Lskj.Control
}
}
- if (Model != null)
- {
- if (!Model.DataCaches.GetValue(this, "RightMenuBtn", out DataTable rightMentTab))
- {
- if (this.Model != null)
- {
- rightMentTab = BaseModuleImpl.GetBaseGridRightMenus(this.Model.ModuleCode);
- }
- }
- //左侧如果配置表格,也和出现和主表一样的操作列。先限制为左侧固定不加载(要加载的话要获取左侧的fieldKey)
- if (this.Model != null && BaseModuleImpl.IsGridViewRightMenuBtnEdit(rightMentTab) && !customColumKey.Contains("BaseLeftGridView_"))
- {
- this.InitRightMenuBtnEdit();
- }
- }
+ this.gridColumnsInitialized = true;
+ this.TryInitRightMenuBtnEdit(false);
- if (Model != null && !Model.DataCaches.GetValue(this, "CustomColumnByDatabase", out DataTable customTable))
+ DataTable customTable;
+ if (Model == null || !Model.DataCaches.GetValue(this, "CustomColumnByDatabase", out customTable))
{
customTable = this.gridView.GetCustomColumnByDatabase(this.CustomColumKey);
- this.SetCustomColumns(customTable);
- }
- else
- {
- DataTable customTableNew = this.gridView.GetCustomColumnByDatabase(this.CustomColumKey);
- this.SetCustomColumns(customTableNew);
}
+ this.SetCustomColumns(customTable);
@@ -1937,20 +1935,10 @@ namespace Lskj.Control
///
public void GetDataCaches(Dictionary
private void InitSelectReturnIdNew(GridColumn gridColumn, GridColumnModel model)
{
- FrmModelLookUp2 modelLookUp = new FrmModelLookUp2(model.addModuleld, model.IsRadio);
- modelLookUp.ConfigureColumnMode = model.ConfigureColumnMode;
- modelLookUp.ValueField = model.ValueMember;
- modelLookUp.TextField = model.TextMember;
- modelLookUp.SourceSQL = model.SqlSource;
- modelLookUp.IsType = model.FieldType;
- modelLookUp.ValueMember = model.FieldType == ControlType.LabSelectReturnIdNew ? model.ValueMember : model.TextMember;
- modelLookUp.Tag = model;
+ // 只读列保留原有显示编辑器,但不初始化关联模块选择窗口。
+ FrmModelLookUp2 modelLookUp = null;
+ if (model.Edit)
+ {
+ modelLookUp = GetSelectReturnModelLookUp(model);
+ ConfigureSelectReturnModelLookUp(modelLookUp, model);
+ }
RepositoryItemCheckedComboBoxEdit btnEdit = new RepositoryItemCheckedComboBoxEdit();
btnEdit.NullText = "";
@@ -5306,8 +5354,7 @@ namespace Lskj.Control
if (model.ModuleFrameDisplayText && model.FieldType == ControlType.LabSelectReturnIdNew)
{
- DataTable dataTable = MainImpl.GetDataTableResult(modelLookUp.SysModel.MenuSql);
- btnEdit.DataSource = dataTable;
+ btnEdit.DataSource = GetSelectReturnDisplaySource(model, modelLookUp);
}
@@ -5315,9 +5362,12 @@ namespace Lskj.Control
btnEdit.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis) });
btnEdit.Tag = model;
- btnEdit.Buttons[1].Tag = modelLookUp;
- btnEdit.ButtonClick += new ButtonPressedEventHandler(OnModuleChoiceNew);
- btnEdit.KeyDown += BtnEdit_KeyDown;
+ if (model.Edit)
+ {
+ btnEdit.Buttons[1].Tag = modelLookUp;
+ btnEdit.ButtonClick += new ButtonPressedEventHandler(OnModuleChoiceNew);
+ btnEdit.KeyDown += BtnEdit_KeyDown;
+ }
gridControl.RepositoryItems.Add(btnEdit);
gridColumn.OptionsColumn.ReadOnly = true;
gridColumn.ColumnEdit = btnEdit;
@@ -5326,6 +5376,83 @@ namespace Lskj.Control
this.mControlList.Add(model);
}
+ ///
+ /// 获取新版模块选择窗口。同一关联模块按单选、多选模式分别复用。
+ ///
+ /// 当前表格列配置。
+ /// 与当前模块及选择模式匹配的模块选择窗口。
+ private FrmModelLookUp2 GetSelectReturnModelLookUp(GridColumnModel model)
+ {
+ string cacheKey = string.Format("{0}|{1}", model.addModuleld ?? string.Empty, model.IsRadio ? "Single" : "Multiple");
+ if (!selectReturnModelLookUpCache.TryGetValue(cacheKey, out FrmModelLookUp2 modelLookUp) || modelLookUp.IsDisposed)
+ {
+ modelLookUp = new FrmModelLookUp2(model.addModuleld, model.IsRadio);
+ selectReturnModelLookUpCache[cacheKey] = modelLookUp;
+ }
+
+ return modelLookUp;
+ }
+
+ ///
+ /// 获取新版模块返回ID列的显示数据,用于将保存的ID显示为对应文本。
+ ///
+ /// 当前表格列配置。
+ /// 可编辑列已创建的模块选择窗口;只读列传入空值。
+ /// 关联模块的数据源。
+ private DataTable GetSelectReturnDisplaySource(GridColumnModel model, FrmModelLookUp2 modelLookUp)
+ {
+ string cacheKey = model.addModuleld ?? string.Empty;
+ if (selectReturnDisplaySourceCache.TryGetValue(cacheKey, out DataTable dataTable))
+ {
+ return dataTable;
+ }
+
+ string sourceSql = modelLookUp?.SysModel?.MenuSql;
+ if (string.IsNullOrWhiteSpace(sourceSql))
+ {
+ DataRow moduleRow = MainImpl.GetSystemdllTab(model.addModuleld);
+ sourceSql = moduleRow?["SQL"] + "";
+ }
+
+ dataTable = string.IsNullOrWhiteSpace(sourceSql) ? null : MainImpl.GetDataTableResult(sourceSql);
+ selectReturnDisplaySourceCache[cacheKey] = dataTable;
+ return dataTable;
+ }
+
+ ///
+ /// 将当前列的字段映射及返回配置应用到复用的模块选择窗口。
+ ///
+ /// 模块选择窗口。
+ /// 当前表格列配置。
+ private static void ConfigureSelectReturnModelLookUp(FrmModelLookUp2 modelLookUp, GridColumnModel model)
+ {
+ modelLookUp.ConfigureColumnMode = model.ConfigureColumnMode;
+ modelLookUp.ValueField = model.ValueMember;
+ modelLookUp.TextField = model.TextMember;
+ modelLookUp.SourceSQL = model.SqlSource;
+ modelLookUp.IsType = model.FieldType;
+ modelLookUp.ValueMember = model.FieldType == ControlType.LabSelectReturnIdNew ? model.ValueMember : model.TextMember;
+ modelLookUp.Tag = model;
+ }
+
+ ///
+ /// 表格控件销毁时释放缓存的模块选择窗口及显示数据。
+ ///
+ /// 事件源。
+ /// 事件参数。
+ private void OnGridControlExDisposed(object sender, EventArgs e)
+ {
+ foreach (FrmModelLookUp2 modelLookUp in selectReturnModelLookUpCache.Values.Distinct())
+ {
+ if (modelLookUp != null && !modelLookUp.IsDisposed)
+ {
+ modelLookUp.Dispose();
+ }
+ }
+ selectReturnModelLookUpCache.Clear();
+ selectReturnDisplaySourceCache.Clear();
+ }
+
///
/// 说明:创建 模块返回行
/// 创建人:曹屹峰
@@ -6258,10 +6385,9 @@ namespace Lskj.Control
continue;
}
}
- if (model.FieldType == 160 || model.FieldType == 161)
+ if ((model.FieldType == 160 || model.FieldType == 161) &&
+ col.ColumnEdit is RepositoryItemCheckedComboBoxEdit)
{
- RepositoryItemCheckedComboBoxEdit rccbe = col.ColumnEdit as RepositoryItemCheckedComboBoxEdit;
- FrmModelLookUp2 modelLookUp = rccbe.Buttons[1].Tag as FrmModelLookUp2;
value = ModuleReturnVerify(model, col.ColumnEdit, cellValue, out IsTextEqualValue);
//// 避免下拉框值替换失败提示错误
if (model != null && !IsTextEqualValue && cellValue == value + "")
@@ -6496,10 +6622,9 @@ namespace Lskj.Control
}
}
- if (model.FieldType == 160 || model.FieldType == 161)
+ if ((model.FieldType == 160 || model.FieldType == 161) &&
+ col.ColumnEdit is RepositoryItemCheckedComboBoxEdit)
{
- RepositoryItemCheckedComboBoxEdit rccbe = col.ColumnEdit as RepositoryItemCheckedComboBoxEdit;
- FrmModelLookUp2 modelLookUp = rccbe.Buttons[1].Tag as FrmModelLookUp2;
value = ModuleReturnVerify(model, col.ColumnEdit, cellValue, out IsTextEqualValue);
//// 避免下拉框值替换失败提示错误
if (model != null && !IsTextEqualValue && cellValue == value + "")
@@ -7667,8 +7792,15 @@ namespace Lskj.Control
{
CheckedComboBoxEdit btnEdit = (CheckedComboBoxEdit)sender;
FrmModelLookUp2 modelLookUp = e.Button.Tag as FrmModelLookUp2;
+ GridColumnModel model = btnEdit.Properties.Tag as GridColumnModel;
+ if (model == null) return;
- GridColumnModel model = modelLookUp.Tag as GridColumnModel;
+ if (modelLookUp == null || modelLookUp.IsDisposed)
+ {
+ modelLookUp = GetSelectReturnModelLookUp(model);
+ e.Button.Tag = modelLookUp;
+ }
+ ConfigureSelectReturnModelLookUp(modelLookUp, model);
modelLookUp.EditText = btnEdit.Text;
modelLookUp.CurrentOperColumnKey = Model.ModuleCode + "_" + model.FieldName;
modelLookUp.EditText = btnEdit.Text;
diff --git a/插件库/Lskj.Control/Model/GridExtend.cs b/插件库/Lskj.Control/Model/GridExtend.cs
index b98c394..7d94177 100644
--- a/插件库/Lskj.Control/Model/GridExtend.cs
+++ b/插件库/Lskj.Control/Model/GridExtend.cs
@@ -1110,6 +1110,7 @@ namespace Lskj.Control.Model
gridControl.gridViewRightMenu = rightMenu;
rightMenu.InitRightMenus(gridControl, table, model, control, menu);
rightMenu.SetRightCallback(handler);
+ gridControl.SetRightMenuButtonTable(table);
}
///
/// 说明:设置表格右键菜单
diff --git a/插件库/Lskj.Control/Model/MyControl.cs b/插件库/Lskj.Control/Model/MyControl.cs
index da93b61..8ddda13 100644
--- a/插件库/Lskj.Control/Model/MyControl.cs
+++ b/插件库/Lskj.Control/Model/MyControl.cs
@@ -1063,7 +1063,7 @@ namespace Lskj.Control.Model
DataTable rightDt = null;
if (dynamicModel != null)
{
- if (!dataCaches.GetValue(parent, "RightDtGridRightMenus", out rightDt))
+ if (!dataCaches.GetValue(this, "RightDtGridRightMenus", out rightDt))
{
rightDt = BaseModuleImpl.GetBaseGridRightMenus(dynamicModel.ModuleCode, ModuleType.MrpClickBtn);
}
@@ -1223,7 +1223,7 @@ namespace Lskj.Control.Model
DataTable rightDt = null;
if (dynamicModel != null)
{
- if (!dynamicModel.DataCaches.GetValue(parent, "RightDtGridRightMenus", out rightDt))
+ if (!dynamicModel.DataCaches.GetValue(this, "RightDtGridRightMenus", out rightDt))
{
rightDt = BaseModuleImpl.GetBaseGridRightMenus(dynamicModel.ModuleCode, ModuleType.MrpClickBtn);
}
diff --git a/插件库/Lskj.Control/ModuleGridEx.cs b/插件库/Lskj.Control/ModuleGridEx.cs
index 9ea4a43..fa7e96a 100644
--- a/插件库/Lskj.Control/ModuleGridEx.cs
+++ b/插件库/Lskj.Control/ModuleGridEx.cs
@@ -3985,10 +3985,10 @@ namespace Lskj.Control
{
return new ModuleModel(MainImpl.GetSystemdllTab(dynamicModel.ModuleCode));
}));
- Task searchBaseGridRightMenusTask = cachesDic.AddTask(pl_top_search, "BaseGridRightMenus", new Task(() =>
- {
- return BaseModuleImpl.GetBaseGridRightMenus(dynamicModel.ModuleCode, ModuleType.MrpClickBtn);
- }));
+ //Task searchBaseGridRightMenusTask = cachesDic.AddTask(pl_top_search, "BaseGridRightMenus", new Task(() =>
+ //{
+ // return BaseModuleImpl.GetBaseGridRightMenus(dynamicModel.ModuleCode, ModuleType.MrpClickBtn);
+ //}));
Task fixedQueryFieldsTask = cachesDic.AddTask(this, "FixedQueryFields", new Task(() =>
{
return BaseModuleImpl.GetFixedQueryFields(dynamicModel.ModuleCode);//加载固定查询条件
diff --git a/插件库/Lskj.Control/ModulePanelEx.cs b/插件库/Lskj.Control/ModulePanelEx.cs
index 96895ba..70fc53a 100644
--- a/插件库/Lskj.Control/ModulePanelEx.cs
+++ b/插件库/Lskj.Control/ModulePanelEx.cs
@@ -1814,7 +1814,11 @@ namespace Lskj.Control
{
// 提交数据
this.PrimaryValue = this.SysModel.NewVer == 0 ? this.ControlObj.GetControlValue(this.PrimaryKey) : this.PrimaryValue;
- if (string.IsNullOrEmpty(PrimaryValue) || SavaState) this.AddControlRecord(true, false);
+ if (string.IsNullOrEmpty(PrimaryValue) || SavaState)
+ {
+ isApply=this.AddControlRecord(true, false);
+ if (!isApply) return;//保存失败不执行提交
+ }
DialogResult result = MessageUtil.Show(ResourceKeys.BillApply, MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
diff --git a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs
index 21417c3..7c7b3e8 100644
--- a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs
+++ b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs
@@ -247,11 +247,10 @@ namespace Lskj.Control.MultiModelLookUp
{
try
{
- string width = IniHelper.Read(string.Format("base_width_{0}", this.UnionModuleCodel));//通过Key获取Value值
+ string width = IniHelper.Read(string.Format("FrmModelLookUp_width_{0}", this.UnionModuleCodel));//通过Key获取Value值
if (!string.IsNullOrEmpty(width))
{
this.splitMain.SplitterPosition = Convert.ToInt32(width);
-
}
}
catch (Exception ex)
@@ -777,6 +776,7 @@ namespace Lskj.Control.MultiModelLookUp
private void PositionChange(object sender, EventArgs e)
{
PositionSplitter = this.splitMain_Right.SplitterPosition;
+ IniHelper.Write(string.Format("FrmModelLookUp_height_{0}", this.UnionModuleCodel), PositionSplitter + "");
}
#endregion
#region 窗口大小改变
@@ -1034,6 +1034,17 @@ namespace Lskj.Control.MultiModelLookUp
this.Width = this.SysModel.ModuleFrameWidth;
}
+ string height = IniHelper.Read(string.Format("FrmModelLookUp_height_{0}", this.UnionModuleCodel));//通过Key获取Value值
+ if (!string.IsNullOrEmpty(height))
+ {
+ this.splitMain_Right.SplitterPosition = Convert.ToInt32(height);
+ }
+ else if (this.SysModel.BottomHeight > 0)
+ {
+ this.splitMain_Right.SplitterPosition = Convert.ToInt32(this.splitMain_Right.Height - this.SysModel.BottomHeight);
+ }
+
+
switch (this.SysModel.MenuType)
{
case 1: // 左侧为树节点
@@ -1057,7 +1068,7 @@ namespace Lskj.Control.MultiModelLookUp
this.splitMain.PanelVisibility = SplitPanelVisibility.Panel2;
break;
}
-
+ this.splitMain.SplitterPositionChanged += SplitMain_SplitterPositionChanged;
}
else
{
@@ -1067,6 +1078,12 @@ namespace Lskj.Control.MultiModelLookUp
}
return false;
}
+
+
+ private void SplitMain_SplitterPositionChanged(object sender, EventArgs e)
+ {
+ IniHelper.Write(string.Format("FrmModelLookUp_width_{0}", this.UnionModuleCodel), this.splitMain.SplitterPosition + "");
+ }
#endregion
diff --git a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.Designer.cs b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.Designer.cs
index 42eeece..ea4146b 100644
--- a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.Designer.cs
+++ b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.Designer.cs
@@ -28,11 +28,11 @@
///
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
this.splitMain = new DevExpress.XtraEditors.SplitContainerControl();
this.pl_left = new DevExpress.XtraEditors.PanelControl();
this.pl_left_main = new System.Windows.Forms.Panel();
this.pl_gridandtree_container = new DevExpress.XtraEditors.PanelControl();
+ this.treeLeft = new Lskj.Control.TreeViewEx();
this.gridLeft = new Lskj.Control.GridControlEx();
this.pl_left_top = new DevExpress.XtraEditors.PanelControl();
this.splitMain_Right = new DevExpress.XtraEditors.SplitContainerControl();
@@ -44,12 +44,11 @@
this.btn_selectAll = new DevExpress.XtraEditors.SimpleButton();
this.btn_cancelAll = new DevExpress.XtraEditors.SimpleButton();
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
- this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip();
this.tsmi_all = new System.Windows.Forms.ToolStripMenuItem();
this.tsmi_reserve = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsmi_cancel = new System.Windows.Forms.ToolStripMenuItem();
- this.treeLeft = new Lskj.Control.TreeViewEx();
((System.ComponentModel.ISupportInitialize)(this.splitMain)).BeginInit();
this.splitMain.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pl_left)).BeginInit();
@@ -118,6 +117,16 @@
this.pl_gridandtree_container.Size = new System.Drawing.Size(260, 454);
this.pl_gridandtree_container.TabIndex = 9;
//
+ // treeLeft
+ //
+ this.treeLeft.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.treeLeft.Location = new System.Drawing.Point(0, 0);
+ this.treeLeft.Margin = new System.Windows.Forms.Padding(4);
+ this.treeLeft.Name = "treeLeft";
+ this.treeLeft.Size = new System.Drawing.Size(260, 454);
+ this.treeLeft.TabIndex = 7;
+ this.treeLeft.Visible = false;
+ //
// gridLeft
//
this.gridLeft.AdapterObj = null;
@@ -218,7 +227,7 @@
this.btnCancel.Location = new System.Drawing.Point(772, 5);
this.btnCancel.Margin = new System.Windows.Forms.Padding(4);
this.btnCancel.Name = "btnCancel";
- this.btnCancel.Size = new System.Drawing.Size(79, 35);
+ this.btnCancel.Size = new System.Drawing.Size(76, 35);
this.btnCancel.TabIndex = 24;
this.btnCancel.Text = "取消(&C)";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
@@ -297,16 +306,6 @@
this.tsmi_cancel.Size = new System.Drawing.Size(100, 22);
this.tsmi_cancel.Text = "取消";
//
- // treeLeft
- //
- this.treeLeft.Dock = System.Windows.Forms.DockStyle.Fill;
- this.treeLeft.Location = new System.Drawing.Point(0, 0);
- this.treeLeft.Margin = new System.Windows.Forms.Padding(4);
- this.treeLeft.Name = "treeLeft";
- this.treeLeft.Size = new System.Drawing.Size(260, 454);
- this.treeLeft.TabIndex = 7;
- this.treeLeft.Visible = false;
- //
// FrmModelLookUp2
//
this.Appearance.BackColor = System.Drawing.SystemColors.Control;
diff --git a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs
index 28842e6..b176318 100644
--- a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs
+++ b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs
@@ -266,12 +266,12 @@ namespace Lskj.Control.MultiModelLookUp
{
try
{
- string width = IniHelper.Read(string.Format("base_width_{0}", this.UnionModuleCodel));//通过Key获取Value值
+ string width = IniHelper.Read(string.Format("FrmModelLookUp2_width_{0}", this.UnionModuleCodel));//通过Key获取Value值
if (!string.IsNullOrEmpty(width))
{
this.splitMain.SplitterPosition = Convert.ToInt32(width);
-
}
+
}
catch (Exception ex)
{
@@ -805,6 +805,7 @@ namespace Lskj.Control.MultiModelLookUp
private void PositionChange(object sender, EventArgs e)
{
PositionSplitter = this.splitMain_Right.SplitterPosition;
+ IniHelper.Write(string.Format("FrmModelLookUp2_height_{0}", this.UnionModuleCodel), PositionSplitter + "");
}
#endregion
#region 窗口大小改变
@@ -1137,7 +1138,15 @@ namespace Lskj.Control.MultiModelLookUp
this.Width = this.SysModel.ModuleFrameWidth;
}
-
+ string height = IniHelper.Read(string.Format("FrmModelLookUp2_height_{0}", this.UnionModuleCodel));//通过Key获取Value值
+ if (!string.IsNullOrEmpty(height))
+ {
+ this.splitMain_Right.SplitterPosition = Convert.ToInt32(height);
+ }
+ else if (this.SysModel.BottomHeight > 0)
+ {
+ this.splitMain_Right.SplitterPosition = Convert.ToInt32(this.splitMain_Right.Height - this.SysModel.BottomHeight);
+ }
switch (this.SysModel.MenuType)
{
@@ -1162,7 +1171,7 @@ namespace Lskj.Control.MultiModelLookUp
this.splitMain.PanelVisibility = SplitPanelVisibility.Panel2;
break;
}
-
+ this.splitMain.SplitterPositionChanged += SplitMain_SplitterPositionChanged;
}
else
{
@@ -1172,6 +1181,11 @@ namespace Lskj.Control.MultiModelLookUp
}
return false;
}
+
+ private void SplitMain_SplitterPositionChanged(object sender, EventArgs e)
+ {
+ IniHelper.Write(string.Format("FrmModelLookUp2_width_{0}", this.UnionModuleCodel), this.splitMain.SplitterPosition + "");
+ }
#endregion
//设置选中框的值
diff --git a/插件库/Lskj.Main/Control/MainPanelControlEx.cs b/插件库/Lskj.Main/Control/MainPanelControlEx.cs
index 1a7bad6..dd7a9db 100644
--- a/插件库/Lskj.Main/Control/MainPanelControlEx.cs
+++ b/插件库/Lskj.Main/Control/MainPanelControlEx.cs
@@ -4836,6 +4836,14 @@ namespace Lskj.Main.Control
tabPage.Controls.Add(this.FirstMain);
this.webBrowser.Show();
this.webBrowser.BringToFront();
+ // 等待页签和FirstMain完成布局后,再同步CEF原生子窗口的位置和尺寸。
+ this.webBrowser.BeginInvoke(new MethodInvoker(delegate
+ {
+ if (!this.webBrowser.IsDisposed && !this.webBrowser.Disposing)
+ {
+ this.webBrowser.SyncBrowserBounds();
+ }
+ }));
//if (this.webBrowser.cefBrowserSettings != null) this.webBrowser.cefBrowserSettings.Reload();
int MemuEventType = 1;
//左侧二级目录菜单设置为单击切换模式
diff --git a/插件库/Lskj.Main/FrmLogin.cs b/插件库/Lskj.Main/FrmLogin.cs
index 4515a2b..de6ccec 100644
--- a/插件库/Lskj.Main/FrmLogin.cs
+++ b/插件库/Lskj.Main/FrmLogin.cs
@@ -681,6 +681,9 @@ namespace Lskj.Main
ERPInfo.Instance.LoginAccount = LoginAccount;
ERPInfo.Instance.InPassWord = password;
ERPInfo.Instance.PrimitiveBrowser = SystemInfo.Instance.PrimitiveBrowser;
+ if (BaseImpl.HasExistsColumn("p_formmenuconfigtab", "SingleOpenMode")) ERPInfo.Instance.SingleOpenMode = true;
+
+
DBConfig.Instance.LoginName = isLoginByAd ? lueUserName.Text.Trim() : lueUserName.Text;
DBConfig.Instance.NoticeUserID = userId;
DBConfig.Instance.NoticeUserName = userName;
diff --git a/插件库/Lskj.Main/Model/Manager.cs b/插件库/Lskj.Main/Model/Manager.cs
index 1928531..8d038f3 100644
--- a/插件库/Lskj.Main/Model/Manager.cs
+++ b/插件库/Lskj.Main/Model/Manager.cs
@@ -571,22 +571,23 @@ namespace Lskj.Main.Model
form.Show();
if (args != null && !string.IsNullOrEmpty(args[4] + ""))
{
- ModuleModel moduleModel = new ModuleModel(MainImpl.GetSystemdllTab(args[4] + ""));
- if (!string.IsNullOrEmpty(moduleModel.SearchCondFormModuleCode))
- {
- ModuleConditionsPanelEx mcpex = new ModuleConditionsPanelEx();
- mcpex.InitializeControl(new ModuleModel(MainImpl.GetSystemdllTab(moduleModel.SearchCondFormModuleCode)), null, null, true);
- if (StaticControl.ConditionsPanelDic.ContainsKey(args[4] + ""))
- {
- StaticControl.ConditionsPanelDic[args[4] + ""].Dispose();
- StaticControl.ConditionsPanelDic[args[4] + ""] = mcpex;
- }
- else
- {
- StaticControl.ConditionsPanelDic.Add(args[4] + "", mcpex);
- }
- DialogResult dialogResult = mcpex.ShowDialog();
- }
+ //2026-08-08 pz说把SearchCondFormModuleCode判断去掉,不要这个功能
+ //ModuleModel moduleModel = new ModuleModel(MainImpl.GetSystemdllTab(args[4] + ""));
+ //if (!string.IsNullOrEmpty(moduleModel.SearchCondFormModuleCode))
+ //{
+ // ModuleConditionsPanelEx mcpex = new ModuleConditionsPanelEx();
+ // mcpex.InitializeControl(new ModuleModel(MainImpl.GetSystemdllTab(moduleModel.SearchCondFormModuleCode)), null, null, true);
+ // if (StaticControl.ConditionsPanelDic.ContainsKey(args[4] + ""))
+ // {
+ // StaticControl.ConditionsPanelDic[args[4] + ""].Dispose();
+ // StaticControl.ConditionsPanelDic[args[4] + ""] = mcpex;
+ // }
+ // else
+ // {
+ // StaticControl.ConditionsPanelDic.Add(args[4] + "", mcpex);
+ // }
+ // DialogResult dialogResult = mcpex.ShowDialog();
+ //}
}
TabMain.TabPages.Add(tp);
diff --git a/插件库/Lskj.Model/ERPInfo.cs b/插件库/Lskj.Model/ERPInfo.cs
index 8dd25f5..6e2bd0b 100644
--- a/插件库/Lskj.Model/ERPInfo.cs
+++ b/插件库/Lskj.Model/ERPInfo.cs
@@ -108,7 +108,11 @@ namespace Lskj.Model
/// 是否阻止回车事件
///
public bool IsExecute = false;
-
+ ///
+ /// 是否根据模块id判断是否设置不能同时打开多个相同模块
+ ///
+ public bool SingleOpenMode = false;
+
///
/// 登录IP
diff --git a/插件库/Lskj.Model/ModuleModel.cs b/插件库/Lskj.Model/ModuleModel.cs
index b05701d..bf10347 100644
--- a/插件库/Lskj.Model/ModuleModel.cs
+++ b/插件库/Lskj.Model/ModuleModel.cs
@@ -1058,7 +1058,10 @@ namespace Lskj.Model
/// 模块弹出框宽度
///
public int ModuleFrameWidth;
-
+ ///
+ /// 下方高
+ ///
+ public int BottomHeight;
#endregion
///
@@ -1254,6 +1257,8 @@ namespace Lskj.Model
this.ModuleFrameHeight = rowItem.Table.Columns.Contains("ModuleFrameHeight") && !string.IsNullOrEmpty(rowItem["ModuleFrameHeight"] + "") ? Convert.ToInt32(rowItem["ModuleFrameHeight"] + "") : 0;
this.ModuleFrameWidth = rowItem.Table.Columns.Contains("ModuleFrameWidth") && !string.IsNullOrEmpty(rowItem["ModuleFrameWidth"] + "") ? Convert.ToInt32(rowItem["ModuleFrameWidth"] + "") : 0;
+ this.BottomHeight = rowItem.Table.Columns.Contains("BottomHeight") && !string.IsNullOrEmpty(rowItem["BottomHeight"] + "") ? Convert.ToInt32(rowItem["BottomHeight"] + "") : 0;
+
}
}
}
diff --git a/插件库/Lskj.PubBill/BillModule.Designer.cs b/插件库/Lskj.PubBill/BillModule.Designer.cs
index f39f27b..813f0e6 100644
--- a/插件库/Lskj.PubBill/BillModule.Designer.cs
+++ b/插件库/Lskj.PubBill/BillModule.Designer.cs
@@ -28,17 +28,16 @@
///
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
- this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
+ this.barManager1 = new DevExpress.XtraBars.BarManager();
this.barDockControl1 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl2 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl3 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl5 = new DevExpress.XtraBars.BarDockControl();
- this.pmFP = new DevExpress.XtraBars.PopupMenu(this.components);
- this.pmBillExp = new DevExpress.XtraBars.PopupMenu(this.components);
- this.pmBill = new DevExpress.XtraBars.PopupMenu(this.components);
- this.pMprint = new DevExpress.XtraBars.PopupMenu(this.components);
- this.pMenu = new DevExpress.XtraBars.PopupMenu(this.components);
+ this.pmFP = new DevExpress.XtraBars.PopupMenu();
+ this.pmBillExp = new DevExpress.XtraBars.PopupMenu();
+ this.pmBill = new DevExpress.XtraBars.PopupMenu();
+ this.pMprint = new DevExpress.XtraBars.PopupMenu();
+ this.pMenu = new DevExpress.XtraBars.PopupMenu();
this.tb_buttom = new Lskj.Control.TabControlEx();
this.ssc_main_top = new DevExpress.XtraEditors.SplitContainerControl();
this.pl_left = new DevExpress.XtraEditors.PanelControl();
diff --git a/插件库/Lskj.PubBill/BillModule.cs b/插件库/Lskj.PubBill/BillModule.cs
index 48b61e5..fe87289 100644
--- a/插件库/Lskj.PubBill/BillModule.cs
+++ b/插件库/Lskj.PubBill/BillModule.cs
@@ -249,7 +249,10 @@ namespace Lskj.PubBill
/// 保存验证条件表
///
public DataTable SaveCondTab = new DataTable();
-
+ ///
+ /// 明细对应字段(参数9中的明细sql对应的主表明细字段) Dictionary
+ ///
+ public Dictionary DetailMappingField = new Dictionary();
public BillModule()
@@ -1363,7 +1366,11 @@ namespace Lskj.PubBill
if (!string.IsNullOrEmpty(this.SysModel.BillMasterSql))
{
// 处理单据明细数据
- if (!this.SysModel.BillDetailSql.StartsWith("*")) this.AddMultiRowToGridView(BillImpl.GetDataTableResult(this.SysModel.BillDetailSql));
+ if (!this.SysModel.BillDetailSql.StartsWith("*"))
+ {
+ this.AddMultiRowToGridView(BillImpl.GetDataTableResult(this.SysModel.BillDetailSql));
+ this.DetailMappingField = GetFieldAliasMap(this.SysModel.BillDetailSql);
+ }
}
}
}
@@ -1378,7 +1385,16 @@ namespace Lskj.PubBill
BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu");
if (baseUserControl != null)
{
- int.TryParse(baseUserControl.EditText, out dayCount);
+ //int.TryParse(baseUserControl.EditText, out dayCount);
+ decimal value;
+
+ if (decimal.TryParse(baseUserControl.EditText, out value) &&
+ value == decimal.Truncate(value) &&
+ value > 0 &&
+ value <= int.MaxValue)
+ {
+ dayCount = (int)value;
+ }
}
if (dayCount <= 0)
{
@@ -1455,7 +1471,16 @@ namespace Lskj.PubBill
BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu");
if (baseUserControl != null)
{
- int.TryParse(baseUserControl.EditText, out dayCount);
+ //int.TryParse(baseUserControl.EditText, out dayCount);
+ decimal value;
+
+ if (decimal.TryParse(baseUserControl.EditText, out value) &&
+ value == decimal.Truncate(value) &&
+ value > 0 &&
+ value <= int.MaxValue)
+ {
+ dayCount = (int)value;
+ }
}
if (dayCount <= 0)
{
@@ -4607,6 +4632,9 @@ namespace Lskj.PubBill
int position = this.gcMain.GridView.FocusedRowHandle;
bool isLastRow = this.gcMain.GridView.IsLastVisibleRow;
bool onlyOne = true;
+
+ dataTable = CreateDetailMappingTable(dataTable);
+
foreach (DataRow rowItem in dataTable.Rows)
{
if (unionModel == null || ValidateDetailCond(rowItem, unionModel))
@@ -4615,18 +4643,6 @@ namespace Lskj.PubBill
AssociatedField = repeatProduct;
if ("1".Equals(this.BillModel.DetailDoubleClickTip) && this.gcMain.GridView.Columns[repeatProduct] != null && dataTable.Columns.Contains(repeatProduct))
{
- // 需要提示编码重复
- //GridView view = this.gcMain.GridView;
- //bool result = (view.LocateByValue(repeatProduct, rowItem[repeatProduct], null) >= 0) |
- // (view.LocateByValue(repeatProduct, rowItem[repeatProduct], null) >= 0) |
- // (view.LocateByValue(repeatProduct, rowItem[repeatProduct], null) >= 0) |
- // (view.LocateByValue(repeatProduct, rowItem[repeatProduct], null) >= 0);
- //if (result)
- //{
- // DialogResult dialog = MessageUtil.Show(ResourceKeys.ProductIsRepet, MessageBoxButtons.YesNo);
- // if (dialog != DialogResult.Yes)
- // return;
- //}
//上面方法无法处理大小写,改成搜索的形式
DataTable dt = this.gcMain.gridControl.DataSourceTable();
@@ -4732,22 +4748,13 @@ namespace Lskj.PubBill
{
// 插入数据行
gridTable.Rows.InsertAt(newRow, position);
- //this.gcMain.GridView.ClearSelection();
- //this.gcMain.GridView.SelectRowHandler(position);
}
else
{
// 添加数据行
gridTable.Rows.Add(newRow);
- // this.gcMain.GridView.ClearSelection();
- // this.gcMain.GridView.SelectRowHandler(gridTable.Rows.Count - 1);
}
position++;
- //if (isLastRow)
- //{
- // this.gcMain.GridView.ClearSelection();
- // this.gcMain.GridView.SelectRowHandler(position + 1);
- //}
if (!string.IsNullOrEmpty(NumberMc) && gridTable.Columns.Contains(mRecordPrimaryField))
{
DataRow[] rt = gridTable.Rows.Cast().Where(x => (newRow[BillModel.DetailPreFix + "ProductId"] + "").Equals(x[BillModel.DetailPreFix + "ProductId"] + "") && !string.IsNullOrEmpty(x[mRecordPrimaryField] + "")).ToArray();
@@ -4906,13 +4913,18 @@ namespace Lskj.PubBill
if (unionModel != null)
{
bool onlyOne = true;
+
+ DataRow[] mappingRows = CreateDetailMappingRows(rowItems);
+
for (int i = 0; i < rowItems.Length; i++)
{
DataRow rowItem = rowItems[i]; //unionModel.GridDetailControlObj.GridView.GetDataRow(selectedRows[i]);
+ DataRow mappingRow = mappingRows[i];
+
// 检查当前记录是否满足条件
if (ValidateDetailCond(rowItem, unionModel))
{
- this.AddRowToGridView(rowItem);
+ this.AddRowToGridView(mappingRow);
if (!string.IsNullOrWhiteSpace(this.BillModel.ChangeColColor))
{
if (rowItem.Table.Columns.Contains(this.BillModel.ChangeColColor))
@@ -6502,7 +6514,15 @@ namespace Lskj.PubBill
BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu");
if (baseUserControl != null)
{
- int.TryParse(baseUserControl.EditText, out dayCount);
+ decimal value;
+
+ if (decimal.TryParse(baseUserControl.EditText, out value) &&
+ value == decimal.Truncate(value) &&
+ value > 0 &&
+ value <= int.MaxValue)
+ {
+ dayCount = (int)value;
+ }
}
if (dayCount <= 0)
{
@@ -9698,7 +9718,8 @@ namespace Lskj.PubBill
try
{
if (string.IsNullOrWhiteSpace(cond)) return true;//如果值是空格或者空行,默认正确
- cond = ReplaceHelper.ReplaceRowParam(dataRow, cond);
+ //cond = ReplaceHelper.ReplaceRowParam(dataRow, cond);
+ cond = ReplaceHelper.ReplaceRowParamEmptyWrapQuote(dataRow, cond);
if (cond.StartsWith("@") || cond.StartsWith("!"))
{
result = "1".Equals(BaseImpl.GetDefaultValue(cond));
@@ -10472,5 +10493,269 @@ namespace Lskj.PubBill
+ ///
+ /// 获取明细sql对应的字段
+ ///
+ ///
+ ///
+ public static Dictionary GetFieldAliasMap(string sql)
+ {
+ Dictionary result =
+ new Dictionary(StringComparer.OrdinalIgnoreCase);
+
+ try
+ {
+ if (string.IsNullOrWhiteSpace(sql))
+ return result;
+
+ string cleanSql = Regex.Replace(
+ sql,
+ @"/\*.*?\*/|--[^\r\n]*",
+ string.Empty,
+ RegexOptions.Singleline);
+
+ Match selectMatch = Regex.Match(
+ cleanSql,
+ @"\bSELECT\b(?.*?)\bFROM\b",
+ RegexOptions.IgnoreCase | RegexOptions.Singleline);
+
+ if (!selectMatch.Success)
+ return result;
+
+ string columns = selectMatch.Groups["columns"].Value;
+
+ const string identifier =
+ @"(?:\[[^\]]+\]|""[^""]+""|[\p{L}_@#][\p{L}\p{N}_@$#]*)";
+
+ string pattern =
+ @"(?:^|,)\s*" +
+ @"(?:(?:" + identifier + @")\s*\.\s*)*" +
+ @"(?" + identifier + @")\s+" +
+ @"AS\s+" +
+ @"(?" + identifier + @")\s*" +
+ @"(?=,|$)";
+
+ MatchCollection matches = Regex.Matches(
+ columns,
+ pattern,
+ RegexOptions.IgnoreCase | RegexOptions.Multiline);
+
+ foreach (Match match in matches)
+ {
+ try
+ {
+ string fieldName = UnwrapSqlIdentifier(
+ match.Groups["field"].Value);
+
+ string aliasName = UnwrapSqlIdentifier(
+ match.Groups["alias"].Value);
+
+ if (string.IsNullOrWhiteSpace(fieldName) ||
+ string.IsNullOrWhiteSpace(aliasName))
+ {
+ continue;
+ }
+
+ // 相同字段重复配置时,以最后一个别名为准。
+ result[fieldName] = aliasName;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ continue;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ }
+
+ return result;
+ }
+
+ ///
+ /// 获取明细sql对应的字段
+ ///
+ private static string UnwrapSqlIdentifier(string value)
+ {
+ value = (value ?? string.Empty).Trim();
+
+ if (value.Length >= 2 &&
+ value[0] == '[' &&
+ value[value.Length - 1] == ']')
+ {
+ return value.Substring(1, value.Length - 2)
+ .Replace("]]", "]");
+ }
+
+ if (value.Length >= 2 &&
+ value[0] == '"' &&
+ value[value.Length - 1] == '"')
+ {
+ return value.Substring(1, value.Length - 2)
+ .Replace("\"\"", "\"");
+ }
+
+ return value;
+ }
+
+
+ ///
+ /// 根据参数9的字段映射转换DataTable。
+ /// 保留原字段,并添加AS后的目标字段。
+ ///
+ private DataTable CreateDetailMappingTable(DataTable sourceTable)
+ {
+ if (sourceTable == null ||
+ DetailMappingField == null ||
+ DetailMappingField.Count == 0)
+ {
+ return sourceTable;
+ }
+
+ DataTable result;
+
+ try
+ {
+ result = sourceTable.Copy();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ return sourceTable;
+ }
+
+ foreach (KeyValuePair mapping in DetailMappingField)
+ {
+ try
+ {
+ string sourceField = mapping.Key;
+ string targetField = mapping.Value;
+
+ if (string.IsNullOrWhiteSpace(sourceField) ||
+ string.IsNullOrWhiteSpace(targetField) ||
+ sourceField.Equals(targetField, StringComparison.OrdinalIgnoreCase))
+ {
+ continue;
+ }
+
+ if (!result.Columns.Contains(sourceField))
+ continue;
+
+ // 已经存在目标字段时保留原值,兼容原来的SQL配置。
+ if (result.Columns.Contains(targetField))
+ continue;
+
+ DataColumn sourceColumn = result.Columns[sourceField];
+ result.Columns.Add(targetField, sourceColumn.DataType);
+
+ foreach (DataRow row in result.Rows)
+ {
+ try
+ {
+ if (row.RowState != DataRowState.Deleted)
+ row[targetField] = row[sourceField];
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ }
+ }
+
+ return result;
+ }
+
+ ///
+ /// 根据参数9的字段映射转换选中的DataRow数组。
+ /// 返回的行是临时副本,原始行仍用于变色、删除等来源操作。
+ ///
+ private DataRow[] CreateDetailMappingRows(DataRow[] sourceRows)
+ {
+ if (sourceRows == null ||
+ sourceRows.Length == 0 ||
+ DetailMappingField == null ||
+ DetailMappingField.Count == 0)
+ {
+ return sourceRows;
+ }
+
+ DataRow[] result = new DataRow[sourceRows.Length];
+
+ try
+ {
+ DataRow schemaRow = sourceRows.FirstOrDefault(
+ row => row != null && row.Table != null);
+
+ if (schemaRow == null)
+ return result;
+
+ DataTable temporaryTable = schemaRow.Table.Clone();
+ List sourceIndexes = new List();
+
+ for (int i = 0; i < sourceRows.Length; i++)
+ {
+ DataRow sourceRow = sourceRows[i];
+
+ if (sourceRow == null ||
+ sourceRow.Table == null ||
+ sourceRow.RowState == DataRowState.Deleted ||
+ sourceRow.RowState == DataRowState.Detached)
+ {
+ continue;
+ }
+
+ try
+ {
+ DataRow newRow = temporaryTable.NewRow();
+
+ foreach (DataColumn column in temporaryTable.Columns)
+ {
+ try
+ {
+ if (sourceRow.Table.Columns.Contains(column.ColumnName))
+ newRow[column.ColumnName] = sourceRow[column.ColumnName];
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ }
+ }
+
+ temporaryTable.Rows.Add(newRow);
+ sourceIndexes.Add(i);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ }
+ }
+
+ DataTable mappingTable = CreateDetailMappingTable(temporaryTable);
+
+ for (int i = 0; i < mappingTable.Rows.Count &&
+ i < sourceIndexes.Count; i++)
+ {
+ result[sourceIndexes[i]] = mappingTable.Rows[i];
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Instance.WriteError(ex);
+ }
+
+ return result;
+ }
+
+
+
+
+
}
}
diff --git a/插件库/Lskj.PubModule/FrmMain.cs b/插件库/Lskj.PubModule/FrmMain.cs
index 029dfb1..be7d681 100644
--- a/插件库/Lskj.PubModule/FrmMain.cs
+++ b/插件库/Lskj.PubModule/FrmMain.cs
@@ -37,7 +37,7 @@ namespace Lskj.PubModule
InitializeComponent();
}
-
+
///
/// 说明:窗体加载时
@@ -66,7 +66,7 @@ namespace Lskj.PubModule
LogHelper.Instance.WriteError(ex, ResourceKeys.BaseModule);
//MessageUtil.Show(ex.Message + "\r\n" + ex.StackTrace);
string Message = ErrorMessage.PromptErrorMessage(ex);
- MessageUtil.Show(Message,ex.Message);
+ MessageUtil.Show(Message, ex.Message);
}
finally
{
@@ -98,23 +98,30 @@ namespace Lskj.PubModule
ModuleModel sysModel = new ModuleModel(systemDllRowTask.Result);
return sysModel;//系统模块实体对象
}));
+ //Task> detailTask = cachesDic.AddTask(this, "Details", new Task>(() =>
+ //{
+ // DataTable detailPages = BaseModuleImpl.GetBaseDetailPages(Model.ModuleCode);//根据传入的模块编号获得基础档案底部标签的数据
+ // List details = new List();//表格明细对象的集合
+ // foreach (DataRow item in detailPages.Rows)
+ // {
+ // GridDetailModel gridDetailModel = new GridDetailModel(item, null, GridCustomColumnStruct.BaseDetailGridView);
+ // details.Add(gridDetailModel);
+ // Task addGridColumnsTask = cachesDic.AddTask(gridDetailModel, "GridColumns", new Task(() =>
+ // {
+ // DataTable gridColumns = ReportImpl.GetReportDetailColumns(Model.ModuleCode, item["id"] + "");//获取报表明细列
+ // gridDetailModel.GridColumns = gridColumns;
+ // return gridColumns;
+ // }));
+ // }
+ // return details;
+ //}));
+
+
Task> detailTask = cachesDic.AddTask(this, "Details", new Task>(() =>
{
- DataTable detailPages = BaseModuleImpl.GetBaseDetailPages(Model.ModuleCode);//根据传入的模块编号获得基础档案底部标签的数据
- List details = new List();//表格明细对象的集合
- foreach (DataRow item in detailPages.Rows)
- {
- GridDetailModel gridDetailModel = new GridDetailModel(item, null, GridCustomColumnStruct.BaseDetailGridView);
- details.Add(gridDetailModel);
- Task addGridColumnsTask = cachesDic.AddTask(gridDetailModel, "GridColumns", new Task(() =>
- {
- DataTable gridColumns = ReportImpl.GetReportDetailColumns(Model.ModuleCode, item["id"] + "");//获取报表明细列
- gridDetailModel.GridColumns = gridColumns;
- return gridColumns;
- }));
- }
- return details;
+ return new List();
}));
+
Task formTypeTask = cachesDic.AddTask(this, "FormType", new Task(() =>
{
return BaseImpl.GetBaseType(Model.ModuleCode);
@@ -149,7 +156,7 @@ namespace Lskj.PubModule
if (SystemInfo.Instance.EfficientVerification)
{
bool SaveResults = this.mControl.ModuleGridDetailObj.VerificationInterface();
- if (!SaveResults)
+ if (!SaveResults)
{
DialogResult result = MessageUtil.Show(("数据未保存,是否确定关闭?"), MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
@@ -163,9 +170,9 @@ namespace Lskj.PubModule
e.Cancel = true;
}
}
-
+
}
-
+
}
#region 设置窗口大小
@@ -213,7 +220,7 @@ namespace Lskj.PubModule
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
- MessageUtil.Show(Message,ex.Message);
+ MessageUtil.Show(Message, ex.Message);
}
}
diff --git a/插件库/Lskj.PubPower/FrmMain.cs b/插件库/Lskj.PubPower/FrmMain.cs
index 47361de..c94d39c 100644
--- a/插件库/Lskj.PubPower/FrmMain.cs
+++ b/插件库/Lskj.PubPower/FrmMain.cs
@@ -127,6 +127,9 @@ namespace Lskj.PubPower
this.BeCopiedPeople.TextEdit.Enabled = false;
this.SelectedStaff.TextEdit.Enabled = false;
+ this.gridControlEx3.GridControl.ContextMenuStrip = this.MenuStrip;
+ this.gridControlEx4.GridControl.ContextMenuStrip = this.contextMenuStrip;
+
//this.department.TextEdit.EditValueChanged += new EventHandler(OnDepEditValueChanged);
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
diff --git a/插件库/Lskj.PubSpec/FrmMain.cs b/插件库/Lskj.PubSpec/FrmMain.cs
index cc1f23d..397805f 100644
--- a/插件库/Lskj.PubSpec/FrmMain.cs
+++ b/插件库/Lskj.PubSpec/FrmMain.cs
@@ -148,14 +148,14 @@ namespace Lskj.PubSpec
string specialId = string.Empty;
if (this._leftTreeRow != null)
{
- if (BaseImpl.HasExistsTable("p_systemTreeNodeSetTab"))
- {
- DataRow treeNodedr = BaseImpl.TreeNodeSetTab(this.SysModel.MenuTable);
- if (treeNodedr != null)
- {
- specialId = treeNodedr["treeIdField"] + "";
- }
- }
+ //if (BaseImpl.HasExistsTable("p_systemTreeNodeSetTab"))
+ //{
+ // DataRow treeNodedr = BaseImpl.TreeNodeSetTab(this.SysModel.MenuTable);
+ // if (treeNodedr != null)
+ // {
+ // specialId = treeNodedr["treeIdField"] + "";
+ // }
+ //}
if (this._leftTreeRow.Table.Columns.Contains("TreeNodeSearch") && "1".Equals(this._leftTreeRow["TreeNodeSearch"] + "")) this.treeLeft.pl_top.Visible = true;
this.treeLeft.TreeView.CheckBoxes = false;
this.treeLeft.TreeNodeKeyField = this._leftTreeRow["fieldsqlid"] + "";
diff --git a/插件库/Lskj.PubSpec2/FrmMain.cs b/插件库/Lskj.PubSpec2/FrmMain.cs
index d59c73b..4724211 100644
--- a/插件库/Lskj.PubSpec2/FrmMain.cs
+++ b/插件库/Lskj.PubSpec2/FrmMain.cs
@@ -86,15 +86,15 @@ namespace Lskj.PubSpec2
this.treeLeft.TreeInhibitSort = this.SysModel.TreeInhibitSort;
this.gcMain.GridView.OptionsBehavior.Editable = this.SysModel.ModifyEnable;
- if (BaseImpl.HasExistsTable("p_systemTreeNodeSetTab"))
- {
- DataRow treeNodedr = BaseImpl.TreeNodeSetTab(this.SysModel.MenuTable);
- string tabname = treeNodedr["treeTable"] + "";
- if (treeNodedr != null && BaseImpl.HasExistsColumn(tabname, "pid"))
- {
- SqlHelper.ExecuteNonQuery(String.Format("ALTER TABLE {0} DROP COLUMN orderid,pid", tabname));
- }
- }
+ //if (BaseImpl.HasExistsTable("p_systemTreeNodeSetTab"))
+ //{
+ // DataRow treeNodedr = BaseImpl.TreeNodeSetTab(this.SysModel.MenuTable);
+ // string tabname = treeNodedr["treeTable"] + "";
+ // if (treeNodedr != null && BaseImpl.HasExistsColumn(tabname, "pid"))
+ // {
+ // SqlHelper.ExecuteNonQuery(String.Format("ALTER TABLE {0} DROP COLUMN orderid,pid", tabname));
+ // }
+ //}
if (Model.HasReadPrivilege())
{
this.gcMain.GridView.OptionsBehavior.Editable = false;
@@ -176,14 +176,14 @@ namespace Lskj.PubSpec2
this.treeLeft.TreeNodeKeyField = this._leftTreeRow["fieldsqlid"] + "";
this.treeLeft.TreeNodeTextField = this._leftTreeRow["fieldsqlname"] + "";
this.treeLeft.TreeNodeSelectAfter += new TreeViewEventHandler(OnTreeNodeSelectAfter);
- if (BaseImpl.HasExistsTable("p_systemTreeNodeSetTab"))
- {
- DataRow treeNodedr = BaseImpl.TreeNodeSetTab(this.SysModel.MenuTable);
- if (treeNodedr != null)
- {
- specialId = treeNodedr["treeIdField"] + "";
- }
- }
+ //if (BaseImpl.HasExistsTable("p_systemTreeNodeSetTab"))
+ //{
+ // DataRow treeNodedr = BaseImpl.TreeNodeSetTab(this.SysModel.MenuTable);
+ // if (treeNodedr != null)
+ // {
+ // specialId = treeNodedr["treeIdField"] + "";
+ // }
+ //}
DataTable dt = BaseImpl.GetDataTableResult(fieldsql);
if (!string.IsNullOrEmpty(specialId) && dt.Columns.Contains("pid") && dt.Columns.Contains("orderid") && dt.Columns.Contains(specialId))
{
diff --git a/插件库/Lskj.PubUserTomodule/FrmMain.Designer.cs b/插件库/Lskj.PubUserTomodule/FrmMain.Designer.cs
index b2fac3f..129c25c 100644
--- a/插件库/Lskj.PubUserTomodule/FrmMain.Designer.cs
+++ b/插件库/Lskj.PubUserTomodule/FrmMain.Designer.cs
@@ -28,9 +28,10 @@
///
private void InitializeComponent()
{
- this.MenuStrip = new System.Windows.Forms.ContextMenuStrip();
+ this.components = new System.ComponentModel.Container();
+ this.MenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.btn_delete = new System.Windows.Forms.ToolStripMenuItem();
- this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip();
+ this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.复制权限ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.清空ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.splitContainerControl1 = new DevExpress.XtraEditors.SplitContainerControl();
@@ -238,7 +239,7 @@
this.splitContainerControl1.Panel1.Text = "Panel1";
this.splitContainerControl1.Panel2.Controls.Add(this.xtraTabControl2);
this.splitContainerControl1.Panel2.Text = "Panel2";
- this.splitContainerControl1.Size = new System.Drawing.Size(1284, 641);
+ this.splitContainerControl1.Size = new System.Drawing.Size(1605, 801);
this.splitContainerControl1.SplitterPosition = 340;
this.splitContainerControl1.TabIndex = 2;
this.splitContainerControl1.Text = "splitContainerControl1";
@@ -250,7 +251,7 @@
this.xtraTabControl1.Location = new System.Drawing.Point(0, 0);
this.xtraTabControl1.Name = "xtraTabControl1";
this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1;
- this.xtraTabControl1.Size = new System.Drawing.Size(340, 641);
+ this.xtraTabControl1.Size = new System.Drawing.Size(340, 801);
this.xtraTabControl1.TabIndex = 1;
this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.xtraTabPage1,
@@ -260,7 +261,7 @@
//
this.xtraTabPage1.Controls.Add(this.splitContainer1);
this.xtraTabPage1.Name = "xtraTabPage1";
- this.xtraTabPage1.Size = new System.Drawing.Size(334, 612);
+ this.xtraTabPage1.Size = new System.Drawing.Size(334, 772);
this.xtraTabPage1.Text = "角色";
//
// splitContainer1
@@ -278,8 +279,8 @@
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.RoleOwnerControl);
- this.splitContainer1.Size = new System.Drawing.Size(334, 612);
- this.splitContainer1.SplitterDistance = 288;
+ this.splitContainer1.Size = new System.Drawing.Size(334, 772);
+ this.splitContainer1.SplitterDistance = 363;
this.splitContainer1.SplitterWidth = 3;
this.splitContainer1.TabIndex = 3;
//
@@ -291,7 +292,7 @@
this.RoleControlEx.Margin = new System.Windows.Forms.Padding(4);
this.RoleControlEx.Name = "RoleControlEx";
this.RoleControlEx.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.RoleControlEx.Size = new System.Drawing.Size(334, 261);
+ this.RoleControlEx.Size = new System.Drawing.Size(334, 336);
this.RoleControlEx.SysModel = null;
this.RoleControlEx.TabIndex = 2;
//
@@ -302,7 +303,7 @@
this.panelControl1.Controls.Add(this.btn_deleteRole);
this.panelControl1.Controls.Add(this.btn_Add);
this.panelControl1.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panelControl1.Location = new System.Drawing.Point(0, 261);
+ this.panelControl1.Location = new System.Drawing.Point(0, 336);
this.panelControl1.Name = "panelControl1";
this.panelControl1.Size = new System.Drawing.Size(334, 27);
this.panelControl1.TabIndex = 3;
@@ -351,7 +352,7 @@
this.RoleOwnerControl.Margin = new System.Windows.Forms.Padding(4);
this.RoleOwnerControl.Name = "RoleOwnerControl";
this.RoleOwnerControl.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.RoleOwnerControl.Size = new System.Drawing.Size(334, 321);
+ this.RoleOwnerControl.Size = new System.Drawing.Size(334, 406);
this.RoleOwnerControl.SysModel = null;
this.RoleOwnerControl.TabIndex = 3;
//
@@ -380,7 +381,7 @@
this.xtraTabControl2.Location = new System.Drawing.Point(0, 0);
this.xtraTabControl2.Name = "xtraTabControl2";
this.xtraTabControl2.SelectedTabPage = this.xtraTabPage9;
- this.xtraTabControl2.Size = new System.Drawing.Size(939, 641);
+ this.xtraTabControl2.Size = new System.Drawing.Size(1260, 801);
this.xtraTabControl2.TabIndex = 4;
this.xtraTabControl2.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.xtraTabPage3,
@@ -396,7 +397,7 @@
//
this.xtraTabPage9.Controls.Add(this.splitMain);
this.xtraTabPage9.Name = "xtraTabPage9";
- this.xtraTabPage9.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage9.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage9.Text = "快捷通道设置";
//
// splitMain
@@ -408,7 +409,7 @@
this.splitMain.Panel1.Text = "Panel1";
this.splitMain.Panel2.Controls.Add(this.splitMain_Right);
this.splitMain.Panel2.Text = "Panel2";
- this.splitMain.Size = new System.Drawing.Size(933, 612);
+ this.splitMain.Size = new System.Drawing.Size(1254, 772);
this.splitMain.SplitterPosition = 268;
this.splitMain.TabIndex = 4;
this.splitMain.Text = "splitContainerControl1";
@@ -423,7 +424,7 @@
this.pl_left.Dock = System.Windows.Forms.DockStyle.Fill;
this.pl_left.Location = new System.Drawing.Point(0, 0);
this.pl_left.Name = "pl_left";
- this.pl_left.Size = new System.Drawing.Size(268, 612);
+ this.pl_left.Size = new System.Drawing.Size(268, 772);
this.pl_left.TabIndex = 2;
//
// pl_gridandtree_container
@@ -433,7 +434,7 @@
this.pl_gridandtree_container.Dock = System.Windows.Forms.DockStyle.Fill;
this.pl_gridandtree_container.Location = new System.Drawing.Point(0, 23);
this.pl_gridandtree_container.Name = "pl_gridandtree_container";
- this.pl_gridandtree_container.Size = new System.Drawing.Size(268, 589);
+ this.pl_gridandtree_container.Size = new System.Drawing.Size(268, 749);
this.pl_gridandtree_container.TabIndex = 10;
//
// gridLeft
@@ -445,7 +446,7 @@
this.gridLeft.Margin = new System.Windows.Forms.Padding(7);
this.gridLeft.Name = "gridLeft";
this.gridLeft.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.gridLeft.Size = new System.Drawing.Size(268, 589);
+ this.gridLeft.Size = new System.Drawing.Size(268, 749);
this.gridLeft.SysModel = null;
this.gridLeft.TabIndex = 7;
//
@@ -485,7 +486,7 @@
this.splitMain_Right.Panel2.Controls.Add(this.panelControl16);
this.splitMain_Right.Panel2.Controls.Add(this.panelControl17);
this.splitMain_Right.Panel2.Text = "Panel2";
- this.splitMain_Right.Size = new System.Drawing.Size(660, 612);
+ this.splitMain_Right.Size = new System.Drawing.Size(981, 772);
this.splitMain_Right.SplitterPosition = 233;
this.splitMain_Right.TabIndex = 4;
this.splitMain_Right.Text = "splitContainerControl1";
@@ -496,7 +497,7 @@
this.panelControl14.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl14.Location = new System.Drawing.Point(0, 0);
this.panelControl14.Name = "panelControl14";
- this.panelControl14.Size = new System.Drawing.Size(660, 195);
+ this.panelControl14.Size = new System.Drawing.Size(981, 195);
this.panelControl14.TabIndex = 25;
//
// AllQuickControlEx
@@ -507,7 +508,7 @@
this.AllQuickControlEx.Margin = new System.Windows.Forms.Padding(8);
this.AllQuickControlEx.Name = "AllQuickControlEx";
this.AllQuickControlEx.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.AllQuickControlEx.Size = new System.Drawing.Size(656, 191);
+ this.AllQuickControlEx.Size = new System.Drawing.Size(977, 191);
this.AllQuickControlEx.SysModel = null;
this.AllQuickControlEx.TabIndex = 5;
//
@@ -518,7 +519,7 @@
this.panelControl15.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panelControl15.Location = new System.Drawing.Point(0, 195);
this.panelControl15.Name = "panelControl15";
- this.panelControl15.Size = new System.Drawing.Size(660, 38);
+ this.panelControl15.Size = new System.Drawing.Size(981, 38);
this.panelControl15.TabIndex = 11;
//
// SettingReport
@@ -526,7 +527,7 @@
this.SettingReport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.SettingReport.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SettingReport.Appearance.Options.UseFont = true;
- this.SettingReport.Location = new System.Drawing.Point(522, 5);
+ this.SettingReport.Location = new System.Drawing.Point(843, 5);
this.SettingReport.Name = "SettingReport";
this.SettingReport.Size = new System.Drawing.Size(126, 28);
this.SettingReport.TabIndex = 25;
@@ -538,7 +539,7 @@
this.SettingOperation.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.SettingOperation.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SettingOperation.Appearance.Options.UseFont = true;
- this.SettingOperation.Location = new System.Drawing.Point(375, 5);
+ this.SettingOperation.Location = new System.Drawing.Point(696, 5);
this.SettingOperation.Name = "SettingOperation";
this.SettingOperation.Size = new System.Drawing.Size(126, 28);
this.SettingOperation.TabIndex = 24;
@@ -552,7 +553,7 @@
this.panelControl16.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl16.Location = new System.Drawing.Point(0, 0);
this.panelControl16.Name = "panelControl16";
- this.panelControl16.Size = new System.Drawing.Size(660, 340);
+ this.panelControl16.Size = new System.Drawing.Size(981, 500);
this.panelControl16.TabIndex = 27;
//
// groupBox2
@@ -561,7 +562,7 @@
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox2.Location = new System.Drawing.Point(319, 2);
this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(339, 336);
+ this.groupBox2.Size = new System.Drawing.Size(660, 496);
this.groupBox2.TabIndex = 3;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "快捷报表通道";
@@ -574,7 +575,7 @@
this.QuickReportFormControlEx.Margin = new System.Windows.Forms.Padding(6);
this.QuickReportFormControlEx.Name = "QuickReportFormControlEx";
this.QuickReportFormControlEx.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.QuickReportFormControlEx.Size = new System.Drawing.Size(333, 315);
+ this.QuickReportFormControlEx.Size = new System.Drawing.Size(654, 475);
this.QuickReportFormControlEx.SysModel = null;
this.QuickReportFormControlEx.TabIndex = 3;
//
@@ -584,7 +585,7 @@
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Left;
this.groupBox1.Location = new System.Drawing.Point(2, 2);
this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(317, 336);
+ this.groupBox1.Size = new System.Drawing.Size(317, 496);
this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "快捷操作通道";
@@ -597,7 +598,7 @@
this.QuickOperationControlEx.Margin = new System.Windows.Forms.Padding(7);
this.QuickOperationControlEx.Name = "QuickOperationControlEx";
this.QuickOperationControlEx.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.QuickOperationControlEx.Size = new System.Drawing.Size(311, 315);
+ this.QuickOperationControlEx.Size = new System.Drawing.Size(311, 475);
this.QuickOperationControlEx.SysModel = null;
this.QuickOperationControlEx.TabIndex = 4;
//
@@ -606,9 +607,9 @@
this.panelControl17.Controls.Add(this.SetRemovePermissions);
this.panelControl17.Controls.Add(this.btnOk);
this.panelControl17.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panelControl17.Location = new System.Drawing.Point(0, 340);
+ this.panelControl17.Location = new System.Drawing.Point(0, 500);
this.panelControl17.Name = "panelControl17";
- this.panelControl17.Size = new System.Drawing.Size(660, 34);
+ this.panelControl17.Size = new System.Drawing.Size(981, 34);
this.panelControl17.TabIndex = 8;
//
// SetRemovePermissions
@@ -616,7 +617,7 @@
this.SetRemovePermissions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.SetRemovePermissions.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SetRemovePermissions.Appearance.Options.UseFont = true;
- this.SetRemovePermissions.Location = new System.Drawing.Point(529, 4);
+ this.SetRemovePermissions.Location = new System.Drawing.Point(850, 4);
this.SetRemovePermissions.Name = "SetRemovePermissions";
this.SetRemovePermissions.Size = new System.Drawing.Size(126, 28);
this.SetRemovePermissions.TabIndex = 26;
@@ -628,7 +629,7 @@
this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnOk.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnOk.Appearance.Options.UseFont = true;
- this.btnOk.Location = new System.Drawing.Point(466, 4);
+ this.btnOk.Location = new System.Drawing.Point(787, 4);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(57, 28);
this.btnOk.TabIndex = 23;
@@ -639,7 +640,7 @@
//
this.xtraTabPage3.Controls.Add(this.scc_container);
this.xtraTabPage3.Name = "xtraTabPage3";
- this.xtraTabPage3.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage3.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage3.Text = "权限设置表";
//
// scc_container
@@ -656,7 +657,7 @@
this.scc_container.Panel2.Controls.Add(this.splitMain_LowerRight);
this.scc_container.Panel2.Text = "Panel2";
this.scc_container.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1;
- this.scc_container.Size = new System.Drawing.Size(933, 612);
+ this.scc_container.Size = new System.Drawing.Size(1254, 772);
this.scc_container.SplitterPosition = 246;
this.scc_container.TabIndex = 12;
this.scc_container.Text = "splitContainerControl1";
@@ -667,7 +668,7 @@
this.panelControl3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl3.Location = new System.Drawing.Point(0, 0);
this.panelControl3.Name = "panelControl3";
- this.panelControl3.Size = new System.Drawing.Size(929, 578);
+ this.panelControl3.Size = new System.Drawing.Size(1250, 738);
this.panelControl3.TabIndex = 2;
//
// ModulePermissionsControl
@@ -678,7 +679,7 @@
this.ModulePermissionsControl.Margin = new System.Windows.Forms.Padding(4);
this.ModulePermissionsControl.Name = "ModulePermissionsControl";
this.ModulePermissionsControl.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.ModulePermissionsControl.Size = new System.Drawing.Size(925, 574);
+ this.ModulePermissionsControl.Size = new System.Drawing.Size(1246, 734);
this.ModulePermissionsControl.SysModel = null;
this.ModulePermissionsControl.TabIndex = 4;
//
@@ -687,15 +688,15 @@
this.panelControl4.Controls.Add(this.btn_unfold);
this.panelControl4.Controls.Add(this.btn_save);
this.panelControl4.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panelControl4.Location = new System.Drawing.Point(0, 578);
+ this.panelControl4.Location = new System.Drawing.Point(0, 738);
this.panelControl4.Name = "panelControl4";
- this.panelControl4.Size = new System.Drawing.Size(929, 30);
+ this.panelControl4.Size = new System.Drawing.Size(1250, 30);
this.panelControl4.TabIndex = 1;
//
// btn_unfold
//
this.btn_unfold.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.btn_unfold.Location = new System.Drawing.Point(787, 6);
+ this.btn_unfold.Location = new System.Drawing.Point(1108, 6);
this.btn_unfold.Name = "btn_unfold";
this.btn_unfold.Size = new System.Drawing.Size(64, 20);
this.btn_unfold.TabIndex = 0;
@@ -704,7 +705,7 @@
// btn_save
//
this.btn_save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.btn_save.Location = new System.Drawing.Point(857, 6);
+ this.btn_save.Location = new System.Drawing.Point(1178, 6);
this.btn_save.Name = "btn_save";
this.btn_save.Size = new System.Drawing.Size(64, 20);
this.btn_save.TabIndex = 0;
@@ -727,7 +728,7 @@
//
this.xtraTabPage10.Controls.Add(this.gridControlEx1);
this.xtraTabPage10.Name = "xtraTabPage10";
- this.xtraTabPage10.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage10.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage10.Text = "添加人员";
//
// gridControlEx1
@@ -738,7 +739,7 @@
this.gridControlEx1.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
this.gridControlEx1.Name = "gridControlEx1";
this.gridControlEx1.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.gridControlEx1.Size = new System.Drawing.Size(933, 612);
+ this.gridControlEx1.Size = new System.Drawing.Size(1254, 772);
this.gridControlEx1.SysModel = null;
this.gridControlEx1.TabIndex = 1;
//
@@ -746,7 +747,7 @@
//
this.xtraTabPage11.Controls.Add(this.moduleAssociationRole);
this.xtraTabPage11.Name = "xtraTabPage11";
- this.xtraTabPage11.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage11.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage11.Text = "菜单功能明细";
//
// moduleAssociationRole
@@ -754,14 +755,14 @@
this.moduleAssociationRole.Dock = System.Windows.Forms.DockStyle.Fill;
this.moduleAssociationRole.Location = new System.Drawing.Point(0, 0);
this.moduleAssociationRole.Name = "moduleAssociationRole";
- this.moduleAssociationRole.Size = new System.Drawing.Size(933, 612);
+ this.moduleAssociationRole.Size = new System.Drawing.Size(1254, 772);
this.moduleAssociationRole.TabIndex = 0;
//
// xtraTabPage12
//
this.xtraTabPage12.Controls.Add(this.personnelInformation);
this.xtraTabPage12.Name = "xtraTabPage12";
- this.xtraTabPage12.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage12.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage12.Text = "人员权限信息";
//
// personnelInformation
@@ -769,14 +770,14 @@
this.personnelInformation.Dock = System.Windows.Forms.DockStyle.Fill;
this.personnelInformation.Location = new System.Drawing.Point(0, 0);
this.personnelInformation.Name = "personnelInformation";
- this.personnelInformation.Size = new System.Drawing.Size(933, 612);
+ this.personnelInformation.Size = new System.Drawing.Size(1254, 772);
this.personnelInformation.TabIndex = 0;
//
// xtraTabPage8
//
this.xtraTabPage8.Controls.Add(this.panelControl6);
this.xtraTabPage8.Name = "xtraTabPage8";
- this.xtraTabPage8.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage8.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage8.Text = "员工日志记录";
//
// panelControl6
@@ -786,7 +787,7 @@
this.panelControl6.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl6.Location = new System.Drawing.Point(0, 0);
this.panelControl6.Name = "panelControl6";
- this.panelControl6.Size = new System.Drawing.Size(933, 612);
+ this.panelControl6.Size = new System.Drawing.Size(1254, 772);
this.panelControl6.TabIndex = 4;
//
// panelControl7
@@ -796,7 +797,7 @@
this.panelControl7.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl7.Location = new System.Drawing.Point(2, 2);
this.panelControl7.Name = "panelControl7";
- this.panelControl7.Size = new System.Drawing.Size(929, 578);
+ this.panelControl7.Size = new System.Drawing.Size(1250, 738);
this.panelControl7.TabIndex = 5;
//
// panelControl11
@@ -807,7 +808,7 @@
this.panelControl11.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl11.Location = new System.Drawing.Point(2, 46);
this.panelControl11.Name = "panelControl11";
- this.panelControl11.Size = new System.Drawing.Size(925, 530);
+ this.panelControl11.Size = new System.Drawing.Size(1246, 690);
this.panelControl11.TabIndex = 4;
//
// LogControl
@@ -818,7 +819,7 @@
this.LogControl.Margin = new System.Windows.Forms.Padding(5);
this.LogControl.Name = "LogControl";
this.LogControl.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.LogControl.Size = new System.Drawing.Size(921, 526);
+ this.LogControl.Size = new System.Drawing.Size(1242, 686);
this.LogControl.SysModel = null;
this.LogControl.TabIndex = 2;
//
@@ -834,7 +835,7 @@
this.panelControl9.Dock = System.Windows.Forms.DockStyle.Top;
this.panelControl9.Location = new System.Drawing.Point(2, 2);
this.panelControl9.Name = "panelControl9";
- this.panelControl9.Size = new System.Drawing.Size(925, 44);
+ this.panelControl9.Size = new System.Drawing.Size(1246, 44);
this.panelControl9.TabIndex = 3;
//
// btn_query
@@ -903,15 +904,15 @@
//
this.panelControl5.Controls.Add(this.btn_export);
this.panelControl5.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panelControl5.Location = new System.Drawing.Point(2, 580);
+ this.panelControl5.Location = new System.Drawing.Point(2, 740);
this.panelControl5.Name = "panelControl5";
- this.panelControl5.Size = new System.Drawing.Size(929, 30);
+ this.panelControl5.Size = new System.Drawing.Size(1250, 30);
this.panelControl5.TabIndex = 4;
//
// btn_export
//
this.btn_export.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.btn_export.Location = new System.Drawing.Point(860, 5);
+ this.btn_export.Location = new System.Drawing.Point(1181, 5);
this.btn_export.Name = "btn_export";
this.btn_export.Size = new System.Drawing.Size(64, 20);
this.btn_export.TabIndex = 1;
@@ -921,7 +922,7 @@
//
this.xtraTabPage4.Controls.Add(this.panelControl8);
this.xtraTabPage4.Name = "xtraTabPage4";
- this.xtraTabPage4.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage4.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage4.Text = "审核权限";
//
// panelControl8
@@ -934,7 +935,7 @@
this.panelControl8.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl8.Location = new System.Drawing.Point(0, 0);
this.panelControl8.Name = "panelControl8";
- this.panelControl8.Size = new System.Drawing.Size(933, 612);
+ this.panelControl8.Size = new System.Drawing.Size(1254, 772);
this.panelControl8.TabIndex = 4;
//
// panelControl13
@@ -947,7 +948,7 @@
this.panelControl13.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl13.Location = new System.Drawing.Point(0, 111);
this.panelControl13.Name = "panelControl13";
- this.panelControl13.Size = new System.Drawing.Size(933, 501);
+ this.panelControl13.Size = new System.Drawing.Size(1254, 661);
this.panelControl13.TabIndex = 6;
//
// panel1
@@ -957,7 +958,7 @@
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(188, 0);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(745, 501);
+ this.panel1.Size = new System.Drawing.Size(1066, 661);
this.panel1.TabIndex = 14;
//
// frmWork1
@@ -967,7 +968,7 @@
this.frmWork1.Location = new System.Drawing.Point(0, 0);
this.frmWork1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.frmWork1.Name = "frmWork1";
- this.frmWork1.Size = new System.Drawing.Size(745, 501);
+ this.frmWork1.Size = new System.Drawing.Size(1066, 661);
this.frmWork1.TabIndex = 0;
//
// panelControl10
@@ -980,7 +981,7 @@
this.panelControl10.Dock = System.Windows.Forms.DockStyle.Left;
this.panelControl10.Location = new System.Drawing.Point(0, 0);
this.panelControl10.Name = "panelControl10";
- this.panelControl10.Size = new System.Drawing.Size(188, 501);
+ this.panelControl10.Size = new System.Drawing.Size(188, 661);
this.panelControl10.TabIndex = 13;
//
// panelControl19
@@ -992,7 +993,7 @@
this.panelControl19.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl19.Location = new System.Drawing.Point(0, 40);
this.panelControl19.Name = "panelControl19";
- this.panelControl19.Size = new System.Drawing.Size(188, 461);
+ this.panelControl19.Size = new System.Drawing.Size(188, 621);
this.panelControl19.TabIndex = 13;
//
// moduleControl
@@ -1003,7 +1004,7 @@
this.moduleControl.Margin = new System.Windows.Forms.Padding(6, 10, 6, 10);
this.moduleControl.Name = "moduleControl";
this.moduleControl.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
- this.moduleControl.Size = new System.Drawing.Size(188, 461);
+ this.moduleControl.Size = new System.Drawing.Size(188, 621);
this.moduleControl.SysModel = null;
this.moduleControl.TabIndex = 3;
//
@@ -1085,14 +1086,14 @@
this.panelControl12.Dock = System.Windows.Forms.DockStyle.Top;
this.panelControl12.Location = new System.Drawing.Point(0, 0);
this.panelControl12.Name = "panelControl12";
- this.panelControl12.Size = new System.Drawing.Size(933, 111);
+ this.panelControl12.Size = new System.Drawing.Size(1254, 111);
this.panelControl12.TabIndex = 5;
//
// xtraTabPage13
//
this.xtraTabPage13.Controls.Add(this.permissionSettings1);
this.xtraTabPage13.Name = "xtraTabPage13";
- this.xtraTabPage13.Size = new System.Drawing.Size(933, 612);
+ this.xtraTabPage13.Size = new System.Drawing.Size(1254, 772);
this.xtraTabPage13.Text = "模块元素权限";
//
// permissionSettings1
@@ -1100,7 +1101,7 @@
this.permissionSettings1.Dock = System.Windows.Forms.DockStyle.Fill;
this.permissionSettings1.Location = new System.Drawing.Point(0, 0);
this.permissionSettings1.Name = "permissionSettings1";
- this.permissionSettings1.Size = new System.Drawing.Size(933, 612);
+ this.permissionSettings1.Size = new System.Drawing.Size(1254, 772);
this.permissionSettings1.TabIndex = 0;
//
// FrmMain
diff --git a/插件库/Lskj.PubUserTomodule/FrmShortcutSettings.Designer.cs b/插件库/Lskj.PubUserTomodule/FrmShortcutSettings.Designer.cs
index d38eea6..a93befb 100644
--- a/插件库/Lskj.PubUserTomodule/FrmShortcutSettings.Designer.cs
+++ b/插件库/Lskj.PubUserTomodule/FrmShortcutSettings.Designer.cs
@@ -133,6 +133,7 @@ namespace Lskj.PubUserTomodule
this.gridLeft.Name = "gridLeft";
this.gridLeft.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
this.gridLeft.Size = new System.Drawing.Size(268, 554);
+ this.gridLeft.SysModel = null;
this.gridLeft.TabIndex = 7;
//
// pl_left_top
@@ -194,6 +195,7 @@ namespace Lskj.PubUserTomodule
this.AllQuickControlEx.Name = "AllQuickControlEx";
this.AllQuickControlEx.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
this.AllQuickControlEx.Size = new System.Drawing.Size(814, 191);
+ this.AllQuickControlEx.SysModel = null;
this.AllQuickControlEx.TabIndex = 5;
//
// panelControl2
@@ -260,6 +262,7 @@ namespace Lskj.PubUserTomodule
this.QuickReportFormControlEx.Name = "QuickReportFormControlEx";
this.QuickReportFormControlEx.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
this.QuickReportFormControlEx.Size = new System.Drawing.Size(398, 280);
+ this.QuickReportFormControlEx.SysModel = null;
this.QuickReportFormControlEx.TabIndex = 3;
//
// groupBox1
@@ -282,6 +285,7 @@ namespace Lskj.PubUserTomodule
this.QuickOperationControlEx.Name = "QuickOperationControlEx";
this.QuickOperationControlEx.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
this.QuickOperationControlEx.Size = new System.Drawing.Size(404, 280);
+ this.QuickOperationControlEx.SysModel = null;
this.QuickOperationControlEx.TabIndex = 4;
//
// panelControl1
diff --git a/插件库/Lskj.PubUserTomodule/PermissionSettings.cs b/插件库/Lskj.PubUserTomodule/PermissionSettings.cs
index 6d143d3..c08ecf5 100644
--- a/插件库/Lskj.PubUserTomodule/PermissionSettings.cs
+++ b/插件库/Lskj.PubUserTomodule/PermissionSettings.cs
@@ -469,6 +469,8 @@ namespace Lskj.PubUserTomodule
this.MainTableElement.ContextMenuStrip = null;
this.BillDetail.ContextMenuStrip = null;
+ this.MainTableElement.gridControl.ContextMenuStrip = null;
+ this.BillDetail.gridControl.ContextMenuStrip = null;
//选中模块中的元素信息
if (modelRow != null)
{
@@ -478,7 +480,7 @@ namespace Lskj.PubUserTomodule
this.SetElementTableColumns(this.MainTableElement);
this.MainTableElement.gridControl.DataSource = PowerImpl.GetBasisData(dllcode);
this.MainTableElement.GridView.BestFitColumns();//设置根据内容填充列宽
- this.MainTableElement.ContextMenuStrip = contextMenuStrip;
+ this.MainTableElement.gridControl.ContextMenuStrip = contextMenuStrip;
this.MainTableElement.GridView.CellValueChanged -= GridView_CellValueChanged;
this.MainTableElement.GridView.CellValueChanged += GridView_CellValueChanged;
@@ -501,7 +503,7 @@ namespace Lskj.PubUserTomodule
controlEx.gridControl.DataSource = PowerImpl.GetBasisData(item.UnionModule);
controlEx.GridView.BestFitColumns();//设置根据内容填充列宽
controlEx.GridView.CellValueChanged += GridView_CellValueChanged;
- controlEx.ContextMenuStrip = contextMenuStrip;
+ controlEx.gridControl.ContextMenuStrip = contextMenuStrip;
page.Tag = item.UnionModule;
page.Controls.Add(controlEx);
this.xtc_container.TabPages.Add(page);
@@ -521,7 +523,7 @@ namespace Lskj.PubUserTomodule
//contextMenuStrip.Items.Clear();
//contextMenuStrip.Items.Add(menuItem1Edit);
- controlEx.ContextMenuStrip = contextMenuStripEditingMethod;
+ controlEx.gridControl.ContextMenuStrip = contextMenuStripEditingMethod;
page.Tag = dllcode;
page.Controls.Add(controlEx);
@@ -547,7 +549,7 @@ namespace Lskj.PubUserTomodule
this.SetElementTableColumns(this.BillDetail);
this.BillDetail.gridControl.DataSource = PowerImpl.GetBillDetailData(dllcode);
this.BillDetail.GridView.BestFitColumns();//设置根据内容填充列宽
- this.BillDetail.ContextMenuStrip = contextMenuStrip;
+ this.BillDetail.gridControl.ContextMenuStrip = contextMenuStrip;
this.BillDetail.GridView.CellValueChanged -= GridView_CellValueChanged;
this.BillDetail.GridView.CellValueChanged += GridView_CellValueChanged;
}
diff --git a/插件库/Lskj.PubUserTomodule/PersonnelInformation.Designer.cs b/插件库/Lskj.PubUserTomodule/PersonnelInformation.Designer.cs
index 3f85ab9..c986e54 100644
--- a/插件库/Lskj.PubUserTomodule/PersonnelInformation.Designer.cs
+++ b/插件库/Lskj.PubUserTomodule/PersonnelInformation.Designer.cs
@@ -88,7 +88,7 @@ namespace Lskj.PubUserTomodule
// personnelControlEx
//
this.personnelControlEx.AdapterObj = null;
- this.personnelControlEx.ContextMenuStrip = this.MenuStrip;
+ this.personnelControlEx.GridControl.ContextMenuStrip = this.MenuStrip;
this.personnelControlEx.Dock = System.Windows.Forms.DockStyle.Fill;
this.personnelControlEx.Location = new System.Drawing.Point(0, 0);
this.personnelControlEx.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);