diff --git a/MainWindow.xaml b/MainWindow.xaml
index fd49a08..a8c7309 100644
--- a/MainWindow.xaml
+++ b/MainWindow.xaml
@@ -5,13 +5,13 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:CeramicProjectTool"
mc:Ignorable="d"
- Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded">
+ Title="MainWindow" Height="500" Width="800" MinHeight="500" MinWidth="800" Loaded="Window_Loaded">
-
+
/// ID
///
- [SugarColumn(ColumnName = "id")]
+ [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
public int Id { get; set; }
///
///
@@ -32,7 +32,7 @@ namespace CeramicProjectTool.Model
/// 模块名称
///
[SugarColumn(ColumnName = "mc")]
- public string MC { get; set; }
+ public string ModuleName { get; set; }
///
/// 模块路径
///
diff --git a/Model/PermissonModel.cs b/Model/PermissonModel.cs
index 9d6b016..e517001 100644
--- a/Model/PermissonModel.cs
+++ b/Model/PermissonModel.cs
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace CeramicProjectTool.Model
{
- [SugarTable("view_quanxian")]
+ [SugarTable(tableName: "nr_sys_gn")]
public class PermissonModel
{
/* dbo.nr_sys_gn.mokuan,
@@ -17,43 +17,19 @@ namespace CeramicProjectTool.Model
* dbo.nr_z_quanxian.jsid,
* dbo.nr_z_quanxian.gnid,
* dbo.nr_z_yhjs.mingcheng*/
- ///
- /// 模块名称
- ///
+ //Id
+ [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+ public int Id { get; set; }
[SugarColumn(ColumnName = "mokuan")]
public string ModuleName { get; set; }
-
- ///
- /// 表名
- ///
[SugarColumn(ColumnName = "biao")]
public string Table { get; set; }
-
- ///
- /// 功能名称
- ///
[SugarColumn(ColumnName = "gongneng")]
- public string Gongneng { get; set; }
- ///
- /// 序号
- ///
+ public string Feature { get; set; }
[SugarColumn(ColumnName = "xuhao")]
public int SeqNo { get; set; }
- ///
- /// 角色Id
- ///
- [SugarColumn(ColumnName = "jsid")]
- public int RuleId { get; set; }
- ///
- /// 功能编号
- ///
- [SugarColumn(ColumnName = "gnid")]
- public int Gnid { get; set; }
-
- ///
- /// 角色名称
- ///
- [SugarColumn(ColumnName = "mingcheng")]
- public string RuleName { get; set; }
+ [SugarColumn(ColumnName = "jieshi")]
+ public string Remark { get; set; }
+ public int gen { get; set; }
}
}
diff --git a/Model/RuleModel.cs b/Model/RuleModel.cs
index 68c70a6..64130d0 100644
--- a/Model/RuleModel.cs
+++ b/Model/RuleModel.cs
@@ -14,7 +14,7 @@ namespace CeramicProjectTool.Model
id,
mingcheng
*/
- [SugarColumn(ColumnName = "id")]
+ [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
public int Id { get; set; }
[SugarColumn(ColumnName = "mingcheng")]
public string RuleName { get; set; }
diff --git a/Pages/ModelConfigPage.xaml b/Pages/ModelConfigPage.xaml
index 85d32f8..0f2263b 100644
--- a/Pages/ModelConfigPage.xaml
+++ b/Pages/ModelConfigPage.xaml
@@ -5,7 +5,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:CeramicProjectTool.Pages"
mc:Ignorable="d"
- d:DesignHeight="450" d:DesignWidth="800"
+ d:DesignHeight="600" d:DesignWidth="800"
MinHeight="450"
MinWidth="800"
Title="模块配置"
@@ -19,7 +19,7 @@
-
+
@@ -28,11 +28,12 @@
-
+
+
@@ -45,52 +46,53 @@
-
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/Pages/ModelConfigPage.xaml.cs b/Pages/ModelConfigPage.xaml.cs
index 5a786a4..d73060a 100644
--- a/Pages/ModelConfigPage.xaml.cs
+++ b/Pages/ModelConfigPage.xaml.cs
@@ -4,6 +4,7 @@ using CeramicProjectTool.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Security;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
@@ -32,6 +33,31 @@ namespace CeramicProjectTool.Pages
}
private void Page_Loaded(object sender, RoutedEventArgs e)
+ {
+ LoadData();
+ }
+
+ private async void ModelListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ var datas = ((ListView)sender).ItemsSource as List;
+ var selectedIndex = ((ListView)sender).SelectedIndex;
+ var mkModel = datas?[selectedIndex == -1 ? 0 : selectedIndex];
+ if (mkModel != null)
+ {
+ configViewModel.SetSelectMKModel(mkModel);
+ var permissonList = await configViewModel.GetPermissons(mkModel.ModuleName);
+ if (permissonList != null)
+ {
+ permissonData.Dispatcher.Invoke(() =>
+ {
+ permissonData.ItemsSource = permissonList;
+ });
+ }
+ }
+
+ }
+
+ private void LoadData()
{
var modelList = configViewModel.GetMkList();
modelList.ContinueWith((task) =>
@@ -39,20 +65,28 @@ namespace CeramicProjectTool.Pages
ModelListView.Dispatcher.Invoke(() =>
{
ModelListView.ItemsSource = task.Result;
- ModelListView.SelectedIndex = 0;
});
+
});
+
+ }
+ private async void SaveBtn_Click(object sender, RoutedEventArgs e)
+ {
+ var module = configViewModel.SelectedModule;
+ if (module == null)
+ {
+ MessageBox.Show("请选择一个模块");
+ return;
+ }
+ await configViewModel.UpdateModule(module);
+ var permissonList = permissonData.ItemsSource as List;
+ if (permissonList != null)
+ {
+ await configViewModel.UpdatePermissons(permissonList);
+ }
+
}
- private void ModelListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- var datas = ((ListView)sender).ItemsSource as List;
- var selectedIndex = ((ListView)sender).SelectedIndex;
- var mkModel = datas?[selectedIndex == -1 ? 0 : selectedIndex];
- if (mkModel != null)
- {
- configViewModel.SetSelectMKModel(mkModel);
- }
- }
+
}
}
diff --git a/Pages/PermissionConfigPage.xaml b/Pages/PermissionConfigPage.xaml
index 0ba23cf..e2fdbd8 100644
--- a/Pages/PermissionConfigPage.xaml
+++ b/Pages/PermissionConfigPage.xaml
@@ -14,17 +14,16 @@
-
+
-
+
-
-
+
+
-
-
-
-
+
+
+
diff --git a/Pages/PermissionConfigPage.xaml.cs b/Pages/PermissionConfigPage.xaml.cs
index e0caab3..a9bab87 100644
--- a/Pages/PermissionConfigPage.xaml.cs
+++ b/Pages/PermissionConfigPage.xaml.cs
@@ -1,4 +1,5 @@
-using CeramicProjectTool.ViewModel;
+using CeramicProjectTool.Model;
+using CeramicProjectTool.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -31,7 +32,22 @@ namespace CeramicProjectTool.Pages
private void Page_Loaded(object sender, RoutedEventArgs e)
{
- var task = viewModel.GetPermissons();
+ LoadData();
+ }
+
+ private void LoadData(string searchText = "")
+ {
+ Task> task;
+ if (string.IsNullOrWhiteSpace(searchText))
+ {
+ task = viewModel.GetPermissons();
+
+ }
+ else
+ {
+ task = viewModel.GetPermissons(searchText);
+
+ }
task.ContinueWith((t) =>
{
permissonData.Dispatcher.Invoke(() =>
@@ -40,5 +56,23 @@ namespace CeramicProjectTool.Pages
});
});
}
+
+ private void searchBox_TextInput(object sender, TextCompositionEventArgs e)
+ {
+
+ }
+
+ private void searchBox_KeyDown(object sender, KeyEventArgs e)
+ {
+ var enterKey = Key.Enter;
+ if (e.Key == enterKey)
+ {
+ var searchText = searchBox.Text;
+ if (!string.IsNullOrWhiteSpace(searchText))
+ {
+ LoadData(searchText);
+ }
+ }
+ }
}
}
diff --git a/Util/DBHelper.Service.cs b/Util/DBHelper.Service.cs
index a83e233..fb3e5a1 100644
--- a/Util/DBHelper.Service.cs
+++ b/Util/DBHelper.Service.cs
@@ -23,12 +23,23 @@ namespace CeramicProjectTool.Util
}
}
- public static async Task> GetModelList()
+ public static async Task> GetModuleList()
{
- var result = await _db.Queryable().ToListAsync();
+ var result = await _db.Queryable().ToListAsync();
return result;
}
+ public static async Task Getodule(int id)
+ {
+ var result = await _db.Queryable().Where(i => i.Id == id).FirstAsync();
+ return result;
+ }
+
+ public static async Task UpdateModule(ModuleModel module)
+ {
+ await _db.Updateable(module).ExecuteCommandAsync();
+ }
+
public static async Task> GetPermissons()
{
var result = await _db.Queryable().ToListAsync();
@@ -40,6 +51,25 @@ namespace CeramicProjectTool.Util
return result;
}
+ public static async Task UpdatePermissons(List permissons)
+ {
+ var ids = permissons.Select(x => x.Id).ToList();
+ try
+ {
+ _db.BeginTran();
+ //await _db.Deleteable().Where(x => !ids.Contains(x.Id)).ExecuteCommandAsync();
+ await _db.Updateable(permissons).ExecuteCommandAsync();
+ _db.CommitTran();
+ }
+ catch (Exception)
+ {
+ _db.RollbackTran();
+ throw;
+ }
+
+ }
+
+
public static async Task> GetRules()
{
var result = await _db.Queryable().ToListAsync();
diff --git a/ViewModel/MKConfigViewModel.cs b/ViewModel/MKConfigViewModel.cs
index 2140133..bca5eef 100644
--- a/ViewModel/MKConfigViewModel.cs
+++ b/ViewModel/MKConfigViewModel.cs
@@ -21,22 +21,22 @@ namespace CeramicProjectTool.ViewModel
///
/// 选中的模块信息
///
- private MKModel? selectedMKModel;
+ private ModuleModel? selectedModulel;
- public MKModel? SelectedMKModel
+ public ModuleModel? SelectedModule
{
- get { return selectedMKModel; }
+ get { return selectedModulel; }
set
{
- selectedMKModel = value;
- OnPropertyChanged(nameof(SelectedMKModel));
+ selectedModulel = value;
+ OnPropertyChanged(nameof(SelectedModule));
}
}
- public Task> GetMkList()
+ public Task> GetMkList()
{
- Task> modelList = DBHelper.GetModelList();
+ Task> modelList = DBHelper.GetModuleList();
return modelList;
//modelList.ContinueWith((task) =>
@@ -48,9 +48,31 @@ namespace CeramicProjectTool.ViewModel
//});
}
- public void SetSelectMKModel(MKModel model)
+ public void SetSelectMKModel(ModuleModel model)
{
- SelectedMKModel = model;
+ SelectedModule = model;
+ }
+
+
+ public Task> GetPermissons()
+ {
+ var result = DBHelper.GetPermissons();
+ return result;
+ }
+ public Task> GetPermissons(string searchText)
+ {
+ var result = DBHelper.GetPermissonsByModule(searchText);
+ return result;
+ }
+
+ public async Task UpdateModule(ModuleModel module)
+ {
+ await DBHelper.UpdateModule(module);
+ }
+
+ public async Task UpdatePermissons(List permissons)
+ {
+ await DBHelper.UpdatePermissons(permissons);
}
}
}
diff --git a/ViewModel/PermissonConfigViewModel.cs b/ViewModel/PermissonConfigViewModel.cs
index f6f4bef..932a2fc 100644
--- a/ViewModel/PermissonConfigViewModel.cs
+++ b/ViewModel/PermissonConfigViewModel.cs
@@ -24,5 +24,10 @@ namespace CeramicProjectTool.ViewModel
var result = DBHelper.GetPermissons();
return result;
}
+ public Task> GetPermissons(string searchText)
+ {
+ var result = DBHelper.GetPermissonsByModule(searchText);
+ return result;
+ }
}
}