浏览代码

字典类型与角色

zhujf21st 3 年之前
父节点
当前提交
8162b910d9
共有 4 个文件被更改,包括 66 次插入10 次删除
  1. 3 1
      app/models/Role.py
  2. 48 2
      app/routes/dicttype.py
  3. 13 7
      app/routes/role.py
  4. 2 0
      app/routes/user.py

+ 3 - 1
app/models/Role.py

@@ -17,6 +17,7 @@ class Role(db.Model, UserMixin):
     DESCRIPTION = db.Column(db.String(200))
     ICONCLS = db.Column(db.String(100))
     SEQ = db.Column(db.Integer)
+    ROLEKEY = db.Column(db.String(100))
 
     #包含资源
     resources = db.relationship('Resource',
@@ -42,7 +43,8 @@ class Role(db.Model, UserMixin):
             'remark': self.DESCRIPTION,
             'iconCls': self.ICONCLS,
             'roleSort': self.SEQ,
-            'status': '0'
+            'status': '0',
+            'roleKey': self.ROLEKEY
         }
 
         

+ 48 - 2
app/routes/dicttype.py

@@ -1,8 +1,12 @@
+from datetime import datetime
+
+from flask_login import current_user
 from ..base import base
 from ..models import DictData, DictType
 from flask import render_template, request, jsonify
 from sqlalchemy import asc
 from sqlalchemy import desc
+from .. import  db
 
 @base.route('/system/dict/type/list', methods=['GET'])
 def sysdict_type_list():
@@ -26,14 +30,56 @@ def sysdict_type_list():
         page, per_page=rows, error_out=False)
     types = pagination.items
 
-    return jsonify({'msg': '操作成功', 'code': 200, 'rows': [type.to_json() for type in types], 'total': len(types)})
+    return jsonify({'msg': '操作成功', 'code': 200, 'rows': [type.to_json() for type in types], 'total': pagination.total})
 
 @base.route('/system/dict/type/<id>', methods=['GET'])
 def sysdict_type_get_by_id(id):
-    type = DictData.query.get(id)
+    type = DictType.query.get(id)
 
     return jsonify({'msg': '操作成功', 'code': 200, 'data': type.to_json()})
 
+@base.route('/system/dict/type', methods=['POST'])
+def sysdict_type_add():
+    dictType = DictType()
+
+    if 'dictName' in request.json: dictType.dict_name = request.json['dictName']
+    if 'status' in request.json: dictType.status = request.json['status']
+    if 'remark' in request.json: dictType.remark = request.json['remark']
+    if 'dictType' in request.json: dictType.dict_type = request.json['dictType']
+
+    dictType.create_time = datetime.now()
+    dictType.create_by = current_user.NAME
+    dictType.update_time = datetime.now()
+    dictType.update_by = current_user.NAME
+
+    db.session.add(dictType)
+
+    return jsonify({'code': 200, 'msg': '操作成功'})
+
+@base.route('/system/dict/type', methods=['PUT'])
+def sysdict_type_update():
+    dictType = DictType.query.get(request.json['dictId'])
+
+    if 'dictName' in request.json: dictType.dict_name = request.json['dictName']
+    if 'status' in request.json: dictType.status = request.json['status']
+    if 'remark' in request.json: dictType.remark = request.json['remark']
+    if 'dictType' in request.json: dictType.dict_type = request.json['dictType']
+
+    dictType.UPDATEDATETIME = datetime.now()
+    dictType.update_by = current_user.NAME
+
+    return jsonify({'msg': '操作成功', 'code': 200})
+
+@base.route('/system/dict/type/<string:ids>', methods=['DELETE'])
+def sytype_delete(ids):
+    idList = ids.split(',')
+    for id in idList:
+        dictType = DictType.query.get(id)
+        if dictType:
+            db.session.delete(dictType)
+
+    return jsonify({'code': 200, 'msg': '操作成功'})
+
 @base.route('/system/dict/type/optionselect', methods=['GET'])
 def sysdict_type_all():
     types = DictData.query.all()

+ 13 - 7
app/routes/role.py

@@ -54,8 +54,8 @@ def grant_role():
 @base.route('/system/role/list', methods=['GET'])
 def grid():
     filters = []
-    if request.form.get('name'):
-        filters.append(Role.NAME.like('%' + request.form.get('name') + '%'))
+    if request.args.get('roleName'):
+        filters.append(Role.NAME.like('%' + request.args.get('roleName') + '%'))
 
     order_by = []
     if request.form.get('sort'):
@@ -66,8 +66,8 @@ def grid():
         else:
             order_by.append(getattr(Role,request.form.get('sort').upper()))
 
-    page = request.form.get('page', 1, type=int)
-    rows = request.form.get('rows', 10, type=int)
+    page = request.args.get('pageNum', 1, type=int)
+    rows = request.args.get('pageSize', 10, type=int)
     pagination = current_user.roles.filter(*filters).order_by(*order_by).paginate(
         page, per_page=rows, error_out=False)
     roles = pagination.items
@@ -91,10 +91,15 @@ def syrole_update():
     role.NAME = request.json['roleName']
     role.DESCRIPTION = request.json['remark']
     role.SEQ = request.json['roleSort']
+    if 'roleKey' in request.json: role.ROLEKEY = request.json['roleKey']
+
+    if 'menuIds' in request.json:
+        res_list = [Resource.query.get(menuId) for menuId in request.json['menuIds']]
+        role.resources = res_list
 
     db.session.add(role)
 
-    return jsonify({'code': 200})
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 @base.route('/system/role', methods=['POST'])
 def syrole_save():
@@ -102,6 +107,7 @@ def syrole_save():
 
     role.ID = str(uuid.uuid4())
     role.NAME = request.json['roleName']
+    if 'roleKey' in request.json: role.ROLEKEY = request.json['roleKey']
     if 'remark' in request.json: role.DESCRIPTION = request.json['remark']
     role.SEQ = request.json['roleSort']
 
@@ -114,7 +120,7 @@ def syrole_save():
 
     db.session.add(role)
 
-    return jsonify({'code': 200})
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 @base.route('/system/role/<string:id>', methods=['DELETE'])
 def syrole_delete(id):
@@ -122,7 +128,7 @@ def syrole_delete(id):
     if role:
         db.session.delete(role)
 
-    return jsonify({'code': 200})
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 @base.route('/system/role/authUser/allocatedList', methods=['GET'])
 def allocatedList():

+ 2 - 0
app/routes/user.py

@@ -103,6 +103,8 @@ def user_grid():
     filters = []
     if 'userName' in request.args:
         filters.append(User.LOGINNAME.like('%' + request.args['userName'] + '%'))
+    if 'phonenumber' in request.args:
+        filters.append(User.PHONENUMBER.like('%' + request.args['phonenumber'] + '%'))
     if 'params[beginTime]' in request.args and 'params[endTime]' in request.args:
         filters.append(User.CREATEDATETIME >  request.args['params[beginTime]'])
         filters.append(User.CREATEDATETIME <  request.args['params[endTime]'])