
# Conflicts: # newFront/c#前端/SWS.CAD/Commands.cs # newFront/c#前端/SWS.Electrical/obj/Debug/Views/DialogTest2.g.i.cs # newFront/c#前端/SWS.Electrical/obj/Debug/Views/SWSDialogWindow.g.cs # newFront/c#前端/SWS.Electrical/obj/Debug/Views/SWSDialogWindow.g.i.cs # newFront/c#前端/SWS.WPF/obj/Debug/Views/CustomDialogWindow.g.cs # newFront/c#前端/SWS.WPF/obj/Debug/Views/CustomDialogWindow.g.i.cs
701 lines
25 KiB
C#
701 lines
25 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Collections.ObjectModel;
|
||
using System.Linq;
|
||
using System.Windows;
|
||
using System.Windows.Input;
|
||
using Telerik.Windows.Controls;
|
||
using Unity;
|
||
using System.Windows.Media;
|
||
using Prism.Ioc;
|
||
using SWS.CAD.CADFunc;
|
||
using SWS.CAD.Views;
|
||
using Prism.Events;
|
||
using SWS.CAD.Event;
|
||
using Prism.Services.Dialogs;
|
||
using SWS.Commons;
|
||
using SWS.Model;
|
||
using SWS.WPF.ViewModels;
|
||
using SWS.Service;
|
||
using SWS.CAD.Base;
|
||
|
||
namespace SWS.CAD.ViewModels
|
||
{
|
||
public class DialogNewComponentViewModel : DialogBase, IDialogAware
|
||
{
|
||
#region 字段
|
||
private ObservableCollection<Model.TreeModel> _TreeNodes;
|
||
/// <summary>
|
||
/// 左侧树形结构数据源
|
||
/// </summary>
|
||
public ObservableCollection<Model.TreeModel> TreeNodes
|
||
{
|
||
get { return _TreeNodes; }
|
||
set
|
||
{
|
||
_TreeNodes = value;
|
||
RaisePropertyChanged(nameof(TreeNodes));
|
||
}
|
||
}
|
||
|
||
private Model.TreeModel _SelectedTreeNode;
|
||
/// <summary>
|
||
/// 当前选中的树形节点
|
||
/// </summary>
|
||
public Model.TreeModel SelectedTreeNode
|
||
{
|
||
get { return _SelectedTreeNode; }
|
||
set
|
||
{
|
||
_SelectedTreeNode = value;
|
||
|
||
RaisePropertyChanged(nameof(SelectedTreeNode));
|
||
UpdateChannelInfos();
|
||
}
|
||
}
|
||
|
||
private ObservableCollection<propertyModel> _listShowProperty;
|
||
/// <summary>
|
||
/// 显示属性列表
|
||
/// </summary>
|
||
public ObservableCollection<propertyModel> listShowProperty
|
||
{
|
||
get { return _listShowProperty; }
|
||
set
|
||
{
|
||
_listShowProperty = value;
|
||
RaisePropertyChanged(nameof(listShowProperty));
|
||
}
|
||
}
|
||
private ObservableCollection<PropertyObjectModel> _listObjects;
|
||
/// <summary>
|
||
/// 属性列表
|
||
/// </summary>
|
||
public ObservableCollection<PropertyObjectModel> listObjects
|
||
{
|
||
get { return _listObjects; }
|
||
set
|
||
{
|
||
_listObjects = value;
|
||
RaisePropertyChanged(nameof(listObjects));
|
||
}
|
||
}
|
||
|
||
private PropertyObjectModel _SelectObject;
|
||
/// <summary>
|
||
/// 选中属性
|
||
/// </summary>
|
||
public PropertyObjectModel SelectObject
|
||
{
|
||
get { return _SelectObject; }
|
||
set
|
||
{
|
||
_SelectObject = value;
|
||
RaisePropertyChanged(nameof(SelectObject));
|
||
changeProObj(value);
|
||
}
|
||
}
|
||
private bool _isEnabledLock = false;
|
||
/// <summary>
|
||
/// 属性锁、查看属性历史 功能是否启用
|
||
/// </summary>
|
||
public bool isEnabledLock
|
||
{
|
||
get { return _isEnabledLock; }
|
||
set
|
||
{
|
||
_isEnabledLock = value;
|
||
RaisePropertyChanged(nameof(isEnabledLock));
|
||
}
|
||
}
|
||
private bool _isEnabledHistory = false;
|
||
/// <summary>
|
||
/// 查看属性历史 功能是否启用
|
||
/// </summary>
|
||
public bool isEnabledHistory
|
||
{
|
||
get { return _isEnabledHistory; }
|
||
set
|
||
{
|
||
_isEnabledHistory = value;
|
||
RaisePropertyChanged(nameof(isEnabledHistory));
|
||
}
|
||
}
|
||
private ImageSource _lockImage;
|
||
/// <summary>
|
||
/// 属性锁
|
||
/// </summary>
|
||
public ImageSource lockImage
|
||
{
|
||
get
|
||
{
|
||
return _lockImage;
|
||
}
|
||
set { _lockImage = value; RaisePropertyChanged(nameof(lockImage)); }
|
||
}
|
||
private ImageSource _lock2Image;
|
||
/// <summary>
|
||
/// 属性锁 Enable为false时灰色
|
||
/// </summary>
|
||
public ImageSource lock2Image
|
||
{
|
||
get
|
||
{
|
||
return _lock2Image;
|
||
}
|
||
set { _lock2Image = value; RaisePropertyChanged(nameof(lock2Image)); }
|
||
}
|
||
private ImageSource _historyImage;
|
||
/// <summary>
|
||
/// 历史属性
|
||
/// </summary>
|
||
public ImageSource historyImage
|
||
{
|
||
get
|
||
{
|
||
return _historyImage;
|
||
}
|
||
set { _historyImage = value; RaisePropertyChanged(nameof(historyImage)); }
|
||
}
|
||
private ImageSource _history2Image;
|
||
/// <summary>
|
||
/// 历史属性 Enable为false时灰色
|
||
/// </summary>
|
||
public ImageSource history2Image
|
||
{
|
||
get
|
||
{
|
||
return _history2Image;
|
||
}
|
||
set { _history2Image = value; RaisePropertyChanged(nameof(history2Image)); }
|
||
}
|
||
private ImageSource _qiehuanImage;
|
||
/// <summary>
|
||
/// 切换属性视图
|
||
/// </summary>
|
||
public ImageSource qiehuanImage
|
||
{
|
||
get
|
||
{
|
||
return _qiehuanImage;
|
||
}
|
||
set { _qiehuanImage = value; RaisePropertyChanged(nameof(qiehuanImage)); }
|
||
}
|
||
private string _lockTooltip = "属性未锁定";
|
||
/// <summary>
|
||
/// 属性锁提示文本
|
||
/// </summary>
|
||
public string lockTooltip
|
||
{
|
||
get { return _lockTooltip; }
|
||
set
|
||
{
|
||
_lockTooltip = value;
|
||
RaisePropertyChanged(nameof(lockTooltip));
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 下拉框选择不一样的元件类型
|
||
/// </summary>
|
||
private void changeProObj(PropertyObjectModel proObj)
|
||
{
|
||
if (proObj != null)
|
||
{
|
||
listShowProperty = proObj.listBasicTypeP;
|
||
}
|
||
}
|
||
private bool _isBasicGroup = true;
|
||
/// <summary>
|
||
/// 是否属性常用分组
|
||
/// </summary>
|
||
public bool isBasicGroup
|
||
{
|
||
get { return _isBasicGroup; }
|
||
set
|
||
{
|
||
_isBasicGroup = value;
|
||
RaisePropertyChanged(nameof(isBasicGroup));
|
||
}
|
||
}
|
||
private bool _isLocked;
|
||
/// <summary>
|
||
/// 是否锁定属性
|
||
/// </summary>
|
||
public bool isLocked
|
||
{
|
||
get { return _isLocked; }
|
||
set
|
||
{
|
||
isEnabledGridProterty = !value;
|
||
isEnabledHistory = !value;
|
||
_isLocked = value;
|
||
RaisePropertyChanged(nameof(isLocked));
|
||
}
|
||
}
|
||
private bool _isEnabledGridProterty = true;
|
||
/// <summary>
|
||
/// Grid是否启用
|
||
/// </summary>
|
||
public bool isEnabledGridProterty
|
||
{
|
||
get { return _isEnabledGridProterty; }
|
||
set
|
||
{
|
||
_isEnabledGridProterty = value;
|
||
RaisePropertyChanged(nameof(isEnabledGridProterty));
|
||
}
|
||
}
|
||
private string _CurrentPropertyName;
|
||
/// <summary>
|
||
/// 选中的属性名称
|
||
/// </summary>
|
||
public string CurrentPropertyName
|
||
{
|
||
get { return _CurrentPropertyName; }
|
||
set
|
||
{
|
||
_CurrentPropertyName = value;
|
||
RaisePropertyChanged(nameof(CurrentPropertyName));
|
||
}
|
||
}
|
||
private bool _IsEnableChangeEvent = false;
|
||
/// <summary>
|
||
/// 是否启动下拉选项改变事件
|
||
/// </summary>
|
||
public bool IsEnableChangeEvent
|
||
{
|
||
get { return _IsEnableChangeEvent; }
|
||
set
|
||
{
|
||
_IsEnableChangeEvent = value;
|
||
RaisePropertyChanged(nameof(IsEnableChangeEvent));
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
//接口服务
|
||
ObjectTypeService _objectTypeService;
|
||
private EnginedataService _enginedataService;
|
||
private ImageSource lockImg;
|
||
private ImageSource unlockImg;
|
||
IEventAggregator eventAggregator;
|
||
|
||
public DialogNewComponentViewModel()
|
||
{
|
||
_objectTypeService = GlobalObject.container.Resolve<ObjectTypeService>();
|
||
_enginedataService = GlobalObject.container.Resolve<EnginedataService>();
|
||
listShowProperty = new ObservableCollection<propertyModel>();
|
||
qiehuanImage = GlobalObject.ImageSourceFromEmbeddedResourceStream(@"SWS.CAD.Images.qiehuan.png");
|
||
historyImage = GlobalObject.ImageSourceFromEmbeddedResourceStream(@"SWS.CAD.Images.history.png");
|
||
history2Image = GlobalObject.ImageSourceFromEmbeddedResourceStream(@"SWS.CAD.Images.history2.png");
|
||
lockImg = GlobalObject.ImageSourceFromEmbeddedResourceStream(@"SWS.CAD.Images.Lock.png");
|
||
lockImage = lockImg;
|
||
lock2Image = GlobalObject.ImageSourceFromEmbeddedResourceStream(@"SWS.CAD.Images.Lock2.png");
|
||
Command_History = new DelegateCommand(onHistory);
|
||
Command_Lock = new DelegateCommand(onLock);
|
||
Command_Qiehuan = new DelegateCommand(onQiehuan);
|
||
eventAggregator = GlobalObject.container.Resolve<IEventAggregator>();
|
||
//_eventAggregator.GetEvent<SelectonChangeEvent>().Subscribe(SelecttionChange, ThreadOption.UIThread, true);
|
||
//订阅事件
|
||
eventAggregator.GetEvent<SelectionChangeEvent>().Subscribe(SelecttionChange, ThreadOption.UIThread, true);
|
||
eventAggregator.GetEvent<NewComponent_LostFocusEvent>().Subscribe(LostFocus, ThreadOption.UIThread, true);
|
||
|
||
}
|
||
public string Title => "";
|
||
|
||
public event Action<IDialogResult> RequestClose;
|
||
public bool CanCloseDialog()
|
||
{
|
||
return true;
|
||
}
|
||
|
||
public void OnDialogClosed()
|
||
{
|
||
|
||
}
|
||
|
||
private List<ec_Cable> CablePreAssigns;
|
||
public async void OnDialogOpened(IDialogParameters parameters)
|
||
{
|
||
//title = parameters.GetValue<string>(GlobalObject.dialogPar.title.ToString());
|
||
title = "新增元件";
|
||
//获取左侧树形结构数据
|
||
TreeNodes = new ObservableCollection<Model.TreeModel>(GlobalObject.designTree.Where(t => t.Text.Equals("接线设备")));
|
||
IsEnableChangeEvent = parameters.GetValue<bool>(GlobalObject.dialogPar.info.ToString());
|
||
}
|
||
|
||
public override void ExecuteOKCommandAsync(object para)
|
||
{
|
||
|
||
//返回结果
|
||
IDialogParameters res = new Prism.Services.Dialogs.DialogParameters();
|
||
res.Add(GlobalObject.dialogPar.para1.ToString(), listShowProperty);
|
||
RequestClose.Invoke(new DialogResult(ButtonResult.Yes, res));
|
||
}
|
||
public override void ExecuteCloseCommand(object parameter)
|
||
{
|
||
if (parameter as string == "ClickNo")
|
||
{
|
||
DialogResult res = new DialogResult(ButtonResult.No);
|
||
RequestClose.Invoke(res);
|
||
}
|
||
else
|
||
{
|
||
RequestClose.Invoke(new DialogResult(ButtonResult.Cancel));
|
||
}
|
||
this.Dispose();
|
||
}
|
||
|
||
#region 方法
|
||
#region 下拉选择改变时
|
||
private async void SelecttionChange(propertyModel model)
|
||
{
|
||
if (model.DisplayText.Equals("位号") && !string.IsNullOrEmpty(model.PropertyValue))
|
||
{
|
||
|
||
//获取位号的电缆属性
|
||
var TagNumberBys = await _objectTypeService.GetEngineDataListByTags(model.PropertyValue);
|
||
foreach (var ShowProperty in listShowProperty)
|
||
{
|
||
if (TagNumberBys != null && TagNumberBys.Count() > 0)
|
||
{
|
||
if (TagNumberBys[0].EngineDataProperty.Any(e => e.PropertyName.Equals(ShowProperty.DisplayText)))
|
||
{
|
||
ShowProperty.PropertyValue = TagNumberBys[0].EngineDataProperty.Where(e => e.PropertyName.Equals(ShowProperty.DisplayText)).Select(e => e.PropertyValue).FirstOrDefault();
|
||
}
|
||
}
|
||
}
|
||
string oldTagNumber = model.OldValue;
|
||
|
||
string newTagNumber = model.PropertyValue;
|
||
|
||
//var IsRepeatByTagNumber = await _objectTypeService.IsRepeatByTagNumber(oldTagNumber, newTagNumber);
|
||
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 失去焦点事件
|
||
private async void LostFocus(propertyModel model)
|
||
{
|
||
string oldTagNumber = "";
|
||
string newTagNumber = "";
|
||
if (model.DisplayText.Equals("位号") && !string.IsNullOrEmpty(model.PropertyValue))
|
||
{
|
||
oldTagNumber = model.OldValue;
|
||
newTagNumber = model.PropertyValue;
|
||
}
|
||
else
|
||
{
|
||
oldTagNumber = listShowProperty.Where(e => e.DisplayText.Equals("位号")).FirstOrDefault().OldValue;
|
||
newTagNumber = listShowProperty.Where(e => e.DisplayText.Equals("位号")).FirstOrDefault().PropertyValue;
|
||
}
|
||
|
||
var IsRepeatByTagNumber = await _objectTypeService.IsRepeatByTagNumber(oldTagNumber, newTagNumber);
|
||
//if (string.IsNullOrEmpty(IsRepeatByTagNumber.TagNumber))
|
||
//{
|
||
//}
|
||
|
||
List<ec_enginedata> entitys = new List<ec_enginedata>();
|
||
ec_enginedata ent = new ec_enginedata();
|
||
ent.CaseID = TagNumberCaseID;
|
||
ent.ObjectTypeID = TagNumberObjectTypeID;
|
||
ent.TagNumber = newTagNumber;
|
||
ent.EngineDataProperty = new List<ec_enginedata_property>();
|
||
foreach (var item in listShowProperty)
|
||
{
|
||
ec_enginedata_property ec_Enginedata_Property = new ec_enginedata_property()
|
||
{
|
||
MeasuringUnit = item.Unit,
|
||
PropertyName = item.DisplayText,
|
||
PropertyValue = item.PropertyValue,
|
||
};
|
||
ent.EngineDataProperty.Add(ec_Enginedata_Property);
|
||
}
|
||
entitys.Add(ent);
|
||
var ResUpdatePixelAndPropBatch = await _objectTypeService.UpdatePixelAndPropBatch(entitys);
|
||
if (ResUpdatePixelAndPropBatch != "")
|
||
{
|
||
System.Windows.MessageBox.Show(ResUpdatePixelAndPropBatch, "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); return;
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 节点改变时
|
||
private string TagNumberObjectTypeID;
|
||
private string TagNumberCaseID;
|
||
/// <summary>
|
||
/// 左侧树形结构选择节点改变时,更新通道信息列表
|
||
/// </summary>
|
||
private async void UpdateChannelInfos()
|
||
{
|
||
if (SelectedTreeNode != null)
|
||
{
|
||
var a = await _objectTypeService.GetObjectTypePById(SelectedTreeNode.ID);
|
||
var b = await _objectTypeService.GetLatestSerialNumber(SelectedTreeNode.ID);
|
||
var TagNumberLs = await _objectTypeService.GetTagNumberById(SelectedTreeNode.ID);
|
||
if (TagNumberLs != null && TagNumberLs.Count() > 0)
|
||
{
|
||
TagNumberObjectTypeID = TagNumberLs.FirstOrDefault().ObjectTypeID;
|
||
TagNumberCaseID = TagNumberLs.FirstOrDefault().CaseID;
|
||
}
|
||
onTypeChange(SelectedTreeNode);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 左边列表选中元件类型,右边出现对应属性,左下方出现图元列表
|
||
/// </summary>
|
||
/// <param name="node"></param>
|
||
private async void onTypeChange(Model.TreeModel node)
|
||
{
|
||
if (node != null)
|
||
{
|
||
#region 获取属性,并显示出来
|
||
listShowProperty.Clear();
|
||
var listBasic = new ObservableCollection<propertyModel>();
|
||
var res = await _objectTypeService.GetObjectTypePById(node.ID);
|
||
if (res == null || !res.Any())
|
||
{
|
||
listObjects = new ObservableCollection<PropertyObjectModel>()
|
||
{ new PropertyObjectModel(){
|
||
objectTypeName=node.Text,
|
||
listBasicTypeP=listBasic,
|
||
}
|
||
};
|
||
SelectObject = listObjects[0];
|
||
isEnabledLock = false;
|
||
return;
|
||
}
|
||
|
||
#region 添加位号列表
|
||
//位号下拉列表
|
||
var listTag = await _objectTypeService.GetTagNumberById_Brief(node.ID);
|
||
var pro = new propertyModel()
|
||
{
|
||
DisplayText = "位号",
|
||
ControlTypeName = PROPERTYType.ComboBox,
|
||
IsEnable = true,
|
||
IsBasicGroup = true,
|
||
GroupName = res[0].PropertyGroupName,
|
||
IsReturnChanged = true,
|
||
WhichPage = "新增元件"
|
||
};
|
||
if (listTag.Any())
|
||
{
|
||
Dictionary<string, string> items = new Dictionary<string, string>();
|
||
foreach (var dto in listTag)
|
||
{
|
||
if (string.IsNullOrEmpty(dto.Text))
|
||
{ continue; }
|
||
if (items.ContainsKey(dto.Text))
|
||
{ continue; }
|
||
items.Add(dto.Text, dto.Text);
|
||
}
|
||
pro.Item = items;
|
||
listBasic.Add(pro);
|
||
}
|
||
#endregion
|
||
//添加属性
|
||
foreach (var p in res)
|
||
{
|
||
var model = new propertyModel()
|
||
{
|
||
Id = p.PropertyID,
|
||
DisplayText = p.PropertyNameEN,
|
||
PropertyValue = p.DefaultValue,
|
||
Unit = p.DefaultUnitName,
|
||
UnitId = p.DefaultUnit,
|
||
UnitTypeId = p.MeasuringUnitTypeID,
|
||
IsBasicGroup = p.BasicGroup,
|
||
GroupName = p.PropertyGroupName,
|
||
ControlTypeName = PROPERTYType.TextBox,
|
||
IsReturnChanged = true,
|
||
WhichPage = "新增元件"
|
||
};
|
||
switch (p.PropertyType)
|
||
{
|
||
case "00001"://字符
|
||
case "00004"://扩展程序
|
||
model.ControlTypeName = PROPERTYType.TextBox;
|
||
break;
|
||
case "00002"://数字(含小数、负数)
|
||
model.ControlTypeName = PROPERTYType.Number;
|
||
break;
|
||
case "00005"://uom 单位类型 ,例:10 A
|
||
model.UnitTypeId = p.MeasuringUnitTypeID;
|
||
model.ControlTypeName = PROPERTYType.Folder;
|
||
break;
|
||
case "00003"://单选下拉框
|
||
model.ControlTypeName = PROPERTYType.ComboBox;
|
||
if (!string.IsNullOrEmpty(p.EnumDataCode))
|
||
{
|
||
var data = p.EnumDataCode.Split(',');
|
||
Dictionary<string, string> items = new Dictionary<string, string>();
|
||
foreach (var e in data)
|
||
{
|
||
items.Add(e, e);
|
||
}
|
||
model.Item = items;
|
||
}
|
||
break;
|
||
case "00006"://多选下拉框
|
||
model.ControlTypeName = PROPERTYType.MultiSelectComboBox;
|
||
if (!string.IsNullOrEmpty(p.EnumDataCode))
|
||
{
|
||
var dataMult = p.EnumDataCode.Split(',');
|
||
Dictionary<string, string> itemsMult = new Dictionary<string, string>();
|
||
foreach (var e in dataMult)
|
||
{
|
||
itemsMult.Add(e, e);
|
||
}
|
||
model.Item = itemsMult;
|
||
}
|
||
break;
|
||
}
|
||
listBasic.Add(model);
|
||
}
|
||
|
||
listObjects = new ObservableCollection<PropertyObjectModel>()
|
||
{ new PropertyObjectModel(){
|
||
objectTypeName=node.Text,
|
||
listBasicTypeP=listBasic,
|
||
}
|
||
};
|
||
SelectObject = listObjects[0];
|
||
isEnabledLock = false;
|
||
#endregion
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 历史属性
|
||
/// <summary>
|
||
/// 历史属性
|
||
/// </summary>
|
||
public ICommand Command_History { get; }
|
||
/// <summary>
|
||
/// 历史属性
|
||
/// </summary>
|
||
private void onHistory(object obj)
|
||
{
|
||
if (SelectObject == null || string.IsNullOrEmpty(SelectObject.tagNumber))
|
||
{ return; }
|
||
if (string.IsNullOrEmpty(CurrentPropertyName))
|
||
{ return; }
|
||
IDialogParameters x = new Prism.Services.Dialogs.DialogParameters();
|
||
x.Add(GlobalObject.dialogPar.para1.ToString(), SelectObject.tagNumber);
|
||
x.Add(GlobalObject.dialogPar.para2.ToString(), CurrentPropertyName);
|
||
var _dialogService = GlobalObject._prismContainer.Resolve<IDialogService>();
|
||
_dialogService.ShowDialog(nameof(DialogPropertyHistory), x, (RES) =>
|
||
{
|
||
});
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 属性锁
|
||
/// <summary>
|
||
/// 属性锁
|
||
/// </summary>
|
||
public ICommand Command_Lock { get; }
|
||
/// <summary>
|
||
/// 属性锁
|
||
/// </summary>
|
||
private async void onLock(object obj)
|
||
{
|
||
if (SelectObject == null)
|
||
{ return; }
|
||
if (SelectObject.CreateUserID.ToLower() != GlobalObject.userInfo.userId.ToLower())
|
||
{
|
||
MessageBox.Show("抱歉,非元件创建者您没有该元件锁定与解锁权限!", "警告", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||
return;
|
||
}
|
||
if (isLocked)
|
||
{
|
||
//进行解锁
|
||
var msg = await _enginedataService.LockTag(SelectObject.EngineDataID, "0");
|
||
if (string.IsNullOrEmpty(msg))
|
||
{
|
||
changeLocked(false);
|
||
General.SendMessage($"元件:{SelectObject.objectTypeName},已解锁!");
|
||
}
|
||
else { MessageBox.Show(msg); }
|
||
}
|
||
else
|
||
{
|
||
//进行锁定属性
|
||
var msg = await _enginedataService.LockTag(SelectObject.EngineDataID, "1");
|
||
if (string.IsNullOrEmpty(msg))
|
||
{
|
||
changeLocked(true, GlobalObject.userInfo.userId);
|
||
General.SendMessage($"元件:{SelectObject.objectTypeName},已被【{GlobalObject.userInfo.userId}】锁定!");
|
||
}
|
||
else { MessageBox.Show(msg); }
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 改变属性锁状态
|
||
/// </summary>
|
||
/// <param name="flag">是否锁定</param>
|
||
/// <param name="userId">锁定属性的用户id</param>
|
||
private void changeLocked(bool flag, string userId = "")
|
||
{
|
||
|
||
if (flag)
|
||
{
|
||
isLocked = true;
|
||
lockTooltip = $"属性被({userId})锁定";
|
||
lockImage = lockImg;
|
||
}
|
||
else
|
||
{
|
||
isLocked = false;
|
||
lockTooltip = "属性未锁定";
|
||
lockImage = unlockImg;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 切换属性视图
|
||
/// <summary>
|
||
/// 切换属性视图
|
||
/// </summary>
|
||
public ICommand Command_Qiehuan { get; }
|
||
/// <summary>
|
||
/// 历史属性
|
||
/// </summary>
|
||
private void onQiehuan(object obj)
|
||
{
|
||
if (listShowProperty.Any())
|
||
{
|
||
isBasicGroup = !isBasicGroup;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 编辑事件结束
|
||
public ICommand EditEndCmd => new DelegateCommand(EditEnd);
|
||
/// <summary>
|
||
/// 编辑结束事件
|
||
/// </summary>
|
||
/// <param name="parameter"></param>
|
||
public virtual void EditEnd(object parameter)
|
||
{
|
||
//做个标记表示该项修改过
|
||
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
}
|
||
|
||
|
||
|
||
}
|