提交单据管理和修改密码功能

This commit is contained in:
cyf
2026-07-28 10:16:51 +08:00
parent e4b40a32d7
commit b893e8d8e4
75 changed files with 16227 additions and 309 deletions
+1 -1
View File
@@ -204,7 +204,7 @@ namespace Lskj.Control.Model
/// <value>The enable cond.</value>
public string RequiredCond { get; set; }
/// <summary>
/// 可以方式
/// 禁用方式(默认禁编,设置为1就禁显)
/// </summary>
/// <value>The type of the enable.</value>
public string DisableType { get; set; }
+6 -3
View File
@@ -2801,7 +2801,9 @@ namespace Lskj.Control.Model
GridColumnModel model = col.Tag as GridColumnModel;
if (cell != null)
{
if (cell.CellType == CellType.Blank)
// DevExpress导出的xlsx空值可能是内容为空的String单元格,也应按空单元格处理。
if (cell.CellType == CellType.Blank ||
(cell.CellType == CellType.String && string.IsNullOrEmpty(cell.StringCellValue)))
{
//isImportRows = false;
continue;
@@ -3564,7 +3566,8 @@ namespace Lskj.Control.Model
{
string field = fields[i];
string value = rowResult.Table.Columns.Contains(field) ? rowResult[field] + "" : null;
rowItem[field] = value;
if(rowItem.Table.Columns.Contains(field)) rowItem[field] = value;
}
}
else
@@ -3573,7 +3576,7 @@ namespace Lskj.Control.Model
for (int i = 0; i < fields.Length; i++)
{
string field = fields[i];
rowItem[field] = DBNull.Value;
if (rowItem.Table.Columns.Contains(field)) rowItem[field] = DBNull.Value;
}
}
}
@@ -173,6 +173,11 @@ namespace Lskj.Control.Model
cmsMenu.Items.Add(menuItem);
RightMenuItems.Add(menuItem);
}
if (menuModel.FontSize != 0)
{
menuItem.Font = new Font(menuItem.Font.FontFamily, menuModel.FontSize);
}
}
if (!string.IsNullOrWhiteSpace(menuModel.ExecuteFirstCode))
{
@@ -304,7 +309,7 @@ namespace Lskj.Control.Model
return;
}
if (model.VerifyUpdate && BaseGridView!=null)
if (model.VerifyUpdate && BaseGridView != null)
{
for (int i = 0; i < BaseGridView.DataRowCount; i++)
{
@@ -502,7 +507,7 @@ namespace Lskj.Control.Model
{
tipOnlyOne = false;
string prompt = ReplaceHelper.ReplaceRowParam(rowData, model.BeforeMsg);
if (model.Mergeexec)
if (model.Mergeexec)
{
//替换[],替换的是多选行中的数据
prompt = ReplaceHelper.ReplaceRowParam(rows, prompt.Replace("[", "{").Replace("]", "}"), "", "");
@@ -977,7 +982,7 @@ namespace Lskj.Control.Model
case -1:
if (rValue == -1)
{
if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
{
SqlStoredProcedurepPrompt.GenerateProcedureExecutionScript(procName, paramList, isFirstFlag, comfirmFlag);
}
@@ -1811,7 +1816,7 @@ namespace Lskj.Control.Model
paramList[2] = ReplaceHelper.ReplaceRowParam(rows, url) + "";
}
}
if (model.DllName.ToLower().Contains("p_PubPrint.lsp".ToLower())&& !model.CancelDefaultReplace)
if (model.DllName.ToLower().Contains("p_PubPrint.lsp".ToLower()) && !model.CancelDefaultReplace)
{
string paramsql1 = paramList[2];
paramList[2] = ReplaceHelper.ReplaceRowParam(rows, paramsql1, "'", "'");
@@ -346,6 +346,10 @@ namespace Lskj.Control.Model
/// 右键多选合并不走默认替换(p_PubPrint.lsp
/// </summary>
public bool CancelDefaultReplace;
/// <summary>
/// 右键字体大小
/// </summary>
public int FontSize;
/// <summary>
@@ -485,6 +489,8 @@ namespace Lskj.Control.Model
this.VerifyUpdate = string.IsNullOrWhiteSpace(item["VerifyUpdate"] + "") ? false : "1".Equals(item["VerifyUpdate"] + "");
if (item.Table.Columns.Contains("CancelDefaultReplace"))
this.CancelDefaultReplace = string.IsNullOrWhiteSpace(item["CancelDefaultReplace"] + "") ? false : "1".Equals(item["CancelDefaultReplace"] + "");
this.FontSize = item.Table.Columns.Contains("FontSize") && !string.IsNullOrEmpty(item["FontSize"] + "") ? Convert.ToInt32(item["FontSize"] + "") : 0;
}
/// <summary>
+49 -9
View File
@@ -27,7 +27,43 @@ namespace Lskj.Control
public sealed class MessageUtil
{
public static string Prompt = string.IsNullOrWhiteSpace(SystemInfo.Instance.DeadlockPrompt) ? "网络连接超时,请稍候再试!" : SystemInfo.Instance.DeadlockPrompt;
public static string Prompt = "网络连接超时,请稍候再试!";
/// <summary>
/// 系统配置尚未初始化时不主动访问数据库,读取失败则使用默认死锁提示。
/// </summary>
private static bool TryGetDeadlockPrompt(string message, out string deadlockPrompt)
{
deadlockPrompt = message;
if (string.IsNullOrEmpty(message) || !message.Contains("与另一个进程被死锁在"))
{
return false;
}
bool promptDeadlock = false;
string configuredPrompt = string.Empty;
try
{
SystemInfo systemInfo = SystemInfo.Instance;
if (systemInfo != null)
{
promptDeadlock = systemInfo.PromptDeadlock;
configuredPrompt = systemInfo.DeadlockPrompt;
}
}
catch
{
// 数据库连接失败或系统参数尚未初始化时,提示框仍使用安全默认值。
}
if (promptDeadlock)
{
return false;
}
deadlockPrompt = string.IsNullOrWhiteSpace(configuredPrompt) ? Prompt : configuredPrompt;
return true;
}
/// <summary>
@@ -54,8 +90,9 @@ namespace Lskj.Control
}
}
if (!string.IsNullOrEmpty(msg) && msg.Contains("与另一个进程被死锁在")&& !SystemInfo.Instance.PromptDeadlock)
msg = Prompt;
string deadlockPrompt;
if (TryGetDeadlockPrompt(msg, out deadlockPrompt))
msg = deadlockPrompt;
if (Business.Impl.LanguageTranslation.Translatable)
{
msg = Business.Impl.LanguageTranslation.GetTranslatedText(msg);
@@ -89,9 +126,10 @@ namespace Lskj.Control
}
}
if (!string.IsNullOrEmpty(errorMessage) && errorMessage.Contains("与另一个进程被死锁在") && !SystemInfo.Instance.PromptDeadlock)
string deadlockPrompt;
if (TryGetDeadlockPrompt(errorMessage, out deadlockPrompt))
{
errorMessage = Prompt;
errorMessage = deadlockPrompt;
if (Business.Impl.LanguageTranslation.Translatable)
{
errorMessage = Business.Impl.LanguageTranslation.GetTranslatedText(errorMessage);
@@ -165,8 +203,9 @@ namespace Lskj.Control
if (Debugger.IsAttached)
{
string msg = ex == null ? ResourceKeys.UnKownErrorTip : ex.StackTrace;
if (!string.IsNullOrEmpty(msg) && msg.Contains("与另一个进程被死锁在") && !SystemInfo.Instance.PromptDeadlock)
msg = Prompt;
string deadlockPrompt;
if (TryGetDeadlockPrompt(msg, out deadlockPrompt))
msg = deadlockPrompt;
if (Business.Impl.LanguageTranslation.Translatable)
{
msg = Business.Impl.LanguageTranslation.GetTranslatedText(msg);
@@ -176,8 +215,9 @@ namespace Lskj.Control
else
{
string msg = ex == null ? ResourceKeys.UnKownErrorTip : ex.Message; //ResourceKeys.SystemErrorTip + "\r\n" + ex.Message + "\r\n" + ex.StackTrace;
if (!string.IsNullOrEmpty(msg) && msg.Contains("与另一个进程被死锁在") && !SystemInfo.Instance.PromptDeadlock)
msg = Prompt;
string deadlockPrompt;
if (TryGetDeadlockPrompt(msg, out deadlockPrompt))
msg = deadlockPrompt;
if (Business.Impl.LanguageTranslation.Translatable)
{
msg = Business.Impl.LanguageTranslation.GetTranslatedText(msg);
@@ -4615,6 +4615,7 @@ namespace Lskj.Control.Model
multiAutoEdit.ValueField = model.ValueMember;
multiAutoEdit.TextField = model.TextMember;
multiAutoEdit.ControlObj = this;
multiAutoEdit.CurrentOperColumnKey= Model.ModuleCode + "_" + model.FieldName;
//multiAutoEdit.SetDataSource(dataSource);
multiAutoEdit.TextBoxProhibition = model.TextBoxProhibition;
multiAutoEdit.TextEdit.KeyDown += new KeyEventHandler(OnTextEditKeyDown);