// package model // @Link https://github.com/xiujiecn/xiu-admin // @Copyright Copyright (c) 2025 LiXiujie // @Author Lxj // @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE package model import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" ) type SysDeptMiniModel struct { g.Meta `orm:"table:sys_dept" description:"部门"` DeptId int64 `json:"deptId" orm:"dept_id" description:"部门id"` ParentId int64 `json:"parentId" orm:"parent_id" description:"父部门id"` DeptName string `json:"deptName" orm:"dept_name" description:"部门名称"` } type SysDeptListParam struct { DeptName string `json:"deptName" description:"部门名称"` Status string `json:"status" description:"部门状态(0正常 1停用)"` DeptType *int `json:"deptType" description:"部门类型(0:部门 1:公司)"` } type SysDeptListModel struct { DeptId int64 `json:"deptId" orm:"dept_id" description:"部门id"` TenantId string `json:"tenantId" orm:"tenant_id" description:"租户编号"` DeptType int `json:"deptType" orm:"dept_type" description:"部门类型(0:部门 1:公司)"` ParentId int64 `json:"parentId" orm:"parent_id" description:"父部门id"` Ancestors string `json:"ancestors" orm:"ancestors" description:"祖级列表"` DeptName string `json:"deptName" orm:"dept_name" description:"部门名称"` DeptCategory string `json:"deptCategory" orm:"dept_category" description:"部门类别编码"` OrderNum int `json:"orderNum" orm:"order_num" description:"显示顺序"` Leader int64 `json:"leader" orm:"leader" description:"负责人"` Phone string `json:"phone" orm:"phone" description:"联系电话"` Email string `json:"email" orm:"email" description:"邮箱"` Status string `json:"status" orm:"status" description:"部门状态(0正常 1停用)"` CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` } type SysDeptTreeModel struct { DeptId int64 `json:"deptId" description:"部门id"` ParentId int64 `json:"parentId" description:"父部门id"` Key string `json:"key" description:"key"` DeptName string `json:"deptName" description:"部门名称"` Children []*SysDeptTreeModel `json:"children" description:"子部门"` Ancestors string `json:"ancestors" description:"祖级列表"` DeptType int `json:"deptType" description:"部门类型(0:部门 1:公司)"` } // SysDeptFullTreeModel 组织管理页使用的完整树节点。 // // 与 SysDeptTreeModel 的区别:后者只带 7 个精简字段,供部门选择器、 // 用户管理左栏、通知公告等场景使用(调用方超过10 处,不能改其结构); // 组织管理页的表格还要展示组织编码、状态、创建时间,并支持 // 按组织名称模糊搜索、按状态/类型筛选,因此这里在 SysDeptListModel // 全部字段之上追加 Children。 // // 该结构由后端一次建好嵌套 children 返回,前端 vxe-table 可直接渲染, // 无需再开启 treeConfig.transform 在前端主线程二次建树。 type SysDeptFullTreeModel struct { SysDeptListModel Children []*SysDeptFullTreeModel `json:"children" dc:"子部门"` } // SysDeptFullTreeParam 组织管理页完整树查询参数。 // // 过滤条件与 SysDeptListParam 保持一致;无过滤条件时返回全量组织树。 type SysDeptFullTreeParam struct { SysDeptListParam } type SysDeptViewModel struct { DeptId int64 `json:"deptId" orm:"dept_id" description:"部门id"` TenantId string `json:"tenantId" orm:"tenant_id" description:"租户编号"` DeptType int `json:"deptType" orm:"dept_type" description:"部门类型(0:部门 1:公司)"` ParentId int64 `json:"parentId" orm:"parent_id" description:"父部门id"` Ancestors string `json:"ancestors" orm:"ancestors" description:"祖级列表"` DeptName string `json:"deptName" orm:"dept_name" description:"部门名称"` FullName string `json:"fullName" description:"单位全称"` DeptCategory string `json:"deptCategory" orm:"dept_category" description:"部门类别编码"` OrderNum int `json:"orderNum" orm:"order_num" description:"显示顺序"` Leader int64 `json:"leader" orm:"leader" description:"负责人"` Phone string `json:"phone" orm:"phone" description:"联系电话"` Email string `json:"email" orm:"email" description:"邮箱"` CreditCode string `json:"creditCode" description:"统一社会信用代码"` AreaCode string `json:"areaCode" orm:"area_code" description:"行政区域代码"` Address string `json:"address" orm:"address" description:"地址"` DeptRole int64 `json:"deptRole" orm:"dept_role" description:"机构默认角色ID"` Status string `json:"status" orm:"status" description:"部门状态(0正常 1停用)"` CreatedDept int64 `json:"createdDept" orm:"created_dept" description:"创建部门"` CreatedBy int64 `json:"createdBy" orm:"created_by" description:"创建者"` CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` UpdatedBy int64 `json:"updatedBy" orm:"updated_by" description:"更新者"` UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` } type SysDeptAddModel struct { ParentId int64 `json:"parentId" description:"父部门id"` DeptName string `json:"deptName" description:"部门名称"` DeptCategory string `json:"deptCategory" description:"部门类别编码"` OrderNum int `json:"orderNum" description:"显示顺序"` Leader int64 `json:"leader" description:"负责人"` Phone string `json:"phone" description:"联系电话"` Email string `json:"email" description:"邮箱"` CreditCode string `json:"creditCode" description:"统一社会信用代码"` AreaCode string `json:"areaCode" description:"行政区域代码"` Address string `json:"address" description:"地址"` Status string `json:"status" description:"部门状态(0正常 1停用)"` DeptType int `json:"deptType" description:"部门类型(0:部门 1:公司)"` DeptRole int64 `json:"deptRole" description:"机构默认角色ID"` } type SysDeptEditModel struct { DeptId int64 `json:"deptId" description:"部门id"` ParentId *int64 `json:"parentId" description:"父部门id"` DeptName *string `json:"deptName" description:"部门名称"` DeptCategory *string `json:"deptCategory" description:"部门类别编码"` OrderNum *int `json:"orderNum" description:"显示顺序"` Leader *int64 `json:"leader" description:"负责人"` Phone *string `json:"phone" description:"联系电话"` Email *string `json:"email" description:"邮箱"` Status *string `json:"status" description:"部门状态(0正常 1停用)"` DeptType *int `json:"deptType" description:"部门类型(0:部门 1:公司)"` CreditCode *string `json:"creditCode" description:"统一社会信用代码"` AreaCode *string `json:"areaCode" description:"行政区域代码"` Address *string `json:"address" description:"地址"` DeptRole *int64 `json:"deptRole" description:"机构默认角色ID"` } type SysDeptDeleteModel struct { DeptId int64 `json:"deptId" description:"部门id"` } type SysDeptTreeParam struct { DeptType *string `json:"deptType" description:"部门类型(0:部门 1:公司)"` }