From 883e7f88d5cf8f1dd7e81c3b16e6c4ae557994aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=83=9C=E8=88=9F?= <1650473152@qq.com> Date: Tue, 27 Dec 2022 21:56:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- applications/schemas/__init__.py | 2 +- applications/schemas/admin_user.py | 20 -------------------- applications/view/admin/user.py | 29 ++++++++++++++++------------- templates/admin/user/main.html | 2 +- 4 files changed, 18 insertions(+), 35 deletions(-) delete mode 100644 applications/schemas/admin_user.py diff --git a/applications/schemas/__init__.py b/applications/schemas/__init__.py index 4b3fa95..0835d9b 100644 --- a/applications/schemas/__init__.py +++ b/applications/schemas/__init__.py @@ -1,4 +1,4 @@ -from .admin_user import UserOutSchema + from .admin_role import RoleOutSchema from .admin_power import PowerOutSchema, PowerOutSchema2 from .admin_dict import DictDataOutSchema, DictTypeOutSchema diff --git a/applications/schemas/admin_user.py b/applications/schemas/admin_user.py deleted file mode 100644 index af6ad14..0000000 --- a/applications/schemas/admin_user.py +++ /dev/null @@ -1,20 +0,0 @@ -from applications.extensions import ma -from marshmallow import fields -from applications.models import Dept - - -# 用户models的序列化类 -class UserOutSchema(ma.Schema): - id = fields.Integer() - username = fields.Str() - realname = fields.Str() - enable = fields.Integer() - create_at = fields.DateTime() - update_at = fields.DateTime() - dept = fields.Method("get_dept") - - def get_dept(self, obj): - if obj.dept_id != None: - return Dept.query.filter_by(id=obj.dept_id).first().dept_name - else: - return None diff --git a/applications/view/admin/user.py b/applications/view/admin/user.py index 925af09..a7a1605 100644 --- a/applications/view/admin/user.py +++ b/applications/view/admin/user.py @@ -3,15 +3,14 @@ from flask_login import login_required, current_user from sqlalchemy import desc from applications.common import curd -from applications.common.curd import model_to_dicts, enable_status, disable_status +from applications.common.curd import enable_status, disable_status from applications.common.helper import ModelFilter from applications.common.utils.http import table_api, fail_api, success_api from applications.common.utils.rights import authorize from applications.common.utils.validate import xss_escape from applications.extensions import db -from applications.models import Role +from applications.models import Role, Dept from applications.models import User, AdminLog -from applications.schemas import UserOutSchema admin_user = Blueprint('adminUser', __name__, url_prefix='/admin/user') @@ -39,12 +38,16 @@ def data(): mf.contains(field_name="username", value=username) if dept_id: mf.exact(field_name="dept_id", value=dept_id) - # orm查询 - # 使用分页获取data需要.items - user = User.query.filter(mf.get_filter(model=User)).layui_paginate() - count = user.total - # 返回api - return table_api(data=model_to_dicts(schema=UserOutSchema, data=user.items), count=count) + data, count = db.session.query( + User.id, + User.username, + User.realname, + User.enable, + User.create_at, + User.update_at, + Dept.dept_name + ).filter(mf.get_filter(model=User)).filter(User.dept_id==Dept.id).layui_paginate_db_json() + return table_api(data=data,count=count) # 用户增加 @@ -86,7 +89,7 @@ def save(): def delete(id): user = User.query.filter_by(id=id).first() user.role = [] - + res = User.query.filter_by(id=id).delete() db.session.commit() if not res: @@ -98,7 +101,7 @@ def delete(id): @admin_user.get('/edit/') @authorize("admin:user:edit", log=True) def edit(id): - user = curd.get_one_by_id(User,id) + user = curd.get_one_by_id(User, id) roles = Role.query.all() checked_roles = [] for r in user.role: @@ -214,7 +217,7 @@ def enable(): def dis_enable(): _id = request.json.get('userId') if _id: - res = disable_status(model=User,id=_id) + res = disable_status(model=User, id=_id) if not res: return fail_api(msg="出错啦") return success_api(msg="禁用成功") @@ -229,7 +232,7 @@ def batch_remove(): for id in ids: user = User.query.filter_by(id=id).first() user.role = [] - + res = User.query.filter_by(id=id).delete() db.session.commit() return success_api(msg="批量删除成功") diff --git a/templates/admin/user/main.html b/templates/admin/user/main.html index 95a12c4..e0b4a3e 100644 --- a/templates/admin/user/main.html +++ b/templates/admin/user/main.html @@ -121,7 +121,7 @@ {% endif %} { title: '姓名', field: 'realname', align: 'center', width: 110 }, { title: '账号', field: 'username', align: 'center' }, - { title: '部门', field: 'dept', align: 'center' }, + { title: '部门', field: 'dept_name', align: 'center' }, { title: '启用', field: 'enable', align: 'center', templet: '#user-enable', width: 120 }, { title: '注册时间', field: 'create_at', templet: '#user-createTime', align: 'center' }, { title: '更新时间', field: 'update_at', templet: '#user-updateTime', align: 'center' },