refactor(rest-api):调整部门数据

This commit is contained in:
zhengxinonly
2021-07-26 14:36:49 +08:00
parent 2b7304e615
commit ab4bb1ca40
4 changed files with 49 additions and 85 deletions
+27 -71
View File
@@ -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
+8 -3
View File
@@ -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',
+13 -10
View File
@@ -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',
+1 -1
View File
@@ -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)