From 9ea07e00fc8b92e9b75849859c1ecce77c7096d1 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 10 四月 2025 13:31:23 +0800
Subject: [PATCH] 优化

---
 app/models/organization_model.py |   28 +++++++++++++++++++++++++---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/app/models/organization_model.py b/app/models/organization_model.py
index 08bb6e4..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,7 +66,7 @@
             '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
             ]
         }
 
@@ -88,6 +89,22 @@
             '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
@@ -152,7 +169,7 @@
     orderNum: int
     address: Optional[str] = ""
     parentId: Optional[str] = ""
-    status: str
+    status:  Optional[str|int] = ""
     roles: Optional[list] = []
     groups: Optional[list] = []
 
@@ -161,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