types.ts
1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// REQ-USR-004: 前端跨 task 共享类型契约(对齐 docs/05 § REQ-USR-004 / spec § 4)
/** 登录用户(对齐 Result<{ token, user }> 的 user 字段) */
export interface AuthUser {
id: number;
sUserName: string;
sUserType: string;
sLanguage: string;
}
/** POST /api/usr/login 请求体 */
export interface LoginPayload {
sUserName: string;
password: string;
companyId: number;
}
/** POST /api/usr/login 成功响应(已拆 Result.data) */
export interface LoginResult {
token: string;
user: AuthUser;
}
/** GET /api/usr/companies 列表项(登录「版本」下拉,D8;sVersion 可空) */
export interface CompanyOption {
id: number;
sCompanyName: string;
sVersion: string | null;
}
// === REQ-USR-003 用户列表查询契约(FE-03) ===
/**
* 用户列表行 VO(已在 api 层把 docs/05 中文键 `员工名`/`部门` 归一为 ASCII
* `employeeName`/`departmentName`,组件/列定义统一用 ASCII 键,D-PLAN-2 / spec D9)。
*/
export interface UserVO {
id: number;
sUserName: string;
employeeName: string | null;
sUserNo: string | null;
departmentName: string | null;
sUserType: string;
sLanguage: string;
iIsVoid: number;
tLastLoginDate: string | null;
sCreator: string;
tCreateDate: string;
}
/** 统一分页返回体(docs/04 § 1.4 / § 3.2) */
export interface PageResult<T> {
records: T[];
total: number;
pageNum: number;
pageSize: number;
}
/**
* GET /api/usr/users 查询参数(提交给后端的 query)。
* `queryValue` 为空字符串时由 listUsers 省略(空为全部,BR3)。
*/
export interface UserListQuery {
queryField?: string;
matchType?: string;
queryValue?: string;
pageNum: number;
pageSize: number;
}