zisokal 3 年之前
父节点
当前提交
9cc19bee7c
共有 3 个文件被更改,包括 64 次插入53 次删除
  1. 7 1
      app/models/Resource.py
  2. 19 22
      app/routes/organization.py
  3. 38 30
      app/routes/resource.py

+ 7 - 1
app/models/Resource.py

@@ -43,7 +43,13 @@ class Resource(db.Model, UserMixin):
             'parentId': self.get_pid(),
             'parentId': self.get_pid(),
             'syresourcetype': self.get_type_json(),
             'syresourcetype': self.get_type_json(),
             'status': '0',
             'status': '0',
-            'perms': self.PERMS
+            'visible': '0',
+            'isFrame': '1',
+            'path': self.PATH,
+            'perms': self.PERMS,
+            'isCache': '1',
+            # 类型(M目录 C菜单 F按钮)
+            'menuType': 'F' if self.SYRESOURCETYPE_ID == '1' else 'C' if self.SYRESOURCETYPE_ID == '0' else 'M'
         }
         }
 
 
     def to_router_json(self):
     def to_router_json(self):

+ 19 - 22
app/routes/organization.py

@@ -43,7 +43,11 @@ def grant_organization_resource():
 @base.route('/system/dept/list', methods=['GET'])
 @base.route('/system/dept/list', methods=['GET'])
 @login_required
 @login_required
 def syorganization_treeGrid():
 def syorganization_treeGrid():
-    orgs = Organization.query.all()
+    filters = []
+    if 'deptName' in request.args:
+        filters.append(Organization.NAME.like('%' + request.args['deptName'] + '%'))
+
+    orgs = Organization.query.filter(*filters)
 
 
     return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]})
     return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]})
 
 
@@ -92,39 +96,32 @@ def syorganization_update():
     org = Organization.query.get(request.json['deptId'])
     org = Organization.query.get(request.json['deptId'])
 
 
     org.UPDATEDATETIME = datetime.now()
     org.UPDATEDATETIME = datetime.now()
-    org.NAME = request.json['deptName']
-    org.EMAIL = request.json['email']
-    org.LEADER = request.json['leader']
-    org.PHONE = request.json['phone']
-    org.SEQ = request.json['orderNum']
-    org.parent = Organization.query.get(request.json['parentId'])
+    if 'deptName' in request.json:  org.NAME = request.json['deptName']
+    if 'email' in request.json: org.EMAIL = request.json['email']
+    if 'leader' in request.json: org.LEADER = request.json['leader']
+    if 'phone' in request.json: org.PHONE = request.json['phone']
+    if 'orderNum' in request.json:  org.SEQ = request.json['orderNum']
+    if 'parentId' in request.json: org.parent = Organization.query.get(request.json['parentId'])
 
 
     db.session.add(org)
     db.session.add(org)
 
 
-    return jsonify({'success': True})
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 
 @base.route('/system/dept', methods=['POST'])
 @base.route('/system/dept', methods=['POST'])
 def syorganization_save():
 def syorganization_save():
     org = Organization()
     org = Organization()
     org.ID = str(uuid.uuid4())
     org.ID = str(uuid.uuid4())
-    org.NAME = request.json['deptName']
-    org.EMAIL = request.json['email']
-    org.LEADER = request.json['leader']
-    org.PHONE = request.json['phone']
-    org.SEQ = request.json['orderNum']
-    org.parent = Organization.query.get(request.json['parentId'])
+    if 'deptName' in request.json:  org.NAME = request.json['deptName']
+    if 'email' in request.json: org.EMAIL = request.json['email']
+    if 'leader' in request.json: org.LEADER = request.json['leader']
+    if 'phone' in request.json: org.PHONE = request.json['phone']
+    if 'orderNum' in request.json: org.SEQ = request.json['orderNum']
+    if 'parentId' in request.json: org.parent = Organization.query.get(request.json['parentId'])
 
 
     # add organization to current user
     # add organization to current user
     current_user.organizations.append(org)
     current_user.organizations.append(org)
 
 
     db.session.add(org)
     db.session.add(org)
 
 
-    return jsonify({'success': True})
-
-@base.route('/base/syorganization!delete.action', methods=['POST'])
-def syorganization_delete():
-    org = Organization.query.get(request.form.get('id'))
-    if org:
-        db.session.delete(org)
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 
-    return jsonify({'success': True})

+ 38 - 30
app/routes/resource.py

@@ -10,6 +10,8 @@ from flask import render_template, request
 from .. import  db
 from .. import  db
 import uuid
 import uuid
 from datetime import datetime
 from datetime import datetime
+from sqlalchemy import desc
+from sqlalchemy import asc
 
 
 @base.route('/base/syresource!doNotNeedSecurity_getMainMenu.action', methods=['POST'])
 @base.route('/base/syresource!doNotNeedSecurity_getMainMenu.action', methods=['POST'])
 def resource_grid():
 def resource_grid():
@@ -49,7 +51,15 @@ def get_organization_resources():
 
 
 @base.route('/system/menu/list', methods=['GET'])
 @base.route('/system/menu/list', methods=['GET'])
 def syresource_treeGrid():
 def syresource_treeGrid():
-    res_list = Resource.query.all()
+    filters = []
+    if 'menuName' in request.args:
+        filters.append(Resource.NAME.like('%' + request.args['menuName'] + '%'))
+
+    order_by = []
+    order_by.append(asc(getattr(Resource, 'SYRESOURCE_ID')))
+    order_by.append(asc(getattr(Resource, 'SEQ')))
+
+    res_list = Resource.query.filter(*filters).order_by(*order_by)
 
 
     return jsonify({"msg":"操作成功","code":200, "data": [org.to_json() for org in res_list]})
     return jsonify({"msg":"操作成功","code":200, "data": [org.to_json() for org in res_list]})
 
 
@@ -59,56 +69,54 @@ def syresource_comboTree():
 
 
     return jsonify([org.to_json() for org in res_list])
     return jsonify([org.to_json() for org in res_list])
 
 
-@base.route('/base/syresource!getById.action', methods=['POST'])
-def syresource_getById():
-    res = Resource.query.get(request.form.get('id'))
+@base.route('/system/menu/<id>', methods=['GET'])
+def syresource_getById(id):
+    res = Resource.query.get(id)
 
 
     if res:
     if res:
-        return jsonify(res.to_json())
+        return jsonify({'code': 200, 'msg': '操作成功', 'data': res.to_json()})
     else:
     else:
         return jsonify({'success': False, 'msg': 'error'})
         return jsonify({'success': False, 'msg': 'error'})
 
 
-@base.route('/base/syresource!update.action', methods=['POST'])
+@base.route('/system/menu', methods=['PUT'])
 def syresource_update():
 def syresource_update():
-    res = Resource.query.get(request.form.get('data.id'))
+    res = Resource.query.get(request.json['menuId'])
 
 
     res.UPDATEDATETIME = datetime.now()
     res.UPDATEDATETIME = datetime.now()
-    res.NAME = request.form.get('data.name')
-    res.URL = request.form.get('data.url')
-    res.DESCRIPTION = request.form.get('data.description')
-    res.ICONCLS = request.form.get('data.iconCls')
-    res.SEQ = request.form.get('data.seq')
-    res.TARGET = request.form.get('data.target')
-    res.SYRESOURCETYPE_ID = request.form.get('data.syresourcetype.id')
-    res.parent = Resource.query.get(request.form.get('data.syresource.id'))
+    if 'icon' in request.json: res.ICONCLS = request.json['icon']
+    if 'component' in request.json: res.URL = request.json['component']
+    if 'menuName' in request.json: res.NAME = request.json['menuName']
+    if 'orderNum' in request.json: res.SEQ = request.json['orderNum']
+    if 'perms' in request.json: res.PERMS = request.json['perms']
+    if 'menuType' in request.json: res.SYRESOURCETYPE_ID = '1' if request.json['menuType'] == 'F' else '0' if request.json['menuType'] == 'C' else '3'
+    if 'parentId' in request.json: res.parent = Resource.query.get(request.json['parentId'])
 
 
     db.session.add(res)
     db.session.add(res)
 
 
-    return jsonify({'success': True})
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 
-@base.route('/base/syresource!save.action', methods=['POST'])
+@base.route('/system/menu', methods=['POST'])
 def syresource_save():
 def syresource_save():
     res = Resource()
     res = Resource()
 
 
     res.ID = str(uuid.uuid4())
     res.ID = str(uuid.uuid4())
-    res.NAME = request.form.get('data.name')
-    res.URL = request.form.get('data.url')
-    res.DESCRIPTION = request.form.get('data.description')
-    res.ICONCLS = request.form.get('data.iconCls')
-    res.SEQ = request.form.get('data.seq')
-    res.TARGET = request.form.get('data.target')
-    res.SYRESOURCETYPE_ID = request.form.get('data.syresourcetype.id')
-    res.parent = Resource.query.get(request.form.get('data.syresource.id'))
+    if 'icon' in request.json: res.ICONCLS = request.json['icon']
+    if 'component' in request.json: res.URL = request.json['component']
+    if 'menuName' in request.json: res.NAME = request.json['menuName']
+    if 'orderNum' in request.json: res.SEQ = request.json['orderNum']
+    if 'perms' in request.json: res.PERMS = request.json['perms']
+    if 'menuType' in request.json: res.SYRESOURCETYPE_ID = '1' if request.json['menuType'] == 'F' else '0' if request.json['menuType'] == 'F' else '3'
+    if 'parentId' in request.json: res.parent = Resource.query.get(request.json['parentId'])
 
 
     db.session.add(res)
     db.session.add(res)
 
 
-    return jsonify({'success': True})
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 
-@base.route('/base/syresource!delete.action', methods=['POST'])
-def syresource_delete():
-    res = Resource.query.get(request.form.get('id'))
+@base.route('/system/menu/<id>', methods=['DELETE'])
+def syresource_delete(id):
+    res = Resource.query.get(id)
     if res:
     if res:
         db.session.delete(res)
         db.session.delete(res)
 
 
-    return jsonify({'success': True})
+    return jsonify({'code': 200, 'msg': '操作成功'})