From 78994d1c8243018f6e37717e3ea0a0297d491bd8 Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期五, 10 七月 2020 13:10:24 +0800
Subject: [PATCH] 标签显示和列表联动修改
---
src/Bro.M071.Process/UI/M071_MainForm.cs | 40 +++++++++++++
src/Bro.UI.Model.Winform/UI/CanvasImage.cs | 2
src/Bro.M071.Process/M071Process.cs | 7 +
src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs | 16 +++++
src/Bro.M071.Process/UI/M071_ShortcutFrm.cs | 12 +++-
src/Bro.UI.Model.Winform/UI/Canvas.cs | 17 ++++-
src/Bro.UI.Model.Winform/ElementBase.cs | 3
src/Bro.M071.Process/UI/M071_MainForm.Designer.cs | 10 +++
src/Bro.UI.Config/MenuForms/FrmOperation.cs | 29 ++++++---
src/Bro.M071.Process/M071Config.cs | 5 +
src/Bro.M071.Process/UI/KeyIndicator.cs | 7 +-
11 files changed, 122 insertions(+), 26 deletions(-)
diff --git a/src/Bro.M071.Process/M071Config.cs b/src/Bro.M071.Process/M071Config.cs
index f2b54c1..b0944f2 100644
--- a/src/Bro.M071.Process/M071Config.cs
+++ b/src/Bro.M071.Process/M071Config.cs
@@ -101,5 +101,10 @@
[Category("灞忚斀閰嶇疆")]
[Description("true锛氱姝㈡墜鍔ㄨ緭鍏ユ潯鐮� false锛氬厑璁告墜鍔ㄨ緭鍏ユ潯鐮�")]
public bool IsBarcodeManulInputBlocked { get; set; } = true;
+
+ [Category("MES璁剧疆")]
+ [Description("true锛氭暟鎹笂浼犺嚦MES false锛氭暟鎹笉涓婁紶")]
+ [ReadOnly(true)]
+ public bool IsEnableMESUpload { get; set; } = false;
}
}
diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs
index 6b0702d..7f239ef 100644
--- a/src/Bro.M071.Process/M071Process.cs
+++ b/src/Bro.M071.Process/M071Process.cs
@@ -378,6 +378,9 @@
var measurementUnitResultAndKeyUnitDataSet = GetMeasurementUnitResultAndKeyUnitData(pMeasure);
//MES杈撳嚭 todo
+ if (Config.IsEnableMESUpload)
+ {
+ }
//Excel鎶ヨ〃杈撳嚭 锛堝崟涓骇鍝佺殑excel瀵煎嚭锛�
ExportProductionExcel(measurementUnitResultAndKeyUnitDataSet);
@@ -460,7 +463,7 @@
measurementUnitResult.ProductionMeasurementRecordsId = productionMeasurementRecords.ID;
measurementUnitResult.MeasurementName = MeasurementUnitResult.Name;
measurementUnitResult.MeasurementType = MeasurementUnitResult.MeasureType;
- measurementUnitResult.MeasurementValue = "";
+ measurementUnitResult.MeasurementValue = MeasurementUnitResult.Spec.ActualValue.ToString();
measurementUnitResult.MeasurementResult = MeasurementUnitResult.Spec.MeasureResult.Value ? "OK" : "NG";
measurementUnitResults.Add(measurementUnitResult);
@@ -521,7 +524,7 @@
excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[1]] = ExcelExportHelper.ListToDataTable(measurementUnitResultAndKeyUnitDataSet.MeasurementUnitResultList, measurementUnitResultColumns); ;
byte[] filecontent = ExcelExportHelper.ExportExcel(excelExportDto, false);
- string dir = Path.Combine(Config.ImageSaveFolder, DateTime.Now.ToString("yyyyMMdd"));
+ string dir = Path.Combine(Config.ResultDataSaveFolder, DateTime.Now.ToString("yyyyMMdd"));
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
diff --git a/src/Bro.M071.Process/UI/KeyIndicator.cs b/src/Bro.M071.Process/UI/KeyIndicator.cs
index ec6d69b..8d43b6b 100644
--- a/src/Bro.M071.Process/UI/KeyIndicator.cs
+++ b/src/Bro.M071.Process/UI/KeyIndicator.cs
@@ -139,17 +139,18 @@
public override bool IsMouseCanStretchBottom(Point p)
{
- return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width / 2)) < 10 && Math.Abs(p.Y - DisplayRect.Y - DisplayRect.Height) < 10;
+
+ return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width / 2)) < (DisplayRect.Width / 3) && Math.Abs(p.Y - DisplayRect.Y - DisplayRect.Height) < (DisplayRect.Height / 3);
}
public override bool IsMouseCanStretchRight(Point p)
{
- return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < 10 && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height / 2)) < 10;
+ return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < (DisplayRect.Width / 3) && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height / 2)) < (DisplayRect.Height / 3);
}
public override bool IsMouseCanStretchRightLowerCorner(Point p)
{
- return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < 10 && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height)) < 10;
+ return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < (DisplayRect.Width / 3) && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height)) < (DisplayRect.Height / 3);
}
int x, y = 0;
diff --git a/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs b/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs
index a7e2e8d..abd460f 100644
--- a/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs
+++ b/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs
@@ -44,6 +44,7 @@
this.btnCancelEdit = new System.Windows.Forms.Button();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.lvMeasures = new System.Windows.Forms.ListView();
+ this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.propGridKeyIndicator = new System.Windows.Forms.PropertyGrid();
this.btnStartMeasure = new System.Windows.Forms.Button();
this.btnReset = new System.Windows.Forms.Button();
@@ -228,6 +229,9 @@
//
// lvMeasures
//
+ this.lvMeasures.BackColor = System.Drawing.SystemColors.Control;
+ this.lvMeasures.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader1});
this.lvMeasures.Dock = System.Windows.Forms.DockStyle.Fill;
this.lvMeasures.Font = new System.Drawing.Font("Tahoma", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(134)));
this.lvMeasures.FullRowSelect = true;
@@ -241,6 +245,11 @@
this.lvMeasures.View = System.Windows.Forms.View.List;
this.lvMeasures.SelectedIndexChanged += new System.EventHandler(this.lvMeasures_SelectedIndexChanged);
this.lvMeasures.DoubleClick += new System.EventHandler(this.lvMeasures_DoubleClick);
+ //
+ // columnHeader1
+ //
+ this.columnHeader1.Text = "妫�娴嬫爣绛�";
+ this.columnHeader1.Width = 181;
//
// propGridKeyIndicator
//
@@ -333,5 +342,6 @@
private System.Windows.Forms.Label lblCT;
private System.Windows.Forms.Button btnStartMeasure;
private System.Windows.Forms.Button btnReset;
+ private System.Windows.Forms.ColumnHeader columnHeader1;
}
}
\ No newline at end of file
diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs
index 938e116..7f507bc 100644
--- a/src/Bro.M071.Process/UI/M071_MainForm.cs
+++ b/src/Bro.M071.Process/UI/M071_MainForm.cs
@@ -38,6 +38,8 @@
await Task.Delay(300);
cvImage.SetScreenSize();
+ cvImage.OnElementChangedHandle -= CvImage_OnElementChangedHandle;
+ cvImage.OnElementChangedHandle += CvImage_OnElementChangedHandle;
};
}
@@ -119,10 +121,45 @@
#endregion
#region 鏍囩缂栬緫鍖�
+ private async void CvImage_OnElementChangedHandle(Common.Interface.IShapeElement ele)
+ {
+ this.Invoke(new Action(() =>
+ {
+ if (ele is KeyIndicator indicator)
+ {
+ if (indicator.State == ElementState.Selected)
+ {
+ foreach (ListViewItem item in lvMeasures.Items)
+ {
+ if (item.Tag.ToString() == indicator.ID)
+ {
+ item.Selected = true;
+
+ lvMeasures.EnsureVisible(item.Index);
+ break;
+ }
+ }
+ }
+ }
+ }));
+
+ await Task.Delay(100);
+ }
+
private void lvMeasures_SelectedIndexChanged(object sender, EventArgs e)
{
if (lvMeasures.SelectedItems.Count <= 0)
return;
+
+ foreach (ListViewItem item in lvMeasures.Items)
+ {
+ item.BackColor = SystemColors.Control;
+ }
+
+ foreach (ListViewItem item in lvMeasures.SelectedItems)
+ {
+ item.BackColor = Color.Orange;
+ }
var ele = cvImage.Elements.FirstOrDefault(u => u.ID == lvMeasures.SelectedItems[0].Tag.ToString());
propGridKeyIndicator.SelectedObject = ele;
@@ -167,11 +204,12 @@
if (lvMeasures.SelectedItems.Count <= 0)
return;
+ cvImage.Elements.ToList().ForEach(u => u.State = ElementState.Normal);
var ele = cvImage.Elements.FirstOrDefault(u => u.ID == lvMeasures.SelectedItems[0].Tag.ToString());
if (ele != null)
{
ele.State = ElementState.Selected;
- cvImage.Invalidate();
+ //cvImage.Invalidate();
}
}
#endregion
diff --git a/src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs b/src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs
index eca6a77..3a1c2ce 100644
--- a/src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs
+++ b/src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs
@@ -34,6 +34,7 @@
this.chkBlockBeep = new System.Windows.Forms.CheckBox();
this.chkManualInputForbidden = new System.Windows.Forms.CheckBox();
this.btnLightSwitch = new System.Windows.Forms.Button();
+ this.chkEnableMESUpload = new System.Windows.Forms.CheckBox();
this.flowLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
@@ -43,6 +44,7 @@
this.flowLayoutPanel1.Controls.Add(this.chkBlockSafetyBeam);
this.flowLayoutPanel1.Controls.Add(this.chkBlockBeep);
this.flowLayoutPanel1.Controls.Add(this.chkManualInputForbidden);
+ this.flowLayoutPanel1.Controls.Add(this.chkEnableMESUpload);
this.flowLayoutPanel1.Controls.Add(this.btnLightSwitch);
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
@@ -96,13 +98,24 @@
//
// btnLightSwitch
//
- this.btnLightSwitch.Location = new System.Drawing.Point(419, 3);
+ this.btnLightSwitch.Location = new System.Drawing.Point(543, 3);
this.btnLightSwitch.Name = "btnLightSwitch";
this.btnLightSwitch.Size = new System.Drawing.Size(75, 36);
this.btnLightSwitch.TabIndex = 5;
this.btnLightSwitch.Text = "鏃ュ厜鐏紑鍏�";
this.btnLightSwitch.UseVisualStyleBackColor = true;
this.btnLightSwitch.Click += new System.EventHandler(this.btnLightSwitch_Click);
+ //
+ // chkEnableMESUpload
+ //
+ this.chkEnableMESUpload.AutoSize = true;
+ this.chkEnableMESUpload.Location = new System.Drawing.Point(419, 3);
+ this.chkEnableMESUpload.Name = "chkEnableMESUpload";
+ this.chkEnableMESUpload.Size = new System.Drawing.Size(118, 17);
+ this.chkEnableMESUpload.TabIndex = 6;
+ this.chkEnableMESUpload.Text = "鍚敤MES鏁版嵁涓婁紶";
+ this.chkEnableMESUpload.UseVisualStyleBackColor = true;
+ this.chkEnableMESUpload.CheckedChanged += new System.EventHandler(this.chkEnableMESUpload_CheckedChanged);
//
// M071_ShortcutFrm
//
@@ -126,5 +139,6 @@
private System.Windows.Forms.CheckBox chkBlockBeep;
private System.Windows.Forms.CheckBox chkManualInputForbidden;
private System.Windows.Forms.Button btnLightSwitch;
+ private System.Windows.Forms.CheckBox chkEnableMESUpload;
}
}
\ No newline at end of file
diff --git a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
index d5961a9..01c11b7 100644
--- a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
+++ b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
@@ -29,8 +29,8 @@
M071Config Config => Process?.IConfig as M071Config;
M071Process Process_M071 => Process as M071Process;
- protected override bool IsLogin
- {
+ protected override bool IsLogin
+ {
get => base.IsLogin;
set
{
@@ -42,7 +42,7 @@
{
this.Invoke(new Action(() =>
{
- chkBlockSafetyBeam.Enabled = chkBlockSaftyDoor.Enabled = IsLogin;
+ chkEnableMESUpload.Enabled = chkBlockSafetyBeam.Enabled = chkBlockSaftyDoor.Enabled = IsLogin;
}));
}
});
@@ -63,6 +63,7 @@
chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
chkManualInputForbidden.Checked = Config.IsBarcodeManulInputBlocked;
+ chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
}));
}
});
@@ -94,5 +95,10 @@
isLightOn = !isLightOn;
Process_M071.SwitchLight(isLightOn);
}
+
+ private void chkEnableMESUpload_CheckedChanged(object sender, EventArgs e)
+ {
+ Config.IsEnableMESUpload = chkEnableMESUpload.Checked;
+ }
}
}
diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.cs b/src/Bro.UI.Config/MenuForms/FrmOperation.cs
index 025c4fb..e1c128c 100644
--- a/src/Bro.UI.Config/MenuForms/FrmOperation.cs
+++ b/src/Bro.UI.Config/MenuForms/FrmOperation.cs
@@ -28,16 +28,21 @@
LoadProcessCode();
LoadProductionCode();
- Task.Run(() =>
- {
- Thread.Sleep(1000);
+ //Task.Run(() =>
+ //{
+ // Thread.Sleep(1000);
- if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
- {
- LoadProcess();
- _isFirstLoad = false;
- }
- });
+ // if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
+ // {
+ // LoadProcess();
+ // _isFirstLoad = false;
+ // }
+ //});
+ //if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
+ //{
+ // LoadProcess();
+ // _isFirstLoad = false;
+ //}
}
#region Load Codes
@@ -128,6 +133,12 @@
private void FrmOperation_Load(object sender, System.EventArgs e)
{
+ if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
+ {
+ LoadProcess();
+ _isFirstLoad = false;
+ }
+
btnStart.Enabled = true;
}
diff --git a/src/Bro.UI.Model.Winform/ElementBase.cs b/src/Bro.UI.Model.Winform/ElementBase.cs
index 899ff14..c0feb9d 100644
--- a/src/Bro.UI.Model.Winform/ElementBase.cs
+++ b/src/Bro.UI.Model.Winform/ElementBase.cs
@@ -190,9 +190,8 @@
if (state != value)
{
ElementState preState = state;
- state = value;
+ Set(ref state, value);
EventRouter.ChangeElementsMouseState?.Invoke(this, preState, state);
-
switch (state)
{
case ElementState.MouseHover:
diff --git a/src/Bro.UI.Model.Winform/UI/Canvas.cs b/src/Bro.UI.Model.Winform/UI/Canvas.cs
index 16ae7be..9b7102f 100644
--- a/src/Bro.UI.Model.Winform/UI/Canvas.cs
+++ b/src/Bro.UI.Model.Winform/UI/Canvas.cs
@@ -237,7 +237,7 @@
{
ele.IsEnabled = e.CheckedState;
}
- OnElementChanged();
+ OnElementChanged(null);
}
private void dgElements_SelectionChanged(object sender, EventArgs e)
@@ -270,7 +270,7 @@
private void Elements_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
- OnElementChanged();
+ OnElementChanged(null);
foreach (IShapeElement ele in Elements)
{
@@ -281,14 +281,17 @@
private void Ele_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
- OnElementChanged();
+ OnElementChanged(sender as IShapeElement);
}
- private void OnElementChanged()
+ private void OnElementChanged(IShapeElement ele)
{
+ if (ele != null)
+ OnElementChangedHandle?.Invoke(ele);
+
if (InvokeRequired)
{
- Invoke(new Action(() => OnElementChanged()));
+ Invoke(new Action(() => OnElementChanged(ele)));
}
else
{
@@ -543,5 +546,9 @@
}
}
#endregion
+
+ #region 浜嬩欢
+ public event Action<IShapeElement> OnElementChangedHandle;
+ #endregion
}
}
diff --git a/src/Bro.UI.Model.Winform/UI/CanvasImage.cs b/src/Bro.UI.Model.Winform/UI/CanvasImage.cs
index 0de094a..3bd6941 100644
--- a/src/Bro.UI.Model.Winform/UI/CanvasImage.cs
+++ b/src/Bro.UI.Model.Winform/UI/CanvasImage.cs
@@ -358,6 +358,8 @@
MouseState = MouseState.Normal;
}
}
+
+ this.Invalidate();
}
#endregion
--
Gitblit v1.8.0