forked from kidgrow-microservices-platform

侯瑞军
2020-04-08 1bae504cec0247b87ba85006d90835b70ce713ff
Merge remote-tracking branch 'origin/dev' into dev
3 files modified
1 files added
296 ■■■■■ changed files
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java 4 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml 1 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html 230 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html 61 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java
@@ -50,12 +50,12 @@
            @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
    })
    @GetMapping
    public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) {
    public PageResult<SysHospital> list(@RequestParam Map<String, Object> params) {
        if(params.size()==0){
            params.put("page",1);
            params.put("limit",10);
        }
        return ResultBody.ok().data(sysHospitalService.findList(params));
        return sysHospitalService.findList(params);
    }
    /**
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
@@ -66,6 +66,7 @@
      - sys_organization
      - sys_user_org
      - sys_dictionaries
      - sys_hospital
    ignoreSqls:
      - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html
New file
@@ -0,0 +1,230 @@
<div class="layui-card">
    <div class="layui-card-header">
        <h2 class="header-title">医院管理</h2>
        <span class="layui-breadcrumb pull-right">
            <a href="#!home_console">首页</a>
            <a><cite>医院管理</cite></a>
        </span>
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">
            <input id="app-edit-search" class="layui-input search-input" type="text" placeholder="请输入标题" />&emsp;
            <input type="text" class="layui-input search-input" id="test1"> 至 <input type="text"
                class="layui-input search-input" id="test2"> &emsp;
            <select id="role_clients" placeholder="选择一个应用" lay-filter="role_clients">
                <option value="">-请选择-</option>
            </select>
            <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
        </div>
        <!-- 数据表格 -->
        <table class="layui-table" id="app-table" lay-filter="app-table"></table>
    </div>
</div>
<!-- 表格操作列 -->
<script type="text/html" id="businessRecords-table-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a>
</script>
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">记录标题</label>
            <div class="layui-input-block">
                <input name="recordTitle" disabled="true" type="text" class="layui-input" maxlength="20"
                       lay-verify="required" required/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">操作人姓名</label>
            <div class="layui-input-block">
                <input name="userName" disabled="true" placeholder="请输入应用名称" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">应用名称</label>
            <div class="layui-input-block">
                <input name="appName" disabled="true" type="text" class="layui-input" maxlength="20"
                       lay-verify="required" required />
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">ip</label>
            <div class="layui-input-block">
                <input name="recordIp" disabled="true" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">业务操作记录</label>
            <div class="layui-input-block">
                <input name="recordDetail" disabled="true" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item model-form-footer">
            <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">确定</button>
        </div>
    </form>
</script>
<script>
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin'], function () {
        var form = layui.form;
        var table = layui.table;
        var config = layui.config;
        var layer = layui.layer;
        var util = layui.util;
        var admin = layui.admin;
        // 获取应用列表
        // layer.load(2);
        admin.req('api-user/users/findAll', {}, function (data) {
            layer.closeAll('loading');
            if (0 === data.code) {
                let selected = false;
                clientsAll = data.data;
                $.each(data.data, function (index, item) {
                    if (config.clientId === item.clientId) {
                        selected = true;
                    } else {
                        selected = false;
                    }
                    //往下拉菜单里添加元素
                    $('#role_clients').append(new Option(item.username, item.id, false, selected));
                })
                form.render();
            } else {
                layer.msg(data.msg, { icon: 2, time: 500 });
            }
        }, 'Post');
        //时间格式
        var laydate = layui.laydate;
        //执行一个laydate实例
        laydate.render({
            elem: '#test1' //指定元素
        });
        laydate.render({
            elem: '#test2' //指定元素
        });
        // 渲染表格
        table.render({
            elem: '#app-table',
            url: config.base_server + 'api-user/syshospital',
            method: 'GET',
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
            page: true,
            cols: [[
                { type: 'numbers' },
                { field: 'hospitalName', width: 180, sort: true, title: '医院名称' },
                { field: 'hospitalTypeName', width: 200, sort: true, title: '科室' },
                { field: 'serverUserName', width: 180, sort: true, title: '联系人' },
                { field: 'hospitalTel', width: 300, sort: true, title: '联系方式' },
                { field: 'time', width: 300, sort: true, title: '服务到期时间' },
                { field: 'enabled', width: 300, sort: true, title: '状态' ,templet:function (d) {
                        return d.hospitalState==0?"试用":"正式"
                    }},
                { field: 'isScreen', width: 300, sort: true, title: '筛查',templet:function (d) {
                        return d.isScreen?"是":"否"
                    } },
                { field: 'createTime', width: 300, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd')}}</div>" },
                { field: 'id', width: 250, align: 'center', toolbar: '#businessRecords-table-bar', sort: true, title: '操作' },// 0就诊数据 1筛查
            ]]
        });
        // 工具条点击事件
        table.on('tool(app-table)', function (obj) {
            var data = obj.data;
            var layEvent = obj.event;
            if (layEvent === 'detail') { // 查看详情
                showEditModel(data);
            }
        });
        // 搜索按钮点击事件
        $('#app-btn-search').click(function () {
            var userId = $('#role_clients').val();
            var key = $('#app-edit-search').val();
            var startTime = $('#test1').val();
            var endTime = $('#test2').val();
            if (startTime != null && endTime != null) {
                var flag = compareDate(startTime, endTime);
                if (!flag) {
                    layer.msg('结束时间不得小于开始时间');
                    return;
                }
            }
            table.reload('app-table', { where: { recordTitle: key, startTime: startTime, endTime: endTime, userId: userId } });
        });
        //比较日期大小
        function compareDate(logintime, logouttime) {
            var arys1 = new Array();
            var arys2 = new Array();
            if (logintime != null && logouttime != null) {
                arys1 = logintime.split('-');
                var logindate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]);
                arys2 = logouttime.split('-');
                var logoutdate = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]);
                if (logindate > logoutdate) {
                    return false;
                } else {
                    return true;
                }
            }
        }
        // 导出
        $('#app-btn-export').click(function () {
            var url = config.base_server + 'api-user/dataneed/export';
            var xhr = new XMLHttpRequest();
            xhr.open('POST', url, true);
            xhr.responseType = "blob";
            xhr.setRequestHeader("client_type", "DESKTOP_WEB");
            xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token);
            xhr.onload = function () {
                if (this.status == 200) {
                    var fileName = "user.xlsx";
                    var blob = this.response;
                    var a = document.createElement('a');
                    a.innerHTML = fileName;
                    // 指定生成的文件名
                    a.download = fileName;
                    a.href = URL.createObjectURL(blob);
                    document.body.appendChild(a);
                    var evt = document.createEvent("MouseEvents");
                    evt.initEvent("click", false, false);
                    a.dispatchEvent(evt);
                    document.body.removeChild(a);
                }
            }
            xhr.send();
        });
        // // 显示编辑弹窗
        var showEditModel = function (data) {
            layer.open({
                type: 1,
                title: '查看详情',
                area: '450px',
                offset: '120px',
                content: $('#app-model').html(),
                success: function () {
                    $('#app-form')[0].reset();
                    $('#app-form').attr('method', 'POST');
                    if (data) {
                        $("input[name='clientId']").attr('disabled', true);
                        $("input[name='clientId']").attr('class', "layui-input layui-disabled");
                        $("input[name='webServerRedirectUri']").attr('disabled', true);
                        $("input[name='webServerRedirectUri']").attr('class', "layui-input layui-disabled");
                        form.val('app-form', data);
                        // $('#app-form').attr('method', 'POST');
                    }
                }
            });
        };
    });
</script>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html
@@ -8,9 +8,9 @@
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">
            <button id="user-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
            <input id="app-edit-search" class="layui-input search-input" type="text" placeholder="按名称" />&emsp;
            <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
            <button id="user-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
        </div>
        <!-- 数据表格 -->
@@ -31,6 +31,16 @@
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <style>
        .layui-layer-setwin {
    position: absolute;
    right: 15px;
    *right: 0;
    top: -29px;
    font-size: 0;
    line-height: initial;
}
    </style>
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
@@ -56,25 +66,25 @@
        <div class="layui-form-item">
            <label class="layui-form-label">字典类型</label>
            <div class="layui-input-block">
                <input name="a" id="a1" type="radio" value="1"  title="分类" class="layui-input" maxlength="20"/>
                <input name="a" id="a2" type="radio" value="0"  title="字典" class="layui-input" maxlength="20"/>
                <input name="zidian_or_fenlei" id="fenlei" type="radio" value="1"   lay-filter="resourceType" onchange="ccc" title="分类" class="layui-input" maxlength="20"/>
                <input name="zidian_or_fenlei" id="zidian " type="radio" value="0" checked lay-filter="resourceType"  title="字典" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">状态</label>
            <div class="layui-input-block">
                <input name="enabled" id="enabled1" type="radio" checked value="1" title="启用" class="layui-input" maxlength="20"/>
                <input name="enabled" id="enabled2" type="radio" value="0" title="停用" class="layui-input" maxlength="20"/>
                <input name="enabled" id="enabled2" type="radio"  value="0" title="停用" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">所属类型</label>
            <div class="layui-input-block">
                <select id="role_clients" name="dictionariesClassId" placeholder="选择一个应用" lay-filter="role_clients">
                <select id="role_clients"   name="dictionariesClassId" placeholder="选择一个应用" lay-filter="role_clients">
                    <option value="">-请选择-</option>
                </select>
        </div>
        <div class="layui-form-item model-form-footer">
        <div class="layui-form-item model-form-footer zd-btn-class" style="margin-top:30px;">
            <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
            <button class="layui-btn" lay-filter="user-form-submit" lay-submit>保存</button>
        </div>
@@ -124,6 +134,18 @@
            ]]
        });
        // 修改菜单类型
        let changeType = function (type) {
            if (type == 1) {
                $('#role_clients').attr('disabled', true);
                $('#role_clients').val("");
            } else {
                $('#role_clients').attr('disabled', false);
            }
            form.render('select', 'app-form');
        };
        // 工具条点击事件
        table.on('tool(app-table)', function (obj) {
            var data = obj.data;
@@ -134,6 +156,9 @@
                doDelete(data);
            }
        });
        function ccc() {
            console.log(11111111)
        }
        // 删除
        var doDelete = function (obj) {
            layer.confirm('确定删除此用户吗?', function (i) {
@@ -173,6 +198,8 @@
                }
            }, 'Post');
        }
        // 搜索按钮点击事件
        $('#app-btn-search').click(function () {
            var key = $('#app-edit-search').val();
@@ -202,8 +229,8 @@
            layer.open({
                type: 1,
                title: data ? '修改用户' : '添加用户',
                area: '450px',
                offset: '120px',
                area: '400px',
                offset: '200px',
                content: $('#app-model').html(),
                success: function () {
                    $('#app-form')[0].reset();
@@ -216,27 +243,27 @@
                        } else {
                            $("#enabled2").attr('checked', true);
                        }
                        if (data.dictionariesClassId == undefined || data.dictionariesClassId=="") {
                            $("#a1").attr('checked', true);
                        if (data.dictionariesClassId == undefined || data.dictionariesClassId == "") {
                            $("#fenlei").attr('checked', true);
                            $("#role_clients").attr('disabled', true);
                        } else {
                            $("#a2").attr('checked', true);
                            $("#zidian").attr('checked', true);
                        }
                        form.val('app-form', data);
                    }
                }
            });
        };
         // 添加按钮点击事件
         $('#user-btn-add').click(function () {
        // 添加按钮点击事件
        $('#user-btn-add').click(function () {
            showEditModel();
        });
        //
        // 表单提交事件
        form.on('submit(user-form-submit)', function (data) {
            layer.load(2);
            if(data.field.dictionariesClassId==""){
                data.field.dictionariesClassId=null;
            if (data.field.dictionariesClassId == "") {
                data.field.dictionariesClassId = null;
            }
            admin.req('api-user/sysdictionaries', JSON.stringify(data.field), function (data) {
                layer.closeAll('loading');
@@ -250,5 +277,9 @@
            }, "POST");
            return false;
        });
        form.on("radio(resourceType)", function (data) {
            changeType(data.value);
        });
    });
</script>