- 新增产品管理相关路由和页面(dashboard、list、requirement、setting) - 实现产品基础信息编辑弹窗组件(base-info-dialog.vue) - 添加运行时字典功能(dict-select、dict-text、dict-tag组件) - 集成字典管理store和API调用 - 规范ID类型定义为string避免精度丢失问题 - 完善国际化资源文件支持中英文对照 - 新增对象上下文业务域入口页导航实现说明 - 添加Vue DevTools浮动入口注释说明 - 统一权限控制支持全局和对象作用域区分 - 规范分页查询参数类型定义与使用方式
44 lines
1.4 KiB
TypeScript
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 || '')
|
|
};
|
|
}
|