Ver código fonte

Merge branch 'dev3.3' of http://192.168.3.207:10080/qmx/jy-data-extract into dev3.3

fengweiqiang 5 anos atrás
pai
commit
c2e8a0059a

+ 15 - 7
dataprocess/src/front/front.go

@@ -15,11 +15,19 @@ type Front struct {
 	login     xweb.Mapper `xweb:"/"`                //登录页面
 	index     xweb.Mapper `xweb:"/front/index"`     //index页面
 	logout    xweb.Mapper `xweb:"/front/logout"`    //注销
-	updatepwd xweb.Mapper `xweb:"/front/updatepwd"` //更新密码
+	updatePwd xweb.Mapper `xweb:"/front/updatepwd"` //更新密码
+	//user
+	user     xweb.Mapper `xweb:"/front/user"`      //查所有用户
+	userDel  xweb.Mapper `xweb:"/front/user/del"`  //删除用户
+	userSave xweb.Mapper `xweb:"/front/user/save"` //保存用户
+	//menu
+	menu           xweb.Mapper `xweb:"/front/menu"`            //查一级菜单
+	menuSave       xweb.Mapper `xweb:"/front/menu/save"`       //保存一级菜单
+	menuDel        xweb.Mapper `xweb:"/front/menu/del"`        //删除一级菜单
+	menuSecond     xweb.Mapper `xweb:"/front/menuSecond"`      //查二级菜单
+	menuSecondSave xweb.Mapper `xweb:"/front/menuSecond/save"` //保存二级菜单
+	menuSecondDel  xweb.Mapper `xweb:"/front/menuSecond/del"`  //删除二级菜单
 
-	user xweb.Mapper `xweb:"/front/user"`      //查所有用户
-	del  xweb.Mapper `xweb:"/front/user/del"`  //删除用户
-	save xweb.Mapper `xweb:"/front/user/save"` //删除用户
 }
 
 func (f *Front) Login() {
@@ -64,7 +72,7 @@ func (f *Front) Logout() {
 	f.Redirect("/")
 }
 
-func (f *Front) Updatepwd() {
+func (f *Front) UpdatePwd() {
 	defer qu.Catch()
 	id := f.GetString("id")
 	password := f.GetString("pwd")
@@ -96,7 +104,7 @@ func (f *Front) User() {
 	}
 }
 
-func (f *Front) Del() {
+func (f *Front) UserDel() {
 	defer qu.Catch()
 	_id := f.GetString("_id")
 	query := bson.M{
@@ -108,7 +116,7 @@ func (f *Front) Del() {
 	})
 }
 
-func (f *Front) Save() {
+func (f *Front) UserSave() {
 	_id := f.GetString("_id")
 	role := f.GetString("role")
 	name := f.GetString("name")

+ 137 - 0
dataprocess/src/front/memu.go

@@ -1 +1,138 @@
 package front
+
+import (
+	qu "qfw/util"
+	"time"
+
+	. "../util"
+	"gopkg.in/mgo.v2/bson"
+)
+
+func (f *Front) Menu() {
+	defer qu.Catch()
+	if f.Method() == "POST" {
+		data, _ := Mgo.Find("menu_first", `{"delete":false}`, `{"_id":1}`, nil, false, -1, -1)
+		f.ServeJson(map[string]interface{}{
+			"data": data,
+		})
+	} else {
+		f.Render("com/menu_first.html")
+	}
+}
+
+func (f *Front) MenuSave() {
+	defer qu.Catch()
+	name := f.GetString("name")
+	href := f.GetString("href")
+	css := f.GetString("css")
+	id := f.GetString("id")
+	query := bson.M{
+		"_id":    qu.StringTOBsonId(id),
+		"delete": false,
+	}
+	if id == "" {
+		query = bson.M{
+			"_id":    bson.NewObjectId(),
+			"delete": false,
+		}
+	}
+	set := bson.M{
+		"$set": bson.M{
+			"s_name":       name,
+			"s_href":       href,
+			"s_css":        css,
+			"delete":       false,
+			"i_comeintime": time.Now().Unix(),
+		},
+	}
+	b := Mgo.Update("menu_first", query, set, true, false)
+	if b {
+		f.ServeJson(map[string]interface{}{
+			"rep": b,
+		})
+	}
+}
+
+func (f *Front) MenuDel() {
+	defer qu.Catch()
+	_id := f.GetString("_id")
+	query := bson.M{
+		"_id": qu.StringTOBsonId(_id),
+	}
+	set := bson.M{
+		"$set": bson.M{
+			"delete": true,
+		},
+	}
+	b := Mgo.Update("menu_first", query, set, false, false)
+	f.ServeJson(map[string]interface{}{
+		"rep": b,
+	})
+}
+
+func (f *Front) MenuSecond() {
+	defer qu.Catch()
+	id := f.GetString("id")
+	if f.Method() == "POST" {
+		data, _ := Mgo.Find("menu_second", `{"s_pid":"`+id+`","delete":false}`, `{"_id":1}`, nil, false, -1, -1)
+		f.ServeJson(map[string]interface{}{
+			"data": data,
+		})
+	} else {
+		f.T["id"] = id
+		f.Render("com/menu_second.html", &f.T)
+	}
+
+}
+
+func (f *Front) MenuSecondSave() {
+	defer qu.Catch()
+	name := f.GetString("name")
+	href := f.GetString("href")
+	css := f.GetString("css")
+	id := f.GetString("id")
+	pid := f.GetString("pid")
+	query := bson.M{
+		"_id":    qu.StringTOBsonId(id),
+		"delete": false,
+	}
+	if id == "" {
+		query = bson.M{
+			"_id":    bson.NewObjectId(),
+			"delete": false,
+		}
+	}
+	set := bson.M{
+		"$set": bson.M{
+			"s_name":       name,
+			"s_href":       href,
+			"s_css":        css,
+			"delete":       false,
+			"s_pid":        pid,
+			"i_comeintime": time.Now().Unix(),
+		},
+	}
+	b := Mgo.Update("menu_second", query, set, true, false)
+	if b {
+		f.ServeJson(map[string]interface{}{
+			"rep": b,
+		})
+	}
+}
+
+func (f *Front) MenuSecondDel() {
+	defer qu.Catch()
+	_id := f.GetString("_id")
+	query := bson.M{
+		"_id": qu.StringTOBsonId(_id),
+	}
+	set := bson.M{
+		"$set": bson.M{
+			"delete": true,
+		},
+	}
+	b := Mgo.Update("menu_second", query, set, false, false)
+	f.ServeJson(map[string]interface{}{
+		"rep": b,
+	})
+}

+ 2 - 2
dataprocess/src/web/templates/com/memu.html → dataprocess/src/web/templates/com/menu.html

@@ -23,7 +23,7 @@
             </span>
           	</a>
           	<ul class="treeview-menu">
-	            <li><a href="/admin/rule/pre"><i class="fa fa-circle-o"></i>菜单</a></li>
+	            <li><a href="/front/menuff"><i class="fa fa-circle-o"></i>菜单</a></li>
 			</ul>
         </li>
 		<li><a href="/front/usertest"><i class="fa fa-navicon"></i><span>结果追踪</span></a></li>
@@ -36,7 +36,7 @@
           	<ul class="treeview-menu">
 	            <li><a href="/front/user"><i class="fa fa-circle-o"></i>人员管理</a></li>
 				<li><a href="/admin/rule/pre"><i class="fa fa-circle-o"></i>角色管理</a></li>
-				<li><a href="/admin/rule/pre"><i class="fa fa-circle-o"></i>菜单管理</a></li>
+				<li><a href="/front/menu"><i class="fa fa-circle-o"></i>菜单管理</a></li>
 			</ul>
 		</li>
       </ul>

+ 181 - 0
dataprocess/src/web/templates/com/menu_first.html

@@ -0,0 +1,181 @@
+{{include "com/inc.html"}}
+<!-- Main Header -->
+{{include "com/header.html"}}
+<!-- Left side column. 权限菜单 -->
+{{include "com/menu.html"}}
+
+<!-- Content Wrapper. Contains page content -->
+<div class="content-wrapper">
+    <section class="content-header">
+        <h1>
+            <small><button type="button" class="btn btn-primary" data-toggle="modal" onclick="add()">新增菜单</button></small>
+        </h1>
+        <ol class="breadcrumb">
+            <li><a href="/front/menu"><i class="fa fa-dashboard"></i> 菜单管理</a></li>
+        </ol>
+    </section>
+    <!-- Main content -->
+    <section class="content">
+        <div class="row">
+            <div class="col-xs-12">
+                <div class="box">
+                    <div class="box-body">
+                        <table id="dataTable" class="table table-bordered table-hover">
+                            <thead>
+                            <tr>
+                                <th>名字</th>
+                                <th>链接</th>
+                                <th>样式</th>
+                                <th>二级菜单</th>
+                                <th>操作</th>
+                            </tr>
+                            </thead>
+                        </table>
+                    </div>
+                    <!-- /.box-body -->
+                </div>
+                <!-- /.box -->
+            </div>
+        </div>
+    </section>
+</div>
+
+<div class="modal fade" id="modal-info">
+    <div class="modal-dialog">
+        <form id="userform" class="form-horizontal" role="form">
+            <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">菜单信息</h4>
+                </div>
+                <div class="modal-body">
+                    <div class="form-group">
+                        <label for="code" class="col-sm-2 control-label">菜单名称:</label>
+                        <div class="col-sm-10">
+                            <input id="name" name="name" type="text" class="form-control" placeholder="请输入名称">
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="code" class="col-sm-2 control-label">链接:</label>
+                        <div class="col-sm-10">
+                            <input id="href" name="href" type="text" class="form-control" placeholder="请输入链接">
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="site" class="col-sm-2 control-label">样式:</label>
+                        <div class="col-sm-10">
+                            <input id="css"  name="css" type="text" class="form-control" placeholder="请输入图标样式" value="fa fa-laptop">
+                        </div>
+                    </div>
+                    <!--<div class="form-group">
+                        <label for="modify" class="col-sm-2 control-label">二级菜单:</label>
+                        <div id="secondmenu" class="col-sm-10">
+                            <input type="button" value="+" onclick="append()"></input>
+                        </div>
+                    </div>-->
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+                    <button type="button" class="btn btn-primary" onclick="save()">保存</button>
+                </div>
+            </div>
+            <!-- /.modal-content -->
+        </form>
+        <input type="hidden" id="_id">
+
+    </div>
+    <!-- /.modal-dialog -->
+</div>
+<!-- /.modal -->
+
+<!-- footer -->
+{{include "com/footer.html"}}
+
+<script>
+	var id="";
+    menuActive("menu");
+	$(function () {
+        ttable=$('#dataTable').DataTable({
+            "paging"      : true,
+            "lengthChange": false,
+            "searching"   : true,
+            "ordering"    : true,
+            "info"        : true,
+            "autoWidth"   : false,
+            "ajax": {
+                "url": "/front/menu",
+                "type": "post",
+                "data":{}
+            },
+            "language": {
+                "url": "/dist/js/dataTables.chinese.lang"
+            },
+            "columns": [
+                { "data": "s_name"},
+                { "data": "s_href"},
+                { "data": "s_css"},
+                {"data":"secondmenu",render:function(val,a,row){
+                    return '<a class="btn btn-sm btn-success" href="/front/menuSecond?id='+row._id+'">进入二级菜单</a>'
+                }},
+                {"data":"_id",render:function(val,a,row){
+                        return  "<a href='#' onclick='edit(\""+row['s_name']+"\",\""+row['s_href']+"\",\""+row['s_css']+"\",\""+row['_id']+"\")'><i class='fa fa-fw fa-edit text-yellow'></i></a> &nbsp;"+
+                                "<a href='#' onclick='del(\""+val+"\")'><i class='fa fa-fw fa-trash text-red'></i></a>"
+                    }}
+            ]
+        });
+        //ttable.on('init.dt', function () {});
+    })
+	
+	function add(){
+		id="";
+		$("#modal-info #name").val("");
+		$("#modal-info #href").val("");
+		$("#modal-info").modal("show");
+	}
+	function edit(name,href,css,_id){
+		id=_id;
+		$("#modal-info #name").val(name);
+		$("#modal-info #href").val(href);
+		$("#modal-info #css").val(css);
+		$("#modal-info").modal("show");
+	}
+	function save(){
+		var name=$("#modal-info #name").val();
+		var href=$("#modal-info #href").val();
+		var css=$("#modal-info #css").val();
+		if(name==""||href==""||css==""){
+			alert("表单填写不完整!")
+			return false;
+		}
+		$.ajax({
+			url:"/front/menu/save",
+			type:"post",
+			data:{"name":name,"href":href,"css":css,"id":id},
+			success:function(r){
+				if(r.rep){
+					$("#modal-info").modal("hide");
+					ttable.ajax.reload();
+				}else{
+					alert("保存失败");
+				}
+			}
+		})
+	}
+	function del(_id){
+		showConfirm("确定删除?", function() {
+			$.ajax({
+				url:"/front/menu/del",
+				type:"post",
+				data:{"_id":_id},
+				success:function(r){
+					if(r.rep){				
+						ttable.ajax.reload();
+					}else{
+						showTip("删除失败", 1000, function() {});
+					}
+				}
+			})
+		});
+	}
+</script>

+ 174 - 0
dataprocess/src/web/templates/com/menu_second.html

@@ -0,0 +1,174 @@
+{{include "com/inc.html"}}
+<!-- Main Header -->
+{{include "com/header.html"}}
+<!-- Left side column. 权限菜单 -->
+{{include "com/menu.html"}}
+
+
+<!-- Content Wrapper. Contains page content -->
+<div class="content-wrapper">
+    <section class="content-header">
+        <h1>
+            <small><button type="button" class="btn btn-primary" data-toggle="modal" onclick="add()">新增二级菜单</button></small>
+        </h1>
+        <ol class="breadcrumb">
+            <li><a href="/front/menu"><i class="fa fa-dashboard"></i> 菜单管理</a></li>
+            <li><a href="/front/menuSecond?id={{.T.id}}"><i class="fa fa-dashboard"></i> 二级菜单管理</a></li>
+        </ol>
+    </section>
+    <!-- Main content -->
+    <section class="content">
+        <div class="row">
+            <div class="col-xs-12">
+                <div class="box">
+                    <div class="box-body">
+                        <table id="dataTable" class="table table-bordered table-hover">
+                            <thead>
+                            <tr>
+                                <th>名字</th>
+                                <th>链接</th>
+                                <th>样式</th>
+                                <th>操作</th>
+                            </tr>
+                            </thead>
+                        </table>
+                    </div>
+                    <!-- /.box-body -->
+                </div>
+                <!-- /.box -->
+            </div>
+        </div>
+    </section>
+</div>
+
+<div class="modal fade" id="modal-info">
+    <div class="modal-dialog">
+        <form id="userform" class="form-horizontal" role="form">
+            <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">二级菜单信息</h4>
+                </div>
+                <div class="modal-body">
+                    <div class="form-group">
+                        <label for="code" class="col-sm-2 control-label">菜单名称:</label>
+                        <div class="col-sm-10">
+                            <input id="name" name="name" type="text" class="form-control" placeholder="请输入名称">
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="code" class="col-sm-2 control-label">链接:</label>
+                        <div class="col-sm-10">
+                            <input id="href" name="href" type="text" class="form-control" placeholder="请输入链接">
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="site" class="col-sm-2 control-label">样式:</label>
+                        <div class="col-sm-10">
+                            <input id="css"  name="css" type="text" class="form-control" placeholder="请输入图标样式" value="fa fa-circle-o">
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+                    <button type="button" class="btn btn-primary" onclick="save()">保存</button>
+                </div>
+            </div>
+            <!-- /.modal-content -->
+        </form>
+        <input type="hidden" id="_id">
+    </div>
+    <!-- /.modal-dialog -->
+</div>
+<!-- /.modal -->
+
+<!-- footer -->
+{{include "com/footer.html"}}
+
+<script>
+	var pid={{.T.id}};
+	var id="";
+    menuActive("menu")
+    $(function () {
+        ttable=$('#dataTable').DataTable({
+            "paging"      : true,
+            "lengthChange": false,
+            "searching"   : true,
+            "ordering"    : true,
+            "info"        : true,
+            "autoWidth"   : false,
+            "ajax": {
+                "url": "/front/menuSecond",
+                "type": "post",
+                "data":{"id":{{.T.id}}}
+            },
+            "language": {
+                "url": "/dist/js/dataTables.chinese.lang"
+            },
+            "columns": [
+                { "data": "s_name"},
+                { "data": "s_href"},
+                { "data": "s_css"},
+                { "data":"_id",render:function(val,a,row){
+                        return  "<a href='#' onclick='edit(\""+row['s_name']+"\",\""+row['s_href']+"\",\""+row['s_css']+"\",\""+row['_id']+"\")'><i class='fa fa-fw fa-edit text-yellow'></i></a> &nbsp;"+
+                                "<a href='#' onclick='del(\""+val+"\")'><i class='fa fa-fw fa-trash text-red'></i></a>"
+                }}
+
+            ]
+        });
+        //ttable.on('init.dt', function () {});
+    })
+	
+	function add(){
+		id="";
+		$("#modal-info #name").val("");
+		$("#modal-info #href").val("");
+		$("#modal-info").modal("show");
+	}
+	function edit(name,href,css,_id){
+		id=_id;
+		$("#modal-info #name").val(name);
+		$("#modal-info #href").val(href);
+		$("#modal-info #css").val(css);
+		$("#modal-info").modal("show");
+	}
+	function save(){
+		var name=$("#modal-info #name").val();
+		var href=$("#modal-info #href").val();
+		var css=$("#modal-info #css").val();
+		if(name==""||href==""||css==""){
+			alert("表单填写不完整!")
+			return false;
+		}
+		$.ajax({
+			url:"/front/menuSecond/save",
+			type:"post",
+			data:{"name":name,"href":href,"css":css,"pid":pid,"id":id},
+			success:function(r){
+				if(r.rep){
+					$("#modal-info").modal("hide");
+					ttable.ajax.reload();
+				}else{
+					alert("保存失败");
+				}
+			}
+		})
+	}
+	function del(_id){
+		showConfirm("确定删除?", function() {
+			$.ajax({
+				url:"/front/menuSecond/del",
+				type:"post",
+				data:{"_id":_id},
+				success:function(r){
+					if(r.rep){				
+						ttable.ajax.reload();
+					}else{
+						showTip("删除失败", 1000, function() {});
+					}
+				}
+			})
+		});
+	}
+</script>

+ 1 - 1
dataprocess/src/web/templates/com/user.html

@@ -2,7 +2,7 @@
 <!-- Main Header -->
 {{include "com/header.html"}}
 <!-- Left side column. 权限菜单 -->
-{{include "com/memu.html"}}
+{{include "com/menu.html"}}
 
 <!-- Content Wrapper. Contains page content -->
 <div class="content-wrapper">

+ 1 - 1
dataprocess/src/web/templates/index.html

@@ -2,7 +2,7 @@
 <!-- Main Header -->
 {{include "com/header.html"}}
 <!-- Left side column. 权限菜单 -->
-{{include "com/memu.html"}}
+{{include "com/menu.html"}}
 
   <!-- Content Wrapper. Contains page content -->
   <div class="content-wrapper">