| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- using System;
- using CustomUI;
- using System.Windows;
- using System.Windows.Controls;
- using SHJX.Service.Model.Control;
- using SHJX.Service.Common.CustomUtil;
- using SHJX.Service.Common.UserDelegate;
- using System.Collections.Generic;
- namespace SHJX.Service.Librarys.MainLibrarys
- {
- /// <summary>
- /// ModeSetting.xaml 的交互逻辑
- /// </summary>
- public partial class ModeSetting : Window
- {
- public string SampleVolume
- {
- get => (string)GetValue(CenterTextProperty);
- set => SetValue(CenterTextProperty, value);
- }
- public static readonly DependencyProperty CenterTextProperty =
- DependencyProperty.Register(
- nameof(SampleVolume), typeof(string),
- typeof(ModeSetting), new UIPropertyMetadata("10", CenterTextChangedCallback));
-
- private static void CenterTextChangedCallback(DependencyObject obj, DependencyPropertyChangedEventArgs args)
- {
- var control = obj as ModeSetting;
- var sampleVolume = control?.TxtSampleNum;
- var sampleMultiple = control?.TxtMultiple;
- if (sampleVolume is null || sampleMultiple is null) return;
- if (Convert.ToDouble(args.NewValue) <= 0 || Convert.ToDouble(args.NewValue) > 10)
- {
- sampleVolume.Text = args.OldValue.ToString();
- return;
- }
- sampleVolume.Text = args.NewValue.ToString();
- }
- private string _detail;
- public string CreateDetailInfo
- {
- get
- {
- if (string.IsNullOrWhiteSpace(_detail))
- {
- _detail = DateTime.Now.ToString("MMddmmss");
- }
- return _detail;
- }
- set => _detail = value;
- }
- private readonly string _opKey;
- public ModeSetting(string detail, string color,string opKey)
- {
- var detailInfo = detail;
- _opKey = opKey;
- Owner = Application.Current.MainWindow;
- InitializeComponent();
- if (!(string.IsNullOrWhiteSpace(detailInfo)|| detailInfo=="补杯"))
- {
- txt_ModeDetail.Text = detailInfo;
- }
- CreateDetailInfo = DateTime.Now.ToString("MMddmmss");
- if (color.ToLower() == "#ff99cc" || color.ToLower() == "#ffcccc")
- {
- btn_Sure.IsEnabled = false;
- }
- var detailArg = DataCache.Get<SampleDetail>(opKey);
- if (detailArg is not null)
- {
- InitData(detailArg);
- }
- }
- public void InitData(SampleDetail detailArgs)
- {
- txt_ModeDetail.Text = detailArgs.Detail;
- SampleVolume = detailArgs.SampleVolume.ToString();
- TxtMultiple.Text = detailArgs.Multiple.ToString();
- txt_HgSO.Text = detailArgs.HgSO4.ToString();
- foreach (SegmentItem item in cb_Mode.Items)
- {
- if (item.Content.Equals(detailArgs.SampleType))
- {
- cb_Mode.SelectedItem = item;
- }
- }
- foreach (SegmentItem item in cb_Concentration.Items)
- {
- if (item.Content.Equals(detailArgs.Concentration))
- {
- cb_Concentration.SelectedItem = item;
- }
- }
- cb_send.IsChecked = detailArgs.WhetherSend;
-
- }
- public ModeSetting()
- {
- Owner = Application.Current.MainWindow;
- InitializeComponent();
- }
- private void Cancel_Click(object sender, RoutedEventArgs e)
- {
- Close();
- }
- private void cb_Mode_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- txt_ModeDetail.Text = ((SegmentItem)cb_Mode.SelectedItem).Content.ToString() switch
- {
- "水样" => CreateDetailInfo,
- _ => (cb_Mode.SelectedItem as SegmentItem).Content.ToString(),
- };
- }
- private void btn_Sure_Click(object sender, RoutedEventArgs e)
- {
- try
- {
- SampleDetail detailArgs = new SampleDetail()
- {
- NodeName = _opKey,
- Detail = txt_ModeDetail.Text,
- SampleVolume = Convert.ToDouble(TxtSampleNum.Text),
- Multiple = Convert.ToDouble(TxtMultiple.Text),
- HgSO4 = Convert.ToDouble(txt_HgSO.Text),
- SampleType = ((SegmentItem)cb_Mode.SelectedItem).Content.ToString(),
- Concentration = ((SegmentItem)cb_Concentration.SelectedItem).Content.ToString(),
- QuickTitration = cb_quick.IsChecked != null && (bool)cb_quick.IsChecked,
- WhetherSend = cb_send.IsChecked != null && (bool)cb_send.IsChecked
- };
- if (detailArgs.WhetherSend)
- {
- DataCache.Set(_opKey, detailArgs);
- }
- else
- {
- DataCache.Remove(_opKey);
- }
- Messager.Send("sample", detailArgs);
- Close();
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- private void TxtSampleNum_TextChanged(object sender, TextChangedEventArgs e)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(TxtSampleNum.Text))
- {
- TxtMultiple.Text = "0";
- return;
- }
- TxtMultiple.Text = $"{10 / Convert.ToDouble(TxtSampleNum.Text):F2}";
- }
- catch (Exception)
- {
- throw;
- }
- }
- }
- }
|