外包风险评估系统:领域引擎+前端+服务端持久化与生产部署

- 确定性领域引擎(分类/评分/分级/红线/费用/裁决)+LLM(通义千问)语言理解
- 6步评估向导、服务端草稿持久化(跨设备/编辑草稿保护)
- 工作流(草稿→风控→管理层)、RBAC、报告导出、校准、客户/费率/红线/最低工资管理
- 专业图标体系替换全部emoji、看板美化
- 生产化:API_BASE可配置(同源反代)、auth密钥惰性读取修复RBAC
- 444单测+204前端测试+51 e2e
This commit is contained in:
freedakgmail
2026-06-13 01:06:39 +08:00
commit c670b9e454
404 changed files with 61820 additions and 0 deletions
+94
View File
@@ -0,0 +1,94 @@
/**
* Charts 公共入口(barreltask 19)。
*
* 暴露通用 Chart 容器(`renderChart` / `ChartContainer` / `Chart`)、视图模型类型
* `ChartSpec` 等)与纯派生函数(图例/标签/状态/非颜色编码、Scoring_Engine 输出适配)。
* 具体图表(task 19.219.5)与属性测试(task 19.619.11)均从此处引用。
*/
export type {
ChartType,
ChartStatus,
ChartPattern,
CategoryEncoding,
DataPoint,
Series,
LabelKind,
Label,
LegendItem,
ChartSpec,
RiskLevel,
HeatmapCellInput,
RiskItemInput,
} from './chart-types.js';
export {
ChartContainer,
Chart,
renderChart,
} from './ChartContainer.js';
export type { ChartContainerProps } from './ChartContainer.js';
export {
chartStatus,
isEmptyState,
isLoadingState,
seriesLabels,
legendLabels,
shouldShowLegend,
deriveLegend,
labelSetsEqual,
legendMatchesData,
categoryEncodings,
isDistinctlyEncoded,
allCategoriesDistinct,
allLabelsNonEmpty,
collectDataElementLabels,
labelsComplete,
PATTERN_SEQUENCE,
patternForIndex,
buildHeatmapSpec,
buildTopNSpec,
} from './helpers.js';
export type { ChartStatusInput } from './helpers.js';
/* ------------------------------------------------------------------ *
* 风险总分仪表盘(task 19.3Req 20.1 / 20.6
* ------------------------------------------------------------------ */
export { classifyGrade, RISK_GRADE_VALUES } from './riskGrade.js';
export { ScoreGauge } from './ScoreGauge.js';
export type { ScoreGaugeProps } from './ScoreGauge.js';
/* 具体图表组件(task 19.2Req 20.1 */
export { RiskHeatmap } from './RiskHeatmap.js';
export type { RiskHeatmapProps } from './RiskHeatmap.js';
export { RiskBadge } from './RiskBadge.js';
export type { RiskBadgeProps } from './RiskBadge.js';
export { TopNRiskChart } from './TopNRiskChart.js';
export type { TopNRiskChartProps } from './TopNRiskChart.js';
/* 跨项目组合对比图(task 19.5Req 20.1 */
export { PortfolioCompareChart, buildPortfolioCompareSpec } from './PortfolioCompareChart.js';
export type {
PortfolioCompareChartProps,
PortfolioCompareRow,
PortfolioCompareKeyRisk,
PortfolioCompareSpecOptions,
} from './PortfolioCompareChart.js';
/* 费用拆解图与报价对比图(task 19.4Req 20.1 / 20.7 */
export { CostBreakdownChart } from './CostBreakdownChart.js';
export type {
CostBreakdownChartProps,
CostBreakdownItemInput,
} from './CostBreakdownChart.js';
export { QuoteCompareChart, quoteDifference } from './QuoteCompareChart.js';
export type {
QuoteCompareChartProps,
QuoteCompareInput,
} from './QuoteCompareChart.js';