align(品牌数据库): 非超管分组强制锁定(筛选/新增/编辑下拉禁用并锁本人分组、重置保持锁定),超管全量放开(对齐 admin.js getInvalidAsinDataLockedGroupId/refreshShopGroupSelects)
This commit is contained in:
@@ -44,6 +44,20 @@ export function invalidAsinDeleteText(item: Pick<InvalidAsinItem, 'dataValue'> |
|
||||
return `确定删除不符合 ASIN“${value}”吗?删除后不可恢复。`
|
||||
}
|
||||
|
||||
/**
|
||||
* 非超管分组锁定(对齐 admin.js getInvalidAsinDataLockedGroupId:超管不锁;
|
||||
* 非超管锁 lockedGroupId,缺失时退化为第一个分组;无分组返回 null)。
|
||||
*/
|
||||
export function invalidAsinLockedGroupId(
|
||||
groups: Array<{ id: number }>,
|
||||
lockedGroupId: number | null | undefined,
|
||||
operatorRole: string,
|
||||
): number | null {
|
||||
if ((operatorRole || '').toLowerCase() === 'super_admin') return null
|
||||
if (lockedGroupId != null && groups.some((group) => group.id === lockedGroupId)) return lockedGroupId
|
||||
return groups.length ? groups[0].id : null
|
||||
}
|
||||
|
||||
/** 解析单条品牌数据库项;缺 id 视为无效。 */
|
||||
export function toInvalidAsinItem(raw: unknown): InvalidAsinItem | null {
|
||||
if (!raw || typeof raw !== 'object') return null
|
||||
|
||||
Reference in New Issue
Block a user