From 7d0088dd103ccecf1402eba9d62cd47379e1878d Mon Sep 17 00:00:00 2001 From: liuyun Date: Sun, 11 Oct 2026 12:49:55 +0800 Subject: [PATCH] feat: tenant management page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - api/tenant.ts + /system/tenant 页面(ty-crud) Co-Authored-By: Claude Opus 4.8 --- src/api/tenant.ts | 45 +++++++++++++++++ src/pages/system/tenant/index.vue | 83 +++++++++++++++++++++++++++++++ stats.html | 2 +- typed-router.d.ts | 13 +++++ 4 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 src/api/tenant.ts create mode 100644 src/pages/system/tenant/index.vue diff --git a/src/api/tenant.ts b/src/api/tenant.ts new file mode 100644 index 0000000..71089b7 --- /dev/null +++ b/src/api/tenant.ts @@ -0,0 +1,45 @@ +import { http } from '@/api/http' + +export interface Tenant { + id: string + code: string + name: string + status: 'enabled' | 'disabled' + remark: string | null + createdAt: string +} + +export interface TenantListQuery { + page: number + pageSize: number + name?: string + code?: string + status?: string +} + +export interface TenantListResult { + list: Tenant[] + total: number + page: number + pageSize: number +} + +export function listTenants(query: TenantListQuery, signal?: AbortSignal): Promise { + const params: Record = { page: query.page, pageSize: query.pageSize } + if (query.name) params.name = query.name + if (query.code) params.code = query.code + if (query.status) params.status = query.status + return http.get('/tenants', { params, signal }) +} + +export function createTenant(data: { code: string; name: string; status?: string; remark?: string }): Promise { + return http.post('/tenants', data) +} + +export function updateTenant(id: string, data: { name?: string; status?: string; remark?: string }): Promise { + return http.patch(`/tenants/${id}`, data) +} + +export function deleteTenant(id: string): Promise { + return http.delete(`/tenants/${id}`) +} diff --git a/src/pages/system/tenant/index.vue b/src/pages/system/tenant/index.vue new file mode 100644 index 0000000..a76e10d --- /dev/null +++ b/src/pages/system/tenant/index.vue @@ -0,0 +1,83 @@ + + + diff --git a/stats.html b/stats.html index d1e3a10..305f39e 100644 --- a/stats.html +++ b/stats.html @@ -4930,7 +4930,7 @@ var drawChart = (function (exports) {