浏览代码

organization tree select

zisokal 3 年之前
父节点
当前提交
a7078cf175
共有 5 个文件被更改,包括 40 次插入24 次删除
  1. 7 0
      app/models/Organization.py
  2. 7 6
      app/models/Role.py
  3. 2 1
      app/models/User.py
  4. 7 0
      app/routes/organization.py
  5. 17 17
      app/routes/role.py

+ 7 - 0
app/models/Organization.py

@@ -50,6 +50,13 @@ class Organization(db.Model, UserMixin):
                 org.to_json() for org in self.children
             ]
         }
+    
+    def to_tree_select_json(self):
+        return {
+            'id': self.ID,
+            'label': self.NAME,
+            'children': [org.to_tree_select_json() for org in self.children]
+        }
 
     def get_pid(self):
         if self.parent:

+ 7 - 6
app/models/Role.py

@@ -35,11 +35,12 @@ class Role(db.Model, UserMixin):
 
     def to_json(self):
         return {
-            'id': self.ID,
-            'createdatetime': self.CREATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
-            'updatedatetime': self.UPDATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
-            'name': self.NAME,
-            'description': self.DESCRIPTION,
+            'roleId': self.ID,
+            'createTime': self.CREATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
+            'updateTime': self.UPDATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
+            'roleName': self.NAME,
+            'remark': self.DESCRIPTION,
             'iconCls': self.ICONCLS,
-            'seq': self.SEQ,
+            'roleSort': self.SEQ,
+            'status': '0'
         }

+ 2 - 1
app/models/User.py

@@ -33,7 +33,8 @@ class User(db.Model, UserMixin):
 
     roles = db.relationship('Role',
                             secondary=user_role_table,
-                            backref=db.backref('users', lazy='dynamic'),)
+                            backref=db.backref('users', lazy='dynamic'),
+                            lazy="dynamic")
 
     def get_id(self):
         return str(self.ID)

+ 7 - 0
app/routes/organization.py

@@ -47,6 +47,13 @@ def syorganization_treeGrid():
 
     return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]})
 
+@base.route('/system/dept/treeselect', methods=['GET'])
+@login_required
+def syorganization_tree_select():
+    orgs = Organization.query.filter(Organization.SYORGANIZATION_ID == None)
+
+    return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_tree_select_json() for org in orgs]}) 
+
 @base.route('/system/dept/list/exclude/<id>', methods=['GET'])
 @login_required
 def syorganization_dept_list_exclude(id):

+ 17 - 17
app/routes/role.py

@@ -51,7 +51,7 @@ def grant_role():
 
     return jsonify({'success': True})
 
-@base.route('/base/syrole!grid.action', methods=['POST'])
+@base.route('/system/role/list', methods=['GET'])
 def grid():
     filters = []
     if request.form.get('name'):
@@ -74,36 +74,36 @@ def grid():
 
     return jsonify({'rows': [role.to_json() for role in roles], 'total': pagination.total})
 
-@base.route('/base/syrole!getById.action', methods=['POST'])
-def syrole_getById():
-    role = Role.query.get(request.form.get('id'))
+@base.route('/system/role/<string:id>', methods=['GET'])
+def syrole_getById(id):
+    role = Role.query.get(id)
 
     if role:
-        return jsonify(role.to_json())
+        return jsonify({'code': 200, 'msg': '操作成功', 'data': role.to_json()})
     else:
         return jsonify({'success': False, 'msg': 'error'})
 
-@base.route('/base/syrole!update.action', methods=['POST'])
+@base.route('/system/role', methods=['PUT'])
 def syrole_update():
-    role = Role.query.get(request.form.get('data.id'))
+    role = Role.query.get(request.json['roleId'])
 
     role.UPDATEDATETIME = datetime.now()
-    role.NAME = request.form.get('data.name')
-    role.DESCRIPTION = request.form.get('data.description')
-    role.SEQ = request.form.get('data.seq')
+    role.NAME = request.json['roleName']
+    role.DESCRIPTION = request.json['remark']
+    role.SEQ = request.json['roleSort']
 
     db.session.add(role)
 
     return jsonify({'success': True})
 
-@base.route('/base/syrole!save.action', methods=['POST'])
+@base.route('/system/role', methods=['POST'])
 def syrole_save():
     role = Role()
 
     role.ID = str(uuid.uuid4())
-    role.NAME = request.form.get('data.name')
-    role.DESCRIPTION = request.form.get('data.description')
-    role.SEQ = request.form.get('data.seq')
+    role.NAME = request.json['roleName']
+    role.DESCRIPTION = request.json['remark']
+    role.SEQ = request.json['roleSort']
 
     # add current use to new role
     current_user.roles.append(role)
@@ -112,9 +112,9 @@ def syrole_save():
 
     return jsonify({'success': True})
 
-@base.route('/base/syrole!delete.action', methods=['POST'])
-def syrole_delete():
-    role = Role.query.get(request.form.get('id'))
+@base.route('/system/role/<string:id>', methods=['DELETE'])
+def syrole_delete(id):
+    role = Role.query.get(id)
     if role:
         db.session.delete(role)