Browse Source

机台信息管理页面修改

master
Administrator 2 months ago
parent
commit
710672bfc0
  1. 46
      UserWindow/MachineSet.xaml
  2. 61
      UserWindow/MachineSet.xaml.cs
  3. 46
      ViewModel/MainWindowViewModel.cs

46
UserWindow/MachineSet.xaml

@ -23,26 +23,47 @@
<GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" Background="#FFCECECE"/> <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" Background="#FFCECECE"/>
<Grid Grid.Row="0"> <Grid Grid.Row="0">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="200" MaxWidth="500"/> <ColumnDefinition Width="500"/>
<ColumnDefinition Width="5"/> <ColumnDefinition Width="5"/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" Background="#FFCECECE"/> <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" Background="#FFCECECE"/>
<Grid Grid.Column="0"> <Grid Grid.Column="0">
<!--用户--> <!--用户-->
<TextBox x:Name="_User" Height="30" Margin="105,10,10,100" VerticalAlignment="Top" FontSize="16" MaxLines="1" InputMethod.IsInputMethodEnabled="False" /> <TextBox x:Name="_Name" Height="30" Margin="105,10,10,100" VerticalAlignment="Top" FontSize="16" MaxLines="1"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="15,10,0,100" TextWrapping="Wrap" <TextBlock HorizontalAlignment="Left" Height="30" Margin="15,10,0,100" TextWrapping="Wrap"
Text="{x:Static lang:ResourceLanguage.user}" VerticalAlignment="Top" Width="85" FontSize="20"/> Text="归属信息" VerticalAlignment="Top" Width="85" FontSize="20"/>
<TextBox x:Name="_Machine" Height="30" Margin="105,55,10,100" VerticalAlignment="Top" FontSize="16" MaxLines="1"/>
<!--组--> <TextBlock HorizontalAlignment="Left" Height="30" Margin="15,55,0,100" TextWrapping="Wrap"
<ComboBox x:Name="GROUP" Height="30" Margin="105,190,10,100" VerticalAlignment="Top" FontSize="16" IsReadOnly="True"> Text="设备名称" VerticalAlignment="Top" Width="85" FontSize="20"/>
<ComboBoxItem Content="CHIEF"></ComboBoxItem> <ComboBox x:Name="GROUP" Height="30" Margin="105,100,10,100" VerticalAlignment="Top" FontSize="16" IsReadOnly="True">
<ComboBoxItem Content="ENGINEER"></ComboBoxItem> <ComboBoxItem Content="200"></ComboBoxItem>
<ComboBoxItem Content="POWERUSER"></ComboBoxItem> <ComboBoxItem Content="202"></ComboBoxItem>
<ComboBoxItem Content="USER"></ComboBoxItem> <ComboBoxItem Content="242W"></ComboBoxItem>
<ComboBoxItem Content="252"></ComboBoxItem>
<ComboBoxItem Content="252-2T"></ComboBoxItem>
<ComboBoxItem Content="252RB"></ComboBoxItem>
<ComboBoxItem Content="252RDRM"></ComboBoxItem>
<ComboBoxItem Content="252-2T"></ComboBoxItem>
<ComboBoxItem Content="301"></ComboBoxItem>
<ComboBoxItem Content="301P"></ComboBoxItem>
<ComboBoxItem Content="302"></ComboBoxItem>
<ComboBoxItem Content="303"></ComboBoxItem>
<ComboBoxItem Content="303PDW"></ComboBoxItem>
</ComboBox> </ComboBox>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="15,190,0,50" TextWrapping="Wrap" <TextBlock HorizontalAlignment="Left" Height="30" Margin="15,100,0,50" TextWrapping="Wrap"
Text="{x:Static lang:ResourceLanguage.Groups}" VerticalAlignment="Top" Width="80" FontSize="20"/> Text="系列型号" VerticalAlignment="Top" Width="80" FontSize="20"/>
<TextBox x:Name="_IP" Height="30" Margin="105,145,10,100" VerticalAlignment="Top" FontSize="16" MaxLines="1"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="15,145,0,100" TextWrapping="Wrap"
Text="连接IP" VerticalAlignment="Top" Width="85" FontSize="20"/>
<TextBox x:Name="_MachineUser" Height="30" Margin="105,190,10,100" VerticalAlignment="Top" FontSize="16" MaxLines="1"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="15,190,0,100" TextWrapping="Wrap"
Text="连接用户" VerticalAlignment="Top" Width="85" FontSize="20"/>
<TextBox x:Name="_MachinePassword" Height="30" Margin="105,235,10,100" VerticalAlignment="Top" FontSize="16" MaxLines="1"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="15,235,0,100" TextWrapping="Wrap"
Text="连接密码" VerticalAlignment="Top" Width="85" FontSize="20"/>
<TextBox x:Name="_inf" Height="90" Margin="105,280,10,100" VerticalAlignment="Top" FontSize="16" MaxLines="1"/>
</Grid> </Grid>
<Grid Grid.Column="2" Margin="0"> <Grid Grid.Column="2" Margin="0">
<ScrollViewer Margin="0" VerticalScrollBarVisibility="Auto"> <ScrollViewer Margin="0" VerticalScrollBarVisibility="Auto">
@ -92,6 +113,7 @@
</Style> </Style>
</DataGrid.CellStyle> </DataGrid.CellStyle>
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Width="0" FontSize="26" Binding="{Binding ID}" MaxWidth="0" CanUserReorder="False"/>
<DataGridTextColumn Header="{x:Static lang:ResourceLanguage.information}" Width="200" FontSize="26" <DataGridTextColumn Header="{x:Static lang:ResourceLanguage.information}" Width="200" FontSize="26"
Binding="{Binding Name}" MaxWidth="200" MinWidth="200" CanUserReorder="False"/> Binding="{Binding Name}" MaxWidth="200" MinWidth="200" CanUserReorder="False"/>
<DataGridTextColumn Header="{x:Static lang:ResourceLanguage.machine}" Width="200" FontSize="26" <DataGridTextColumn Header="{x:Static lang:ResourceLanguage.machine}" Width="200" FontSize="26"

61
UserWindow/MachineSet.xaml.cs

@ -1,5 +1,8 @@
using System; using Microsoft.VisualBasic;
using SunlightAggregationManager.ViewModel;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection.PortableExecutable;
using System.Text; using System.Text;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
@ -9,6 +12,8 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Shapes; using System.Windows.Shapes;
using System.Xml.Linq;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace SunlightAggregationManager.UserWindow namespace SunlightAggregationManager.UserWindow
{ {
@ -17,29 +22,75 @@ namespace SunlightAggregationManager.UserWindow
/// </summary> /// </summary>
public partial class MachineSet : Window public partial class MachineSet : Window
{ {
private string _id = "";
public MachineSet() public MachineSet()
{ {
InitializeComponent(); InitializeComponent();
} }
private void Button_Preservation(object sender, RoutedEventArgs e) private void Button_Preservation(object sender, RoutedEventArgs e)
{ {
Dictionary<string, object> _new = new Dictionary<string, object>();//缓存函数
_new.Add("Name", _Name.Text);
_new.Add("Machine", _Machine.Text);
_new.Add("Model", GROUP.Text);
_new.Add("IP", _IP.Text);
_new.Add("MachineUser", _MachineUser.Text);
_new.Add("MachinePassword", _MachinePassword.Text);
_new.Add("Information", _inf.Text);
_new.Add("State", 0);
var rowdata = MainWindowViewModel.Selet_Memory(MainWindowViewModel._machines, "ID", "ID='" + _id + "'");
if (rowdata != null)
{
MainWindowViewModel.Updata_Memory(MainWindowViewModel._machines, "ID='" + _id + "'", _new);
}
else
{
MainWindowViewModel.Insert_Memory(MainWindowViewModel._machines, _new);// 执行插入
}
DataGridm.ItemsSource = MainWindowViewModel._machines.DefaultView;
_Name.Text = null;
_Machine.Text = null;
_id = "";
} }
private void Button_Delete(object sender, RoutedEventArgs e) private void Button_Delete(object sender, RoutedEventArgs e)
{ {
try
{
MainWindowViewModel.Delete_Memory(MainWindowViewModel._machines, "ID='" + _id + "'");
}
catch (Exception) { }
finally
{
DataGridm.ItemsSource = MainWindowViewModel._machines.DefaultView;
_Name.Text = null;
_Machine.Text = null;
_id = "";
}
} }
private void DataGridm_MouseDoubleClick(object sender, MouseButtonEventArgs e) private void DataGridm_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{ {
int rownum = DataGridm.SelectedIndex;//获取鼠标选中行并定义变量
if (rownum != -1)//判断鼠标定位是否有效
{
/*定位选中行及指定列单元格文本信息*/
_id = (DataGridm.Columns[0].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();//定位第列
_Name.Text = (DataGridm.Columns[1].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();//定位第列
_Machine.Text = (DataGridm.Columns[2].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();//定位第列
GROUP.Text = (DataGridm.Columns[4].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();
_IP.Text = (DataGridm.Columns[5].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();
_MachineUser.Text = (DataGridm.Columns[6].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();
_MachinePassword.Text = (DataGridm.Columns[7].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();
_inf.Text = (DataGridm.Columns[8].GetCellContent(DataGridm.Items[rownum]) as TextBlock)!.Text.Trim();
}
} }
private void Window_Loaded(object sender, RoutedEventArgs e) private void Window_Loaded(object sender, RoutedEventArgs e)
{ {
DataGridm.ItemsSource = MainWindowViewModel._machines.DefaultView;
} }
} }
} }

46
ViewModel/MainWindowViewModel.cs

@ -87,6 +87,7 @@ namespace SunlightAggregationManager.ViewModel
} }
Machines.RowChanged += Machines_Updata; Machines.RowChanged += Machines_Updata;
Machines.RowDeleting += Machines_Updata;
UserData.RowChanged += UserData_Updata;//注册userdata表更新事件 UserData.RowChanged += UserData_Updata;//注册userdata表更新事件
UserData.RowDeleting += UserData_Updata; UserData.RowDeleting += UserData_Updata;
} }
@ -156,7 +157,50 @@ namespace SunlightAggregationManager.ViewModel
private void Machines_Updata(object sender, DataRowChangeEventArgs e) private void Machines_Updata(object sender, DataRowChangeEventArgs e)
{ {
Dictionary<string, object> row_entity = new Dictionary<string, object>();
Dictionary<string, object> userlog = new Dictionary<string, object>();
if (e.Action == DataRowAction.Change)
{
//修改的行回传
foreach (DataColumn col in Machines.Columns)
{
row_entity.Add(col.ColumnName, e.Row.Field<object>(col.ColumnName) ?? DBNull.Value);//传入字段和值(值允许为空)
if (ActionLog.Columns.Contains(col.ColumnName))//添加到行为记录表
{
userlog.Add(col.ColumnName, e.Row.Field<object>(col.ColumnName) ?? DBNull.Value);//传入字段和值(值允许为空)
}
}
SQLiteHelpers.Update("Machines", row_entity, "ID='" + e.Row.Field<object>("ID") + "'", null);
userlog.Add("Action", "Command");
userlog.Add("Time", DateTime.Now.ToString("yyyy-MM-dd dd:HH:mm:ss:fff"));
userlog.Add("Note", "Machine = " + e.Row.Field<object>("Machine"));
SQLiteHelpers.InsertData("ActionLog", userlog);
}
if (e.Action == DataRowAction.Add)
{
//添加的行回传
foreach (DataColumn col in Machines.Columns)
{
row_entity.Add(col.ColumnName, e.Row.Field<object>(col.ColumnName) ?? DBNull.Value);//传入字段和值(值允许为空)
}
SQLiteHelpers.InsertData("Machines", row_entity);
userlog.Add("Time", DateTime.Now.ToString("yyyy-MM-dd dd:HH:mm:ss:fff"));
userlog.Add("Action", "New Account");
userlog.Add("Note", "Machine = " + e.Row.Field<object>("Machine"));
SQLiteHelpers.InsertData("ActionLog", userlog);
}
if (e.Action == DataRowAction.Delete)
{
//删除的行回传
SQLiteHelpers.Delete("Machines", "ID='" + e.Row.Field<object>("ID") + "'", null);
userlog.Add("Time", DateTime.Now.ToString("yyyy-MM-dd dd:HH:mm:ss:fff"));
userlog.Add("Action", "Delete Account");
userlog.Add("Note", "Machine = " + e.Row.Field<object>("Machine"));
SQLiteHelpers.InsertData("ActionLog", userlog);
}
} }
private void UserData_Updata(object sender, DataRowChangeEventArgs e) private void UserData_Updata(object sender, DataRowChangeEventArgs e)

Loading…
Cancel
Save