feat: 引入 ECharts 统一图表并完善员工画像标签分页

后端优化员工行为画像服务和辅助函数,完善系统设置模型和
配置持久化,前端引入 ECharts 替换所有图表组件实现统一
渲染,新增员工画像标签分页器和数字员工工作记录组件,优
化工作台响应式布局和登录页过渡动画,完善预算中心和数字
员工页面样式细节。
This commit is contained in:
caoxiaozhu
2026-05-28 16:24:59 +08:00
parent 8a4a777be7
commit e384318046
53 changed files with 4698 additions and 2468 deletions

View File

@@ -21,6 +21,17 @@ class SettingsCompanyForm(BaseModel):
return value.strip()
class SettingsAppearanceForm(BaseModel):
themeSkin: str = Field(default="sky", max_length=64)
@field_validator("themeSkin", mode="before")
@classmethod
def strip_string(cls, value: str | None) -> str | None:
if value is None:
return None
return value.strip()
class SettingsAdminForm(BaseModel):
adminAccount: str = Field(min_length=1, max_length=120)
adminEmail: str = Field(default="", max_length=255)
@@ -162,6 +173,7 @@ class SettingsMailForm(BaseModel):
class SettingsRead(BaseModel):
companyForm: SettingsCompanyForm
appearanceForm: SettingsAppearanceForm = Field(default_factory=SettingsAppearanceForm)
adminForm: SettingsAdminForm
sessionForm: SettingsSessionForm
hermesForm: dict
@@ -173,6 +185,7 @@ class SettingsRead(BaseModel):
class SettingsWrite(BaseModel):
companyForm: SettingsCompanyForm
appearanceForm: SettingsAppearanceForm = Field(default_factory=SettingsAppearanceForm)
adminForm: SettingsAdminForm
sessionForm: SettingsSessionForm
hermesForm: dict