From c389fec971c730be0ce9307be9e72d2fce42e1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E5=BC=BA?= <357099073@qq.com> Date: Tue, 24 Feb 2026 16:52:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0erp=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=9E=B6=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/Erp/OrganizationController.php | 105 ++++++++++++++++++ app/admin/controller/UserController.php | 17 +++ app/admin/route/routes/erp.php | 11 ++ app/admin/route/routes/user.php | 1 + app/api/controller/LoginController.php | 1 + app/model/Erp/Organization.php | 45 ++++++++ 6 files changed, 180 insertions(+) create mode 100644 app/admin/controller/Erp/OrganizationController.php create mode 100644 app/admin/route/routes/erp.php create mode 100644 app/model/Erp/Organization.php diff --git a/app/admin/controller/Erp/OrganizationController.php b/app/admin/controller/Erp/OrganizationController.php new file mode 100644 index 0000000..50b1dc0 --- /dev/null +++ b/app/admin/controller/Erp/OrganizationController.php @@ -0,0 +1,105 @@ +select()->toArray(); + return json([ + 'code' => 200, + 'msg' => '获取成功', + 'data' => $list + ]); + } + + /** + * 获取组织机构详情 + */ + public function getOrganizationDetail($id) + { + $detail = Organization::where('id', $id)->where('delete_time', null)->find()->toArray(); + $detail['leader_name'] = AdminUser::where('id', $detail['leader_id'])->value('name'); + return json([ + 'code' => 200, + 'msg' => '获取成功', + 'data' => $detail + ]); + } + + /** + * 创建组织机构 + */ + public function createOrganization() + { + $data = $this->request->post(); + $organization = Organization::create($data); + if ($organization) { + return json([ + 'code' => 200, + 'msg' => '创建成功', + 'data' => $organization + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '创建失败', + ]); + } + } + + /** + * 编辑组织机构 + */ + public function editOrganization($id) + { + $data = $this->request->post(); + $organization = Organization::where('id', $id)->update($data); + if ($organization) { + return json([ + 'code' => 200, + 'msg' => '编辑成功', + 'data' => $organization + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '编辑失败', + ]); + } + } + + /** + * 删除组织机构 + */ + public function deleteOrganization($id) + { + $organization = Organization::where('id', $id)->update(['delete_time' => date('Y-m-d H:i:s')]); + if ($organization) { + return json([ + 'code' => 200, + 'msg' => '删除成功', + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '删除失败', + ]); + } + } +} diff --git a/app/admin/controller/UserController.php b/app/admin/controller/UserController.php index 60f10b6..a087b99 100644 --- a/app/admin/controller/UserController.php +++ b/app/admin/controller/UserController.php @@ -31,6 +31,23 @@ class UserController extends BaseController ]); } + /** + * 获取租户用户 + * @return Json + */ + public function getTenantUsers(int $tenantId) + { + $users = AdminUser::where('delete_time', null)->where('tenant_id', $tenantId)->field('id, account, name, phone, birth, email, qq, sex, group_id, status, last_login_ip, login_count, create_time, update_time')->select()->toArray(); + return json([ + 'code' => 200, + 'msg' => '获取成功', + 'data' => [ + 'list' => $users, + 'total' => count($users) + ] + ]); + } + /** * 获取用户信息 * @return Json diff --git a/app/admin/route/routes/erp.php b/app/admin/route/routes/erp.php new file mode 100644 index 0000000..1a6fafc --- /dev/null +++ b/app/admin/route/routes/erp.php @@ -0,0 +1,11 @@ + $user['id'], 'account' => $user['account'], 'name' => $user['name'], + 'tenant_id' => $user['tenant_id'], 'group_id' => $user['group_id'] ]; diff --git a/app/model/Erp/Organization.php b/app/model/Erp/Organization.php new file mode 100644 index 0000000..50f2ba9 --- /dev/null +++ b/app/model/Erp/Organization.php @@ -0,0 +1,45 @@ + +// +---------------------------------------------------------------------- + +namespace app\model\Erp; + +use think\Model; +use think\model\concern\SoftDelete; + +/** + * 组织机构模型 + */ +class Organization extends Model +{ + // 启用软删除 + use SoftDelete; + + // 数据库表名 + protected $name = 'mete_apps_erp_organization'; + + // 字段类型转换 + protected $type = [ + 'id' => 'integer', + 'tenant_id' => 'integer', + 'org_name' => 'string', + 'org_code' => 'string', + 'parent_id' => 'integer', + 'sort' => 'integer', + 'leader_id' => 'integer', + 'remark' => 'string', + 'status' => 'integer', + 'create_time' => 'datetime', + 'update_time' => 'datetime', + 'delete_time' => 'datetime', + ]; + + +}