Files
cn-rdms-web/src/views/product/shared/product-context-shared.ts
hongawen 4122dfa50d feat(product): 新增产品管理模块与字典组件功能
- 新增产品管理相关路由和页面(dashboard、list、requirement、setting)
- 实现产品基础信息编辑弹窗组件(base-info-dialog.vue)
- 添加运行时字典功能(dict-select、dict-text、dict-tag组件)
- 集成字典管理store和API调用
- 规范ID类型定义为string避免精度丢失问题
- 完善国际化资源文件支持中英文对照
- 新增对象上下文业务域入口页导航实现说明
- 添加Vue DevTools浮动入口注释说明
- 统一权限控制支持全局和对象作用域区分
- 规范分页查询参数类型定义与使用方式
2026-04-23 09:05:55 +08:00

44 lines
1.4 KiB
TypeScript

export interface CurrentProductSummary {
id: string;
code: string;
directionCode: string;
name: string;
managerUserId: string;
statusCode: string;
}
export function resolveObjectIdFromQuery(
routeObjectId: string | null | Array<string | null> | undefined,
fallbackObjectId: string
) {
if (Array.isArray(routeObjectId)) {
return String(routeObjectId[0] || fallbackObjectId || '');
}
if (routeObjectId === null || routeObjectId === undefined || routeObjectId === '') {
return fallbackObjectId;
}
return String(routeObjectId);
}
export function normalizeCurrentProductSummary(
objectSummary: App.ObjectContext.Summary | null | undefined,
objectName: string
): CurrentProductSummary | null {
const currentProduct = objectSummary?.currentProduct;
if (!currentProduct || typeof currentProduct !== 'object') {
return null;
}
return {
id: String((currentProduct as Record<string, unknown>).id || ''),
code: String((currentProduct as Record<string, unknown>).code || ''),
directionCode: String((currentProduct as Record<string, unknown>).directionCode || ''),
name: String((currentProduct as Record<string, unknown>).name || objectName || ''),
managerUserId: String((currentProduct as Record<string, unknown>).managerUserId || ''),
statusCode: String((currentProduct as Record<string, unknown>).statusCode || '')
};
}