浏览代码

feat:优化项目空间样式

lifei6671 7 年之前
父节点
当前提交
f1957dd9c0

+ 1 - 1
commands/install.go

@@ -145,7 +145,7 @@ func initialization() {
 		item.ItemName = "默认项目"
 		item.MemberId = 1
 		if err := item.Save(); err != nil {
-			panic("初始化项目失败 -> " + err.Error())
+			panic("初始化项目空间失败 -> " + err.Error())
 			os.Exit(1)
 		}
 	}

+ 4 - 4
controllers/BookController.go

@@ -159,7 +159,7 @@ func (c *BookController) SaveBook() {
 		}
 	}
 	if !models.NewItemsets().Exist(itemId) {
-		c.JsonResult(6006,"项目不存在")
+		c.JsonResult(6006,"项目空间不存在")
 	}
 	if editor != "markdown" && editor != "html" {
 		editor = "markdown"
@@ -458,7 +458,7 @@ func (c *BookController) Create() {
 			privatelyOwned = 1
 		}
 		if !models.NewItemsets().Exist(itemId) {
-			c.JsonResult(6005, "项目不存在")
+			c.JsonResult(6005, "项目空间不存在")
 		}
 		if commentStatus != "open" && commentStatus != "closed" && commentStatus != "group_only" && commentStatus != "registered_only" {
 			commentStatus = "closed"
@@ -588,7 +588,7 @@ func (c *BookController) Import() {
 		c.JsonResult(6003, "项目标识只能包含小写字母、数字,以及“-”和“_”符号,并且只能小写字母开头")
 	}
 	if !models.NewItemsets().Exist(itemId) {
-		c.JsonResult(6007, "项目不存在")
+		c.JsonResult(6007, "项目空间不存在")
 	}
 	if strings.Count(identify, "") > 50 {
 		c.JsonResult(6004, "文档标识不能超过50字")
@@ -950,7 +950,7 @@ func (c *BookController) TeamSearch() {
 
 }
 
-//项目搜索.
+//项目空间搜索.
 func (c *BookController) ItemsetsSearch() {
 	c.Prepare()
 

+ 6 - 6
controllers/ManagerController.go

@@ -355,7 +355,7 @@ func (c *ManagerController) EditBook() {
 			}
 		}
 		if !models.NewItemsets().Exist(itemId) {
-			c.JsonResult(6006,"项目不存在")
+			c.JsonResult(6006,"项目空间不存在")
 		}
 		book.Publisher = publisher
 		book.HistoryCount = historyCount
@@ -1097,7 +1097,7 @@ func (c *ManagerController) TeamBookDelete() {
 	c.JsonResult(0, "OK")
 }
 
-//项目列表.
+//项目空间列表.
 func (c *ManagerController) Itemsets() {
 	c.Prepare()
 	c.TplName = "manager/itemsets.tpl"
@@ -1126,7 +1126,7 @@ func (c *ManagerController) Itemsets() {
 
 }
 
-//编辑或添加项目.
+//编辑或添加项目空间.
 func (c *ManagerController) ItemsetsEdit() {
 	c.Prepare()
 	itemId, _ := c.GetInt("itemId")
@@ -1140,9 +1140,9 @@ func (c *ManagerController) ItemsetsEdit() {
 	if itemId > 0 {
 		if item, err = models.NewItemsets().First(itemId); err != nil {
 			if err == orm.ErrNoRows {
-				c.JsonResult(5002, "项目不存在")
+				c.JsonResult(5002, "项目空间不存在")
 			} else {
-				c.JsonResult(5003, "查询项目出错")
+				c.JsonResult(5003, "查询项目空间出错")
 			}
 		}
 	} else {
@@ -1161,7 +1161,7 @@ func (c *ManagerController) ItemsetsEdit() {
 	c.JsonResult(0, "OK")
 }
 
-//删除项目.
+//删除项目空间.
 func (c *ManagerController) ItemsetsDelete() {
 	c.Prepare()
 	itemId, _ := c.GetInt("itemId")

+ 1 - 1
models/BookModel.go

@@ -31,7 +31,7 @@ type Book struct {
 	BookId int `orm:"pk;auto;unique;column(book_id)" json:"book_id"`
 	// BookName 项目名称.
 	BookName string `orm:"column(book_name);size(500)" json:"book_name"`
-	//所属项目
+	//所属项目空间
 	ItemId   int    `orm:"column(item_id);type(int);default(1)" json:"item_id"`
 	// Identify 项目唯一标识.
 	Identify string `orm:"column(identify);size(100);unique" json:"identify"`

+ 30 - 19
models/Itemsets.go

@@ -9,7 +9,7 @@ import (
 	"github.com/lifei6671/mindoc/utils/cryptil"
 )
 
-//项目
+//项目空间
 type Itemsets struct {
 	ItemId      int       `orm:"column(item_id);pk;auto;unique" json:"item_id"`
 	ItemName    string    `orm:"column(item_name);size(500)" json:"item_name"`
@@ -22,6 +22,7 @@ type Itemsets struct {
 
 	BookNumber       int    `orm:"-" json:"book_number"`
 	CreateTimeString string `orm:"-" json:"create_time_string"`
+	CreateName       string `orm:"-" json:"create_name"`
 }
 
 // TableName 获取对应数据库表名.
@@ -51,21 +52,21 @@ func (item *Itemsets) First(itemId int) (*Itemsets, error) {
 	}
 	err := item.QueryTable().Filter("item_id", itemId).One(item)
 	if err != nil {
-		beego.Error("查询项目失败 -> item_id=", itemId, err)
+		beego.Error("查询项目空间失败 -> item_id=", itemId, err)
 	} else {
 		item.Include()
 	}
 	return item, err
 }
 
-func (item *Itemsets) FindFirst(itemKey string) (*Itemsets,error) {
-	err := item.QueryTable().Filter("item_key",itemKey).One(item)
+func (item *Itemsets) FindFirst(itemKey string) (*Itemsets, error) {
+	err := item.QueryTable().Filter("item_key", itemKey).One(item)
 	if err != nil {
-		beego.Error("查询项目失败 -> itemKey=", itemKey, err)
+		beego.Error("查询项目空间失败 -> itemKey=", itemKey, err)
 	} else {
 		item.Include()
 	}
-	return item,err
+	return item, err
 }
 
 func (item *Itemsets) Exist(itemId int) bool {
@@ -76,14 +77,14 @@ func (item *Itemsets) Exist(itemId int) bool {
 func (item *Itemsets) Save() (err error) {
 
 	if item.ItemName == "" {
-		return errors.New("项目名称不能为空")
+		return errors.New("项目空间名称不能为空")
 	}
 	if item.ItemKey == "" {
 		item.ItemKey = cryptil.NewRandChars(16)
 	}
 
 	if item.QueryTable().Filter("item_id__ne", item.ItemId).Filter("item_key", item.ItemKey).Exist() {
-		return errors.New("项目标识已存在")
+		return errors.New("项目空间标识已存在")
 	}
 	if item.ItemId > 0 {
 		_, err = orm.NewOrm().Update(item)
@@ -99,10 +100,10 @@ func (item *Itemsets) Delete(itemId int) (err error) {
 		return ErrInvalidParameter
 	}
 	if itemId == 1 {
-		return errors.New("默认项目不能删除")
+		return errors.New("默认项目空间不能删除")
 	}
 	if !item.Exist(itemId) {
-		return errors.New("项目不存在")
+		return errors.New("项目空间不存在")
 	}
 	o := orm.NewOrm()
 	if err := o.Begin(); err != nil {
@@ -111,12 +112,12 @@ func (item *Itemsets) Delete(itemId int) (err error) {
 	}
 	_, err = o.QueryTable(item.TableNameWithPrefix()).Filter("item_id", itemId).Delete()
 	if err != nil {
-		beego.Error("删除项目失败 -> item_id=", itemId, err)
+		beego.Error("删除项目空间失败 -> item_id=", itemId, err)
 		o.Rollback()
 	}
 	_, err = o.Raw("update md_books set item_id=1 where item_id=?;", itemId).Exec()
 	if err != nil {
-		beego.Error("删除项目失败 -> item_id=", itemId, err)
+		beego.Error("删除项目空间失败 -> item_id=", itemId, err)
 		o.Rollback()
 	}
 
@@ -127,6 +128,16 @@ func (item *Itemsets) Include() (*Itemsets, error) {
 
 	item.CreateTimeString = item.CreateTime.Format("2006-01-02 15:04:05")
 
+	if item.MemberId > 0 {
+		if m,err := NewMember().Find(item.MemberId,"account","real_name");err == nil {
+			if m.RealName != "" {
+				item.CreateName = m.RealName
+			} else {
+				item.CreateName = m.Account
+			}
+		}
+	}
+
 	i, err := NewBook().QueryTable().Filter("item_id", item.ItemId).Count()
 	if err != nil && err != orm.ErrNoRows {
 		return item, err
@@ -159,7 +170,7 @@ func (item *Itemsets) FindToPager(pageIndex, pageSize int) (list []*Itemsets, to
 	return
 }
 
-//根据项目名称查询.
+//根据项目空间名称查询.
 func (item *Itemsets) FindItemsetsByName(name string, limit int) (*SelectMemberResult, error) {
 	result := SelectMemberResult{}
 
@@ -172,7 +183,7 @@ func (item *Itemsets) FindItemsetsByName(name string, limit int) (*SelectMemberR
 		_, err = item.QueryTable().Filter("item_name__icontains", name).Limit(limit).All(&itemsets)
 	}
 	if err != nil {
-		beego.Error("查询项目失败 ->", err)
+		beego.Error("查询项目空间失败 ->", err)
 		return &result, err
 	}
 
@@ -189,14 +200,14 @@ func (item *Itemsets) FindItemsetsByName(name string, limit int) (*SelectMemberR
 	return &result, err
 }
 
-//根据项目集标识查询项目集的项目列表.
-func (item *Itemsets) FindItemsetsByItemKey(key string, pageIndex, pageSize, memberId int) (books []*BookResult, totalCount int, err error){
+//根据项目空间标识查询项目空间的项目列表.
+func (item *Itemsets) FindItemsetsByItemKey(key string, pageIndex, pageSize, memberId int) (books []*BookResult, totalCount int, err error) {
 	o := orm.NewOrm()
 
-	err = item.QueryTable().Filter("item_key",key).One(item)
+	err = item.QueryTable().Filter("item_key", key).One(item)
 
 	if err != nil {
-		return nil,0,err
+		return nil, 0, err
 	}
 	offset := (pageIndex - 1) * pageSize
 	//如果是登录用户
@@ -248,4 +259,4 @@ WHERE book.item_id = ? AND (relationship_id > 0 OR book.privately_owned = 0 or t
 		return
 
 	}
-}
+}

+ 28 - 1
static/css/main.css

@@ -947,7 +947,34 @@ textarea{
     margin: 0;
     padding: 1em 0
 }
-
+/**************项目空间样式******************/
+.ui-card{
+    display: inline-block;
+    width: 22%;
+    margin: 10px 15px;
+    border: solid 1px #d4d4d5;
+    border-radius: 4px;
+    padding: 15px 25px;
+    text-align: center;
+    color: #333333;
+}
+.ui-card:hover{
+    -webkit-box-shadow: 0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;
+    box-shadow: 0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;
+    -webkit-transition: -webkit-box-shadow .1s ease,-webkit-transform .1s ease;
+    transition: -webkit-box-shadow .1s ease,-webkit-transform .1s ease;
+    transition: box-shadow .1s ease,transform .1s ease;
+    transition: box-shadow .1s ease,transform .1s ease,-webkit-box-shadow .1s ease,-webkit-transform .1s ease;
+}
+.ui-card>.header{
+    font-weight: 500;
+    font-size: 18px;
+}
+.ui-card>.description{
+    font-size: 12px;
+    color: #666;
+    text-align: left;
+}
 /**************网站底部样式*************************/
 .footer{
     color: #777;

+ 4 - 4
views/book/index.tpl

@@ -139,7 +139,7 @@
                 <div class="form-group">
                     <div class="pull-left" style="width: 620px">
                         <div class="form-group required">
-                            <label class="text-label col-sm-2">项目</label>
+                            <label class="text-label col-sm-2">项目空间</label>
                             <div class="col-sm-10">
                                 <select class="js-data-example-ajax-add form-control" multiple="multiple" name="itemId" id="itemId"></select>
                             </div>
@@ -207,7 +207,7 @@
                 <div class="modal-body">
                     <div class="form-group">
                         <div class="form-group required">
-                            <label class="text-label">项目</label>
+                            <label class="text-label">项目空间</label>
                             <select class="js-data-example-ajax-import form-control" multiple="multiple" name="itemId"></select>
                         </div>
                         <div class="form-group required">
@@ -503,7 +503,7 @@
 
             var itemId = $("#itemId").val();
             if (itemId <= 0) {
-                return showError("请选择项目")
+                return showError("请选择项目空间")
             }
             var bookName = $.trim($("#bookName").val());
             if (bookName === "") {
@@ -571,7 +571,7 @@
 
             var itemId = $then.find("input[name='itemId']").val();
             if (itemId <= 0) {
-                return showError("请选择项目")
+                return showError("请选择项目空间")
             }
 
             var bookName = $.trim($then.find("input[name='book_name']").val());

+ 1 - 1
views/book/setting.tpl

@@ -62,7 +62,7 @@
                                 <p class="text">项目标识用来标记项目的唯一性,不可修改。</p>
                             </div>
                             <div class="form-group">
-                                <label>项目</label>
+                                <label>项目空间</label>
                                 <select class="js-data-example-ajax form-control" multiple="multiple" name="itemId">
                                     <option value="{{.Model.ItemId}}" selected="selected">{{.Model.ItemName}}</option>
                                 </select>

+ 14 - 30
views/items/index.tpl

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
 
-    <title>项目列表 - Powered by MinDoc</title>
+    <title>项目空间列表 - Powered by MinDoc</title>
     <meta name="keywords" content="MinDoc,文档在线管理系统,WIKI,wiki,wiki在线,文档在线管理,接口文档在线管理,接口文档管理">
     <meta name="description" content="MinDoc文档在线管理系统 {{.site_description}}">
     <meta name="author" content="Minho" />
@@ -15,45 +15,29 @@
     <link href="{{cdncss "/static/font-awesome/css/font-awesome.min.css"}}" rel="stylesheet">
 
     <link href="{{cdncss "/static/css/main.css" "version"}}" rel="stylesheet">
+
 </head>
 <body>
 <div class="manual-reader manual-container manual-search-reader">
 {{template "widgets/header.tpl" .}}
     <div class="container manual-body">
         <div class="search-head">
-            <strong class="search-title">项目列表</strong>
+            <strong class="search-title">项目空间列表</strong>
         </div>
         <div class="row">
             <div class="hide tag-container-outer" style="border: 0;margin-top: 0;padding: 5px 15px;min-height: 200px;">
                 <div class="attach-list" id="ItemsetsList">
-                    <table class="table">
-                        <thead>
-                        <tr>
-                            <th width="10%">#</th>
-                            <th width="30%">项目集名称</th>
-                            <th width="20%">项目集标识</th>
-                            <th width="10%">项目数量</th>
-                            <th width="15%">创建时间</th>
-                            <th>操作</th>
-                        </tr>
-                        </thead>
-                        <tbody>
-                        {{range $index,$item := .Lists}}
-                        <tr>
-                            <td>{{$item.ItemId}}</td>
-                            <td>{{$item.ItemName}}</td>
-                            <td>{{$item.ItemKey}}</td>
-                            <td>{{$item.BookNumber}}</td>
-                            <td>{{$item.CreateTimeString}}</td>
-                            <td>
-                                <a href="{{urlfor "ItemsetsController.List" ":key" $item.ItemKey}}" class="btn btn-success btn-sm" target="_blank" title="{{$item.ItemName}}">详情</a>
-                            </td>
-                        </tr>
-                        {{else}}
-                        <tr><td class="text-center" colspan="6">暂无数据</td></tr>
-                        {{end}}
-                        </tbody>
-                    </table>
+                {{range $index,$item := .Lists}}
+                    <a href="{{urlfor "ItemsetsController.List" ":key" $item.ItemKey}}" class="ui-card" title="{{$item.ItemName}}">
+                    <div class="header">{{$item.ItemName}}</div>
+                        <div class="description">项目数量:{{$item.BookNumber}} &nbsp; 创建人:{{$item.CreateName}}<br/> 创建时间:{{$item.CreateTimeString}}</div>
+                    </a>
+                {{else}}
+                    <div class="search-empty">
+                        <img src="{{cdnimg "/static/images/search_empty.png"}}" class="empty-image">
+                        <span class="empty-text">没有项目空间</span>
+                    </div>
+                {{end}}
                 </div>
             </div>
 

+ 2 - 2
views/items/list.tpl

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
 
-    <title>项目{{.Model.ItemName}}的项目列表 - Powered by MinDoc</title>
+    <title>项目空间{{.Model.ItemName}}的项目列表 - Powered by MinDoc</title>
     <meta name="keywords" content="MinDoc,文档在线管理系统,WIKI,wiki,wiki在线,文档在线管理,接口文档在线管理,接口文档管理,{{.Model.ItemName}}">
     <meta name="description" content="MinDoc文档在线管理系统 {{.site_description}}">
     <!-- Bootstrap -->
@@ -19,7 +19,7 @@
 {{template "widgets/header.tpl" .}}
     <div class="container manual-body">
         <div class="search-head">
-            <strong class="search-title">显示项目为"{{.Model.ItemName}}"的项目</strong>
+            <strong class="search-title">显示项目空间为"{{.Model.ItemName}}"的项目</strong>
         </div>
         <div class="row">
             <div class="manual-list">

+ 1 - 1
views/manager/edit_book.tpl

@@ -49,7 +49,7 @@
                                 <input type="text" class="form-control" value="{{urlfor "DocumentController.Index" ":key" .Model.Identify}}" disabled placeholder="项目标识">
                             </div>
                             <div class="form-group">
-                                <label>项目</label>
+                                <label>项目空间</label>
                                 <select class="js-data-example-ajax form-control" multiple="multiple" name="itemId">
                                     <option value="{{.Model.ItemId}}" selected="selected">{{.Model.ItemName}}</option>
                                 </select>

+ 22 - 22
views/manager/itemsets.tpl

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
 
-    <title>项目管理 - Powered by MinDoc</title>
+    <title>项目空间管理 - Powered by MinDoc</title>
 
     <!-- Bootstrap -->
     <link href="{{cdncss "/static/bootstrap/css/bootstrap.min.css"}}" rel="stylesheet" type="text/css">
@@ -22,9 +22,9 @@
             <div class="page-right">
                 <div class="m-box">
                     <div class="box-head">
-                        <strong class="box-title">项目管理</strong>
+                        <strong class="box-title">项目空间管理</strong>
                     {{if eq .Member.Role 0}}
-                        <button type="button" class="btn btn-success btn-sm pull-right" data-toggle="modal" data-target="#addItemsetsDialogModal"><i class="fa fa-plus" aria-hidden="true"></i> 创建项目</button>
+                        <button type="button" class="btn btn-success btn-sm pull-right" data-toggle="modal" data-target="#addItemsetsDialogModal"><i class="fa fa-plus" aria-hidden="true"></i> 创建项目空间</button>
                     {{end}}
                     </div>
                 </div>
@@ -34,8 +34,8 @@
                             <thead>
                             <tr>
                                 <th width="10%">#</th>
-                                <th width="30%">项目名称</th>
-                                <th width="20%">项目标识</th>
+                                <th width="30%">项目空间名称</th>
+                                <th width="20%">项目空间标识</th>
                                 <th width="20%">项目数量</th>
                                 <th>操作</th>
                             </tr>
@@ -75,20 +75,20 @@
             <div class="modal-content">
                 <div class="modal-header">
                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
-                    <h4 class="modal-title" id="myModalLabel">创建项目</h4>
+                    <h4 class="modal-title" id="myModalLabel">创建项目空间</h4>
                 </div>
                 <div class="modal-body">
                     <div class="form-group">
-                        <label class="col-sm-3 control-label" for="account">项目名称<span class="error-message">*</span></label>
+                        <label class="col-sm-3 control-label" for="account">项目空间名称<span class="error-message">*</span></label>
                         <div class="col-sm-9">
-                            <input type="text" name="itemName" class="form-control" placeholder="项目名称" id="itemName" maxlength="50">
+                            <input type="text" name="itemName" class="form-control" placeholder="项目空间名称" id="itemName" maxlength="50">
                         </div>
                     </div>
                     <div class="form-group">
-                        <label class="col-sm-3 control-label" for="itemKey">项目标识<span class="error-message">*</span></label>
+                        <label class="col-sm-3 control-label" for="itemKey">项目空间标识<span class="error-message">*</span></label>
                         <div class="col-sm-9">
-                            <input type="text" name="itemKey" id="itemKey" class="form-control" placeholder="项目标识" maxlength="50">
-                            <p class="text">项目标识只能由字母和数字组成且在2-100字符之间</p>
+                            <input type="text" name="itemKey" id="itemKey" class="form-control" placeholder="项目空间标识" maxlength="50">
+                            <p class="text">项目空间标识只能由字母和数字组成且在2-100字符之间</p>
                         </div>
                     </div>
                     <div class="clearfix"></div>
@@ -110,19 +110,19 @@
             <div class="modal-content">
                 <div class="modal-header">
                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
-                    <h4 class="modal-title" id="myModalLabel">编辑项目</h4>
+                    <h4 class="modal-title" id="myModalLabel">编辑项目空间</h4>
                 </div>
                 <div class="modal-body">
                     <div class="form-group">
-                        <label class="col-sm-2 control-label" for="itemName">项目集名称<span class="error-message">*</span></label>
-                        <div class="col-sm-10">
-                            <input type="text" name="itemName" id="itemName" class="form-control" placeholder="项目名称" maxlength="50">
+                        <label class="col-sm-3 control-label" for="itemName">项目空间名称<span class="error-message">*</span></label>
+                        <div class="col-sm-9">
+                            <input type="text" name="itemName" id="itemName" class="form-control" placeholder="项目空间名称" maxlength="50">
                         </div>
                     </div>
                     <div class="form-group">
-                        <label class="col-sm-2 control-label" for="itemKey">项目集标识<span class="error-message">*</span></label>
-                        <div class="col-sm-10">
-                            <input type="text" name="itemKey" id="itemKey" class="form-control" placeholder="项目标识" maxlength="50">
+                        <label class="col-sm-3 control-label" for="itemKey">项目空间标识<span class="error-message">*</span></label>
+                        <div class="col-sm-9">
+                            <input type="text" name="itemKey" id="itemKey" class="form-control" placeholder="项目空间标识" maxlength="50">
                         </div>
                     </div>
                     <div class="clearfix"></div>
@@ -164,10 +164,10 @@
                 var $itemKey =  addItemsetsDialogForm.find("input[name='itemKey']").val();
 
                 if ($itemName == "") {
-                    showError("项目名称不能为空","#create-form-error-message");
+                    showError("项目空间名称不能为空","#create-form-error-message");
                 }
                 if ($itemKey == "") {
-                    showError("项目标识不能为空","#create-form-error-message");
+                    showError("项目空间标识不能为空","#create-form-error-message");
                 }
                 $("#btnAddItemsets").button("loading");
                 showError("","#create-form-error-message");
@@ -194,10 +194,10 @@
                var $itemKey =  editItemsetsDialogForm.find("input[name='itemKey']").val();
 
                if ($itemName == "") {
-                   showError("项目名称不能为空","#edit-form-error-message");
+                   showError("项目空间名称不能为空","#edit-form-error-message");
                }
                if ($itemKey == "") {
-                   showError("项目标识不能为空","#edit-form-error-message");
+                   showError("项目空间标识不能为空","#edit-form-error-message");
                }
                $("#btnEditItemsets").button("loading");
                showError("","#edit-form-error-message");

+ 1 - 1
views/manager/widgets.tpl

@@ -4,7 +4,7 @@
         <li{{if eq "users" .}} class="active"{{end}}><a href="{{urlfor "ManagerController.Users" }}" class="item"><i class="fa fa-user" aria-hidden="true"></i> 用户管理</a> </li>
         <li{{if eq "team" .}} class="active"{{end}}><a href="{{urlfor "ManagerController.Team" }}" class="item"><i class="fa fa-group" aria-hidden="true"></i> 团队管理</a> </li>
         <li{{if eq "books" .}} class="active"{{end}}><a href="{{urlfor "ManagerController.Books" }}" class="item"><i class="fa fa-book" aria-hidden="true"></i> 项目管理</a> </li>
-        <li{{if eq "itemsets" .}} class="active"{{end}}><a href="{{urlfor "ManagerController.Itemsets" }}" class="item"><i class="fa fa-archive" aria-hidden="true"></i> 项目管理</a> </li>
+        <li{{if eq "itemsets" .}} class="active"{{end}}><a href="{{urlfor "ManagerController.Itemsets" }}" class="item"><i class="fa fa-archive" aria-hidden="true"></i> 项目空间管理</a> </li>
 
     {{/*<li><a href="{{urlfor "ManagerController.Comments" }}" class="item"><i class="fa fa-comments-o" aria-hidden="true"></i> 评论管理</a> </li>*/}}
         <li{{if eq "setting" .}} class="active"{{end}}><a href="{{urlfor "ManagerController.Setting" }}" class="item"><i class="fa fa-cogs" aria-hidden="true"></i> 配置管理</a> </li>

+ 1 - 1
views/widgets/header.tpl

@@ -17,7 +17,7 @@
                         <a href="{{urlfor "BlogController.List" }}" title="文章">文章</a>
                     </li>
                     <li {{if eq .ControllerName "ItemsetsController"}}class="active"{{end}}>
-                        <a href="{{urlfor "ItemsetsController.Index" }}" title="项目集">项目集</a>
+                        <a href="{{urlfor "ItemsetsController.Index" }}" title="项目空间">项目空间</a>
                     </li>
                 </ul>
                 <div class="searchbar pull-left visible-lg-inline-block visible-md-inline-block">