Browse Source

添加子功能逻辑

master
sc 3 months ago
parent
commit
50485955cd
  1. 81
      ConvertMoels/StatenToImageConvert.cs
  2. 5
      DyeingComputer.csproj
  3. BIN
      Lmage/ID001.png
  4. BIN
      Lmage/ID039.png
  5. BIN
      Lmage/ID064.png
  6. BIN
      Lmage/ID065.png
  7. BIN
      Lmage/去除图片线条.png
  8. 37
      View/TechnologicalProcessView.xaml
  9. 4
      View/TechnologicalProcessView.xaml.cs
  10. 13
      ViewModel/MainWindowViewModel.cs
  11. 49
      Windows/ViewStep.xaml.cs

81
ConvertMoels/StatenToImageConvert.cs

@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media.Imaging;
namespace DyeingComputer.ConvertMoels
{
internal class StatenToImageConvert : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
switch (value)
{
case "001":
return new BitmapImage(new Uri("/Lmage/ID001.png", UriKind.Relative));//功能模块001温度控制
case "007":
return new BitmapImage(new Uri("/Lmage/ID007.png", UriKind.Relative));//液位入水
case "008":
return new BitmapImage(new Uri("/Lmage/ID008.png", UriKind.Relative));//流量入水
case "013":
return new BitmapImage(new Uri("/Lmage/ID013.png", UriKind.Relative));//批次水位水洗
case "015":
return new BitmapImage(new Uri("/Lmage/ID015.png", UriKind.Relative));//溢流水洗
case "017":
return new BitmapImage(new Uri("/Lmage/ID017.png", UriKind.Relative));//降温水洗
case "020":
return new BitmapImage(new Uri("/Lmage/ID020.png", UriKind.Relative));//排水
case "022":
return new BitmapImage(new Uri("/Lmage/ID022.png", UriKind.Relative));//动力排水
case "031":
return new BitmapImage(new Uri("/Lmage/ID031.png", UriKind.Relative));//运转时间
case "035":
return new BitmapImage(new Uri("/Lmage/ID035.png", UriKind.Relative));//准备入布
case "036":
return new BitmapImage(new Uri("/Lmage/ID036.png", UriKind.Relative));//准备出布
case "039":
return new BitmapImage(new Uri("/Lmage/ID039.png", UriKind.Relative));//呼叫人工
case "040":
return new BitmapImage(new Uri("/Lmage/ID040.png", UriKind.Relative));//取样
case "041":
return new BitmapImage(new Uri("/Lmage/ID041.png", UriKind.Relative));//结束
case "049":
return new BitmapImage(new Uri("/Lmage/ID049.png", UriKind.Relative));//等待
case "050":
return new BitmapImage(new Uri("/Lmage/ID050.png", UriKind.Relative));//主缸加压
case "051":
return new BitmapImage(new Uri("/Lmage/ID051.png", UriKind.Relative));//主缸减压
case "054":
return new BitmapImage(new Uri("/Lmage/ID054.png", UriKind.Relative));//主泵/风机速度
case "055":
return new BitmapImage(new Uri("/Lmage/ID055.png", UriKind.Relative));//主泵启动
case "056":
case "064":
return new BitmapImage(new Uri("/Lmage/ID064.png", UriKind.Relative));//
case "065":
return new BitmapImage(new Uri("/Lmage/ID065.png", UriKind.Relative));//
case "067":
return new BitmapImage(new Uri("/Lmage/ID067.png", UriKind.Relative));//
case "090":
return new BitmapImage(new Uri("/Lmage/ID090.png", UriKind.Relative));//
case "091":
return new BitmapImage(new Uri("/Lmage/ID091.png", UriKind.Relative));//
case "094":
return new BitmapImage(new Uri("/Lmage/ID094.png", UriKind.Relative));//
default:
return new BitmapImage(new Uri("",UriKind.Relative));
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

5
DyeingComputer.csproj

@ -111,6 +111,7 @@
<Compile Include="ConvertMoels\GramsSQLConvert.cs" />
<Compile Include="ConvertMoels\ProductTypeSQLConvert.cs" />
<Compile Include="ConvertMoels\RowToIndexConverter.cs" />
<Compile Include="ConvertMoels\StatenToImageConvert.cs" />
<Compile Include="ConvertMoels\StatenConvert.cs" />
<Compile Include="Properties\Resources.en-US.Designer.cs">
<AutoGen>True</AutoGen>
@ -427,6 +428,10 @@
<Content Include="Fonts\font-awesome-4.7.0\css\font-awesome.css" />
<Content Include="Fonts\font-awesome-4.7.0\css\font-awesome.min.css" />
<Content Include="Fonts\font-awesome-4.7.0\fonts\fontawesome-webfont.svg" />
<Resource Include="Lmage\ID064.png" />
<Resource Include="Lmage\ID065.png" />
<Resource Include="Lmage\ID039.png" />
<Resource Include="Lmage\ID001.png" />
<Resource Include="Lmage\StreamlineUltimateColorColorPaletteSample1.png" />
<Resource Include="Lmage\FxemojiBellcancellation.png" />
<Resource Include="Lmage\FxemojiRingingbell.png" />

BIN
Lmage/ID001.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
Lmage/ID039.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

BIN
Lmage/ID064.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

BIN
Lmage/ID065.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
Lmage/去除图片线条.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

37
View/TechnologicalProcessView.xaml

@ -12,6 +12,7 @@
d:DesignHeight="1080" d:DesignWidth="1920">
<UserControl.Resources>
<ConvertMoels:StatenConvert x:Key="StatenConvert"/>
<ConvertMoels:StatenToImageConvert x:Key="StatenToImageConvert"/>
</UserControl.Resources>
<Grid>
<ScrollViewer PanningMode="VerticalOnly" VerticalScrollBarVisibility="Auto">
@ -93,22 +94,29 @@
<DataGridTextColumn Binding="{Binding Parameter9}" Width="0" MinWidth="0" MaxWidth="0"/>
<DataGridTextColumn Binding="{Binding Parameter10}" Width="0" MinWidth="0" MaxWidth="0"/>
<DataGridTextColumn Binding="{Binding DYELOT}" Width="0" MinWidth="0" MaxWidth="0"/>
<DataGridTextColumn Header="{x:Static lang:Resources.Directives}" Width="100" Binding="{Binding StepID}" IsReadOnly="True"/>
<DataGridTemplateColumn Header="{x:Static lang:Resources.Directives}" Width="100" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Path=StepID,Converter={StaticResource StatenToImageConvert}}" Height="100" Width="100"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="{x:Static lang:Resources.Directives}" Width="600" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<Border BorderBrush="#FFC9C9C9" BorderThickness="0,0,0,0.5">
<TextBlock Height="50" >
<Run Text="{x:Static lang:Resources.Directives}"/>
<Run Text=" : "/>
<Run Text="{x:Static lang:Resources.Function}"/>
<Run Text=":"/>
<Run Text="{Binding StepName}"/>
</TextBlock>
</Border>
<Border BorderBrush="#FFC9C9C9" BorderThickness="0,0.5,0,0">
<TextBlock Height="50" >
<Run Text="{x:Static lang:Resources.ParameterSet}"/>
<Run Text=" : "/>
<Run Text=":"/>
<Run Text="{Binding ParameterName}"/>
</TextBlock>
</Border>
@ -116,6 +124,27 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="{x:Static lang:Resources.Directives}" Width="100" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Path=StepID_S1,Converter={StaticResource StatenToImageConvert}}" Height="100" Width="100"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="{x:Static lang:Resources.Directives}" Width="100" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Path=StepID_S2,Converter={StaticResource StatenToImageConvert}}" Height="100" Width="100"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="{x:Static lang:Resources.Directives}" Width="100" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Path=StepID_S3 ,Converter={StaticResource StatenToImageConvert}}" Height="100" Width="100"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>

4
View/TechnologicalProcessView.xaml.cs

@ -308,8 +308,7 @@ namespace DyeingComputer.View
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
string sql_script = "select * from RUN";
if (sql != null) sql.Clear(); //清空缓存
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取表写入缓存
MainWindowViewModel.dt_TP = SQLiteHelpers.ExecuteDataSet(sql_script, null).Tables[0]; //读取表写入缓存
try
{
MainWindowViewModel.ProgramName = SQLiteHelpers.ExecuteScalar("select Program from RUN where Step = '1'", null).ToString();
@ -318,7 +317,6 @@ namespace DyeingComputer.View
catch (Exception) { }
SQLiteHelpers.Close(); //关闭连接
// if (sql != null)
MainWindowViewModel.dt_TP = sql.Tables[0]; //转换显示计划表
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{

13
ViewModel/MainWindowViewModel.cs

@ -880,7 +880,7 @@ namespace DyeingComputer.ViewModel
updata_RUN.Clear();
updata_RUN.Add("RUN", 1);
SQLiteHelpers.Update("RUN", updata_RUN, "Step ='"+ RUN_STEPID + "'", null);//更新
dt_TP = SQLiteHelpers.ExecuteDataSet("select * from RUN", null).Tables[0];
dt_TP = SQLiteHelpers.ExecuteDataSet("select * from RUN WHERE Mode = 0", null).Tables[0];
SQLiteHelpers.Close();//关闭数据库
}
@ -2279,6 +2279,9 @@ namespace DyeingComputer.ViewModel
public static DataTable dt_a = new DataTable("AIO");
public static DataTable dt_m = new DataTable("M");
public static DataTable dt_TP = new DataTable();
public static DataTable dt_TP_S1 = new DataTable();
public static DataTable dt_TP_S2 = new DataTable();
public static DataTable dt_TP_S3 = new DataTable();
public static DataTable dt_ParameterSet = new DataTable();
public static DataTable dt_SysSet = new DataTable();
public static void SQL_data()//获得io表
@ -2290,7 +2293,7 @@ namespace DyeingComputer.ViewModel
dt_m = SQLiteHelpers.ExecuteDataSet("select * from IOName where type='M' order by ID", null).Tables[0];
dt_ParameterSet = SQLiteHelpers.ExecuteDataSet("select * from Parameters order by ParameterID asc", null).Tables[0];
dt_SysSet = SQLiteHelpers.ExecuteDataSet("select * from System order by ParameterID asc", null).Tables[0];
dt_TP = SQLiteHelpers.ExecuteDataSet("select * from RUN", null).Tables[0];
dt_TP = SQLiteHelpers.ExecuteDataSet("select * from RUN WHERE Mode = 0", null).Tables[0];
SQLiteHelpers.Close();
dt_d.RowChanged += new DataRowChangeEventHandler(ROW_changed_D);//添加行改变触发事件
@ -2664,6 +2667,12 @@ namespace DyeingComputer.ViewModel
public double Step { get; set; }
public string StepID { get; set; }
public string StepName { get; set; }
public string StepID_S1 { get; set; }
public string StepName_S1 { get; set; }
public string StepID_S2 { get; set; }
public string StepName_S2 { get; set; }
public string StepID_S3 { get; set; }
public string StepName_S3 { get; set; }
public string ParameterName { get; set; }
public string Parameter1 { get; set; }
public string Parameter2 { get; set; }

49
Windows/ViewStep.xaml.cs

@ -158,11 +158,11 @@ namespace DyeingComputer.Windows
if (g != -1)
{
boxID.SelectedIndex = g;//有效索引传入
Set(g);
Set(a[g]);
} else
{
boxID.SelectedIndex =-1;
Set(-1);
Set("-1");
}
}
}
@ -172,7 +172,7 @@ namespace DyeingComputer.Windows
{
int i = boxID.SelectedIndex;
boxNAME.Text = a.ElementAt(i);
Set(i);
Set(a[i]);
}
}
@ -204,11 +204,11 @@ namespace DyeingComputer.Windows
this.Close(); //关闭窗口
}
private void Set(int a) //参数显示
private void Set(string a) //参数显示
{
switch (a)
{
case 0:
case "001":
P1N.Text = Properties.Resources.Target+Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Rate+ "(°C/min)";
P3N.Text = Properties.Resources.Time;
@ -223,7 +223,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 1:
case "007":
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P1.Visibility = Visibility.Visible;
@ -237,7 +237,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 2:
case "008":
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.Flowmeter;
P1.Visibility = Visibility.Visible;
@ -251,7 +251,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 3:
case "013":
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P3N.Text = Properties.Resources.Time;
@ -267,7 +267,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 4:
case "015":
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P3N.Text = Properties.Resources.Time;
@ -284,7 +284,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Visible;
P5N.Visibility = Visibility.Visible;
break;
case 5:
case "017":
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P3N.Text = Properties.Resources.Time;
@ -301,7 +301,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Visible;
P5N.Visibility = Visibility.Visible;
break;
case 6:
case "020":
P1N.Text = Properties.Resources.Drainage;
P2N.Text = Properties.Resources.WaterLevel;
P1.Visibility = Visibility.Visible;
@ -315,7 +315,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 7:
case "022":
P1N.Text = Properties.Resources.Drainage;
P2N.Text = Properties.Resources.WaterLevel;
P1.Visibility = Visibility.Visible;
@ -329,7 +329,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 8:
case "031":
P1N.Text = Properties.Resources.Time;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
@ -342,7 +342,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 15:
case "050":
P1N.Text = Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Pressure;
P1.Visibility = Visibility.Visible;
@ -356,7 +356,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 16:
case "051":
P1N.Text = Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Pressure;
P1.Visibility = Visibility.Visible;
@ -370,7 +370,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 17:
case "054":
P1N.Text = Properties.Resources.PumpSpeed;
P2N.Text = Properties.Resources.Blower;
P3N.Text = Properties.Resources.Nozzle;
@ -385,7 +385,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 20:
case "064":
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Headwaters;
P3N.Text = Properties.Resources.WaterLevel;
@ -402,7 +402,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Visible;
P5N.Visibility = Visibility.Visible;
break;
case 21:
case "065":
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Curve;
P3N.Text = Properties.Resources.Time;
@ -417,7 +417,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 22:
case "066":
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Type;
P3N.Text = Properties.Resources.Step;
@ -432,7 +432,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 23:
case "067":
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Type;
P3N.Text = Properties.Resources.Function;
@ -447,7 +447,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 24:
case "090":
P1N.Text = Properties.Resources.Target + Properties.Resources.Temperature;
P2N.Text = "PH";
P1.Visibility = Visibility.Visible;
@ -461,7 +461,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 25:
case "091":
P1N.Text = Properties.Resources.Target + Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Rate;
P3N.Text = "PH";
@ -476,7 +476,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 26:
case "093":
P1N.Text = Properties.Resources.Time;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
@ -489,7 +489,7 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 27:
case "094":
P1N.Text = Properties.Resources.Time;
P2N.Text = "PH";
P1.Visibility = Visibility.Visible;
@ -503,7 +503,6 @@ namespace DyeingComputer.Windows
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
default:
P1.Visibility = Visibility.Collapsed;
P1N.Visibility = Visibility.Collapsed;

Loading…
Cancel
Save