迭代 ONE-OS 多原型:租赁/自营台账增强、租赁合同与条线说明,统一台账壳层与侧栏导航

- 新增业务部台账、收款记录、业务条线说明及 ledger-shared / vm-shared 公共壳层
- 租赁业务台账:字段计算、宽表交互、标注 PRD 与表头说明修复
- 租赁合同:列表/表单增强、客户资质与审批规则
- 侧栏调整:工作台移至 OneOS 根目录,台账与数据分析分组更新
- 补充 S3 批量发布脚本与弹窗明细表规范

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
王冕
2026-07-06 17:18:23 +08:00
parent f5e31268dc
commit d0d7458989
96 changed files with 14434 additions and 2101 deletions

View File

@@ -0,0 +1,25 @@
import type { ColumnsType } from 'antd/es/table';
/** 弹窗明细表统一 className配合 src/common/modal-detail-table.css */
export const LN_MODAL_DETAIL_TABLE_CLASS = 'ln-modal-detail-table';
/** 计算 Ant Table scroll.xexpand 默认预留滚动条/展开列余量 */
export function sumColumnScrollX<T>(columns: ColumnsType<T>, expand = 0): number {
const base = columns.reduce((sum, col) => sum + (Number(col.width) || 0), 0);
return base + expand;
}
/** 开发环境检查:弹窗表每列必须设置 width避免表头表体错行 */
export function warnMissingModalColumnWidths<T>(
columns: ColumnsType<T>,
context: string,
): void {
if (typeof import.meta !== 'undefined' && !import.meta.env?.DEV) return;
const missing = columns.filter((col) => col.width == null);
if (missing.length > 0) {
console.warn(
`[${context}] 弹窗表格列缺少 width可能导致表头与内容错行`,
missing.map((col) => col.key ?? col.title),
);
}
}