From be8c526a454aa9081000d15f26bebdef8c183aea Mon Sep 17 00:00:00 2001
From: wsj <593216709@qq.com>
Date: Mon, 26 Oct 2026 23:34:23 +0800
Subject: [PATCH] feat: 提交
---
src/pages/system/users/server.ts | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 112 insertions(+), 0 deletions(-)
diff --git a/src/pages/system/users/server.ts b/src/pages/system/users/server.ts
new file mode 100644
index 0000000..9b664df
--- /dev/null
+++ b/src/pages/system/users/server.ts
@@ -0,0 +1,112 @@
+import { getAuthHeaders } from '@/api/authHeaders';
+import { request } from '@/api/request';
+import type {
+ TenantEmployeeCreateRequest,
+ TenantEmployeeCreateResponse,
+ TenantEmployeeDeleteRequest,
+ TenantEmployeeDeleteResponse,
+ TenantEmployeeDetailRequest,
+ TenantEmployeeDetailResponse,
+ TenantEmployeeExportRequest,
+ TenantEmployeeExportResponse,
+ TenantEmployeeImportRequest,
+ TenantEmployeeImportResponse,
+ TenantEmployeeListRequest,
+ TenantEmployeeListResponse,
+ TenantEmployeeUpdateBody,
+ TenantEmployeeUpdateRequest,
+ TenantEmployeeUpdateResponse,
+ TenantOrgTreeRequest,
+ TenantOrgTreeResponse,
+ TenantRoleOptionRequest,
+ TenantRoleOptionResponse,
+} from './types';
+
+/** 员工分页列表。 */
+export const getEmployeeList = (params: TenantEmployeeListRequest) =>
+ request<TenantEmployeeListRequest, TenantEmployeeListResponse>({
+ url: '/tenant/employees',
+ method: 'GET',
+ params,
+ headers: getAuthHeaders(),
+ });
+
+/** 创建员工。 */
+export const createEmployee = (data: TenantEmployeeCreateRequest) =>
+ request<TenantEmployeeCreateRequest, TenantEmployeeCreateResponse>({
+ url: '/tenant/employees',
+ method: 'POST',
+ data,
+ headers: getAuthHeaders(),
+ });
+
+/** 员工详情。 */
+export const getEmployeeDetail = ({ id }: TenantEmployeeDetailRequest) =>
+ request<TenantEmployeeDetailRequest, TenantEmployeeDetailResponse>({
+ url: `/tenant/employees/${id}`,
+ method: 'GET',
+ headers: getAuthHeaders(),
+ });
+
+/** 更新员工基本信息。 */
+export const updateEmployee = ({ id, ...data }: TenantEmployeeUpdateRequest) =>
+ request<TenantEmployeeUpdateBody, TenantEmployeeUpdateResponse>({
+ url: `/tenant/employees/${id}`,
+ method: 'PUT',
+ data,
+ headers: getAuthHeaders(),
+ });
+
+/** 删除员工。 */
+export const deleteEmployee = ({ id }: TenantEmployeeDeleteRequest) =>
+ request<TenantEmployeeDeleteRequest, TenantEmployeeDeleteResponse>({
+ url: `/tenant/employees/${id}`,
+ method: 'DELETE',
+ headers: getAuthHeaders(),
+ });
+
+/** 导出员工 Excel 文件流。 */
+export const exportEmployees = (params: TenantEmployeeExportRequest = {}) =>
+ request<TenantEmployeeExportRequest, TenantEmployeeExportResponse>({
+ url: '/tenant/employees/export',
+ method: 'GET',
+ params,
+ responseType: 'blob',
+ headers: getAuthHeaders(),
+ });
+
+/** 批量导入员工 Excel。 */
+export const importEmployees = ({ file }: TenantEmployeeImportRequest) => {
+ const formData = new FormData();
+ formData.append('file', file);
+
+ return request<FormData, TenantEmployeeImportResponse>(
+ {
+ url: '/tenant/employees/import',
+ method: 'POST',
+ data: formData,
+ headers: getAuthHeaders(),
+ },
+ {
+ // 不同文件请求体无法通过 FormData 区分,关闭合并。
+ merge: false,
+ },
+ );
+};
+
+/** 组织树,用于组织下拉选项。 */
+export const getOrgTree = (params: TenantOrgTreeRequest = {}) =>
+ request<TenantOrgTreeRequest, TenantOrgTreeResponse>({
+ url: '/tenant/organizations/tree',
+ method: 'GET',
+ params,
+ headers: getAuthHeaders(),
+ });
+
+/** 角色列表,用于角色下拉选项。 */
+export const getRoleOptions = () =>
+ request<TenantRoleOptionRequest, TenantRoleOptionResponse>({
+ url: '/tenant/roles',
+ method: 'GET',
+ headers: getAuthHeaders(),
+ });
--
Gitblit v1.9.3