feat(web): Material 增 ypt/health_tier 类型, getMaterials 支持 group_by_tier

This commit is contained in:
zty 2026-07-10 03:11:07 -04:00
parent 8de82ee86d
commit 929a5dc809
2 changed files with 239 additions and 0 deletions

View File

@ -0,0 +1,238 @@
export type AnyObj = {
[key: string]: any
}
export type Arrayable<T> = T | T[]
/**
* Server Types
*/
export type User = {
id: string
name: string
password: string
username: string
status: number
creator_id: string
creator_name: string
created_at: string
updated_at: string
}
export type UserCert = {
id: string
name: string
username: string
status: number
ip: string
login_at: Date
expire_at: Date
iat?: number
exp?: number
// 管理员字段(普通用户为 undefined
is_admin?: boolean
type?: number
authz_hist_mgmt?: number
authz_tmpl_mgmt?: number
authz_mtrl_mgmt?: number
authz_audit_mgmt?: number
authz_acct_mgmt?: number
authz_sys_cfg?: number
}
export type Creator = {
id: string
name: string
username: string
}
/**
*
*
*
*/
export type Project = {
id: string
name: string
category?: string
province?: string
city?: string
climatic_zone?: string
constr_area?: number
usage_area?: number
spaces?: Space[]
status?: number
display?: number
predicted_at?: string
score?: number
grade?: number
collected?: number
creator_id?: string
creator_name: string
creator?: Creator
created_at: string
updated_at: string
}
/**
*
*
*
*/
export type Space = {
id: string
project_id: string
name: string
category?: string
layout: number
height?: number
area?: number
volume?: number
env_temp?: number
env_hum?: number
env_vent_rate?: number
apc_lmt_std_id?: string
apc_lmt_std?: ApcLimitStandard
materials?: Material[]
methanal_c?: number
tvoc_c?: number
benzene_c?: number
toluene_c?: number
p_xylene_c?: number
methanal_c_exceed?: number
tvoc_c_exceed?: number
benzene_c_exceed?: number
toluene_c_exceed?: number
p_xylene_c_exceed?: number
creator_id: string
creator_name: string
created_at: string
updated_at: string
}
/**
*
*
*
*
*
*/
export type Material = {
id?: number
material_id: string
project_id?: string
space_id?: string
name?: string
category?: string
brand?: string
factory?: string
spec?: string
eco_level?: ECO_LEVEL
health_level?: string
ypt?: number | null
health_tier?: 'A' | 'B' | 'C' | null
sort_order?: number
unit?: MTRL_UNIT
qty?: number
display?: number
collected?: number
methanal?: number
methanal_min_be?: number
methanal_be_area?: number
methanal_be_roc?: number
tvoc?: number
tvoc_min_be?: number
tvoc_be_area?: number
tvoc_be_roc?: number
benzene?: number
benzene_min_be?: number
benzene_be_area?: number
benzene_be_roc?: number
toluene?: number
toluene_min_be?: number
toluene_be_area?: number
toluene_be_roc?: number
p_xylene?: number
p_xylene_min_be?: number
p_xylene_be_area?: number
p_xylene_be_roc?: number
methanal_cr?: number
tvoc_cr?: number
benzene_cr?: number
toluene_cr?: number
p_xylene_cr?: number
methanal_cr_exceed?: number
tvoc_cr_exceed?: number
benzene_cr_exceed?: number
toluene_cr_exceed?: number
p_xylene_cr_exceed?: number
is_methanal_ps?: number
is_tvoc_ps?: number
is_benzene_ps?: number
is_toluene_ps?: number
is_p_xylene_ps?: number
user_id?: string
user_name?: string
creator_id?: string
creator_name: string
creator?: Creator
created_at: string
updated_at: string
}
export enum ECO_LEVEL {
E0 = 'E0',
E1 = 'E1',
E2 = 'E2'
}
export enum MTRL_UNIT {
AREA = 'AREA',
LEN = 'LEN'
}
export enum ADMIN_TYPE {
SUPER_ADMIN = 1,
ADMIN = 2
}
export type ProjectSpaceCategory = {
pry_no_1: number
project_category: string
space_categories: {
pry_no_2: number
space_category: string
}[]
}
export type MaterialCategory = {
pry_no_1: number
first_category: string
second_categories: {
pry_no_2: number
second_category: string
unit?: MTRL_UNIT
}[]
}
export type CityInformation = {
pry_no_1: number
province: string
cities: {
pry_no_2: number
city: string
climatic_zone?: string
env_temp: number
env_hum: number
}[]
}
export type ApcLimitStandard = {
id: string
methanal_c_lmt: number
tvoc_c_lmt: number
benzene_c_lmt: number
toluene_c_lmt: number
p_xylene_c_lmt: number
}

View File

@ -249,6 +249,7 @@ export async function searchAll(
creator_name?: Arrayable<string> creator_name?: Arrayable<string>
sort_key?: string sort_key?: string
sort_val?: string sort_val?: string
group_by_tier?: 0 | 1
page?: number page?: number
size?: number size?: number
}, },