From 226202d6eee6480f3386c6295be26fad42940cc8 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期五, 28 三月 2025 09:41:39 +0800 Subject: [PATCH] 知识库分享,历史记录文件 --- app/models/organization_model.py | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 55 insertions(+), 4 deletions(-) diff --git a/app/models/organization_model.py b/app/models/organization_model.py index f0c2f55..d7a17a0 100644 --- a/app/models/organization_model.py +++ b/app/models/organization_model.py @@ -5,6 +5,7 @@ from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime from sqlalchemy.orm import relationship, backref +from app.config.const import DEPT_STATUS_DELETE from app.models.base_model import Base # organization_group_table = Table('organization_group', Base.metadata, @@ -29,7 +30,7 @@ leader = Column(String(255)) phone = Column(String(32)) email = Column(String(64)) - status = Column(String(10), nullable=False, default="0") + status = Column(String(10), nullable=False, default="1") # groups = relationship('GroupModel', # secondary=organization_group_table, @@ -65,11 +66,49 @@ 'roles': [self.role_json(role) for role in self.roles], # 'groups': [self.group_json(group) for group in self.groups], 'children': [ - org.to_json() for org in self.children + org.to_json() for org in self.children if org.status != DEPT_STATUS_DELETE ] } return json + + def to_dict(self): + json = { + 'deptId': self.id, + 'createTime': self.created_at, + 'updateTime': self.updated_at, + 'deptName': self.name, + 'address': self.address, + 'code': self.code, + 'iconCls': self.iconcls, + 'orderNum': self.seq, + 'parentId': self.get_pid(), + 'parentName': self.get_pName(), + 'leader': self.leader, + 'phone': self.phone, + 'email': self.email, + 'status': self.status, + 'roles': [self.role_json(role) for role in self.roles], + } + + return json + + def to_base_json(self): + json = { + 'deptId': self.id, + 'deptName': self.name, + 'address': self.address, + 'code': self.code, + 'iconCls': self.iconcls, + 'orderNum': self.seq, + 'leader': self.leader, + 'phone': self.phone, + 'email': self.email, + 'status': self.status + } + + return json + def role_json(self, role): return { @@ -90,6 +129,13 @@ 'id': self.id, 'label': self.name, 'children': [org.to_tree_select_json() for org in self.children] + } + + def to_parent_select_json(self): + return { + 'id': self.id, + 'label': self.name, + 'parent': [org.to_parent_select_json() for org in self.parent] } def get_pid(self): @@ -123,8 +169,8 @@ orderNum: int address: Optional[str] = "" parentId: Optional[str] = "" - status: str - roles: list + status: Optional[str|int] = "" + roles: Optional[list] = [] groups: Optional[list] = [] @@ -132,3 +178,8 @@ deptId: str parentId: str orderNum: int + + +class DeptStatus(BaseModel): + deptId: str + status: str \ No newline at end of file -- Gitblit v1.8.0