| | |
| | | <div class="layui-card-header"> |
| | | <h2 class="header-title">用户管理</h2> |
| | | <span class="layui-breadcrumb pull-right"> |
| | | <a href="#!console">首页</a> |
| | | <a><cite>用户管理</cite></a> |
| | | <a href="#!console">首页</a> |
| | | <a><cite>用户管理</cite></a> |
| | | </span> |
| | | </div> |
| | | <div class="layui-card-body"> |
| | |
| | | 搜索: |
| | | <select id="user-search-key"> |
| | | <option value="">-请选择-</option> |
| | | <option value="user_id">ID</option> |
| | | <option value="username">账号</option> |
| | | <option value="nick_name">用户名</option> |
| | | <option value="mobile">手机号</option> |
| | | </select>  |
| | | <input id="user-search-value" class="layui-input search-input" type="text" placeholder="输入关键字"/>  |
| | | <button id="user-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> |
| | | <button id="user-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加</button> |
| | | <button id="user-btn-export" class="layui-btn icon-btn"><i class="layui-icon"></i>导出</button> |
| | | <button type="button" class="layui-btn" id="user-btn-import"> |
| | | <i class="layui-icon"></i>导入 |
| | | </button> |
| | | <input id="user-search-value" class="layui-input search-input" type="text" placeholder="按关键字" />  |
| | | <button id="user-btn-search" class="layui-btn icon-btn"><i class="layui-icon" ></i>搜索</button> |
| | | <button id="user-btn-add" class="layui-btn icon-btn"><i class="layui-icon permissions" permissions="user-btn-add"></i>添加</button> |
| | | <!-- <button id="user-btn-export" class="layui-btn icon-btn"><i class="layui-icon permissions" permissions="user-btn-export"></i>导出</button>--> |
| | | <!-- <button type="button" class="layui-btn" id="user-btn-import">--> |
| | | <!-- <i class="layui-icon permissions" permissions="user-btn-import"></i>导入 --> |
| | | <!-- </button>--> |
| | | </div> |
| | | |
| | | <table class="layui-table" id="user-table" lay-filter="user-table"></table> |
| | |
| | | |
| | | <!-- 表格操作列 --> |
| | | <script type="text/html" id="user-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="reset">重置密码</a> |
| | | <a class="layui-btn layui-btn-xs" lay-event="del">删除</a> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="user-btn-add" lay-event="edit">修改</a> |
| | | <a class="layui-btn layui-btn-xs permissions" permissions="user-default-password" lay-event="reset">重置密码</a> |
| | | <a class="layui-btn layui-btn-xs permissions" permissions="userorg-save" lay-event="org">分配组织</a> |
| | | <a class="layui-btn layui-btn-xs permissions" permissions="user-del" lay-event="del">删除</a> |
| | | </script> |
| | | |
| | | <!-- 表格状态列 --> |
| | |
| | | elem: '#user-table', |
| | | url: config.base_server + 'api-user/users', |
| | | method: 'GET', |
| | | headers:{'Authorization': 'Bearer ' + config.getToken().access_token}, |
| | | headers: { 'Authorization': 'Bearer ' + config.getToken().access_token}, |
| | | page: true, |
| | | cols: [[ |
| | | {type: 'numbers'}, |
| | | {field: 'id', sort: true, title: '用户编号'}, |
| | | {field: 'username', sort: true, title: '账号'}, |
| | | {field: 'nickname', sort: true, title: '用户名'}, |
| | | {field: 'mobile', sort: true, title: '手机号'}, |
| | | {sort: true, title: '性别',templet:function (d) { |
| | | return d.sex==0?"男":"女" |
| | | }}, |
| | | { field: 'username', width: 100, title: '账号' }, |
| | | { field: 'nickname', width: 200, title: '用户名' }, |
| | | { field: 'mobile', width: 150, title: '手机号' }, |
| | | { |
| | | sort: true, templet: function (d) { |
| | | return util.toDateString(d.createTime); |
| | | }, title: '创建时间' |
| | | sort: true, title: '性别', templet: function (d) { |
| | | return d.sex == 0 ? "男" : "女" |
| | | }, width: 100 |
| | | }, |
| | | {field: 'enabled',width: 100, sort: true, templet: '#user-tpl-state', title: '状态'}, |
| | | {fixed: 'right', align: 'center', toolbar: '#user-table-bar', title: '操作', width: 195} |
| | | ]] |
| | | { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" }, |
| | | { field: 'enabled', width: 100, sort: true, templet: '#user-tpl-state', title: '状态' }, |
| | | { fixed: 'right', align: 'center', toolbar: '#user-table-bar', title: '操作', width: 300 } |
| | | ]], |
| | | done:function(res){ |
| | | permissionsInput(res,config); |
| | | } |
| | | }); |
| | | |
| | | // 添加按钮点击事件 |
| | |
| | | layer.confirm('确定重置此用户的密码吗?', function (i) { |
| | | layer.close(i); |
| | | layer.load(2); |
| | | admin.req('api-user/users/'+obj.data.id+'/password', {}, function (data) { |
| | | admin.req('api-user/users/' + obj.data.id + '/password', {}, function (data) { |
| | | layer.closeAll('loading'); |
| | | if (data.code == 0) { |
| | | layer.msg(data.msg, {icon: 1, time: 500}); |
| | | layer.msg(data.msg, { icon: 1, time: 2000 }); |
| | | layer.alert("密码重置为:"+data.data, {icon: 1}); |
| | | } else { |
| | | layer.msg(data.msg, {icon: 2, time: 500}); |
| | | layer.msg(data.msg, { icon: 2, time: 2000 }); |
| | | } |
| | | }, 'PUT'); |
| | | }); |
| | |
| | | layer.confirm('确定删除此用户吗?', function (i) { |
| | | layer.close(i); |
| | | layer.load(2); |
| | | admin.req('api-user/users/'+obj.data.id, {}, function (data) { |
| | | admin.req('api-user/users/' + obj.data.id, {}, function (data) { |
| | | layer.closeAll('loading'); |
| | | if (data.code == 0) { |
| | | layer.msg(data.msg, {icon: 1, time: 500}); |
| | | layer.msg(data.msg, { icon: 1, time: 2000 }); |
| | | table.reload('user-table', {}); |
| | | } else { |
| | | layer.msg(data.msg, {icon: 2, time: 500}); |
| | | layer.msg(data.msg, { icon: 2, time: 2000 }); |
| | | } |
| | | }, 'delete'); |
| | | }); |
| | | } else if (layEvent === "org") { |
| | | admin.putTempData('t_user', data); |
| | | admin.popupCenter({ |
| | | title: "分配组织", |
| | | path: 'pages/system/user_org_form.html', |
| | | finish: function () { |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | |
| | | //显示表单弹窗 |
| | | var showEditModel = function (data) { |
| | | //修改sex值 |
| | | if (data){ |
| | | data.sex = data.sex+''; |
| | | if (data) { |
| | | data.sex = data.sex + ''; |
| | | } |
| | | admin.putTempData('t_user', data); |
| | | var title = data ? '修改用户' : '添加用户'; |
| | |
| | | $('#user-btn-search').click(function () { |
| | | var key = $('#user-search-key').val(); |
| | | var value = $('#user-search-value').val(); |
| | | table.reload('user-table', {where: {searchKey: key, searchValue: value}}); |
| | | table.reload('user-table', { where: { searchKey: key, searchValue: value } }); |
| | | }); |
| | | |
| | | // 导出 |
| | |
| | | xhr.responseType = "blob"; |
| | | xhr.setRequestHeader("client_type", "DESKTOP_WEB"); |
| | | xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token); |
| | | xhr.onload = function() { |
| | | xhr.onload = function () { |
| | | if (this.status == 200) { |
| | | var fileName = "user.xlsx"; |
| | | var blob = this.response; |
| | |
| | | }, function (data) { |
| | | layer.closeAll('loading'); |
| | | if (data.code == 0) { |
| | | layer.msg(data.msg, {icon: 1, time: 500}); |
| | | layer.msg(data.msg, { icon: 1, time: 2000 }); |
| | | //table.reload('table-user', {}); |
| | | } else { |
| | | layer.msg(data.msg, {icon: 2, time: 500}); |
| | | layer.msg(data.msg, { icon: 2, time: 2000 }); |
| | | $(obj.elem).prop('checked', !obj.elem.checked); |
| | | form.render('checkbox'); |
| | | } |
| | |
| | | var importUrl = config.base_server + 'api-user/users/import'; |
| | | upload.render({ |
| | | elem: '#user-btn-import' |
| | | ,url: importUrl |
| | | ,accept: 'file' //普通文件 |
| | | ,multiple: false |
| | | ,headers: {"Authorization" : "Bearer " + config.getToken().access_token} |
| | | ,done: function(data){ |
| | | , url: importUrl |
| | | , accept: 'file' //普通文件 |
| | | , multiple: false |
| | | , headers: { "Authorization": "Bearer " + config.getToken().access_token } |
| | | , done: function (data) { |
| | | if (data.code == 0) { |
| | | layer.msg(data.msg, {icon: 1, time: 500}); |
| | | layer.msg(data.msg, { icon: 1, time: 2000 }); |
| | | table.reload('user-table', {}); |
| | | } else { |
| | | layer.msg(data.msg, {icon: 2, time: 500}); |
| | | layer.msg(data.msg, { icon: 2, time: 2000 }); |
| | | } |
| | | } |
| | | }); |