refactor(rest-api):调整部门数据
This commit is contained in:
+27
-71
@@ -120,20 +120,6 @@ def make_menu_tree():
|
|||||||
return menu_dict.get(0)
|
return menu_dict.get(0)
|
||||||
|
|
||||||
|
|
||||||
# 选择父节点
|
|
||||||
def select_power_dict():
|
|
||||||
power = Power.query.all()
|
|
||||||
res = marshal(power, power_fields)
|
|
||||||
res.append({"powerId": 0, "powerName": "顶级权限", "parentId": -1})
|
|
||||||
return res
|
|
||||||
|
|
||||||
|
|
||||||
def get_power_dict():
|
|
||||||
power = Power.query.all()
|
|
||||||
res = marshal(power, power_fields)
|
|
||||||
return res
|
|
||||||
|
|
||||||
|
|
||||||
# 删除权限(目前没有判断父节点自动删除子节点)
|
# 删除权限(目前没有判断父节点自动删除子节点)
|
||||||
def remove_power(power_id):
|
def remove_power(power_id):
|
||||||
power = Power.query.filter_by(id=power_id).first()
|
power = Power.query.filter_by(id=power_id).first()
|
||||||
@@ -168,24 +154,18 @@ parser_power.add_argument('powerUrl', type=str, dest='power_url')
|
|||||||
parser_power.add_argument('sort', type=int, dest='sort')
|
parser_power.add_argument('sort', type=int, dest='sort')
|
||||||
|
|
||||||
|
|
||||||
@rights_api.resource('/data')
|
@rights_api.resource('/rights')
|
||||||
class RightsData(Resource):
|
class RightRights(Resource):
|
||||||
@authorize("admin:power:main", log=True)
|
|
||||||
def get(self):
|
|
||||||
power_data = get_power_dict()
|
|
||||||
|
|
||||||
res = {
|
|
||||||
"data": power_data
|
|
||||||
}
|
|
||||||
return jsonify(res)
|
|
||||||
|
|
||||||
|
|
||||||
@rights_api.resource('/select_parent')
|
|
||||||
class RightsSelectParent(Resource):
|
|
||||||
@authorize("admin:power:main", log=True)
|
@authorize("admin:power:main", log=True)
|
||||||
def get(self):
|
def get(self):
|
||||||
"""获取选择父节点"""
|
"""获取选择父节点"""
|
||||||
power_data = select_power_dict()
|
|
||||||
|
# power = Power.query.all()
|
||||||
|
# res = marshal(power, power_fields)
|
||||||
|
|
||||||
|
power = Power.query.all()
|
||||||
|
power_data = marshal(power, power_fields)
|
||||||
|
power_data.append({"powerId": 0, "powerName": "顶级权限", "parentId": -1})
|
||||||
res = {
|
res = {
|
||||||
"status": {"code": 200, "message": "默认"},
|
"status": {"code": 200, "message": "默认"},
|
||||||
"data": power_data
|
"data": power_data
|
||||||
@@ -193,28 +173,6 @@ class RightsSelectParent(Resource):
|
|||||||
}
|
}
|
||||||
return jsonify(res)
|
return jsonify(res)
|
||||||
|
|
||||||
|
|
||||||
@rights_api.resource('/enable')
|
|
||||||
class RightsEnable(Resource):
|
|
||||||
@authorize("admin:power:edit", log=True)
|
|
||||||
def put(self):
|
|
||||||
parser = reqparse.RequestParser(bundle_errors=True)
|
|
||||||
parser.add_argument('powerId', dest='power_id', type=int, required=True)
|
|
||||||
parser.add_argument('operate', type=int, required=True, choices=[0, 1])
|
|
||||||
|
|
||||||
res = parser.parse_args()
|
|
||||||
|
|
||||||
power = Power.query.filter_by(id=res.power_id).update({"enable": res.operate})
|
|
||||||
if power:
|
|
||||||
db.session.commit()
|
|
||||||
message = "启用成功" if res.operate else '禁用成功'
|
|
||||||
return success_api(msg=message)
|
|
||||||
else:
|
|
||||||
return fail_api(msg="出错啦")
|
|
||||||
|
|
||||||
|
|
||||||
@rights_api.resource('/batch_remove')
|
|
||||||
class RightsBatchRemove(Resource):
|
|
||||||
@authorize("admin:power:remove", log=True)
|
@authorize("admin:power:remove", log=True)
|
||||||
def delete(self):
|
def delete(self):
|
||||||
ids = request.form.getlist('ids[]')
|
ids = request.form.getlist('ids[]')
|
||||||
@@ -222,15 +180,11 @@ class RightsBatchRemove(Resource):
|
|||||||
return success_api(msg="批量删除成功")
|
return success_api(msg="批量删除成功")
|
||||||
|
|
||||||
|
|
||||||
@rights_api.resource('/power')
|
@rights_api.resource('/power/<int:power_id>')
|
||||||
class AddRight(Resource):
|
class RightsPower(Resource):
|
||||||
# @authorize("admin:power:add", log=True)
|
|
||||||
# def get(self):
|
|
||||||
# """获取增加视图"""
|
|
||||||
# return make_response(render_template('rights/add.html'))
|
|
||||||
|
|
||||||
@authorize("admin:power:add", log=True)
|
@authorize("admin:power:add", log=True)
|
||||||
def post(self):
|
def post(self, power_id):
|
||||||
res = parser_power.parse_args()
|
res = parser_power.parse_args()
|
||||||
power = Power(
|
power = Power(
|
||||||
icon=res.icon,
|
icon=res.icon,
|
||||||
@@ -252,19 +206,6 @@ class AddRight(Resource):
|
|||||||
|
|
||||||
return success_api(msg="成功")
|
return success_api(msg="成功")
|
||||||
|
|
||||||
|
|
||||||
@rights_api.resource('/power/<int:power_id>')
|
|
||||||
class RightsURD(Resource):
|
|
||||||
# @authorize("admin:power:edit", log=True)
|
|
||||||
# def get(self, power_id):
|
|
||||||
# power = Power.query.filter_by(id=power_id).first()
|
|
||||||
# icon = str(power.icon).split()
|
|
||||||
# if len(icon) == 2:
|
|
||||||
# icon = icon[1]
|
|
||||||
# else:
|
|
||||||
# icon = None
|
|
||||||
# return make_response(render_template('rights/edit.html', power=power, icon=icon))
|
|
||||||
|
|
||||||
@authorize("admin:power:remove", log=True)
|
@authorize("admin:power:remove", log=True)
|
||||||
def delete(self, power_id):
|
def delete(self, power_id):
|
||||||
# 删除权限(目前没有判断父节点自动删除子节点)
|
# 删除权限(目前没有判断父节点自动删除子节点)
|
||||||
@@ -306,6 +247,21 @@ class RightsURD(Resource):
|
|||||||
return success_api(msg="更新权限成功")
|
return success_api(msg="更新权限成功")
|
||||||
|
|
||||||
|
|
||||||
|
@rights_api.resource('power/<int:right_id>/status')
|
||||||
|
class PowerStatus(Resource):
|
||||||
|
@authorize("admin:power:edit", log=True)
|
||||||
|
def put(self, right_id):
|
||||||
|
|
||||||
|
power = Power.query.get(id=right_id)
|
||||||
|
if power:
|
||||||
|
power.enable = not power.enable
|
||||||
|
db.session.commit()
|
||||||
|
message = "修改成功"
|
||||||
|
return success_api(msg=message)
|
||||||
|
else:
|
||||||
|
return fail_api(msg="出错啦")
|
||||||
|
|
||||||
|
|
||||||
@rights_api.resource('/configs')
|
@rights_api.resource('/configs')
|
||||||
class AdminConfigs(Resource):
|
class AdminConfigs(Resource):
|
||||||
@login_required
|
@login_required
|
||||||
|
|||||||
@@ -102,11 +102,16 @@
|
|||||||
let $ = layui.jquery
|
let $ = layui.jquery
|
||||||
let iconPicker = layui.iconPicker
|
let iconPicker = layui.iconPicker
|
||||||
let dtree = layui.dtree
|
let dtree = layui.dtree
|
||||||
let MODULE_PATH = '/api/v1/rights/'
|
let MODULE_PATH = '/api/v1/rights'
|
||||||
|
let RIGHTS_API = {
|
||||||
|
'RIGHTS': () => `${MODULE_PATH}/rights`,
|
||||||
|
'POWER': (power_id) => `${MODULE_PATH}/power/${power_id}`,
|
||||||
|
'POWER_STATUS': (power_id) => `${MODULE_PATH}/power/${power_id}/status`
|
||||||
|
}
|
||||||
|
|
||||||
dtree.renderSelect({
|
dtree.renderSelect({
|
||||||
elem: '#selectParent',
|
elem: '#selectParent',
|
||||||
url: MODULE_PATH + 'select_parent',
|
url: RIGHTS_API.RIGHTS(),
|
||||||
method: 'get',
|
method: 'get',
|
||||||
selectInputName: { nodeId: 'parentId', context: 'powerName' },
|
selectInputName: { nodeId: 'parentId', context: 'powerName' },
|
||||||
skin: 'layui',
|
skin: 'layui',
|
||||||
@@ -143,7 +148,7 @@
|
|||||||
data.field.icon = 'layui-icon ' + data.field.icon
|
data.field.icon = 'layui-icon ' + data.field.icon
|
||||||
console.log(data.field)
|
console.log(data.field)
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'power/' + data.field.powerId,
|
url: RIGHTS_API.POWER(data.field.powerId),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
|||||||
@@ -175,7 +175,12 @@
|
|||||||
let iconPicker = layui.iconPicker
|
let iconPicker = layui.iconPicker
|
||||||
let dtree = layui.dtree
|
let dtree = layui.dtree
|
||||||
|
|
||||||
let MODULE_PATH = '/api/v1/rights/'
|
let MODULE_PATH = '/api/v1/rights'
|
||||||
|
let RIGHTS_API = {
|
||||||
|
'RIGHTS': () => `${MODULE_PATH}/rights`,
|
||||||
|
'POWER': (power_id) => `${MODULE_PATH}/power/${power_id}`,
|
||||||
|
'POWER_STATUS': (power_id) => `${MODULE_PATH}/power/${power_id}/status`
|
||||||
|
}
|
||||||
|
|
||||||
window.render = function () {
|
window.render = function () {
|
||||||
treetable.render({
|
treetable.render({
|
||||||
@@ -188,13 +193,11 @@
|
|||||||
treeDefaultClose: true,
|
treeDefaultClose: true,
|
||||||
toolbar: '#power-toolbar',
|
toolbar: '#power-toolbar',
|
||||||
elem: '#power_table',
|
elem: '#power_table',
|
||||||
url: MODULE_PATH + 'data',
|
url: RIGHTS_API.RIGHTS(),
|
||||||
page: false,
|
page: false,
|
||||||
cols: [
|
cols: [
|
||||||
[
|
[
|
||||||
{% if authorize("admin:role:remove") %}
|
{ type: 'checkbox' },
|
||||||
{ type: 'checkbox' },
|
|
||||||
{% endif %}
|
|
||||||
{ field: 'powerName', minWidth: 200, title: '权限名称' },
|
{ field: 'powerName', minWidth: 200, title: '权限名称' },
|
||||||
{ field: 'icon', title: '图标', templet: '#icon' },
|
{ field: 'icon', title: '图标', templet: '#icon' },
|
||||||
{ field: 'powerType', title: '权限类型', templet: '#power-type' },
|
{ field: 'powerType', title: '权限类型', templet: '#power-type' },
|
||||||
@@ -263,7 +266,7 @@
|
|||||||
}
|
}
|
||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'enable',
|
url: RIGHTS_API.POWER_STATUS(this.value),
|
||||||
data: JSON.stringify({ powerId: this.value, operate: operate }),
|
data: JSON.stringify({ powerId: this.value, operate: operate }),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
@@ -303,7 +306,7 @@
|
|||||||
layer.close(index)
|
layer.close(index)
|
||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'power/' + obj.data['powerId'],
|
url: RIGHTS_API.POWER(obj.data['powerId']),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
success: function (result) {
|
success: function (result) {
|
||||||
@@ -345,7 +348,7 @@
|
|||||||
layer.close(index)
|
layer.close(index)
|
||||||
let loading = layer.load()
|
let loading = layer.load()
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'batchRemove',
|
url: RIGHTS_API.RIGHTS(),
|
||||||
data: { ids: ids },
|
data: { ids: ids },
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
@@ -367,7 +370,7 @@
|
|||||||
{#添加权限数据页面#}
|
{#添加权限数据页面#}
|
||||||
dtree.renderSelect({
|
dtree.renderSelect({
|
||||||
elem: '#select_parent_dept',
|
elem: '#select_parent_dept',
|
||||||
url: MODULE_PATH + 'select_parent',
|
url: RIGHTS_API.RIGHTS(),
|
||||||
method: 'get',
|
method: 'get',
|
||||||
selectInputName: { nodeId: 'parentId', context: 'powerName' },
|
selectInputName: { nodeId: 'parentId', context: 'powerName' },
|
||||||
skin: 'layui',
|
skin: 'layui',
|
||||||
@@ -400,7 +403,7 @@
|
|||||||
form.on('submit(power-save)', function (data) {
|
form.on('submit(power-save)', function (data) {
|
||||||
data.field.icon = 'layui-icon ' + data.field.icon
|
data.field.icon = 'layui-icon ' + data.field.icon
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: MODULE_PATH + 'power',
|
url: RIGHTS_API.POWER(0),
|
||||||
data: JSON.stringify(data.field),
|
data: JSON.stringify(data.field),
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ def index():
|
|||||||
|
|
||||||
|
|
||||||
# 首页
|
# 首页
|
||||||
@index_bp.get('/admin')
|
@index_bp.get('/admin/')
|
||||||
@login_required
|
@login_required
|
||||||
def admin_index():
|
def admin_index():
|
||||||
return render_template('index/admin_index.html', user=current_user)
|
return render_template('index/admin_index.html', user=current_user)
|
||||||
|
|||||||
Reference in New Issue
Block a user