refactor(rest-api):角色与用户数据
This commit is contained in:
@@ -32,9 +32,9 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="enable" {% if role.enable == 1 %}checked {% endif %}value="0"
|
||||
<input type="radio" name="enable" {% if role.enable == 1 %}checked {% endif %}value="1"
|
||||
title="开启">
|
||||
<input type="radio" name="enable" {% if role.enable == 0 %}checked {% endif %} value="1"
|
||||
<input type="radio" name="enable" {% if role.enable == 0 %}checked {% endif %} value="0"
|
||||
title="关闭">
|
||||
</div>
|
||||
</div>
|
||||
@@ -76,11 +76,18 @@
|
||||
layui.use(['form', 'jquery'], function () {
|
||||
let form = layui.form
|
||||
let $ = layui.jquery
|
||||
let MODULE_PATH = '/api/v1/roles/'
|
||||
|
||||
let MODULE_PATH = '/api/v1/roles'
|
||||
let ROLE_API = {
|
||||
'ROLES': () => `${MODULE_PATH}/roles`,
|
||||
'ROLE': (role_id) => `${MODULE_PATH}/role/${role_id}`,
|
||||
'ROLE_STATUS': (role_id) => `${MODULE_PATH}/role/${role_id}/status`,
|
||||
'ROLE_POWER': (role_id) => `${MODULE_PATH}/role_power/${role_id}`
|
||||
}
|
||||
|
||||
form.on('submit(role-update)', function (data) {
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'edit/' + data.field.roleId,
|
||||
url: ROLE_API.ROLE(data.field.roleId),
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
|
||||
@@ -87,36 +87,26 @@
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/html" id="role-toolbar">
|
||||
{% if authorize("admin:role:add") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<i class="layui-icon layui-icon-add-1"></i>
|
||||
新增
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if authorize("admin:role:remove") %}
|
||||
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
删除
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<i class="layui-icon layui-icon-add-1"></i>
|
||||
新增
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
删除
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="role-bar">
|
||||
{% if authorize("admin:role:edit") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i
|
||||
class="layui-icon layui-icon-edit"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if authorize("admin:role:power") %}
|
||||
<button class="pear-btn pear-btn-warming pear-btn-sm" lay-event="power"><i
|
||||
class="layui-icon layui-icon-vercode"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if authorize("admin:role:remove") %}
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||
class="layui-icon layui-icon-delete"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i
|
||||
class="layui-icon layui-icon-edit"></i>
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-warming pear-btn-sm" lay-event="power"><i
|
||||
class="layui-icon layui-icon-vercode"></i>
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||
class="layui-icon layui-icon-delete"></i>
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="role-enable">
|
||||
@@ -131,13 +121,17 @@
|
||||
let $ = layui.jquery
|
||||
let popup = layui.popup
|
||||
|
||||
let MODULE_PATH = '/api/v1/roles/'
|
||||
let MODULE_PATH = '/api/v1/roles'
|
||||
let ROLE_API = {
|
||||
'ROLES': () => `${MODULE_PATH}/roles`,
|
||||
'ROLE': (role_id) => `${MODULE_PATH}/role/${role_id}`,
|
||||
'ROLE_STATUS': (role_id) => `${MODULE_PATH}/role/${role_id}/status`,
|
||||
'ROLE_POWER': (role_id) => `${MODULE_PATH}/role_power/${role_id}`
|
||||
}
|
||||
|
||||
let cols = [
|
||||
[
|
||||
{% if authorize("admin:role:remove") %}
|
||||
{ type: 'checkbox' },
|
||||
{% endif %}
|
||||
{ type: 'checkbox' },
|
||||
{ title: '角色名', field: 'roleName', align: 'center', width: 100 },
|
||||
{ title: 'Key值', field: 'roleCode', align: 'center' },
|
||||
{ title: '描述', field: 'details', align: 'center' },
|
||||
@@ -149,7 +143,7 @@
|
||||
|
||||
table.render({
|
||||
elem: '#role-table',
|
||||
url: MODULE_PATH + 'data',
|
||||
url: ROLE_API.ROLES(),
|
||||
page: true,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
@@ -194,7 +188,7 @@
|
||||
}
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'enable',
|
||||
url: ROLE_API.ROLE_STATUS(this.value),
|
||||
data: JSON.stringify({ roleId: this.value, operate: operate }),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
@@ -210,8 +204,8 @@
|
||||
})
|
||||
})
|
||||
|
||||
let add_index;
|
||||
window.add = function () {
|
||||
let add_index
|
||||
window.add = function () {
|
||||
add_index = layer.open({
|
||||
type: 1,
|
||||
title: '新增',
|
||||
@@ -248,7 +242,7 @@
|
||||
layer.close(index)
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'role_power/' + obj.data['id'],
|
||||
url: ROLE_API.ROLE_POWER(obj.data['id']),
|
||||
dataType: 'json',
|
||||
type: 'delete',
|
||||
success: function (result) {
|
||||
@@ -291,7 +285,7 @@
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
|
||||
url: MODULE_PATH + 'batch_remove',
|
||||
url: ROLE_API.ROLES(),
|
||||
data: { ids: ids },
|
||||
dataType: 'json',
|
||||
type: 'delete',
|
||||
@@ -316,7 +310,7 @@
|
||||
{#添加数据逻辑#}
|
||||
form.on('submit(role-save)', function (data) {
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'add',
|
||||
url: ROLE_API.ROLE(0),
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
|
||||
@@ -62,7 +62,16 @@
|
||||
layui.use(['form', 'jquery'], function () {
|
||||
let form = layui.form
|
||||
let $ = layui.jquery
|
||||
let MODULE_PATH = '/api/v1/users/'
|
||||
let MODULE_PATH = '/api/v1/users'
|
||||
let USER_API = {
|
||||
'USERS': () => `${MODULE_PATH}/users`,
|
||||
'USER': (user_id) => `${MODULE_PATH}/user/${user_id}`,
|
||||
'USER_ROLE': (user_id) => `${MODULE_PATH}/user/${user_id}/role`,
|
||||
'USER_STATUS': (user_id) => `${MODULE_PATH}/user/${user_id}/status`,
|
||||
'USER_AVATAR': (user_id) => `${MODULE_PATH}/user/${user_id}/avatar`,
|
||||
'USER_INFO': (user_id) => `${MODULE_PATH}/user/${user_id}/info`,
|
||||
'USER_PASSWORD': (user_id) => `${MODULE_PATH}/user/${user_id}/password`,
|
||||
}
|
||||
|
||||
form.on('submit(user-save)', function (data) {
|
||||
let roleIds = ''
|
||||
@@ -73,7 +82,7 @@
|
||||
data.field.roleIds = roleIds
|
||||
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'add',
|
||||
url: USER_API.USERS(),
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<input class="layui-upload-file" id="uploadPicture" type="file" value="选择图片">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">建议:图片的尺寸宽高比为1:1,大小在5m以内。</div>
|
||||
<input type="text" hidden value="{{ current_user.id }}" id="user_id">
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -42,6 +43,17 @@
|
||||
let cropper = layui.cropper
|
||||
let popup = layui.popup
|
||||
|
||||
let MODULE_PATH = '/api/v1/users'
|
||||
let USER_API = {
|
||||
'USERS': () => `${MODULE_PATH}/users`,
|
||||
'USER': (user_id) => `${MODULE_PATH}/user/${user_id}`,
|
||||
'USER_ROLE': (user_id) => `${MODULE_PATH}/user/${user_id}/role`,
|
||||
'USER_STATUS': (user_id) => `${MODULE_PATH}/user/${user_id}/status`,
|
||||
'USER_AVATAR': (user_id) => `${MODULE_PATH}/user/${user_id}/avatar`,
|
||||
'USER_INFO': (user_id) => `${MODULE_PATH}/user/${user_id}/info`,
|
||||
'USER_PASSWORD': (user_id) => `${MODULE_PATH}/user/${user_id}/password`,
|
||||
}
|
||||
|
||||
let options = {
|
||||
aspectRatio: 1 / 1, // 裁剪框比例
|
||||
preview: '#previewImage', // 预览div
|
||||
@@ -65,7 +77,7 @@
|
||||
formData.append('fileToken', timeStamp)
|
||||
$.ajax({
|
||||
method: 'post',
|
||||
url: '/file/upload', //用于文件上传的服务器端请求地址
|
||||
url: '/api/v1/file/photos', //用于文件上传的服务器端请求地址
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
@@ -74,7 +86,7 @@
|
||||
// 修改 avatar 字段
|
||||
$.ajax({
|
||||
method: 'put',
|
||||
url: '/users/avatar',
|
||||
url: USER_API.USER_AVATAR($('#user_id').val()),
|
||||
data: JSON.stringify({ avatar: result.data }),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
|
||||
@@ -74,11 +74,20 @@
|
||||
let form = layui.form
|
||||
let $ = layui.jquery
|
||||
let dtree = layui.dtree
|
||||
let MODULE_PATH = '/api/v1/users/'
|
||||
let MODULE_PATH = '/api/v1/users'
|
||||
let USER_API = {
|
||||
'USERS': () => `${MODULE_PATH}/users`,
|
||||
'USER': (user_id) => `${MODULE_PATH}/user/${user_id}`,
|
||||
'USER_ROLE': (user_id) => `${MODULE_PATH}/user/${user_id}/role`,
|
||||
'USER_STATUS': (user_id) => `${MODULE_PATH}/user/${user_id}/status`,
|
||||
'USER_AVATAR': (user_id) => `${MODULE_PATH}/user/${user_id}/avatar`,
|
||||
'USER_INFO': (user_id) => `${MODULE_PATH}/user/${user_id}/info`,
|
||||
'USER_PASSWORD': (user_id) => `${MODULE_PATH}/user/${user_id}/password`,
|
||||
}
|
||||
|
||||
dtree.renderSelect({
|
||||
elem: '#selectParent',
|
||||
url: '/api/v1/dept/tree',
|
||||
url: '/api/v1/dept/departments',
|
||||
method: 'get',
|
||||
selectInputName: { nodeId: 'deptId', context: 'deptName' },
|
||||
skin: 'layui',
|
||||
@@ -94,7 +103,7 @@
|
||||
roleIds = roleIds.substr(0, roleIds.length - 1)
|
||||
data.field.roleIds = roleIds
|
||||
$.ajax({
|
||||
url: MODULE_PATH + data.field.userId,
|
||||
url: USER_API.USER_ROLE(data.field.userId),
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
|
||||
@@ -53,18 +53,14 @@
|
||||
</body>
|
||||
{# 表格操作 #}
|
||||
<script type="text/html" id="user-toolbar">
|
||||
{% if authorize("admin:user:add") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<i class="pear-icon pear-icon-add"></i>
|
||||
新增
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if authorize("admin:user:remove") %}
|
||||
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
||||
<i class="pear-icon pear-icon-ashbin"></i>
|
||||
删除
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<i class="pear-icon pear-icon-add"></i>
|
||||
新增
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
||||
<i class="pear-icon pear-icon-ashbin"></i>
|
||||
删除
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-md" lay-event="collasped">
|
||||
<i class="pear-icon pear-icon-modular"></i>
|
||||
高级
|
||||
@@ -73,15 +69,11 @@
|
||||
|
||||
{# 用户修改操作 #}
|
||||
<script type="text/html" id="user-bar">
|
||||
{% if authorize("admin:user:edit") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="pear-icon pear-icon-edit"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if authorize("admin:user:remove") %}
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||
class="pear-icon pear-icon-ashbin"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="pear-icon pear-icon-edit"></i>
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||
class="pear-icon pear-icon-ashbin"></i>
|
||||
</button>
|
||||
</script>
|
||||
|
||||
{# 启动与禁用 #}
|
||||
@@ -111,14 +103,22 @@
|
||||
let dtree = layui.dtree
|
||||
let popup = layui.popup
|
||||
let common = layui.common
|
||||
let MODULE_PATH = '/api/v1/users/'
|
||||
|
||||
let MODULE_PATH = '/api/v1/users'
|
||||
let USER_API = {
|
||||
'USERS': () => `${MODULE_PATH}/users`,
|
||||
'USER': (user_id) => `${MODULE_PATH}/user/${user_id}`,
|
||||
'USER_ROLE': (user_id) => `${MODULE_PATH}/user/${user_id}/role`,
|
||||
'USER_STATUS': (user_id) => `${MODULE_PATH}/user/${user_id}/status`,
|
||||
'USER_AVATAR': (user_id) => `${MODULE_PATH}/user/${user_id}/avatar`,
|
||||
'USER_INFO': (user_id) => `${MODULE_PATH}/user/${user_id}/info`,
|
||||
'USER_PASSWORD': (user_id) => `${MODULE_PATH}/user/${user_id}/password`,
|
||||
}
|
||||
|
||||
// 表格数据
|
||||
let cols = [
|
||||
[
|
||||
{% if authorize("admin:user:remove") %}
|
||||
{ type: 'checkbox' },
|
||||
{% endif %}
|
||||
{ type: 'checkbox' },
|
||||
{ title: '姓名', field: 'realname', align: 'center', width: 110 },
|
||||
{ title: '账号', field: 'username', align: 'center' },
|
||||
{ title: '部门', field: 'dept', align: 'center' },
|
||||
@@ -132,7 +132,7 @@
|
||||
// 渲染表格数据
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: MODULE_PATH + 'data',
|
||||
url: USER_API.USERS(),
|
||||
page: true,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
@@ -146,7 +146,7 @@
|
||||
dtree.render({
|
||||
elem: '#dept-tree',
|
||||
method: 'get',
|
||||
url: '/api/v1/dept/tree',
|
||||
url: '/api/v1/dept/departments',
|
||||
dataFormat: 'list',
|
||||
line: true,
|
||||
skin: 'laySimple',
|
||||
@@ -217,7 +217,7 @@
|
||||
}
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'enable',
|
||||
url: USER_API.USER_STATUS(this.value),
|
||||
data: JSON.stringify({ operate: operate, userId: this.value }),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
@@ -258,7 +258,7 @@
|
||||
layer.close(index)
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: MODULE_PATH + obj.data['id'],
|
||||
url: USER_API.USER(obj.data['id']),
|
||||
dataType: 'json',
|
||||
type: 'delete',
|
||||
success: function (result) {
|
||||
@@ -301,7 +301,7 @@
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
|
||||
url: MODULE_PATH + 'batchRemove',
|
||||
url: USER_API.USERS(),
|
||||
data: { ids: ids },
|
||||
dataType: 'json',
|
||||
type: 'delete',
|
||||
|
||||
@@ -56,6 +56,15 @@
|
||||
<div class="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<form class="layui-form">
|
||||
<div class="layui-form-item" style="display: none">
|
||||
<label class="layui-form-label">用户id</label>
|
||||
<div class="layui-input-block">
|
||||
<input value="{{ user_info.id }}" type="text" readonly name="user_id"
|
||||
id="user_id"
|
||||
lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -177,6 +186,15 @@
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item" style="display: none">
|
||||
<label class="layui-form-label">用户id</label>
|
||||
<div class="layui-input-block">
|
||||
<input value="{{ user_info.id }}" type="text" readonly name="user_id"
|
||||
id="user_id"
|
||||
lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">旧密码</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -222,7 +240,17 @@
|
||||
let form = layui.form
|
||||
let popup = layui.popup
|
||||
|
||||
let MODULE_PATH = '/api/v1/users/'
|
||||
let MODULE_PATH = '/api/v1/users'
|
||||
let USER_API = {
|
||||
'USERS': () => `${MODULE_PATH}/users`,
|
||||
'USER': (user_id) => `${MODULE_PATH}/user/${user_id}`,
|
||||
'USER_ROLE': (user_id) => `${MODULE_PATH}/user/${user_id}/role`,
|
||||
'USER_STATUS': (user_id) => `${MODULE_PATH}/user/${user_id}/status`,
|
||||
'USER_AVATAR': (user_id) => `${MODULE_PATH}/user/${user_id}/avatar`,
|
||||
'USER_INFO': (user_id) => `${MODULE_PATH}/user/${user_id}/info`,
|
||||
'USER_PASSWORD': (user_id) => `${MODULE_PATH}/user/${user_id}/password`,
|
||||
}
|
||||
|
||||
// 修改密码页面
|
||||
$('.edit-password').click(function () {
|
||||
layer.open({
|
||||
@@ -253,7 +281,7 @@
|
||||
// 表单提交更改个人信息数据
|
||||
form.on('submit(user-update)', function (data) {
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'updateInfo',
|
||||
url: USER_API.USER_INFO(data.field.user_id),
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
@@ -272,7 +300,7 @@
|
||||
// 修改密码提交
|
||||
form.on('submit(edit-password)', function (data) {
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'editPassword',
|
||||
url: USER_API.USER_PASSWORD(data.field.user_id),
|
||||
data: JSON.stringify(data.field),
|
||||
contentType: 'application/json',
|
||||
dataType: 'json',
|
||||
@@ -280,6 +308,7 @@
|
||||
success: function (result) {
|
||||
if (result.success) {
|
||||
popup.success(result.msg, function () {
|
||||
// TODO 关闭修改密码成之后的窗口
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
||||
})
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user