diff --git a/Bootstrap.Admin/Content/css/site.css b/Bootstrap.Admin/Content/css/site.css
index a9dc7125..f40533c1 100644
--- a/Bootstrap.Admin/Content/css/site.css
+++ b/Bootstrap.Admin/Content/css/site.css
@@ -396,6 +396,10 @@ a.logo {
margin-bottom: 15px;
}
+ .modal-dialog .modal-body .form-inline .form-group input {
+ padding-right: 30px;
+ }
+
.modal-header {
background-color: #f5f5f5;
border-top-left-radius: 6px;
@@ -456,7 +460,7 @@ input.valid {
padding-left: 6px;
}
-.lgbBreadcrumb {
+ul.breadcrumb {
position: absolute;
top: 56px;
left: 15px;
@@ -464,20 +468,19 @@ input.valid {
border-color: #ddd;
border-width: 1px 0 0 0;
border-style: solid;
+ background-color: transparent;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
- .lgbBreadcrumb > ul {
- background-color: transparent;
+ ul.breadcrumb > li.active {
+ display: inline-block;
}
- .lgbBreadcrumb > ul > li.active {
- display: inline-block;
- }
+ ul.breadcrumb > li.load {
+ display: none;
+ }
- .lgbBreadcrumb > ul > li.load {
- display: none;
- }
-
- .lgbBreadcrumb > ul > li > a > i {
- padding-right: 6px;
- }
+ ul.breadcrumb > li > a > i {
+ padding-right: 6px;
+ }
diff --git a/Bootstrap.Admin/Content/js/Longbow.Common.js b/Bootstrap.Admin/Content/js/Longbow.Common.js
index 44004b4b..93fc3bda 100644
--- a/Bootstrap.Admin/Content/js/Longbow.Common.js
+++ b/Bootstrap.Admin/Content/js/Longbow.Common.js
@@ -164,6 +164,11 @@
})(jQuery);
$(function () {
+ // breadcrumb
+ var breadcrumb = $('.sidebar-menu > li > a.active > span').text();
+ if (breadcrumb === "") $('.breadcrumb > li + li').hide();
+ else $('.breadcrumb > li + li').text(breadcrumb);
+
if ($.isFunction($.validator)) {
jQuery.validator.addMethod("ip", function (value, element) {
return this.optional(element) || /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/.test(value);
diff --git a/Bootstrap.Admin/Controllers/AdminController.cs b/Bootstrap.Admin/Controllers/AdminController.cs
index dded4a5e..f2303aa9 100644
--- a/Bootstrap.Admin/Controllers/AdminController.cs
+++ b/Bootstrap.Admin/Controllers/AdminController.cs
@@ -26,7 +26,6 @@ namespace Bootstrap.Admin.Controllers
public ActionResult Users()
{
var v = new NavigatorBarModel();
- v.BreadcrumbName = "用户管理";
v.ShowMenu = "hide";
v.Menus[1].Active = "active";
v.HomeUrl = "~/Admin";
@@ -39,7 +38,6 @@ namespace Bootstrap.Admin.Controllers
public ActionResult Groups()
{
var v = new NavigatorBarModel();
- v.BreadcrumbName = "部门管理";
v.ShowMenu = "hide";
v.Menus[3].Active = "active";
v.HomeUrl = "~/Admin";
@@ -48,7 +46,6 @@ namespace Bootstrap.Admin.Controllers
public ActionResult Roles()
{
var v = new NavigatorBarModel();
- v.BreadcrumbName = "角色管理";
v.ShowMenu = "hide";
v.Menus[2].Active = "active";
v.HomeUrl = "~/Admin";
@@ -57,7 +54,6 @@ namespace Bootstrap.Admin.Controllers
public ActionResult Menus()
{
var v = new NavigatorBarModel();
- v.BreadcrumbName = "菜单管理";
v.ShowMenu = "hide";
v.Menus[0].Active = "active";
v.HomeUrl = "~/Admin";
diff --git a/Bootstrap.Admin/Models/HeaderBarModel.cs b/Bootstrap.Admin/Models/HeaderBarModel.cs
index 80058ba4..632dab07 100644
--- a/Bootstrap.Admin/Models/HeaderBarModel.cs
+++ b/Bootstrap.Admin/Models/HeaderBarModel.cs
@@ -26,10 +26,6 @@ namespace Bootstrap.Admin.Models
///
///
///
- public string BreadcrumbName { get; set; }
- ///
- ///
- ///
public string ShowMenu { get; set; }
///
///
diff --git a/Bootstrap.Admin/Models/NavigatorBarModel.cs b/Bootstrap.Admin/Models/NavigatorBarModel.cs
index d660a68b..8fd25a9e 100644
--- a/Bootstrap.Admin/Models/NavigatorBarModel.cs
+++ b/Bootstrap.Admin/Models/NavigatorBarModel.cs
@@ -1,5 +1,6 @@
using Bootstrap.DataAccess;
using System.Collections.Generic;
+using System.Linq;
namespace Bootstrap.Admin.Models
{
@@ -7,7 +8,8 @@ namespace Bootstrap.Admin.Models
{
public NavigatorBarModel()
{
- Menus = Menu.RetrieveMenus();
+ Menus = MenuHelper.RetrieveMenus().ToList();
+ Menus.ForEach(m => m.Active = null);
}
///
///
diff --git a/Bootstrap.Admin/Models/QueryMenuOption.cs b/Bootstrap.Admin/Models/QueryMenuOption.cs
index abbacd7e..833d45b6 100644
--- a/Bootstrap.Admin/Models/QueryMenuOption.cs
+++ b/Bootstrap.Admin/Models/QueryMenuOption.cs
@@ -1,41 +1,36 @@
-using Bootstrap.DataAccess;
-using Longbow.Web.Mvc;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Web;
-
-namespace Bootstrap.Admin.Models
-{
- public class QueryMenuOption : PaginationOption
- {
- ///
- ///
- ///
- public string Name { get; set; }
- ///
- ///
- ///
- public string Category { get; set; }
-
- public QueryData RetrieveMenus()
- {
- return new List() {
- new Menu() { Name = "菜单管理", Icon = "fa-dashboard", Url="/Admin/Menus", Active = "" },
- new Menu() { Name = "用户管理", Icon = "fa-user", Url="/Admin/Users", Active = "" },
- new Menu() { Name = "角色管理", Icon = "fa-sitemap", Url="/Admin/Roles", Active = "" },
- new Menu() { Name = "部门管理", Icon = "fa-home", Url="/Admin/Groups", Active = "" },
- new Menu() { Name = "字典表维护", Icon = "fa-book", Url="javascript:;", Active = "" },
- new Menu() { Name = "个性化维护", Icon = "fa-pencil", Url="javascript:;", Active = "" },
- new Menu() { Name = "系统日志", Icon = "fa-lock", Url="javascript:;", Active = "" }
- };
- }
}
}
diff --git a/Bootstrap.DataAccess/MenuHelper.cs b/Bootstrap.DataAccess/MenuHelper.cs
index 9a94f6ce..011cbe9e 100644
--- a/Bootstrap.DataAccess/MenuHelper.cs
+++ b/Bootstrap.DataAccess/MenuHelper.cs
@@ -1,121 +1,130 @@
-using Longbow;
-using Longbow.Caching;
-using Longbow.Caching.Configuration;
-using Longbow.ExceptionManagement;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Data.Common;
-using System.Globalization;
-using System.Linq;
-
-namespace Bootstrap.DataAccess
-{
- public static class MenuHelper
- {
- private const string MenuDataKey = "MenuData-CodeMenuHelper";
- ///
- /// 查询所有菜单信息
- ///
- ///
- ///
- public static IEnumerable RetrieveMenus(string tId = null)
- {
- string sql = "select * from Navigations";
- var ret = CacheManager.GetOrAdd(MenuDataKey, CacheSection.RetrieveIntervalByKey(MenuDataKey), key =>
- {
- List Menus = new List();
- DbCommand cmd = DBAccessManager.SqlDBAccess.CreateCommand(CommandType.Text, sql);
- try
- {
- using (DbDataReader reader = DBAccessManager.SqlDBAccess.ExecuteReader(cmd))
- {
- while (reader.Read())
- {
- Menus.Add(new Menu()
- {
- ID = (int)reader[0],
- ParentId = (int)reader[1],
- Name = (string)reader[2],
- Order = LgbConvert.ReadValue((int)reader[3],0),
- Icon = (string)reader[4],
- Url = LgbConvert.ReadValue((string)reader[5],string.Empty),
- Category = (string)reader[6]
- });
- }
- }
- }
- catch (Exception ex) { ExceptionManager.Publish(ex); }
- return Menus;
- }, CacheSection.RetrieveDescByKey(MenuDataKey));
- return string.IsNullOrEmpty(tId) ? ret : ret.Where(t => tId.Equals(t.ID.ToString(), StringComparison.OrdinalIgnoreCase));
- }
- ///
- /// 删除菜单信息
- ///
- ///
- public static bool DeleteMenu(string ids)
- {
- bool ret = false;
- if (string.IsNullOrEmpty(ids) || ids.Contains("'")) return ret;
- try
- {
- string sql = string.Format(CultureInfo.InvariantCulture, "Delete from Navigations where ID in ({0})", ids);
- using (DbCommand cmd = DBAccessManager.SqlDBAccess.CreateCommand(CommandType.Text, sql))
- {
- DBAccessManager.SqlDBAccess.ExecuteNonQuery(cmd);
- }
- ClearCache();
- ret = true;
- }
- catch (Exception ex)
- {
- ExceptionManager.Publish(ex);
- }
- return ret;
- }
- ///
- /// 保存新建/更新的菜单信息
- ///
- ///
- ///
- public static bool SaveMenu(Menu p)
- {
- if (p == null) throw new ArgumentNullException("p");
- bool ret = false;
- if (p.Name.Length > 50) p.Name.Substring(0, 50);
- if (p.Icon.Length > 50) p.Icon.Substring(0, 50);
- if (p.Url != null) { if (p.Url.Length > 50) p.Url.Substring(0, 50); }
- if (p.Category.Length > 50) p.Category.Substring(0, 50);
- string sql = p.ID == 0 ?
- "Insert Into Navigations (ParentId, Name, [Order], Icon, Url, Category) Values (@ParentId, @Name, @Order, @Icon, @Url, @Category)" :
- "Update Navigations set ParentId = @ParentId, Name = @Name, [Order] = @Order, Icon = @Icon, Url = @Url, Category = @Category where ID = @ID";
- try
- {
- using (DbCommand cmd = DBAccessManager.SqlDBAccess.CreateCommand(CommandType.Text, sql))
- {
- cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@ID", p.ID, ParameterDirection.Input));
- cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@ParentId", p.ParentId, ParameterDirection.Input));
- cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Name", p.Name, ParameterDirection.Input));
- cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Order", p.Order, ParameterDirection.Input));
- cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Icon", p.Icon, ParameterDirection.Input));
- cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Url", p.Url, ParameterDirection.Input));
- cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Category", p.Category, ParameterDirection.Input));
- DBAccessManager.SqlDBAccess.ExecuteNonQuery(cmd);
- }
- ret = true;
- ClearCache();
- }
- catch (DbException ex)
- {
- ExceptionManager.Publish(ex);
- }
- return ret;
- }
- // 更新缓存
- private static void ClearCache()
- {
- CacheManager.Clear(key => key == MenuDataKey);
- }
- }
-}
+using Longbow;
+using Longbow.Caching;
+using Longbow.Caching.Configuration;
+using Longbow.ExceptionManagement;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.Common;
+using System.Globalization;
+using System.Linq;
+
+namespace Bootstrap.DataAccess
+{
+ public static class MenuHelper
+ {
+ private const string MenuDataKey = "MenuData-CodeMenuHelper";
+ ///
+ /// 查询所有菜单信息
+ ///
+ ///
+ ///
+ public static IEnumerable RetrieveMenus(string tId = null)
+ {
+ string sql = "select * from Navigations";
+ var ret = CacheManager.GetOrAdd(MenuDataKey, CacheSection.RetrieveIntervalByKey(MenuDataKey), key =>
+ {
+ List Menus = new List();
+ DbCommand cmd = DBAccessManager.SqlDBAccess.CreateCommand(CommandType.Text, sql);
+ try
+ {
+ using (DbDataReader reader = DBAccessManager.SqlDBAccess.ExecuteReader(cmd))
+ {
+ while (reader.Read())
+ {
+ Menus.Add(new Menu()
+ {
+ ID = (int)reader[0],
+ ParentId = (int)reader[1],
+ Name = (string)reader[2],
+ Order = (int)reader[3],
+ Icon = (string)reader[4],
+ Url = LgbConvert.ReadValue((string)reader[5], string.Empty),
+ Category = (int)reader[6]
+ });
+ }
+ }
+ }
+ catch (Exception ex) { ExceptionManager.Publish(ex); }
+ return Menus;
+ }, CacheSection.RetrieveDescByKey(MenuDataKey));
+ return string.IsNullOrEmpty(tId) ? ret : ret.Where(t => tId.Equals(t.ID.ToString(), StringComparison.OrdinalIgnoreCase));
+ }
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static IEnumerable RetrieveMenusByUserId(int userId)
+ {
+ //UNDONE: 通过用户ID获得到当前用户配置的菜单
+ return RetrieveMenus();
+ }
+ ///
+ /// 删除菜单信息
+ ///
+ ///
+ public static bool DeleteMenu(string ids)
+ {
+ bool ret = false;
+ if (string.IsNullOrEmpty(ids) || ids.Contains("'")) return ret;
+ try
+ {
+ string sql = string.Format(CultureInfo.InvariantCulture, "Delete from Navigations where ID in ({0})", ids);
+ using (DbCommand cmd = DBAccessManager.SqlDBAccess.CreateCommand(CommandType.Text, sql))
+ {
+ DBAccessManager.SqlDBAccess.ExecuteNonQuery(cmd);
+ }
+ ClearCache();
+ ret = true;
+ }
+ catch (Exception ex)
+ {
+ ExceptionManager.Publish(ex);
+ }
+ return ret;
+ }
+ ///
+ /// 保存新建/更新的菜单信息
+ ///
+ ///
+ ///
+ public static bool SaveMenu(Menu p)
+ {
+ if (p == null) throw new ArgumentNullException("p");
+ bool ret = false;
+ if (p.Name.Length > 50) p.Name.Substring(0, 50);
+ if (p.Icon.Length > 50) p.Icon.Substring(0, 50);
+ if (p.Url != null) { if (p.Url.Length > 50) p.Url.Substring(0, 50); }
+ string sql = p.ID == 0 ?
+ "Insert Into Navigations (ParentId, Name, [Order], Icon, Url, Category) Values (@ParentId, @Name, @Order, @Icon, @Url, @Category)" :
+ "Update Navigations set ParentId = @ParentId, Name = @Name, [Order] = @Order, Icon = @Icon, Url = @Url, Category = @Category where ID = @ID";
+ try
+ {
+ using (DbCommand cmd = DBAccessManager.SqlDBAccess.CreateCommand(CommandType.Text, sql))
+ {
+ cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@ID", p.ID, ParameterDirection.Input));
+ cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@ParentId", p.ParentId, ParameterDirection.Input));
+ cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Name", p.Name, ParameterDirection.Input));
+ cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Order", p.Order, ParameterDirection.Input));
+ cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Icon", p.Icon, ParameterDirection.Input));
+ cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Url", p.Url, ParameterDirection.Input));
+ cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@Category", p.Category, ParameterDirection.Input));
+ DBAccessManager.SqlDBAccess.ExecuteNonQuery(cmd);
+ }
+ ret = true;
+ ClearCache();
+ }
+ catch (DbException ex)
+ {
+ ExceptionManager.Publish(ex);
+ }
+ return ret;
+ }
+ // 更新缓存
+ private static void ClearCache()
+ {
+ CacheManager.Clear(key => key == MenuDataKey);
+ }
+ }
+}
diff --git a/Bootstrap.DataAccessTests/MenuHelperTests.cs b/Bootstrap.DataAccessTests/MenuHelperTests.cs
index 83ee99dd..9d84cacd 100644
--- a/Bootstrap.DataAccessTests/MenuHelperTests.cs
+++ b/Bootstrap.DataAccessTests/MenuHelperTests.cs
@@ -1,62 +1,62 @@
-using System.Linq;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace Bootstrap.DataAccess.Tests
-{
- [TestClass]
- public class MenuHelperTests
- {
- [TestMethod]
- public void RetrieveMenusTest()
- {
- var result = MenuHelper.RetrieveMenus("1");
- Assert.IsTrue((result.Count() == 0 || result.Count() == 1), "带有参数的MenuHelper.RetrieveMenus方法调用失败,请检查数据库连接或者数据库SQL语句");
- result = MenuHelper.RetrieveMenus();
- Assert.IsTrue(result.Count() >= 0, "不带参数的MenuHelper.RetrieveMenus方法调用失败,请检查数据库连接或者数据库SQL语句");
- }
-
- [TestMethod]
- public void SaveMenuTest()
- {
- Menu p = new Menu();
- p.ParentId = 1;
- p.Name = "测试菜单名称";
- p.Order = 0;
- p.Icon = "测试菜单Icon";
- p.Url = "urlTestAdd";
- p.Category = "测试菜单分组";
- var result = MenuHelper.SaveMenu(p);
- Assert.IsTrue(result, "增加菜单出错");
-
- Menu p1 = new Menu();
- p1.ID = 7;
- p1.ParentId = 2;
- p1.Name = "测试菜单名称1";
- p1.Order = 0;
- p1.Icon = "测试菜单Icon1";
- p1.Url = "urlTestUpdate";
- p1.Category = "测试菜单分组1";
- result = MenuHelper.SaveMenu(p1);
- Assert.IsTrue(result, "更新菜单出错");
- }
-
- [TestMethod]
- public void DeleteMenuTest()
- {
- MenuHelper.SaveMenu(new Menu()
- {
- ID = 0,
- ParentId = 1,
- Name = "菜单删除测试",
- Order = 0,
- Icon = "测试菜单Icon1",
- Url = "urlTestUpdate",
- Category = "测试菜单分组1"
- });
- var menu = MenuHelper.RetrieveMenus().FirstOrDefault(m => m.Name == "菜单删除测试");
- Assert.IsTrue(MenuHelper.DeleteMenu(menu.ID.ToString()),"删除菜单失败");
- Assert.IsTrue(MenuHelper.DeleteMenu("1,2"), "带有参数的MenuHelper.DeleteMenu方法调用失败,请检查数据库连接或者数据库SQL语句");
- Assert.IsFalse(MenuHelper.DeleteMenu(string.Empty), "参数为空字符串的MenuHelper.DeleteMenu方法调用失败,请检查数据库连接或者数据库SQL语句");
- }
- }
-}
+using System.Linq;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace Bootstrap.DataAccess.Tests
+{
+ [TestClass]
+ public class MenuHelperTests
+ {
+ [TestMethod]
+ public void RetrieveMenusTest()
+ {
+ var result = MenuHelper.RetrieveMenus("1");
+ Assert.IsTrue((result.Count() == 0 || result.Count() == 1), "带有参数的MenuHelper.RetrieveMenus方法调用失败,请检查数据库连接或者数据库SQL语句");
+ result = MenuHelper.RetrieveMenus();
+ Assert.IsTrue(result.Count() >= 0, "不带参数的MenuHelper.RetrieveMenus方法调用失败,请检查数据库连接或者数据库SQL语句");
+ }
+
+ [TestMethod]
+ public void SaveMenuTest()
+ {
+ Menu p = new Menu();
+ p.ParentId = 1;
+ p.Name = "测试菜单名称";
+ p.Order = 0;
+ p.Icon = "测试菜单Icon";
+ p.Url = "urlTestAdd";
+ p.Category = 1;
+ var result = MenuHelper.SaveMenu(p);
+ Assert.IsTrue(result, "增加菜单出错");
+
+ Menu p1 = new Menu();
+ p1.ID = 7;
+ p1.ParentId = 2;
+ p1.Name = "测试菜单名称1";
+ p1.Order = 0;
+ p1.Icon = "测试菜单Icon1";
+ p1.Url = "urlTestUpdate";
+ p1.Category = 1;
+ result = MenuHelper.SaveMenu(p1);
+ Assert.IsTrue(result, "更新菜单出错");
+ }
+
+ [TestMethod]
+ public void DeleteMenuTest()
+ {
+ MenuHelper.SaveMenu(new Menu()
+ {
+ ID = 0,
+ ParentId = 1,
+ Name = "菜单删除测试",
+ Order = 0,
+ Icon = "测试菜单Icon1",
+ Url = "urlTestUpdate",
+ Category = 1
+ });
+ var menu = MenuHelper.RetrieveMenus().FirstOrDefault(m => m.Name == "菜单删除测试");
+ Assert.IsTrue(MenuHelper.DeleteMenu(menu.ID.ToString()),"删除菜单失败");
+ Assert.IsTrue(MenuHelper.DeleteMenu("1,2"), "带有参数的MenuHelper.DeleteMenu方法调用失败,请检查数据库连接或者数据库SQL语句");
+ Assert.IsFalse(MenuHelper.DeleteMenu(string.Empty), "参数为空字符串的MenuHelper.DeleteMenu方法调用失败,请检查数据库连接或者数据库SQL语句");
+ }
+ }
+}
diff --git a/DatabaseScripts/Install.sql b/DatabaseScripts/Install.sql
index 5e7f08ba..0ce4c52d 100644
--- a/DatabaseScripts/Install.sql
+++ b/DatabaseScripts/Install.sql
@@ -148,10 +148,10 @@ CREATE TABLE [dbo].[Navigations](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ParentId] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
- [Order] [int] NULL,
+ [Order] [int] NOT NULL,
[Icon] [varchar](50) NOT NULL,
[Url] [varchar](50) NULL,
- [Category] [varchar](50) NOT NULL,
+ [Category] [int] NOT NULL,
CONSTRAINT [PK_Navigations] PRIMARY KEY CLUSTERED
(
[ID] ASC
@@ -163,5 +163,24 @@ GO
SET ANSI_PADDING OFF
GO
+ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_ParentId] DEFAULT ((0)) FOR [ParentId]
+GO
+
+ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_Order] DEFAULT ((0)) FOR [Order]
+GO
+
+ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_Icon] DEFAULT ('none') FOR [Icon]
+GO
+
ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_Category] DEFAULT ((0)) FOR [Category]
-GO
\ No newline at end of file
+GO
+
+SET IDENTITY_INSERT Navigations ON
+insert into Navigations (ID, Name, [Order], Icon, Url) values (1, '菜单管理', 10, 'fa fa-dashboard', '~/Admin/Menus')
+insert into Navigations (ID, Name, [Order], Icon, Url) values (2, '用户管理', 20, 'fa fa-user', '~/Admin/Users')
+insert into Navigations (ID, Name, [Order], Icon, Url) values (3, '角色管理', 30, 'fa fa-sitemap', '~/Admin/Roles')
+insert into Navigations (ID, Name, [Order], Icon, Url) values (4, '部门管理', 40, 'fa fa-home', '~/Admin/Groups')
+insert into Navigations (ID, Name, [Order], Icon, Url) values (5, '字典表维护', 50, 'fa fa-book', '~/Admin/Dict')
+insert into Navigations (ID, Name, [Order], Icon, Url) values (6, '个性化维护', 60, 'fa fa-pencil', '~/Admin/Profiles')
+insert into Navigations (ID, Name, [Order], Icon, Url) values (7, '系统日志', 70, 'fa fa-gears', '~/Admin/EventLog')
+SET IDENTITY_INSERT Navigations OFF
\ No newline at end of file