Преглед изворни кода

Merge branch 'master' of http://git_xt.git.topm.win:8080/wenhongquan/VisualInspection

# Conflicts:
#	VisualInspection/view/constant/constant.html
minitiger пре 9 година
родитељ
комит
ccd60eec7e

+ 4 - 0
VisualInspection/css/user/addDept.css

@@ -0,0 +1,4 @@
+ .form-horizontal .form-group {
+     margin-right: 0 !important;
+     margin-left: 0 !important;
+ }

+ 4 - 4
VisualInspection/js/config.js

@@ -1,6 +1,6 @@
-var base_ui_url = "http://localhost:8080/";
-var base_server_url = "http://localhost:8089/";
+// var base_ui_url = "http://localhost:8080/";
+// var base_server_url = "http://localhost:8089/";
 
 
-// var base_ui_url = "http://192.168.31.233:8080/";
-// var base_server_url = "http://192.168.31.233:8089/";
+var base_ui_url = "http://192.168.31.233:8080/";
+var base_server_url = "http://192.168.31.233:8089/";

+ 25 - 0
VisualInspection/js/lib/treeSelect.css

@@ -0,0 +1,25 @@
+.treeSelect-panel {
+    position: absolute;
+    overflow: auto;
+    border: 1px solid #DCDCDC;
+    width: 100%;
+    display: none;
+    border-top-width: 0;
+    z-index: 101;
+    background: white;
+}
+
+.treeSelect-input {
+    width: 100%;
+    padding: 5px;
+}
+
+.treeSelect-mask {
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    top: 0;
+    background-color: #FFF;
+    opacity: .1;
+    z-index: 99;
+}

+ 134 - 0
VisualInspection/js/lib/treeSelect.js

@@ -0,0 +1,134 @@
+'use strict';
+
+var _createClass = (function() {
+    function defineProperties(target, props) {
+        for (var i = 0; i < props.length; i++) {
+            var descriptor = props[i];
+            descriptor.enumerable = descriptor.enumerable || false;
+            descriptor.configurable = true;
+            if ('value' in descriptor) descriptor.writable = true;
+            Object.defineProperty(target, descriptor.key, descriptor);
+        }
+    }
+    return function(Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; };
+})();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+
+var uid = 0;
+
+var TreeSelect = (function() {
+    _createClass(TreeSelect, null, [{
+        key: 'getUniquId',
+        value: function getUniquId() {
+            return uid++;
+        }
+    }]);
+
+    function TreeSelect(options) {
+        _classCallCheck(this, TreeSelect);
+
+        var self = this;
+
+        var defaultOptions = {
+            valueKey: 'id'
+        };
+        self.options = options = $.extend(defaultOptions, options);
+        var uid = TreeSelect.getUniquId();
+        var tpl = '\n            <input type="text"  placeholder=' + options.placeholder + ' class="form-control treeSelect-input "/>\n             <div class="ztree treeSelect-panel" id="treeSelect_panel_' + uid + '"></div>\n        ';
+        var ele = $(options.element);
+        ele.html(tpl);
+        var input = ele.find('.treeSelect-input');
+        var panel = ele.find('.treeSelect-panel');
+        self.element = ele;
+        self.input = input;
+        self.panel = panel;
+        ele.css({
+            'position': 'relative'
+        });
+        input.on('keydown', function() {
+
+            //input.val(self.text);
+            return false;
+        });
+        input.click(function() {
+            if (!self.isOpen()) {
+                self.open();
+            } else {
+                self.close();
+            }
+        });
+        if (options.url) {
+            $.ajax({
+                type: options.type,
+                url: options.url,
+                dataType: 'json',
+                data: options.param,
+                sucess: function sucess(data) {
+                    self.render(data);
+                }
+            });
+        } else if (options.data) {
+            self.render(options.data);
+        }
+    }
+
+    _createClass(TreeSelect, [{
+        key: 'isOpen',
+        value: function isOpen() {
+            var panel = this.panel;
+            return !(panel.css('display') == 'none' || panel.height() == 0 || panel.css('opacity') == 0);
+        }
+    }, {
+        key: 'render',
+        value: function render(data) {
+            var self = this;
+            var panel = self.panel;
+            var setting = {
+                callback: {
+                    onClick: function onClick(event, treeId, treeNode) {
+                        // if (!treeNode.isParent) {
+                        self.input.val(treeNode.name);
+                        self.value = treeNode[self.options.valueKey];
+                        self.text = treeNode.name;
+                        self.close();
+                        // }
+                    }
+                }
+            };
+            self.ztree = $.fn.zTree.init(panel, setting, data);
+        }
+    }, {
+        key: 'open',
+        value: function open() {
+            var self = this;
+            var panel = self.panel;
+            panel.css({
+                height: 'auto',
+                opacity: 1
+            });
+            panel.show();
+            self.mask = $('<div class="treeSelect-mask"></div>');
+            $('body').append(self.mask);
+            self.mask.click(function() {
+                self.close();
+            });
+        }
+    }, {
+        key: 'close',
+        value: function close() {
+
+            var self = this;
+            //panel.animate({
+            //    height:0,
+            //    opacity:0
+            //},500);
+            self.panel.hide();
+            self.mask.remove();
+        }
+    }]);
+
+    return TreeSelect;
+})();
+
+//# sourceMappingURL=treeSelect.js.map

+ 31 - 0
VisualInspection/js/user/adddept.js

@@ -0,0 +1,31 @@
+$(document).ready(function() {
+
+
+    // $('#dept_select').chosen({
+    //     no_results_text: '没有找到', // 当检索时没有找到匹配项时显示的提示文本
+    //     disable_search_threshold: 10, // 10 个以下的选择项则不显示检索框
+    //     search_contains: true, // 从任意位置开始检索
+    //     width: "100%"
+    // });
+
+    var sexNode = [{
+            name: '男',
+            value: '1',
+            children: [{
+                name: '好基友'
+            }]
+        },
+        {
+            name: '女',
+            value: '2'
+        }
+    ];
+    var sexInput = new TreeSelect({
+        element: '#dept_select',
+        data: sexNode,
+        valueKey: 'value',
+        placeholder: "选择部门"
+    });
+
+
+});

+ 60 - 20
VisualInspection/js/user/userManager.js

@@ -5,33 +5,52 @@ $(document).ready(function() {
     $('#dashboard').dashboard({ draggable: true });
 
 
-    DeptGetAll(function(data) {
-        console.log(data)
-    }, function(error) {
 
-    });
 
     var zTreeObj;
     // zTree 的参数配置,深入使用请参考 API 文档(setting 配置详解)
-    var setting = {};
-    // zTree 的数据属性,深入使用请参考 API 文档(zTreeNode 节点数据详解)
-    var zNodes = [{
-            name: "test1",
-            open: true,
-            children: [
-                { name: "test1_1" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }
-            ]
+    var setting = {
+        data: {
+            simpleData: {
+                enable: true,
+                idKey: "id",
+                pIdKey: "pId",
+                rootPId: null
+            }
+        },
+        view: { //表示tree的显示状态
+            selectMulti: false //表示禁止多选
         },
-        {
-            name: "test2",
-            open: true,
-            children: [
-                { name: "test2_1" }, { name: "test2_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }, { name: "test1_2" }
-            ]
+        check: { //表示tree的节点在点击时的相关设置
+            enable: false, //是否显示radio/checkbox
+            chkStyle: "checkbox", //值为checkbox或者radio表示
+            checkboxType: { p: "", s: "" }, //表示父子节点的联动效果
+            radioType: "level" //设置tree的分组
         }
-    ];
+    };
+    // zTree 的数据属性,深入使用请参考 API 文档(zTreeNode 节点数据详解)
+    var zNodes = [];
     zTreeObj = $.fn.zTree.init($("#department_tree"), setting, zNodes);
 
+    var zdata = [];
+    DeptGetAll(function(data) {
+        for (var i = 0; i < data.length; i++) {
+            var m = data[i];
+            var zdataItem = {};
+            zdataItem["id"] = m.id;
+            zdataItem["pId"] = null;
+            zdataItem["name"] = m.organname;
+            zdataItem["children"] = addobj(m);
+            zdata.push(zdataItem);
+        }
+        // zTreeObj.updateNode(zdata);
+        $.fn.zTree.init($("#department_tree"), setting, zdata)
+            //zTreeObj.refresh();
+        console.log(zdata)
+    }, function(error) {
+
+    });
+
 
 
     $('.datatable').datatable({
@@ -104,4 +123,25 @@ $(document).ready(function() {
 
 
 
-});
+});
+
+
+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["pId"] = data.id;
+            zdataItem["icon"] = "";
+            zdataItem["name"] = m.organname;
+            zdataItem["children"] = addobj(m);
+            zdata.push(zdataItem);
+        }
+        return zdata;
+    } else {
+        return [];
+    }
+}

+ 2 - 1
VisualInspection/js/util/const.js

@@ -12,4 +12,5 @@ var MENU_GET_ALL = "menu/get/all"
 
 
 // 部门
-var DEPT_GET_ALL = "dept/get/all"
+var DEPT_GET_ALL = "dept/get/all"
+var DEPT_ADD = "dept/addDept"

+ 16 - 2
VisualInspection/js/util/service.js

@@ -44,7 +44,21 @@ function DeptGetAll(success, fail) {
     });
 }
 
-function getConstantList(url, param, success, fail) {   
+function DeptAdd(data, success, fail) {
+    var url = base_server_url + DEPT_ADD
+    ajaxPost(url, data, function(response) {
+        var data = response;
+        if (data.result_code == 0) {
+            success(data.result_data)
+        } else {
+            fail(data.result_desc);
+        }
+    }, function(error) {
+        fail("网络错误");
+    });
+}
+
+function getConstantList(url, param, success, fail) {
     var url = base_server_url + url;
     ajaxPost(url, param, function(response) {
         var data = response;
@@ -58,7 +72,7 @@ function getConstantList(url, param, success, fail) {
     });
 }
 
-function addConstant_service(url, param, success, fail) {   
+function addConstant_service(url, param, success, fail) {
     var url = base_server_url + url;
     ajaxPost(url, param, function(response) {
         var data = response;

+ 1 - 0
VisualInspection/view/common/commoncsslink.html

@@ -2,6 +2,7 @@
 <link href="/node_modules/zui/dist/lib/datatable/zui.datatable.min.css" rel="stylesheet">
 <link href="/node_modules/sweetalert/dist/sweetalert.css" rel="stylesheet">
 <link rel="stylesheet" href="/node_modules/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
+<link rel="stylesheet" type="text/css" href="/js/lib/treeSelect.css">
 <link rel="stylesheet" type="text/css" href="/css/common/header.css">
 <link rel="stylesheet" type="text/css" href="/css/common/foot.css">
 <link rel="stylesheet" type="text/css" href="/js/lib/kkpager_green.css">

+ 2 - 2
VisualInspection/view/common/commonscriptlink.html

@@ -7,15 +7,15 @@
 <script src="/js/constant/pager.js?v=11"></script>  
 <script src="/node_modules/moment/min/moment.min.js"></script>
 <script src="/node_modules/moment/locale/zh-cn.js"></script>
-<script src="/node_modules/axios/dist/axios.min.js"></script>
 <script src="/node_modules/blueimp-md5/js/md5.min.js"></script>
 <script src="/node_modules/hashmap/hashmap.js"></script>
 <script src="/node_modules/sweetalert/dist/sweetalert.min.js"></script>
 <script src="/node_modules/ztree/js/jquery.ztree.all.min.js"></script>
+<script src="/js/lib/treeSelect.js"></script>
 <script src="/js/lib/kkpager.min.js"></script>
 <script src="/js/util/util.js"></script>
 <script src="/js/util/service.js"></script>
-<script src="/js/constant/constant.js"></script>  
+<script src="/js/constant/constant.js"></script>
 
 
 <script type="text/javascript">

+ 1 - 1
VisualInspection/view/constant/constant.html

@@ -46,4 +46,4 @@
     $(document).ready(function() {
         getConstant();
     });
-</script>
+</script>

+ 33 - 0
VisualInspection/view/user/addDept.html

@@ -0,0 +1,33 @@
+<script type="text/javascript" src="/node_modules/zui/dist/lib/chosen/chosen.min.js?__inline">
+</script>
+<link rel="stylesheet" type="text/css" href="/node_modules/zui/dist/lib/chosen/chosen.min.css">
+<script type="text/javascript" src="/node_modules/zui/dist/lib/chosenicons/zui.chosenicons.min.js?__inline">
+</script>
+<link rel="stylesheet" type="text/css" href="/node_modules/zui/dist/lib/chosenicons/zui.chosenicons.min.css">
+<script type="text/javascript" src="/js/user/adddept.js?__inline"></script>
+<link rel="stylesheet" type="text/css" href="/css/user/addDept.css?__inline">
+
+
+<div class="container-fluid ">
+    <form class="form-horizontal">
+        <div class="form-group">
+            <label for="exampleInputAccount4" class="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>
+            <div class="col-md-6 col-sm-10">
+                <div id="dept_select">上级部门</div>
+
+            </div>
+        </div>
+
+        <div class="form-group">
+            <div class="col-sm-offset-2 col-sm-10">
+                <button type="button" class="btn btn-default" onclick="addConstant()">保存</button>
+            </div>
+        </div>
+    </form>
+</div>

+ 18 - 3
VisualInspection/view/user/userManager.html

@@ -10,9 +10,9 @@
                     <div class="panel-heading">
                         <span class="title">部门列表</span>
                         <div class="panel-actions">
-                            <button type="button" class="btn" data-toggle="tooltip" title="添加"><i class="icon-plus"></i></button>
-                            <button type="button" class="btn" data-toggle="tooltip" title="编辑"><i class="icon-pencil"></i></button>
-                            <button type="button" class="btn" data-toggle="tooltip" title="删除"><i class="icon-trash"></i></button>
+                            <button type="button" class="btn" id="dept_add" data-position="center" data-toggle="modal" data-target="#addModal" 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">
@@ -39,4 +39,19 @@
             </div>
         </div>
     </div>
+</div>
+
+
+<div class="modal fade" id="addModal">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
+                <h4 class="modal-title">添加部门</h4>
+            </div>
+            <div class="modal-body">
+                <link rel="import" href="/view/user/addDept.html?__inline">
+            </div>
+        </div>
+    </div>
 </div>

BIN
VisualInspection_server/.DS_Store


+ 4 - 4
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/DepartmentController.java

@@ -97,14 +97,14 @@ public class DepartmentController extends BaseController {
         }
     }
     
-    @RequestMapping(value = "/getDeptByParent/{pid}/{page}/{size}",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
-    public String getDeptByParent(@PathVariable Integer pid,@PathVariable Integer page,@PathVariable Integer size){
+    @RequestMapping(value = "/getDeptByParent/{pid}",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
+    public String getDeptByParent(@PathVariable Integer pid){
         try{
-        	PageHelper.startPage(page, size); 
+   
         	Organ organ = new Organ();
         	organ.setParentid(pid);
         	List<Organ> organs= departmentService.getOrgans(organ);
-        	return returnResult(0, "获取成功", new PageInfo(organs));
+        	return returnResult(0, "获取成功",(organs));
         }catch(Exception e){
         	throw new BusinessException(20001);
         }

+ 4 - 4
VisualInspection_server/src/main/resources/application.properties

@@ -2,14 +2,14 @@ server.port=8089
 spring.thymeleaf.cache=false
 
 
-master.datasource.url = jdbc:mysql://git.topm.win:9001/visualinspection?useUnicode=true&characterEncoding=utf-8
+master.datasource.url = jdbc:mysql://192.168.57.38:3306/visualinspection?useUnicode=true&characterEncoding=utf-8
 master.datasource.username = root
 master.datasource.password = root
 master.datasource.driver-class-name = com.mysql.jdbc.Driver
 master.mapper-locations=classpath:com/xintong/visualinspection/mapper/master/*.xml
 
 ## \u7528\u6237\u6570\u636e\u6e90\u914d\u7f6e
-cluster.datasource.url=jdbc:mysql://git.topm.win:9001/yanhai?useUnicode=true&characterEncoding=utf8
+cluster.datasource.url=jdbc:mysql://192.168.57.38:3306/yanhai?useUnicode=true&characterEncoding=utf8
 cluster.datasource.username=root
 cluster.datasource.password=root
 cluster.datasource.driver-class-name = com.mysql.jdbc.Driver
@@ -50,7 +50,7 @@ spring.datasource.useGlobalDataSourceStat=true
 # Redis\u6570\u636e\u5e93\u7d22\u5f15\uff08\u9ed8\u8ba4\u4e3a0\uff09
 spring.redis.database=0  
 # Redis\u670d\u52a1\u5668\u5730\u5740
-spring.redis.host=git.topm.win
+spring.redis.host=192.168.57.38
 # Redis\u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3
 spring.redis.port=6379  
 # Redis\u670d\u52a1\u5668\u8fde\u63a5\u5bc6\u7801\uff08\u9ed8\u8ba4\u4e3a\u7a7a\uff09
@@ -83,7 +83,7 @@ spring.devtools.restart.enabled=true
 # JWT
 jwt.header=token
 jwt.secret=mySecret
-jwt.expiration=1800000
+jwt.expiration=60480000
 jwt.tokenHead=XinTong