minitiger 9 лет назад
Родитель
Сommit
eeb48a394c

+ 14 - 86
VisualInspection/js/constant/constant.js

@@ -1,36 +1,8 @@
-var page_size=10;
-// var p_cur = 1; //页号
-// var p_pages; //总页码
-// var p_totalRecords;
-var curTable;
-var curDatas;
+// var page_size=10;
 function queryConstant(){
-    // p_cur = 1;
-    getConstant();
-}
-function getConstant(){
-    // var data = {
-    //     "flag_name": $("#keywords").val()
-    // }
-    // var pager = $('.datatable').mytable.getPager();
-    // if(!p_cur) p_cur = 1;
-    // getConstantList("/constant/getConstantByName/"+p_cur+"/"+page_size, data, function(data) {
-    //     // p_pages=data.pages;
-    //     // p_totalRecords=data.total;
-    //     curDatas=data.list;
-    //     updateTable(data);
-    //     //pager();
-    // }, function(error) {
-    //     alert(error);
-    // });
-    updateTable();
-}
-
-function updateTable(){
     var data = {
         "flag_name": $("#keywords").val()
     }
-    // var tableData=data.list;
     var cols = [
                 {width: 80, text: '序号', type: 'number', flex: false, field: 'num'},
                 {width: 80, text: '字典值', type: 'date', flex: false, field: 'code_value'},
@@ -47,19 +19,16 @@ function updateTable(){
                 }
             ];
     
-    var pager = {
-        page_size:10
-    }
+    // var pager = {
+    //     page_size:10
+    // }
     $('.datatable').mytable({'cols':cols,
-                            // 'tableData':tableData,
                             'url':"/constant/getConstantByName/",
-                            'param':data,
-                            'pager':pager}
+                            'param':data}
                             );
 }
 
 function showAddConstant(){
-    $('#formModal').modal('toggle');
     $('#code_flag').val('');
     $('#flag_name').val('');
     $('#code_value').val('');
@@ -67,15 +36,10 @@ function showAddConstant(){
     $('#sort_no').val('');
     $('#remark').val('');
     $("#valid").attr('checked','true');
-    $("#operation-btn").unbind("click").click(function(){
-        addConstant();
-    });
+    showPopup4Common('添加常量',function(){
+        addOrUpdateConstant("/constant/add/");
+    },'400px');
 }
-
-function addConstant(){
-    addOrUpdateConstant("/constant/add/");
-}
-
 var cur_id;
 function addOrUpdateConstant(url){
     var valid=1;
@@ -90,28 +54,12 @@ function addOrUpdateConstant(url){
         'remark':$('#remark').val(),
         'valid':valid
     };
-    addConstant_service(url, param, function(data) {
-        queryConstant();
-        layer.msg(data, {
-            time: 2000//2s后自动关闭
-        });
-        $('#formModal').modal('toggle');
-    }, function(error) {
-        alert(error);
-    });
+    addOrUpdateItem4Common(param,url,queryConstant);
 }
 
 function showEditConstant(id){
     cur_id='';
-    $('#formModal').modal('toggle');
-    var curDatas = $('.datatable').mytable('getTableData');
-    var rowData;
-    for(var i=0;i<curDatas.length;i++){
-        if(id==curDatas[i].id){
-            rowData = curDatas[i];
-            break;            
-        }
-    }
+    var rowData=getItemByIdFromArr(id,$('.datatable').mytable('getTableData'));
     if(rowData) {
         cur_id = rowData.id;
         $('#code_flag').val(rowData.code_flag);
@@ -125,32 +73,12 @@ function showEditConstant(id){
         }else{
             $("#valid").attr('checked','false');
         }
-        
-        $("#operation-btn").unbind("click").click(function(){
-            updateConstant();
-        });
+        showPopup4Common('修改常量',function(){
+            addOrUpdateConstant("/constant/update/");
+        },'400px');
     }
 }
 
-function updateConstant(){
-    addOrUpdateConstant("/constant/update/");
-}
-
 function deleteConstant(id){
-    //询问框
-    layer.confirm('确定删除记录?', {
-        btn: ['删除','取消'] //按钮
-    }, function(){
-        var param ={"id":id};
-        deleteConstant_service("/constant/delete/", param, function(data) {
-            queryConstant();//重新加载表格数据
-            layer.msg(data, {
-                time: 2000//20s后自动关闭
-            });
-        }, function(error) {
-            alert(error);
-        });
-    }, function(index){  
-        layer.close(index);
-    });
+    deleteItem4Common(id,"/constant/delete/",queryConstant);
 }

+ 20 - 20
VisualInspection/js/lib/mytable.js

@@ -12,33 +12,28 @@
      * @param object element           DOM element or jquery element
      * @param object options           Datatable options
      */
-    var mytable = function(element, options) {
+    var mytable = function(element, options, flag) {
+        // default options
+        var DEFAULTS = {
+            isShoWPager:true,
+            pager:{
+                page_size:10
+            }
+        };
+        this.options = $.extend({}, DEFAULTS, options);
         this.element = element;
-        this.options = options;
+        // this.options = options;
         this.pager = options.pager;
         this.con = $(element);
         this.obj = this;
         $(element).html('');
+        if(flag) return;
         $(element).append('<div class="row"><div id="my_table" data-checkable="true" data-sortable="true"></div></div>'
                            + '<div id="kkpager" class="row" style="text-align:center"></div>');
-        this.getRemoteData(element,options,this);
+        this.getRemoteData(element,this.options,this);
         return this;       
     };
 
-
-    // default options
-    mytable.DEFAULTS = {
-        container:"",
-        pages:'',
-        curr:'',
-        groups:'',
-        first:1,
-        last:1,
-        prev:1,
-        next:1,
-        jump:null
-    };
-
     // Get options
     mytable.prototype = {
         getRemoteData:function(element,options,obj){
@@ -58,7 +53,7 @@
             var page_size = pager.page_size;
             var param = options.param;
             // var obj = this.obj;
-            common_post_service(url+"/"+p_cur+"/"+page_size, param, function(data) {
+            post_common_service(url+"/"+p_cur+"/"+page_size, param, function(data) {
                 // $(element).html("");
                 element.tt_data=data.list;
                 options.tableData=data.list;
@@ -111,7 +106,10 @@
                         }
                         dArr.push(operStr);
                     }else{
-                        dArr.push(obj[cols[i].field]);
+                        if(obj[cols[i].field])
+                            dArr.push(obj[cols[i].field]);
+                        else 
+                            dArr.push('');
                     }
                 }
                 row.data=dArr;
@@ -153,7 +151,9 @@
         if (typeof options == 'string') {
             switch (options) {
                 case 'getTableData': 
-                    return this[0].tt_data; 
+                    return this[0].tt_data;
+                case 'empty': 
+                    return new mytable(this,options,true);
             }
          }   else{
         return this.each(function() {

+ 225 - 0
VisualInspection/js/menu/menu.js

@@ -0,0 +1,225 @@
+function initMenu(){
+
+     $("#main_content_title").html("菜单管理")
+
+     $('#dashboard').dashboard({ draggable: true });
+     var zTreeObj;
+     var zNodes = [];
+     menu_tree = $.fn.zTree.init($("#menu_tree"), {}, zNodes);
+     getMenu();
+     $("#dept_add").on("click", function() {
+         var nodedata = menu_tree.getSelectedNodes();
+         edittype = "add"
+         loadData(nodedata)
+         $('#addModal').modal('show')
+     })
+
+     $("#dept_edit").on("click", function() {
+         //获取选中的节点
+         var nodedata = menu_tree.getSelectedNodes();
+         if (nodedata.length < 1) {
+             layer.msg('请先选择部门!', {
+                 time: 2000, //20s后自动关闭
+             });
+             return;
+         }
+         edittype = "edit"
+         loadData(nodedata)
+         $('#addModal').modal('show');
+     });
+
+     $("#dept_delete").on("click", function() {
+         //获取选中的节点
+         var nodedata = menu_tree.getSelectedNodes();
+         if (nodedata.length < 1) {
+             layer.msg('请先选择部门!', {
+                 time: 2000, //20s后自动关闭
+             });
+             return;
+         }
+         DeptDelete(nodedata[0].id, function(data) {
+             layer.msg('删除成功!', {
+                 time: 2000, //20s后自动关闭
+             });
+             menu_tree.removeNode(nodedata[0]);
+         }, function(error) {
+
+         });
+     });
+ }
+
+function getMenu() {
+     function zTreeOnRename(event, treeId, treeNode, isCancel) {
+         alert(treeNode.tId + ", " + treeNode.name);
+     }
+
+     function zTreeOnRemove(event, treeId, treeNode) {
+         alert(treeNode.tId + ", " + treeNode.name);
+     }
+
+
+     var setting = {
+         data: {
+             simpleData: {
+                 enable: true,
+                 idKey: "id",
+                 pIdKey: "pId",
+                 rootPId: null
+             }
+         },
+         view: { //表示tree的显示状态
+             selectMulti: false //表示禁止多选
+         },
+         check: { //表示tree的节点在点击时的相关设置
+             enable: false, //是否显示radio/checkbox
+             chkStyle: "checkbox", //值为checkbox或者radio表示
+             checkboxType: { p: "", s: "" }, //表示父子节点的联动效果
+             radioType: "level" //设置tree的分组
+         },
+         callback: {
+             onClick: zTreeOnClick
+         },
+         edit: {
+             enable: true,
+             drag: {
+                 autoExpandTrigger: true,
+                 isMove: true,
+                 prev: false,
+                 next: true,
+                 inner: true,
+                 autoOpenTime: 0
+             },
+             showRenameBtn: false,
+             showRemoveBtn: false
+         }
+     };
+
+     get_common_service('menu/get/all',null,function(data) {
+         zdata = [];
+         for (var i = 0; i < data.length; i++) {
+             var m = data[i];
+             var zdataItem = {};
+             zdataItem["id"] = m.id;
+             zdataItem["value"] = m.id;
+             zdataItem["pId"] = null;
+             zdataItem["name"] = m.menuname;
+             zdataItem["children"] = addobj(m);
+             zdata.push(zdataItem);
+         }
+         menu_tree = $.fn.zTree.init($("#menu_tree"), setting, zdata)
+     }, function(error) {
+
+     });
+ }
+
+function addobj(data) {
+     var zdata = [];
+     if (typeof(data.childs) != "undefinde" && data.childs != null &&
+         data.childs.length > 0) {
+         for (var i = 0; i < data.childs.length; i++) {
+             var m = data.childs[i];
+             var zdataItem = {};
+             zdataItem["id"] = m.id;
+             zdataItem["value"] = m.id;
+             zdataItem["pId"] = data.id;
+             zdataItem["icon"] = "";
+             zdataItem["name"] = m.menuname;
+             zdataItem["children"] = addobj(m);
+             zdata.push(zdataItem);
+         }
+         return zdata;
+     } else {
+         return [];
+     }
+ }
+var curTreeNode;
+function zTreeOnClick(event, treeId, treeNode){
+    // alert(treeNode.id);
+    curTreeNode=treeNode;
+    queryMenu(treeNode.id);
+}
+function refresh(){
+    // alert(treeNode.id);
+    getMenu();
+     $('.datatable').mytable('empty');
+    //queryMenu(curTreeNode.id);
+}
+function queryMenu(id){
+    var data = {
+        "pid": id
+    }
+    var cols = [
+                {width: 80, text: '菜单名称', type: 'number', flex: false, field: 'menuname'},
+                {width: 160, text: '地址', type: 'date', flex: false, field: 'url'},
+                // {width: 80, text: '字典名称', type: 'string', flex: true, field: 'parentId'},
+                {width: 60, text: '图标', type: 'date', flex: false, field: 'iconClass'},
+                {width: 50, text: '类型', type: 'string', flex: false, field: 'type'},
+                {width: 50, text: '排序号', type: 'date', flex: false, field: 'sortNo'},
+                {width: 60, text: '操作', type: 'string', flex: false, field: 'id',
+                    oper:[
+                        {func:'showEditMenu',text:'修改',icon_class:'icon-edit'},
+                        {func:'deleteMenu',text:'删除',icon_class:'icon-remove-circle'}
+                    ]
+                }
+            ];
+    $('.datatable').mytable({'cols':cols,
+                            'url':"/menu/getMenuByParent/"+id+"/",
+                            'param':data}
+                            );
+}
+
+function showAddMenu(){
+    $('#menuname').val('');
+    $('#url').val('');
+    if(curTreeNode)
+        $('#parentId').val(curTreeNode.id)
+    else
+        $('#parentId').val('');
+    $('#iconClass').val('');
+    $('#type').val('');
+    $('#sortNo').val('');
+    showPopup4Common('添加菜单',function(){
+        addOrUpdateConstant("/menu/addMenu/");
+    },'400px');
+}
+// var cur_id;
+function addOrUpdateConstant(url){
+    var valid=1;
+    if(!$("#valid").is(':checked')) valid=0;
+    var param ={
+        // 'id':cur_id,
+        'menuname':$('#menuname').val(),
+        'url':$('#url').val(),
+        'parentId':$('#parentId').val(),
+        'iconClass':$('#iconClass').val(),
+        'type':$('#type').val(),
+        'sortNo':$('#sortNo').val()
+    };
+    addOrUpdateItem4Common(param,url,refresh);
+}
+
+function showEditMenu(id){
+    // cur_id='';
+    var rowData=getItemByIdFromArr(id,$('.datatable').mytable('getTableData'));
+    if(rowData) {
+        // cur_id = rowData.id;
+        $('#menuname').val(rowData.menuname);
+        $('#url').val(rowData.url);
+        $('#parentId').val(rowData.parentId);
+        $('#iconClass').val(rowData.iconClass);
+        $('#type').val(rowData.type);
+        $('#sortNo').val(rowData.sortNo);
+        // if(rowData.valid==1){
+        //     $("#valid").attr('checked','true');
+        // }else{
+        //     $("#valid").attr('checked','false');
+        // }
+        showPopup4Common('修改菜单',function(){
+            addOrUpdateConstant("/menu/updateMenu/"+id);
+        },'400px');
+    }
+}
+
+function deleteMenu(id){
+    deleteItem4Common(id,"/menu/deleteMenu/"+id+"",refresh);
+}

+ 6 - 0
VisualInspection/js/user/login.js

@@ -1,5 +1,11 @@
 $(document).ready(function() {
 
+    $('html').bind('keydown',function(e){
+        if(e.keyCode==13){
+        // alert('enter'); 
+            $('#loadingBtn').click();
+        }
+    });
     $('#loadingBtn').on('click', function() {
         var $btn = $(this);
         $btn.button('loading');

+ 6 - 5
VisualInspection/js/util/service.js

@@ -100,7 +100,7 @@ function getConstantList(url, param, success, fail) {
     });
 }
 
-function addConstant_service(url, param, success, fail) {
+function no_return_common_service(url, param, success, fail) {   
     var url = base_server_url + url;
     ajaxPost(url, param, function(response) {
         var data = response;
@@ -113,12 +113,13 @@ function addConstant_service(url, param, success, fail) {
         fail("网络错误");
     });
 }
-function deleteConstant_service(url, param, success, fail) {   
+
+function post_common_service(url, param, success, fail) {   
     var url = base_server_url + url;
     ajaxPost(url, param, function(response) {
         var data = response;
         if (data.result_code == 0) {
-            success(data.result_desc)
+            success(data.result_data)
         } else {
             fail(data.result_desc);
         }
@@ -127,9 +128,9 @@ function deleteConstant_service(url, param, success, fail) {
     });
 }
 
-function common_post_service(url, param, success, fail) {   
+function get_common_service(url, param, success, fail) {   
     var url = base_server_url + url;
-    ajaxPost(url, param, function(response) {
+    ajaxGet(url, param, function(response) {
         var data = response;
         if (data.result_code == 0) {
             success(data.result_data)

+ 59 - 0
VisualInspection/js/util/util.js

@@ -98,8 +98,67 @@ function GetQueryString(name) {
     }
     return null;
 }
+function getItemByIdFromArr(id,curDatas){
+    var rowData;
+    for(var i=0;i<curDatas.length;i++){
+        if(id==curDatas[i].id){
+            rowData = curDatas[i];
+            break;            
+        }
+    }
+    return rowData;
+}
+
+function showPopup4Common(title,callback,area){
+    if(!area) area='auto';
+    //添加常量页面
+    layer.open({
+        type: 1,
+        area: area,
+        title: '添加常量',
+        closeBtn: 1,
+        shadeClose: true,
+        skin: 'layui-layer-lan',
+        content: $('#form-div'),
+        btn: '保存',
+        btnAlign: 'c', //按钮居中
+        shade: 0 ,//不显示遮罩
+        yes: function(index){
+            callback();
+            layer.close(index);
+        }
+    });
+}
 
+function deleteItem4Common(id,url,okCb){
+    //询问框
+    layer.confirm('确定删除记录?', {
+        btn: ['删除','取消'] //按钮
+    }, function(){
+        var param ={"id":id};
+        no_return_common_service(url, param, function(data) {
+            okCb();//重新加载表格数据
+            layer.msg(data, {
+                time: 2000//20s后自动关闭
+            });
+        }, function(error) {
+            alert(error);
+        });
+    }, function(index){
+        layer.close(index);
+    });
+}
 
+function addOrUpdateItem4Common(param,url,okCb){
+    no_return_common_service(url, param, function(data) {
+        okCb();//重新加载表格数据
+        layer.msg(data, {
+            time: 2000//20s后自动关闭
+        });
+    }, function(error) {
+        alert(error);
+    });
+}
 // var ViewMap = new HashMap()
 // ViewMap.set("/view/mytask/unchecked.html", __inline('/view/mytask/unchecked.html'));
 // ViewMap.set("/view/mytask/unexamined.html", __inline('/view/mytask/unexamined.html'));

+ 6 - 4
VisualInspection/view/constant/constant.html

@@ -26,7 +26,7 @@
         <div id="kkpager" class="row" style="text-align:center">           
         </div>-->
     </div>
-    <!-- 对话框HTML -->
+    <!-- 对话框HTML 
     <div class="modal fade" id="formModal">
     <div class="modal-dialog">
     <div class="modal-content">
@@ -39,10 +39,12 @@
       </div>
     </div>
     </div>
-    </div>
-
+    </div>-->
+<div id="form-div" style="display:none;text-align:center;">
+    <link rel="import" href="/view/constant/form.html?__inline">   
+</div> 
 <script>
     $(document).ready(function() {
-        getConstant();
+        queryConstant();
     });
 </script>

+ 9 - 11
VisualInspection/view/constant/form.html

@@ -1,39 +1,37 @@
-<div class="container-fluid ">
+<div class="container-fluid" >
         <form class="form-horizontal">
             <div class="form-group">
-            </div>
-            <div class="form-group">
-                <label for="exampleInputAccount4" class="col-sm-2">字典标识</label>
+                <label for="exampleInputAccount4" class="col-md-4 col-sm-2">字典标识</label>
                 <div class="col-md-6 col-sm-10">
                 <input type="text" class="form-control" id="code_flag" placeholder="字典标识">
                 </div>
             </div>
             <div class="form-group">
-                <label for="exampleInputPassword4" class="col-sm-2">标识名称</label>
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">标识名称</label>
                 <div class="col-md-6 col-sm-10">
                 <input type="text" class="form-control" id="flag_name" placeholder="标识名称">
                 </div>
             </div>
             <div class="form-group">
-                <label for="exampleInputPassword4" class="col-sm-2">字典值</label>
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">字典值</label>
                 <div class="col-md-6 col-sm-10">
                 <input type="text" class="form-control" id="code_value" placeholder="字典值">
                 </div>
             </div>
             <div class="form-group">
-                <label for="exampleInputPassword4" class="col-sm-2">字典名称</label>
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">字典名称</label>
                 <div class="col-md-6 col-sm-10">
                 <input type="text" class="form-control" id="code_name" placeholder="字典名称">
                 </div>
             </div>
             <div class="form-group">
-                <label for="exampleInputPassword4" class="col-sm-2">排序号</label>
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">排序号</label>
                 <div class="col-md-6 col-sm-10">
                 <input type="text" class="form-control" id="sort_no" placeholder="排序号">
                 </div>
             </div>
              <div class="form-group">
-                <label for="exampleInputPassword4" class="col-sm-2">备注</label>
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">备注</label>
                 <div class="col-md-6 col-sm-10">
                 <input type="text" class="form-control" id="remark" placeholder="标识名称">
                 </div>
@@ -47,10 +45,10 @@
                 </div>
                 </div>
             </div>
-            <div class="form-group">
+            <!--<div class="form-group">
                 <div class="col-sm-offset-2 col-sm-10">
                 <button id="operation-btn" type="button" class="btn btn-default">保存</button>
                 </div>
-            </div>
+            </div>-->
             </form>
     </div>

+ 0 - 98
VisualInspection/view/constant/util.js

@@ -1,98 +0,0 @@
-function doajax(method, dataurl, data, sucessCallBack, errorCallBack) {
-    var user_key = undefined;
-    var user = $.zui.store.get("user")
-    if (typeof(user) == "undefined" || user == null) {
-
-    } else {
-        user_key = "XinTong " + (user.token);
-    }
-    if (typeof(user_key) == "undefined" || user_key == null) {
-        $.ajax({
-            type: method,
-            url: dataurl,
-            contentType: "application/json",
-            dataType: "json",
-            async: true,
-            data: JSON.stringify(data),
-            success: sucessCallBack,
-            error: function(error) {
-                if (HandleError(error)) return;
-                errorCallBack(error);
-            }
-        })
-    } else {
-
-        $.ajax({
-            type: method,
-            url: dataurl,
-            contentType: "application/json",
-            dataType: "json",
-            beforeSend: function(xhr) {
-                xhr.setRequestHeader("token", user_key);
-            },
-            headers: {
-                'token': user_key
-            },
-            async: true,
-            data: JSON.stringify(data),
-            success: sucessCallBack,
-            error: function(error) {
-                if (HandleError(error)) return;
-                errorCallBack(error);
-            }
-        })
-    }
-
-}
-
-function ajaxGet(dataurl, data, sucessCallBack, errorCallBack) {
-
-    doajax("GET", dataurl, data, sucessCallBack, errorCallBack)
-}
-
-function ajaxPost(dataurl, data, sucessCallBack, errorCallBack) {
-
-    doajax("POST", dataurl, data, sucessCallBack, errorCallBack)
-
-}
-
-function ajaxPut(dataurl, data, sucessCallBack, errorCallBack) {
-
-    doajax("PUT", dataurl, data, sucessCallBack, errorCallBack)
-}
-
-function ajaxDelete(dataurl, data, sucessCallBack, errorCallBack) {
-
-    doajax("DELETE", dataurl, data, sucessCallBack, errorCallBack)
-
-}
-
-
-function HandleError(error) {
-    if (typeof(error) != "undefined" && error != null) {
-        if (typeof(error.status) != "undefined" && error.status != null) {
-            if (error.status == 403) {
-                //未登录退出
-                swal({
-                    title: "提示",
-                    text: "登陆已经过期,将重新登陆!",
-                    timer: 3000,
-                    showConfirmButton: false
-                }, function() {
-
-                    self.location = base_ui_url + UI_USER_LOGIN
-                });
-                return true;
-            }
-        }
-    }
-    return false;
-}
-
-
-// var ViewMap = new HashMap()
-// ViewMap.set("/view/mytask/unchecked.html", __inline('/view/mytask/unchecked.html'));
-// ViewMap.set("/view/mytask/unexamined.html", __inline('/view/mytask/unexamined.html'));
-// ViewMap.set("/view/mytask/undispatched.html", __inline('/view/mytask/undispatched.html'));
-// ViewMap.set("/view/mytask/dispatched.html", __inline('/view/mytask/dispatched.html'));
-// ViewMap.set("/view/constant/constant.html", __inline('/view/constant/constant.html'));

+ 4 - 0
VisualInspection/view/main.html

@@ -7,6 +7,10 @@
     <link rel="import" href="/view/common/commoncsslink.html?__inline">
     <link rel="stylesheet" type="text/css" href="/css/main.css">
     <link rel="import" href="/view/common/commonscriptlink.html?__inline">
+    <!--<link rel="stylesheet" type="text/css" href="/css/user/userManager.css?__inline">
+<script type="text/javascript" src="/node_modules/zui/dist/lib/dashboard/zui.dashboard.min.js?__inline"></script>
+<link rel="stylesheet" type="text/css" href="/node_modules/zui/dist/lib/dashboard/zui.dashboard.min.css">
+<script src="/js/menu/menu.js"></script>-->
 </head>
 
 <body>

+ 42 - 0
VisualInspection/view/menu/form.html

@@ -0,0 +1,42 @@
+<div class="container-fluid ">
+        <form class="form-horizontal">
+            <div class="form-group">
+            </div>
+            <div class="form-group">
+                <label for="exampleInputAccount4" class="col-md-4 col-sm-2">菜单名称</label>
+                <div class="col-md-6 col-sm-10">
+                <input type="text" class="form-control" id="menuname" placeholder="">
+                </div>
+            </div>
+            <div class="form-group">
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">地址</label>
+                <div class="col-md-6 col-sm-10">
+                <input type="text" class="form-control" id="url" placeholder="">
+                </div>
+            </div>
+            <div class="form-group">
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">父节点</label>
+                <div class="col-md-6 col-sm-10">
+                <input type="text" class="form-control" id="parentId" placeholder="">
+                </div>
+            </div>
+            <div class="form-group">
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">图标</label>
+                <div class="col-md-6 col-sm-10">
+                <input type="text" class="form-control" id="iconClass" placeholder="">
+                </div>
+            </div>
+            <div class="form-group">
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">类型</label>
+                <div class="col-md-6 col-sm-10">
+                <input type="text" class="form-control" id="type" placeholder="">
+                </div>
+            </div>
+             <div class="form-group">
+                <label for="exampleInputPassword4" class="col-md-4 col-sm-2">排序号</label>
+                <div class="col-md-6 col-sm-10">
+                <input type="text" class="form-control" id="sortNo" placeholder="">
+                </div>
+            </div>
+        </form>
+    </div>

+ 51 - 0
VisualInspection/view/menu/menu.html

@@ -0,0 +1,51 @@
+ 
+<!--<link rel="stylesheet" type="text/css" href="/css/user/userManager.css?__inline">-->
+<script type="text/javascript" src="/node_modules/zui/dist/lib/dashboard/zui.dashboard.min.js?__inline"></script>
+<link rel="stylesheet" type="text/css" href="/node_modules/zui/dist/lib/dashboard/zui.dashboard.min.css">
+<script src="/js/menu/menu.js"></script>
+<div class="container-fluid ">
+    <div id="dashboard" class="dashboard dashboard-draggable" data-height="500">
+        <div class="row">
+            <div class="col-md-3">
+                <div class="panel" data-id="1">
+                    <div class="panel-heading">
+                        <span class="title">菜单列表</span>
+                        <!--<div class="panel-actions">
+                            <button type="button" class="btn" id="dept_add" data-position="center" data-toggle="tooltip" title="添加"><i class="icon-plus"></i></button>
+                            <button type="button" class="btn" id="dept_edit" data-toggle="tooltip" title="编辑"><i class="icon-pencil"></i></button>
+                            <button type="button" class="btn" id="dept_delete" data-toggle="tooltip" title="删除"><i class="icon-trash"></i></button>
+                        </div>-->
+                    </div>
+                    <div class="panel-body">
+                        <ul id="menu_tree" class="ztree">
+
+                        </ul>
+                    </div>
+                </div>
+
+            </div>
+            <div class="col-md-9">
+                <div class="panel" data-id="3">
+                    <div class="panel-heading">
+                        <span class="title">菜单详情</span>
+                        <div class="panel-actions">
+                            <button type="button" class="btn" data-toggle="tooltip" title="添加菜单" onclick="showAddMenu()"><i class="icon-plus"></i></button>
+                        </div>
+                    </div>
+                    <div class="panel-body" style="padding-top:0px;overflow-x: hidden;">
+                        <div class="datatable"></div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div id="form-div" style="display:none;text-align:center;">
+    <link rel="import" href="/view/menu/form.html?__inline">   
+</div>
+<script>
+    $(document).ready(function() {
+        initMenu();
+    });
+</script>

+ 6 - 5
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/MenuController.java

@@ -39,9 +39,10 @@ public class MenuController extends BaseController {
      * @exception
      * @since  1.0.0
      */
-    @PreAuthorize("hasRole('ADMIN')")
+//    @PreAuthorize("hasRole('ADMIN')")
     @RequestMapping(value = "/addMenu",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
     public String addMenu(@RequestBody Menu menu) throws Exception{
+    	menu.setStatus(0);
     	menuService.insert(menu);
     	return returnResult(0, "添加成功", null);
     }
@@ -53,7 +54,7 @@ public class MenuController extends BaseController {
      * @exception
      * @since  1.0.0
      */
-    @RequestMapping(value = "/updateMenu/{menuid}",method=RequestMethod.PUT,produces="application/json;charset=UTF-8")
+    @RequestMapping(value = "/updateMenu/{menuid}",produces="application/json;charset=UTF-8")
     public String updateMenu(@RequestBody Menu menu,@PathVariable int menuid){
         try{
         	menu.setId(menuid);
@@ -71,7 +72,7 @@ public class MenuController extends BaseController {
      * @exception
      * @since  1.0.0
      */
-    @RequestMapping(value = "/deleteMenu/{menuid}",method=RequestMethod.DELETE,produces="application/json;charset=UTF-8")
+    @RequestMapping(value = "/deleteMenu/{menuid}",produces="application/json;charset=UTF-8")
     public String deleteMenu(@PathVariable Integer menuid){
         try{
         	menuService.delete((menuid));
@@ -99,13 +100,13 @@ public class MenuController extends BaseController {
         }
     }
   
-    @RequestMapping(value = "/getMenuByParent/{pid}/{page}/{size}",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
+    @RequestMapping(value = "/getMenuByParent/{pid}/{page}/{size}",produces="application/json;charset=UTF-8")
     public String getMenuByParent(@PathVariable Integer pid,@PathVariable Integer page,@PathVariable Integer size){
         try{
         	PageHelper.startPage(page, size); 
         	Menu menu =new Menu();
         	menu.setParentId(pid);
-        	List<Menu> menus= menuService.getMenus(menu);
+        	List<Menu> menus= menuService.getMenuByParent(menu);
         	
         	return returnResult(0, "获取成功", new PageInfo(menus));
         }catch(Exception e){

+ 1 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/MenuDao.java

@@ -13,6 +13,7 @@ import com.xintong.visualinspection.bean.Menu;
 @Mapper
 public interface MenuDao  {
     public List<Menu> getMenu(Menu menu);
+    public List<Menu> getMenuByParent(Menu menu);
     public void insert(Menu menu);
     public void update(Menu menu);
     public void delete(Integer id);

+ 10 - 2
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/MenuMapper.xml

@@ -16,7 +16,7 @@
         SELECT 
         id,menuname,url,iconClass,parentId,type,sortNo,status 
          FROM sys_menu
-         where 1=1
+         where status!=-1
          <if test="id != null and id != 0">and id = #{id}</if>
          <if test="menuname != null">and menuname = #{menuname}</if>
          <if test="iconClass != null">and iconClass = #{iconClass}</if>
@@ -27,7 +27,14 @@
          <if test="status != null">and status = #{status}</if>
     </select>
     
-
+	<select id="getMenuByParent" parameterType="com.xintong.visualinspection.bean.Menu" resultMap="BaseResultMap">
+        SELECT 
+        id,menuname,url,iconClass,parentId,type,sortNo,status 
+         FROM sys_menu
+         where status!=-1
+         <if test="parentId != null and parentId != 0">and (parentId = #{parentId} or id = #{parentId})</if>
+    </select>
+    
     <insert id="insert" parameterType="com.xintong.visualinspection.bean.Menu" >
         INSERT INTO
         sys_menu
@@ -47,6 +54,7 @@
          <if test="parentId != null and parentId != 0">, parentId = #{parentId}</if>
          <if test="type != null and type != 0">, type = #{type}</if>
          <if test="sortNo != null and sortNo != 0">, sortNo = #{sortNo}</if>
+         <if test="status != null and status != 0">, status = #{status}</if>
         WHERE
         id = #{id}
     </update>

+ 1 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/MenuService.java

@@ -10,6 +10,7 @@ import com.xintong.visualinspection.bean.Menu;
  */
 public interface MenuService {
     public List<Menu> getMenus(Menu menu);
+    public List<Menu> getMenuByParent(Menu menu);
     public void insert(Menu menu);
     public void update(Menu menu);
     public void delete(Integer id);

+ 14 - 4
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/MenuServiceImpl.java

@@ -37,15 +37,19 @@ public class MenuServiceImpl extends BaseService implements MenuService {
 		List<Menu> mlist = 	new ArrayList<>();
 		
 		Map<Integer,List<Menu>> map = new HashMap<>();
+		
 		//找出所有父
 		for (Menu m : menus) {
+			List<Menu> menuList = map.get(m.getParentId());
+			if(menuList==null){
+				menuList = new ArrayList<>();
+			}
 			if(m.getParentId()!=null){
-				List<Menu> menuList = map.get(m.getParentId());
-				if(menuList==null){
-					menuList = new ArrayList<>();
-				}
 				menuList.add(m);
 				map.put(m.getParentId(), menuList);
+			}else{
+				if(!map.containsKey(m.getId()))
+					map.put(m.getId(), menuList);
 			}
 		}
 		//找出子
@@ -79,4 +83,10 @@ public class MenuServiceImpl extends BaseService implements MenuService {
 		menuDao.delete(id);
 	}
 
+	@Override
+	public List<Menu> getMenuByParent(Menu menu) {
+		List<Menu> menus = 	menuDao.getMenuByParent(menu);
+		return menus;
+	}
+
 }