refactor(rest-api):角色与用户数据
This commit is contained in:
+59
-81
@@ -42,8 +42,8 @@ def batch_remove_role(role_ids):
|
|||||||
role_api = Api(api_bp, prefix='/roles')
|
role_api = Api(api_bp, prefix='/roles')
|
||||||
|
|
||||||
|
|
||||||
@role_api.resource('/data')
|
@role_api.resource('/roles')
|
||||||
class RoleData(Resource):
|
class RoleRoles(Resource):
|
||||||
# 表格数据
|
# 表格数据
|
||||||
@authorize("admin:role:main", log=True)
|
@authorize("admin:role:main", log=True)
|
||||||
def get(self):
|
def get(self):
|
||||||
@@ -76,15 +76,23 @@ class RoleData(Resource):
|
|||||||
} for item in paginate.items
|
} for item in paginate.items
|
||||||
], count=paginate.total, code=0)
|
], count=paginate.total, code=0)
|
||||||
|
|
||||||
|
@authorize("admin:role:remove", log=True)
|
||||||
|
@login_required
|
||||||
|
def delete(self):
|
||||||
|
parser = reqparse.RequestParser()
|
||||||
|
parser.add_argument('ids[]', action='append', dest='ids')
|
||||||
|
|
||||||
@role_api.resource('/add')
|
res = parser.parse_args()
|
||||||
class AddRole(Resource):
|
|
||||||
# @authorize("admin:role:add", log=True)
|
batch_remove_role(res.ids)
|
||||||
# def get(self):
|
return success_api(msg="批量删除成功")
|
||||||
# return make_response(render_template('roles/add.html'))
|
|
||||||
|
|
||||||
|
@role_api.resource('/role/<int:role_id>')
|
||||||
|
class RoleRole(Resource):
|
||||||
|
|
||||||
@authorize("admin:role:add", log=True)
|
@authorize("admin:role:add", log=True)
|
||||||
def post(self):
|
def post(self, role_id):
|
||||||
parser = reqparse.RequestParser()
|
parser = reqparse.RequestParser()
|
||||||
parser.add_argument('details', type=str)
|
parser.add_argument('details', type=str)
|
||||||
parser.add_argument('enable', type=int)
|
parser.add_argument('enable', type=int)
|
||||||
@@ -105,6 +113,49 @@ class AddRole(Resource):
|
|||||||
db.session.commit()
|
db.session.commit()
|
||||||
return success_api(msg="成功")
|
return success_api(msg="成功")
|
||||||
|
|
||||||
|
# 更新角色
|
||||||
|
@authorize("admin:role:edit", log=True)
|
||||||
|
def put(self, role_id):
|
||||||
|
parser = reqparse.RequestParser()
|
||||||
|
parser.add_argument('roleId', dest='role_id', type=int)
|
||||||
|
parser.add_argument('roleCode', dest='role_code', type=str)
|
||||||
|
parser.add_argument('roleName', dest='role_name', type=str)
|
||||||
|
parser.add_argument('sort', type=int)
|
||||||
|
parser.add_argument('enable', type=int)
|
||||||
|
parser.add_argument('details', type=str)
|
||||||
|
|
||||||
|
res = parser.parse_args()
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"code": res.role_code,
|
||||||
|
"name": res.role_name,
|
||||||
|
"sort": res.sort,
|
||||||
|
"enable": res.enable,
|
||||||
|
"details": res.details
|
||||||
|
}
|
||||||
|
|
||||||
|
role = Role.query.filter_by(id=role_id).update(data)
|
||||||
|
db.session.commit()
|
||||||
|
if not role:
|
||||||
|
return fail_api(msg="更新角色失败")
|
||||||
|
return success_api(msg="更新角色成功")
|
||||||
|
|
||||||
|
|
||||||
|
@role_api.resource('/role/<int:role_id>/status')
|
||||||
|
class RoleEnable(Resource):
|
||||||
|
"""启用用户"""
|
||||||
|
|
||||||
|
@authorize("admin:role:edit", log=True)
|
||||||
|
def put(self, role_id):
|
||||||
|
ret = Role.query.get(role_id)
|
||||||
|
ret.enable = not ret.enable
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
message = "修改成功"
|
||||||
|
if not ret:
|
||||||
|
return fail_api(msg="出错啦")
|
||||||
|
return success_api(msg=message)
|
||||||
|
|
||||||
|
|
||||||
@role_api.resource('/role_power/<int:role_id>')
|
@role_api.resource('/role_power/<int:role_id>')
|
||||||
class RolePower(Resource):
|
class RolePower(Resource):
|
||||||
@@ -164,76 +215,3 @@ class RolePower(Resource):
|
|||||||
if not res:
|
if not res:
|
||||||
return fail_api(msg="角色删除失败")
|
return fail_api(msg="角色删除失败")
|
||||||
return success_api(msg="角色删除成功")
|
return success_api(msg="角色删除成功")
|
||||||
|
|
||||||
|
|
||||||
@role_api.resource('/edit/<int:role_id>')
|
|
||||||
class EditRole(Resource):
|
|
||||||
|
|
||||||
# # 角色编辑
|
|
||||||
# @authorize("admin:role:edit", log=True)
|
|
||||||
# def get(self, role_id):
|
|
||||||
# role = Role.query.filter_by(id=role_id).first()
|
|
||||||
# return make_response(render_template('roles/edit.html', role=role))
|
|
||||||
|
|
||||||
# 更新角色
|
|
||||||
@authorize("admin:role:edit", log=True)
|
|
||||||
def put(self, role_id):
|
|
||||||
parser = reqparse.RequestParser()
|
|
||||||
parser.add_argument('roleId', dest='role_id', type=int)
|
|
||||||
parser.add_argument('roleCode', dest='role_code', type=str)
|
|
||||||
parser.add_argument('roleName', dest='role_name', type=str)
|
|
||||||
parser.add_argument('sort', type=int)
|
|
||||||
parser.add_argument('enable', type=int)
|
|
||||||
parser.add_argument('details', type=str)
|
|
||||||
|
|
||||||
res = parser.parse_args()
|
|
||||||
|
|
||||||
data = {
|
|
||||||
"code": res.role_code,
|
|
||||||
"name": res.role_name,
|
|
||||||
"sort": res.sort,
|
|
||||||
"enable": res.enable,
|
|
||||||
"details": res.details
|
|
||||||
}
|
|
||||||
|
|
||||||
role = Role.query.filter_by(id=role_id).update(data)
|
|
||||||
db.session.commit()
|
|
||||||
if not role:
|
|
||||||
return fail_api(msg="更新角色失败")
|
|
||||||
return success_api(msg="更新角色成功")
|
|
||||||
|
|
||||||
|
|
||||||
@role_api.resource('/enable')
|
|
||||||
class RoleEnable(Resource):
|
|
||||||
"""启用用户"""
|
|
||||||
|
|
||||||
@authorize("admin:role:edit", log=True)
|
|
||||||
def put(self):
|
|
||||||
parser = reqparse.RequestParser()
|
|
||||||
parser.add_argument('roleId', dest='role_id', required=True, type=int)
|
|
||||||
parser.add_argument('operate', required=True, type=int)
|
|
||||||
|
|
||||||
res = parser.parse_args()
|
|
||||||
ret = Role.query.filter_by(id=res.role_id).update({"enable": res.operate})
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
message = "启动成功" if res.operate else "禁用成功"
|
|
||||||
if not ret:
|
|
||||||
return fail_api(msg="出错啦")
|
|
||||||
return success_api(msg=message)
|
|
||||||
|
|
||||||
|
|
||||||
@role_api.resource('/batch_remove')
|
|
||||||
class RoleBatchRemove(Resource):
|
|
||||||
"""批量删除"""
|
|
||||||
|
|
||||||
@authorize("admin:role:remove", log=True)
|
|
||||||
@login_required
|
|
||||||
def delete(self):
|
|
||||||
parser = reqparse.RequestParser()
|
|
||||||
parser.add_argument('ids[]', action='append', dest='ids')
|
|
||||||
|
|
||||||
res = parser.parse_args()
|
|
||||||
|
|
||||||
batch_remove_role(res.ids)
|
|
||||||
return success_api(msg="批量删除成功")
|
|
||||||
|
|||||||
@@ -10,45 +10,74 @@ from applications.models import User
|
|||||||
from . import users_api
|
from . import users_api
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/avatar')
|
@users_api.resource('/user/<int:user_id>/status')
|
||||||
class Avatar(Resource):
|
class UserStatus(Resource):
|
||||||
|
def put(self, user_id):
|
||||||
|
# 启用或者禁用用户 enable disable
|
||||||
|
|
||||||
|
parser = reqparse.RequestParser()
|
||||||
|
parser.add_argument('userId', type=int, required=True, dest='user_id')
|
||||||
|
parser.add_argument('operate', type=int, required=True, dest='operate', choices=[0, 1])
|
||||||
|
|
||||||
|
res = parser.parse_args()
|
||||||
|
|
||||||
|
if res.operate == 1:
|
||||||
|
user = User.query.get(user_id)
|
||||||
|
user.enable = res.operate
|
||||||
|
message = success_api(msg="启动成功")
|
||||||
|
else:
|
||||||
|
user = User.query.filter_by(id=res.user_id).update({"enable": res.operate})
|
||||||
|
message = success_api(msg="禁用成功")
|
||||||
|
if user:
|
||||||
|
db.session.commit()
|
||||||
|
else:
|
||||||
|
return fail_api(msg="出错啦")
|
||||||
|
return message
|
||||||
|
|
||||||
|
|
||||||
|
@users_api.resource('/user/<int:user_id>/avatar')
|
||||||
|
class UserAvatar(Resource):
|
||||||
"""修改头像"""
|
"""修改头像"""
|
||||||
|
|
||||||
def put(self):
|
def put(self, user_id):
|
||||||
url = request.json.get("avatar").get("src")
|
url = request.json.get("avatar").get("src")
|
||||||
ret = User.query.filter_by(id=current_user.id).update({"avatar": url})
|
ret = User.query.get(user_id)
|
||||||
|
ret.avatar = url
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
if not ret:
|
if not ret:
|
||||||
return fail_api(msg="出错啦")
|
return fail_api(msg="出错啦")
|
||||||
return success_api(msg="修改成功")
|
return success_api(msg="修改成功")
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/updateInfo')
|
@users_api.resource('/user/<int:user_id>/info')
|
||||||
class ProfileInfo(Resource):
|
class UserInfo(Resource):
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def put(self):
|
def put(self, user_id):
|
||||||
parser = reqparse.RequestParser()
|
parser = reqparse.RequestParser()
|
||||||
parser.add_argument('realname', type=str, dest='real_name')
|
parser.add_argument('realName', type=str, dest='real_name')
|
||||||
|
parser.add_argument('username', type=str)
|
||||||
parser.add_argument('remark', type=str)
|
parser.add_argument('remark', type=str)
|
||||||
parser.add_argument('details', type=str)
|
parser.add_argument('details', type=str)
|
||||||
|
|
||||||
res = parser.parse_args()
|
res = parser.parse_args()
|
||||||
|
|
||||||
ret = User.query.filter_by(
|
ret = User.query.get(user_id)
|
||||||
id=current_user.id).update({"realname": res.real_name,
|
ret.username = res.username
|
||||||
"remark": res.details})
|
ret.realname = res.real_name
|
||||||
|
ret.remark = res.details
|
||||||
|
db.session.commit()
|
||||||
if not ret:
|
if not ret:
|
||||||
return fail_api(msg="出错啦")
|
return fail_api(msg="出错啦")
|
||||||
return success_api(msg="更新成功")
|
return success_api(msg="更新成功")
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/editPassword')
|
@users_api.resource('/user/<int:user_id>/password')
|
||||||
class EditPassword(Resource):
|
class UserPassword(Resource):
|
||||||
"""前用户密码"""
|
"""前用户密码"""
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def put(self):
|
def put(self, user_id):
|
||||||
parser = reqparse.RequestParser()
|
parser = reqparse.RequestParser()
|
||||||
parser.add_argument('oldPassword', type=str, required=True, help='旧密码不得为空')
|
parser.add_argument('oldPassword', type=str, required=True, help='旧密码不得为空')
|
||||||
parser.add_argument('newPassword', type=str, required=True, help='新密码不得为空')
|
parser.add_argument('newPassword', type=str, required=True, help='新密码不得为空')
|
||||||
@@ -60,11 +89,12 @@ class EditPassword(Resource):
|
|||||||
return fail_api(msg='确认密码不一致')
|
return fail_api(msg='确认密码不一致')
|
||||||
|
|
||||||
""" 修改当前用户密码 """
|
""" 修改当前用户密码 """
|
||||||
is_right = current_user.validate_password(res.oldPassword)
|
user = User.query.get(user_id)
|
||||||
|
is_right = user.validate_password(res.oldPassword)
|
||||||
if not is_right:
|
if not is_right:
|
||||||
return jsonify(success=False, msg="旧密码错误")
|
return jsonify(success=False, msg="旧密码错误")
|
||||||
current_user.set_password(res.newPassword)
|
user.set_password(res.newPassword)
|
||||||
db.session.add(current_user)
|
db.session.add(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
return jsonify(success=True, msg="更改成功")
|
return jsonify(success=True, msg="更改成功")
|
||||||
|
|||||||
+111
-123
@@ -59,131 +59,10 @@ def update_user_role(_id, roles_list):
|
|||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/add')
|
@users_api.resource('/users')
|
||||||
class Users(Resource):
|
class UserUsers(Resource):
|
||||||
"""用户列表数据操作"""
|
"""用户列表数据操作"""
|
||||||
|
|
||||||
# @authorize("admin:user:add", log=True)
|
|
||||||
# def get(self):
|
|
||||||
# roles = Role.query.all()
|
|
||||||
# return make_response(render_template('users/add.html', roles=roles))
|
|
||||||
|
|
||||||
@authorize("admin:user:add", log=True)
|
|
||||||
def post(self):
|
|
||||||
"""新建单个用户"""
|
|
||||||
parser = reqparse.RequestParser()
|
|
||||||
parser.add_argument("roleIds", type=str, dest='role_ids')
|
|
||||||
parser.add_argument("username", type=str, required=True, help="用户名不能为空")
|
|
||||||
parser.add_argument("realName", type=str, required=True, help="真实姓名不能为空", dest='real_name')
|
|
||||||
parser.add_argument("password", type=str, required=True, help="密码不得为空")
|
|
||||||
|
|
||||||
res = parser.parse_args()
|
|
||||||
|
|
||||||
role_ids = res.role_ids.split(',')
|
|
||||||
|
|
||||||
if is_user_exists(res.username):
|
|
||||||
return fail_api(msg="用户已经存在")
|
|
||||||
|
|
||||||
user = User()
|
|
||||||
user.username = res.username
|
|
||||||
user.realname = res.real_name
|
|
||||||
user.set_password(res.password)
|
|
||||||
db.session.add(user)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
""" 增加用户角色 """
|
|
||||||
user = User.query.filter_by(id=user.id).first()
|
|
||||||
roles = Role.query.filter(Role.id.in_(role_ids)).all()
|
|
||||||
for r in roles:
|
|
||||||
user.role.append(r)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
return success_api(msg="增加成功", code=0)
|
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/<user_id>')
|
|
||||||
class CURDUser(Resource):
|
|
||||||
"""修改用户数据"""
|
|
||||||
|
|
||||||
# @authorize("admin:user:edit", log=True)
|
|
||||||
# def get(self, user_id):
|
|
||||||
# # 获取编辑用户信息
|
|
||||||
# user = User.query.filter_by(id=user_id).first()
|
|
||||||
# roles = Role.query.all()
|
|
||||||
# checked_roles = []
|
|
||||||
# for r in user.role:
|
|
||||||
# checked_roles.append(r.id)
|
|
||||||
# return make_response(
|
|
||||||
# render_template('users/edit_users.html', user=user, roles=roles, checked_roles=checked_roles))
|
|
||||||
|
|
||||||
@authorize("admin:user:remove", log=True)
|
|
||||||
def delete(self, user_id):
|
|
||||||
# 删除用户
|
|
||||||
res = delete_by_id(user_id)
|
|
||||||
if not res:
|
|
||||||
return fail_api(msg="删除失败")
|
|
||||||
return success_api(msg="删除成功")
|
|
||||||
|
|
||||||
@authorize("admin:user:edit", log=True)
|
|
||||||
def put(self, user_id):
|
|
||||||
parser = reqparse.RequestParser()
|
|
||||||
parser.add_argument('roleIds', type=str, dest='role_ids')
|
|
||||||
parser.add_argument('userId', type=str, dest='user_id')
|
|
||||||
parser.add_argument('username', type=str)
|
|
||||||
parser.add_argument('realName', type=str, dest='real_name')
|
|
||||||
parser.add_argument('deptId', type=str, dest='dept_id')
|
|
||||||
|
|
||||||
res = parser.parse_args()
|
|
||||||
role_ids = res.role_ids.split(',')
|
|
||||||
|
|
||||||
# 更新用户数据
|
|
||||||
User.query.filter_by(id=user_id).update({'username': res.username,
|
|
||||||
'realname': res.real_name,
|
|
||||||
'dept_id': res.dept_id})
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
update_user_role(user_id, role_ids)
|
|
||||||
|
|
||||||
return success_api(msg="更新成功")
|
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/batchRemove')
|
|
||||||
class UserBatchRemove(Resource):
|
|
||||||
"""批量删除"""
|
|
||||||
|
|
||||||
@authorize("admin:user:remove", log=True)
|
|
||||||
def delete(self):
|
|
||||||
ids = request.form.getlist('ids[]')
|
|
||||||
batch_remove(ids)
|
|
||||||
return success_api(msg="批量删除成功")
|
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/enable')
|
|
||||||
class UserEnable(Resource):
|
|
||||||
def put(self):
|
|
||||||
# 启用或者禁用用户 enable disable
|
|
||||||
|
|
||||||
parser = reqparse.RequestParser()
|
|
||||||
parser.add_argument('userId', type=int, required=True, dest='user_id')
|
|
||||||
parser.add_argument('operate', type=int, required=True, dest='operate', choices=[0, 1])
|
|
||||||
|
|
||||||
res = parser.parse_args()
|
|
||||||
|
|
||||||
if res.operate == 1:
|
|
||||||
user = User.query.filter_by(id=res.user_id).update({"enable": res.operate})
|
|
||||||
message = success_api(msg="启动成功")
|
|
||||||
else:
|
|
||||||
user = User.query.filter_by(id=res.user_id).update({"enable": res.operate})
|
|
||||||
message = success_api(msg="禁用成功")
|
|
||||||
if user:
|
|
||||||
db.session.commit()
|
|
||||||
else:
|
|
||||||
return fail_api(msg="出错啦")
|
|
||||||
return message
|
|
||||||
|
|
||||||
|
|
||||||
@users_api.resource('/data')
|
|
||||||
class UsersData(Resource):
|
|
||||||
@authorize("admin:user:main", log=True)
|
@authorize("admin:user:main", log=True)
|
||||||
def get(self):
|
def get(self):
|
||||||
parser = reqparse.RequestParser()
|
parser = reqparse.RequestParser()
|
||||||
@@ -220,3 +99,112 @@ class UsersData(Resource):
|
|||||||
} for item in paginate.items]
|
} for item in paginate.items]
|
||||||
|
|
||||||
return table_api(data=user_data, count=paginate.total, code=0)
|
return table_api(data=user_data, count=paginate.total, code=0)
|
||||||
|
|
||||||
|
@authorize("admin:user:add", log=True)
|
||||||
|
def post(self):
|
||||||
|
"""新建单个用户"""
|
||||||
|
parser = reqparse.RequestParser()
|
||||||
|
parser.add_argument("roleIds", type=str, dest='role_ids')
|
||||||
|
parser.add_argument("username", type=str, required=True, help="用户名不能为空")
|
||||||
|
parser.add_argument("realName", type=str, required=True, help="真实姓名不能为空", dest='real_name')
|
||||||
|
parser.add_argument("password", type=str, required=True, help="密码不得为空")
|
||||||
|
|
||||||
|
res = parser.parse_args()
|
||||||
|
|
||||||
|
role_ids = res.role_ids.split(',')
|
||||||
|
|
||||||
|
if is_user_exists(res.username):
|
||||||
|
return fail_api(msg="用户已经存在")
|
||||||
|
|
||||||
|
user = User()
|
||||||
|
user.username = res.username
|
||||||
|
user.realname = res.real_name
|
||||||
|
user.set_password(res.password)
|
||||||
|
db.session.add(user)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
""" 增加用户角色 """
|
||||||
|
user = User.query.filter_by(id=user.id).first()
|
||||||
|
roles = Role.query.filter(Role.id.in_(role_ids)).all()
|
||||||
|
for r in roles:
|
||||||
|
user.role.append(r)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return success_api(msg="增加成功", code=0)
|
||||||
|
|
||||||
|
@authorize("admin:user:remove", log=True)
|
||||||
|
def delete(self):
|
||||||
|
"""批量删除"""
|
||||||
|
ids = request.form.getlist('ids[]')
|
||||||
|
batch_remove(ids)
|
||||||
|
return success_api(msg="批量删除成功")
|
||||||
|
|
||||||
|
|
||||||
|
@users_api.resource('/user/<int:user_id>')
|
||||||
|
class UserUser(Resource):
|
||||||
|
"""修改用户数据"""
|
||||||
|
|
||||||
|
@authorize("admin:user:add", log=True)
|
||||||
|
def post(self, user_id):
|
||||||
|
"""新建单个用户"""
|
||||||
|
parser = reqparse.RequestParser()
|
||||||
|
parser.add_argument("roleIds", type=str, dest='role_ids')
|
||||||
|
parser.add_argument("username", type=str, required=True, help="用户名不能为空")
|
||||||
|
parser.add_argument("realName", type=str, required=True, help="真实姓名不能为空", dest='real_name')
|
||||||
|
parser.add_argument("password", type=str, required=True, help="密码不得为空")
|
||||||
|
|
||||||
|
res = parser.parse_args()
|
||||||
|
|
||||||
|
role_ids = res.role_ids.split(',')
|
||||||
|
|
||||||
|
if is_user_exists(res.username):
|
||||||
|
return fail_api(msg="用户已经存在")
|
||||||
|
|
||||||
|
user = User()
|
||||||
|
user.username = res.username
|
||||||
|
user.realname = res.real_name
|
||||||
|
user.set_password(res.password)
|
||||||
|
db.session.add(user)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
""" 增加用户角色 """
|
||||||
|
user = User.query.filter_by(id=user.id).first()
|
||||||
|
roles = Role.query.filter(Role.id.in_(role_ids)).all()
|
||||||
|
for r in roles:
|
||||||
|
user.role.append(r)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return success_api(msg="增加成功", code=0)
|
||||||
|
|
||||||
|
@authorize("admin:user:remove", log=True)
|
||||||
|
def delete(self, user_id):
|
||||||
|
# 删除用户
|
||||||
|
res = delete_by_id(user_id)
|
||||||
|
if not res:
|
||||||
|
return fail_api(msg="删除失败")
|
||||||
|
return success_api(msg="删除成功")
|
||||||
|
|
||||||
|
|
||||||
|
@users_api.resource('/user/<int:user_id>/role')
|
||||||
|
class UserRole(Resource):
|
||||||
|
@authorize("admin:user:edit", log=True)
|
||||||
|
def put(self, user_id):
|
||||||
|
parser = reqparse.RequestParser()
|
||||||
|
parser.add_argument('roleIds', type=str, dest='role_ids')
|
||||||
|
parser.add_argument('userId', type=str, dest='user_id')
|
||||||
|
parser.add_argument('username', type=str)
|
||||||
|
parser.add_argument('realName', type=str, dest='real_name')
|
||||||
|
parser.add_argument('deptId', type=str, dest='dept_id')
|
||||||
|
|
||||||
|
res = parser.parse_args()
|
||||||
|
role_ids = res.role_ids.split(',')
|
||||||
|
|
||||||
|
# 更新用户数据
|
||||||
|
User.query.filter_by(id=user_id).update({'username': res.username,
|
||||||
|
'realname': res.real_name,
|
||||||
|
'dept_id': res.dept_id})
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
update_user_role(user_id, role_ids)
|
||||||
|
|
||||||
|
return success_api(msg="更新成功")
|
||||||
|
|||||||
@@ -32,9 +32,9 @@
|
|||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">状态</label>
|
<label class="layui-form-label">状态</label>
|
||||||
<div class="layui-input-block">
|
<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="开启">
|
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="关闭">
|
title="关闭">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -76,11 +76,18 @@
|
|||||||
layui.use(['form', 'jquery'], function () {
|
layui.use(['form', 'jquery'], function () {
|
||||||
let form = layui.form
|
let form = layui.form
|
||||||
let $ = layui.jquery
|
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) {
|
form.on('submit(role-update)', function (data) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'edit/' + data.field.roleId,
|
url: ROLE_API.ROLE(data.field.roleId),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
|||||||
@@ -87,36 +87,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<script type="text/html" id="role-toolbar">
|
<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">
|
||||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
<i class="layui-icon layui-icon-add-1"></i>
|
||||||
<i class="layui-icon layui-icon-add-1"></i>
|
新增
|
||||||
新增
|
</button>
|
||||||
</button>
|
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
||||||
{% endif %}
|
<i class="layui-icon layui-icon-delete"></i>
|
||||||
{% if authorize("admin:role:remove") %}
|
删除
|
||||||
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
</button>
|
||||||
<i class="layui-icon layui-icon-delete"></i>
|
|
||||||
删除
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/html" id="role-bar">
|
<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
|
||||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i
|
class="layui-icon layui-icon-edit"></i>
|
||||||
class="layui-icon layui-icon-edit"></i>
|
</button>
|
||||||
</button>
|
<button class="pear-btn pear-btn-warming pear-btn-sm" lay-event="power"><i
|
||||||
{% endif %}
|
class="layui-icon layui-icon-vercode"></i>
|
||||||
{% if authorize("admin:role:power") %}
|
</button>
|
||||||
<button class="pear-btn pear-btn-warming pear-btn-sm" lay-event="power"><i
|
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||||
class="layui-icon layui-icon-vercode"></i>
|
class="layui-icon layui-icon-delete"></i>
|
||||||
</button>
|
</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 %}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/html" id="role-enable">
|
<script type="text/html" id="role-enable">
|
||||||
@@ -131,13 +121,17 @@
|
|||||||
let $ = layui.jquery
|
let $ = layui.jquery
|
||||||
let popup = layui.popup
|
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 = [
|
let cols = [
|
||||||
[
|
[
|
||||||
{% if authorize("admin:role:remove") %}
|
{ type: 'checkbox' },
|
||||||
{ type: 'checkbox' },
|
|
||||||
{% endif %}
|
|
||||||
{ title: '角色名', field: 'roleName', align: 'center', width: 100 },
|
{ title: '角色名', field: 'roleName', align: 'center', width: 100 },
|
||||||
{ title: 'Key值', field: 'roleCode', align: 'center' },
|
{ title: 'Key值', field: 'roleCode', align: 'center' },
|
||||||
{ title: '描述', field: 'details', align: 'center' },
|
{ title: '描述', field: 'details', align: 'center' },
|
||||||
@@ -149,7 +143,7 @@
|
|||||||
|
|
||||||
table.render({
|
table.render({
|
||||||
elem: '#role-table',
|
elem: '#role-table',
|
||||||
url: MODULE_PATH + 'data',
|
url: ROLE_API.ROLES(),
|
||||||
page: true,
|
page: true,
|
||||||
cols: cols,
|
cols: cols,
|
||||||
skin: 'line',
|
skin: 'line',
|
||||||
@@ -194,7 +188,7 @@
|
|||||||
}
|
}
|
||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'enable',
|
url: ROLE_API.ROLE_STATUS(this.value),
|
||||||
data: JSON.stringify({ roleId: this.value, operate: operate }),
|
data: JSON.stringify({ roleId: this.value, operate: operate }),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
@@ -210,8 +204,8 @@
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
let add_index;
|
let add_index
|
||||||
window.add = function () {
|
window.add = function () {
|
||||||
add_index = layer.open({
|
add_index = layer.open({
|
||||||
type: 1,
|
type: 1,
|
||||||
title: '新增',
|
title: '新增',
|
||||||
@@ -248,7 +242,7 @@
|
|||||||
layer.close(index)
|
layer.close(index)
|
||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'role_power/' + obj.data['id'],
|
url: ROLE_API.ROLE_POWER(obj.data['id']),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
success: function (result) {
|
success: function (result) {
|
||||||
@@ -291,7 +285,7 @@
|
|||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|
||||||
url: MODULE_PATH + 'batch_remove',
|
url: ROLE_API.ROLES(),
|
||||||
data: { ids: ids },
|
data: { ids: ids },
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
@@ -316,7 +310,7 @@
|
|||||||
{#添加数据逻辑#}
|
{#添加数据逻辑#}
|
||||||
form.on('submit(role-save)', function (data) {
|
form.on('submit(role-save)', function (data) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'add',
|
url: ROLE_API.ROLE(0),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
|||||||
@@ -62,7 +62,16 @@
|
|||||||
layui.use(['form', 'jquery'], function () {
|
layui.use(['form', 'jquery'], function () {
|
||||||
let form = layui.form
|
let form = layui.form
|
||||||
let $ = layui.jquery
|
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) {
|
form.on('submit(user-save)', function (data) {
|
||||||
let roleIds = ''
|
let roleIds = ''
|
||||||
@@ -73,7 +82,7 @@
|
|||||||
data.field.roleIds = roleIds
|
data.field.roleIds = roleIds
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'add',
|
url: USER_API.USERS(),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
<input class="layui-upload-file" id="uploadPicture" type="file" value="选择图片">
|
<input class="layui-upload-file" id="uploadPicture" type="file" value="选择图片">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-mid layui-word-aux">建议:图片的尺寸宽高比为1:1,大小在5m以内。</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>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
@@ -42,6 +43,17 @@
|
|||||||
let cropper = layui.cropper
|
let cropper = layui.cropper
|
||||||
let popup = layui.popup
|
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 = {
|
let options = {
|
||||||
aspectRatio: 1 / 1, // 裁剪框比例
|
aspectRatio: 1 / 1, // 裁剪框比例
|
||||||
preview: '#previewImage', // 预览div
|
preview: '#previewImage', // 预览div
|
||||||
@@ -65,7 +77,7 @@
|
|||||||
formData.append('fileToken', timeStamp)
|
formData.append('fileToken', timeStamp)
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: 'post',
|
method: 'post',
|
||||||
url: '/file/upload', //用于文件上传的服务器端请求地址
|
url: '/api/v1/file/photos', //用于文件上传的服务器端请求地址
|
||||||
data: formData,
|
data: formData,
|
||||||
processData: false,
|
processData: false,
|
||||||
contentType: false,
|
contentType: false,
|
||||||
@@ -74,7 +86,7 @@
|
|||||||
// 修改 avatar 字段
|
// 修改 avatar 字段
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: 'put',
|
method: 'put',
|
||||||
url: '/users/avatar',
|
url: USER_API.USER_AVATAR($('#user_id').val()),
|
||||||
data: JSON.stringify({ avatar: result.data }),
|
data: JSON.stringify({ avatar: result.data }),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
|||||||
@@ -74,11 +74,20 @@
|
|||||||
let form = layui.form
|
let form = layui.form
|
||||||
let $ = layui.jquery
|
let $ = layui.jquery
|
||||||
let dtree = layui.dtree
|
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({
|
dtree.renderSelect({
|
||||||
elem: '#selectParent',
|
elem: '#selectParent',
|
||||||
url: '/api/v1/dept/tree',
|
url: '/api/v1/dept/departments',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
selectInputName: { nodeId: 'deptId', context: 'deptName' },
|
selectInputName: { nodeId: 'deptId', context: 'deptName' },
|
||||||
skin: 'layui',
|
skin: 'layui',
|
||||||
@@ -94,7 +103,7 @@
|
|||||||
roleIds = roleIds.substr(0, roleIds.length - 1)
|
roleIds = roleIds.substr(0, roleIds.length - 1)
|
||||||
data.field.roleIds = roleIds
|
data.field.roleIds = roleIds
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + data.field.userId,
|
url: USER_API.USER_ROLE(data.field.userId),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
|||||||
@@ -53,18 +53,14 @@
|
|||||||
</body>
|
</body>
|
||||||
{# 表格操作 #}
|
{# 表格操作 #}
|
||||||
<script type="text/html" id="user-toolbar">
|
<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">
|
||||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
<i class="pear-icon pear-icon-add"></i>
|
||||||
<i class="pear-icon pear-icon-add"></i>
|
新增
|
||||||
新增
|
</button>
|
||||||
</button>
|
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
||||||
{% endif %}
|
<i class="pear-icon pear-icon-ashbin"></i>
|
||||||
{% if authorize("admin:user:remove") %}
|
删除
|
||||||
<button class="pear-btn pear-btn-md" lay-event="batchRemove">
|
</button>
|
||||||
<i class="pear-icon pear-icon-ashbin"></i>
|
|
||||||
删除
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
<button class="pear-btn pear-btn-md" lay-event="collasped">
|
<button class="pear-btn pear-btn-md" lay-event="collasped">
|
||||||
<i class="pear-icon pear-icon-modular"></i>
|
<i class="pear-icon pear-icon-modular"></i>
|
||||||
高级
|
高级
|
||||||
@@ -73,15 +69,11 @@
|
|||||||
|
|
||||||
{# 用户修改操作 #}
|
{# 用户修改操作 #}
|
||||||
<script type="text/html" id="user-bar">
|
<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 class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="pear-icon pear-icon-edit"></i>
|
</button>
|
||||||
</button>
|
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||||
{% endif %}
|
class="pear-icon pear-icon-ashbin"></i>
|
||||||
{% if authorize("admin:user:remove") %}
|
</button>
|
||||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
|
||||||
class="pear-icon pear-icon-ashbin"></i>
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{# 启动与禁用 #}
|
{# 启动与禁用 #}
|
||||||
@@ -111,14 +103,22 @@
|
|||||||
let dtree = layui.dtree
|
let dtree = layui.dtree
|
||||||
let popup = layui.popup
|
let popup = layui.popup
|
||||||
let common = layui.common
|
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 = [
|
let cols = [
|
||||||
[
|
[
|
||||||
{% if authorize("admin:user:remove") %}
|
{ type: 'checkbox' },
|
||||||
{ type: 'checkbox' },
|
|
||||||
{% endif %}
|
|
||||||
{ title: '姓名', field: 'realname', align: 'center', width: 110 },
|
{ title: '姓名', field: 'realname', align: 'center', width: 110 },
|
||||||
{ title: '账号', field: 'username', align: 'center' },
|
{ title: '账号', field: 'username', align: 'center' },
|
||||||
{ title: '部门', field: 'dept', align: 'center' },
|
{ title: '部门', field: 'dept', align: 'center' },
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
// 渲染表格数据
|
// 渲染表格数据
|
||||||
table.render({
|
table.render({
|
||||||
elem: '#user-table',
|
elem: '#user-table',
|
||||||
url: MODULE_PATH + 'data',
|
url: USER_API.USERS(),
|
||||||
page: true,
|
page: true,
|
||||||
cols: cols,
|
cols: cols,
|
||||||
skin: 'line',
|
skin: 'line',
|
||||||
@@ -146,7 +146,7 @@
|
|||||||
dtree.render({
|
dtree.render({
|
||||||
elem: '#dept-tree',
|
elem: '#dept-tree',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
url: '/api/v1/dept/tree',
|
url: '/api/v1/dept/departments',
|
||||||
dataFormat: 'list',
|
dataFormat: 'list',
|
||||||
line: true,
|
line: true,
|
||||||
skin: 'laySimple',
|
skin: 'laySimple',
|
||||||
@@ -217,7 +217,7 @@
|
|||||||
}
|
}
|
||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'enable',
|
url: USER_API.USER_STATUS(this.value),
|
||||||
data: JSON.stringify({ operate: operate, userId: this.value }),
|
data: JSON.stringify({ operate: operate, userId: this.value }),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
@@ -258,7 +258,7 @@
|
|||||||
layer.close(index)
|
layer.close(index)
|
||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + obj.data['id'],
|
url: USER_API.USER(obj.data['id']),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
success: function (result) {
|
success: function (result) {
|
||||||
@@ -301,7 +301,7 @@
|
|||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|
||||||
url: MODULE_PATH + 'batchRemove',
|
url: USER_API.USERS(),
|
||||||
data: { ids: ids },
|
data: { ids: ids },
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
|
|||||||
@@ -56,6 +56,15 @@
|
|||||||
<div class="layui-tab-content">
|
<div class="layui-tab-content">
|
||||||
<div class="layui-tab-item layui-show">
|
<div class="layui-tab-item layui-show">
|
||||||
<form class="layui-form">
|
<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">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">账号</label>
|
<label class="layui-form-label">账号</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@@ -177,6 +186,15 @@
|
|||||||
<div class="mainBox">
|
<div class="mainBox">
|
||||||
<div class="main-container">
|
<div class="main-container">
|
||||||
<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">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">旧密码</label>
|
<label class="layui-form-label">旧密码</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@@ -222,7 +240,17 @@
|
|||||||
let form = layui.form
|
let form = layui.form
|
||||||
let popup = layui.popup
|
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 () {
|
$('.edit-password').click(function () {
|
||||||
layer.open({
|
layer.open({
|
||||||
@@ -253,7 +281,7 @@
|
|||||||
// 表单提交更改个人信息数据
|
// 表单提交更改个人信息数据
|
||||||
form.on('submit(user-update)', function (data) {
|
form.on('submit(user-update)', function (data) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'updateInfo',
|
url: USER_API.USER_INFO(data.field.user_id),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
@@ -272,7 +300,7 @@
|
|||||||
// 修改密码提交
|
// 修改密码提交
|
||||||
form.on('submit(edit-password)', function (data) {
|
form.on('submit(edit-password)', function (data) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'editPassword',
|
url: USER_API.USER_PASSWORD(data.field.user_id),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
@@ -280,6 +308,7 @@
|
|||||||
success: function (result) {
|
success: function (result) {
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
popup.success(result.msg, function () {
|
popup.success(result.msg, function () {
|
||||||
|
// TODO 关闭修改密码成之后的窗口
|
||||||
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user