2024-07-02 02:09:44 +00:00
|
|
|
|
using Microsoft.Identity.Client.NativeInterop;
|
|
|
|
|
|
using Prism.Commands;
|
2024-03-11 05:12:02 +00:00
|
|
|
|
using Prism.Mvvm;
|
|
|
|
|
|
using Prism.Regions;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
using System.Threading.Tasks;
|
2024-05-10 10:13:30 +00:00
|
|
|
|
using System.Windows;
|
|
|
|
|
|
using System.Windows.Media;
|
2024-03-11 05:12:02 +00:00
|
|
|
|
|
|
|
|
|
|
namespace InSituLaboratory.ViewModels.Pages
|
|
|
|
|
|
{
|
|
|
|
|
|
public class ViewModelBase : BindableBase, INavigationAware
|
|
|
|
|
|
{
|
|
|
|
|
|
public string PageTitle { get; set; } = "页面标题";
|
|
|
|
|
|
public bool IsCanClose { get; set; } = true;
|
|
|
|
|
|
|
|
|
|
|
|
public string SearchKey { get; set; }
|
2024-03-15 02:27:50 +00:00
|
|
|
|
public string PrimaryKey { get; set; }
|
2024-03-11 05:12:02 +00:00
|
|
|
|
|
2024-05-10 10:13:30 +00:00
|
|
|
|
#region 数据下载实体类
|
|
|
|
|
|
|
|
|
|
|
|
private bool downloadDataBtnIsEnabled = true;
|
|
|
|
|
|
public bool DownloadDataBtnIsEnabled
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return downloadDataBtnIsEnabled; }
|
|
|
|
|
|
set { SetProperty(ref downloadDataBtnIsEnabled, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Visibility downloadDataMsgVisibility = Visibility.Visible;
|
|
|
|
|
|
public Visibility DownloadDataMsgVisibility
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return downloadDataMsgVisibility; }
|
|
|
|
|
|
set { SetProperty(ref downloadDataMsgVisibility, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private string downloadDataMsg;
|
|
|
|
|
|
|
|
|
|
|
|
public string DownloadDataMsg
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return downloadDataMsg; }
|
|
|
|
|
|
set { SetProperty(ref downloadDataMsg, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private Brush downloadDataMsgForeground;
|
|
|
|
|
|
|
|
|
|
|
|
public Brush DownloadDataMsgForeground
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return downloadDataMsgForeground; }
|
|
|
|
|
|
set { SetProperty(ref downloadDataMsgForeground, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
2024-03-11 05:12:02 +00:00
|
|
|
|
|
|
|
|
|
|
public DelegateCommand CloseCommand { get; set; }
|
|
|
|
|
|
public DelegateCommand RefreshCommand { get; set; }
|
|
|
|
|
|
public DelegateCommand<object> ModifyCommand { get; set; }
|
|
|
|
|
|
public DelegateCommand<object> DeleteCommand { get; set; }
|
2024-05-10 10:13:30 +00:00
|
|
|
|
public DelegateCommand DownloadCommand { get; set; }
|
2024-05-17 10:37:55 +00:00
|
|
|
|
public DelegateCommand<object> ConnectionCommand { get; set; }
|
2024-06-12 10:17:01 +00:00
|
|
|
|
public DelegateCommand ReductionCommand { get; set; } //一键还原
|
|
|
|
|
|
public DelegateCommand StartCommand { get; set; }//一键启动
|
2024-06-13 10:17:25 +00:00
|
|
|
|
public DelegateCommand SynchronizationCommand { get; set; }//时间同步
|
2024-03-11 05:12:02 +00:00
|
|
|
|
|
2024-07-02 02:09:44 +00:00
|
|
|
|
public DelegateCommand<object> SyncCommand { get; set; }//请求当前时序
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-06-19 06:01:51 +00:00
|
|
|
|
#region 时序1-5 刷新 新增/编辑 删除 下发 启动 暂停 清空
|
2024-07-02 02:09:44 +00:00
|
|
|
|
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public DelegateCommand RefreshS1Command { get; set; }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public DelegateCommand SendS1Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public DelegateCommand<object> ModifyS1Command { get; set; }
|
|
|
|
|
|
public DelegateCommand<object> DeleteS1Command { get; set; }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public DelegateCommand BeginS1Command { get; set; }
|
|
|
|
|
|
public DelegateCommand SuspendS1Command { get; set; }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public DelegateCommand ClearS1Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DelegateCommand RefreshS2Command { get; set; }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public DelegateCommand SendS2Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public DelegateCommand<object> ModifyS2Command { get; set; }
|
|
|
|
|
|
public DelegateCommand<object> DeleteS2Command { get; set; }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public DelegateCommand BeginS2Command { get; set; }
|
|
|
|
|
|
public DelegateCommand SuspendS2Command { get; set; }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public DelegateCommand ClearS2Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
public DelegateCommand RefreshS3Command { get; set; }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public DelegateCommand SendS3Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public DelegateCommand<object> ModifyS3Command { get; set; }
|
|
|
|
|
|
public DelegateCommand<object> DeleteS3Command { get; set; }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public DelegateCommand BeginS3Command { get; set; }
|
|
|
|
|
|
public DelegateCommand SuspendS3Command { get; set; }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public DelegateCommand ClearS3Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
public DelegateCommand RefreshS4Command { get; set; }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public DelegateCommand SendS4Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public DelegateCommand<object> ModifyS4Command { get; set; }
|
|
|
|
|
|
public DelegateCommand<object> DeleteS4Command { get; set; }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public DelegateCommand BeginS4Command { get; set; }
|
|
|
|
|
|
public DelegateCommand SuspendS4Command { get; set; }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public DelegateCommand ClearS4Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
public DelegateCommand RefreshS5Command { get; set; }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public DelegateCommand SendS5Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public DelegateCommand<object> ModifyS5Command { get; set; }
|
|
|
|
|
|
public DelegateCommand<object> DeleteS5Command { get; set; }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public DelegateCommand BeginS5Command { get; set; }
|
|
|
|
|
|
public DelegateCommand SuspendS5Command { get; set; }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public DelegateCommand ClearS5Command { get; set; }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-11 05:12:02 +00:00
|
|
|
|
IRegionManager _regionManager;
|
|
|
|
|
|
public ViewModelBase(IRegionManager regionManager)
|
|
|
|
|
|
{
|
|
|
|
|
|
_regionManager = regionManager;
|
|
|
|
|
|
|
|
|
|
|
|
CloseCommand = new DelegateCommand(DoClose);
|
|
|
|
|
|
RefreshCommand = new DelegateCommand(Refresh);
|
|
|
|
|
|
ModifyCommand = new DelegateCommand<object>(DoModify);
|
|
|
|
|
|
DeleteCommand = new DelegateCommand<object>(DoDelete);
|
2024-05-10 10:13:30 +00:00
|
|
|
|
DownloadCommand = new DelegateCommand(DoDownload);
|
2024-05-17 10:37:55 +00:00
|
|
|
|
ConnectionCommand = new DelegateCommand<object>(DoConnection);
|
2024-06-12 10:17:01 +00:00
|
|
|
|
ReductionCommand = new DelegateCommand(DoReduction);
|
|
|
|
|
|
StartCommand = new DelegateCommand(DoStart);
|
2024-06-13 10:17:25 +00:00
|
|
|
|
SynchronizationCommand = new DelegateCommand(DoSynchronization);
|
2024-07-02 02:09:44 +00:00
|
|
|
|
SyncCommand = new DelegateCommand<object>(DoSync);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
2024-06-19 06:01:51 +00:00
|
|
|
|
#region 时序1-5 刷新 新增/编辑 删除 下发 启动 暂停 清空
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
RefreshS1Command = new DelegateCommand(RefreshS1);
|
2024-04-16 09:58:37 +00:00
|
|
|
|
SendS1Command = new DelegateCommand(SendS1);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
ModifyS1Command = new DelegateCommand<object>(DoModifyS1);
|
|
|
|
|
|
DeleteS1Command = new DelegateCommand<object>(DoDeleteS1);
|
2024-06-19 02:19:37 +00:00
|
|
|
|
BeginS1Command = new DelegateCommand(BeginS1);
|
|
|
|
|
|
SuspendS1Command = new DelegateCommand(SuspendS1);
|
2024-06-19 06:01:51 +00:00
|
|
|
|
ClearS1Command = new DelegateCommand(ClearS1);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
RefreshS2Command = new DelegateCommand(RefreshS2);
|
2024-04-16 09:58:37 +00:00
|
|
|
|
SendS2Command = new DelegateCommand(SendS2);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
ModifyS2Command = new DelegateCommand<object>(DoModifyS2);
|
|
|
|
|
|
DeleteS2Command = new DelegateCommand<object>(DoDeleteS2);
|
2024-06-19 02:19:37 +00:00
|
|
|
|
BeginS2Command = new DelegateCommand(BeginS2);
|
|
|
|
|
|
SuspendS2Command = new DelegateCommand(SuspendS2);
|
2024-06-19 06:01:51 +00:00
|
|
|
|
ClearS2Command = new DelegateCommand(ClearS2);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
RefreshS3Command = new DelegateCommand(RefreshS3);
|
2024-04-16 09:58:37 +00:00
|
|
|
|
SendS3Command = new DelegateCommand(SendS3);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
ModifyS3Command = new DelegateCommand<object>(DoModifyS3);
|
|
|
|
|
|
DeleteS3Command = new DelegateCommand<object>(DoDeleteS3);
|
2024-06-19 02:19:37 +00:00
|
|
|
|
BeginS3Command = new DelegateCommand(BeginS3);
|
|
|
|
|
|
SuspendS3Command = new DelegateCommand(SuspendS3);
|
2024-06-19 06:01:51 +00:00
|
|
|
|
ClearS3Command = new DelegateCommand(ClearS3);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
RefreshS4Command = new DelegateCommand(RefreshS4);
|
2024-04-16 09:58:37 +00:00
|
|
|
|
SendS4Command = new DelegateCommand(SendS4);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
ModifyS4Command = new DelegateCommand<object>(DoModifyS4);
|
|
|
|
|
|
DeleteS4Command = new DelegateCommand<object>(DoDeleteS4);
|
2024-06-19 02:19:37 +00:00
|
|
|
|
BeginS4Command = new DelegateCommand(BeginS4);
|
|
|
|
|
|
SuspendS4Command = new DelegateCommand(SuspendS4);
|
2024-06-19 06:01:51 +00:00
|
|
|
|
ClearS4Command = new DelegateCommand(ClearS4);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
RefreshS5Command = new DelegateCommand(RefreshS5);
|
2024-04-16 09:58:37 +00:00
|
|
|
|
SendS5Command = new DelegateCommand(SendS5);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
ModifyS5Command = new DelegateCommand<object>(DoModifyS5);
|
|
|
|
|
|
DeleteS5Command = new DelegateCommand<object>(DoDeleteS5);
|
2024-06-19 02:19:37 +00:00
|
|
|
|
BeginS5Command = new DelegateCommand(BeginS5);
|
|
|
|
|
|
SuspendS5Command = new DelegateCommand(SuspendS5);
|
2024-06-19 06:01:51 +00:00
|
|
|
|
ClearS5Command = new DelegateCommand(ClearS5);
|
2024-04-09 08:17:44 +00:00
|
|
|
|
#endregion
|
2024-03-11 05:12:02 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void DoClose()
|
|
|
|
|
|
{
|
|
|
|
|
|
//拿到主区域,从区域里移除对应的页面,根据页面的名称
|
|
|
|
|
|
var region = _regionManager.Regions["MainRegion"];
|
|
|
|
|
|
var view = region.Views.Where(v => v.GetType().Name == PageName).FirstOrDefault();
|
|
|
|
|
|
if (view != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
region.Remove(view);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public virtual void Refresh() { }
|
|
|
|
|
|
public virtual void DoModify(object model) { }
|
|
|
|
|
|
public virtual void DoDelete(object model) { }
|
2024-05-10 10:13:30 +00:00
|
|
|
|
public virtual void DoDownload() { }
|
2024-05-17 10:37:55 +00:00
|
|
|
|
public virtual void DoConnection(object model) { }
|
2024-06-12 10:17:01 +00:00
|
|
|
|
public virtual void DoReduction() { }
|
|
|
|
|
|
public virtual void DoStart() { }
|
2024-06-13 10:17:25 +00:00
|
|
|
|
public virtual void DoSynchronization() { }
|
2024-03-11 05:12:02 +00:00
|
|
|
|
private string PageName { get; set; }
|
2024-07-02 02:09:44 +00:00
|
|
|
|
public virtual void DoSync(object o) { }
|
2024-03-11 05:12:02 +00:00
|
|
|
|
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
2024-06-19 06:01:51 +00:00
|
|
|
|
#region 时序1-5 刷新 新增/编辑 删除 下发 启动 暂停 清空
|
2024-07-02 02:09:44 +00:00
|
|
|
|
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public virtual void RefreshS1() { }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public virtual void SendS1() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public virtual void DoModifyS1(object model) { }
|
|
|
|
|
|
public virtual void DoDeleteS1(object model) { }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public virtual void BeginS1() { }
|
|
|
|
|
|
public virtual void SuspendS1() { }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public virtual void ClearS1() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public virtual void RefreshS2() { }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public virtual void SendS2() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public virtual void DoModifyS2(object model) { }
|
|
|
|
|
|
public virtual void DoDeleteS2(object model) { }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public virtual void BeginS2() { }
|
|
|
|
|
|
public virtual void SuspendS2() { }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public virtual void ClearS2() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public virtual void RefreshS3() { }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public virtual void SendS3() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public virtual void DoModifyS3(object model) { }
|
|
|
|
|
|
public virtual void DoDeleteS3(object model) { }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public virtual void BeginS3() { }
|
|
|
|
|
|
public virtual void SuspendS3() { }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public virtual void ClearS3() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public virtual void RefreshS4() { }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public virtual void SendS4() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public virtual void DoModifyS4(object model) { }
|
|
|
|
|
|
public virtual void DoDeleteS4(object model) { }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public virtual void BeginS4() { }
|
|
|
|
|
|
public virtual void SuspendS4() { }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public virtual void ClearS4() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public virtual void RefreshS5() { }
|
2024-04-16 09:58:37 +00:00
|
|
|
|
public virtual void SendS5() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
public virtual void DoModifyS5(object model) { }
|
|
|
|
|
|
public virtual void DoDeleteS5(object model) { }
|
2024-06-19 02:19:37 +00:00
|
|
|
|
public virtual void BeginS5() { }
|
|
|
|
|
|
public virtual void SuspendS5() { }
|
2024-06-19 06:01:51 +00:00
|
|
|
|
public virtual void ClearS5() { }
|
2024-04-09 08:17:44 +00:00
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-11 05:12:02 +00:00
|
|
|
|
public void OnNavigatedTo(NavigationContext navigationContext)
|
|
|
|
|
|
{
|
|
|
|
|
|
PageName = navigationContext.Uri.ToString();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public bool IsNavigationTarget(NavigationContext navigationContext)
|
|
|
|
|
|
{
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-05-10 10:13:30 +00:00
|
|
|
|
public void OnNavigatedFrom(NavigationContext navigationContext) { }
|
2024-03-11 05:12:02 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|