refactor(rest-api):调整部门数据
This commit is contained in:
+27
-71
@@ -120,20 +120,6 @@ def make_menu_tree():
|
||||
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):
|
||||
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')
|
||||
|
||||
|
||||
@rights_api.resource('/data')
|
||||
class RightsData(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):
|
||||
@rights_api.resource('/rights')
|
||||
class RightRights(Resource):
|
||||
@authorize("admin:power:main", log=True)
|
||||
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 = {
|
||||
"status": {"code": 200, "message": "默认"},
|
||||
"data": power_data
|
||||
@@ -193,28 +173,6 @@ class RightsSelectParent(Resource):
|
||||
}
|
||||
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)
|
||||
def delete(self):
|
||||
ids = request.form.getlist('ids[]')
|
||||
@@ -222,15 +180,11 @@ class RightsBatchRemove(Resource):
|
||||
return success_api(msg="批量删除成功")
|
||||
|
||||
|
||||
@rights_api.resource('/power')
|
||||
class AddRight(Resource):
|
||||
# @authorize("admin:power:add", log=True)
|
||||
# def get(self):
|
||||
# """获取增加视图"""
|
||||
# return make_response(render_template('rights/add.html'))
|
||||
@rights_api.resource('/power/<int:power_id>')
|
||||
class RightsPower(Resource):
|
||||
|
||||
@authorize("admin:power:add", log=True)
|
||||
def post(self):
|
||||
def post(self, power_id):
|
||||
res = parser_power.parse_args()
|
||||
power = Power(
|
||||
icon=res.icon,
|
||||
@@ -252,19 +206,6 @@ class AddRight(Resource):
|
||||
|
||||
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)
|
||||
def delete(self, power_id):
|
||||
# 删除权限(目前没有判断父节点自动删除子节点)
|
||||
@@ -306,6 +247,21 @@ class RightsURD(Resource):
|
||||
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')
|
||||
class AdminConfigs(Resource):
|
||||
@login_required
|
||||
|
||||
@@ -102,11 +102,16 @@
|
||||
let $ = layui.jquery
|
||||
let iconPicker = layui.iconPicker
|
||||
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({
|
||||
elem: '#selectParent',
|
||||
url: MODULE_PATH + 'select_parent',
|
||||
url: RIGHTS_API.RIGHTS(),
|
||||
method: 'get',
|
||||
selectInputName: { nodeId: 'parentId', context: 'powerName' },
|
||||
skin: 'layui',
|
||||
@@ -143,7 +148,7 @@
|
||||
data.field.icon = 'layui-icon ' + data.field.icon
|
||||
console.log(data.field)
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'power/' + data.field.powerId,
|
||||
url: RIGHTS_API.POWER(data.field.powerId),
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
|
||||
@@ -175,7 +175,12 @@
|
||||
let iconPicker = layui.iconPicker
|
||||
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 () {
|
||||
treetable.render({
|
||||
@@ -188,13 +193,11 @@
|
||||
treeDefaultClose: true,
|
||||
toolbar: '#power-toolbar',
|
||||
elem: '#power_table',
|
||||
url: MODULE_PATH + 'data',
|
||||
url: RIGHTS_API.RIGHTS(),
|
||||
page: false,
|
||||
cols: [
|
||||
[
|
||||
{% if authorize("admin:role:remove") %}
|
||||
{ type: 'checkbox' },
|
||||
{% endif %}
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'powerName', minWidth: 200, title: '权限名称' },
|
||||
{ field: 'icon', title: '图标', templet: '#icon' },
|
||||
{ field: 'powerType', title: '权限类型', templet: '#power-type' },
|
||||
@@ -263,7 +266,7 @@
|
||||
}
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'enable',
|
||||
url: RIGHTS_API.POWER_STATUS(this.value),
|
||||
data: JSON.stringify({ powerId: this.value, operate: operate }),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
@@ -303,7 +306,7 @@
|
||||
layer.close(index)
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'power/' + obj.data['powerId'],
|
||||
url: RIGHTS_API.POWER(obj.data['powerId']),
|
||||
dataType: 'json',
|
||||
type: 'delete',
|
||||
success: function (result) {
|
||||
@@ -345,7 +348,7 @@
|
||||
layer.close(index)
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'batchRemove',
|
||||
url: RIGHTS_API.RIGHTS(),
|
||||
data: { ids: ids },
|
||||
dataType: 'json',
|
||||
type: 'delete',
|
||||
@@ -367,7 +370,7 @@
|
||||
{#添加权限数据页面#}
|
||||
dtree.renderSelect({
|
||||
elem: '#select_parent_dept',
|
||||
url: MODULE_PATH + 'select_parent',
|
||||
url: RIGHTS_API.RIGHTS(),
|
||||
method: 'get',
|
||||
selectInputName: { nodeId: 'parentId', context: 'powerName' },
|
||||
skin: 'layui',
|
||||
@@ -400,7 +403,7 @@
|
||||
form.on('submit(power-save)', function (data) {
|
||||
data.field.icon = 'layui-icon ' + data.field.icon
|
||||
$.ajax({
|
||||
url: MODULE_PATH + 'power',
|
||||
url: RIGHTS_API.POWER(0),
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
|
||||
@@ -11,7 +11,7 @@ def index():
|
||||
|
||||
|
||||
# 首页
|
||||
@index_bp.get('/admin')
|
||||
@index_bp.get('/admin/')
|
||||
@login_required
|
||||
def admin_index():
|
||||
return render_template('index/admin_index.html', user=current_user)
|
||||
|
||||
Reference in New Issue
Block a user