1.存在送审时间不提示

This commit is contained in:
CHEN-ZW\acer 2025-09-09 08:58:50 +08:00
parent 28f0461113
commit 516581840d
20 changed files with 256 additions and 6 deletions

View File

@ -851,7 +851,18 @@ namespace SWS.CAD
btnCableSinal.ButtonStyle = RibbonButtonStyle.SmallWithText;
btnCableSinal.CommandHandler = new DelegateCommand(x =>
{
MessageBox.Show("功能开发中...");
//打开窗体
var para = new Prism.Services.Dialogs.DialogParameters();
var _dialogService = GlobalObject._prismContainer.Resolve<IDialogService>();
_dialogService.ShowDialog(nameof(DialogSignalPredistribution), para, (RES) =>
{
if (RES.Result == ButtonResult.Yes)
{
}
else if (RES.Result == ButtonResult.No)
{ }
});
});
btnCableSinal.Image = GlobalObject.ImageSourceFromEmbeddedResourceStream(@"CableSinal.png");
btnCableSinal.Id = "信号预分配";

View File

@ -208,6 +208,7 @@
<Compile Include="ViewModels\DialogPreCheckInViewModel.cs" />
<Compile Include="ViewModels\DialogParallelCableViewModel.cs" />
<Compile Include="ViewModels\DialogNewTagNumberViewModel.cs" />
<Compile Include="ViewModels\DialogSignalPredistributionViewModel.cs" />
<Compile Include="ViewModels\DialogTagSelectViewModel.cs" />
<Compile Include="ViewModels\DialogUnitSelectViewModel.cs" />
<Compile Include="ViewModels\Dialog2SelectViewModel.cs" />
@ -315,6 +316,9 @@
<Compile Include="Views\Dialog\DialogNewTagNumber.xaml.cs">
<DependentUpon>DialogNewTagNumber.xaml</DependentUpon>
</Compile>
<Compile Include="Views\Dialog\DialogSignalPredistribution.xaml.cs">
<DependentUpon>DialogSignalPredistribution.xaml</DependentUpon>
</Compile>
<Compile Include="Views\Dialog\DialogTagSelect.xaml.cs">
<DependentUpon>DialogTagSelect.xaml</DependentUpon>
</Compile>
@ -447,6 +451,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Views\Dialog\DialogSignalPredistribution.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\Dialog\DialogTagSelect.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>

View File

@ -71,6 +71,7 @@ namespace SWS.CAD
GlobalObject._prismContainer.RegisterDialog<DialogChannelMigration, DialogChannelMigrationViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConnection, DialogCableConnectionViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConnection_NewStrip, DialogCableConnection_NewStripViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalPredistribution, DialogSignalPredistributionViewModel>();
}
}
}

View File

@ -602,6 +602,7 @@ namespace SWS.CAD.ViewModels
}
PanelTreels.Clear();
PanelTreels.AddRange(await _iOModuleService.GetPanelTree());
SelectedTreeNode = PanelTreels.FirstOrDefault(p => p.Text.Equals(positionalvalue)).ChildNodes.FirstOrDefault(c => c.ID.Equals(PanelIDValue));
}
else if (RES.Result == ButtonResult.No)
{ }

View File

@ -0,0 +1,72 @@

using Prism.Ioc;
using Prism.Services.Dialogs;
using SWS.CAD.ViewModels.myViewModelBase;
using SWS.CAD.Views;
using SWS.CAD.Views.CustomControl;
using SWS.Commons;
using System;
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Input;
using Unity;
using DelegateCommand = Prism.Commands.DelegateCommand;
namespace SWS.CAD.ViewModels
{
public class DialogSignalPredistributionViewModel : DialogBase, IDialogAware
{
private string objectTypeId;
/// <summary>
/// 新建位号
/// </summary>
public ICommand Command_NewTagNumber { get; set; }
public DialogSignalPredistributionViewModel()
{
title = "电缆信号预分配";
}
public string Title => "";
public event Action<IDialogResult> RequestClose;
public bool CanCloseDialog()
{
return true;
}
public void OnDialogClosed()
{
}
public void OnDialogOpened(IDialogParameters parameters)
{
//listTags = parameters.GetValue<ObservableCollection<KeyValueModel>>(GlobalObject.dialogPar.info.ToString());
objectTypeId = parameters.GetValue<string>(GlobalObject.dialogPar.id.ToString());
}
public override void ExecuteOKCommandAsync(object para)
{
IDialogParameters res = new Prism.Services.Dialogs.DialogParameters();
//res.Add(GlobalObject.dialogPar.info.ToString(), TagNumber);
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();
}
}
}

View File

@ -501,6 +501,8 @@
ItemContainerStyle="{StaticResource ExpandedTreeViewItemStyle}"
PreviewMouseRightButtonDown="RadTreeView_PreviewMouseRightButtonDown"
Margin="5" telerik:StyleManager.Theme="Office_Blue" AllowDrop="True"
AutoScrollToSelectedItem="True"
IsVirtualizing="True"
>
<telerik:RadTreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding ChildNodes}">

View File

@ -1,4 +1,6 @@

using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
@ -21,6 +23,7 @@ namespace SWS.CAD.Views.Dialog
private void RadTreeView_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
var treeView = sender as RadTreeView;
var originalSource = e.OriginalSource as DependencyObject;

View File

@ -0,0 +1,116 @@
<UserControl x:Class="SWS.CAD.Views.Dialog.DialogSignalPredistribution"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:prism="http://prismlibrary.com/"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:local="clr-namespace:SWS.CAD.Views.Dialog"
xmlns:CustomControl="clr-namespace:SWS.CustomControl;assembly=SWS.CustomControl"
Width="1000" Height="800"
mc:Ignorable="d" >
<prism:Dialog.WindowStyle>
<Style TargetType="Window">
<!--最大化-->
<Setter Property="Width" Value="1000" />
<Setter Property="Height" Value="800" />
<Setter Property="SizeToContent" Value="WidthAndHeight" />
<Setter Property="WindowState" Value="Normal" />
<Setter Property="WindowStyle" Value="None" />
<Setter Property="ResizeMode" Value="NoResize" />
</Style>
</prism:Dialog.WindowStyle>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/SWS.WPF;component/Style/CustomStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<telerik:RadBusyIndicator BusyContent="{Binding BusyContent}" IsBusy="{Binding IsBusy}">
<StackPanel Background="#f0f0f0">
<CustomControl:customWindowTitleBar x:Name="titleBar" />
<StackPanel Grid.Row="1" Orientation="Horizontal">
<GroupBox Margin="5,10,5,5"
VerticalAlignment="Bottom"
Header="通讯信号">
<StackPanel Orientation="Horizontal">
<TextBlock Text="是否通讯母线" Margin="5"/>
<RadioButton Content="是" GroupName="OptionGroup1" Margin="5"/>
<RadioButton x:Name="RadioButton1" Content="否" GroupName="OptionGroup1" Margin="5"/>
<TextBlock Text="通讯格式" Margin="5"/>
<ComboBox />
</StackPanel>
</GroupBox>
<GroupBox Margin="5,0,5,5"
VerticalAlignment="Bottom"
Header="信号类型">
<StackPanel Orientation="Horizontal">
<RadioButton IsEnabled="{Binding IsChecked,ElementName=RadioButton1}" Content="Digital" GroupName="OptionGroup2" Margin="5"/>
<RadioButton IsEnabled="{Binding IsChecked,ElementName=RadioButton1}" Content="4-20mA" GroupName="OptionGroup2" Margin="5"/>
<RadioButton IsEnabled="{Binding IsChecked,ElementName=RadioButton1}" Content="-10V-10V" GroupName="OptionGroup2" Margin="5"/>
<RadioButton IsEnabled="{Binding IsChecked,ElementName=RadioButton1}" Content="PT100" GroupName="OptionGroup2" Margin="5"/>
<RadioButton IsEnabled="{Binding IsChecked,ElementName=RadioButton1}" Content="Pulse" GroupName="OptionGroup2" Margin="5"/>
</StackPanel>
</GroupBox>
</StackPanel>
<GroupBox Margin="5,0,5,5"
Grid.Row="2"
VerticalAlignment="Bottom"
Header="电缆配置信息">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel>
<Border BorderThickness="0 0 0 1" Margin="10,0,0,0">
<TextBlock Text="选择系统柜" Foreground="Black" />
</Border>
<!-- 左侧树形结构 -->
<Border>
<telerik:RadTreeView x:Name="treeView1"
Height="660"
Background="White"
IsLineEnabled="True"
ItemsSource="{Binding PanelTreels}"
SelectedItem="{Binding SelectedTreeNode,Mode=TwoWay}"
Margin="5"
telerik:StyleManager.Theme="Office_Blue"
AllowDrop="True"
AutoScrollToSelectedItem="True"
IsVirtualizing="True"
>
<telerik:RadTreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding ChildNodes}">
<TextBlock Text="{Binding Text}">
</TextBlock>
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding ChildNodes}">
<TextBlock Text="{Binding Text}"/>
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding PanelTreels}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Text}"/>
<TextBlock Text=" (" />
<TextBlock Text="{Binding NodeExtData.ChannelsSpared}" FontWeight="Bold" />
<TextBlock Text=")" />
</StackPanel>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</telerik:RadTreeView.ItemTemplate>
</telerik:RadTreeView>
</Border>
</StackPanel>
</Grid>
</GroupBox>
</StackPanel>
</telerik:RadBusyIndicator>
</UserControl>

View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SWS.CAD.Views.Dialog
{
/// <summary>
/// DialogSignalPredistribution.xaml 的交互逻辑
/// </summary>
public partial class DialogSignalPredistribution : UserControl
{
public DialogSignalPredistribution()
{
InitializeComponent();
}
}
}

View File

@ -154,10 +154,10 @@ namespace SWS.Commons
{
if (string.IsNullOrEmpty(_LocalFileDirectory))
{
string path = Environment.ExpandEnvironmentVariables(@"%USERPROFILE%\AppData\Roaming\SWS\Config.ini");
string path = configPath;
FileIniDataParser parser = new FileIniDataParser();
var data = parser.ReadFile(path);
_LocalFileDirectory = data["Profile"]["Directory"];
_LocalFileDirectory = data["Profile"]["strLocalWorkDir"];
return _LocalFileDirectory;
}
else

View File

@ -595,7 +595,7 @@
<Setter Property="Background" Value="Transparent" />
</Style>
<Style x:Key="ConfirmedStatusStyle" TargetType="telerik:GridViewRow">
<Setter Property="Foreground" Value="DarkGray" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="Background" Value="Transparent" />
</Style>

View File

@ -458,14 +458,22 @@ namespace SWS.WPF.ViewModels
ReviewCountdown.IsActive = true;
if (ReviewCountdown.TimeRemaining<= TimeSpan.Zero)
{
System.Windows.MessageBox.Show($"送审时间已过期: {ReviewCountdown.TimeRemaining:%d}天 {ReviewCountdown.TimeRemaining:hh\\:mm\\:ss}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
if ((DateTime)GlobalObject.curProject.IO_real_issue == null)
{
System.Windows.MessageBox.Show($"送审时间已过期: {ReviewCountdown.TimeRemaining:%d}天 {ReviewCountdown.TimeRemaining:hh\\:mm\\:ss}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
ConstructionCountdown.TimeRemaining = (TimeSpan)(ConstructionTime - currentTime);
ConstructionCountdown.IsActive = true;
if (ConstructionCountdown.TimeRemaining <= TimeSpan.Zero)
{
System.Windows.MessageBox.Show($"施工时间已过期: {ConstructionCountdown.TimeRemaining:%d}天 {ConstructionCountdown.TimeRemaining:hh\\:mm\\:ss}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
if ((DateTime)GlobalObject.curProject.IO_real_construct == null)
{
System.Windows.MessageBox.Show($"施工时间已过期: {ConstructionCountdown.TimeRemaining:%d}天 {ConstructionCountdown.TimeRemaining:hh\\:mm\\:ss}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
// 初始化定时器