公共变量编辑限制

This commit is contained in:
hsc
2026-07-29 10:31:10 +08:00
parent 12de1b61e0
commit 388edd1ada
3 changed files with 20 additions and 6 deletions

View File

@@ -93,7 +93,20 @@ namespace TestingModule.ViewModels.Dialogs
var index = Program.Parameters var index = Program.Parameters
.Select((x, i) => new { x, i }) .Select((x, i) => new { x, i })
.FirstOrDefault(p => p.x.ID == _ScopedContext.SelectedParameter.ID)?.i; .FirstOrDefault(p => p.x.ID == _ScopedContext.SelectedParameter.ID)?.i;
if (!_ScopedContext.SelectedParameter.IsEditable)
{
//公共变量只允许更改ParameterCategory为Input,Temp
if (Program.Parameters[index.Value].Value != Parameter.Value
|| Program.Parameters[index.Value].UpperLimit != Parameter.UpperLimit
|| Program.Parameters[index.Value].LowerLimit != Parameter.LowerLimit
|| Program.Parameters[index.Value].Name != Parameter.Name
|| Parameter.Category == ParameterCategory.Output
|| Program.Parameters[index.Value].Type != Parameter.Type)
{
RequestClose.Invoke(ButtonResult.Yes);
return;
}
}
if (index.HasValue) if (index.HasValue)
{ {
Program.Parameters[index.Value] = Parameter; Program.Parameters[index.Value] = Parameter;

View File

@@ -190,13 +190,13 @@ namespace TestingModule.ViewModels
private void ParameterDelete() private void ParameterDelete()
{ {
if (!_globalInfo.IsAdmin) return; if (!_globalInfo.IsAdmin || !SelectedParameter.IsEditable) return;
Program.Parameters.Remove(SelectedParameter); Program.Parameters.Remove(SelectedParameter);
} }
private void ParameterEdit() private void ParameterEdit()
{ {
if (!_globalInfo.IsAdmin||!SelectedParameter.IsEditable) return; if (!_globalInfo.IsAdmin) return;
var param = new DialogParameters var param = new DialogParameters
{ {
{ "Mode",SelectedParameter==null?"ADD":"Edit" }, { "Mode",SelectedParameter==null?"ADD":"Edit" },
@@ -207,10 +207,11 @@ namespace TestingModule.ViewModels
if (r.Result == ButtonResult.OK) if (r.Result == ButtonResult.OK)
{ {
_eventAggregator.GetEvent<ParamsChangedEvent>().Publish(); _eventAggregator.GetEvent<ParamsChangedEvent>().Publish();
ShowInfoMessageBox("保存成功", () => { });
} }
else else if (r.Result == ButtonResult.Yes)
{ {
ShowErrorMessageBox("公共变量只能设置变量类型Input,Temp", ()=>{ });
} }
}); });

View File

@@ -44,7 +44,7 @@ namespace UIShare.ViewModelBase
var dialogParams = new DialogParameters(); var dialogParams = new DialogParameters();
dialogParams.Add("Title", "错误"); dialogParams.Add("Title", "错误");
dialogParams.Add("Message", Message); dialogParams.Add("Message", Message);
dialogParams.Add("Icon", "info"); dialogParams.Add("Icon", "error");
dialogParams.Add("ShowOk", true); dialogParams.Add("ShowOk", true);
_dialogService.ShowDialog("MessageBox", dialogParams, result => _dialogService.ShowDialog("MessageBox", dialogParams, result =>
{ {