forked from kidgrow-microservices-platform

zhaoxiaohao
2020-04-07 bdc34b6a0a9f44c2b682099125408e46836e86bf
添加字典管理功能
1 files added
251 ■■■■■ changed files
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html 251 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html
New file
@@ -0,0 +1,251 @@
<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">
            <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>
        </div>
        <!-- 数据表格 -->
        <table class="layui-table" id="app-table" lay-filter="app-table"></table>
    </div>
</div>
<!-- 表格操作列 -->
<script type="text/html" id="dictionaries-table-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-xs" lay-event="del">删除</a>
</script>
<!-- 表格状态列 -->
<script type="text/html" id="dictionaries-tpl-state">
    <input type="checkbox" lay-filter="dictionaries-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用"
           {{d.enabled==1?'checked':''}}/>
</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="dictionariesName" placeholder="字典值"  type="text" class="layui-input" maxlength="20"
                       lay-verify="required" required/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">字典key</label>
            <div class="layui-input-block">
                <input name="dictionariesKey"  placeholder="字典key" 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="dictionariesOrder" placeholder="请输入数字"  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="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"/>
            </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"/>
            </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">
                    <option value="">-请选择-</option>
                </select>
        </div>
        <div class="layui-form-item model-form-footer">
            <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>
    </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;
        //时间格式
        var laydate = layui.laydate;
        //执行一个laydate实例
        laydate.render({
            elem: '#test1' //指定元素
        });
        laydate.render({
            elem: '#test2' //指定元素
        });
        // 渲染表格
        table.render({
            elem: '#app-table',
            url: config.base_server + 'api-user/sysdictionaries',
            method: 'GET',
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
            page: true,
            cols: [[
                { type: 'numbers' },
                {
                    field: 'dictionariesClassId', width: 180, sort: true, title: '字典类型', templet: function (d) {
                        return d.dictionariesClassId == undefined ? "分类" : "字典"
                    }
                },
                { field: 'dictionariesClassName', width: 200, sort: true, title: '字典分类' },
                { field: 'dictionariesKey', width: 180, sort: true, title: '字典Key' },
                { field: 'dictionariesName', width: 300, sort: true, title: '字典值' },
                { field: 'id', width: 250, align: 'center', toolbar: '#dictionaries-tpl-state', sort: true, title: '状态' },// 0就诊数据 1筛查
                { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" },
                { field: 'id', width: 250, align: 'center', toolbar: '#dictionaries-table-bar', sort: true, title: '操作' },// 0就诊数据 1筛查
            ]]
        });
        // 工具条点击事件
        table.on('tool(app-table)', function (obj) {
            var data = obj.data;
            var layEvent = obj.event;
            if (layEvent === 'edit') { // 查看详情
                showEditModel(data);
            } else if (layEvent === 'del') {
                doDelete(data);
            }
        });
        // 删除
        var doDelete = function (obj) {
            layer.confirm('确定删除此用户吗?', function (i) {
                layer.close(i);
                layer.load(2);
                admin.req('api-user/sysdictionaries/' + obj.id, {}, function (data) {
                    layer.closeAll('loading');
                    if (data.code == 0) {
                        layer.msg(data.msg, { icon: 1, time: 500 });
                        table.reload('app-table', {});
                    } else {
                        layer.msg(data.msg, { icon: 2, time: 500 });
                    }
                }, 'delete');
            });
        };
        // 获取应用列表
        var getdata = function () {
            var co = $('#role_clients');
            console.log(11111111111111);
            console.log(co);
            admin.req('api-user/sysdictionaries/findAll', JSON.stringify({ dictionariesClassIdIsNull: "str" }), function (data) {
                layer.closeAll('loading');
                if (0 === data.code) {
                    console.log(123132132132132132)
                    let selected = false;
                    clientsAll = data;
                    $.each(data.data, function (index, item) {
                        //往下拉菜单里添加元素
                        // console.log(JSON.stringify(item))
                        $('#role_clients').append(new Option(item.dictionariesName, item.id, false, selected));
                    })
                    form.render();
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                }
            }, 'Post');
        }
        // 搜索按钮点击事件
        $('#app-btn-search').click(function () {
            var key = $('#app-edit-search').val();
            table.reload('app-table', { where: { dictionariesName: key } });
        });
        // 修改role状态
        form.on('switch(dictionaries-tpl-state)', function (obj) {
            layer.load(2);
            admin.req('api-user/sysdictionaries/updateEnabled', {
                id: obj.elem.value,
                enabled: obj.elem.checked ? 1 : 0
            }, function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
                    // layer.msg(data.msg, { icon: 1, time: 500 });
                    table.reload('app-table', {});
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                    $(obj.elem).prop('checked', !obj.elem.checked);
                    form.render('checkbox');
                }
            }, 'GET');
        });
        // // 显示编辑弹窗
        var showEditModel = function (data) {
            layer.open({
                type: 1,
                title: data ? '修改用户' : '添加用户',
                area: '450px',
                offset: '120px',
                content: $('#app-model').html(),
                success: function () {
                    $('#app-form')[0].reset();
                    $('#app-form').attr('method', 'POST');
                    // 将数据绑定到下拉框
                    getdata();
                    if (data) {
                        if (data.enabled == 1) {
                            $("#enabled1").attr('checked', true);
                        } else {
                            $("#enabled2").attr('checked', true);
                        }
                        if (data.dictionariesClassId == undefined || data.dictionariesClassId=="") {
                            $("#a1").attr('checked', true);
                            $("#role_clients").attr('disabled', true);
                        } else {
                            $("#a2").attr('checked', true);
                        }
                        form.val('app-form', data);
                    }
                }
            });
        };
         // 添加按钮点击事件
         $('#user-btn-add').click(function () {
            showEditModel();
        });
        //
        // 表单提交事件
        form.on('submit(user-form-submit)', function (data) {
            layer.load(2);
            admin.req('api-user/sysdictionaries', JSON.stringify(data.field), function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
                    // layer.msg(data.msg, { icon: 1, time: 500 });
                    layer.closeAll();
                    table.reload('app-table', {});
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                }
            }, "POST");
            return false;
        });
    });
</script>